@zohodesk/react-cli 1.1.14-kubernetes → 1.1.15-exp.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (510) hide show
  1. package/.eslintignore +7 -7
  2. package/.eslintrc.js +180 -180
  3. package/.prettierrc +6 -6
  4. package/.vscode/settings.json +25 -0
  5. package/Changelog.md +1019 -1019
  6. package/README.md +1421 -1137
  7. package/bin/cli.js +458 -483
  8. package/docs/AutoPrefixer.md +27 -0
  9. package/docs/ComposeMinification.md +13 -0
  10. package/docs/CustomChunks.md +29 -26
  11. package/docs/DevServerPort.md +39 -39
  12. package/docs/DevStart.md +18 -18
  13. package/docs/HoverActive.md +12 -12
  14. package/docs/InstallNode.md +28 -28
  15. package/docs/MarkdownParser.md +18 -0
  16. package/docs/ReactLive.md +14 -0
  17. package/docs/SelectorWeight.md +9 -6
  18. package/docs/TODOS.md +10 -10
  19. package/docs/ValueReplacer.md +87 -60
  20. package/docs/VariableConversion.md +729 -724
  21. package/docs/patternFiltering.md +57 -0
  22. package/docs/warnings_while_install.txt +35 -35
  23. package/files/eslintrc.js +62 -62
  24. package/files/prettierrc.js +3 -3
  25. package/lib/common/buildEs.js +12 -0
  26. package/lib/common/runPreProcess.js +71 -0
  27. package/lib/common/splitChunks.js +65 -45
  28. package/lib/common/testPattern.js +9 -11
  29. package/lib/common/valueReplacer.js +1 -3
  30. package/lib/configs/resolvers.js +16 -5
  31. package/lib/configs/webpack.css.umd.config.js +7 -6
  32. package/lib/configs/webpack.dev.config.js +18 -5
  33. package/lib/configs/webpack.docs.config.js +19 -5
  34. package/lib/configs/webpack.impact.config.js +13 -4
  35. package/lib/configs/webpack.prod.config.js +18 -5
  36. package/lib/constants.js +3 -3
  37. package/lib/deprecationLogger.js +40 -0
  38. package/lib/loaderUtils/configsAssetsLoaders.js +33 -33
  39. package/lib/loaderUtils/getCSSLoaders.js +102 -49
  40. package/lib/loaderUtils/tests/windowsModification.test.js +10 -0
  41. package/lib/loaderUtils/windowsModification.js +6 -1
  42. package/lib/loaders/__test__/markdownLoader.spec.js +145 -0
  43. package/lib/loaders/composeLoader.js +298 -0
  44. package/lib/loaders/docsLoader.js +18 -7
  45. package/lib/loaders/markdownLoader.js +71 -0
  46. package/lib/loaders/reactLiveConvertor.js +105 -0
  47. package/lib/loaders/selectorMappingLoader.js +9 -9
  48. package/lib/loaders/workerLoader.js +9 -9
  49. package/lib/logger.js +27 -0
  50. package/lib/pluginUtils/getDevPlugins.js +30 -11
  51. package/lib/pluginUtils/getProdPlugins.js +37 -10
  52. package/lib/pluginUtils/getUMDCSSPlugins.js +1 -1
  53. package/lib/pluginUtils/getUMDComponentPlugins.js +1 -1
  54. package/lib/plugins/CustomAttributePlugin.js +82 -0
  55. package/lib/plugins/CustomAttributePlugin.md +35 -0
  56. package/lib/plugins/EFCPlugin.js +9 -9
  57. package/lib/plugins/EFCPlugin.md +6 -6
  58. package/lib/plugins/EFCTemplatePlugin.js +10 -12
  59. package/lib/plugins/EfcResourceCleanupPlugin.js +43 -0
  60. package/lib/plugins/I18NInjectIntoIndexPlugin.js +12 -13
  61. package/lib/plugins/I18nSplitPlugin/I18nDebugPlugin.js +2 -3
  62. package/lib/plugins/I18nSplitPlugin/I18nDownlodLogic.js +38 -38
  63. package/lib/plugins/I18nSplitPlugin/I18nFilesEmitter.js +30 -30
  64. package/lib/plugins/I18nSplitPlugin/I18nKeysIdentifer.js +10 -15
  65. package/lib/plugins/I18nSplitPlugin/I18nSplit.md +95 -95
  66. package/lib/plugins/I18nSplitPlugin/README.md +25 -25
  67. package/lib/plugins/I18nSplitPlugin/index.js +57 -57
  68. package/lib/plugins/I18nSplitPlugin/utils/propertiesUtils.js +8 -8
  69. package/lib/plugins/{UglifyCSSPlugin.js → MinifyPlugin.js} +3 -3
  70. package/lib/plugins/ReportGeneratePlugin.js +8 -6
  71. package/lib/plugins/ResourceHintsPlugin.js +30 -20
  72. package/lib/plugins/RtlSplitPlugin/RtlCssPlugin.js +6 -6
  73. package/lib/plugins/RtlSplitPlugin/RtrSplit.md +30 -30
  74. package/lib/plugins/SelectorPlugin.js +77 -37
  75. package/lib/plugins/ServiceWorkerPlugin.js +9 -9
  76. package/lib/plugins/StatsPlugin.js +82 -0
  77. package/lib/plugins/TPHashMappingPlugin.js +4 -4
  78. package/lib/plugins/UnusedFilesFindPlugin.js +7 -5
  79. package/lib/plugins/VariableConversionCollector.js +86 -147
  80. package/lib/plugins/index.js +7 -7
  81. package/lib/plugins/utils/classHandling.js +35 -0
  82. package/lib/plugins/utils/fileHandling.js +93 -0
  83. package/lib/plugins/utils/tests/fileHandling.test.js +30 -0
  84. package/lib/plugins/variableConvertorUtils.js +133 -0
  85. package/lib/postcss-plugins/AutoPrefixer.js +150 -0
  86. package/lib/postcss-plugins/EmptyPlugin.js +8 -0
  87. package/lib/postcss-plugins/ExcludePlugin.js +1 -1
  88. package/lib/postcss-plugins/IncludePlugin.js +23 -0
  89. package/lib/postcss-plugins/RTLSplitPlugin.js +14 -20
  90. package/lib/postcss-plugins/SelectorReplace.js +80 -0
  91. package/lib/postcss-plugins/ValueReplacer.js +8 -29
  92. package/lib/postcss-plugins/__test__/selectorReplace.test.js +28 -0
  93. package/lib/postcss-plugins/__test__/test1Input.css +38 -38
  94. package/lib/postcss-plugins/__test__/test1Output.css +38 -38
  95. package/lib/postcss-plugins/__test__/valueReplacer.spec.js +43 -0
  96. package/lib/postcss-plugins/hoverActivePlugin.js +3 -9
  97. package/lib/postcss-plugins/variableModificationPlugin/ErrorHandler.js +0 -1
  98. package/lib/postcss-plugins/variableModificationPlugin/index.js +94 -38
  99. package/lib/schemas/index.js +109 -18
  100. package/lib/servers/devBuild.js +13 -11
  101. package/lib/servers/getCliPath.js +3 -5
  102. package/lib/servers/httpsOptions.js +12 -13
  103. package/lib/servers/nowatchserver.js +62 -55
  104. package/lib/servers/requireLocalOrGlobal.js +61 -0
  105. package/lib/servers/server.js +53 -52
  106. package/lib/sh/pre-commit.sh +34 -34
  107. package/lib/sh/reportPublish.sh +45 -45
  108. package/lib/utils/buildstats.html +148 -148
  109. package/lib/utils/cssClassNameGenerate.js +70 -13
  110. package/lib/utils/deprecationSupport.js +134 -0
  111. package/lib/utils/getOptions.js +35 -28
  112. package/lib/utils/getServerURL.js +1 -9
  113. package/lib/utils/index.js +14 -12
  114. package/lib/utils/initPreCommitHook.js +5 -5
  115. package/lib/utils/log.js +11 -0
  116. package/lib/utils/object-manipulation.js +88 -0
  117. package/lib/utils/pullOrigin.js +3 -3
  118. package/lib/utils/reinstallDependencies.js +3 -3
  119. package/lib/utils/resultSchema.json +73 -73
  120. package/lib/utils/selectorReplacer.js +47 -0
  121. package/lib/utils/switchBranch.js +4 -2
  122. package/lib/utils/variableConverter.js +104 -0
  123. package/npm-shrinkwrap.json +14485 -0
  124. package/npm8.md +9 -9
  125. package/package.json +124 -121
  126. package/packages/client_build_tool/lib/allCommandsConfigs.js +25 -0
  127. package/packages/client_build_tool/lib/commands/build/commandExecutor.js +17 -0
  128. package/packages/client_build_tool/lib/commands/build/config.js +12 -0
  129. package/packages/client_build_tool/lib/commands/build/errorHander.js +10 -0
  130. package/packages/client_build_tool/lib/commands/build/optionsProcessor.js +45 -0
  131. package/packages/client_build_tool/lib/commands/buildEs/commandExecutor.js +33 -0
  132. package/packages/client_build_tool/lib/commands/buildEs/config.js +12 -0
  133. package/packages/client_build_tool/lib/commands/buildLib/commandExecutor.js +33 -0
  134. package/packages/client_build_tool/lib/commands/buildLib/config.js +12 -0
  135. package/packages/client_build_tool/lib/commands/mockserver/commandExecutor.js +43 -0
  136. package/packages/client_build_tool/lib/commands/mockserver/config.js +12 -0
  137. package/packages/client_build_tool/lib/commands/start/commandExecutor.js +12 -0
  138. package/packages/client_build_tool/lib/commands/start/config.js +12 -0
  139. package/packages/client_build_tool/lib/commands/start/deprecationHandler.js +10 -0
  140. package/packages/client_build_tool/lib/commands/start/errorHander.js +10 -0
  141. package/packages/client_build_tool/lib/commands/start/optionsProcessor.js +40 -0
  142. package/packages/client_build_tool/lib/commands/start/postProcessor.js +10 -0
  143. package/packages/client_build_tool/lib/commands/start/preProcessor.js +10 -0
  144. package/packages/client_build_tool/lib/commands/template/commandExecutor.js +32 -0
  145. package/packages/client_build_tool/lib/commands/template/config.js +12 -0
  146. package/packages/client_build_tool/lib/commands/version/commandExecutor.js +14 -0
  147. package/packages/client_build_tool/lib/commands/version/config.js +12 -0
  148. package/packages/client_build_tool/lib/commands/version/errorHander.js +10 -0
  149. package/packages/client_build_tool/lib/commandsRouter.js +76 -0
  150. package/packages/client_build_tool/lib/index.js +12 -0
  151. package/packages/client_build_tool/lib/logger.js +34 -0
  152. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/otherTestCases.test.js +234 -0
  153. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingDifferentDataTypesToSchema.test.js +103 -0
  154. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/passingEmptyObjects.test.js +41 -0
  155. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertArray.test.js +68 -0
  156. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertNumber.test.js +68 -0
  157. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertObject.test.js +141 -0
  158. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertString.test.js +68 -0
  159. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByCustomOptions/convertUndefinedAndNull.test.js +132 -0
  160. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertArray.test.js +71 -0
  161. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertNumber.test.js +71 -0
  162. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertObject.test.js +73 -0
  163. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertString.test.js +71 -0
  164. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/__test__/replacingSchemaValueByProcessEnv/convertUndefinedAndNull.test.js +138 -0
  165. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/index.js +34 -0
  166. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isObject.js +10 -0
  167. package/packages/client_build_tool/lib/schemas/applyValuesToSchema/isValid.js +14 -0
  168. package/packages/client_build_tool/lib/schemas/cliArgsToObject.js +39 -0
  169. package/packages/client_build_tool/lib/schemas/defaultConfigValues.js +244 -0
  170. package/packages/client_build_tool/lib/schemas/defaultConfigValuesOnly.js +161 -0
  171. package/packages/client_build_tool/lib/schemas/deprecatedOptionsHandler.js +67 -0
  172. package/packages/client_build_tool/lib/schemas/getNpmVersion.js +22 -0
  173. package/packages/client_build_tool/lib/schemas/giveDefaultValue.js +18 -0
  174. package/packages/client_build_tool/lib/schemas/npmConfigToObject.js +35 -0
  175. package/packages/client_build_tool/lib/schemas/readOptions.js +54 -0
  176. package/packages/client_build_tool/lib/schemas/readOptionsForConfigFile.js +42 -0
  177. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Map.test.js +15 -0
  178. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/MathAndNumberMethod.test.js +30 -0
  179. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/ObjectAndModules.test.js +47 -0
  180. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Sets.test.js +18 -0
  181. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/Symbol.test.js +25 -0
  182. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/arrowFunction.test.js +34 -0
  183. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/block-scoping.test.js +18 -0
  184. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/classes.test.js +55 -0
  185. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/defaultParameterValues.test.js +18 -0
  186. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/extraFeatures.test.js +82 -0
  187. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/forOf.test.js +20 -0
  188. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/promise.test.js +22 -0
  189. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadOperator.test.js +20 -0
  190. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/spreadParams.test.js +24 -0
  191. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/stringAndArrayMethods.test.js +67 -0
  192. package/packages/client_build_tool/lib/shared/babel/__test__/es2015/variables.test.js +21 -0
  193. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/array-includes.test.js +13 -0
  194. package/packages/client_build_tool/lib/shared/babel/__test__/es2016/exponentationOperator.test.js +20 -0
  195. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/asyncAndawait.test.js +23 -0
  196. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-entries.test.js +24 -0
  197. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-getOwnproperties.test.js +24 -0
  198. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/object-values.test.js +24 -0
  199. package/packages/client_build_tool/lib/shared/babel/__test__/es2017/stringMethods.test.js +20 -0
  200. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/asynchronous-iterator.test.js +19 -0
  201. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/object-rest-spread.test.js +24 -0
  202. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/promise-finally.test.js +26 -0
  203. package/packages/client_build_tool/lib/shared/babel/__test__/es2018/regularExpressions.test.js +35 -0
  204. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/Json.stringify.test.js +21 -0
  205. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/arrayMethods.test.js +31 -0
  206. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/object-fromEntriesMethod.test.js +13 -0
  207. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/optionalCatchBinding.test.js +23 -0
  208. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/revisedFunctionToString.test.js +17 -0
  209. package/packages/client_build_tool/lib/shared/babel/__test__/es2019/trim-startAndend-method.test.js +20 -0
  210. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/AssignmentOperator.test.js +27 -0
  211. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/Dynamic-Import.test.js +19 -0
  212. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/NullishOperator.test.js +15 -0
  213. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/bigInt.test.js +13 -0
  214. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/chainOperator.test.js +17 -0
  215. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/export-namespace-from.test.js +12 -0
  216. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/promiseAllSettledMathod.test.js +17 -0
  217. package/packages/client_build_tool/lib/shared/babel/__test__/es2020/stringMatchMethod.test.js +13 -0
  218. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/NumericSeparator.test.js +23 -0
  219. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/logicalOperatorAssignments.test.js +25 -0
  220. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/promiseAny.test.js +16 -0
  221. package/packages/client_build_tool/lib/shared/babel/__test__/es2021/stringReplaceMethod.test.js +16 -0
  222. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/Array-atMethod.test.js +13 -0
  223. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjectKeyCheck.test.js +27 -0
  224. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/ObjecthasOwnMethod.test.js +19 -0
  225. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/RegexMatchIndices.test.js +20 -0
  226. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/String-atMethod.test.js +15 -0
  227. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/error.Cause.test.js +23 -0
  228. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/keysCheckinPrivateFields.test.js +27 -0
  229. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/privateMethodsAndFields.test.js +23 -0
  230. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/staticFieldsAndMethod.test.js +54 -0
  231. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/topLevelAwait.test.js +11 -0
  232. package/packages/client_build_tool/lib/shared/babel/__test__/es2022/weakRef.test.js +17 -0
  233. package/packages/client_build_tool/lib/shared/babel/__test__/utilities.js +28 -0
  234. package/packages/client_build_tool/lib/shared/babel/babelWebConfig.js +49 -0
  235. package/packages/client_build_tool/lib/shared/babel/runBabelForJSFile.js +24 -0
  236. package/packages/client_build_tool/lib/shared/bundler/webpack/common/decidePublicPath.js +42 -0
  237. package/packages/client_build_tool/lib/shared/bundler/webpack/common/libAlias.js +31 -0
  238. package/packages/client_build_tool/lib/shared/bundler/webpack/common/modeUtils.js +31 -0
  239. package/packages/client_build_tool/lib/shared/bundler/webpack/common/nameTemplates.js +70 -0
  240. package/packages/client_build_tool/lib/shared/bundler/webpack/common/resourceBasedPublicPath.js +21 -0
  241. package/packages/client_build_tool/lib/shared/bundler/webpack/cssLoaders.js +16 -0
  242. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/AddManifestJson/addFilesToManifestJson.js +19 -0
  243. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/AddManifestJson/utilities.js +18 -0
  244. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/CdnChangePlugin.js +102 -0
  245. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/EFCTemplatePlugin.js +112 -0
  246. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ContributionGuide.md +11 -0
  247. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nFilesEmitPlugin.js +172 -0
  248. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nKeysIdentifer.js +76 -0
  249. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nRuntimeDealerPlugin.js +203 -0
  250. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/I18nSplit.md +95 -0
  251. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/LocaleChunkAssetsStore.js +73 -0
  252. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/ModulesI18nKeysStore.js +88 -0
  253. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/README.md +25 -0
  254. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/constants.js +29 -0
  255. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/createHash.js +24 -0
  256. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/getI18nLoadingRuntimeModule.js +76 -0
  257. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/index.js +39 -0
  258. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/iterateModulesInChunk.js +50 -0
  259. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/optionsHandler.js +68 -0
  260. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/pathCreator.js +23 -0
  261. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/readI18nValues.js +29 -0
  262. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateFileName.js +43 -0
  263. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/templateHashHelpers.js +77 -0
  264. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/classesAndObject.test.js +56 -0
  265. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/conditionalOperation.test.js +154 -0
  266. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function.test.js +89 -0
  267. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/function2.test.js +71 -0
  268. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/loop.test.js +112 -0
  269. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minifyBooleanValues.test.js +43 -0
  270. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/minimizeVariableNames.test.js +45 -0
  271. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/promise.test.js +53 -0
  272. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeCommentsAndEmptySpace.test.js +13 -0
  273. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/removeUnusedStrings.test.js +14 -0
  274. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/terser/__test__/variableDeclaration.test.js +30 -0
  275. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/collectI18nKeys.js +66 -0
  276. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/getChunkModules.js +13 -0
  277. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/hashUtils.js +19 -0
  278. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/index.js +31 -0
  279. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/I18nSplitPlugin/utils/propertiesUtils.js +129 -0
  280. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/InitialHtmlPlugin.js +54 -0
  281. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/addFilesNamesToManifestJson.test.js +51 -0
  282. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/createInitialEntries.test.js +95 -0
  283. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/__test__/removeHashFromFileName.test.js +91 -0
  284. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/addFilesNamesToManifestJson.js +24 -0
  285. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createInitialEntries.js +17 -0
  286. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/createManifestJson.js +35 -0
  287. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/findInitialFileNames.js +18 -0
  288. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/index.js +44 -0
  289. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ManifestJsonPlugin/removeHashFromFileName.js +18 -0
  290. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RTLSplitPlugin.js +1 -0
  291. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ResourceHintsPlugin.js +165 -0
  292. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/OverwriteCssPathForRTL.js +62 -0
  293. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtlCssPlugin.js +84 -0
  294. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/RtrSplit.md +34 -0
  295. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/RtlSplitPlugin/replaceCssDirTemplate.js +27 -0
  296. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/classHandling.js +20 -0
  297. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/index.js +78 -0
  298. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/selectorWeightPrefixAdder.js +51 -0
  299. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SelectorWeightPlugin/windowsModification.js +16 -0
  300. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/ServiceWorkerPlugin.js +110 -0
  301. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/SourceMapPlugin/index.js +38 -0
  302. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifyCss1.test.js +74 -0
  303. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/uglifycss.test.js +64 -0
  304. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/__test__/utilities.js +28 -0
  305. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/UglifyCSSPlugin/index.js.js +49 -0
  306. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/ErrorHandler.js +62 -0
  307. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/VariableConversionCollector/index.js +361 -0
  308. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/emitAsset.js +14 -0
  309. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialAssetsFuncTemplate.js +57 -0
  310. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/getInitialI18nAssetsArrayStr.js +87 -0
  311. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/classesAndObject.test.js +56 -0
  312. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/conditionalOperation.test.js +154 -0
  313. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function.test.js +89 -0
  314. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/function2.test.js +71 -0
  315. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/loop.test.js +112 -0
  316. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minifyBooleanValues.test.js +43 -0
  317. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/minimizeVariableNames.test.js +45 -0
  318. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/promise.test.js +53 -0
  319. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeCommentsAndEmptySpace.test.js +13 -0
  320. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/removeUnusedStrings.test.js +14 -0
  321. package/packages/client_build_tool/lib/shared/bundler/webpack/custom_plugins/terser/__test__/variableDeclaration.test.js +30 -0
  322. package/packages/client_build_tool/lib/shared/bundler/webpack/entryConfig.js +28 -0
  323. package/packages/client_build_tool/lib/shared/bundler/webpack/externals.js +13 -0
  324. package/packages/client_build_tool/lib/shared/bundler/webpack/getCSSLoaders.js +27 -0
  325. package/packages/client_build_tool/lib/shared/bundler/webpack/getSourceMapType.js +10 -0
  326. package/packages/client_build_tool/lib/shared/bundler/webpack/jsLoaders.js +17 -0
  327. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/assetLoaders.js +12 -0
  328. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/babelLoaderConfig.js +18 -0
  329. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/checkIsPatternsMatchFilename.js +52 -0
  330. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configHtmlTemplateLoader.js +18 -0
  331. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configPostCssLoader.js +37 -0
  332. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configWebWorkerLoader.js +21 -0
  333. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/configsAssetsLoaders.js +138 -0
  334. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/cssClassNameGenerate.js +59 -0
  335. package/packages/client_build_tool/lib/shared/bundler/webpack/loaderConfigs/getCssLoaderOptions.js +21 -0
  336. package/packages/client_build_tool/lib/shared/bundler/webpack/loaders/workerLoader.js +133 -0
  337. package/packages/client_build_tool/lib/shared/bundler/webpack/optimizationConfig.js +43 -0
  338. package/packages/client_build_tool/lib/shared/bundler/webpack/outputConfig.js +28 -0
  339. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configBundleAnalyzer.js +40 -0
  340. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCSSMinifierPlugin.js +24 -0
  341. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCdnChangePlugin.js +27 -0
  342. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configCopyPublicFolders.js +80 -0
  343. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEFCTemplatePlugin.js +46 -0
  344. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configEnvVariables.js +27 -0
  345. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configHtmlWebpackPlugin.js +56 -0
  346. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configI18nSplitPlugin.js +41 -0
  347. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configIgnorePlugin.js +16 -0
  348. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configManifestJsonPlugin.js +32 -0
  349. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configMiniCSSExtractPlugin.js +23 -0
  350. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configProgressPlugin.js +24 -0
  351. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configResourceHintsPlugin.js +19 -0
  352. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configRtlCssPlugin.js +27 -0
  353. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSelectorWeightPlugin.js +28 -0
  354. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configServiceWorkerPlugin.js +40 -0
  355. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configSourceMapPlugin.js +20 -0
  356. package/packages/client_build_tool/lib/shared/bundler/webpack/pluginConfigs/configVariableConversionPlugin.js +25 -0
  357. package/packages/client_build_tool/lib/shared/bundler/webpack/plugins.js +48 -0
  358. package/packages/client_build_tool/lib/shared/bundler/webpack/resolvers.js +49 -0
  359. package/packages/client_build_tool/lib/shared/bundler/webpack/splitChunksConfig.js +128 -0
  360. package/packages/client_build_tool/lib/shared/bundler/webpack/statsConfig.js +21 -0
  361. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/index.js +26 -0
  362. package/packages/client_build_tool/lib/shared/bundler/webpack/utils/updateArrayWithDefault.js +18 -0
  363. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackBuild.js +27 -0
  364. package/packages/client_build_tool/lib/shared/bundler/webpack/webpackConfig.js +52 -0
  365. package/packages/client_build_tool/lib/shared/commands-utils/doBasicRequirementCheck.js +17 -0
  366. package/packages/client_build_tool/lib/shared/commands-utils/getCliPath.js +39 -0
  367. package/packages/client_build_tool/lib/shared/commands-utils/index.js +29 -0
  368. package/packages/client_build_tool/lib/shared/commands-utils/log.js +13 -0
  369. package/packages/client_build_tool/lib/shared/commands-utils/readArgsFormCommandLine.js +11 -0
  370. package/packages/client_build_tool/lib/shared/commands-utils/readOptionFormCommandLine.js +11 -0
  371. package/packages/client_build_tool/lib/shared/commands-utils/spawnSyncIO.js +38 -0
  372. package/packages/client_build_tool/lib/shared/constants.js +45 -0
  373. package/packages/client_build_tool/lib/shared/fileUtils/copyFile.js +38 -0
  374. package/packages/client_build_tool/lib/shared/fileUtils/directoryIterator.js +21 -0
  375. package/packages/client_build_tool/lib/shared/fileUtils/watchRun.js +100 -0
  376. package/packages/client_build_tool/lib/shared/postcss/__test__/ignoreTestCases.test.js +80 -0
  377. package/packages/client_build_tool/lib/shared/postcss/__test__/postcss-rtl-all-cases.test.js +119 -0
  378. package/packages/client_build_tool/lib/shared/postcss/__test__/postcssRtl.spec.js +34 -0
  379. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/EmptyPlugin.js +21 -0
  380. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/constants.js +10 -0
  381. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/handleIgnores.js +66 -0
  382. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/index.js +136 -0
  383. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/insertBefore.js +32 -0
  384. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/isPreviouslyProcessed.js +20 -0
  385. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/replaceUtils.js +20 -0
  386. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/separateHoveredSelectorAndNormalSelector.js +24 -0
  387. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/specialCases.js +43 -0
  388. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/HoverActivePlugin/typeCheckUtils.js +52 -0
  389. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/RTLSplitPlugin.js +139 -0
  390. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/SelectorReplace.js +90 -0
  391. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/ValueReplacer.js +57 -0
  392. package/packages/client_build_tool/lib/shared/postcss/custom_postcss_plugins/VariableModificationPlugin/index.js +343 -0
  393. package/packages/client_build_tool/lib/shared/postcss/filterPluginsAllowedForSpecficFile.js +55 -0
  394. package/packages/client_build_tool/lib/shared/postcss/getAllowedPostCssPlugins.js +30 -0
  395. package/packages/client_build_tool/lib/shared/postcss/getSpecificPostCssPlugin.js +58 -0
  396. package/packages/client_build_tool/lib/shared/postcss/runPostCssForCssFile.js +37 -0
  397. package/packages/client_build_tool/lib/shared/server/configWebpackDevMiddleware.js +41 -0
  398. package/packages/client_build_tool/lib/shared/server/corsHandling.js +21 -0
  399. package/packages/client_build_tool/lib/shared/server/getIp.js +30 -0
  400. package/packages/client_build_tool/lib/shared/server/getServerURL.js +29 -0
  401. package/packages/client_build_tool/lib/shared/server/httpsOptions.js +46 -0
  402. package/packages/client_build_tool/lib/shared/server/initExpressApp.js +19 -0
  403. package/packages/client_build_tool/lib/shared/server/initialHTMLHandling.js +99 -0
  404. package/packages/client_build_tool/lib/shared/server/mockApiHandler.js +60 -0
  405. package/packages/client_build_tool/lib/shared/server/mockServer.js +41 -0
  406. package/packages/client_build_tool/lib/shared/server/serveContextFiles.js +25 -0
  407. package/packages/client_build_tool/lib/shared/server/serverBywebpackDevMiddleware.js +36 -0
  408. package/packages/client_build_tool/lib/shared/server/startHttpServer.js +26 -0
  409. package/packages/client_build_tool/lib/shared/server/startHttpsServer.js +38 -0
  410. package/packages/client_build_tool/lib/shared/server/unwanted/addHttp2Server.js +41 -0
  411. package/packages/client_build_tool/lib/shared/server/unwanted/configWebpackDevMiddleware.js +44 -0
  412. package/packages/client_build_tool/lib/shared/server/unwanted/mockApiSupport.js +19 -0
  413. package/packages/client_build_tool/lib/shared/server/unwanted/websocketMockSetup.js +48 -0
  414. package/packages/client_build_tool/lib/shared/server/urlConcat.js +32 -0
  415. package/packages/client_build_tool/lib/shared/utils/requireLocalOrGlobal.js +81 -0
  416. package/packages/client_build_tool/lib/shared/utils/utils.js +1 -0
  417. package/packages/client_build_tool/lib/shared/utils/versionPrint.js +20 -0
  418. package/packages/client_build_tool/node_modules/history/CHANGES.md +395 -0
  419. package/packages/client_build_tool/node_modules/history/DOMUtils.js +3 -0
  420. package/packages/client_build_tool/node_modules/history/ExecutionEnvironment.js +3 -0
  421. package/packages/client_build_tool/node_modules/history/LICENSE +21 -0
  422. package/packages/client_build_tool/node_modules/history/LocationUtils.js +3 -0
  423. package/packages/client_build_tool/node_modules/history/PathUtils.js +3 -0
  424. package/packages/client_build_tool/node_modules/history/README.md +282 -0
  425. package/packages/client_build_tool/node_modules/history/cjs/history.js +933 -0
  426. package/packages/client_build_tool/node_modules/history/cjs/history.min.js +1 -0
  427. package/packages/client_build_tool/node_modules/history/createBrowserHistory.js +3 -0
  428. package/packages/client_build_tool/node_modules/history/createHashHistory.js +3 -0
  429. package/packages/client_build_tool/node_modules/history/createMemoryHistory.js +3 -0
  430. package/packages/client_build_tool/node_modules/history/createTransitionManager.js +3 -0
  431. package/packages/client_build_tool/node_modules/history/es/DOMUtils.js +7 -0
  432. package/packages/client_build_tool/node_modules/history/es/ExecutionEnvironment.js +7 -0
  433. package/packages/client_build_tool/node_modules/history/es/LocationUtils.js +7 -0
  434. package/packages/client_build_tool/node_modules/history/es/PathUtils.js +7 -0
  435. package/packages/client_build_tool/node_modules/history/es/createBrowserHistory.js +7 -0
  436. package/packages/client_build_tool/node_modules/history/es/createHashHistory.js +7 -0
  437. package/packages/client_build_tool/node_modules/history/es/createMemoryHistory.js +7 -0
  438. package/packages/client_build_tool/node_modules/history/es/createTransitionManager.js +7 -0
  439. package/packages/client_build_tool/node_modules/history/es/warnAboutDeprecatedESMImport.js +35 -0
  440. package/packages/client_build_tool/node_modules/history/esm/history.js +904 -0
  441. package/packages/client_build_tool/node_modules/history/index.js +7 -0
  442. package/packages/client_build_tool/node_modules/history/package.json +120 -0
  443. package/packages/client_build_tool/node_modules/history/umd/history.js +1059 -0
  444. package/packages/client_build_tool/node_modules/history/umd/history.min.js +1 -0
  445. package/packages/client_build_tool/node_modules/history/warnAboutDeprecatedCJSRequire.js +35 -0
  446. package/postpublish.js +8 -8
  447. package/result.json +1 -0
  448. package/templates/app/.eslintrc.js +140 -140
  449. package/templates/app/README.md +12 -12
  450. package/templates/app/app/index.html +24 -24
  451. package/templates/app/app/properties/ApplicationResources_en_US.properties +1 -1
  452. package/templates/app/app/properties/i18nkeys.json +3 -3
  453. package/templates/app/docs/all.html +69 -69
  454. package/templates/app/mockapi/index.js +18 -18
  455. package/templates/app/package.json +37 -37
  456. package/templates/app/src/actions/SampleActions/index.js +37 -37
  457. package/templates/app/src/actions/index.js +65 -65
  458. package/templates/app/src/appUrls.js +19 -19
  459. package/templates/app/src/components/Alert/Alert.js +134 -134
  460. package/templates/app/src/components/Alert/Alert.module.css +79 -79
  461. package/templates/app/src/components/FreezeLayer/FreezeLayer.css +37 -37
  462. package/templates/app/src/components/FreezeLayer/FreezeLayer.js +84 -84
  463. package/templates/app/src/components/Sample/Sample.module.css +11 -11
  464. package/templates/app/src/components/Sample/SampleList.js +61 -61
  465. package/templates/app/src/components/Slider/Slider.css +41 -41
  466. package/templates/app/src/components/Slider/Slider.js +55 -55
  467. package/templates/app/src/containers/AlertContainer/index.js +15 -15
  468. package/templates/app/src/containers/AppContainer/index.js +96 -96
  469. package/templates/app/src/containers/AppContainer/index.module.css +27 -27
  470. package/templates/app/src/containers/CustomMatch/index.js +65 -65
  471. package/templates/app/src/containers/DevTools/index.js +10 -10
  472. package/templates/app/src/containers/Header/index.js +67 -67
  473. package/templates/app/src/containers/Header/index.module.css +43 -43
  474. package/templates/app/src/containers/Redirect/index.js +63 -63
  475. package/templates/app/src/containers/Redirector/index.js +47 -47
  476. package/templates/app/src/containers/SampleListContainer/ListContainer.js +42 -42
  477. package/templates/app/src/containers/SampleListContainer/ListContainer.module.css +3 -3
  478. package/templates/app/src/historyChange.js +5 -5
  479. package/templates/app/src/index.html +10 -10
  480. package/templates/app/src/index.js +24 -24
  481. package/templates/app/src/middleware/PromiseMiddleware.js +59 -59
  482. package/templates/app/src/reducers/alertData.js +11 -11
  483. package/templates/app/src/reducers/index.js +6 -6
  484. package/templates/app/src/reducers/samples.js +19 -19
  485. package/templates/app/src/store/configureStore.dev.js +51 -51
  486. package/templates/app/src/store/configureStore.js +5 -5
  487. package/templates/app/src/store/configureStore.prod.js +26 -26
  488. package/templates/app/src/util/Common.js +5 -5
  489. package/templates/app/src/util/RequestAPI.js +132 -132
  490. package/templates/docs/all.html +250 -249
  491. package/templates/docs/component.html +179 -178
  492. package/templates/docs/components.html +222 -221
  493. package/templates/docs/css/b.min.css +6 -6
  494. package/templates/docs/css/component.css +42 -42
  495. package/templates/docs/css/componentTest.css +6 -6
  496. package/templates/docs/css/hopscotch.css +585 -585
  497. package/templates/docs/css/markdown.css +202 -0
  498. package/templates/docs/css/style.css +989 -1022
  499. package/templates/docs/impactReportTemplate.html +154 -154
  500. package/templates/docs/index.html +1665 -1501
  501. package/templates/docs/js/active-line.js +72 -72
  502. package/templates/docs/js/b.min.js +7 -7
  503. package/templates/docs/js/codemirror.js +9680 -9680
  504. package/templates/docs/js/designTokens.js +334 -334
  505. package/templates/docs/js/j.min.js +4 -4
  506. package/templates/docs/js/javascript.js +874 -874
  507. package/templates/docs/js/matchbrackets.js +145 -145
  508. package/unittest/index.html +37 -0
  509. package/lib/plugins/composeCommonPlugin.js +0 -30
  510. package/lib/postcss-plugins/variableModifier.js +0 -244
@@ -1,1501 +1,1665 @@
1
- <!DOCTYPE html>
2
- <html dir="ltr">
3
-
4
- <head>
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <link rel=stylesheet href="./css/style.css">
8
- <link href="https://fonts.googleapis.com/css?family=Frank+Ruhl+Libre|Lemonada|Lora|Open+Sans+Condensed:300|PT+Sans+Narrow|Slabo+27px|Source+Sans+Pro"
9
- rel="stylesheet" />
10
- <link href="https://supportclientapp.localzoho.com/support/images/support-2.ico" type="IMAGE/X-ICON" rel="SHORTCUT ICON" />
11
-
12
- <script src="./js/codemirror.js"></script>
13
- <script src="./js/javascript.js"></script>
14
- <script src="./js/active-line.js"></script>
15
- <script src="./js/matchbrackets.js"></script>
16
- <link rel="stylesheet" type="text/css" href="./css/hopscotch.css">
17
- <title>Zoho Desk - React Components</title>
18
- <script>
19
-
20
- function selectText(containerid) {
21
- if (document.selection) {
22
- // IE
23
- var range = document.body.createTextRange();
24
- range.moveToElementText(document.getElementById(containerid));
25
- range.select();
26
- document.execCommand('copy');
27
- } else if (window.getSelection) {
28
- var range = document.createRange();
29
- range.selectNode(document.getElementById(containerid));
30
- window.getSelection().removeAllRanges();
31
- window.getSelection().addRange(range);
32
- document.execCommand('copy');
33
- }
34
- }
35
- </script>
36
- </head>
37
-
38
- <body>
39
-
40
- <div id="react"></div>
41
- <div class="iframeCentering">
42
- <span class="posAb">Zoho Desk - React Components</span>
43
- <iframe src="about:blank" id="ifm"></iframe>
44
- </div>
45
-
46
- <script src="/docs/js/babel.min.js"></script>
47
- <script type="text/babel">
48
- window.loadDOC = function(Component, mdata) {
49
- window.RTLmode = false;
50
- var ReactDOM = Component.ReactDOM;
51
- window.React = Component.React;
52
- window.ReactDOM = Component.ReactDOM;
53
- var React= Component.React;
54
- class Doc extends React.Component {
55
- constructor(props) {
56
- super(props);
57
- let folderNameDefault='';
58
- let groupNameDefault='';
59
- (location.hash && props.componentObj )? Object.keys(props.componentObj).map((flName)=>{
60
- let fname=props.componentObj[flName]
61
- Object.keys(fname).map((grName)=>{
62
- if((fname[grName].indexOf(location.hash.substring(1)) > -1)){
63
- folderNameDefault=flName;
64
- groupNameDefault=grName;
65
- }
66
- })
67
- }):null
68
- if(folderNameDefault== '' && groupNameDefault==''){
69
- folderNameDefault='Global'
70
- groupNameDefault='General'
71
- }
72
- this.state = {
73
- componentObj:props.componentObj,
74
- duplicates:props.duplicates,
75
- search: '',
76
- selectedComponent: location.hash,
77
- Components: Component,
78
- //popUp: '',
79
- fullScreenSrc: '',
80
- viewGroup:groupNameDefault,
81
- viewFolder:folderNameDefault,
82
- moreInform:false,
83
- infoTab:'component',
84
- changeset:null,
85
- version:'',
86
- frameWidth:'100%',
87
- isMenuClose:false,
88
- isRTL:false,
89
- isRem:true,
90
- isRemOpen:false,
91
- rootSize:16,
92
- pixelSize:16,
93
- resultRem:'1rem',
94
- responsiveMenu:false,
95
- device:'LAPTOP_M',
96
- compList:'Unused',
97
- windowSize:{height:0,width:0},
98
- isEditMode:false
99
-
100
- };
101
- this.search = this.search.bind(this);
102
- this.clear = this.clear.bind(this);
103
- this.toggleRemContainer = this.toggleRemContainer.bind(this);
104
- this.hashChange = this.hashChange.bind(this);
105
- //this.popupToggle = this.popupToggle.bind(this);
106
- //this.popupToggleDoc = this.popupToggleDoc.bind(this);
107
- this.removeClose = this.removeClose.bind(this);
108
- //this.fullScreenSrcToggle = this.fullScreenSrcToggle.bind(this);
109
- this.toggleFolder = this.toggleFolder.bind(this);
110
- this.toggleGroup = this.toggleGroup.bind(this);
111
- this.onTabinfo = this.onTabinfo.bind(this);
112
- this.codeview = this.codeview.bind(this);
113
- this.reloadFrame = this.reloadFrame.bind(this);
114
- this.getFileDetails = this.getFileDetails.bind(this);
115
- this.iframeSize = this.iframeSize.bind(this);
116
- this.menuOpen = this.menuOpen.bind(this);
117
- this.onRtlView=this.onRtlView.bind(this);
118
- this.onREMView=this.onREMView.bind(this);
119
- this.toggleEditMode=this.toggleEditMode.bind(this);
120
- this.calculatePxToRem=this.calculatePxToRem.bind(this);
121
- this.calculateRemToPx=this.calculateRemToPx.bind(this);
122
- this.onChangeRem=this.onChangeRem.bind(this);
123
- this.onChangePixel=this.onChangePixel.bind(this);
124
- this.onChangeBase=this.onChangeBase.bind(this);
125
- this.responseMenu=this.responseMenu.bind(this);
126
- this.getWindow=this.getWindow.bind(this);
127
- this.fullView=this.fullView.bind(this);
128
- this.handleURL=this.handleURL.bind(this);
129
- this.compList=this.compList.bind(this);
130
- this.unusedList=this.unusedList.bind(this);
131
- }
132
-
133
- fullView(){
134
- this.setState({isMenuClose:!this.state.isMenuClose})
135
- }
136
- toggleEditMode(){
137
- var iframe=document.getElementById('componentIframe');
138
- if(iframe){
139
- var currentMode=iframe.contentDocument.documentElement.getAttribute('contenteditable');
140
- if(currentMode=="true")
141
- {
142
- iframe.contentDocument.documentElement.setAttribute('contenteditable',"false");
143
- this.setState({isEditMode:false});
144
- }
145
- else {
146
- iframe.contentDocument.documentElement.setAttribute('contenteditable',"true");
147
- this.setState({isEditMode:true});
148
- }}
149
-
150
- }
151
-
152
- compList(e){
153
- if(e == this.state.compList){
154
- }
155
- else if(e !== this.state.compList){
156
- this.setState({compList:e})
157
- }
158
- else{
159
- this.setState({compList:''})
160
- }
161
- }
162
-
163
- getWindow(){
164
- var iframe=document.getElementById('componentIframe')
165
- if(iframe){
166
- this.setState({windowSize:{height:iframe.offsetHeight,width:iframe.offsetWidth}})
167
- }
168
- }
169
-
170
- responseMenu(){
171
- this.setState({ responsiveMenu:!this.state.responsiveMenu})
172
- }
173
-
174
- toggleRemContainer(){
175
- this.setState({ isRemOpen: !this.state.isRemOpen });
176
- }
177
-
178
- calculatePxToRem(){
179
- let result=Number((this.state.pixelSize/this.state.rootSize).toFixed(4));
180
- this.setState({resultRem:result+"rem"});
181
- }
182
-
183
- calculateRemToPx(){
184
- let result=Number(((Number(parseFloat(this.state.resultRem))*this.state.rootSize).toFixed(4)));
185
- this.setState({pixelSize:result});
186
- }
187
-
188
- onChangeBase(e) {
189
- let result=Number((this.state.pixelSize/e.target.value ).toFixed(4));
190
- this.setState({ rootSize: e.target.value,resultRem:result+"rem" });
191
- }
192
-
193
- onChangePixel(e) {
194
- let result=Number((e.target.value/this.state.rootSize).toFixed(4));
195
- this.setState({ pixelSize: e.target.value ,resultRem:result+"rem" });
196
- }
197
-
198
- onChangeRem(e) {
199
- let result=Number(((Number(parseFloat(e.target.value))*this.state.rootSize).toFixed(4)));
200
- this.setState({ resultRem: e.target.value,pixelSize:result});
201
- }
202
-
203
- toggleFolder(name,e){
204
- let { viewFolder } = this.state;
205
- if(name == viewFolder){
206
- name =''
207
- }
208
- this.setState({ viewFolder: name });
209
- }
210
- hashChange() {
211
- let ele = document.getElementById('componentIframe')
212
- if(ele){
213
- var src = document.getElementById('componentIframe').src;
214
- var url = src && src.split('#')[0];
215
- document.getElementById('componentIframe').src = url + location.hash;
216
- }
217
- this.setState({ selectedComponent: location.hash, infoTab:'component' });
218
- }
219
- toggleGroup(name) {
220
- let element=name;
221
- let { viewGroup } = this.state;
222
- if(name == viewGroup){
223
- name =''
224
- }
225
- this.setState({ viewGroup: name });
226
- }
227
-
228
- componentDidMount() {
229
- window.addEventListener('hashchange', this.hashChange);
230
- onLoader()
231
- let iframeEle=document.getElementById('componentIframe')
232
- iframeEle.contentWindow.addEventListener('resize',this.getWindow)
233
- this.getWindow()
234
- let index=document.getElementsByClassName('iframeCentering')
235
- index ?index[0].style.display='none':null
236
- if(!this.state.selectedComponent){
237
- this.setState({infoTab:'dashboard'})
238
- }
239
- //document.addEventListener('click', this.popupToggleDoc);
240
- fetch('/cli/version').then((res)=>{return res.json()}).then((response)=>{
241
- (response && response.version) ? this.setState({version : response.version }) : this.setState({version : "version get failure" })
242
- }).catch(function(err) {
243
- this.setState({changeset : "Error accured" })
244
- });
245
- }
246
-
247
- codeview(){
248
-
249
- let compName = location.hash != '' ? location.hash.substring(1) : null;
250
- let element = document.getElementById('codeView')
251
- if (componentList[compName] && typeof CodeMirror !== 'undefined' && element ) {
252
- CodeMirror(element, {
253
- value:'',
254
- lineNumbers: false,
255
- styleActiveLine: false,
256
- matchBrackets: false,
257
- theme: 'blackboard',
258
- });
259
- }
260
-
261
- }
262
-
263
- componentWillUnmount() {
264
- let iframe=document.getElementById('componentIframe');
265
- //document.removeEventListener('click', this.popupToggleDoc);
266
- iframe.contentWindow.removeEventListener('resize',this.getWindow)
267
- window.removeEventListener('hashchange', this.hashChange);
268
- window.removeEventListener('error',this.reloadFrame);
269
- }
270
-
271
- search(e) {
272
- this.setState({ search: e.target.value });
273
- }
274
-
275
- clear(e) {
276
- this.setState({ search: '' });
277
- }
278
-
279
- // popupToggleDoc() {
280
- // this.setState({ popUp: ''});
281
- // }
282
-
283
- // fullScreenSrcToggle(select) {
284
- // this.setState({ fullScreenSrc: select });
285
- // this.popupToggleDoc();
286
- // }
287
-
288
- removeClose(e) {
289
- e.stopPropagation && e.stopPropagation();
290
- e.nativeEvent.stopImmediatePropagation &&
291
- e.nativeEvent.stopImmediatePropagation();
292
- }
293
-
294
- filter(list, str) {
295
- list = list.sort((a, b) => {
296
- var at = a.toLowerCase();
297
- var bt = b.toLowerCase();
298
- return at > bt ? 1 : at < bt ? -1 : 0;
299
- });
300
- // return list.filter(
301
- // item => item.toUpperCase().indexOf(str.toUpperCase()) != -1
302
- // );
303
-
304
- return list.filter((item)=>{
305
- let value = item.split('__')[0]
306
-
307
- return value.toUpperCase().indexOf(str.toUpperCase()) != -1
308
- })
309
- }
310
-
311
- onTabinfo(name){
312
- this.setState({infoTab:name})
313
- }
314
-
315
- reloadFrame(){
316
- let iframeEle = document.getElementById('componentIframe');
317
- //this.getWindow()
318
- iframeEle.contentDocument.location.reload()
319
- parent.document.getElementById("loadingText").style.display= 'block'
320
- }
321
-
322
- getFileDetails(){
323
- this.onTabinfo('changeset')
324
- let compName = location.hash != '' ? location.hash.substring(1) : null;
325
- let compNameSub= window.componentList?window.componentList[compName].docs.filePath :Component[compName].docs.filePath || ''
326
- let name = compNameSub ? compNameSub.split('__')[0] : '';
327
- let propComName = name.replace("docs","/").split('/')[0]+name.split("docs")[1]
328
- fetch('/author/get?componentName='+propComName+'.js').then((res)=>{return res.json()}).then((response)=>{
329
- (response && response.stdout) ? this.setState({changeset : response.stdout }) : this.setState({changeset : "response is empty" })
330
- }).catch(function(err) {
331
- this.setState({changeset : "Error accured" })
332
- });
333
- }
334
-
335
- iframeSize() {
336
- let slider=document.getElementById('myRange')
337
- let iframe = document.getElementById('componentIframe');
338
- let value=slider.value;
339
- let borderSize=30;
340
- let sizes={
341
- '1':{device:'MOBILE_XS',frameWidth:320+borderSize},
342
- '2':{device:'MOBILE_S',frameWidth:360+borderSize},
343
- '3':{device:'MOBILE_M',frameWidth:375.04+borderSize},
344
- '4':{device:'MOBILE',frameWidth:480+borderSize},
345
- '5':{device:'TABLET_S',frameWidth:640+borderSize},
346
- '6':{device:'TABLET_M',frameWidth:720+borderSize},
347
- '7':{device:'TABLET',frameWidth:768+borderSize},
348
- '8':{device:'LAPTOP_S',frameWidth:1024+borderSize},
349
- '9':{device:'LAPTOP_M',frameWidth:1280+borderSize},
350
- '10':{device:'LAPTOP',frameWidth:1440+borderSize},
351
- '11':{device:'MONITOR_M',frameWidth:1600+borderSize},
352
- '12':{device:'MONITOR',frameWidth:1920+borderSize}
353
- }
354
- this.setState(sizes[value]);
355
- this.getWindow()
356
- }
357
-
358
- menuOpen() {
359
- this.setState({isMenuClose:!this.state.isMenuClose})
360
- }
361
-
362
- onRtlView(e) {
363
- let iframeEle = document.getElementById('componentIframe');
364
- let ele = e.target.element || null
365
- if (!this.state.isRTL) {
366
- this.setState({isRTL:true})
367
- window.RTLmode = true;
368
- iframeEle.contentDocument.documentElement.setAttribute('dir', 'rtl');
369
- } else {
370
- this.setState({isRTL:false})
371
- iframeEle.contentDocument.documentElement.setAttribute('dir', 'ltr');
372
- window.RTLmode = false;
373
- }
374
- }
375
-
376
- onREMView(e) {
377
- let iframeEle = document.getElementById('componentIframe');
378
- let ele = e.target.element || null
379
- if (!this.state.isRem) {
380
- this.setState({isRem:true})
381
- iframeEle.contentDocument.documentElement.classList.add('isRem');
382
- } else {
383
- this.setState({isRem:false})
384
- iframeEle.contentDocument.documentElement.classList.remove('isRem');
385
- }
386
- }
387
-
388
-
389
- handleURL(){
390
- this.setState({viewFolder:'General',viewGroup:'Global',infoTab:'dashboard'})
391
- window.history.pushState("", "", '/docs/');
392
- }
393
-
394
- unusedList(mdata){
395
- let dbList=[];
396
- Object.keys(mdata).map((item,i)=>{
397
- if(mdata[item].references.length<=0 && mdata[item].referencedby.length<=0){
398
- return dbList.push(item);
399
- }
400
- })
401
- return dbList
402
- }
403
-
404
- render() {
405
- const {
406
- Components,
407
- componentObj,
408
- search,
409
- selectedComponent,
410
- //popUp,
411
- viewGroup,
412
- viewFolder,
413
- moreInform,
414
- infoTab,
415
- changeset,
416
- version,
417
- frameWidth,
418
- isMenuClose,
419
- isRTL,
420
- isRem,
421
- isRemOpen,
422
- rootSize,
423
- pixelSize,
424
- resultRem,
425
- duplicates,
426
- isEditMode
427
- } = this.state;/* Components & componentObj no need in the state access in props itself*/
428
- let devices=[{device:'MOBILE',sizes:['XS','S','M','D']},{device:'TABLET',sizes:['S','M','D']},{device:'LAPTOP',sizes:[,'S','M','D']},{device:'MONITOR',sizes:['M','D']}]
429
- let compValue='compValue';
430
- let reactCliVersion =version.split(' ').filter(function(el){return el.toLowerCase().indexOf("fz-react-cli@") > -1;});
431
- let versionFz = reactCliVersion.length?reactCliVersion[0].substring(reactCliVersion[0].indexOf('@')+1,reactCliVersion[0].length) : '';
432
- let compName =location.hash != '' ? location.hash.substring(1) : null;
433
- let propComName = compName ? compName.split('__')[0] : '';
434
- let propsObj = window.componentList && window.componentList[propComName] &&
435
- window.componentList[propComName].propTypes ||
436
- (Components &&
437
- Components[propComName] &&
438
- Components[propComName].propTypes) ||
439
- {};
440
- let currentCompProps = Object.keys(propsObj) || [];
441
- let currentCompPropsDescription = window.componentList && window.componentList[propComName] && window.componentList[propComName].propsDescription || (Components[propComName] && Components[propComName].propsDescription) || {};
442
- let currentCompDefault = Window.componentList && window.componentList[propComName] && window.componentList[propComName].defaultProps || (Components[propComName] && Components[propComName].defaultProps) || {};
443
- let componentsObj=componentObj && this.filter(Object.keys(componentObj),'').map((item,i)=>{
444
- return ({key:item,value:componentObj[item],length:Object.keys(componentObj[item]).length})
445
- })
446
- let compObjList=componentsObj
447
-
448
- let dashboardList=[
449
- this.unusedList(mdata) &&{name:'Unused',componentList:this.unusedList(mdata)},
450
- duplicates && {name:'Duplicates',componentList:duplicates}
451
- ]
452
-
453
- return (
454
- <main className="dflex flexrow">
455
- <div className="showToggleLeft" onClick={this.menuOpen}>
456
- <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGOSURBVGhD7ZrBKkVBHIdPSNKV5A3YKSvvYG/BE0jI3tbGxsYGdTeeQnY8gcLOTigba1KE73ewOGUxc8/8/2fUfPXVndOd23ydM92ae6sIeniIT/iZgW94hYsYxTH+9YFd+4pzGMQIvqAmzepCBgzhESpmRxdCmERNuKtH+bCBWpeCgighxpSQEmJECSkhRpSQkJBRvMFTHNcFQ0xDxvAW9f5ztIwxf7Rm8B6tY1z2iEeM22a3jnELEZYxriHCKsY9RFjERIfo4OECT+rR4KSOiQ5JScqYRsgULji7jM/YNqYR8vAz6NIz1KlILI2QfdTz762Ol7SID1zFQeh0j4gtVECbCBEdMox6tufrUTtSRYjokBTfIyJlhOgkJHWEcA+xiBCuIVYRwi3EMkK4hFhHCPMQjwhhGjKN72gdIczvyDYufb80xW2zW1NCSogRJaSEGFFC/n3IBGrCYz3Kh03Uug7qUSC/x0Z7uJaB63iNWpPuTDArqP9IaWJOXqJ+JYtCJym72M9A7QvdFSKq6gtlqbpowcg25wAAAABJRU5ErkJggg==" />
457
- </div>
458
-
459
- <div className={"menuBar "+(isMenuClose?"isMenuClose":"isMenuOpen")}>
460
- <div className="dflex flexcolumn">
461
- <div className="flexshrink logoPart dflex">
462
- <img src="./css/desklogo.png" />
463
- <div className={'home'} onClick={this.handleURL}>
464
- <span className='homeIcon'>
465
- <svg className='svg'>
466
- <use xlinkHref='#home'></use>
467
- </svg>
468
- </span>
469
- </div>
470
- </div>
471
- <div className="flexgrow flexbasis sliderContainer">
472
- <div className="dflex flexcolumn">
473
- <div className="flexshrink searchPart">
474
- <Search onChange={this.search} value={search} onClear={this.clear} />
475
- </div>
476
- <menu className="flexgrow flexbasis scrollY menuContainer" id="leftPanel">
477
- {
478
- compObjList && Object.keys(compObjList).length && compObjList.map(comp => {
479
- let folderName=comp.key
480
- let folderCompCount=0;
481
- let sortList=this.filter(Object.keys(componentObj[folderName]),'').map(grpName=>{
482
- return({
483
- fName:grpName,
484
- components:componentObj[folderName][grpName],
485
- length:(componentObj[folderName][grpName].filter(function(el) {return el.toLowerCase().indexOf('__') > -1}).length)
486
- })
487
- })
488
-
489
- let outcomp = Object.keys(componentObj[folderName]).sort().map(
490
- grn => {
491
- let searchList = this.filter(
492
- componentObj[folderName][grn],
493
- search
494
- );
495
- if(searchList.length){
496
- folderCompCount=folderCompCount+1;
497
- }
498
- return searchList.length ? true : false;
499
- }
500
- );
501
- if (outcomp.indexOf(true) != -1) {
502
- return (
503
- <div>
504
- <div
505
- onClick={this.toggleFolder.bind(
506
- this,
507
- folderName
508
- )}
509
- className={'mainMenu dflex flexrow alignVertical offSelection'+' '+
510
- (viewFolder == folderName
511
- ? 'mainMenuActive'
512
- : '')
513
- }
514
- >
515
- <span className={'flexgrow mainMenutitle dotted'}>{folderName}</span>
516
- <span className={'flexshrink mainMenuCount'}>{folderCompCount}</span>
517
- <i className={'flexshrink mainMenuArrow'}>
518
- <svg className='svg'>
519
- <use xlinkHref='#bottomArrow'></use>
520
- </svg>
521
- </i>
522
- </div>
523
- <div
524
- className={
525
- viewFolder == folderName || search
526
- ? 'folderOpen'
527
- : 'hide'
528
- }
529
- >
530
- {
531
- sortList.map((grpName)=>{
532
- return(
533
- <ComponentList
534
- type={grpName.fName}
535
- components={this.filter(
536
- componentObj[folderName][grpName.fName],
537
- search
538
- )}
539
- selectedComponent={selectedComponent}
540
- toggleGroup={this.toggleGroup}
541
- viewGroup={
542
- search ? grpName.fName : viewGroup
543
- }
544
- />)
545
- })
546
- }
547
- </div>
548
- </div>
549
- );
550
- } else {
551
- return null;
552
- }
553
- })
554
- }
555
- </menu>
556
- {
557
- versionFz!=''&&
558
- <div className="flexshrink versionPart ">
559
- <span>Version {versionFz}</span>
560
- </div>
561
- }
562
- <div className="flexshrink tools" onClick={this.toggleRemContainer}>
563
- <img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDE3NC4yNDggMTc0LjI0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTc0LjI0OCAxNzQuMjQ4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnPgoJPHBhdGggZD0iTTE3My4xNDUsNzMuOTFjLTAuNDEzLTIuNzIyLTIuMjktNC45OTMtNC44ODEtNS45MTJsLTEzLjcyNy00Ljg4MWMtMC44MTItMi4zLTEuNzMzLTQuNTM2LTIuNzU0LTYuNjk5bDYuMjQ3LTEzLjE0NiAgIGMxLjE3OS0yLjQ3OSwwLjg5OS01LjQxMS0wLjcyOS03LjYyOGMtNS4yNjUtNy4xNjEtMTEuNTU2LTEzLjQ1Mi0xOC42OTgtMTguNjkzYy0yLjIxOS0xLjYyOS01LjE0MS0xLjkwNi03LjYyNS0wLjcyNCAgIGwtMTMuMTM4LDYuMjQyYy0yLjE2My0xLjAyMS00LjQwMi0xLjk0LTYuNzA0LTIuNzUybC00Ljg4My0xMy43MjljLTAuOTE5LTIuNTg2LTMuMTg0LTQuNDU4LTUuOS00Ljg3NiAgIGMtOS42NS0xLjQ4My0xNi43OTItMS40ODMtMjYuNDU3LDBjLTIuNzEzLDAuNDE4LTQuOTgxLDIuMjktNS45LDQuODc2bC00Ljg4MywxMy43MjljLTIuMzAyLDAuODEyLTQuNTQxLDEuNzMxLTYuNzAyLDIuNzUyICAgbC0xMy4xNDMtNi4yNDJjLTIuNDc5LTEuMTgxLTUuNDA2LTAuOTA0LTcuNjIzLDAuNzI0Yy03LjE0Miw1LjI0MS0xMy40MzMsMTEuNTMyLTE4LjY5OCwxOC42OTMgICBjLTEuNjI5LDIuMjE3LTEuOTA4LDUuMTQ4LTAuNzI5LDcuNjI4bDYuMjQ3LDEzLjE0NmMtMS4wMjEsMi4xNTktMS45NCw0LjQtMi43NTQsNi42OTlMNS45ODIsNjguMDAzICAgYy0yLjU4OSwwLjkxOS00LjQ2MywzLjE4OS00Ljg3OSw1LjkwN2MtMC43NDksNC45Mi0xLjA5OSw5LjExNS0xLjA5OSwxMy4yMTljMCw0LjA5OCwwLjM1LDguMjk5LDEuMDk5LDEzLjIxOSAgIGMwLjQxMywyLjcyMiwyLjI5LDQuOTkzLDQuODgxLDUuOTEybDEzLjcyNyw0Ljg4MWMwLjgxNCwyLjMwNCwxLjczNiw0LjU0MSwyLjc1NCw2LjcwNGwtNi4yNDcsMTMuMTQxICAgYy0xLjE3OSwyLjQ3OS0wLjg5OSw1LjQxMSwwLjcyNyw3LjYyM2M1LjI1OCw3LjE1NiwxMS41NDksMTMuNDQ3LDE4LjcsMTguNjk4YzIuMjE3LDEuNjI5LDUuMTQ0LDEuOTExLDcuNjI1LDAuNzI0bDEzLjEzOC02LjI0MiAgIGMyLjE2MywxLjAyMSw0LjQwMiwxLjk0LDYuNzA0LDIuNzUybDQuODgzLDEzLjcyOWMwLjkxOSwyLjU4NiwzLjE4NCw0LjQ1OCw1LjksNC44NzZjNC44MjgsMC43NDQsOS4xNTQsMS4xMDQsMTMuMjI4LDEuMTA0ICAgYzQuMDc0LDAsOC40MDEtMC4zNiwxMy4yMjgtMS4xMDRjMi43MTUtMC40MTgsNC45ODEtMi4yOSw1LjktNC44NzZsNC44ODMtMTMuNzI5YzIuMzAyLTAuODEyLDQuNTQxLTEuNzMxLDYuNzA0LTIuNzUyICAgbDEzLjEzOCw2LjI0MmMyLjQ4NCwxLjE4Niw1LjQxMSwwLjkwNCw3LjYyOC0wLjcyNGM3LjE1OS01LjI2LDEzLjQ1LTExLjU1MSwxOC42OTgtMTguNjk4YzEuNjI2LTIuMjEyLDEuOTA2LTUuMTQ0LDAuNzI3LTcuNjIzICAgbC02LjI0Ny0xMy4xNDFjMS4wMjEtMi4xNjMsMS45NDItNC40MDUsMi43NTQtNi43MDRsMTMuNzI3LTQuODgxYzIuNTkxLTAuOTE5LDQuNDY4LTMuMTg5LDQuODgxLTUuOTEyICAgYzAuNzQ5LTQuOTIsMS4wOTktOS4xMiwxLjA5OS0xMy4yMTlTMTczLjg5NCw3OC44MjksMTczLjE0NSw3My45MXogTTE1OC45NDksOTMuNzJsLTEyLjg3OCw0LjU4ICAgYy0yLjI1MSwwLjc5Ny0zLjk4MiwyLjYyNS00LjY2LDQuOTJjLTEuMTUsMy44ODktMi42NjQsNy41NjktNC41MDQsMTAuOTQzYy0xLjE0MiwyLjEtMS4yMTMsNC42MTktMC4xODcsNi43NzdsNS44NDEsMTIuMjg1ICAgYy0yLjgyMiwzLjM4OS01Ljk0Myw2LjUxNS05LjMzNyw5LjMzNGwtMTIuMjgzLTUuODM0Yy0yLjE2MS0xLjAzNi00LjY3Mi0wLjk1My02Ljc3NSwwLjE4NWMtMy4zNzksMS44MzgtNy4wNjEsMy4zNS0xMC45NTMsNC41MDIgICBjLTIuMjksMC42NzYtNC4xMTgsMi40MDYtNC45MTcsNC42NTdsLTQuNTgyLDEyLjg4M2MtNC42NzcsMC40NzYtOC41MDMsMC40NzYtMTMuMTgsMGwtNC41ODItMTIuODgzICAgYy0wLjgtMi4yNDYtMi42MjgtMy45ODItNC45MTctNC42NTdjLTMuODk0LTEuMTUyLTcuNTc5LTIuNjY0LTEwLjk1My00LjUwMmMtMi4xMDMtMS4xNDctNC42MTktMS4yMi02Ljc3NS0wLjE4NWwtMTIuMjgzLDUuODM5ICAgYy0zLjM5MS0yLjgyNS02LjUxMi01Ljk0Ni05LjMzNy05LjMzOWw1Ljg0MS0xMi4yODVjMS4wMjYtMi4xNTksMC45NTUtNC42NzctMC4xODctNi43NzdjLTEuODM1LTMuMzY0LTMuMzUtNy4wNDktNC41MDQtMTAuOTQ4ICAgYy0wLjY3OC0yLjI5LTIuNDExLTQuMTE4LTQuNjYtNC45MTVsLTEyLjg3OC00LjU4Yy0wLjI0My0yLjM0My0wLjM2LTQuNTAyLTAuMzYtNi41OTJzMC4xMTctNC4yNDQsMC4zNi02LjU4N2wxMi44ODEtNC41ODQgICBjMi4yNDgtMC43OTcsMy45NzktMi42MjUsNC42NTctNC45MTVjMS4xNTItMy44ODksMi42NjctNy41NzQsNC41MDQtMTAuOTUzYzEuMTQyLTIuMDk1LDEuMjEzLTQuNjE5LDAuMTg3LTYuNzcybC01Ljg0MS0xMi4yODUgICBjMi44MjctMy4zOTMsNS45NDgtNi41MTksOS4zMzctOS4zMzlsMTIuMjg4LDUuODM5YzIuMTUxLDEuMDM2LDQuNjc3LDAuOTUzLDYuNzc1LTAuMTg1YzMuMzcyLTEuODM4LDcuMDU0LTMuMzUsMTAuOTQ4LTQuNTAyICAgYzIuMjktMC42NzYsNC4xMTgtMi40MTEsNC45MTctNC42NTdsNC41ODItMTIuODgzYzQuNjMzLTAuNDgxLDguNDY2LTAuNDgxLDEzLjE4LDBsNC41ODIsMTIuODgzICAgYzAuOCwyLjI0NiwyLjYyOCwzLjk4Miw0LjkxNyw0LjY1N2MzLjg5NCwxLjE1Miw3LjU3OSwyLjY2NCwxMC45NTMsNC41MDJjMi4xMDMsMS4xNDcsNC42MTQsMS4yMiw2Ljc3NSwwLjE4NWwxMi4yODMtNS44MzkgICBjMy4zODksMi44Miw2LjUxLDUuOTQ2LDkuMzM3LDkuMzM5bC01Ljg0MSwxMi4yODVjLTEuMDI2LDIuMTU0LTAuOTU1LDQuNjc3LDAuMTg3LDYuNzcyYzEuODQzLDMuMzg5LDMuMzU3LDcuMDY5LDQuNTA0LDEwLjk0OCAgIGMwLjY3OCwyLjI5NSwyLjQwOSw0LjEyMyw0LjY2LDQuOTJsMTIuODc4LDQuNThjMC4yNDMsMi4zNDMsMC4zNiw0LjUwMiwwLjM2LDYuNTkyUzE1OS4xOTIsOTEuMzc3LDE1OC45NDksOTMuNzJ6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8cGF0aCBkPSJNODcuMTI0LDUwLjgwMmMtMTkuMDYyLDAtMzQuNTcxLDE1LjUwOC0zNC41NzEsMzQuNTcxczE1LjUwOCwzNC41NzEsMzQuNTcxLDM0LjU3MXMzNC41NzEtMTUuNTA4LDM0LjU3MS0zNC41NzEgICBTMTA2LjE4Niw1MC44MDIsODcuMTI0LDUwLjgwMnogTTg3LjEyNCwxMDUuMDA5Yy0xMC44MjcsMC0xOS42MzYtOC44MDktMTkuNjM2LTE5LjYzNnM4LjgwOS0xOS42MzYsMTkuNjM2LTE5LjYzNiAgIHMxOS42MzYsOC44MDksMTkuNjM2LDE5LjYzNlM5Ny45NTEsMTA1LjAwOSw4Ny4xMjQsMTA1LjAwOXoiIGZpbGw9IiNGRkZGRkYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K" />
564
- <span>REM Converter</span>
565
- </div>
566
- </div>
567
- <div className={"slider "+(isRemOpen?'sopen':'')}>
568
- <div className="tools sliderHeader">
569
- <img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDE3NC4yNDggMTc0LjI0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTc0LjI0OCAxNzQuMjQ4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnPgoJPHBhdGggZD0iTTE3My4xNDUsNzMuOTFjLTAuNDEzLTIuNzIyLTIuMjktNC45OTMtNC44ODEtNS45MTJsLTEzLjcyNy00Ljg4MWMtMC44MTItMi4zLTEuNzMzLTQuNTM2LTIuNzU0LTYuNjk5bDYuMjQ3LTEzLjE0NiAgIGMxLjE3OS0yLjQ3OSwwLjg5OS01LjQxMS0wLjcyOS03LjYyOGMtNS4yNjUtNy4xNjEtMTEuNTU2LTEzLjQ1Mi0xOC42OTgtMTguNjkzYy0yLjIxOS0xLjYyOS01LjE0MS0xLjkwNi03LjYyNS0wLjcyNCAgIGwtMTMuMTM4LDYuMjQyYy0yLjE2My0xLjAyMS00LjQwMi0xLjk0LTYuNzA0LTIuNzUybC00Ljg4My0xMy43MjljLTAuOTE5LTIuNTg2LTMuMTg0LTQuNDU4LTUuOS00Ljg3NiAgIGMtOS42NS0xLjQ4My0xNi43OTItMS40ODMtMjYuNDU3LDBjLTIuNzEzLDAuNDE4LTQuOTgxLDIuMjktNS45LDQuODc2bC00Ljg4MywxMy43MjljLTIuMzAyLDAuODEyLTQuNTQxLDEuNzMxLTYuNzAyLDIuNzUyICAgbC0xMy4xNDMtNi4yNDJjLTIuNDc5LTEuMTgxLTUuNDA2LTAuOTA0LTcuNjIzLDAuNzI0Yy03LjE0Miw1LjI0MS0xMy40MzMsMTEuNTMyLTE4LjY5OCwxOC42OTMgICBjLTEuNjI5LDIuMjE3LTEuOTA4LDUuMTQ4LTAuNzI5LDcuNjI4bDYuMjQ3LDEzLjE0NmMtMS4wMjEsMi4xNTktMS45NCw0LjQtMi43NTQsNi42OTlMNS45ODIsNjguMDAzICAgYy0yLjU4OSwwLjkxOS00LjQ2MywzLjE4OS00Ljg3OSw1LjkwN2MtMC43NDksNC45Mi0xLjA5OSw5LjExNS0xLjA5OSwxMy4yMTljMCw0LjA5OCwwLjM1LDguMjk5LDEuMDk5LDEzLjIxOSAgIGMwLjQxMywyLjcyMiwyLjI5LDQuOTkzLDQuODgxLDUuOTEybDEzLjcyNyw0Ljg4MWMwLjgxNCwyLjMwNCwxLjczNiw0LjU0MSwyLjc1NCw2LjcwNGwtNi4yNDcsMTMuMTQxICAgYy0xLjE3OSwyLjQ3OS0wLjg5OSw1LjQxMSwwLjcyNyw3LjYyM2M1LjI1OCw3LjE1NiwxMS41NDksMTMuNDQ3LDE4LjcsMTguNjk4YzIuMjE3LDEuNjI5LDUuMTQ0LDEuOTExLDcuNjI1LDAuNzI0bDEzLjEzOC02LjI0MiAgIGMyLjE2MywxLjAyMSw0LjQwMiwxLjk0LDYuNzA0LDIuNzUybDQuODgzLDEzLjcyOWMwLjkxOSwyLjU4NiwzLjE4NCw0LjQ1OCw1LjksNC44NzZjNC44MjgsMC43NDQsOS4xNTQsMS4xMDQsMTMuMjI4LDEuMTA0ICAgYzQuMDc0LDAsOC40MDEtMC4zNiwxMy4yMjgtMS4xMDRjMi43MTUtMC40MTgsNC45ODEtMi4yOSw1LjktNC44NzZsNC44ODMtMTMuNzI5YzIuMzAyLTAuODEyLDQuNTQxLTEuNzMxLDYuNzA0LTIuNzUyICAgbDEzLjEzOCw2LjI0MmMyLjQ4NCwxLjE4Niw1LjQxMSwwLjkwNCw3LjYyOC0wLjcyNGM3LjE1OS01LjI2LDEzLjQ1LTExLjU1MSwxOC42OTgtMTguNjk4YzEuNjI2LTIuMjEyLDEuOTA2LTUuMTQ0LDAuNzI3LTcuNjIzICAgbC02LjI0Ny0xMy4xNDFjMS4wMjEtMi4xNjMsMS45NDItNC40MDUsMi43NTQtNi43MDRsMTMuNzI3LTQuODgxYzIuNTkxLTAuOTE5LDQuNDY4LTMuMTg5LDQuODgxLTUuOTEyICAgYzAuNzQ5LTQuOTIsMS4wOTktOS4xMiwxLjA5OS0xMy4yMTlTMTczLjg5NCw3OC44MjksMTczLjE0NSw3My45MXogTTE1OC45NDksOTMuNzJsLTEyLjg3OCw0LjU4ICAgYy0yLjI1MSwwLjc5Ny0zLjk4MiwyLjYyNS00LjY2LDQuOTJjLTEuMTUsMy44ODktMi42NjQsNy41NjktNC41MDQsMTAuOTQzYy0xLjE0MiwyLjEtMS4yMTMsNC42MTktMC4xODcsNi43NzdsNS44NDEsMTIuMjg1ICAgYy0yLjgyMiwzLjM4OS01Ljk0Myw2LjUxNS05LjMzNyw5LjMzNGwtMTIuMjgzLTUuODM0Yy0yLjE2MS0xLjAzNi00LjY3Mi0wLjk1My02Ljc3NSwwLjE4NWMtMy4zNzksMS44MzgtNy4wNjEsMy4zNS0xMC45NTMsNC41MDIgICBjLTIuMjksMC42NzYtNC4xMTgsMi40MDYtNC45MTcsNC42NTdsLTQuNTgyLDEyLjg4M2MtNC42NzcsMC40NzYtOC41MDMsMC40NzYtMTMuMTgsMGwtNC41ODItMTIuODgzICAgYy0wLjgtMi4yNDYtMi42MjgtMy45ODItNC45MTctNC42NTdjLTMuODk0LTEuMTUyLTcuNTc5LTIuNjY0LTEwLjk1My00LjUwMmMtMi4xMDMtMS4xNDctNC42MTktMS4yMi02Ljc3NS0wLjE4NWwtMTIuMjgzLDUuODM5ICAgYy0zLjM5MS0yLjgyNS02LjUxMi01Ljk0Ni05LjMzNy05LjMzOWw1Ljg0MS0xMi4yODVjMS4wMjYtMi4xNTksMC45NTUtNC42NzctMC4xODctNi43NzdjLTEuODM1LTMuMzY0LTMuMzUtNy4wNDktNC41MDQtMTAuOTQ4ICAgYy0wLjY3OC0yLjI5LTIuNDExLTQuMTE4LTQuNjYtNC45MTVsLTEyLjg3OC00LjU4Yy0wLjI0My0yLjM0My0wLjM2LTQuNTAyLTAuMzYtNi41OTJzMC4xMTctNC4yNDQsMC4zNi02LjU4N2wxMi44ODEtNC41ODQgICBjMi4yNDgtMC43OTcsMy45NzktMi42MjUsNC42NTctNC45MTVjMS4xNTItMy44ODksMi42NjctNy41NzQsNC41MDQtMTAuOTUzYzEuMTQyLTIuMDk1LDEuMjEzLTQuNjE5LDAuMTg3LTYuNzcybC01Ljg0MS0xMi4yODUgICBjMi44MjctMy4zOTMsNS45NDgtNi41MTksOS4zMzctOS4zMzlsMTIuMjg4LDUuODM5YzIuMTUxLDEuMDM2LDQuNjc3LDAuOTUzLDYuNzc1LTAuMTg1YzMuMzcyLTEuODM4LDcuMDU0LTMuMzUsMTAuOTQ4LTQuNTAyICAgYzIuMjktMC42NzYsNC4xMTgtMi40MTEsNC45MTctNC42NTdsNC41ODItMTIuODgzYzQuNjMzLTAuNDgxLDguNDY2LTAuNDgxLDEzLjE4LDBsNC41ODIsMTIuODgzICAgYzAuOCwyLjI0NiwyLjYyOCwzLjk4Miw0LjkxNyw0LjY1N2MzLjg5NCwxLjE1Miw3LjU3OSwyLjY2NCwxMC45NTMsNC41MDJjMi4xMDMsMS4xNDcsNC42MTQsMS4yMiw2Ljc3NSwwLjE4NWwxMi4yODMtNS44MzkgICBjMy4zODksMi44Miw2LjUxLDUuOTQ2LDkuMzM3LDkuMzM5bC01Ljg0MSwxMi4yODVjLTEuMDI2LDIuMTU0LTAuOTU1LDQuNjc3LDAuMTg3LDYuNzcyYzEuODQzLDMuMzg5LDMuMzU3LDcuMDY5LDQuNTA0LDEwLjk0OCAgIGMwLjY3OCwyLjI5NSwyLjQwOSw0LjEyMyw0LjY2LDQuOTJsMTIuODc4LDQuNThjMC4yNDMsMi4zNDMsMC4zNiw0LjUwMiwwLjM2LDYuNTkyUzE1OS4xOTIsOTEuMzc3LDE1OC45NDksOTMuNzJ6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8cGF0aCBkPSJNODcuMTI0LDUwLjgwMmMtMTkuMDYyLDAtMzQuNTcxLDE1LjUwOC0zNC41NzEsMzQuNTcxczE1LjUwOCwzNC41NzEsMzQuNTcxLDM0LjU3MXMzNC41NzEtMTUuNTA4LDM0LjU3MS0zNC41NzEgICBTMTA2LjE4Niw1MC44MDIsODcuMTI0LDUwLjgwMnogTTg3LjEyNCwxMDUuMDA5Yy0xMC44MjcsMC0xOS42MzYtOC44MDktMTkuNjM2LTE5LjYzNnM4LjgwOS0xOS42MzYsMTkuNjM2LTE5LjYzNiAgIHMxOS42MzYsOC44MDksMTkuNjM2LDE5LjYzNlM5Ny45NTEsMTA1LjAwOSw4Ny4xMjQsMTA1LjAwOXoiIGZpbGw9IiNGRkZGRkYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K" />
570
- <span className="sliderTitle">REM Converter</span>
571
- <span className="searchClose" onClick={this.toggleRemContainer}>
572
- <img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIxMi45ODIgMjEyLjk4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjEyLjk4MiAyMTIuOTgyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnIGlkPSJDbG9zZSI+Cgk8cGF0aCBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7IiBkPSJNMTMxLjgwNCwxMDYuNDkxbDc1LjkzNi03NS45MzZjNi45OS02Ljk5LDYuOTktMTguMzIzLDAtMjUuMzEyICAgYy02Ljk5LTYuOTktMTguMzIyLTYuOTktMjUuMzEyLDBsLTc1LjkzNyw3NS45MzdMMzAuNTU0LDUuMjQyYy02Ljk5LTYuOTktMTguMzIyLTYuOTktMjUuMzEyLDBjLTYuOTg5LDYuOTktNi45ODksMTguMzIzLDAsMjUuMzEyICAgbDc1LjkzNyw3NS45MzZMNS4yNDIsMTgyLjQyN2MtNi45ODksNi45OS02Ljk4OSwxOC4zMjMsMCwyNS4zMTJjNi45OSw2Ljk5LDE4LjMyMiw2Ljk5LDI1LjMxMiwwbDc1LjkzNy03NS45MzdsNzUuOTM3LDc1LjkzNyAgIGM2Ljk4OSw2Ljk5LDE4LjMyMiw2Ljk5LDI1LjMxMiwwYzYuOTktNi45OSw2Ljk5LTE4LjMyMiwwLTI1LjMxMkwxMzEuODA0LDEwNi40OTF6IiBmaWxsPSIjRkZGRkZGIi8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==" />
573
- </span>
574
- </div>
575
- <div className="sliderFormContainer">
576
- <div className="sliderInputContainer">
577
- <label className="sliderInputTitle">Base font-size (in px)</label>
578
- <input type="number" className="sliderInput" min="1" placeholder="Base font-size (in px)" value={rootSize} onChange={this.onChangeBase} / >
579
- </div>
580
- <div className="sliderInputContainer">
581
- <label className="sliderInputTitle">PX size to convert</label>
582
- <input type="number" className="sliderInput" placeholder="PX size to convert" value={pixelSize} onChange={this.onChangePixel} / >
583
- </div>
584
- <div className="sliderInputContainer">
585
- <label className="sliderInputTitle">Result</label>
586
- <div className="sliderResult">
587
- <input type="text" className="sliderInput" placeholder="Result" value={resultRem} onChange={this.onChangeRem} / >
588
- <span id="remoutput" className="copyTxtHiden">{resultRem}</span>
589
- <span className="copyResult" onClick={selectText.bind(this, 'remoutput')}>
590
- <img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMS4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ4OC4zIDQ4OC4zIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0ODguMyA0ODguMzsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCI+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTMxNC4yNSw4NS40aC0yMjdjLTIxLjMsMC0zOC42LDE3LjMtMzguNiwzOC42djMyNS43YzAsMjEuMywxNy4zLDM4LjYsMzguNiwzOC42aDIyN2MyMS4zLDAsMzguNi0xNy4zLDM4LjYtMzguNlYxMjQgICAgQzM1Mi43NSwxMDIuNywzMzUuNDUsODUuNCwzMTQuMjUsODUuNHogTTMyNS43NSw0NDkuNmMwLDYuNC01LjIsMTEuNi0xMS42LDExLjZoLTIyN2MtNi40LDAtMTEuNi01LjItMTEuNi0xMS42VjEyNCAgICBjMC02LjQsNS4yLTExLjYsMTEuNi0xMS42aDIyN2M2LjQsMCwxMS42LDUuMiwxMS42LDExLjZWNDQ5LjZ6IiBmaWxsPSIjRkZGRkZGIi8+CgkJPHBhdGggZD0iTTQwMS4wNSwwaC0yMjdjLTIxLjMsMC0zOC42LDE3LjMtMzguNiwzOC42YzAsNy41LDYsMTMuNSwxMy41LDEzLjVzMTMuNS02LDEzLjUtMTMuNWMwLTYuNCw1LjItMTEuNiwxMS42LTExLjZoMjI3ICAgIGM2LjQsMCwxMS42LDUuMiwxMS42LDExLjZ2MzI1LjdjMCw2LjQtNS4yLDExLjYtMTEuNiwxMS42Yy03LjUsMC0xMy41LDYtMTMuNSwxMy41czYsMTMuNSwxMy41LDEzLjVjMjEuMywwLDM4LjYtMTcuMywzOC42LTM4LjYgICAgVjM4LjZDNDM5LjY1LDE3LjMsNDIyLjM1LDAsNDAxLjA1LDB6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==" />
591
- </span>
592
- </div>
593
- </div>
594
- </div>
595
- </div>
596
- </div>
597
- </div>
598
- </div>
599
- <div className="flexgrow flexbasis">
600
- <div id="container" className="dflex flexcolumn flexbasis">
601
- {
602
- infoTab == 'dashboard' ?
603
- <div className='dflex flexcolumn'>
604
- <div className="flexshrink cheader">
605
- <div className="dflex flexrow flexbasis alignVertical">
606
- <div className="flexshrink">
607
- <h1 className="cheadertitle">{'Dashboard'}</h1>
608
- </div>
609
- <div className='flexgrow flexbasis infoTabs dflex'>
610
- {
611
- dashboardList.map((item,i)=>{
612
- return(
613
- <span key={i} onClick={this.compList.bind(this,item.name)} className={this.state.compList == item.name ? 'dotted infoactive' : 'dotted'}>
614
- {item.name}
615
- </span>
616
- )
617
- })
618
- }
619
- </div>
620
- </div>
621
- </div>
622
- <div className='flexgrow scrollY'>
623
- {
624
- dashboardList.map((item,i)=>{
625
- if(this.state.compList == item.name){
626
- return(
627
- item.componentList.length>0?<ul key={i}>
628
- {
629
- (item.componentList).map((component,val)=>{
630
- if(component!== undefined){
631
- return(<li key={val} className="compListItem">{component}</li>)
632
- }
633
- })
634
- }
635
- </ul>:
636
- <div className='dflex alignHorizontal alignVertical flexcolumn'>
637
- <span className='smileIcon'>
638
- <svg className='svg'>
639
- <use xlinkHref='#smileIcon'></use>
640
- </svg>
641
- </span>
642
- <div>{'Sorry! there is no '+this.state.compList +' components'}</div>
643
- </div>
644
- )
645
- }
646
- })
647
- }
648
- </div>
649
- </div>
650
- :null
651
- }
652
- {
653
- compName ?
654
- <div className="flexshrink cheader">
655
- <div className="dflex flexrow flexbasis alignVertical">
656
- <div className="flexshrink"><h1 className="cheadertitle">{compName && compName.split('__')[0]}</h1></div>
657
- <div className='flexgrow flexbasis infoTabs dflex'>
658
- <span onClick={this.onTabinfo.bind(this,'component')} className={infoTab == 'component' ? 'dotted infoactive' : 'dotted'}>Component view</span>
659
- <span onClick={this.onTabinfo.bind(this,'proptypes')} className={infoTab == 'proptypes' ? 'dotted infoactive' : 'dotted'}>PropTypes</span>
660
- <span onClick={this.onTabinfo.bind(this,'code')} className={infoTab == 'code' ? 'dotted infoactive' : 'dotted'}>Docs Code</span>
661
- {
662
- /*
663
- <span onClick={this.onTabinfo.bind(this,'src')} className={infoTab == 'src' ? 'dotted infoactive' : 'dotted'}>Source</span>
664
- <span onClick={this.onTabinfo.bind(this,'visual')} className={infoTab == 'visual' ? 'dotted infoactive' : 'dotted'}>Visual Design</span>
665
- */
666
- }
667
- <span onClick={this.onTabinfo.bind(this,'references')}className={infoTab=='references' ? 'dotted infoactive' : 'dotted'}>References</span>
668
- <span onClick={this.getFileDetails} className={infoTab == 'changeset' ? 'dotted infoactive' : 'dotted'}>Author</span>
669
- </div>
670
- </div>
671
- </div>
672
- :null
673
- }
674
-
675
- <div className="flexgrow flexbasis cfooter ">
676
- <div className="dflex flexcolumn flexbasis">
677
- <div className="flexgrow flexbasis ccontent">
678
- {
679
- infoTab == 'changeset' ?
680
- <pre className="authorview">{changeset ? changeset : 'loading....!!!'}</pre>
681
- :null
682
- }
683
- {
684
- infoTab == 'code' ?
685
- <CodeView compName={compName} src={window.componentList ?window.componentList[compName].docs.source:Component[compName].docs.source}/>
686
- :null
687
- }
688
- {
689
- infoTab == 'src' ?
690
- <CodeView compName={compName+'src'} src={window.componentList ?window.componentList[propComName].source:Component[propComName].source}/>
691
- : null
692
- }
693
- {
694
- infoTab == 'component' &&
695
- <div className='dflex flexcolumn'>
696
- <div className={'flexgrow flexshrink flexbasis toolarea'}>
697
- <section id="resize" style={{"width":((frameWidth)+'px')}} className={"dflex flexcolumn flexbasis iframeSection"+" "+(frameWidth<481?'section':'')}>
698
- <span className="loadingText" id='loadingText'>
699
- <div className="lds-ripple">
700
- <div></div>
701
- <div></div>
702
- </div>
703
- </span>
704
- <iframe
705
- id="componentIframe"
706
- className="iframe"
707
- src={'/docs/component.html' + location.hash}
708
- mdata={mdata}
709
- />
710
- </section>
711
- </div>
712
- <div className={'flexshrink toolOptions'}>
713
- <div className={'dflex flexrow alignVertical alignHorizontal'}>
714
-
715
- <div className={'responsive offSelection'}>
716
- <span className={"responsiveOption iconOption"} onClick={this.reloadFrame}>
717
- <svg className='svg'>
718
- <use xlinkHref='#reload'></use>
719
- </svg>
720
- </span>
721
- <a className={'responsiveOption iconOption'} href={'/docs/component.html' + location.hash} target="_blank" >
722
- <svg className='svg'>
723
- <use xlinkHref='#newTab'></use>
724
- </svg>
725
- </a>
726
- <span className={'responsiveOption iconOption'+' '+(this.state.isRTL?'activeOption transform':'')} onClick={this.onRtlView}>
727
- <svg className='svg'>
728
- <use xlinkHref='#RTL'></use>
729
- </svg>
730
- </span>
731
- <span className={'responsiveOption iconOption textSize'+' '+(this.state.isRem?'activeOption':'')} onClick={this.onREMView} >
732
- <svg className='svg'>
733
- <use xlinkHref='#rem'></use>
734
- </svg>
735
- </span>
736
- <span className={'responsiveOption iconOption textSize'+' '+(this.state.isEditMode?'activeOption':'')} onClick={this.toggleEditMode} >
737
- <svg className='svg'>
738
- <use xlinkHref='#pencil'></use>
739
- </svg>
740
- </span>
741
- <span className={'responsiveOption iconOption fullScreen'+' '+(this.state.isMenuClose?'activeOption':'')} onClick={this.fullView} >
742
- <svg className='svg'>
743
- <use xlinkHref='#fullScreen'></use>
744
- </svg>
745
- </span>
746
- </div>
747
- <div className={'dflex alignVertical alignHorizontal range'}>
748
- <input min='1' max='12' type='range' defaultValue='9' step='1' id="myRange" onChange={this.iframeSize} className='rangeInput' />
749
- <span className='tooltip'>{this.state.device}</span>
750
- {
751
- this.state.windowSize?
752
- <React.Fragment>
753
- <span className='window'>{this.state.windowSize.width}</span>
754
- <span className='tooltipVal'>x</span>
755
- <span className='window'>{this.state.windowSize.height}</span>
756
- </React.Fragment>:null
757
- }
758
- </div>
759
- </div>
760
- </div>
761
- </div>
762
- }
763
- {
764
- infoTab == 'proptypes' ?
765
- <div className="propsTable">
766
- <div className="tableHeader">
767
- <span className="brR">PropsName</span>
768
- <span className="brR">Type</span>
769
- <span className="brR">isRequired</span>
770
- <span className="brR ">Default Props</span>
771
- <span className="brR ">Description</span>
772
- </div>
773
- {
774
- currentCompProps.map((value, i) => {
775
- return (
776
- <div
777
- className={
778
- currentCompProps.length - 1 == i
779
- ? 'tableHeaderNB'
780
- : 'tableHeader'
781
- }
782
- key={i}
783
- >
784
- <span>
785
- <div>{value}</div>
786
- </span>
787
- <span>
788
- <div>
789
- {propsObj[value] && propsObj[value].hookType}
790
- </div>
791
- </span>
792
- <span>
793
- <div>
794
- {
795
- propsObj[value] && propsObj[value].isRequired? '-': 'true'
796
- }
797
- </div>
798
- </span>
799
- <span className="defaultProps">
800
- <div className="bn">
801
- {JSON.stringify(currentCompDefault[value] || '')}
802
- </div>
803
- </span>
804
- <span className="defaultProps">
805
- <div className="bn">
806
- {JSON.stringify(currentCompPropsDescription[value] || '')}
807
- </div>
808
- </span>
809
-
810
- </div>
811
- );
812
- })
813
- }
814
- </div>
815
- : null
816
- }
817
- {
818
- infoTab == 'references' ?
819
- <div className="referContainer">
820
- <div className='refsBy'>ReferencedBy :</div>
821
- <ul>
822
- {
823
- compName ?
824
- compName.indexOf('__') > -1 ?
825
- mdata[compName.substring(0, compName.indexOf('_'))] &&
826
- mdata[compName.substring(0, compName.indexOf('_'))].referencedby.map((val, i) => {
827
- return (
828
- <li key={i} className='refsLin'>
829
- <a className="link" href={'#' + val}>
830
- {val}
831
- </a>
832
- </li>
833
- );
834
- })
835
- : mdata[compName].referencedby.map((val, i) => {
836
- return (
837
- <li key={i} className='refsLin'>
838
- <a className="link" href={'#' + val}>
839
- {val}
840
- </a>
841
- </li>
842
- );
843
- })
844
- : null
845
- }
846
- </ul>
847
- <div className='refsBy'>References : </div>
848
- <ul>
849
- {
850
- compName ? compName.indexOf('__') > -1
851
- ? mdata[
852
- compName.substring(0, compName.indexOf('_'))
853
- ] &&
854
- mdata[
855
- compName.substring(0, compName.indexOf('_'))
856
- ].references.map((val, i) => {
857
- return (
858
- <li key={i} className='refsLin'>
859
- <a className="link" href={'#' + val}>
860
- {val}
861
- </a>
862
- </li>
863
- );
864
- })
865
- : mdata[compName].references.map((val, i) => {
866
- return (
867
- <li key={i} className='refsLin'>
868
- <a className="link" href={'#' + val}>
869
- {val}
870
- </a>
871
- </li>
872
- );
873
- })
874
- : null
875
- }
876
- </ul>
877
- </div>
878
- : null
879
- }
880
- {
881
- /*infoTab == 'visual' ?
882
- <div>
883
- {
884
- Component[propComName] &&
885
- Component[propComName].docs &&
886
- Component[propComName].docs.images &&
887
- Component[propComName].docs.images.map(image => {
888
- return (
889
- <div className="psdContainer">
890
- <div className="imageContainer">
891
- <img className="psdImage" src={image.view} />
892
- </div>
893
- <div>
894
- <a className="psdLink" href={image.psd} target="_blank" download>
895
- Download PSD
896
- </a>
897
- </div>
898
- <div>
899
- <a className="psdLink" href={image.view} target="_blank" download>
900
- Download Image
901
- </a>
902
- </div>
903
- </div>
904
- );
905
- })
906
- }
907
- </div>
908
- : null */
909
- }
910
- </div>
911
- </div>
912
- </div>
913
- </div>
914
- </div>
915
- </main>
916
- );
917
- }
918
- }
919
- class Search extends React.Component {
920
- render() {
921
- return (
922
- <div className="searchContainer">
923
- <input
924
- type="text"
925
- onChange={this.props.onChange}
926
- placeholder="Search"
927
- className="inputSearch" value={this.props.value}
928
- />
929
- {this.props.value.length>=1&&
930
- <span className="searchClose" onClick={this.props.onClear}><img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIxMi45ODIgMjEyLjk4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjEyLjk4MiAyMTIuOTgyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnIGlkPSJDbG9zZSI+Cgk8cGF0aCBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7IiBkPSJNMTMxLjgwNCwxMDYuNDkxbDc1LjkzNi03NS45MzZjNi45OS02Ljk5LDYuOTktMTguMzIzLDAtMjUuMzEyICAgYy02Ljk5LTYuOTktMTguMzIyLTYuOTktMjUuMzEyLDBsLTc1LjkzNyw3NS45MzdMMzAuNTU0LDUuMjQyYy02Ljk5LTYuOTktMTguMzIyLTYuOTktMjUuMzEyLDBjLTYuOTg5LDYuOTktNi45ODksMTguMzIzLDAsMjUuMzEyICAgbDc1LjkzNyw3NS45MzZMNS4yNDIsMTgyLjQyN2MtNi45ODksNi45OS02Ljk4OSwxOC4zMjMsMCwyNS4zMTJjNi45OSw2Ljk5LDE4LjMyMiw2Ljk5LDI1LjMxMiwwbDc1LjkzNy03NS45MzdsNzUuOTM3LDc1LjkzNyAgIGM2Ljk4OSw2Ljk5LDE4LjMyMiw2Ljk5LDI1LjMxMiwwYzYuOTktNi45OSw2Ljk5LTE4LjMyMiwwLTI1LjMxMkwxMzEuODA0LDEwNi40OTF6IiBmaWxsPSIjRkZGRkZGIi8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==" /></span>}
931
- </div>
932
- );
933
- }
934
- }
935
-
936
- class ComponentList extends React.Component {
937
- constructor(props) {
938
- super(props);
939
- this.state = {
940
- toggle: false
941
- };
942
- }
943
- componentDidMount(){
944
- let {type,viewGroup}=this.props;
945
- let element=document.getElementById(type);
946
- viewGroup==type && element ?
947
- element.scrollIntoView(true) && element.scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"})
948
- :null
949
- }
950
-
951
- render() {
952
- const { components, type, toggleGroup,viewGroup } = this.props;
953
- let classNameTab = type == viewGroup ? " selected " : '';
954
-
955
- return (
956
- <div data-title={type}>
957
- {
958
- components.length>0&& <div className={"listItem dflex flexrow flexbasis alignVertical offSelection "+ classNameTab} onClick={toggleGroup.bind(this,type)} id={type}>
959
- <i className={"flexshrink listIcon"}>
960
- <svg className='svg'>
961
- <use xlinkHref='#folder'></use>
962
- </svg>
963
- </i>
964
- <span className="dotted flexgrow flexbasis listTitle">{type}</span>
965
- {
966
- components.length>0&&<i className={"flexshrink listCount"}>{(components.filter(function(el) {return el.toLowerCase().indexOf('__') > -1}).length)}</i>
967
- }
968
- </div>
969
- }
970
- <div className={ viewGroup == type ? 'activeComponent' : 'hide'}>
971
- {
972
- components.map((component, i) => {
973
- let docsComp = component.search('__');
974
- return (
975
- <div className={((docsComp == -1) ? "componentMain" : "componentDocs")} key={'component' + i} >
976
- <a
977
- href={ docsComp == -1 && type != 'Global'&& type != 'Page' ? 'javascript:void(0);' : '#' + component}
978
- className={"dflex flexrow flexbasis alignVertical offSelection "+ (this.props.selectedComponent == '#' + component ? 'active' : '') } >
979
- <i className={"listIcon"}>
980
- <svg className='svg'>
981
- <use xlinkHref='#file'></use>
982
- </svg>
983
- </i>
984
- <span className="dotted flexgrow flexbasis listTitle"> {docsComp == -1 ? component : component.split('__')[1]}</span>
985
- {(components.filter(function(el) {return el.indexOf(component+'__') > -1}).length)>0 && (docsComp == -1) &&<i className={"flexshrink listCount subCount"}>{(components.filter(function(el) {return el.indexOf(component+'__') > -1}).length)}</i>}
986
- </a>
987
- </div>
988
- );
989
- })}
990
- </div>
991
- </div>
992
- );
993
- }
994
- }
995
-
996
- class CodeView extends React.Component {
997
- constructor(props) {
998
- super(props);
999
-
1000
- }
1001
- componentDidMount(){
1002
- let {compName,src} = this.props
1003
- let element = document.getElementById(compName)
1004
- if (componentList[compName] && typeof CodeMirror !== 'undefined' && element ) {
1005
- CodeMirror.fromTextArea(element, {
1006
- lineNumbers: false,
1007
- styleActiveLine: false,
1008
- matchBrackets: false,
1009
- theme: 'blackboard'
1010
- });
1011
- }
1012
- }
1013
-
1014
- render() {
1015
- let {src,compName} = this.props
1016
- return (
1017
- <div className={"dflex flexrow flexbasis "}>
1018
- <textarea className="srcCode" id={compName} defaultValue={src}/>
1019
- </div>
1020
- );
1021
- }
1022
- }
1023
- var user={
1024
- componentObj:{},
1025
- componentList:{},
1026
- dupCompList:[],
1027
- objList:function(fName,gName,key,comp){
1028
- if(this.componentList[key]){
1029
- this.componentList[key]=comp;
1030
- this.dupCompList.push(key)
1031
- }
1032
- else{
1033
- this.componentList[key]=comp;
1034
- }
1035
- if(gName){
1036
- if(!this.componentObj[fName]){
1037
- this.componentObj[fName]={}
1038
- }
1039
- if(!this.componentObj[fName][gName]){
1040
- this.componentObj[fName][gName] = [];
1041
- this.componentObj[fName][gName].push(key)
1042
- }
1043
- else{
1044
- this.componentObj[fName][gName].push(key)
1045
- }
1046
- }
1047
- return {componentObj:this.componentObj,componentList:this.componentList}
1048
- },
1049
- renderDoc:function(compOBJ,dupCompList){
1050
- return(
1051
- ReactDOM.render(
1052
- <Doc
1053
- components={Component}
1054
- componentObj={compOBJ}
1055
- duplicates={dupCompList}
1056
- />,
1057
- react
1058
- )
1059
- )
1060
- }
1061
- }
1062
- var compGroupObj=function(comp,key,compGroup){
1063
- if (comp == 'React' || comp == 'ReactDOM' || comp =='renderToStaticMarkup') {
1064
- return;
1065
- }
1066
- else if(comp=='_provider'){
1067
- return user.objList(null,null,comp,compGroup[comp])
1068
- }
1069
- else{
1070
- if(compGroup[comp].docs && compGroup[comp].docs.componentGroup ){
1071
- let groupName = compGroup[comp].docs.componentGroup;
1072
- let folderName = compGroup[comp].docs.folderName || "General";
1073
- if(comp=='default'){
1074
- return user.objList(folderName,groupName,key,compGroup[comp])
1075
- }
1076
- else{
1077
- return user.objList(folderName,groupName,comp,compGroup[comp])
1078
- }
1079
- }
1080
- }
1081
- }
1082
- Promise.all(Object.keys(Component).map((key) => {
1083
- let componentKey=Component[key];
1084
- if (key == 'React' || key == 'ReactDOM' || key=='renderToStaticMarkup') {
1085
- return;
1086
- }
1087
- if(key=='_provider'){
1088
- return compGroupObj(key,null,Component)
1089
- }
1090
- try{
1091
- return(
1092
- componentKey && componentKey.then((res)=>{
1093
- let compList;
1094
- Object.keys(res).forEach((comp)=>{
1095
- let compGroup=res[comp];
1096
- Object.keys(compGroup).forEach((comps)=>{
1097
- compGroupObj(comps,key,compGroup)
1098
- })
1099
- })
1100
- })
1101
- )
1102
- }catch(error){
1103
- compGroupObj(key,null,Component)
1104
- }
1105
- })).then(()=>{
1106
- window.componentList=user.componentList
1107
- user.renderDoc(user.componentObj,user.dupCompList)
1108
- })
1109
- };
1110
- var onLoader = function () {
1111
- // Minimum resizable area
1112
- var minWidth = 60;
1113
- var minHeight = 40;
1114
-
1115
- // Thresholds
1116
- var FULLSCREEN_MARGINS = -10;
1117
- var MARGINS = 15;
1118
-
1119
- // End of what's configurable.
1120
- var clicked = null;
1121
- var onRightEdge, onBottomEdge, onLeftEdge, onTopEdge;
1122
-
1123
- var rightScreenEdge, bottomScreenEdge;
1124
-
1125
- var preSnapped;
1126
-
1127
- var b, x, y;
1128
-
1129
- var redraw = false;
1130
-
1131
- var pane = document.getElementById( 'resize' );
1132
- var ghostpane = document.getElementById( 'ghostpane' );
1133
- function setBounds( element, x, y, w, h ) {
1134
- element.style.left = x + 'px';
1135
- element.style.top = y + 'px';
1136
- element.style.width = w + 'px';
1137
- element.style.height = h + 'px';
1138
- }
1139
-
1140
- function hintHide() {
1141
- //setBounds(ghostpane, b.left, b.top, b.width, b.height);
1142
- //ghostpane.style.opacity = 0;
1143
- // var b = ghostpane.getBoundingClientRect();
1144
- // ghostpane.style.top = b.top + b.height / 2;
1145
- // ghostpane.style.left = b.left + b.width / 2;
1146
- // ghostpane.style.width = 0;
1147
- // ghostpane.style.height = 0;
1148
- }
1149
-
1150
- // Mouse events
1151
- pane && pane.addEventListener( 'mousedown', onMouseDown );
1152
- pane && document.addEventListener( 'mousemove', onMove );
1153
- pane && document.addEventListener( 'mouseup', onUp );
1154
-
1155
- // Touch events
1156
- pane && pane.addEventListener( 'touchstart', onTouchDown );
1157
- pane && document.addEventListener( 'touchmove', onTouchMove );
1158
- pane && document.addEventListener( 'touchend', onTouchEnd );
1159
-
1160
- function onTouchDown( e ) {
1161
- onDown( e.touches[ 0 ] );
1162
- e.preventDefault();
1163
- }
1164
-
1165
- function onTouchMove( e ) {
1166
- onMove( e.touches[ 0 ] );
1167
- }
1168
-
1169
- function onTouchEnd( e ) {
1170
- if ( e.touches.length == 0 ) onUp( e.changedTouches[ 0 ] );
1171
- }
1172
-
1173
- function onMouseDown( e ) {
1174
- onDown( e );
1175
- e.preventDefault();
1176
- }
1177
-
1178
- function onDown( e ) {
1179
- calc( e );
1180
-
1181
- var isResizing = onRightEdge || onBottomEdge || onTopEdge || onLeftEdge;
1182
-
1183
- clicked = {
1184
- x: x,
1185
- y: y,
1186
- cx: e.clientX,
1187
- cy: e.clientY,
1188
- w: b.width,
1189
- h: b.height,
1190
- isResizing: isResizing,
1191
- isMoving: !isResizing && canMove(),
1192
- onTopEdge: onTopEdge,
1193
- onLeftEdge: onLeftEdge,
1194
- onRightEdge: onRightEdge,
1195
- onBottomEdge: onBottomEdge
1196
- };
1197
- }
1198
-
1199
- function canMove() {
1200
- return x > 0 && x < b.width && y > 0 && y < b.height && y < 30;
1201
- }
1202
-
1203
- function calc( e ) {
1204
- b = pane.getBoundingClientRect();
1205
- x = e.clientX - b.left;
1206
- y = e.clientY - b.top;
1207
-
1208
- onTopEdge = y < MARGINS;
1209
- onLeftEdge = x < MARGINS;
1210
- onRightEdge = x >= b.width - MARGINS;
1211
- onBottomEdge = y >= b.height - MARGINS;
1212
-
1213
- rightScreenEdge = window.innerWidth - MARGINS;
1214
- bottomScreenEdge = window.innerHeight - MARGINS;
1215
- }
1216
-
1217
- var e;
1218
-
1219
- function onMove( ee ) {
1220
- calc( ee );
1221
-
1222
- e = ee;
1223
-
1224
- redraw = true;
1225
- }
1226
-
1227
- function animate() {
1228
- requestAnimationFrame( animate );
1229
-
1230
- if ( !redraw ) return;
1231
-
1232
- redraw = false;
1233
-
1234
- if ( clicked && clicked.isResizing ) {
1235
- if ( clicked.onRightEdge ) pane.style.width = Math.max( x, minWidth ) + 'px';
1236
- if ( clicked.onBottomEdge )
1237
- pane.style.height = Math.max( y, minHeight ) + 'px';
1238
-
1239
- if ( clicked.onLeftEdge ) {
1240
- var currentWidth = Math.max(
1241
- clicked.cx - e.clientX + clicked.w,
1242
- minWidth
1243
- );
1244
- if ( currentWidth > minWidth ) {
1245
- pane.style.width = currentWidth + 'px';
1246
- // pane.style.left = e.clientX + 'px';
1247
- }
1248
- }
1249
-
1250
- if ( clicked.onTopEdge ) {
1251
- var currentHeight = Math.max(
1252
- clicked.cy - e.clientY + clicked.h,
1253
- minHeight
1254
- );
1255
- if ( currentHeight > minHeight ) {
1256
- pane.style.height = currentHeight + 'px';
1257
- pane.style.top = e.clientY + 'px';
1258
- }
1259
- }
1260
-
1261
- hintHide();
1262
-
1263
- return;
1264
- }
1265
-
1266
- if ( clicked && clicked.isMoving ) {
1267
- if (
1268
- b.top < FULLSCREEN_MARGINS ||
1269
- b.left < FULLSCREEN_MARGINS ||
1270
- b.right > window.innerWidth - FULLSCREEN_MARGINS ||
1271
- b.bottom > window.innerHeight - FULLSCREEN_MARGINS
1272
- ) {
1273
- // hintFull();
1274
- setBounds( ghostpane, 0, 0, window.innerWidth, window.innerHeight );
1275
- ghostpane.style.opacity = 0.2;
1276
- } else if ( b.top < MARGINS ) {
1277
- // hintTop();
1278
- setBounds( ghostpane, 0, 0, window.innerWidth, window.innerHeight / 2 );
1279
- ghostpane.style.opacity = 0.2;
1280
- } else if ( b.left < MARGINS ) {
1281
- // hintLeft();
1282
- setBounds( ghostpane, 0, 0, window.innerWidth / 2, window.innerHeight );
1283
- ghostpane.style.opacity = 0.2;
1284
- } else if ( b.right > rightScreenEdge ) {
1285
- // hintRight();
1286
- setBounds(
1287
- ghostpane,
1288
- window.innerWidth / 2,
1289
- 0,
1290
- window.innerWidth / 2,
1291
- window.innerHeight
1292
- );
1293
- ghostpane.style.opacity = 0.2;
1294
- } else if ( b.bottom > bottomScreenEdge ) {
1295
- // hintBottom();
1296
- setBounds(
1297
- ghostpane,
1298
- 0,
1299
- window.innerHeight / 2,
1300
- window.innerWidth,
1301
- window.innerWidth / 2
1302
- );
1303
- ghostpane.style.opacity = 0.2;
1304
- } else {
1305
- hintHide();
1306
- }
1307
-
1308
- if ( preSnapped ) {
1309
- setBounds(
1310
- pane,
1311
- e.clientX - preSnapped.width / 2,
1312
- e.clientY - Math.min( clicked.y, preSnapped.height ),
1313
- preSnapped.width,
1314
- preSnapped.height
1315
- );
1316
- return;
1317
- }
1318
-
1319
- // moving
1320
- pane.style.top = e.clientY - clicked.y + 'px';
1321
- //pane.style.left = e.clientX - clicked.x + 'px';
1322
-
1323
- return;
1324
- }
1325
-
1326
- // This code executes when mouse moves without clicking
1327
-
1328
- // style cursor
1329
- if ( ( onRightEdge && onBottomEdge ) || ( onLeftEdge && onTopEdge ) ) {
1330
- pane.style.cursor = 'nwse-resize';
1331
- } else if ( ( onRightEdge && onTopEdge ) || ( onBottomEdge && onLeftEdge ) ) {
1332
- pane.style.cursor = 'nesw-resize';
1333
- } else if ( onRightEdge || onLeftEdge ) {
1334
- pane.style.cursor = 'ew-resize';
1335
- } else if ( onBottomEdge || onTopEdge ) {
1336
- pane.style.cursor = 'ns-resize';
1337
- } else if ( canMove() ) {
1338
- pane.style.cursor = 'move';
1339
- } else {
1340
- pane.style.cursor = 'default';
1341
- }
1342
- }
1343
-
1344
- animate();
1345
-
1346
- function onUp( e ) {
1347
- calc( e );
1348
-
1349
- if ( clicked && clicked.isMoving ) {
1350
- // Snap
1351
- var snapped = {
1352
- width: b.width,
1353
- height: b.height
1354
- };
1355
-
1356
- if (
1357
- b.top < FULLSCREEN_MARGINS ||
1358
- b.left < FULLSCREEN_MARGINS ||
1359
- b.right > window.innerWidth - FULLSCREEN_MARGINS ||
1360
- b.bottom > window.innerHeight - FULLSCREEN_MARGINS
1361
- ) {
1362
- // hintFull();
1363
- setBounds( pane, 0, 0, window.innerWidth, window.innerHeight );
1364
- preSnapped = snapped;
1365
- } else if ( b.top < MARGINS ) {
1366
- // hintTop();
1367
- setBounds( pane, 0, 0, window.innerWidth, window.innerHeight / 2 );
1368
- preSnapped = snapped;
1369
- } else if ( b.left < MARGINS ) {
1370
- // hintLeft();
1371
- setBounds( pane, 0, 0, window.innerWidth / 2, window.innerHeight );
1372
- preSnapped = snapped;
1373
- } else if ( b.right > rightScreenEdge ) {
1374
- // hintRight();
1375
- setBounds(
1376
- pane,
1377
- window.innerWidth / 2,
1378
- 0,
1379
- window.innerWidth / 2,
1380
- window.innerHeight
1381
- );
1382
- preSnapped = snapped;
1383
- } else if ( b.bottom > bottomScreenEdge ) {
1384
- // hintBottom();
1385
- setBounds(
1386
- pane,
1387
- 0,
1388
- window.innerHeight / 2,
1389
- window.innerWidth,
1390
- window.innerWidth / 2
1391
- );
1392
- preSnapped = snapped;
1393
- } else {
1394
- preSnapped = null;
1395
- }
1396
-
1397
- hintHide();
1398
- }
1399
-
1400
- clicked = null;
1401
- }
1402
- };
1403
-
1404
- </script>
1405
- <script type="text/javascript">
1406
- var html =
1407
- "<body><script src='/docs/js/vendor.js'><\/script><script src='/docs/js/main.js'><\/script><script src='/docs/js/moduleStats.js'><\/script> <script> if(typeof mdata==\"undefined\"){mdata={};}parent.loadDOC(Component, mdata) <\/script> <\/body>";
1408
- var iframe = document.getElementById( 'ifm' );
1409
- var frameDoc = iframe.document;
1410
- if ( iframe.contentWindow ) {
1411
- frameDoc = iframe.contentWindow.document;
1412
- frameDoc.open();
1413
- frameDoc.writeln( html );
1414
- frameDoc.close();
1415
- } else {
1416
- }
1417
- </script>
1418
- <div style="visibility: hidden;height: 0;width: 0;height:0">
1419
- <svg
1420
- xmlSpace="preserve"
1421
- version="1.1"
1422
- xmlns="http://www.w3.org/2000/svg"
1423
- xmlnsXlink="http://www.w3.org/1999/xlink"
1424
- >
1425
- <symbol id="home" x="0px" y="0px" viewBox="0 0 495.398 495.398" fill='#FFFFFF' enableBackground="new 0 0 495.398 495.398">
1426
- <path d="M487.083,225.514l-75.08-75.08V63.704c0-15.682-12.708-28.391-28.413-28.391c-15.669,0-28.377,12.709-28.377,28.391 v29.941L299.31,37.74c-27.639-27.624-75.694-27.575-103.27,0.05L8.312,225.514c-11.082,11.104-11.082,29.071,0,40.158 c11.087,11.101,29.089,11.101,40.172,0l187.71-187.729c6.115-6.083,16.893-6.083,22.976-0.018l187.742,187.747 c5.567,5.551,12.825,8.312,20.081,8.312c7.271,0,14.541-2.764,20.091-8.312C498.17,254.586,498.17,236.619,487.083,225.514z"/>
1427
- <path d="M257.561,131.836c-5.454-5.451-14.285-5.451-19.723,0L72.712,296.913c-2.607,2.606-4.085,6.164-4.085,9.877v120.401 c0,28.253,22.908,51.16,51.16,51.16h81.754v-126.61h92.299v126.61h81.755c28.251,0,51.159-22.907,51.159-51.159V306.79 c0-3.713-1.465-7.271-4.085-9.877L257.561,131.836z"/>
1428
- </symbol>
1429
- <symbol
1430
- id='bottomArrow'
1431
- viewBox="0 0 792 792"
1432
- >
1433
- <polygon
1434
- points="580.802,369.604 580.802,369.604 211.198,0 184.802,26.396 554.405,396 184.802,765.604 211.198,792 607.198,396"
1435
- />
1436
-
1437
- </symbol>
1438
- <symbol id="reload" viewBox="0 0 28.265 28.265">
1439
- <path d="M14.133,28.265c-7.061,0-12.805-5.75-12.805-12.809c0-7.06,5.744-12.807,12.805-12.807c0.469,0,0.943,0.027,1.414,0.08 v-2.07c0-0.266,0.164-0.508,0.406-0.611c0.252-0.098,0.531-0.043,0.723,0.148l4.537,4.547c0.258,0.258,0.258,0.67,0,0.932 l-4.535,4.557c-0.193,0.188-0.473,0.246-0.725,0.143c-0.242-0.104-0.406-0.344-0.406-0.609V7.47 c-0.469-0.086-0.941-0.125-1.414-0.125c-4.473,0-8.113,3.639-8.113,8.111c0,4.471,3.641,8.113,8.113,8.113s8.111-3.643,8.111-8.113 c0-0.363,0.295-0.66,0.662-0.66h3.369c0.365,0,0.662,0.297,0.662,0.66C26.937,22.515,21.189,28.265,14.133,28.265z"/>
1440
- </symbol>
1441
- <symbol id='newTab' x="0px" y="0px" viewBox="0 0 26 26" enableBackground='new 0 0 26 26'>
1442
- <path d="M18,17.759v3.366C18,22.159,17.159,23,16.125,23H4.875C3.841,23,3,22.159,3,21.125V9.875C3,8.841,3.841,8,4.875,8h3.429l3.001-3h-6.43C2.182,5,0,7.182,0,9.875v11.25C0,23.818,2.182,26,4.875,26h11.25C18.818,26,21,23.818,21,21.125v-6.367L18,17.759z"/>
1443
- <path d="M22.581,0H12.322c-1.886,0.002-1.755,0.51-0.76,1.504l3.22,3.22l-5.52,5.519c-1.145,1.144-1.144,2.998,0,4.141l2.41,2.411c1.144,1.141,2.996,1.142,4.14-0.001l5.52-5.52l3.16,3.16c1.101,1.1,1.507,1.129,1.507-0.757L26,3.419C25.999-0.018,26.024-0.001,22.581,0z"/>
1444
- </symbol>
1445
- <symbol id='RTL'
1446
- width="13" height="16"
1447
- viewBox="0 0 13 16"
1448
- fill="none"
1449
- >
1450
- <path d="M12.2415 0.318399H3.92167C3.37879 0.318399 2.87197 0.404799 2.39552 0.575999C1.92097 0.747199 1.50527 0.984 1.15221 1.2848C0.799141 1.5856 0.518208 1.936 0.311304 2.3376C0.104401 2.7392 0 3.1632 0 3.616C0 4.0736 0.104401 4.5008 0.311304 4.9024C0.518208 5.3024 0.799141 5.6528 1.15221 5.9552C1.50527 6.2576 1.92097 6.4928 2.39552 6.664C2.87007 6.8352 3.37879 6.9216 3.92167 6.9216H4.89735V10.6368C4.89735 10.7504 4.9448 10.8464 5.04161 10.9264C5.13842 11.0064 5.25231 11.048 5.38518 11.048C5.52565 11.048 5.64334 11.008 5.73825 10.9264C5.83316 10.8464 5.88251 10.7488 5.88251 10.6368V1.1408H8.81902V10.6368C8.81902 10.7504 8.86648 10.8464 8.96328 10.9264C9.06009 11.0064 9.17398 11.048 9.30686 11.048C9.44163 11.048 9.55552 11.008 9.65043 10.9264C9.74534 10.8448 9.79469 10.7488 9.79469 10.6368V1.1408H12.2434C12.3781 1.1408 12.492 1.1008 12.5869 1.0192C12.6818 0.9376 12.7312 0.841599 12.7312 0.729599C12.7312 0.615999 12.6837 0.52 12.5869 0.44C12.4901 0.36 12.3762 0.318399 12.2415 0.318399ZM4.89735 6.0992H3.92167C3.51356 6.0992 3.13013 6.0336 2.77326 5.9024C2.4164 5.7712 2.1051 5.5936 1.84125 5.3696C1.5774 5.1472 1.3686 4.8848 1.21485 4.584C1.06109 4.2832 0.985164 3.96 0.985164 3.616C0.985164 3.2768 1.06109 2.9584 1.21485 2.656C1.3686 2.3552 1.5774 2.0928 1.84125 1.8704C2.1051 1.648 2.4164 1.4704 2.77326 1.3376C3.13013 1.2064 3.51356 1.1408 3.92167 1.1408H4.89735V6.0992ZM11.2658 13.5232H2.16205L3.29147 12.5792C3.38638 12.4992 3.43574 12.4 3.43574 12.2848C3.43574 12.1696 3.38828 12.0704 3.29147 11.9904C3.19656 11.9104 3.07887 11.8688 2.9422 11.8688C2.80553 11.8688 2.68785 11.9088 2.59294 11.9904L0.630201 13.6448C0.535291 13.7248 0.485938 13.824 0.485938 13.9392C0.485938 14.0544 0.533393 14.1536 0.630201 14.2336L2.59104 15.8784C2.64229 15.9216 2.69734 15.952 2.75808 15.9712C2.81882 15.9904 2.87767 16 2.93461 16C2.99915 16 3.05989 15.9904 3.12064 15.9712C3.18138 15.952 3.23642 15.9216 3.28768 15.8784C3.38259 15.7984 3.43194 15.7008 3.43194 15.5888C3.43194 15.4752 3.38448 15.3792 3.28768 15.2992L2.15825 14.3552H11.2639C11.3987 14.3552 11.5126 14.3152 11.6075 14.2336C11.7024 14.1536 11.7517 14.0528 11.7517 13.936C11.7517 13.8224 11.7043 13.7264 11.6075 13.6464C11.5145 13.5632 11.4006 13.5232 11.2658 13.5232Z" fill="white"/>
1451
- </symbol>
1452
- <symbol id="rem" enableBackground="new 0 0 458.353 458.353" viewBox="0 0 458.353 458.353">
1453
- <path d="m415.382 200.529h42.971l-57.294-57.294-57.294 57.294h42.971v171.882h-42.971l57.294 57.294 57.294-57.294h-42.971z"/>
1454
- <path d="m343.765 85.941v-85.941h-343.765v85.941h28.647v-57.294h128.912v401.059h-71.618v28.647h171.882v-28.647h-71.618v-401.059h128.912v57.294z"/>
1455
- </symbol>
1456
- <symbol id='fullScreen' viewBox="0 0 18 18">
1457
- <path d="M4.5 11H3v4h4v-1.5H4.5V11zM3 7h1.5V4.5H7V3H3v4zm10.5 6.5H11V15h4v-4h-1.5v2.5zM11 3v1.5h2.5V7H15V3h-4z"/>
1458
- </symbol>
1459
- <symbol id='folder' viewBox="0 0 60 60" >
1460
- <path d="M56.98,11.5H28.02V6.52c0-1.665-1.354-3.02-3.02-3.02H3.02C1.354,3.5,0,4.854,0,6.52V20.5v2v30.98 c0,1.665,1.354,3.02,3.02,3.02H56.98c1.665,0,3.02-1.354,3.02-3.02V22.5v-2v-5.98C60,12.854,58.646,11.5,56.98,11.5z M58,53.48 c0,0.563-0.457,1.02-1.02,1.02H3.02C2.457,54.5,2,54.043,2,53.48V22.5h56V53.48z M2,20.5V6.52C2,5.957,2.457,5.5,3.02,5.5H25 c0.562,0,1.02,0.457,1.02,1.02v6.98H56.98c0.563,0,1.02,0.457,1.02,1.02v5.98H2z" fill="#FFFFFF"/>
1461
- </symbol>
1462
- <symbol id='file' viewBox="0 0 512 512" >
1463
- <path d="M405.333,42.667h-44.632c-4.418-12.389-16.147-21.333-30.035-21.333h-32.219C288.427,8.042,272.677,0,256,0 s-32.427,8.042-42.448,21.333h-32.219c-13.888,0-25.617,8.944-30.035,21.333h-44.631C83.135,42.667,64,61.802,64,85.333v384 C64,492.865,83.135,512,106.667,512h298.667C428.865,512,448,492.865,448,469.333v-384C448,61.802,428.865,42.667,405.333,42.667 z M170.667,53.333c0-5.885,4.781-10.667,10.667-10.667h37.917c3.792,0,7.302-2.021,9.219-5.302 c5.844-10.042,16.135-16.031,27.531-16.031s21.688,5.99,27.531,16.031c1.917,3.281,5.427,5.302,9.219,5.302h37.917 c5.885,0,10.667,4.781,10.667,10.667V64c0,11.76-9.573,21.333-21.333,21.333H192c-11.76,0-21.333-9.573-21.333-21.333V53.333z M426.667,469.333c0,11.76-9.573,21.333-21.333,21.333H106.667c-11.76,0-21.333-9.573-21.333-21.333v-384 c0-11.76,9.573-21.333,21.333-21.333h42.667c0,23.531,19.135,42.667,42.667,42.667h128c23.531,0,42.667-19.135,42.667-42.667 h42.667c11.76,0,21.333,9.573,21.333,21.333V469.333z" fill="#FFFFFF"/>
1464
- <path d="M352,234.667H160c-5.896,0-10.667,4.771-10.667,10.667c0,5.896,4.771,10.667,10.667,10.667h192 c5.896,0,10.667-4.771,10.667-10.667C362.667,239.438,357.896,234.667,352,234.667z" fill="#FFFFFF"/>
1465
- <path d="M352,277.333H160c-5.896,0-10.667,4.771-10.667,10.667s4.771,10.667,10.667,10.667h192 c5.896,0,10.667-4.771,10.667-10.667S357.896,277.333,352,277.333z" fill="#FFFFFF"/>
1466
- <path d="M352,320H160c-5.896,0-10.667,4.771-10.667,10.667c0,5.896,4.771,10.667,10.667,10.667h192 c5.896,0,10.667-4.771,10.667-10.667C362.667,324.771,357.896,320,352,320z" fill="#FFFFFF"/>
1467
- <path d="M266.667,362.667H160c-5.896,0-10.667,4.771-10.667,10.667c0,5.896,4.771,10.667,10.667,10.667h106.667 c5.896,0,10.667-4.771,10.667-10.667C277.333,367.438,272.563,362.667,266.667,362.667z" fill="#FFFFFF"/>
1468
- </symbol>
1469
- <symbol id="pencil" viewBox="0 0 512 512">
1470
- <g>
1471
- <polygon points="85.333,282.64 85.333,362.64 165.333,362.64 378.667,149.307 298.667,69.307 "/>
1472
- <path d="M441.707,56.08L391.893,6.267c-8.32-8.32-21.867-8.32-30.187,0L320,47.973l80,80l41.707-41.707
1473
- C450.027,77.947,450.027,64.4,441.707,56.08z"/>
1474
- </g>
1475
- <g >
1476
- <rect y="426.64" width="512" height="85.333"/>
1477
- </g>
1478
- </symbol>
1479
- <svg
1480
- x='0px'
1481
- y='0px'
1482
- viewBox='0 0 512 512'
1483
- enableBackground= 'new 0 0 512 512'
1484
- id='smileIcon'
1485
- >
1486
- <path
1487
- fill= '#f00'
1488
- d='M344.354,381.58c-1.33-1.651-33.207-40.458-88.354-40.458
1489
- 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
1490
- 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
1491
- 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
1492
- 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
1493
- 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
1494
- 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
1495
- S326.327,212.122,344,212.122z'
1496
- />
1497
- </svg>
1498
- </svg>
1499
- </div>
1500
- </body>
1501
- </html>
1
+ <!DOCTYPE html>
2
+ <html dir="ltr">
3
+
4
+ <head>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <link rel=stylesheet href="./css/style.css">
8
+ <link rel="stylesheet" href="https://webfonts.zoho.com/css?family=Poppins:400,600,700">
9
+ <link
10
+ href="https://fonts.googleapis.com/css?family=Frank+Ruhl+Libre|Lemonada|Lora|Open+Sans+Condensed:300|PT+Sans+Narrow|Slabo+27px|Source+Sans+Pro"
11
+ rel="stylesheet" />
12
+ <link href="https://supportclientapp.localzoho.com/support/images/support-2.ico" type="IMAGE/X-ICON"
13
+ rel="SHORTCUT ICON" />
14
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/styles/github-dark.min.css">
15
+ <script src="./js/codemirror.js"></script>
16
+ <script src="./js/javascript.js"></script>
17
+ <script src="./js/active-line.js"></script>
18
+ <script src="./js/matchbrackets.js"></script>
19
+ <link rel="stylesheet" type="text/css" href="./css/hopscotch.css">
20
+ <link rel="stylesheet" href="./css/markdown.css">
21
+ <title>Zoho Desk - React Components</title>
22
+ <script>
23
+
24
+ function selectText(containerid) {
25
+ if (document.selection) {
26
+ // IE
27
+ var range = document.body.createTextRange();
28
+ range.moveToElementText(document.getElementById(containerid));
29
+ range.select();
30
+ document.execCommand('copy');
31
+ } else if (window.getSelection) {
32
+ var range = document.createRange();
33
+ range.selectNode(document.getElementById(containerid));
34
+ window.getSelection().removeAllRanges();
35
+ window.getSelection().addRange(range);
36
+ document.execCommand('copy');
37
+ }
38
+ }
39
+ </script>
40
+ </head>
41
+
42
+ <body>
43
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.3.1/highlight.min.js"></script>
44
+ <div id="react"></div>
45
+ <div class="iframeCentering">
46
+ <span class="posAb">Zoho Desk - React Components</span>
47
+ <iframe src="about:blank" id="ifm"></iframe>
48
+ </div>
49
+
50
+ <script src="/docs/js/babel.min.js"></script>
51
+ <script type="text/babel">
52
+ window.loadDOC = function (Component, mdata) {
53
+ window.RTLmode = false;
54
+ var ReactDOM = Component.ReactDOM;
55
+ window.React = Component.React;
56
+ window.ReactDOM = Component.ReactDOM;
57
+ var React = Component.React;
58
+ class Doc extends React.Component {
59
+ constructor(props) {
60
+ super(props);
61
+ let folderNameDefault = '';
62
+ let groupNameDefault = '';
63
+ (location.hash && props.componentObj) ? Object.keys(props.componentObj).map((flName) => {
64
+ let fname = props.componentObj[flName]
65
+ Object.keys(fname).map((grName) => {
66
+ if ((fname[grName].indexOf(location.hash.substring(1)) > -1)) {
67
+ folderNameDefault = flName;
68
+ groupNameDefault = grName;
69
+ }
70
+ })
71
+ }) : null
72
+ if (folderNameDefault == '' && groupNameDefault == '') {
73
+ folderNameDefault = 'Global'
74
+ groupNameDefault = 'General'
75
+ }
76
+ this.state = {
77
+ componentObj: props.componentObj,
78
+ duplicates: props.duplicates,
79
+ search: '',
80
+ selectedComponent: location.hash,
81
+ Components: Component,
82
+ //popUp: '',
83
+ fullScreenSrc: '',
84
+ viewGroup: groupNameDefault,
85
+ viewFolder: folderNameDefault,
86
+ moreInform: false,
87
+ infoTab: 'component',
88
+ changeset: null,
89
+ version: '',
90
+ frameWidth: '100%',
91
+ isMenuClose: false,
92
+ isRTL: false,
93
+ isRem: true,
94
+ isRemOpen: false,
95
+ rootSize: 16,
96
+ pixelSize: 16,
97
+ resultRem: '1rem',
98
+ responsiveMenu: false,
99
+ device: 'LAPTOP_M',
100
+ compList: 'Unused',
101
+ windowSize: { height: 0, width: 0 },
102
+ isEditMode: false
103
+
104
+ };
105
+ this.search = this.search.bind(this);
106
+ this.clear = this.clear.bind(this);
107
+ // this.toggleRemContainer = this.toggleRemContainer.bind(this);
108
+ this.hashChange = this.hashChange.bind(this);
109
+ //this.popupToggle = this.popupToggle.bind(this);
110
+ //this.popupToggleDoc = this.popupToggleDoc.bind(this);
111
+ this.removeClose = this.removeClose.bind(this);
112
+ //this.fullScreenSrcToggle = this.fullScreenSrcToggle.bind(this);
113
+ this.toggleFolder = this.toggleFolder.bind(this);
114
+ this.toggleGroup = this.toggleGroup.bind(this);
115
+ this.onTabinfo = this.onTabinfo.bind(this);
116
+ this.codeview = this.codeview.bind(this);
117
+ this.reloadFrame = this.reloadFrame.bind(this);
118
+ this.getFileDetails = this.getFileDetails.bind(this);
119
+ this.iframeSize = this.iframeSize.bind(this);
120
+ this.menuOpen = this.menuOpen.bind(this);
121
+ this.onRtlView = this.onRtlView.bind(this);
122
+ this.onREMView = this.onREMView.bind(this);
123
+ this.toggleEditMode = this.toggleEditMode.bind(this);
124
+ // this.calculatePxToRem = this.calculatePxToRem.bind(this);
125
+ // this.calculateRemToPx = this.calculateRemToPx.bind(this);
126
+ // this.onChangeRem = this.onChangeRem.bind(this);
127
+ // this.onChangePixel = this.onChangePixel.bind(this);
128
+ // this.onChangeBase = this.onChangeBase.bind(this);
129
+ this.responseMenu = this.responseMenu.bind(this);
130
+ this.getWindow = this.getWindow.bind(this);
131
+ this.fullView = this.fullView.bind(this);
132
+ this.handleURL = this.handleURL.bind(this);
133
+ this.compList = this.compList.bind(this);
134
+ this.unusedList = this.unusedList.bind(this);
135
+ this.getHookType = this.getHookType.bind(this);
136
+ }
137
+
138
+ fullView() {
139
+ this.setState({ isMenuClose: !this.state.isMenuClose })
140
+ }
141
+ toggleEditMode() {
142
+ var iframe = document.getElementById('componentIframe');
143
+ if (iframe) {
144
+ var currentMode = iframe.contentDocument.documentElement.getAttribute('contenteditable');
145
+ if (currentMode == "true") {
146
+ iframe.contentDocument.documentElement.setAttribute('contenteditable', "false");
147
+ this.setState({ isEditMode: false });
148
+ }
149
+ else {
150
+ iframe.contentDocument.documentElement.setAttribute('contenteditable', "true");
151
+ this.setState({ isEditMode: true });
152
+ }
153
+ }
154
+
155
+ }
156
+
157
+ compList(e) {
158
+ if (e == this.state.compList) {
159
+ }
160
+ else if (e !== this.state.compList) {
161
+ this.setState({ compList: e })
162
+ }
163
+ else {
164
+ this.setState({ compList: '' })
165
+ }
166
+ }
167
+
168
+ getWindow() {
169
+ var iframe = document.getElementById('componentIframe')
170
+ if (iframe) {
171
+ this.setState({ windowSize: { height: iframe.offsetHeight, width: iframe.offsetWidth } })
172
+ }
173
+ }
174
+
175
+ responseMenu() {
176
+ this.setState({ responsiveMenu: !this.state.responsiveMenu })
177
+ }
178
+
179
+ // toggleRemContainer() {
180
+ // this.setState({ isRemOpen: !this.state.isRemOpen });
181
+ // }
182
+
183
+ // calculatePxToRem() {
184
+ // let result = Number((this.state.pixelSize / this.state.rootSize).toFixed(4));
185
+ // this.setState({ resultRem: result + "rem" });
186
+ // }
187
+
188
+ // calculateRemToPx() {
189
+ // let result = Number(((Number(parseFloat(this.state.resultRem)) * this.state.rootSize).toFixed(4)));
190
+ // this.setState({ pixelSize: result });
191
+ // }
192
+
193
+ // onChangeBase(e) {
194
+ // let result = Number((this.state.pixelSize / e.target.value).toFixed(4));
195
+ // this.setState({ rootSize: e.target.value, resultRem: result + "rem" });
196
+ // }
197
+
198
+ // onChangePixel(e) {
199
+ // let result = Number((e.target.value / this.state.rootSize).toFixed(4));
200
+ // this.setState({ pixelSize: e.target.value, resultRem: result + "rem" });
201
+ // }
202
+
203
+ // onChangeRem(e) {
204
+ // let result = Number(((Number(parseFloat(e.target.value)) * this.state.rootSize).toFixed(4)));
205
+ // this.setState({ resultRem: e.target.value, pixelSize: result });
206
+ // }
207
+
208
+ toggleFolder(name, e) {
209
+ let { viewFolder } = this.state;
210
+ if (name == viewFolder) {
211
+ name = ''
212
+ }
213
+ this.setState({ viewFolder: name });
214
+ }
215
+ hashChange() {
216
+ let ele = document.getElementById('componentIframe')
217
+ if (ele) {
218
+ var src = document.getElementById('componentIframe').src;
219
+ var url = src && src.split('#')[0];
220
+ document.getElementById('componentIframe').src = url + location.hash;
221
+ }
222
+ this.setState({ selectedComponent: location.hash, infoTab: 'component' });
223
+ }
224
+ toggleGroup(name) {
225
+ let element = name;
226
+ let { viewGroup } = this.state;
227
+ if (name == viewGroup) {
228
+ name = ''
229
+ }
230
+ this.setState({ viewGroup: name });
231
+ }
232
+
233
+ componentDidMount() {
234
+ window.addEventListener('hashchange', this.hashChange);
235
+ onLoader()
236
+ let iframeEle = document.getElementById('componentIframe')
237
+ iframeEle.contentWindow.addEventListener('resize', this.getWindow)
238
+ this.getWindow()
239
+ let index = document.getElementsByClassName('iframeCentering')
240
+ index ? index[0].style.display = 'none' : null
241
+ if (!this.state.selectedComponent) {
242
+ this.setState({ infoTab: 'dashboard' })
243
+ }
244
+ //document.addEventListener('click', this.popupToggleDoc);
245
+ fetch('/cli/version').then((res) => { return res.json() }).then((response) => {
246
+ (response && response.version) ? this.setState({ version: response.version }) : this.setState({ version: "version get failure" })
247
+ }).catch(function (err) {
248
+ this.setState({ changeset: "Error accured" })
249
+ });
250
+ }
251
+
252
+ codeview() {
253
+
254
+ let compName = location.hash != '' ? location.hash.substring(1) : null;
255
+ let element = document.getElementById('codeView')
256
+ if (componentList[compName] && typeof CodeMirror !== 'undefined' && element) {
257
+ CodeMirror(element, {
258
+ value: '',
259
+ lineNumbers: false,
260
+ styleActiveLine: false,
261
+ matchBrackets: false,
262
+ theme: 'blackboard',
263
+ });
264
+ }
265
+
266
+ }
267
+
268
+ componentWillUnmount() {
269
+ let iframe = document.getElementById('componentIframe');
270
+ //document.removeEventListener('click', this.popupToggleDoc);
271
+ iframe.contentWindow.removeEventListener('resize', this.getWindow)
272
+ window.removeEventListener('hashchange', this.hashChange);
273
+ window.removeEventListener('error', this.reloadFrame);
274
+ }
275
+
276
+ search(e) {
277
+ this.setState({ search: e.target.value });
278
+ }
279
+
280
+ clear(e) {
281
+ this.setState({ search: '' });
282
+ }
283
+
284
+ // popupToggleDoc() {
285
+ // this.setState({ popUp: ''});
286
+ // }
287
+
288
+ // fullScreenSrcToggle(select) {
289
+ // this.setState({ fullScreenSrc: select });
290
+ // this.popupToggleDoc();
291
+ // }
292
+
293
+ removeClose(e) {
294
+ e.stopPropagation && e.stopPropagation();
295
+ e.nativeEvent.stopImmediatePropagation &&
296
+ e.nativeEvent.stopImmediatePropagation();
297
+ }
298
+
299
+ filter(list, str) {
300
+ list = list.sort((a, b) => {
301
+ var at = a.toLowerCase();
302
+ var bt = b.toLowerCase();
303
+ return at > bt ? 1 : at < bt ? -1 : 0;
304
+ });
305
+ // return list.filter(
306
+ // item => item.toUpperCase().indexOf(str.toUpperCase()) != -1
307
+ // );
308
+
309
+ return list.filter((item) => {
310
+ let value = item.split('__')[0]
311
+
312
+ return value.toUpperCase().indexOf(str.toUpperCase()) != -1
313
+ })
314
+ }
315
+
316
+ onTabinfo(name) {
317
+ this.setState({ infoTab: name })
318
+ }
319
+
320
+ reloadFrame() {
321
+ let iframeEle = document.getElementById('componentIframe');
322
+ //this.getWindow()
323
+ iframeEle.contentDocument.location.reload()
324
+ parent.document.getElementById("loadingText").style.display = 'block'
325
+ }
326
+
327
+ getFileDetails() {
328
+ this.onTabinfo('changeset')
329
+ let compName = location.hash != '' ? location.hash.substring(1) : null;
330
+ let compNameSub = window.componentList ? window.componentList[compName].docs.filePath : Component[compName].docs.filePath || ''
331
+ let name = compNameSub ? compNameSub.split('__')[0] : '';
332
+ let propComName = name.replace("docs", "/").split('/')[0] + name.split("docs")[1]
333
+ fetch('/author/get?componentName=' + propComName + '.js').then((res) => { return res.json() }).then((response) => {
334
+ (response && response.stdout) ? this.setState({ changeset: response.stdout }) : this.setState({ changeset: "response is empty" })
335
+ }).catch(function (err) {
336
+ this.setState({ changeset: "Error accured" })
337
+ });
338
+ }
339
+
340
+ iframeSize() {
341
+ let slider = document.getElementById('myRange')
342
+ let iframe = document.getElementById('componentIframe');
343
+ let value = slider.value;
344
+ let borderSize = 30;
345
+ let sizes = {
346
+ '1': { device: 'MOBILE_XS', frameWidth: 320 + borderSize },
347
+ '2': { device: 'MOBILE_S', frameWidth: 360 + borderSize },
348
+ '3': { device: 'MOBILE_M', frameWidth: 375.04 + borderSize },
349
+ '4': { device: 'MOBILE', frameWidth: 480 + borderSize },
350
+ '5': { device: 'TABLET_S', frameWidth: 640 + borderSize },
351
+ '6': { device: 'TABLET_M', frameWidth: 720 + borderSize },
352
+ '7': { device: 'TABLET', frameWidth: 768 + borderSize },
353
+ '8': { device: 'LAPTOP_S', frameWidth: 1024 + borderSize },
354
+ '9': { device: 'LAPTOP_M', frameWidth: 1280 + borderSize },
355
+ '10': { device: 'LAPTOP', frameWidth: 1440 + borderSize },
356
+ '11': { device: 'MONITOR_M', frameWidth: 1600 + borderSize },
357
+ '12': { device: 'MONITOR', frameWidth: 1920 + borderSize }
358
+ }
359
+ this.setState(sizes[value]);
360
+ this.getWindow()
361
+ }
362
+
363
+ menuOpen() {
364
+ this.setState({ isMenuClose: !this.state.isMenuClose })
365
+ }
366
+
367
+ onRtlView(e) {
368
+ let iframeEle = document.getElementById('componentIframe');
369
+ let ele = e.target.element || null
370
+ if (!this.state.isRTL) {
371
+ this.setState({ isRTL: true })
372
+ window.RTLmode = true;
373
+ iframeEle.contentDocument.documentElement.setAttribute('dir', 'rtl');
374
+ } else {
375
+ this.setState({ isRTL: false })
376
+ iframeEle.contentDocument.documentElement.setAttribute('dir', 'ltr');
377
+ window.RTLmode = false;
378
+ }
379
+ }
380
+
381
+ onREMView(e) {
382
+ let iframeEle = document.getElementById('componentIframe');
383
+ let ele = e.target.element || null
384
+ if (!this.state.isRem) {
385
+ this.setState({ isRem: true })
386
+ iframeEle.contentDocument.documentElement.classList.add('isRem');
387
+ } else {
388
+ this.setState({ isRem: false })
389
+ iframeEle.contentDocument.documentElement.classList.remove('isRem');
390
+ }
391
+ }
392
+
393
+
394
+ handleURL() {
395
+ this.setState({ viewFolder: 'General', viewGroup: 'Global', infoTab: 'dashboard' })
396
+ window.history.pushState("", "", '/docs/');
397
+ }
398
+
399
+ unusedList(mdata) {
400
+ let dbList = [];
401
+ Object.keys(mdata).map((item, i) => {
402
+ if (mdata[item].references.length <= 0 && mdata[item].referencedby.length <= 0) {
403
+ return dbList.push(item);
404
+ }
405
+ })
406
+ return dbList
407
+ }
408
+ getHookType(propInfo, value) {
409
+ if (propInfo[value]) {
410
+ if (propInfo[value].hookType) {
411
+ let hookType = propInfo[value].hookType;
412
+
413
+ if (hookType.includes("union")) {
414
+ hookType = hookType.replace("union", 'oneOfType ');
415
+ }
416
+
417
+ if (hookType.includes("enum")) {
418
+ hookType = hookType.replace("enum", "oneOf ");
419
+ }
420
+
421
+ return hookType;
422
+ } else {
423
+ return '';
424
+ }
425
+ } else {
426
+ return '';
427
+ }
428
+ }
429
+
430
+ render() {
431
+ const {
432
+ Components,
433
+ componentObj,
434
+ search,
435
+ selectedComponent,
436
+ //popUp,
437
+ viewGroup,
438
+ viewFolder,
439
+ moreInform,
440
+ infoTab,
441
+ changeset,
442
+ version,
443
+ frameWidth,
444
+ isMenuClose,
445
+ isRTL,
446
+ isRem,
447
+ isRemOpen,
448
+ rootSize,
449
+ pixelSize,
450
+ resultRem,
451
+ duplicates,
452
+ isEditMode
453
+ } = this.state;/* Components & componentObj no need in the state access in props itself*/
454
+ let devices = [{ device: 'MOBILE', sizes: ['XS', 'S', 'M', 'D'] }, { device: 'TABLET', sizes: ['S', 'M', 'D'] }, { device: 'LAPTOP', sizes: [, 'S', 'M', 'D'] }, { device: 'MONITOR', sizes: ['M', 'D'] }]
455
+ let compValue = 'compValue';
456
+ let reactCliVersion = version.split(' ').filter(function (el) { return el.toLowerCase().indexOf("fz-react-cli@") > -1; });
457
+ //let versionFz = reactCliVersion.length ? reactCliVersion[0].substring(reactCliVersion[0].indexOf('@') + 1, reactCliVersion[0].length) : '';
458
+ let compName = location.hash != '' ? location.hash.substring(1) : null;
459
+ let propComName = compName;
460
+
461
+ let propsObj = Window.componentList && window.componentList[propComName] && window.componentList[propComName].docs.propTypes || (Components[propComName] && Components[propComName].docs.propTypes) || {};
462
+ let currentCompProps = propsObj;
463
+ let defaultProps = Window.componentList && window.componentList[propComName] && window.componentList[propComName].docs.defaultProps || (Components[propComName] && Components[propComName].docs.defaultProps) || {};
464
+ let currentCompPropsDescription = window.componentList && window.componentList[propComName] && window.componentList[propComName].docs.propsDescription || (Components[propComName] && Components[propComName].docs.propsDescription) || {};
465
+ let currentCompDefault = Window.componentList && window.componentList[propComName] && window.componentList[propComName].docs.defaultProps || (Components[propComName] && Components[propComName].docs.defaultProps) || {};
466
+ let componentsObj = componentObj && this.filter(Object.keys(componentObj), '').map((item, i) => {
467
+ return ({ key: item, value: componentObj[item], length: Object.keys(componentObj[item]).length })
468
+ })
469
+ let compObjList = componentsObj
470
+
471
+ let dashboardList = [
472
+ this.unusedList(mdata) && { name: 'Unused', componentList: this.unusedList(mdata) },
473
+ duplicates && { name: 'Duplicates', componentList: duplicates }
474
+ ]
475
+ let defaultPropsArray = []
476
+ let currentDefaultPropsArray = []
477
+ defaultProps.length && defaultProps.forEach((value) => {
478
+ currentDefaultPropsArray.push(value)
479
+ })
480
+ let _propTypesToDefaultPropsArray = []
481
+ let propsDesArray = []
482
+ let _propTypesToPropsDesArray = []
483
+ return (
484
+ <main className="dflex flexrow">
485
+ <div className="showToggleLeft" onClick={this.menuOpen}>
486
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGOSURBVGhD7ZrBKkVBHIdPSNKV5A3YKSvvYG/BE0jI3tbGxsYGdTeeQnY8gcLOTigba1KE73ewOGUxc8/8/2fUfPXVndOd23ydM92ae6sIeniIT/iZgW94hYsYxTH+9YFd+4pzGMQIvqAmzepCBgzhESpmRxdCmERNuKtH+bCBWpeCgighxpSQEmJECSkhRpSQkJBRvMFTHNcFQ0xDxvAW9f5ztIwxf7Rm8B6tY1z2iEeM22a3jnELEZYxriHCKsY9RFjERIfo4OECT+rR4KSOiQ5JScqYRsgULji7jM/YNqYR8vAz6NIz1KlILI2QfdTz762Ol7SID1zFQeh0j4gtVECbCBEdMox6tufrUTtSRYjokBTfIyJlhOgkJHWEcA+xiBCuIVYRwi3EMkK4hFhHCPMQjwhhGjKN72gdIczvyDYufb80xW2zW1NCSogRJaSEGFFC/n3IBGrCYz3Kh03Uug7qUSC/x0Z7uJaB63iNWpPuTDArqP9IaWJOXqJ+JYtCJym72M9A7QvdFSKq6gtlqbpowcg25wAAAABJRU5ErkJggg==" />
487
+ </div>
488
+
489
+ <div className={"menuBar " + (isMenuClose ? "isMenuClose" : "isMenuOpen")}>
490
+ <div className="dflex flexcolumn">
491
+ <div className="flexshrink logoPart dflex">
492
+ <img src="./css/desklogo.png" />
493
+ <div className={'home'} onClick={this.handleURL}>
494
+ <span className='homeIcon'>
495
+ <svg className='svg'>
496
+ <use xlinkHref='#home'></use>
497
+ </svg>
498
+ </span>
499
+ </div>
500
+ </div>
501
+ <div className="flexgrow flexbasis sliderContainer">
502
+ <div className="dflex flexcolumn">
503
+ <div className="flexshrink searchPart">
504
+ <Search onChange={this.search} value={search} onClear={this.clear} />
505
+ </div>
506
+ <menu className="flexgrow flexbasis scrollY menuContainer" id="leftPanel">
507
+ {
508
+ compObjList && Object.keys(compObjList).length && compObjList.map(comp => {
509
+ let folderName = comp.key
510
+ let folderCompCount = 0;
511
+ let sortList = this.filter(Object.keys(componentObj[folderName]), '').map(grpName => {
512
+ return ({
513
+ fName: grpName,
514
+ components: componentObj[folderName][grpName],
515
+ length: (componentObj[folderName][grpName].filter(function (el) { return el.toLowerCase().indexOf('__') > -1 }).length)
516
+ })
517
+ })
518
+
519
+ let outcomp = Object.keys(componentObj[folderName]).sort().map(
520
+ grn => {
521
+ let searchList = this.filter(
522
+ componentObj[folderName][grn],
523
+ search
524
+ );
525
+ if (searchList.length) {
526
+ folderCompCount = folderCompCount + 1;
527
+ }
528
+ return searchList.length ? true : false;
529
+ }
530
+ );
531
+ if (outcomp.indexOf(true) != -1) {
532
+ return (
533
+ <div>
534
+ <div
535
+ onClick={this.toggleFolder.bind(
536
+ this,
537
+ folderName
538
+ )}
539
+ className={'mainMenu dflex flexrow alignVertical offSelection' + ' ' +
540
+ (viewFolder == folderName
541
+ ? 'mainMenuActive'
542
+ : '')
543
+ }
544
+ >
545
+ <span className={'flexgrow mainMenutitle dotted'}>{folderName}</span>
546
+ <span className={'flexshrink mainMenuCount'}>{folderCompCount}</span>
547
+ <i className={'flexshrink mainMenuArrow'}>
548
+ <svg className='svg'>
549
+ <use xlinkHref='#bottomArrow'></use>
550
+ </svg>
551
+ </i>
552
+ </div>
553
+ <div
554
+ className={
555
+ viewFolder == folderName || search
556
+ ? 'folderOpen'
557
+ : 'hide'
558
+ }
559
+ >
560
+ {
561
+ sortList.map((grpName) => {
562
+ return (
563
+ <ComponentList
564
+ type={grpName.fName}
565
+ components={this.filter(
566
+ componentObj[folderName][grpName.fName],
567
+ search
568
+ )}
569
+ selectedComponent={selectedComponent}
570
+ toggleGroup={this.toggleGroup}
571
+ viewGroup={
572
+ search ? grpName.fName : viewGroup
573
+ }
574
+ />)
575
+ })
576
+ }
577
+ </div>
578
+ </div>
579
+ );
580
+ } else {
581
+ return null;
582
+ }
583
+ })
584
+ }
585
+ </menu>
586
+ {
587
+ // versionFz != '' &&
588
+ // <div className="flexshrink versionPart ">
589
+ // <span>Version {versionFz}</span>
590
+ // </div>
591
+ }
592
+ {/*<div className="flexshrink tools" onClick={this.toggleRemContainer}>
593
+ <img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDE3NC4yNDggMTc0LjI0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTc0LjI0OCAxNzQuMjQ4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnPgoJPHBhdGggZD0iTTE3My4xNDUsNzMuOTFjLTAuNDEzLTIuNzIyLTIuMjktNC45OTMtNC44ODEtNS45MTJsLTEzLjcyNy00Ljg4MWMtMC44MTItMi4zLTEuNzMzLTQuNTM2LTIuNzU0LTYuNjk5bDYuMjQ3LTEzLjE0NiAgIGMxLjE3OS0yLjQ3OSwwLjg5OS01LjQxMS0wLjcyOS03LjYyOGMtNS4yNjUtNy4xNjEtMTEuNTU2LTEzLjQ1Mi0xOC42OTgtMTguNjkzYy0yLjIxOS0xLjYyOS01LjE0MS0xLjkwNi03LjYyNS0wLjcyNCAgIGwtMTMuMTM4LDYuMjQyYy0yLjE2My0xLjAyMS00LjQwMi0xLjk0LTYuNzA0LTIuNzUybC00Ljg4My0xMy43MjljLTAuOTE5LTIuNTg2LTMuMTg0LTQuNDU4LTUuOS00Ljg3NiAgIGMtOS42NS0xLjQ4My0xNi43OTItMS40ODMtMjYuNDU3LDBjLTIuNzEzLDAuNDE4LTQuOTgxLDIuMjktNS45LDQuODc2bC00Ljg4MywxMy43MjljLTIuMzAyLDAuODEyLTQuNTQxLDEuNzMxLTYuNzAyLDIuNzUyICAgbC0xMy4xNDMtNi4yNDJjLTIuNDc5LTEuMTgxLTUuNDA2LTAuOTA0LTcuNjIzLDAuNzI0Yy03LjE0Miw1LjI0MS0xMy40MzMsMTEuNTMyLTE4LjY5OCwxOC42OTMgICBjLTEuNjI5LDIuMjE3LTEuOTA4LDUuMTQ4LTAuNzI5LDcuNjI4bDYuMjQ3LDEzLjE0NmMtMS4wMjEsMi4xNTktMS45NCw0LjQtMi43NTQsNi42OTlMNS45ODIsNjguMDAzICAgYy0yLjU4OSwwLjkxOS00LjQ2MywzLjE4OS00Ljg3OSw1LjkwN2MtMC43NDksNC45Mi0xLjA5OSw5LjExNS0xLjA5OSwxMy4yMTljMCw0LjA5OCwwLjM1LDguMjk5LDEuMDk5LDEzLjIxOSAgIGMwLjQxMywyLjcyMiwyLjI5LDQuOTkzLDQuODgxLDUuOTEybDEzLjcyNyw0Ljg4MWMwLjgxNCwyLjMwNCwxLjczNiw0LjU0MSwyLjc1NCw2LjcwNGwtNi4yNDcsMTMuMTQxICAgYy0xLjE3OSwyLjQ3OS0wLjg5OSw1LjQxMSwwLjcyNyw3LjYyM2M1LjI1OCw3LjE1NiwxMS41NDksMTMuNDQ3LDE4LjcsMTguNjk4YzIuMjE3LDEuNjI5LDUuMTQ0LDEuOTExLDcuNjI1LDAuNzI0bDEzLjEzOC02LjI0MiAgIGMyLjE2MywxLjAyMSw0LjQwMiwxLjk0LDYuNzA0LDIuNzUybDQuODgzLDEzLjcyOWMwLjkxOSwyLjU4NiwzLjE4NCw0LjQ1OCw1LjksNC44NzZjNC44MjgsMC43NDQsOS4xNTQsMS4xMDQsMTMuMjI4LDEuMTA0ICAgYzQuMDc0LDAsOC40MDEtMC4zNiwxMy4yMjgtMS4xMDRjMi43MTUtMC40MTgsNC45ODEtMi4yOSw1LjktNC44NzZsNC44ODMtMTMuNzI5YzIuMzAyLTAuODEyLDQuNTQxLTEuNzMxLDYuNzA0LTIuNzUyICAgbDEzLjEzOCw2LjI0MmMyLjQ4NCwxLjE4Niw1LjQxMSwwLjkwNCw3LjYyOC0wLjcyNGM3LjE1OS01LjI2LDEzLjQ1LTExLjU1MSwxOC42OTgtMTguNjk4YzEuNjI2LTIuMjEyLDEuOTA2LTUuMTQ0LDAuNzI3LTcuNjIzICAgbC02LjI0Ny0xMy4xNDFjMS4wMjEtMi4xNjMsMS45NDItNC40MDUsMi43NTQtNi43MDRsMTMuNzI3LTQuODgxYzIuNTkxLTAuOTE5LDQuNDY4LTMuMTg5LDQuODgxLTUuOTEyICAgYzAuNzQ5LTQuOTIsMS4wOTktOS4xMiwxLjA5OS0xMy4yMTlTMTczLjg5NCw3OC44MjksMTczLjE0NSw3My45MXogTTE1OC45NDksOTMuNzJsLTEyLjg3OCw0LjU4ICAgYy0yLjI1MSwwLjc5Ny0zLjk4MiwyLjYyNS00LjY2LDQuOTJjLTEuMTUsMy44ODktMi42NjQsNy41NjktNC41MDQsMTAuOTQzYy0xLjE0MiwyLjEtMS4yMTMsNC42MTktMC4xODcsNi43NzdsNS44NDEsMTIuMjg1ICAgYy0yLjgyMiwzLjM4OS01Ljk0Myw2LjUxNS05LjMzNyw5LjMzNGwtMTIuMjgzLTUuODM0Yy0yLjE2MS0xLjAzNi00LjY3Mi0wLjk1My02Ljc3NSwwLjE4NWMtMy4zNzksMS44MzgtNy4wNjEsMy4zNS0xMC45NTMsNC41MDIgICBjLTIuMjksMC42NzYtNC4xMTgsMi40MDYtNC45MTcsNC42NTdsLTQuNTgyLDEyLjg4M2MtNC42NzcsMC40NzYtOC41MDMsMC40NzYtMTMuMTgsMGwtNC41ODItMTIuODgzICAgYy0wLjgtMi4yNDYtMi42MjgtMy45ODItNC45MTctNC42NTdjLTMuODk0LTEuMTUyLTcuNTc5LTIuNjY0LTEwLjk1My00LjUwMmMtMi4xMDMtMS4xNDctNC42MTktMS4yMi02Ljc3NS0wLjE4NWwtMTIuMjgzLDUuODM5ICAgYy0zLjM5MS0yLjgyNS02LjUxMi01Ljk0Ni05LjMzNy05LjMzOWw1Ljg0MS0xMi4yODVjMS4wMjYtMi4xNTksMC45NTUtNC42NzctMC4xODctNi43NzdjLTEuODM1LTMuMzY0LTMuMzUtNy4wNDktNC41MDQtMTAuOTQ4ICAgYy0wLjY3OC0yLjI5LTIuNDExLTQuMTE4LTQuNjYtNC45MTVsLTEyLjg3OC00LjU4Yy0wLjI0My0yLjM0My0wLjM2LTQuNTAyLTAuMzYtNi41OTJzMC4xMTctNC4yNDQsMC4zNi02LjU4N2wxMi44ODEtNC41ODQgICBjMi4yNDgtMC43OTcsMy45NzktMi42MjUsNC42NTctNC45MTVjMS4xNTItMy44ODksMi42NjctNy41NzQsNC41MDQtMTAuOTUzYzEuMTQyLTIuMDk1LDEuMjEzLTQuNjE5LDAuMTg3LTYuNzcybC01Ljg0MS0xMi4yODUgICBjMi44MjctMy4zOTMsNS45NDgtNi41MTksOS4zMzctOS4zMzlsMTIuMjg4LDUuODM5YzIuMTUxLDEuMDM2LDQuNjc3LDAuOTUzLDYuNzc1LTAuMTg1YzMuMzcyLTEuODM4LDcuMDU0LTMuMzUsMTAuOTQ4LTQuNTAyICAgYzIuMjktMC42NzYsNC4xMTgtMi40MTEsNC45MTctNC42NTdsNC41ODItMTIuODgzYzQuNjMzLTAuNDgxLDguNDY2LTAuNDgxLDEzLjE4LDBsNC41ODIsMTIuODgzICAgYzAuOCwyLjI0NiwyLjYyOCwzLjk4Miw0LjkxNyw0LjY1N2MzLjg5NCwxLjE1Miw3LjU3OSwyLjY2NCwxMC45NTMsNC41MDJjMi4xMDMsMS4xNDcsNC42MTQsMS4yMiw2Ljc3NSwwLjE4NWwxMi4yODMtNS44MzkgICBjMy4zODksMi44Miw2LjUxLDUuOTQ2LDkuMzM3LDkuMzM5bC01Ljg0MSwxMi4yODVjLTEuMDI2LDIuMTU0LTAuOTU1LDQuNjc3LDAuMTg3LDYuNzcyYzEuODQzLDMuMzg5LDMuMzU3LDcuMDY5LDQuNTA0LDEwLjk0OCAgIGMwLjY3OCwyLjI5NSwyLjQwOSw0LjEyMyw0LjY2LDQuOTJsMTIuODc4LDQuNThjMC4yNDMsMi4zNDMsMC4zNiw0LjUwMiwwLjM2LDYuNTkyUzE1OS4xOTIsOTEuMzc3LDE1OC45NDksOTMuNzJ6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8cGF0aCBkPSJNODcuMTI0LDUwLjgwMmMtMTkuMDYyLDAtMzQuNTcxLDE1LjUwOC0zNC41NzEsMzQuNTcxczE1LjUwOCwzNC41NzEsMzQuNTcxLDM0LjU3MXMzNC41NzEtMTUuNTA4LDM0LjU3MS0zNC41NzEgICBTMTA2LjE4Niw1MC44MDIsODcuMTI0LDUwLjgwMnogTTg3LjEyNCwxMDUuMDA5Yy0xMC44MjcsMC0xOS42MzYtOC44MDktMTkuNjM2LTE5LjYzNnM4LjgwOS0xOS42MzYsMTkuNjM2LTE5LjYzNiAgIHMxOS42MzYsOC44MDksMTkuNjM2LDE5LjYzNlM5Ny45NTEsMTA1LjAwOSw4Ny4xMjQsMTA1LjAwOXoiIGZpbGw9IiNGRkZGRkYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K" />
594
+ <span>REM Converter</span>
595
+ </div>
596
+ */}
597
+ </div>
598
+ {/* <div className={"slider " + (isRemOpen ? 'sopen' : '')}>
599
+ <div className="tools sliderHeader">
600
+ <img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDE3NC4yNDggMTc0LjI0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTc0LjI0OCAxNzQuMjQ4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnPgoJPHBhdGggZD0iTTE3My4xNDUsNzMuOTFjLTAuNDEzLTIuNzIyLTIuMjktNC45OTMtNC44ODEtNS45MTJsLTEzLjcyNy00Ljg4MWMtMC44MTItMi4zLTEuNzMzLTQuNTM2LTIuNzU0LTYuNjk5bDYuMjQ3LTEzLjE0NiAgIGMxLjE3OS0yLjQ3OSwwLjg5OS01LjQxMS0wLjcyOS03LjYyOGMtNS4yNjUtNy4xNjEtMTEuNTU2LTEzLjQ1Mi0xOC42OTgtMTguNjkzYy0yLjIxOS0xLjYyOS01LjE0MS0xLjkwNi03LjYyNS0wLjcyNCAgIGwtMTMuMTM4LDYuMjQyYy0yLjE2My0xLjAyMS00LjQwMi0xLjk0LTYuNzA0LTIuNzUybC00Ljg4My0xMy43MjljLTAuOTE5LTIuNTg2LTMuMTg0LTQuNDU4LTUuOS00Ljg3NiAgIGMtOS42NS0xLjQ4My0xNi43OTItMS40ODMtMjYuNDU3LDBjLTIuNzEzLDAuNDE4LTQuOTgxLDIuMjktNS45LDQuODc2bC00Ljg4MywxMy43MjljLTIuMzAyLDAuODEyLTQuNTQxLDEuNzMxLTYuNzAyLDIuNzUyICAgbC0xMy4xNDMtNi4yNDJjLTIuNDc5LTEuMTgxLTUuNDA2LTAuOTA0LTcuNjIzLDAuNzI0Yy03LjE0Miw1LjI0MS0xMy40MzMsMTEuNTMyLTE4LjY5OCwxOC42OTMgICBjLTEuNjI5LDIuMjE3LTEuOTA4LDUuMTQ4LTAuNzI5LDcuNjI4bDYuMjQ3LDEzLjE0NmMtMS4wMjEsMi4xNTktMS45NCw0LjQtMi43NTQsNi42OTlMNS45ODIsNjguMDAzICAgYy0yLjU4OSwwLjkxOS00LjQ2MywzLjE4OS00Ljg3OSw1LjkwN2MtMC43NDksNC45Mi0xLjA5OSw5LjExNS0xLjA5OSwxMy4yMTljMCw0LjA5OCwwLjM1LDguMjk5LDEuMDk5LDEzLjIxOSAgIGMwLjQxMywyLjcyMiwyLjI5LDQuOTkzLDQuODgxLDUuOTEybDEzLjcyNyw0Ljg4MWMwLjgxNCwyLjMwNCwxLjczNiw0LjU0MSwyLjc1NCw2LjcwNGwtNi4yNDcsMTMuMTQxICAgYy0xLjE3OSwyLjQ3OS0wLjg5OSw1LjQxMSwwLjcyNyw3LjYyM2M1LjI1OCw3LjE1NiwxMS41NDksMTMuNDQ3LDE4LjcsMTguNjk4YzIuMjE3LDEuNjI5LDUuMTQ0LDEuOTExLDcuNjI1LDAuNzI0bDEzLjEzOC02LjI0MiAgIGMyLjE2MywxLjAyMSw0LjQwMiwxLjk0LDYuNzA0LDIuNzUybDQuODgzLDEzLjcyOWMwLjkxOSwyLjU4NiwzLjE4NCw0LjQ1OCw1LjksNC44NzZjNC44MjgsMC43NDQsOS4xNTQsMS4xMDQsMTMuMjI4LDEuMTA0ICAgYzQuMDc0LDAsOC40MDEtMC4zNiwxMy4yMjgtMS4xMDRjMi43MTUtMC40MTgsNC45ODEtMi4yOSw1LjktNC44NzZsNC44ODMtMTMuNzI5YzIuMzAyLTAuODEyLDQuNTQxLTEuNzMxLDYuNzA0LTIuNzUyICAgbDEzLjEzOCw2LjI0MmMyLjQ4NCwxLjE4Niw1LjQxMSwwLjkwNCw3LjYyOC0wLjcyNGM3LjE1OS01LjI2LDEzLjQ1LTExLjU1MSwxOC42OTgtMTguNjk4YzEuNjI2LTIuMjEyLDEuOTA2LTUuMTQ0LDAuNzI3LTcuNjIzICAgbC02LjI0Ny0xMy4xNDFjMS4wMjEtMi4xNjMsMS45NDItNC40MDUsMi43NTQtNi43MDRsMTMuNzI3LTQuODgxYzIuNTkxLTAuOTE5LDQuNDY4LTMuMTg5LDQuODgxLTUuOTEyICAgYzAuNzQ5LTQuOTIsMS4wOTktOS4xMiwxLjA5OS0xMy4yMTlTMTczLjg5NCw3OC44MjksMTczLjE0NSw3My45MXogTTE1OC45NDksOTMuNzJsLTEyLjg3OCw0LjU4ICAgYy0yLjI1MSwwLjc5Ny0zLjk4MiwyLjYyNS00LjY2LDQuOTJjLTEuMTUsMy44ODktMi42NjQsNy41NjktNC41MDQsMTAuOTQzYy0xLjE0MiwyLjEtMS4yMTMsNC42MTktMC4xODcsNi43NzdsNS44NDEsMTIuMjg1ICAgYy0yLjgyMiwzLjM4OS01Ljk0Myw2LjUxNS05LjMzNyw5LjMzNGwtMTIuMjgzLTUuODM0Yy0yLjE2MS0xLjAzNi00LjY3Mi0wLjk1My02Ljc3NSwwLjE4NWMtMy4zNzksMS44MzgtNy4wNjEsMy4zNS0xMC45NTMsNC41MDIgICBjLTIuMjksMC42NzYtNC4xMTgsMi40MDYtNC45MTcsNC42NTdsLTQuNTgyLDEyLjg4M2MtNC42NzcsMC40NzYtOC41MDMsMC40NzYtMTMuMTgsMGwtNC41ODItMTIuODgzICAgYy0wLjgtMi4yNDYtMi42MjgtMy45ODItNC45MTctNC42NTdjLTMuODk0LTEuMTUyLTcuNTc5LTIuNjY0LTEwLjk1My00LjUwMmMtMi4xMDMtMS4xNDctNC42MTktMS4yMi02Ljc3NS0wLjE4NWwtMTIuMjgzLDUuODM5ICAgYy0zLjM5MS0yLjgyNS02LjUxMi01Ljk0Ni05LjMzNy05LjMzOWw1Ljg0MS0xMi4yODVjMS4wMjYtMi4xNTksMC45NTUtNC42NzctMC4xODctNi43NzdjLTEuODM1LTMuMzY0LTMuMzUtNy4wNDktNC41MDQtMTAuOTQ4ICAgYy0wLjY3OC0yLjI5LTIuNDExLTQuMTE4LTQuNjYtNC45MTVsLTEyLjg3OC00LjU4Yy0wLjI0My0yLjM0My0wLjM2LTQuNTAyLTAuMzYtNi41OTJzMC4xMTctNC4yNDQsMC4zNi02LjU4N2wxMi44ODEtNC41ODQgICBjMi4yNDgtMC43OTcsMy45NzktMi42MjUsNC42NTctNC45MTVjMS4xNTItMy44ODksMi42NjctNy41NzQsNC41MDQtMTAuOTUzYzEuMTQyLTIuMDk1LDEuMjEzLTQuNjE5LDAuMTg3LTYuNzcybC01Ljg0MS0xMi4yODUgICBjMi44MjctMy4zOTMsNS45NDgtNi41MTksOS4zMzctOS4zMzlsMTIuMjg4LDUuODM5YzIuMTUxLDEuMDM2LDQuNjc3LDAuOTUzLDYuNzc1LTAuMTg1YzMuMzcyLTEuODM4LDcuMDU0LTMuMzUsMTAuOTQ4LTQuNTAyICAgYzIuMjktMC42NzYsNC4xMTgtMi40MTEsNC45MTctNC42NTdsNC41ODItMTIuODgzYzQuNjMzLTAuNDgxLDguNDY2LTAuNDgxLDEzLjE4LDBsNC41ODIsMTIuODgzICAgYzAuOCwyLjI0NiwyLjYyOCwzLjk4Miw0LjkxNyw0LjY1N2MzLjg5NCwxLjE1Miw3LjU3OSwyLjY2NCwxMC45NTMsNC41MDJjMi4xMDMsMS4xNDcsNC42MTQsMS4yMiw2Ljc3NSwwLjE4NWwxMi4yODMtNS44MzkgICBjMy4zODksMi44Miw2LjUxLDUuOTQ2LDkuMzM3LDkuMzM5bC01Ljg0MSwxMi4yODVjLTEuMDI2LDIuMTU0LTAuOTU1LDQuNjc3LDAuMTg3LDYuNzcyYzEuODQzLDMuMzg5LDMuMzU3LDcuMDY5LDQuNTA0LDEwLjk0OCAgIGMwLjY3OCwyLjI5NSwyLjQwOSw0LjEyMyw0LjY2LDQuOTJsMTIuODc4LDQuNThjMC4yNDMsMi4zNDMsMC4zNiw0LjUwMiwwLjM2LDYuNTkyUzE1OS4xOTIsOTEuMzc3LDE1OC45NDksOTMuNzJ6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8cGF0aCBkPSJNODcuMTI0LDUwLjgwMmMtMTkuMDYyLDAtMzQuNTcxLDE1LjUwOC0zNC41NzEsMzQuNTcxczE1LjUwOCwzNC41NzEsMzQuNTcxLDM0LjU3MXMzNC41NzEtMTUuNTA4LDM0LjU3MS0zNC41NzEgICBTMTA2LjE4Niw1MC44MDIsODcuMTI0LDUwLjgwMnogTTg3LjEyNCwxMDUuMDA5Yy0xMC44MjcsMC0xOS42MzYtOC44MDktMTkuNjM2LTE5LjYzNnM4LjgwOS0xOS42MzYsMTkuNjM2LTE5LjYzNiAgIHMxOS42MzYsOC44MDksMTkuNjM2LDE5LjYzNlM5Ny45NTEsMTA1LjAwOSw4Ny4xMjQsMTA1LjAwOXoiIGZpbGw9IiNGRkZGRkYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K" />
601
+ <span className="sliderTitle">REM Converter</span>
602
+ <span className="searchClose" onClick={this.toggleRemContainer}>
603
+ <img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIxMi45ODIgMjEyLjk4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjEyLjk4MiAyMTIuOTgyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnIGlkPSJDbG9zZSI+Cgk8cGF0aCBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7IiBkPSJNMTMxLjgwNCwxMDYuNDkxbDc1LjkzNi03NS45MzZjNi45OS02Ljk5LDYuOTktMTguMzIzLDAtMjUuMzEyICAgYy02Ljk5LTYuOTktMTguMzIyLTYuOTktMjUuMzEyLDBsLTc1LjkzNyw3NS45MzdMMzAuNTU0LDUuMjQyYy02Ljk5LTYuOTktMTguMzIyLTYuOTktMjUuMzEyLDBjLTYuOTg5LDYuOTktNi45ODksMTguMzIzLDAsMjUuMzEyICAgbDc1LjkzNyw3NS45MzZMNS4yNDIsMTgyLjQyN2MtNi45ODksNi45OS02Ljk4OSwxOC4zMjMsMCwyNS4zMTJjNi45OSw2Ljk5LDE4LjMyMiw2Ljk5LDI1LjMxMiwwbDc1LjkzNy03NS45MzdsNzUuOTM3LDc1LjkzNyAgIGM2Ljk4OSw2Ljk5LDE4LjMyMiw2Ljk5LDI1LjMxMiwwYzYuOTktNi45OSw2Ljk5LTE4LjMyMiwwLTI1LjMxMkwxMzEuODA0LDEwNi40OTF6IiBmaWxsPSIjRkZGRkZGIi8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==" />
604
+ </span>
605
+ </div>
606
+ <div className="sliderFormContainer">
607
+ <div className="sliderInputContainer">
608
+ <label className="sliderInputTitle">Base font-size (in px)</label>
609
+ <input type="number" className="sliderInput" min="1" placeholder="Base font-size (in px)" value={rootSize} onChange={this.onChangeBase} />
610
+ </div>
611
+ <div className="sliderInputContainer">
612
+ <label className="sliderInputTitle">PX size to convert</label>
613
+ <input type="number" className="sliderInput" placeholder="PX size to convert" value={pixelSize} onChange={this.onChangePixel} />
614
+ </div>
615
+ <div className="sliderInputContainer">
616
+ <label className="sliderInputTitle">Result</label>
617
+ <div className="sliderResult">
618
+ <input type="text" className="sliderInput" placeholder="Result" value={resultRem} onChange={this.onChangeRem} />
619
+ <span id="remoutput" className="copyTxtHiden">{resultRem}</span>
620
+ <span className="copyResult" onClick={selectText.bind(this, 'remoutput')}>
621
+ <img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMS4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ4OC4zIDQ4OC4zIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0ODguMyA0ODguMzsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI1MTJweCIgaGVpZ2h0PSI1MTJweCI+CjxnPgoJPGc+CgkJPHBhdGggZD0iTTMxNC4yNSw4NS40aC0yMjdjLTIxLjMsMC0zOC42LDE3LjMtMzguNiwzOC42djMyNS43YzAsMjEuMywxNy4zLDM4LjYsMzguNiwzOC42aDIyN2MyMS4zLDAsMzguNi0xNy4zLDM4LjYtMzguNlYxMjQgICAgQzM1Mi43NSwxMDIuNywzMzUuNDUsODUuNCwzMTQuMjUsODUuNHogTTMyNS43NSw0NDkuNmMwLDYuNC01LjIsMTEuNi0xMS42LDExLjZoLTIyN2MtNi40LDAtMTEuNi01LjItMTEuNi0xMS42VjEyNCAgICBjMC02LjQsNS4yLTExLjYsMTEuNi0xMS42aDIyN2M2LjQsMCwxMS42LDUuMiwxMS42LDExLjZWNDQ5LjZ6IiBmaWxsPSIjRkZGRkZGIi8+CgkJPHBhdGggZD0iTTQwMS4wNSwwaC0yMjdjLTIxLjMsMC0zOC42LDE3LjMtMzguNiwzOC42YzAsNy41LDYsMTMuNSwxMy41LDEzLjVzMTMuNS02LDEzLjUtMTMuNWMwLTYuNCw1LjItMTEuNiwxMS42LTExLjZoMjI3ICAgIGM2LjQsMCwxMS42LDUuMiwxMS42LDExLjZ2MzI1LjdjMCw2LjQtNS4yLDExLjYtMTEuNiwxMS42Yy03LjUsMC0xMy41LDYtMTMuNSwxMy41czYsMTMuNSwxMy41LDEzLjVjMjEuMywwLDM4LjYtMTcuMywzOC42LTM4LjYgICAgVjM4LjZDNDM5LjY1LDE3LjMsNDIyLjM1LDAsNDAxLjA1LDB6IiBmaWxsPSIjRkZGRkZGIi8+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==" />
622
+ </span>
623
+ </div>
624
+ </div>
625
+ </div>
626
+ </div>
627
+ */}
628
+ </div>
629
+ </div>
630
+ </div>
631
+ <div className="flexgrow flexbasis">
632
+ <div id="container" className="dflex flexcolumn flexbasis">
633
+ {
634
+ infoTab == 'dashboard' ?
635
+ <div className='dflex flexcolumn'>
636
+ <div className="flexshrink cheader">
637
+ <div className="dflex flexrow flexbasis alignVertical">
638
+ <div className="flexshrink">
639
+ <h1 className="cheadertitle">{'Dashboard'}</h1>
640
+ </div>
641
+ <div className='flexgrow flexbasis infoTabs dflex'>
642
+ {
643
+ dashboardList.map((item, i) => {
644
+ return (
645
+ <span key={i} onClick={this.compList.bind(this, item.name)} className={this.state.compList == item.name ? 'dotted infoactive' : 'dotted'}>
646
+ {item.name}
647
+ </span>
648
+ )
649
+ })
650
+ }
651
+ </div>
652
+ </div>
653
+ </div>
654
+ <div className='flexgrow scrollY'>
655
+ {
656
+ dashboardList.map((item, i) => {
657
+ if (this.state.compList == item.name) {
658
+ return (
659
+ item.componentList.length > 0 ? <ul key={i}>
660
+ {
661
+ (item.componentList).map((component, val) => {
662
+ if (component !== undefined) {
663
+ return (<li key={val} className="compListItem">{component}</li>)
664
+ }
665
+ })
666
+ }
667
+ </ul> :
668
+ <div className='dflex alignHorizontal alignVertical flexcolumn'>
669
+ <span className='smileIcon'>
670
+ <svg className='svg'>
671
+ <use xlinkHref='#smileIcon'></use>
672
+ </svg>
673
+ </span>
674
+ <div>{'Sorry! there is no ' + this.state.compList + ' components'}</div>
675
+ </div>
676
+ )
677
+ }
678
+ })
679
+ }
680
+ </div>
681
+ </div>
682
+ : null
683
+ }
684
+ {
685
+ compName ?
686
+ <div className="flexshrink cheader">
687
+ <div className="dflex flexrow flexbasis alignVertical">
688
+ <div className="flexshrink"><h1 className="cheadertitle">{compName && compName.split('__')[0]}</h1></div>
689
+ <div className='flexgrow flexbasis infoTabs dflex'>
690
+ <span onClick={this.onTabinfo.bind(this, 'component')} className={infoTab == 'component' ? 'dotted infoactive' : 'dotted'}>Component view</span>
691
+ <span onClick={this.onTabinfo.bind(this, 'proptypes')} className={infoTab == 'proptypes' ? 'dotted infoactive' : 'dotted'}>PropTypes</span>
692
+ <span onClick={this.onTabinfo.bind(this, 'code')} className={infoTab == 'code' ? 'dotted infoactive' : 'dotted'}>Docs Code</span>
693
+ {
694
+ /*
695
+ <span onClick={this.onTabinfo.bind(this,'src')} className={infoTab == 'src' ? 'dotted infoactive' : 'dotted'}>Source</span>
696
+ <span onClick={this.onTabinfo.bind(this,'visual')} className={infoTab == 'visual' ? 'dotted infoactive' : 'dotted'}>Visual Design</span>
697
+ */
698
+ }
699
+ <span onClick={this.onTabinfo.bind(this, 'references')} className={infoTab == 'references' ? 'dotted infoactive' : 'dotted'}>References</span>
700
+ </div>
701
+ </div>
702
+ </div>
703
+ : null
704
+ }
705
+
706
+ <div className="flexgrow flexbasis cfooter ">
707
+ <div className="dflex flexcolumn flexbasis">
708
+ <div className="flexgrow flexbasis ccontent">
709
+ {
710
+ infoTab == 'code' ?
711
+ <CodeView compName={compName} src={window.componentList ? window.componentList[compName].docs.source : Component[compName].docs.source} />
712
+ : null
713
+ }
714
+ {
715
+ infoTab == 'src' ?
716
+ <CodeView compName={compName + 'src'} src={window.componentList ? window.componentList[propComName].source : Component[propComName].source} />
717
+ : null
718
+ }
719
+ {
720
+ infoTab == 'component' &&
721
+ <div className='dflex flexcolumn'>
722
+ <div className={'flexgrow flexshrink flexbasis toolarea'}>
723
+ <section id="resize" style={{ "width": ((frameWidth) + 'px') }} className={"dflex flexcolumn flexbasis iframeSection" + " " + (frameWidth < 481 ? 'section' : '')}>
724
+ <span className="loadingText" id='loadingText'>
725
+ <div className="lds-ripple">
726
+ <div></div>
727
+ <div></div>
728
+ </div>
729
+ </span>
730
+ <iframe
731
+ id="componentIframe"
732
+ className="iframe"
733
+ src={'/docs/component.html' + location.hash}
734
+ mdata={mdata}
735
+ />
736
+ </section>
737
+ </div>
738
+ <div className={'flexshrink toolOptions'}>
739
+ <div className={'dflex flexrow alignVertical alignHorizontal'}>
740
+
741
+ <div className={'responsive offSelection'}>
742
+ <span className={"responsiveOption iconOption"} onClick={this.reloadFrame}>
743
+ <svg className='svg'>
744
+ <use xlinkHref='#reload'></use>
745
+ </svg>
746
+ </span>
747
+ <a className={'responsiveOption iconOption'} href={'/docs/component.html' + location.hash} target="_blank" >
748
+ <svg className='svg'>
749
+ <use xlinkHref='#newTab'></use>
750
+ </svg>
751
+ </a>
752
+ <span className={'responsiveOption iconOption' + ' ' + (this.state.isRTL ? 'activeOption transform' : '')} onClick={this.onRtlView}>
753
+ <svg className='svg'>
754
+ <use xlinkHref='#RTL'></use>
755
+ </svg>
756
+ </span>
757
+ <span className={'responsiveOption iconOption textSize' + ' ' + (this.state.isRem ? 'activeOption' : '')} onClick={this.onREMView} >
758
+ <svg className='svg'>
759
+ <use xlinkHref='#rem'></use>
760
+ </svg>
761
+ </span>
762
+ <span className={'responsiveOption iconOption textSize' + ' ' + (this.state.isEditMode ? 'activeOption' : '')} onClick={this.toggleEditMode} >
763
+ <svg className='svg'>
764
+ <use xlinkHref='#pencil'></use>
765
+ </svg>
766
+ </span>
767
+ <span className={'responsiveOption iconOption fullScreen' + ' ' + (this.state.isMenuClose ? 'activeOption' : '')} onClick={this.fullView} >
768
+ <svg className='svg'>
769
+ <use xlinkHref='#fullScreen'></use>
770
+ </svg>
771
+ </span>
772
+ </div>
773
+ <div className={'dflex alignVertical alignHorizontal range'}>
774
+ <input min='1' max='12' type='range' defaultValue='9' step='1' id="myRange" onChange={this.iframeSize} className='rangeInput' />
775
+ <span className='tooltip'>{this.state.device}</span>
776
+ {
777
+ this.state.windowSize ?
778
+ <React.Fragment>
779
+ <span className='window'>{this.state.windowSize.width}</span>
780
+ <span className='tooltipVal'>x</span>
781
+ <span className='window'>{this.state.windowSize.height}</span>
782
+ </React.Fragment> : null
783
+ }
784
+ </div>
785
+ </div>
786
+ </div>
787
+ </div>
788
+ }
789
+ {
790
+ infoTab === 'proptypes' ? (
791
+ propsObj.length ?
792
+ (
793
+ currentCompProps.map((result, i) => {
794
+ const currentDefaultProps = defaultProps[i] || { "undefined": '' };
795
+ const _defaultProps = Object.keys(currentDefaultProps)[0].split('_')[0];
796
+ defaultPropsArray.push(_defaultProps);
797
+ const compName = Object.keys(result)[0];
798
+ const _propTypes = Object.keys(result)[0].split('_')[0];
799
+ const _propTypesToDefaultProps = _propTypes + '_defaultProps';
800
+ const propInfo = result[compName];
801
+ _propTypesToDefaultPropsArray.push(defaultPropsArray.includes(_propTypes) ? _propTypesToDefaultProps : "undefined");
802
+
803
+ const currentPropDes = currentCompPropsDescription[i] || { "undefined": '' };
804
+ const _propDes = Object.keys(currentPropDes)[0].split('_')[0];
805
+ propsDesArray.push(_propDes);
806
+ const _propTypesToPropsDes = _propTypes + '_propsDescription';
807
+ _propTypesToPropsDesArray.push(propsDesArray.includes(_propTypes) ? _propTypesToPropsDes : "undefined");
808
+
809
+ return (
810
+ <div className='propsTableContainer'>
811
+ <div className="compName">{compName.split('_')[0]}</div>
812
+ <div className="propsTable" key={compName}>
813
+ <div className="tableHeader">
814
+ <span className="brR">PropsName</span>
815
+ <span className="brR">Type</span>
816
+ <span className="brR">isRequired</span>
817
+ <span className="brR">Default Props</span>
818
+ {
819
+ currentCompPropsDescription ? <span className="brR">Props Description</span> : null
820
+ }
821
+ </div>
822
+ {Object.keys(propInfo).sort().map((value, j) => (
823
+ <div
824
+ className={'tableHeader'}
825
+ key={`${i}-${j}`}
826
+ >
827
+ <span>
828
+ <div >{value}</div>
829
+ </span>
830
+ <span>
831
+ {(() => {
832
+ const hookInfo = propInfo[value];
833
+ const hookType = hookInfo && hookInfo.hookType;
834
+
835
+ if (!hookType) return null;
836
+
837
+ let typeTagClass = 'typeTag';
838
+
839
+ if (hookType === 'string') {
840
+ typeTagClass += ' stringType';
841
+ } else if (hookType === 'bool') {
842
+ typeTagClass += ' boolType';
843
+ } else if (hookType === 'func') {
844
+ typeTagClass += ' funcType';
845
+ } else if (hookType.includes('union') || hookType.includes('enum')) {
846
+ typeTagClass += ' oneOfType';
847
+ } else if (hookType === 'object') {
848
+ typeTagClass += ' objectType';
849
+ } else if (hookType === 'element') {
850
+ typeTagClass += ' elementType';
851
+ } else if (hookType === 'array') {
852
+ typeTagClass += ' arrayType';
853
+ } else if (hookType === 'shape') {
854
+ typeTagClass += ' shapeType';
855
+ } else if (hookType === 'number') {
856
+ typeTagClass += ' numberType';
857
+ }
858
+ return <div className={typeTagClass}>{this.getHookType(propInfo, value)}</div>;
859
+ })()}
860
+ </span>
861
+ <span>
862
+ {
863
+ propInfo[value] && propInfo[value].isRequired ? (
864
+ <input type="checkbox" disabled></input>
865
+ ) : (
866
+ <input type="checkbox" onclick="return false" checked></input>
867
+ )
868
+ }
869
+ </span>
870
+ <span>
871
+ <div>
872
+ {_propTypesToDefaultPropsArray[i] !== 'undefined'
873
+ ? JSON.stringify(
874
+ currentDefaultPropsArray.find(
875
+ (element) => Object.keys(element)[0] === _propTypesToDefaultPropsArray[i]
876
+ )[_propTypesToDefaultProps][value]
877
+ ) || '-'
878
+ : ''}
879
+ </div>
880
+ </span>
881
+ {
882
+ currentCompPropsDescription ? (
883
+ <span>
884
+ <div>
885
+ {
886
+ _propTypesToPropsDesArray[i] !== 'undefined'
887
+ ? currentCompPropsDescription.find(
888
+ (element) => Object.keys(element)[0] === _propTypesToPropsDesArray[i]
889
+ )[_propTypesToPropsDes][value] || '-'
890
+ : '-'
891
+ }
892
+ </div>
893
+ </span>
894
+ ) : null
895
+ }
896
+ </div>
897
+ ))}
898
+ </div>
899
+ </div>
900
+ );
901
+ })
902
+ ) : (
903
+ <div className='propsTableContainer'>
904
+ <div className="compName">{compName.split('_')[1].split('__')[0]}</div>
905
+ <div className="propsTable">
906
+ <div className="tableHeader">
907
+ <span className="brR">PropsName</span>
908
+ <span className="brR">Type</span>
909
+ <span className="brR">isRequired</span>
910
+ <span className="brR">Default Props</span>
911
+ {
912
+ Object.keys(currentCompPropsDescription).length > 0 ? <span className="brR">Props Description</span> : null
913
+ }
914
+ </div>
915
+ {
916
+ Object.keys(currentCompProps).sort().map((result, i) => {
917
+ return (
918
+ <div
919
+ className={'tableHeader'}
920
+ key={`${i}`}
921
+ >
922
+ <span>
923
+ <div>{result}</div>
924
+ </span>
925
+ <span>
926
+ {(() => {
927
+ const hookInfo = propsObj[result];
928
+ const hookType = hookInfo && hookInfo.hookType;
929
+
930
+ if (!hookType) return null;
931
+
932
+ let typeTagClass = 'typeTag';
933
+
934
+ if (hookType === 'string') {
935
+ typeTagClass += ' stringType';
936
+ } else if (hookType === 'bool') {
937
+ typeTagClass += ' boolType';
938
+ } else if (hookType === 'func') {
939
+ typeTagClass += ' funcType';
940
+ } else if (hookType.includes('union') || hookType.includes('enum')) {
941
+ typeTagClass += ' oneOfType';
942
+ } else if (hookType === 'object') {
943
+ typeTagClass += ' objectType';
944
+ } else if (hookType === 'element') {
945
+ typeTagClass += ' elementType';
946
+ } else if (hookType === 'array') {
947
+ typeTagClass += ' arrayType';
948
+ } else if (hookType === 'shape') {
949
+ typeTagClass += ' shapeType';
950
+ } else if (hookType === 'number') {
951
+ typeTagClass += ' numberType';
952
+ }
953
+ return <div className={typeTagClass}>{this.getHookType(propsObj, result)}</div>;
954
+ })()}
955
+ </span>
956
+ <span>
957
+ {
958
+ propsObj[result] && propsObj[result].isRequired ? (
959
+ <input type="checkbox" disabled></input>
960
+ ) : (
961
+ <input type="checkbox" onclick="return false" checked></input>
962
+ )
963
+ }
964
+ </span>
965
+ <span>
966
+ <div>{JSON.stringify(defaultProps[result]) || '-'}</div>
967
+ </span>
968
+ {
969
+ Object.keys(currentCompPropsDescription).length > 0 ? (
970
+ <span>
971
+ <div>{currentCompPropsDescription[result] || '-'}</div>
972
+ </span>
973
+ ) : null
974
+ }
975
+ </div>
976
+ );
977
+ })
978
+
979
+ }
980
+ </div>
981
+ </div>
982
+ )
983
+ ) : null
984
+ }
985
+ {
986
+ infoTab == 'references' ?
987
+ <div className="referContainer">
988
+ <div className='refsBy'>ReferencedBy :</div>
989
+ <ul>
990
+ {
991
+ compName ?
992
+ compName.indexOf('__') > -1 ?
993
+ mdata[compName.substring(0, compName.indexOf('_'))] &&
994
+ mdata[compName.substring(0, compName.indexOf('_'))].referencedby.map((val, i) => {
995
+ return (
996
+ <li key={i} className='refsLin'>
997
+ <a className="link" href={'#' + val}>
998
+ {val}
999
+ </a>
1000
+ </li>
1001
+ );
1002
+ })
1003
+ : mdata[compName].referencedby.map((val, i) => {
1004
+ return (
1005
+ <li key={i} className='refsLin'>
1006
+ <a className="link" href={'#' + val}>
1007
+ {val}
1008
+ </a>
1009
+ </li>
1010
+ );
1011
+ })
1012
+ : null
1013
+ }
1014
+ </ul>
1015
+ <div className='refsBy'>References : </div>
1016
+ <ul>
1017
+ {
1018
+ compName ? compName.indexOf('__') > -1
1019
+ ? mdata[
1020
+ compName.substring(0, compName.indexOf('_'))
1021
+ ] &&
1022
+ mdata[
1023
+ compName.substring(0, compName.indexOf('_'))
1024
+ ].references.map((val, i) => {
1025
+ return (
1026
+ <li key={i} className='refsLin'>
1027
+ <a className="link" href={'#' + val}>
1028
+ {val}
1029
+ </a>
1030
+ </li>
1031
+ );
1032
+ })
1033
+ : mdata[compName].references.map((val, i) => {
1034
+ return (
1035
+ <li key={i} className='refsLin'>
1036
+ <a className="link" href={'#' + val}>
1037
+ {val}
1038
+ </a>
1039
+ </li>
1040
+ );
1041
+ })
1042
+ : null
1043
+ }
1044
+ </ul>
1045
+ </div>
1046
+ : null
1047
+ }
1048
+ {
1049
+ /*infoTab == 'visual' ?
1050
+ <div>
1051
+ {
1052
+ Component[propComName] &&
1053
+ Component[propComName].docs &&
1054
+ Component[propComName].docs.images &&
1055
+ Component[propComName].docs.images.map(image => {
1056
+ return (
1057
+ <div className="psdContainer">
1058
+ <div className="imageContainer">
1059
+ <img className="psdImage" src={image.view} />
1060
+ </div>
1061
+ <div>
1062
+ <a className="psdLink" href={image.psd} target="_blank" download>
1063
+ Download PSD
1064
+ </a>
1065
+ </div>
1066
+ <div>
1067
+ <a className="psdLink" href={image.view} target="_blank" download>
1068
+ Download Image
1069
+ </a>
1070
+ </div>
1071
+ </div>
1072
+ );
1073
+ })
1074
+ }
1075
+ </div>
1076
+ : null */
1077
+ }
1078
+ </div>
1079
+ </div>
1080
+ </div>
1081
+ </div>
1082
+ </div>
1083
+ </main>
1084
+ );
1085
+ }
1086
+ }
1087
+ class Search extends React.Component {
1088
+ render() {
1089
+ return (
1090
+ <div className="searchContainer">
1091
+ <input
1092
+ type="text"
1093
+ onChange={this.props.onChange}
1094
+ placeholder="Search"
1095
+ className="inputSearch" value={this.props.value}
1096
+ />
1097
+ {this.props.value.length >= 1 &&
1098
+ <span className="searchClose" onClick={this.props.onClear}><img src="data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTguMS4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDIxMi45ODIgMjEyLjk4MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjEyLjk4MiAyMTIuOTgyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CjxnIGlkPSJDbG9zZSI+Cgk8cGF0aCBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7IiBkPSJNMTMxLjgwNCwxMDYuNDkxbDc1LjkzNi03NS45MzZjNi45OS02Ljk5LDYuOTktMTguMzIzLDAtMjUuMzEyICAgYy02Ljk5LTYuOTktMTguMzIyLTYuOTktMjUuMzEyLDBsLTc1LjkzNyw3NS45MzdMMzAuNTU0LDUuMjQyYy02Ljk5LTYuOTktMTguMzIyLTYuOTktMjUuMzEyLDBjLTYuOTg5LDYuOTktNi45ODksMTguMzIzLDAsMjUuMzEyICAgbDc1LjkzNyw3NS45MzZMNS4yNDIsMTgyLjQyN2MtNi45ODksNi45OS02Ljk4OSwxOC4zMjMsMCwyNS4zMTJjNi45OSw2Ljk5LDE4LjMyMiw2Ljk5LDI1LjMxMiwwbDc1LjkzNy03NS45MzdsNzUuOTM3LDc1LjkzNyAgIGM2Ljk4OSw2Ljk5LDE4LjMyMiw2Ljk5LDI1LjMxMiwwYzYuOTktNi45OSw2Ljk5LTE4LjMyMiwwLTI1LjMxMkwxMzEuODA0LDEwNi40OTF6IiBmaWxsPSIjRkZGRkZGIi8+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==" /></span>}
1099
+ </div>
1100
+ );
1101
+ }
1102
+ }
1103
+
1104
+ class ComponentList extends React.Component {
1105
+ constructor(props) {
1106
+ super(props);
1107
+ this.state = {
1108
+ toggle: false
1109
+ };
1110
+ }
1111
+ componentDidMount() {
1112
+ let { type, viewGroup } = this.props;
1113
+ let element = document.getElementById(type);
1114
+ viewGroup == type && element ?
1115
+ element.scrollIntoView(true) && element.scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" })
1116
+ : null
1117
+ }
1118
+
1119
+ render() {
1120
+ const { components, type, toggleGroup, viewGroup } = this.props;
1121
+ let classNameTab = type == viewGroup ? " selected " : '';
1122
+
1123
+ return (
1124
+ <div data-title={type}>
1125
+ {
1126
+ components.length > 0 && <div className={"listItem dflex flexrow flexbasis alignVertical offSelection " + classNameTab} onClick={toggleGroup.bind(this, type)} id={type}>
1127
+ <i className={"flexshrink listIcon"}>
1128
+ <svg className='svg'>
1129
+ <use xlinkHref='#folder'></use>
1130
+ </svg>
1131
+ </i>
1132
+ <span className="dotted flexgrow flexbasis listTitle">{type}</span>
1133
+ {
1134
+ components.length > 0 && <i className={"flexshrink listCount"}>{(components.filter(function (el) { return el.toLowerCase().indexOf('__') > -1 }).length)}</i>
1135
+ }
1136
+ </div>
1137
+ }
1138
+ <div className={viewGroup == type ? 'activeComponent' : 'hide'}>
1139
+ {
1140
+ components.map((component, i) => {
1141
+ let docsComp = component.search('__');
1142
+ return (
1143
+ <div className={((docsComp == -1) ? "componentMain" : "componentDocs")} key={'component' + i} >
1144
+ <a
1145
+ href={docsComp == -1 && type != 'Global' && type != 'Page' ? 'javascript:void(0);' : '#' + component}
1146
+ className={"dflex flexrow flexbasis alignVertical offSelection " + (this.props.selectedComponent == '#' + component ? 'active' : '')} >
1147
+ <i className={"listIcon"}>
1148
+ <svg className='svg'>
1149
+ <use xlinkHref='#file'></use>
1150
+ </svg>
1151
+ </i>
1152
+ <span className="dotted flexgrow flexbasis listTitle"> {docsComp == -1 ? component : component.split('__')[1]}</span>
1153
+ {(components.filter(function (el) { return el.indexOf(component + '__') > -1 }).length) > 0 && (docsComp == -1) && <i className={"flexshrink listCount subCount"}>{(components.filter(function (el) { return el.indexOf(component + '__') > -1 }).length)}</i>}
1154
+ </a>
1155
+ </div>
1156
+ );
1157
+ })}
1158
+ </div>
1159
+ </div>
1160
+ );
1161
+ }
1162
+ }
1163
+
1164
+ class CodeView extends React.Component {
1165
+ constructor(props) {
1166
+ super(props);
1167
+
1168
+ }
1169
+ componentDidMount() {
1170
+ hljs.highlightAll();
1171
+ }
1172
+
1173
+ render() {
1174
+ let { src, compName } = this.props
1175
+ return (
1176
+ <pre className="CodeTag">
1177
+ <code class="javascript hljs language-javascript" id="code-block">
1178
+ {src}
1179
+ </code>
1180
+ </pre>
1181
+ );
1182
+ }
1183
+ }
1184
+ var user = {
1185
+ componentObj: {},
1186
+ componentList: {},
1187
+ dupCompList: [],
1188
+ objList: function (fName, gName, key, comp) {
1189
+ if (this.componentList[key]) {
1190
+ this.componentList[key] = comp;
1191
+ this.dupCompList.push(key)
1192
+ }
1193
+ else {
1194
+ this.componentList[key] = comp;
1195
+ }
1196
+ if (gName) {
1197
+ if (!this.componentObj[fName]) {
1198
+ this.componentObj[fName] = {}
1199
+ }
1200
+ if (!this.componentObj[fName][gName]) {
1201
+ this.componentObj[fName][gName] = [];
1202
+ this.componentObj[fName][gName].push(key)
1203
+ }
1204
+ else {
1205
+ this.componentObj[fName][gName].push(key)
1206
+ }
1207
+ }
1208
+ return { componentObj: this.componentObj, componentList: this.componentList }
1209
+ },
1210
+ renderDoc: function (compOBJ, dupCompList) {
1211
+ return (
1212
+ ReactDOM.render(
1213
+ <Doc
1214
+ components={Component}
1215
+ componentObj={compOBJ}
1216
+ duplicates={dupCompList}
1217
+ />,
1218
+ react
1219
+ )
1220
+ )
1221
+ }
1222
+ }
1223
+ var compGroupObj = function (comp, key, compGroup) {
1224
+ if (comp == 'React' || comp == 'ReactDOM' || comp == 'renderToStaticMarkup') {
1225
+ return;
1226
+ }
1227
+ else if (comp == '_provider') {
1228
+ return user.objList(null, null, comp, compGroup[comp])
1229
+ }
1230
+ else {
1231
+ if (compGroup[comp].docs && compGroup[comp].docs.componentGroup) {
1232
+ let groupName = compGroup[comp].docs.componentGroup;
1233
+ let folderName = compGroup[comp].docs.folderName || "General";
1234
+ if (comp == 'default') {
1235
+ return user.objList(folderName, groupName, key, compGroup[comp])
1236
+ }
1237
+ else {
1238
+ return user.objList(folderName, groupName, comp, compGroup[comp])
1239
+ }
1240
+ }
1241
+ }
1242
+ }
1243
+ Promise.all(Object.keys(Component).map((key) => {
1244
+ let componentKey = Component[key];
1245
+ if (key == 'React' || key == 'ReactDOM' || key == 'renderToStaticMarkup') {
1246
+ return;
1247
+ }
1248
+ if (key == '_provider') {
1249
+ return compGroupObj(key, null, Component)
1250
+ }
1251
+ try {
1252
+ return (
1253
+ componentKey && componentKey.then((res) => {
1254
+ let compList;
1255
+ Object.keys(res).forEach((comp) => {
1256
+ let compGroup = res[comp];
1257
+ Object.keys(compGroup).forEach((comps) => {
1258
+ compGroupObj(comps, key, compGroup)
1259
+ })
1260
+ })
1261
+ })
1262
+ )
1263
+ } catch (error) {
1264
+ compGroupObj(key, null, Component)
1265
+ }
1266
+ })).then(() => {
1267
+ window.componentList = user.componentList
1268
+ user.renderDoc(user.componentObj, user.dupCompList)
1269
+ })
1270
+ };
1271
+ var onLoader = function () {
1272
+ // Minimum resizable area
1273
+ var minWidth = 60;
1274
+ var minHeight = 40;
1275
+
1276
+ // Thresholds
1277
+ var FULLSCREEN_MARGINS = -10;
1278
+ var MARGINS = 15;
1279
+
1280
+ // End of what's configurable.
1281
+ var clicked = null;
1282
+ var onRightEdge, onBottomEdge, onLeftEdge, onTopEdge;
1283
+
1284
+ var rightScreenEdge, bottomScreenEdge;
1285
+
1286
+ var preSnapped;
1287
+
1288
+ var b, x, y;
1289
+
1290
+ var redraw = false;
1291
+
1292
+ var pane = document.getElementById('resize');
1293
+ var ghostpane = document.getElementById('ghostpane');
1294
+ function setBounds(element, x, y, w, h) {
1295
+ element.style.left = x + 'px';
1296
+ element.style.top = y + 'px';
1297
+ element.style.width = w + 'px';
1298
+ element.style.height = h + 'px';
1299
+ }
1300
+
1301
+ function hintHide() {
1302
+ //setBounds(ghostpane, b.left, b.top, b.width, b.height);
1303
+ //ghostpane.style.opacity = 0;
1304
+ // var b = ghostpane.getBoundingClientRect();
1305
+ // ghostpane.style.top = b.top + b.height / 2;
1306
+ // ghostpane.style.left = b.left + b.width / 2;
1307
+ // ghostpane.style.width = 0;
1308
+ // ghostpane.style.height = 0;
1309
+ }
1310
+
1311
+ // Mouse events
1312
+ pane && pane.addEventListener('mousedown', onMouseDown);
1313
+ pane && document.addEventListener('mousemove', onMove);
1314
+ pane && document.addEventListener('mouseup', onUp);
1315
+
1316
+ // Touch events
1317
+ pane && pane.addEventListener('touchstart', onTouchDown);
1318
+ pane && document.addEventListener('touchmove', onTouchMove);
1319
+ pane && document.addEventListener('touchend', onTouchEnd);
1320
+
1321
+ function onTouchDown(e) {
1322
+ onDown(e.touches[0]);
1323
+ e.preventDefault();
1324
+ }
1325
+
1326
+ function onTouchMove(e) {
1327
+ onMove(e.touches[0]);
1328
+ }
1329
+
1330
+ function onTouchEnd(e) {
1331
+ if (e.touches.length == 0) onUp(e.changedTouches[0]);
1332
+ }
1333
+
1334
+ function onMouseDown(e) {
1335
+ onDown(e);
1336
+ e.preventDefault();
1337
+ }
1338
+
1339
+ function onDown(e) {
1340
+ calc(e);
1341
+
1342
+ var isResizing = onRightEdge || onBottomEdge || onTopEdge || onLeftEdge;
1343
+
1344
+ clicked = {
1345
+ x: x,
1346
+ y: y,
1347
+ cx: e.clientX,
1348
+ cy: e.clientY,
1349
+ w: b.width,
1350
+ h: b.height,
1351
+ isResizing: isResizing,
1352
+ isMoving: !isResizing && canMove(),
1353
+ onTopEdge: onTopEdge,
1354
+ onLeftEdge: onLeftEdge,
1355
+ onRightEdge: onRightEdge,
1356
+ onBottomEdge: onBottomEdge
1357
+ };
1358
+ }
1359
+
1360
+ function canMove() {
1361
+ return x > 0 && x < b.width && y > 0 && y < b.height && y < 30;
1362
+ }
1363
+
1364
+ function calc(e) {
1365
+ b = pane.getBoundingClientRect();
1366
+ x = e.clientX - b.left;
1367
+ y = e.clientY - b.top;
1368
+
1369
+ onTopEdge = y < MARGINS;
1370
+ onLeftEdge = x < MARGINS;
1371
+ onRightEdge = x >= b.width - MARGINS;
1372
+ onBottomEdge = y >= b.height - MARGINS;
1373
+
1374
+ rightScreenEdge = window.innerWidth - MARGINS;
1375
+ bottomScreenEdge = window.innerHeight - MARGINS;
1376
+ }
1377
+
1378
+ var e;
1379
+
1380
+ function onMove(ee) {
1381
+ calc(ee);
1382
+
1383
+ e = ee;
1384
+
1385
+ redraw = true;
1386
+ }
1387
+
1388
+ function animate() {
1389
+ requestAnimationFrame(animate);
1390
+
1391
+ if (!redraw) return;
1392
+
1393
+ redraw = false;
1394
+
1395
+ if (clicked && clicked.isResizing) {
1396
+ if (clicked.onRightEdge) pane.style.width = Math.max(x, minWidth) + 'px';
1397
+ if (clicked.onBottomEdge)
1398
+ pane.style.height = Math.max(y, minHeight) + 'px';
1399
+
1400
+ if (clicked.onLeftEdge) {
1401
+ var currentWidth = Math.max(
1402
+ clicked.cx - e.clientX + clicked.w,
1403
+ minWidth
1404
+ );
1405
+ if (currentWidth > minWidth) {
1406
+ pane.style.width = currentWidth + 'px';
1407
+ // pane.style.left = e.clientX + 'px';
1408
+ }
1409
+ }
1410
+
1411
+ if (clicked.onTopEdge) {
1412
+ var currentHeight = Math.max(
1413
+ clicked.cy - e.clientY + clicked.h,
1414
+ minHeight
1415
+ );
1416
+ if (currentHeight > minHeight) {
1417
+ pane.style.height = currentHeight + 'px';
1418
+ pane.style.top = e.clientY + 'px';
1419
+ }
1420
+ }
1421
+
1422
+ hintHide();
1423
+
1424
+ return;
1425
+ }
1426
+
1427
+ if (clicked && clicked.isMoving) {
1428
+ if (
1429
+ b.top < FULLSCREEN_MARGINS ||
1430
+ b.left < FULLSCREEN_MARGINS ||
1431
+ b.right > window.innerWidth - FULLSCREEN_MARGINS ||
1432
+ b.bottom > window.innerHeight - FULLSCREEN_MARGINS
1433
+ ) {
1434
+ // hintFull();
1435
+ setBounds(ghostpane, 0, 0, window.innerWidth, window.innerHeight);
1436
+ ghostpane.style.opacity = 0.2;
1437
+ } else if (b.top < MARGINS) {
1438
+ // hintTop();
1439
+ setBounds(ghostpane, 0, 0, window.innerWidth, window.innerHeight / 2);
1440
+ ghostpane.style.opacity = 0.2;
1441
+ } else if (b.left < MARGINS) {
1442
+ // hintLeft();
1443
+ setBounds(ghostpane, 0, 0, window.innerWidth / 2, window.innerHeight);
1444
+ ghostpane.style.opacity = 0.2;
1445
+ } else if (b.right > rightScreenEdge) {
1446
+ // hintRight();
1447
+ setBounds(
1448
+ ghostpane,
1449
+ window.innerWidth / 2,
1450
+ 0,
1451
+ window.innerWidth / 2,
1452
+ window.innerHeight
1453
+ );
1454
+ ghostpane.style.opacity = 0.2;
1455
+ } else if (b.bottom > bottomScreenEdge) {
1456
+ // hintBottom();
1457
+ setBounds(
1458
+ ghostpane,
1459
+ 0,
1460
+ window.innerHeight / 2,
1461
+ window.innerWidth,
1462
+ window.innerWidth / 2
1463
+ );
1464
+ ghostpane.style.opacity = 0.2;
1465
+ } else {
1466
+ hintHide();
1467
+ }
1468
+
1469
+ if (preSnapped) {
1470
+ setBounds(
1471
+ pane,
1472
+ e.clientX - preSnapped.width / 2,
1473
+ e.clientY - Math.min(clicked.y, preSnapped.height),
1474
+ preSnapped.width,
1475
+ preSnapped.height
1476
+ );
1477
+ return;
1478
+ }
1479
+
1480
+ // moving
1481
+ pane.style.top = e.clientY - clicked.y + 'px';
1482
+ //pane.style.left = e.clientX - clicked.x + 'px';
1483
+
1484
+ return;
1485
+ }
1486
+
1487
+ // This code executes when mouse moves without clicking
1488
+
1489
+ // style cursor
1490
+ if ((onRightEdge && onBottomEdge) || (onLeftEdge && onTopEdge)) {
1491
+ pane.style.cursor = 'nwse-resize';
1492
+ } else if ((onRightEdge && onTopEdge) || (onBottomEdge && onLeftEdge)) {
1493
+ pane.style.cursor = 'nesw-resize';
1494
+ } else if (onRightEdge || onLeftEdge) {
1495
+ pane.style.cursor = 'ew-resize';
1496
+ } else if (onBottomEdge || onTopEdge) {
1497
+ pane.style.cursor = 'ns-resize';
1498
+ } else if (canMove()) {
1499
+ pane.style.cursor = 'move';
1500
+ } else {
1501
+ pane.style.cursor = 'default';
1502
+ }
1503
+ }
1504
+
1505
+ animate();
1506
+
1507
+ function onUp(e) {
1508
+ calc(e);
1509
+
1510
+ if (clicked && clicked.isMoving) {
1511
+ // Snap
1512
+ var snapped = {
1513
+ width: b.width,
1514
+ height: b.height
1515
+ };
1516
+
1517
+ if (
1518
+ b.top < FULLSCREEN_MARGINS ||
1519
+ b.left < FULLSCREEN_MARGINS ||
1520
+ b.right > window.innerWidth - FULLSCREEN_MARGINS ||
1521
+ b.bottom > window.innerHeight - FULLSCREEN_MARGINS
1522
+ ) {
1523
+ // hintFull();
1524
+ setBounds(pane, 0, 0, window.innerWidth, window.innerHeight);
1525
+ preSnapped = snapped;
1526
+ } else if (b.top < MARGINS) {
1527
+ // hintTop();
1528
+ setBounds(pane, 0, 0, window.innerWidth, window.innerHeight / 2);
1529
+ preSnapped = snapped;
1530
+ } else if (b.left < MARGINS) {
1531
+ // hintLeft();
1532
+ setBounds(pane, 0, 0, window.innerWidth / 2, window.innerHeight);
1533
+ preSnapped = snapped;
1534
+ } else if (b.right > rightScreenEdge) {
1535
+ // hintRight();
1536
+ setBounds(
1537
+ pane,
1538
+ window.innerWidth / 2,
1539
+ 0,
1540
+ window.innerWidth / 2,
1541
+ window.innerHeight
1542
+ );
1543
+ preSnapped = snapped;
1544
+ } else if (b.bottom > bottomScreenEdge) {
1545
+ // hintBottom();
1546
+ setBounds(
1547
+ pane,
1548
+ 0,
1549
+ window.innerHeight / 2,
1550
+ window.innerWidth,
1551
+ window.innerWidth / 2
1552
+ );
1553
+ preSnapped = snapped;
1554
+ } else {
1555
+ preSnapped = null;
1556
+ }
1557
+
1558
+ hintHide();
1559
+ }
1560
+
1561
+ clicked = null;
1562
+ }
1563
+ };
1564
+
1565
+ </script>
1566
+ <script type="text/javascript">
1567
+ var html =
1568
+ "<body><script src='/docs/js/vendor.js'><\/script><script src='/docs/js/main.js'><\/script><script src='/docs/js/moduleStats.js'><\/script> <script> if(typeof mdata==\"undefined\"){mdata={};}parent.loadDOC(Component, mdata) <\/script> <\/body>";
1569
+ var iframe = document.getElementById('ifm');
1570
+ var frameDoc = iframe.document;
1571
+ if (iframe.contentWindow) {
1572
+ frameDoc = iframe.contentWindow.document;
1573
+ frameDoc.open();
1574
+ frameDoc.writeln(html);
1575
+ frameDoc.close();
1576
+ } else {
1577
+ }
1578
+ </script>
1579
+ <div style="visibility: hidden;height: 0;width: 0;height:0">
1580
+ <svg xmlSpace="preserve" version="1.1" xmlns="http://www.w3.org/2000/svg"
1581
+ xmlnsXlink="http://www.w3.org/1999/xlink">
1582
+ <symbol id="home" x="0px" y="0px" viewBox="0 0 495.398 495.398" fill='#FFFFFF'
1583
+ enableBackground="new 0 0 495.398 495.398">
1584
+ <path
1585
+ d="M487.083,225.514l-75.08-75.08V63.704c0-15.682-12.708-28.391-28.413-28.391c-15.669,0-28.377,12.709-28.377,28.391 v29.941L299.31,37.74c-27.639-27.624-75.694-27.575-103.27,0.05L8.312,225.514c-11.082,11.104-11.082,29.071,0,40.158 c11.087,11.101,29.089,11.101,40.172,0l187.71-187.729c6.115-6.083,16.893-6.083,22.976-0.018l187.742,187.747 c5.567,5.551,12.825,8.312,20.081,8.312c7.271,0,14.541-2.764,20.091-8.312C498.17,254.586,498.17,236.619,487.083,225.514z" />
1586
+ <path
1587
+ d="M257.561,131.836c-5.454-5.451-14.285-5.451-19.723,0L72.712,296.913c-2.607,2.606-4.085,6.164-4.085,9.877v120.401 c0,28.253,22.908,51.16,51.16,51.16h81.754v-126.61h92.299v126.61h81.755c28.251,0,51.159-22.907,51.159-51.159V306.79 c0-3.713-1.465-7.271-4.085-9.877L257.561,131.836z" />
1588
+ </symbol>
1589
+ <symbol id='bottomArrow' viewBox="0 0 792 792">
1590
+ <polygon
1591
+ points="580.802,369.604 580.802,369.604 211.198,0 184.802,26.396 554.405,396 184.802,765.604 211.198,792 607.198,396" />
1592
+
1593
+ </symbol>
1594
+ <symbol id="reload" viewBox="0 0 28.265 28.265">
1595
+ <path
1596
+ d="M14.133,28.265c-7.061,0-12.805-5.75-12.805-12.809c0-7.06,5.744-12.807,12.805-12.807c0.469,0,0.943,0.027,1.414,0.08 v-2.07c0-0.266,0.164-0.508,0.406-0.611c0.252-0.098,0.531-0.043,0.723,0.148l4.537,4.547c0.258,0.258,0.258,0.67,0,0.932 l-4.535,4.557c-0.193,0.188-0.473,0.246-0.725,0.143c-0.242-0.104-0.406-0.344-0.406-0.609V7.47 c-0.469-0.086-0.941-0.125-1.414-0.125c-4.473,0-8.113,3.639-8.113,8.111c0,4.471,3.641,8.113,8.113,8.113s8.111-3.643,8.111-8.113 c0-0.363,0.295-0.66,0.662-0.66h3.369c0.365,0,0.662,0.297,0.662,0.66C26.937,22.515,21.189,28.265,14.133,28.265z" />
1597
+ </symbol>
1598
+ <symbol id='newTab' x="0px" y="0px" viewBox="0 0 26 26" enableBackground='new 0 0 26 26'>
1599
+ <path
1600
+ d="M18,17.759v3.366C18,22.159,17.159,23,16.125,23H4.875C3.841,23,3,22.159,3,21.125V9.875C3,8.841,3.841,8,4.875,8h3.429l3.001-3h-6.43C2.182,5,0,7.182,0,9.875v11.25C0,23.818,2.182,26,4.875,26h11.25C18.818,26,21,23.818,21,21.125v-6.367L18,17.759z" />
1601
+ <path
1602
+ d="M22.581,0H12.322c-1.886,0.002-1.755,0.51-0.76,1.504l3.22,3.22l-5.52,5.519c-1.145,1.144-1.144,2.998,0,4.141l2.41,2.411c1.144,1.141,2.996,1.142,4.14-0.001l5.52-5.52l3.16,3.16c1.101,1.1,1.507,1.129,1.507-0.757L26,3.419C25.999-0.018,26.024-0.001,22.581,0z" />
1603
+ </symbol>
1604
+ <symbol id='RTL' width="13" height="16" viewBox="0 0 13 16" fill="none">
1605
+ <path
1606
+ d="M12.2415 0.318399H3.92167C3.37879 0.318399 2.87197 0.404799 2.39552 0.575999C1.92097 0.747199 1.50527 0.984 1.15221 1.2848C0.799141 1.5856 0.518208 1.936 0.311304 2.3376C0.104401 2.7392 0 3.1632 0 3.616C0 4.0736 0.104401 4.5008 0.311304 4.9024C0.518208 5.3024 0.799141 5.6528 1.15221 5.9552C1.50527 6.2576 1.92097 6.4928 2.39552 6.664C2.87007 6.8352 3.37879 6.9216 3.92167 6.9216H4.89735V10.6368C4.89735 10.7504 4.9448 10.8464 5.04161 10.9264C5.13842 11.0064 5.25231 11.048 5.38518 11.048C5.52565 11.048 5.64334 11.008 5.73825 10.9264C5.83316 10.8464 5.88251 10.7488 5.88251 10.6368V1.1408H8.81902V10.6368C8.81902 10.7504 8.86648 10.8464 8.96328 10.9264C9.06009 11.0064 9.17398 11.048 9.30686 11.048C9.44163 11.048 9.55552 11.008 9.65043 10.9264C9.74534 10.8448 9.79469 10.7488 9.79469 10.6368V1.1408H12.2434C12.3781 1.1408 12.492 1.1008 12.5869 1.0192C12.6818 0.9376 12.7312 0.841599 12.7312 0.729599C12.7312 0.615999 12.6837 0.52 12.5869 0.44C12.4901 0.36 12.3762 0.318399 12.2415 0.318399ZM4.89735 6.0992H3.92167C3.51356 6.0992 3.13013 6.0336 2.77326 5.9024C2.4164 5.7712 2.1051 5.5936 1.84125 5.3696C1.5774 5.1472 1.3686 4.8848 1.21485 4.584C1.06109 4.2832 0.985164 3.96 0.985164 3.616C0.985164 3.2768 1.06109 2.9584 1.21485 2.656C1.3686 2.3552 1.5774 2.0928 1.84125 1.8704C2.1051 1.648 2.4164 1.4704 2.77326 1.3376C3.13013 1.2064 3.51356 1.1408 3.92167 1.1408H4.89735V6.0992ZM11.2658 13.5232H2.16205L3.29147 12.5792C3.38638 12.4992 3.43574 12.4 3.43574 12.2848C3.43574 12.1696 3.38828 12.0704 3.29147 11.9904C3.19656 11.9104 3.07887 11.8688 2.9422 11.8688C2.80553 11.8688 2.68785 11.9088 2.59294 11.9904L0.630201 13.6448C0.535291 13.7248 0.485938 13.824 0.485938 13.9392C0.485938 14.0544 0.533393 14.1536 0.630201 14.2336L2.59104 15.8784C2.64229 15.9216 2.69734 15.952 2.75808 15.9712C2.81882 15.9904 2.87767 16 2.93461 16C2.99915 16 3.05989 15.9904 3.12064 15.9712C3.18138 15.952 3.23642 15.9216 3.28768 15.8784C3.38259 15.7984 3.43194 15.7008 3.43194 15.5888C3.43194 15.4752 3.38448 15.3792 3.28768 15.2992L2.15825 14.3552H11.2639C11.3987 14.3552 11.5126 14.3152 11.6075 14.2336C11.7024 14.1536 11.7517 14.0528 11.7517 13.936C11.7517 13.8224 11.7043 13.7264 11.6075 13.6464C11.5145 13.5632 11.4006 13.5232 11.2658 13.5232Z"
1607
+ fill="white" />
1608
+ </symbol>
1609
+ <symbol id="rem" enableBackground="new 0 0 458.353 458.353" viewBox="0 0 458.353 458.353">
1610
+ <path
1611
+ d="m415.382 200.529h42.971l-57.294-57.294-57.294 57.294h42.971v171.882h-42.971l57.294 57.294 57.294-57.294h-42.971z" />
1612
+ <path
1613
+ d="m343.765 85.941v-85.941h-343.765v85.941h28.647v-57.294h128.912v401.059h-71.618v28.647h171.882v-28.647h-71.618v-401.059h128.912v57.294z" />
1614
+ </symbol>
1615
+ <symbol id='fullScreen' viewBox="0 0 18 18">
1616
+ <path
1617
+ d="M4.5 11H3v4h4v-1.5H4.5V11zM3 7h1.5V4.5H7V3H3v4zm10.5 6.5H11V15h4v-4h-1.5v2.5zM11 3v1.5h2.5V7H15V3h-4z" />
1618
+ </symbol>
1619
+ <symbol id='folder' viewBox="0 0 60 60">
1620
+ <path
1621
+ d="M56.98,11.5H28.02V6.52c0-1.665-1.354-3.02-3.02-3.02H3.02C1.354,3.5,0,4.854,0,6.52V20.5v2v30.98 c0,1.665,1.354,3.02,3.02,3.02H56.98c1.665,0,3.02-1.354,3.02-3.02V22.5v-2v-5.98C60,12.854,58.646,11.5,56.98,11.5z M58,53.48 c0,0.563-0.457,1.02-1.02,1.02H3.02C2.457,54.5,2,54.043,2,53.48V22.5h56V53.48z M2,20.5V6.52C2,5.957,2.457,5.5,3.02,5.5H25 c0.562,0,1.02,0.457,1.02,1.02v6.98H56.98c0.563,0,1.02,0.457,1.02,1.02v5.98H2z"
1622
+ fill="#FFFFFF" />
1623
+ </symbol>
1624
+ <symbol id='file' viewBox="0 0 512 512">
1625
+ <path
1626
+ d="M405.333,42.667h-44.632c-4.418-12.389-16.147-21.333-30.035-21.333h-32.219C288.427,8.042,272.677,0,256,0 s-32.427,8.042-42.448,21.333h-32.219c-13.888,0-25.617,8.944-30.035,21.333h-44.631C83.135,42.667,64,61.802,64,85.333v384 C64,492.865,83.135,512,106.667,512h298.667C428.865,512,448,492.865,448,469.333v-384C448,61.802,428.865,42.667,405.333,42.667 z M170.667,53.333c0-5.885,4.781-10.667,10.667-10.667h37.917c3.792,0,7.302-2.021,9.219-5.302 c5.844-10.042,16.135-16.031,27.531-16.031s21.688,5.99,27.531,16.031c1.917,3.281,5.427,5.302,9.219,5.302h37.917 c5.885,0,10.667,4.781,10.667,10.667V64c0,11.76-9.573,21.333-21.333,21.333H192c-11.76,0-21.333-9.573-21.333-21.333V53.333z M426.667,469.333c0,11.76-9.573,21.333-21.333,21.333H106.667c-11.76,0-21.333-9.573-21.333-21.333v-384 c0-11.76,9.573-21.333,21.333-21.333h42.667c0,23.531,19.135,42.667,42.667,42.667h128c23.531,0,42.667-19.135,42.667-42.667 h42.667c11.76,0,21.333,9.573,21.333,21.333V469.333z"
1627
+ fill="#FFFFFF" />
1628
+ <path
1629
+ d="M352,234.667H160c-5.896,0-10.667,4.771-10.667,10.667c0,5.896,4.771,10.667,10.667,10.667h192 c5.896,0,10.667-4.771,10.667-10.667C362.667,239.438,357.896,234.667,352,234.667z"
1630
+ fill="#FFFFFF" />
1631
+ <path
1632
+ d="M352,277.333H160c-5.896,0-10.667,4.771-10.667,10.667s4.771,10.667,10.667,10.667h192 c5.896,0,10.667-4.771,10.667-10.667S357.896,277.333,352,277.333z"
1633
+ fill="#FFFFFF" />
1634
+ <path
1635
+ d="M352,320H160c-5.896,0-10.667,4.771-10.667,10.667c0,5.896,4.771,10.667,10.667,10.667h192 c5.896,0,10.667-4.771,10.667-10.667C362.667,324.771,357.896,320,352,320z"
1636
+ fill="#FFFFFF" />
1637
+ <path
1638
+ d="M266.667,362.667H160c-5.896,0-10.667,4.771-10.667,10.667c0,5.896,4.771,10.667,10.667,10.667h106.667 c5.896,0,10.667-4.771,10.667-10.667C277.333,367.438,272.563,362.667,266.667,362.667z"
1639
+ fill="#FFFFFF" />
1640
+ </symbol>
1641
+ <symbol id="pencil" viewBox="0 0 512 512">
1642
+ <g>
1643
+ <polygon points="85.333,282.64 85.333,362.64 165.333,362.64 378.667,149.307 298.667,69.307 " />
1644
+ <path d="M441.707,56.08L391.893,6.267c-8.32-8.32-21.867-8.32-30.187,0L320,47.973l80,80l41.707-41.707
1645
+ C450.027,77.947,450.027,64.4,441.707,56.08z" />
1646
+ </g>
1647
+ <g>
1648
+ <rect y="426.64" width="512" height="85.333" />
1649
+ </g>
1650
+ </symbol>
1651
+ <svg x='0px' y='0px' viewBox='0 0 512 512' enableBackground='new 0 0 512 512' id='smileIcon'>
1652
+ <path fill='#f00' d='M344.354,381.58c-1.33-1.651-33.207-40.458-88.354-40.458
1653
+ 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
1654
+ 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
1655
+ 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
1656
+ 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
1657
+ 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
1658
+ 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
1659
+ S326.327,212.122,344,212.122z' />
1660
+ </svg>
1661
+ </svg>
1662
+ </div>
1663
+ </body>
1664
+
1665
+ </html>