@modern-js/module-tools-docs 2.0.2 → 2.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/doc_build/html/main/index.html +1 -1
  2. package/doc_build/static/css/main.css +267 -660
  3. package/doc_build/static/css/main.css.map +1 -1
  4. package/doc_build/static/css/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.css +6 -23
  5. package/doc_build/static/css/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.css.map +1 -1
  6. package/doc_build/static/js/async/en_api_config_build-config.js +79 -36
  7. package/doc_build/static/js/async/en_api_config_build-config.js.map +1 -1
  8. package/doc_build/static/js/async/en_api_config_build-preset.js +40 -20
  9. package/doc_build/static/js/async/en_api_config_build-preset.js.map +1 -1
  10. package/doc_build/static/js/async/en_api_config_design-system.js +33800 -2340
  11. package/doc_build/static/js/async/en_api_config_design-system.js.map +1 -1
  12. package/doc_build/static/js/async/en_api_config_plugins.js +15 -19
  13. package/doc_build/static/js/async/en_api_config_testing.js +26 -24
  14. package/doc_build/static/js/async/en_api_config_testing.js.map +1 -1
  15. package/doc_build/static/js/async/{en_api_.js → en_api_index.js} +10 -14
  16. package/doc_build/static/js/async/en_api_index.js.map +1 -0
  17. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js +24 -26
  18. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js.map +1 -1
  19. package/doc_build/static/js/async/en_guide_advance_asset.js +16 -41
  20. package/doc_build/static/js/async/en_guide_advance_asset.js.map +1 -1
  21. package/doc_build/static/js/async/en_guide_advance_build-umd.js +20 -24
  22. package/doc_build/static/js/async/en_guide_advance_copy.js +25 -23
  23. package/doc_build/static/js/async/en_guide_advance_copy.js.map +1 -1
  24. package/doc_build/static/js/async/en_guide_advance_external-dependency.js +15 -19
  25. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js +352 -94
  26. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js.map +1 -1
  27. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js +11 -15
  28. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js.map +1 -1
  29. package/doc_build/static/js/async/en_guide_advance_theme-config.js +26 -24
  30. package/doc_build/static/js/async/en_guide_advance_theme-config.js.map +1 -1
  31. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js +275 -88
  32. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js.map +1 -1
  33. package/doc_build/static/js/async/en_guide_basic_command-preview.js +45 -33
  34. package/doc_build/static/js/async/en_guide_basic_command-preview.js.map +1 -1
  35. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js +274 -196
  36. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js.map +1 -1
  37. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js +18 -20
  38. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js.map +1 -1
  39. package/doc_build/static/js/async/en_guide_basic_test-your-project.js +27 -32
  40. package/doc_build/static/js/async/en_guide_basic_test-your-project.js.map +1 -1
  41. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js +33 -15
  42. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js.map +1 -1
  43. package/doc_build/static/js/async/en_guide_basic_using-storybook.js +24 -63
  44. package/doc_build/static/js/async/en_guide_basic_using-storybook.js.map +1 -1
  45. package/doc_build/static/js/async/en_guide_best-practices_components.js +39 -27
  46. package/doc_build/static/js/async/en_guide_best-practices_components.js.map +1 -1
  47. package/doc_build/static/js/async/en_guide_intro_getting-started.js +288 -45
  48. package/doc_build/static/js/async/en_guide_intro_getting-started.js.map +1 -1
  49. package/doc_build/static/js/async/en_guide_intro_welcome.js +27 -13
  50. package/doc_build/static/js/async/en_guide_intro_welcome.js.map +1 -1
  51. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js +16 -12
  52. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js.map +1 -1
  53. package/doc_build/static/js/async/{en_.js → en_index.js} +12 -16
  54. package/doc_build/static/js/async/en_index.js.map +1 -0
  55. package/doc_build/static/js/async/en_plugins_guide_getting-started.js +17 -21
  56. package/doc_build/static/js/async/en_plugins_guide_plugin-object.js +20 -24
  57. package/doc_build/static/js/async/en_plugins_guide_setup-function.js +19 -23
  58. package/doc_build/static/js/async/en_plugins_guide_setup-function.js.map +1 -1
  59. package/doc_build/static/js/async/en_plugins_official-list_overview.js +8 -12
  60. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js +166 -367
  61. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js.map +1 -1
  62. package/doc_build/static/js/async/{api_config_build-config.js → zh_api_config_build-config.js} +80 -35
  63. package/doc_build/static/js/async/{api_config_build-config.js.map → zh_api_config_build-config.js.map} +1 -1
  64. package/doc_build/static/js/async/{api_config_build-preset.js → zh_api_config_build-preset.js} +39 -21
  65. package/doc_build/static/js/async/{api_config_build-preset.js.map → zh_api_config_build-preset.js.map} +1 -1
  66. package/doc_build/static/js/async/{api_config_design-system.js → zh_api_config_design-system.js} +27 -23
  67. package/doc_build/static/js/async/{api_config_design-system.js.map → zh_api_config_design-system.js.map} +1 -1
  68. package/doc_build/static/js/async/{api_config_plugins.js → zh_api_config_plugins.js} +17 -21
  69. package/doc_build/static/js/async/{api_config_plugins.js.map → zh_api_config_plugins.js.map} +1 -1
  70. package/doc_build/static/js/async/{api_config_testing.js → zh_api_config_testing.js} +28 -26
  71. package/doc_build/static/js/async/{api_config_testing.js.map → zh_api_config_testing.js.map} +1 -1
  72. package/doc_build/static/js/async/{api_.js → zh_api_index.js} +10 -14
  73. package/doc_build/static/js/async/zh_api_index.js.map +1 -0
  74. package/doc_build/static/js/async/{api_plugin-api_plugin-hooks.js → zh_api_plugin-api_plugin-hooks.js} +25 -27
  75. package/doc_build/static/js/async/{api_plugin-api_plugin-hooks.js.map → zh_api_plugin-api_plugin-hooks.js.map} +1 -1
  76. package/doc_build/static/js/async/{guide_advance_asset.js → zh_guide_advance_asset.js} +18 -43
  77. package/doc_build/static/js/async/{guide_advance_asset.js.map → zh_guide_advance_asset.js.map} +1 -1
  78. package/doc_build/static/js/async/{guide_advance_build-umd.js → zh_guide_advance_build-umd.js} +22 -26
  79. package/doc_build/static/js/async/{guide_advance_build-umd.js.map → zh_guide_advance_build-umd.js.map} +1 -1
  80. package/doc_build/static/js/async/{guide_advance_copy.js → zh_guide_advance_copy.js} +26 -24
  81. package/doc_build/static/js/async/{guide_advance_copy.js.map → zh_guide_advance_copy.js.map} +1 -1
  82. package/doc_build/static/js/async/{guide_advance_external-dependency.js → zh_guide_advance_external-dependency.js} +17 -21
  83. package/doc_build/static/js/async/{guide_advance_external-dependency.js.map → zh_guide_advance_external-dependency.js.map} +1 -1
  84. package/doc_build/static/js/async/{guide_advance_in-depth-about-build.js → zh_guide_advance_in-depth-about-build.js} +353 -95
  85. package/doc_build/static/js/async/{guide_advance_in-depth-about-build.js.map → zh_guide_advance_in-depth-about-build.js.map} +1 -1
  86. package/doc_build/static/js/async/{guide_advance_in-depth-about-dev-command.js → zh_guide_advance_in-depth-about-dev-command.js} +16 -18
  87. package/doc_build/static/js/async/zh_guide_advance_in-depth-about-dev-command.js.map +1 -0
  88. package/doc_build/static/js/async/{guide_advance_theme-config.js → zh_guide_advance_theme-config.js} +24 -22
  89. package/doc_build/static/js/async/{guide_advance_theme-config.js.map → zh_guide_advance_theme-config.js.map} +1 -1
  90. package/doc_build/static/js/async/{guide_basic_before-getting-started.js → zh_guide_basic_before-getting-started.js} +272 -85
  91. package/doc_build/static/js/async/zh_guide_basic_before-getting-started.js.map +1 -0
  92. package/doc_build/static/js/async/{guide_basic_command-preview.js → zh_guide_basic_command-preview.js} +47 -35
  93. package/doc_build/static/js/async/zh_guide_basic_command-preview.js.map +1 -0
  94. package/doc_build/static/js/async/{guide_basic_modify-output-product.js → zh_guide_basic_modify-output-product.js} +203 -88
  95. package/doc_build/static/js/async/zh_guide_basic_modify-output-product.js.map +1 -0
  96. package/doc_build/static/js/async/{guide_basic_publish-your-project.js → zh_guide_basic_publish-your-project.js} +20 -22
  97. package/doc_build/static/js/async/{guide_basic_publish-your-project.js.map → zh_guide_basic_publish-your-project.js.map} +1 -1
  98. package/doc_build/static/js/async/{guide_basic_test-your-project.js → zh_guide_basic_test-your-project.js} +30 -35
  99. package/doc_build/static/js/async/{guide_basic_test-your-project.js.map → zh_guide_basic_test-your-project.js.map} +1 -1
  100. package/doc_build/static/js/async/{guide_basic_use-micro-generator.js → zh_guide_basic_use-micro-generator.js} +40 -20
  101. package/doc_build/static/js/async/zh_guide_basic_use-micro-generator.js.map +1 -0
  102. package/doc_build/static/js/async/{guide_basic_using-storybook.js → zh_guide_basic_using-storybook.js} +78 -171
  103. package/doc_build/static/js/async/{guide_basic_using-storybook.js.map → zh_guide_basic_using-storybook.js.map} +1 -1
  104. package/doc_build/static/js/async/{guide_best-practices_components.js → zh_guide_best-practices_components.js} +41 -29
  105. package/doc_build/static/js/async/{guide_best-practices_components.js.map → zh_guide_best-practices_components.js.map} +1 -1
  106. package/doc_build/static/js/async/{guide_intro_getting-started.js → zh_guide_intro_getting-started.js} +291 -42
  107. package/doc_build/static/js/async/{guide_intro_getting-started.js.map → zh_guide_intro_getting-started.js.map} +1 -1
  108. package/doc_build/static/js/async/{guide_intro_welcome.js → zh_guide_intro_welcome.js} +28 -14
  109. package/doc_build/static/js/async/zh_guide_intro_welcome.js.map +1 -0
  110. package/doc_build/static/js/async/{guide_intro_why-module-engineering-solution.js → zh_guide_intro_why-module-engineering-solution.js} +18 -14
  111. package/doc_build/static/js/async/zh_guide_intro_why-module-engineering-solution.js.map +1 -0
  112. package/doc_build/static/js/async/{index.js → zh_index.js} +11 -15
  113. package/doc_build/static/js/async/zh_index.js.map +1 -0
  114. package/doc_build/static/js/async/{plugins_guide_getting-started.js → zh_plugins_guide_getting-started.js} +19 -23
  115. package/doc_build/static/js/async/{plugins_guide_getting-started.js.map → zh_plugins_guide_getting-started.js.map} +1 -1
  116. package/doc_build/static/js/async/{plugins_guide_plugin-object.js → zh_plugins_guide_plugin-object.js} +22 -26
  117. package/doc_build/static/js/async/{plugins_guide_plugin-object.js.map → zh_plugins_guide_plugin-object.js.map} +1 -1
  118. package/doc_build/static/js/async/{plugins_guide_setup-function.js → zh_plugins_guide_setup-function.js} +21 -25
  119. package/doc_build/static/js/async/{plugins_guide_setup-function.js.map → zh_plugins_guide_setup-function.js.map} +1 -1
  120. package/doc_build/static/js/async/{plugins_official-list_overview.js → zh_plugins_official-list_overview.js} +10 -14
  121. package/doc_build/static/js/async/zh_plugins_official-list_overview.js.map +1 -0
  122. package/doc_build/static/js/builder-runtime.js +1 -1
  123. package/doc_build/static/js/builder-runtime.js.map +1 -1
  124. package/doc_build/static/js/lib-polyfill.js +3433 -16355
  125. package/doc_build/static/js/lib-polyfill.js.map +1 -1
  126. package/doc_build/static/js/main.js +2073 -2700
  127. package/doc_build/static/js/main.js.map +1 -1
  128. package/doc_build/static/js/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.js +485 -1689
  129. package/doc_build/static/js/vendors-node_modules_pnpm_remix-run_router_1_2_0_node_modules_remix-run_router_dist_router_js-9d5e9c.js.map +1 -1
  130. package/doc_build/static/search_index.json +1 -0
  131. package/docs/.island/dist/404.html +41 -0
  132. package/docs/.island/dist/assets/asset.26aea654.js +160 -0
  133. package/docs/.island/dist/assets/asset.36e3d3c9.js +160 -0
  134. package/docs/.island/dist/assets/before-getting-started.0e863740.js +87 -0
  135. package/docs/.island/dist/assets/before-getting-started.2c6e6b8a.js +87 -0
  136. package/docs/.island/dist/assets/build-config.460d11d9.js +804 -0
  137. package/docs/.island/dist/assets/build-config.e155e534.js +854 -0
  138. package/docs/.island/dist/assets/build-preset.6c2c6c62.js +256 -0
  139. package/docs/.island/dist/assets/build-preset.d3da921d.js +256 -0
  140. package/docs/.island/dist/assets/build-umd.ba00f028.js +264 -0
  141. package/docs/.island/dist/assets/build-umd.edb9d163.js +273 -0
  142. package/docs/.island/dist/assets/command-preview.1dc93921.js +264 -0
  143. package/docs/.island/dist/assets/command-preview.ef7a9d01.js +264 -0
  144. package/docs/.island/dist/assets/components.esm.03560353.js +9 -0
  145. package/docs/.island/dist/assets/copy.28dc4d5f.js +277 -0
  146. package/docs/.island/dist/assets/copy.f4625565.js +277 -0
  147. package/docs/.island/dist/assets/design-system.8993234c.js +1254 -0
  148. package/docs/.island/dist/assets/design-system.b0ba163f.js +639 -0
  149. package/docs/.island/dist/assets/dev.b373b152.js +37 -0
  150. package/docs/.island/dist/assets/dev.b39fd42a.js +37 -0
  151. package/docs/.island/dist/assets/down.f35427d3.svg +1 -0
  152. package/docs/.island/dist/assets/extension.4bf3526b.js +1 -0
  153. package/docs/.island/dist/assets/extension.d64ed0b8.js +469 -0
  154. package/docs/.island/dist/assets/external-dependency.2ede7532.js +156 -0
  155. package/docs/.island/dist/assets/external-dependency.92ca89e0.js +156 -0
  156. package/docs/.island/dist/assets/getting-started.822cf0b2.js +117 -0
  157. package/docs/.island/dist/assets/getting-started.e2764829.js +114 -0
  158. package/docs/.island/dist/assets/github.3bf8ccee.svg +1 -0
  159. package/docs/.island/dist/assets/in-depth-about-build.94cc902d.js +375 -0
  160. package/docs/.island/dist/assets/in-depth-about-build.aa74de10.js +374 -0
  161. package/docs/.island/dist/assets/in-depth-about-dev-command.877bdb83.js +33 -0
  162. package/docs/.island/dist/assets/in-depth-about-dev-command.9736befd.js +39 -0
  163. package/docs/.island/dist/assets/index.01786ba7.js +30 -0
  164. package/docs/.island/dist/assets/index.6cef6f5f.js +4 -0
  165. package/docs/.island/dist/assets/index.cb118238.js +36 -0
  166. package/docs/.island/dist/assets/index.ccb6ce27.js +4 -0
  167. package/docs/.island/dist/assets/island_inject.69495876.js +1 -0
  168. package/docs/.island/dist/assets/island_inject.cdfb22d9.js +1 -0
  169. package/docs/.island/dist/assets/loading.8c9bb911.svg +1 -0
  170. package/docs/.island/dist/assets/modify-output-product.9e2394d7.js +100 -0
  171. package/docs/.island/dist/assets/modify-output-product.f363845a.js +100 -0
  172. package/docs/.island/dist/assets/moon.6b705924.svg +3 -0
  173. package/docs/.island/dist/assets/plugin.70a61997.js +42 -0
  174. package/docs/.island/dist/assets/plugin.80b12ee2.js +42 -0
  175. package/docs/.island/dist/assets/publish-your-project.7321c10e.js +164 -0
  176. package/docs/.island/dist/assets/publish-your-project.7326359f.js +166 -0
  177. package/docs/.island/dist/assets/right.89674cd7.svg +1 -0
  178. package/docs/.island/dist/assets/search.0aea6901.svg +1 -0
  179. package/docs/.island/dist/assets/search.11353245.js +222 -0
  180. package/docs/.island/dist/assets/search.a1b1cff3.js +3 -0
  181. package/docs/.island/dist/assets/search.f9025ced.js +3 -0
  182. package/docs/.island/dist/assets/style.09015a4b.css +1 -0
  183. package/docs/.island/dist/assets/style.2e5f7bc2.css +1970 -0
  184. package/docs/.island/dist/assets/sun.841dac10.svg +11 -0
  185. package/docs/.island/dist/assets/test-your-project.8ab2809e.js +190 -0
  186. package/docs/.island/dist/assets/test-your-project.9ae2a49e.js +190 -0
  187. package/docs/.island/dist/assets/test.2bfe276b.js +66 -0
  188. package/docs/.island/dist/assets/test.a2c00a3f.js +67 -0
  189. package/docs/.island/dist/assets/translator.b1077c44.svg +1 -0
  190. package/docs/.island/dist/assets/use-micro-generator.13c1a09f.js +60 -0
  191. package/docs/.island/dist/assets/use-micro-generator.dfe877f6.js +60 -0
  192. package/docs/.island/dist/assets/using-storybook.adb88cb8.js +260 -0
  193. package/docs/.island/dist/assets/using-storybook.b8e7dd04.js +260 -0
  194. package/docs/.island/dist/assets/welcome.94880043.js +13 -0
  195. package/docs/.island/dist/assets/welcome.b2140e7e.js +13 -0
  196. package/docs/.island/dist/assets/why-module-engineering-solution.bfe7981a.js +26 -0
  197. package/docs/.island/dist/assets/why-module-engineering-solution.e31cd19f.js +26 -0
  198. package/docs/.island/dist/chunk-COLCRJ2V.js +1 -0
  199. package/docs/.island/dist/chunk-K5FMOYDC.js +10 -0
  200. package/docs/.island/dist/chunk-WE42KMYS.js +26 -0
  201. package/docs/.island/dist/client-entry.js +3 -0
  202. package/docs/.island/dist/en/api/build-config.html +344 -0
  203. package/docs/.island/dist/en/api/build-preset.html +82 -0
  204. package/docs/.island/dist/en/api/design-system.html +155 -0
  205. package/docs/.island/dist/en/api/dev.html +45 -0
  206. package/docs/.island/dist/en/api/index.html +41 -0
  207. package/docs/.island/dist/en/api/plugin.html +48 -0
  208. package/docs/.island/dist/en/api/test.html +58 -0
  209. package/docs/.island/dist/en/guide/advance/asset.html +68 -0
  210. package/docs/.island/dist/en/guide/advance/build-umd.html +72 -0
  211. package/docs/.island/dist/en/guide/advance/copy.html +82 -0
  212. package/docs/.island/dist/en/guide/advance/extension.html +41 -0
  213. package/docs/.island/dist/en/guide/advance/external-dependency.html +71 -0
  214. package/docs/.island/dist/en/guide/advance/in-depth-about-build.html +148 -0
  215. package/docs/.island/dist/en/guide/advance/in-depth-about-dev-command.html +51 -0
  216. package/docs/.island/dist/en/guide/basic/before-getting-started.html +127 -0
  217. package/docs/.island/dist/en/guide/basic/command-preview.html +100 -0
  218. package/docs/.island/dist/en/guide/basic/modify-output-product.html +140 -0
  219. package/docs/.island/dist/en/guide/basic/publish-your-project.html +91 -0
  220. package/docs/.island/dist/en/guide/basic/test-your-project.html +72 -0
  221. package/docs/.island/dist/en/guide/basic/use-micro-generator.html +65 -0
  222. package/docs/.island/dist/en/guide/basic/using-storybook.html +113 -0
  223. package/docs/.island/dist/en/guide/intro/getting-started.html +76 -0
  224. package/docs/.island/dist/en/guide/intro/welcome.html +53 -0
  225. package/docs/.island/dist/en/guide/intro/why-module-engineering-solution.html +49 -0
  226. package/docs/.island/dist/en/index.html +42 -0
  227. package/docs/.island/dist/react-dom.js +1 -0
  228. package/docs/.island/dist/react-dom_client.js +1 -0
  229. package/docs/.island/dist/react.js +1 -0
  230. package/docs/.island/dist/react_jsx-runtime.js +10 -0
  231. package/docs/.island/dist/ssr-manifest.json +57 -0
  232. package/docs/.island/dist/test-result.png +0 -0
  233. package/docs/.island/dist/why-module-solution.png +0 -0
  234. package/docs/.island/dist/zh/api/build-config.html +361 -0
  235. package/docs/.island/dist/zh/api/build-preset.html +82 -0
  236. package/docs/.island/dist/zh/api/design-system.html +149 -0
  237. package/docs/.island/dist/zh/api/dev.html +46 -0
  238. package/docs/.island/dist/zh/api/index.html +41 -0
  239. package/docs/.island/dist/zh/api/plugin.html +48 -0
  240. package/docs/.island/dist/zh/api/test.html +59 -0
  241. package/docs/.island/dist/zh/guide/advance/asset.html +68 -0
  242. package/docs/.island/dist/zh/guide/advance/build-umd.html +72 -0
  243. package/docs/.island/dist/zh/guide/advance/copy.html +82 -0
  244. package/docs/.island/dist/zh/guide/advance/extension.html +127 -0
  245. package/docs/.island/dist/zh/guide/advance/external-dependency.html +71 -0
  246. package/docs/.island/dist/zh/guide/advance/in-depth-about-build.html +148 -0
  247. package/docs/.island/dist/zh/guide/advance/in-depth-about-dev-command.html +53 -0
  248. package/docs/.island/dist/zh/guide/basic/before-getting-started.html +127 -0
  249. package/docs/.island/dist/zh/guide/basic/command-preview.html +100 -0
  250. package/docs/.island/dist/zh/guide/basic/modify-output-product.html +140 -0
  251. package/docs/.island/dist/zh/guide/basic/publish-your-project.html +92 -0
  252. package/docs/.island/dist/zh/guide/basic/test-your-project.html +72 -0
  253. package/docs/.island/dist/zh/guide/basic/use-micro-generator.html +65 -0
  254. package/docs/.island/dist/zh/guide/basic/using-storybook.html +114 -0
  255. package/docs/.island/dist/zh/guide/intro/getting-started.html +79 -0
  256. package/docs/.island/dist/zh/guide/intro/welcome.html +53 -0
  257. package/docs/.island/dist/zh/guide/intro/why-module-engineering-solution.html +49 -0
  258. package/docs/.island/dist/zh/index.html +42 -0
  259. package/docs/en/api/config/build-config.md +15 -5
  260. package/docs/en/api/config/build-preset.md +3 -2
  261. package/docs/en/api/config/design-system.md +623 -615
  262. package/docs/en/api/config/plugins.md +2 -2
  263. package/docs/en/api/config/testing.md +2 -1
  264. package/docs/en/guide/advance/asset.mdx +0 -4
  265. package/docs/en/guide/advance/build-umd.mdx +3 -3
  266. package/docs/en/guide/advance/in-depth-about-build.md +14 -13
  267. package/docs/en/guide/advance/in-depth-about-dev-command.md +2 -1
  268. package/docs/en/guide/basic/before-getting-started.md +16 -9
  269. package/docs/en/guide/basic/command-preview.md +2 -2
  270. package/docs/en/guide/basic/modify-output-product.md +65 -69
  271. package/docs/en/guide/basic/test-your-project.mdx +1 -3
  272. package/docs/en/guide/basic/use-micro-generator.md +4 -0
  273. package/docs/en/guide/basic/using-storybook.mdx +1 -13
  274. package/docs/en/guide/intro/getting-started.md +16 -7
  275. package/docs/en/plugins/guide/getting-started.mdx +2 -2
  276. package/docs/en/plugins/guide/plugin-object.mdx +5 -5
  277. package/docs/zh/api/config/build-config.md +18 -6
  278. package/docs/zh/api/config/build-preset.md +3 -2
  279. package/docs/zh/api/config/design-system.md +2 -2
  280. package/docs/zh/api/config/plugins.md +2 -2
  281. package/docs/zh/api/config/testing.md +3 -2
  282. package/docs/zh/guide/advance/asset.mdx +0 -5
  283. package/docs/zh/guide/advance/build-umd.mdx +3 -3
  284. package/docs/zh/guide/advance/in-depth-about-build.md +14 -13
  285. package/docs/zh/guide/advance/in-depth-about-dev-command.md +2 -1
  286. package/docs/zh/guide/basic/before-getting-started.md +15 -8
  287. package/docs/zh/guide/basic/command-preview.md +2 -2
  288. package/docs/zh/guide/basic/modify-output-product.md +17 -19
  289. package/docs/zh/guide/basic/test-your-project.mdx +1 -3
  290. package/docs/zh/guide/basic/use-micro-generator.md +5 -1
  291. package/docs/zh/guide/basic/using-storybook.mdx +9 -19
  292. package/docs/zh/guide/intro/getting-started.md +17 -11
  293. package/docs/zh/plugins/guide/getting-started.mdx +2 -2
  294. package/docs/zh/plugins/guide/plugin-object.mdx +5 -5
  295. package/modern.config.ts +11 -5
  296. package/package.json +4 -4
  297. package/doc_build/static/js/async/api_.js.map +0 -1
  298. package/doc_build/static/js/async/en_.js.map +0 -1
  299. package/doc_build/static/js/async/en_api_.js.map +0 -1
  300. package/doc_build/static/js/async/guide_advance_in-depth-about-dev-command.js.map +0 -1
  301. package/doc_build/static/js/async/guide_basic_before-getting-started.js.map +0 -1
  302. package/doc_build/static/js/async/guide_basic_command-preview.js.map +0 -1
  303. package/doc_build/static/js/async/guide_basic_modify-output-product.js.map +0 -1
  304. package/doc_build/static/js/async/guide_basic_use-micro-generator.js.map +0 -1
  305. package/doc_build/static/js/async/guide_intro_welcome.js.map +0 -1
  306. package/doc_build/static/js/async/guide_intro_why-module-engineering-solution.js.map +0 -1
  307. package/doc_build/static/js/async/index.js.map +0 -1
  308. package/doc_build/static/js/async/plugins_official-list_overview.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- (self["webpackChunk_modern_js_module_tools_docs"] = self["webpackChunk_modern_js_module_tools_docs"] || []).push([["guide_best-practices_components"],{
2
+ (self["webpackChunk_modern_js_module_tools_docs"] = self["webpackChunk_modern_js_module_tools_docs"] || []).push([["zh_guide_best-practices_components"],{
3
3
 
4
4
  /***/ "./docs/zh/guide/best-practices/components.mdx":
5
5
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
@@ -18,13 +18,13 @@ __webpack_require__.r(__webpack_exports__);
18
18
  /*@jsxRuntime automatic @jsxImportSource react*/
19
19
 
20
20
 
21
- var CH = {
21
+ const CH = {
22
22
  annotations: _code_hike_mdx_dist_components_cjs_js__WEBPACK_IMPORTED_MODULE_1__.annotations,
23
23
  Spotlight: _code_hike_mdx_dist_components_cjs_js__WEBPACK_IMPORTED_MODULE_1__.Spotlight,
24
24
  CodeSlot: _code_hike_mdx_dist_components_cjs_js__WEBPACK_IMPORTED_MODULE_1__.CodeSlot,
25
25
  Code: _code_hike_mdx_dist_components_cjs_js__WEBPACK_IMPORTED_MODULE_1__.Code
26
26
  };
27
- var chCodeConfig = {
27
+ const chCodeConfig = {
28
28
  "staticMediaQuery": "not screen, (max-width: 768px)",
29
29
  "theme": {
30
30
  "name": "nord",
@@ -1187,12 +1187,12 @@ var chCodeConfig = {
1187
1187
  "autoImport": true,
1188
1188
  "showCopyButton": true,
1189
1189
  "skipLanguages": [],
1190
- "filepath": "/Users/bytedance/modern.js/website/module-tools/docs/zh/guide/best-practices/components.mdx"
1190
+ "filepath": "/Users/targeral/github/targeral-modern-js/website/module-tools/docs/zh/guide/best-practices/components.mdx"
1191
1191
  };
1192
- var frontmatter = {
1192
+ const frontmatter = {
1193
1193
  "sidebar_position": 1
1194
1194
  };
1195
- var toc = [{
1195
+ const toc = [{
1196
1196
  "id": "初始化项目",
1197
1197
  "text": "初始化项目",
1198
1198
  "depth": 2
@@ -1253,10 +1253,10 @@ var toc = [{
1253
1253
  "text": "发布组件",
1254
1254
  "depth": 2
1255
1255
  }];
1256
- var title = "\u5F00\u53D1\u7EC4\u4EF6";
1257
- var content = "\"---\\nsidebar_position: 1\\n---\\n\\n# 开发组件\\n\\n本章将要介绍如何使用模块工程解决方案开发组件项目。\\n\\n## 初始化项目\\n\\n<CH.Spotlight>\\n\\n```bash 交互式问题\\nnpx @modern-js/create components-project\\n\\n? 请选择你想创建的工程类型 模块\\n? 请填写项目名称 components-demo\\n? 请选择开发语言 TS\\n? 请选择包管理工具 pnpm\\n```\\n\\n---\\n\\n推荐使用 `@modern-js/create` 命令来初始化一个 npm 项目。\\n\\n```bash 交互式问题\\nnpx @modern-js/create components-project\\n\\n? 请选择你想创建的工程类型 模块\\n? 请填写项目名称 components-demo\\n? 请选择开发语言 TS\\n? 请选择包管理工具 pnpm\\n```\\n\\n---\\n\\n初始化的目录结构。\\n\\n```bash 初始化的目录结构。\\n.\\n├── README.md\\n├── node_modules/\\n├── dist/\\n├── modern.config.ts\\n├── package.json\\n├── pnpm-lock.yaml\\n├── src\\n│ ├── index.ts\\n│ └── modern-app-env.d.ts\\n└── tsconfig.json\\n```\\n\\n---\\n\\n修改 `./src/index.ts` 文件后缀和内容。\\n\\n此时就初始化了一个组件项目。\\n\\n```tsx ./src/index.tsx\\nexport default () => {\\n return <div>hello world</div>;\\n};\\n```\\n\\n</CH.Spotlight>\\n\\n## 使用 Storybook 调试代码\\n\\n<CH.Spotlight>\\n\\n```bash 终端\\npnpm run new\\n\\n? 请选择你想要的操作 启用可选功能\\n? 启用可选功能 启用「Storybook」\\n```\\n\\n---\\n\\n在项目根目录下执行 `new` 命令,可以开启 Storybook 功能。\\n\\n```bash 终端\\npnpm run new\\n\\n? 请选择你想要的操作 启用可选功能\\n? 启用可选功能 启用「Storybook」\\n```\\n\\n---\\n\\n成功开启后,会看到 `package.json` 中新增了依赖。同时创建了 `stories` 目录和相关的初始化文件。\\n\\n<CH.Code>\\n\\n```json ./package.json focus=4:7\\n{\\n \\\"name\\\": \\\"components-demo\\\",\\n \\\"devDependencies\\\": {\\n \\\"@modern-js/plugin-storybook\\\": \\\"x.y.z\\\",\\n \\\"@modern-js/runtime\\\": \\\"x.y.z\\\",\\n \\\"react\\\": \\\"^17\\\",\\n \\\"react-dom\\\": \\\"^17\\\"\\n }\\n}\\n```\\n\\n```bash 目录结构\\n.\\n├── src\\n│ ├── index.ts\\n│ └── modern-app-env.d.ts\\n├── stories\\n│ ├── .eslintrc.js\\n│ ├── index.stories.tsx\\n│ └── tsconfig.json\\n```\\n\\n</CH.Code>\\n\\n---\\n\\n初始化后,在 `./stories` 目录下的 `tsconfig.json` 文件中默认设置了与项目同名的 `paths` 配置。\\n\\n```json ./stories/tsconfig.json focus=5:7\\n{\\n \\\"extends\\\": \\\"../tsconfig.json\\\",\\n \\\"compilerOptions\\\": {\\n \\\"baseUrl\\\": \\\"../\\\",\\n \\\"paths\\\": {\\n \\\"components-demo\\\": [\\\"./\\\"],\\n \\\"components-demo/*\\\": [\\\"./*\\\"]\\n }\\n },\\n \\\"include\\\": [\\\"**/*\\\"]\\n}\\n```\\n\\n---\\n\\n这样的配置可以让你在 Story 代码中直接使用项目的名称引入代码。\\n\\n<CH.Code>\\n\\n```tsx ./stories/index.stories.tsx\\nimport Component from 'components-demo';\\n\\nexport const YourStory = () => <Component />;\\n\\nexport default {\\n title: 'Your Stories',\\n};\\n```\\n\\n---\\n\\n```tsx ./src/index.tsx\\nexport default () => {\\n return <div>hello world</div>;\\n};\\n```\\n\\n</CH.Code>\\n\\n---\\n\\n此时 Storybook 会根据项目的 `package.json` 文件中的 `main`、`exports` 这样的字段确认导入代码的入口;\\n根据 `types` 字段确定类型文件的位置。\\n\\n```json package.json\\n{\\n \\\"name\\\": \\\"components-demo\\\",\\n \\\"main\\\": \\\"./dist/esm/index.js\\\",\\n \\\"types\\\": \\\"./dist/types/index.d.ts\\\"\\n}\\n```\\n\\n---\\n\\n虽然也支持导入源代码进行调试,不过使用项目产物调试更加可靠。\\n\\n使用源代码调试存在局限性:某些配置无法在 Storybook 和原本构建支持的配置等价使用。\\n\\n**因此更推荐使用产物进行调试**。\\n\\n```tsx ./stories/index.stories.tsx\\nimport Component from '../src';\\n\\nexport const YourStory = () => <Component />;\\n\\nexport default {\\n title: 'Your Stories',\\n};\\n```\\n\\n</CH.Spotlight>\\n\\n## 开发样式\\n\\n接下来我们可以给组件添加样式。\\n\\n目前支持开发样式的能力有:\\n\\n- CSS/PostCSS\\n- Less\\n- Scss/Sass\\n- Tailwind CSS\\n- CSS Modules\\n\\n### CSS/PostCSS\\n\\n模块工程支持 PostCSS,并且内置了以下 postcss 插件:\\n\\n- [flexbugs-fixes](https://github.com/luisrudge/postcss-flexbugs-fixes)\\n- [custom-properties](https://github.com/postcss/postcss-custom-properties)\\n- [initial](https://github.com/maximkoretskiy/postcss-initial)\\n- [page-break](https://github.com/shrpne/postcss-page-break)\\n- [font-variant](https://github.com/postcss/postcss-font-variant)\\n- [media-minmax](https://github.com/postcss/postcss-media-minmax)\\n- [nesting](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting#readme)\\n\\n因此我们可以在项目中创建 `.css` 文件,并且可以直接在 css 文件中使用这些插件提供的语法支持和能力。\\n\\n<CH.Spotlight>\\n\\n```css ./src/index.css\\na,\\nb {\\n color: red;\\n\\n /* \\\"&\\\" comes first */\\n & c,\\n & d {\\n color: white;\\n }\\n\\n /* \\\"&\\\" comes later, requiring \\\"@nest\\\" */\\n @nest e & {\\n color: yellow;\\n }\\n}\\n```\\n\\n---\\n\\n源代码。\\n\\n```css ./src/index.css\\n\\n```\\n\\n---\\n\\ncss 产物。\\n\\n```css ./dist/es/index.css\\na,\\nb {\\n color: red;\\n}\\na c,\\nb c,\\na d,\\nb d {\\n color: white;\\n}\\ne a,\\ne b {\\n color: yellow;\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n### Less\\n\\n模块工程支持使用 Less 开发样式。\\n\\n> 目前支持的版本为 4.1.3\\n\\n<CH.Spotlight>\\n\\n```less ./src/common.less\\n@bg: black;\\n@bg-light: boolean(luma(@bg) > 50%);\\n\\ndiv {\\n background: @bg;\\n color: if(@bg-light, black, white);\\n}\\n```\\n\\n---\\n\\n源代码。\\n\\n```less ./src/common.less\\n\\n```\\n\\n---\\n\\nLess 产物。\\n\\n```css ./dist/es/common.css\\ndiv {\\n background: black;\\n color: white;\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n### Sass/Scss\\n\\n模块工程支持使用 Scss/Sass 开发样式。\\n\\n> 目前支持的版本为 1.54.4\\n\\n<CH.Spotlight>\\n\\n```sass ./src/common.sass\\n$font-stack: Helvetica, sans-serif;\\n$primary-color: #333;\\n\\nbody {\\n font: 100% $font-stack;\\n color: $primary-color;\\n}\\n```\\n\\n---\\n\\n源代码。\\n\\n```sass ./src/common.sass\\n\\n```\\n\\n---\\n\\nLess 产物。\\n\\n```css ./dist/es/common.css\\nbody {\\n font: 100% Helvetica, sans-serif;\\n color: #333;\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n### Tailwind CSS\\n\\n模块工程支持使用 Tailwind CSS 开发组件样式。\\n\\n默认情况下,模块工程没有开启该功能,需要按照下面的方式开启它。\\n\\n<CH.Spotlight>\\n\\n```bash 终端\\npnpm run new\\n\\n? 请选择你想要的操作 启用可选功能\\n? 启用可选功能 启用「Storybook」\\n```\\n\\n---\\n\\n在项目根目录下执行 `new` 命令,可以开启 Tailwind CSS 功能。\\n\\n```bash 终端\\npnpm run new\\n\\n? 请选择你想要的操作 启用可选功能\\n? 启用可选功能 启用 Tailwind CSS 支持\\n```\\n\\n---\\n\\n成功开启后,会看到 `package.json` 中新增了依赖。\\n\\n```json ./package.json\\n{\\n \\\"devDependencies\\\": {\\n \\\"@modern-js/plugin-tailwindcss\\\": \\\"x.y.z\\\"\\n }\\n}\\n```\\n\\n</CH.Spotlight>\\n\\nTailwind CSS 提供了两种使用方式:\\n\\n#### HTML 类名\\n\\n<CH.Spotlight>\\n\\n```tsx ./src/index.tsx\\nimport 'tailwindcss/utilities.css';\\n\\nexport default () => {\\n return <div className=\\\"bg-black text-white\\\">hello world</div>;\\n};\\n```\\n\\n---\\n\\nTailwind CSS 支持在 HTML 标签上使用类名的方式增加样式。\\n\\n```tsx ./src/index.tsx focus=5:5\\n\\n```\\n\\n---\\n\\n**当使用 HTML 类名的时候,一定要注意导入 Tailwind CSS 相应的 css 文件。**\\n\\n```tsx ./src/index.tsx focus=1:1\\n\\n```\\n\\n---\\n\\n样式产物。\\n\\n> 此时是 bundle 构建。\\n\\n```css ./dist/es/index.css\\n/* ../../node_modules/.pnpm/tailwindcss@2.2.19/node_modules/tailwindcss/utilities.css */\\n.table {\\n display: table;\\n}\\n@keyframes spin {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes ping {\\n 75%,\\n 100% {\\n transform: scale(2);\\n opacity: 0;\\n }\\n}\\n@keyframes pulse {\\n 50% {\\n opacity: 0.5;\\n }\\n}\\n@keyframes bounce {\\n 0%,\\n 100% {\\n transform: translateY(-25%);\\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\\n }\\n 50% {\\n transform: none;\\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\\n }\\n}\\n.bg-black {\\n --tw-bg-opacity: 1;\\n background-color: rgba(0, 0, 0, var(--tw-bg-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgba(255, 255, 255, var(--tw-text-opacity));\\n}\\n*,\\n::before,\\n::after {\\n --tw-shadow: 0 0 #0000;\\n}\\n*,\\n::before,\\n::after {\\n --tw-ring-inset: var(--tw-empty);\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgba(59, 130, 246, 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n}\\n@media (min-width: 640px) {\\n}\\n@media (min-width: 768px) {\\n}\\n@media (min-width: 1024px) {\\n}\\n@media (min-width: 1280px) {\\n}\\n@media (min-width: 1536px) {\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n#### `@apply`\\n\\nTailwind CSS 提供了 [`@apply`](https://v2.tailwindcss.com/docs/functions-and-directives#apply) 指令,可以通过它将 Tailwind CSS 提供的样式内联到我们编写的样式中。\\n\\n`@apply` 可以用于 CSS、Less、Sass 中。\\n\\n```css\\n.btn {\\n @apply font-bold py-2 px-4 rounded;\\n}\\n```\\n\\n但是使用过程中,对于 Less 和 Sass 有些情况需要注意:\\n\\n##### Sass\\n\\n当将 Tailwind 与 Sass 一起使用时,`@apply` 后面存在 `!important` 的时候,需要使用插值来让 Sass 正确编译。\\n\\n<CH.Spotlight>\\n\\n```sass\\n.alert {\\n @apply bg-red-500 !important;\\n}\\n```\\n\\n---\\n\\n不能正常工作。\\n\\n```sass\\n\\n```\\n\\n---\\n\\n能够正常工作。\\n\\n```sass\\n.alert {\\n @apply bg-red-500 #{!important};\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n##### Less\\n\\n在与 Less 一起使用 Tailwind 时,你不能嵌套 Tailwind 的 `@screen` 指令。\\n\\n<CH.Spotlight>\\n\\n```less\\n.card {\\n @apply rounded-none;\\n\\n @screen sm {\\n @apply rounded-lg;\\n }\\n}\\n```\\n\\n---\\n\\n不能正常工作。\\n\\n```less\\n\\n```\\n\\n---\\n\\n相反,使用常规的媒体查询和 `theme()` 函数来引用你的屏幕尺寸,或者干脆不要嵌套你的 `@screen` 指令。\\n\\n<CH.Code>\\n\\n```less 方法一\\n// Use a regular media query and theme()\\n.card {\\n @apply rounded-none;\\n\\n @media (min-width: theme('screens.sm')) {\\n @apply rounded-lg;\\n }\\n}\\n```\\n\\n---\\n\\n```less 方法二\\n// Use the @screen directive at the top-level\\n.card {\\n @apply rounded-none;\\n\\n @media (min-width: theme('screens.sm')) {\\n @apply rounded-lg;\\n }\\n}\\n```\\n\\n</CH.Code>\\n\\n</CH.Spotlight>\\n\\n#### 推荐方式\\n\\n**推荐使用 `@apply` 指定的方式开发样式,这样在样式产物中仅包含通过指令内联的样式。**\\n\\n当使用 HTML 类名的方式添加样式的时候,默认情况下 Tailwind 不仅会将本身类名对应的样式加入产物中,同时还会有额外的样式代码存在,虽然这些代码可能不会对本身的样式产生影响。\\n\\n#### bundle 和 bundleless 构建产物区别\\n\\n对于以下代码,在 bundle 和 bundleless 两种模式下,构建产物会有很大区别。\\n\\n> 所谓 bundle 和 bundleless 可以查看 [【Bundle 和 Bundleless】](/guide/advance/in-depth-about-build#bundle-和-bundleless)\\n\\n```tsx ./src/index.tsx\\nimport 'tailwindcss/utilities.css';\\n\\nexport default () => {\\n return <div className=\\\"bg-black text-white\\\">hello world11</div>;\\n};\\n```\\n\\nBundle 模式下,会将第三方依赖打包进来。\\n\\n对于样式则会生成一份单独的产物文件,并且在 Js 产物文件中并不会存在导入样式的相关代码。\\n\\n如果需要将样式注入 Js 产物中,可以开启 [`style.inject` API](/api/config/build-config#inject)。\\n\\n<CH.Code>\\n```css ./dist/es/index.css\\n/* ../../node_modules/.pnpm/tailwindcss@2.2.19/node_modules/tailwindcss/utilities.css */\\n.table {\\n display: table;\\n}\\n@keyframes spin {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes ping {\\n 75%, 100% {\\n transform: scale(2);\\n opacity: 0;\\n }\\n}\\n@keyframes pulse {\\n 50% {\\n opacity: .5;\\n }\\n}\\n@keyframes bounce {\\n 0%, 100% {\\n transform: translateY(-25%);\\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\\n }\\n 50% {\\n transform: none;\\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\\n }\\n}\\n.bg-black {\\n --tw-bg-opacity: 1;\\n background-color: rgba(0, 0, 0, var(--tw-bg-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgba(255, 255, 255, var(--tw-text-opacity));\\n}\\n*,\\n::before,\\n::after {\\n --tw-shadow: 0 0 #0000 ;\\n}\\n*,\\n::before,\\n::after {\\n --tw-ring-inset: var(--tw-empty, );\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgba(59, 130, 246, 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000 ;\\n}\\n@media (min-width: 640px) {\\n}\\n@media (min-width: 768px) {\\n}\\n@media (min-width: 1024px) {\\n}\\n@media (min-width: 1280px) {\\n}\\n@media (min-width: 1536px) {\\n}\\n```\\n---\\n``` js ./dist/es/index.js\\n// src/index.tsx\\nimport { jsx } from \\\"react/jsx-runtime\\\";\\nvar src_default = () => {\\n return /* @__PURE__ */ jsx(\\\"div\\\", {\\n className: \\\"bg-black text-white\\\",\\n children: \\\"hello world11\\\"\\n });\\n};\\nexport {\\n src_default as default\\n};\\n```\\n</CH.Code>\\n\\nBundleless 模式下,并不会将第三方依赖打包进来,此时不会有样式产物生成。\\n\\n```js ./dist/es/index.js\\nimport { jsx } from 'react/jsx-runtime';\\nimport 'tailwindcss/utilities.css';\\nvar src_default = () => {\\n return /* @__PURE__ */ jsx('div', {\\n className: 'bg-black text-white',\\n children: 'hello world11',\\n });\\n};\\nexport { src_default as default };\\n```\\n\\n### CSS Modules\\n\\n模块工程支持使用 CSS Module 开发样式。默认情况下会将以下文件识别为 CSS Module 文件:\\n\\n- `.module.css`\\n- `.module.less`\\n- `.module.scss`\\n- `.module.sass`\\n\\n如果需要对 CSS Modules 进行配置,可以查看一下 API:\\n\\n- [autoModules](/api/config/build-config#automodules)\\n- [modules](/api/config/build-config#modules)\\n\\n下面是一个代码示例:\\n\\n<CH.Code>\\n\\n```tsx ./src/index.tsx\\nimport style from './index.module.css';\\n\\nexport default () => {\\n return <div className={style.btn}>hello world</div>;\\n};\\n```\\n\\n```css ./src/index.module.css\\n.btn {\\n color: blue;\\n}\\n```\\n\\n</CH.Code>\\n\\n## 配置构建产物\\n\\n根据组件项目使用的多数场景,**推荐使用 `npm-component` 构建预设**。该预设得到的产物目录结构为:\\n\\n```bash\\n.\\n├── dist\\n│ ├── es\\n│ ├── lib\\n│ └── types\\n```\\n\\n- `./dist/es`: 包含了支持 es6 语法的 ES modules 格式的 bundleless 产物。\\n- `./dist/lib`: 包含了支持 es6 语法的 CommonJS 格式的 bundleless 产物。\\n- `./dist/types`: 包含了类型文件。\\n\\n如果对使用语法支持有要求,可以手动配置 [`buildPreset`](/api/config/build-preset),并且支持在 `npm-component` 基础上增加后缀的方式修改支持的语法:\\n\\n```tsx\\nexport default defineConfig({\\n buildPreset: 'npm-component-es2019',\\n});\\n```\\n\\n如果对构建产物目录结构有特殊需求,则可以使用 [`buildConfig` API](/api/config/build-config),可以通过以下文档来了解使用方式:\\n\\n- [修改输出产物](/guide/basic/modify-output-product#构建配置对象)\\n- [深入理解构建](/guide/advance/in-depth-about-build)\\n\\n## 测试组件\\n\\n关于如何对组件进行测试,可以参考 [【测试项目】](/guide/basic/test-your-project)。\\n\\n## 发布组件\\n\\n推荐使用模块工程提供版本发布功能,可以参考 [【版本管理与发布】](/guide/basic/publish-your-project)。\\n\"";
1256
+ const title = `开发组件`;
1257
+ const content = "\"---\\nsidebar_position: 1\\n---\\n\\n# 开发组件\\n\\n本章将要介绍如何使用模块工程解决方案开发组件项目。\\n\\n## 初始化项目\\n\\n<CH.Spotlight>\\n\\n```bash 交互式问题\\nnpx @modern-js/create components-project\\n\\n? 请选择你想创建的工程类型 模块\\n? 请填写项目名称 components-demo\\n? 请选择开发语言 TS\\n? 请选择包管理工具 pnpm\\n```\\n\\n---\\n\\n推荐使用 `@modern-js/create` 命令来初始化一个 npm 项目。\\n\\n```bash 交互式问题\\nnpx @modern-js/create components-project\\n\\n? 请选择你想创建的工程类型 模块\\n? 请填写项目名称 components-demo\\n? 请选择开发语言 TS\\n? 请选择包管理工具 pnpm\\n```\\n\\n---\\n\\n初始化的目录结构。\\n\\n```bash 初始化的目录结构。\\n.\\n├── README.md\\n├── node_modules/\\n├── dist/\\n├── modern.config.ts\\n├── package.json\\n├── pnpm-lock.yaml\\n├── src\\n│ ├── index.ts\\n│ └── modern-app-env.d.ts\\n└── tsconfig.json\\n```\\n\\n---\\n\\n修改 `./src/index.ts` 文件后缀和内容。\\n\\n此时就初始化了一个组件项目。\\n\\n```tsx ./src/index.tsx\\nexport default () => {\\n return <div>hello world</div>;\\n};\\n```\\n\\n</CH.Spotlight>\\n\\n## 使用 Storybook 调试代码\\n\\n<CH.Spotlight>\\n\\n```bash 终端\\npnpm run new\\n\\n? 请选择你想要的操作 启用可选功能\\n? 启用可选功能 启用「Storybook」\\n```\\n\\n---\\n\\n在项目根目录下执行 `new` 命令,可以开启 Storybook 功能。\\n\\n```bash 终端\\npnpm run new\\n\\n? 请选择你想要的操作 启用可选功能\\n? 启用可选功能 启用「Storybook」\\n```\\n\\n---\\n\\n成功开启后,会看到 `package.json` 中新增了依赖。同时创建了 `stories` 目录和相关的初始化文件。\\n\\n<CH.Code>\\n\\n```json ./package.json focus=4:7\\n{\\n \\\"name\\\": \\\"components-demo\\\",\\n \\\"devDependencies\\\": {\\n \\\"@modern-js/plugin-storybook\\\": \\\"x.y.z\\\",\\n \\\"@modern-js/runtime\\\": \\\"x.y.z\\\",\\n \\\"react\\\": \\\"^17\\\",\\n \\\"react-dom\\\": \\\"^17\\\"\\n }\\n}\\n```\\n\\n```bash 目录结构\\n.\\n├── src\\n│ ├── index.ts\\n│ └── modern-app-env.d.ts\\n├── stories\\n│ ├── .eslintrc.js\\n│ ├── index.stories.tsx\\n│ └── tsconfig.json\\n```\\n\\n</CH.Code>\\n\\n---\\n\\n初始化后,在 `./stories` 目录下的 `tsconfig.json` 文件中默认设置了与项目同名的 `paths` 配置。\\n\\n```json ./stories/tsconfig.json focus=5:7\\n{\\n \\\"extends\\\": \\\"../tsconfig.json\\\",\\n \\\"compilerOptions\\\": {\\n \\\"baseUrl\\\": \\\"../\\\",\\n \\\"paths\\\": {\\n \\\"components-demo\\\": [\\\"./\\\"],\\n \\\"components-demo/*\\\": [\\\"./*\\\"]\\n }\\n },\\n \\\"include\\\": [\\\"**/*\\\"]\\n}\\n```\\n\\n---\\n\\n这样的配置可以让你在 Story 代码中直接使用项目的名称引入代码。\\n\\n<CH.Code>\\n\\n```tsx ./stories/index.stories.tsx\\nimport Component from 'components-demo';\\n\\nexport const YourStory = () => <Component />;\\n\\nexport default {\\n title: 'Your Stories',\\n};\\n```\\n\\n---\\n\\n```tsx ./src/index.tsx\\nexport default () => {\\n return <div>hello world</div>;\\n};\\n```\\n\\n</CH.Code>\\n\\n---\\n\\n此时 Storybook 会根据项目的 `package.json` 文件中的 `main`、`exports` 这样的字段确认导入代码的入口;\\n根据 `types` 字段确定类型文件的位置。\\n\\n```json package.json\\n{\\n \\\"name\\\": \\\"components-demo\\\",\\n \\\"main\\\": \\\"./dist/esm/index.js\\\",\\n \\\"types\\\": \\\"./dist/types/index.d.ts\\\"\\n}\\n```\\n\\n---\\n\\n虽然也支持导入源代码进行调试,不过使用项目产物调试更加可靠。\\n\\n使用源代码调试存在局限性:某些配置无法在 Storybook 和原本构建支持的配置等价使用。\\n\\n**因此更推荐使用产物进行调试**。\\n\\n```tsx ./stories/index.stories.tsx\\nimport Component from '../src';\\n\\nexport const YourStory = () => <Component />;\\n\\nexport default {\\n title: 'Your Stories',\\n};\\n```\\n\\n</CH.Spotlight>\\n\\n## 开发样式\\n\\n接下来我们可以给组件添加样式。\\n\\n目前支持开发样式的能力有:\\n\\n- CSS/PostCSS\\n- Less\\n- Scss/Sass\\n- Tailwind CSS\\n- CSS Modules\\n\\n### CSS/PostCSS\\n\\n模块工程支持 PostCSS,并且内置了以下 postcss 插件:\\n\\n- [flexbugs-fixes](https://github.com/luisrudge/postcss-flexbugs-fixes)\\n- [custom-properties](https://github.com/postcss/postcss-custom-properties)\\n- [initial](https://github.com/maximkoretskiy/postcss-initial)\\n- [page-break](https://github.com/shrpne/postcss-page-break)\\n- [font-variant](https://github.com/postcss/postcss-font-variant)\\n- [media-minmax](https://github.com/postcss/postcss-media-minmax)\\n- [nesting](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting#readme)\\n\\n因此我们可以在项目中创建 `.css` 文件,并且可以直接在 css 文件中使用这些插件提供的语法支持和能力。\\n\\n<CH.Spotlight>\\n\\n```css ./src/index.css\\na,\\nb {\\n color: red;\\n\\n /* \\\"&\\\" comes first */\\n & c,\\n & d {\\n color: white;\\n }\\n\\n /* \\\"&\\\" comes later, requiring \\\"@nest\\\" */\\n @nest e & {\\n color: yellow;\\n }\\n}\\n```\\n\\n---\\n\\n源代码。\\n\\n```css ./src/index.css\\n\\n```\\n\\n---\\n\\ncss 产物。\\n\\n```css ./dist/es/index.css\\na,\\nb {\\n color: red;\\n}\\na c,\\nb c,\\na d,\\nb d {\\n color: white;\\n}\\ne a,\\ne b {\\n color: yellow;\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n### Less\\n\\n模块工程支持使用 Less 开发样式。\\n\\n> 目前支持的版本为 4.1.3\\n\\n<CH.Spotlight>\\n\\n```less ./src/common.less\\n@bg: black;\\n@bg-light: boolean(luma(@bg) > 50%);\\n\\ndiv {\\n background: @bg;\\n color: if(@bg-light, black, white);\\n}\\n```\\n\\n---\\n\\n源代码。\\n\\n```less ./src/common.less\\n\\n```\\n\\n---\\n\\nLess 产物。\\n\\n```css ./dist/es/common.css\\ndiv {\\n background: black;\\n color: white;\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n### Sass/Scss\\n\\n模块工程支持使用 Scss/Sass 开发样式。\\n\\n> 目前支持的版本为 1.54.4\\n\\n<CH.Spotlight>\\n\\n```sass ./src/common.sass\\n$font-stack: Helvetica, sans-serif;\\n$primary-color: #333;\\n\\nbody {\\n font: 100% $font-stack;\\n color: $primary-color;\\n}\\n```\\n\\n---\\n\\n源代码。\\n\\n```sass ./src/common.sass\\n\\n```\\n\\n---\\n\\nLess 产物。\\n\\n```css ./dist/es/common.css\\nbody {\\n font: 100% Helvetica, sans-serif;\\n color: #333;\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n### Tailwind CSS\\n\\n模块工程支持使用 Tailwind CSS 开发组件样式。\\n\\n默认情况下,模块工程没有开启该功能,需要按照下面的方式开启它。\\n\\n<CH.Spotlight>\\n\\n```bash 终端\\npnpm run new\\n\\n? 请选择你想要的操作 启用可选功能\\n? 启用可选功能 启用「Storybook」\\n```\\n\\n---\\n\\n在项目根目录下执行 `new` 命令,可以开启 Tailwind CSS 功能。\\n\\n```bash 终端\\npnpm run new\\n\\n? 请选择你想要的操作 启用可选功能\\n? 启用可选功能 启用 Tailwind CSS 支持\\n```\\n\\n---\\n\\n成功开启后,会看到 `package.json` 中新增了依赖。\\n\\n```json ./package.json\\n{\\n \\\"devDependencies\\\": {\\n \\\"@modern-js/plugin-tailwindcss\\\": \\\"x.y.z\\\"\\n }\\n}\\n```\\n\\n</CH.Spotlight>\\n\\nTailwind CSS 提供了两种使用方式:\\n\\n#### HTML 类名\\n\\n<CH.Spotlight>\\n\\n```tsx ./src/index.tsx\\nimport 'tailwindcss/utilities.css';\\n\\nexport default () => {\\n return <div className=\\\"bg-black text-white\\\">hello world</div>;\\n};\\n```\\n\\n---\\n\\nTailwind CSS 支持在 HTML 标签上使用类名的方式增加样式。\\n\\n```tsx ./src/index.tsx focus=5:5\\n\\n```\\n\\n---\\n\\n**当使用 HTML 类名的时候,一定要注意导入 Tailwind CSS 相应的 css 文件。**\\n\\n```tsx ./src/index.tsx focus=1:1\\n\\n```\\n\\n---\\n\\n样式产物。\\n\\n> 此时是 bundle 构建。\\n\\n```css ./dist/es/index.css\\n/* ../../node_modules/.pnpm/tailwindcss@2.2.19/node_modules/tailwindcss/utilities.css */\\n.table {\\n display: table;\\n}\\n@keyframes spin {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes ping {\\n 75%,\\n 100% {\\n transform: scale(2);\\n opacity: 0;\\n }\\n}\\n@keyframes pulse {\\n 50% {\\n opacity: 0.5;\\n }\\n}\\n@keyframes bounce {\\n 0%,\\n 100% {\\n transform: translateY(-25%);\\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\\n }\\n 50% {\\n transform: none;\\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\\n }\\n}\\n.bg-black {\\n --tw-bg-opacity: 1;\\n background-color: rgba(0, 0, 0, var(--tw-bg-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgba(255, 255, 255, var(--tw-text-opacity));\\n}\\n*,\\n::before,\\n::after {\\n --tw-shadow: 0 0 #0000;\\n}\\n*,\\n::before,\\n::after {\\n --tw-ring-inset: var(--tw-empty);\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgba(59, 130, 246, 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n}\\n@media (min-width: 640px) {\\n}\\n@media (min-width: 768px) {\\n}\\n@media (min-width: 1024px) {\\n}\\n@media (min-width: 1280px) {\\n}\\n@media (min-width: 1536px) {\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n#### `@apply`\\n\\nTailwind CSS 提供了 [`@apply`](https://v2.tailwindcss.com/docs/functions-and-directives#apply) 指令,可以通过它将 Tailwind CSS 提供的样式内联到我们编写的样式中。\\n\\n`@apply` 可以用于 CSS、Less、Sass 中。\\n\\n```css\\n.btn {\\n @apply font-bold py-2 px-4 rounded;\\n}\\n```\\n\\n但是使用过程中,对于 Less 和 Sass 有些情况需要注意:\\n\\n##### Sass\\n\\n当将 Tailwind 与 Sass 一起使用时,`@apply` 后面存在 `!important` 的时候,需要使用插值来让 Sass 正确编译。\\n\\n<CH.Spotlight>\\n\\n```sass\\n.alert {\\n @apply bg-red-500 !important;\\n}\\n```\\n\\n---\\n\\n不能正常工作。\\n\\n```sass\\n\\n```\\n\\n---\\n\\n能够正常工作。\\n\\n```sass\\n.alert {\\n @apply bg-red-500 #{!important};\\n}\\n```\\n\\n</CH.Spotlight>\\n\\n##### Less\\n\\n在与 Less 一起使用 Tailwind 时,你不能嵌套 Tailwind 的 `@screen` 指令。\\n\\n<CH.Spotlight>\\n\\n```less\\n.card {\\n @apply rounded-none;\\n\\n @screen sm {\\n @apply rounded-lg;\\n }\\n}\\n```\\n\\n---\\n\\n不能正常工作。\\n\\n```less\\n\\n```\\n\\n---\\n\\n相反,使用常规的媒体查询和 `theme()` 函数来引用你的屏幕尺寸,或者干脆不要嵌套你的 `@screen` 指令。\\n\\n<CH.Code>\\n\\n```less 方法一\\n// Use a regular media query and theme()\\n.card {\\n @apply rounded-none;\\n\\n @media (min-width: theme('screens.sm')) {\\n @apply rounded-lg;\\n }\\n}\\n```\\n\\n---\\n\\n```less 方法二\\n// Use the @screen directive at the top-level\\n.card {\\n @apply rounded-none;\\n\\n @media (min-width: theme('screens.sm')) {\\n @apply rounded-lg;\\n }\\n}\\n```\\n\\n</CH.Code>\\n\\n</CH.Spotlight>\\n\\n#### 推荐方式\\n\\n**推荐使用 `@apply` 指定的方式开发样式,这样在样式产物中仅包含通过指令内联的样式。**\\n\\n当使用 HTML 类名的方式添加样式的时候,默认情况下 Tailwind 不仅会将本身类名对应的样式加入产物中,同时还会有额外的样式代码存在,虽然这些代码可能不会对本身的样式产生影响。\\n\\n#### bundle 和 bundleless 构建产物区别\\n\\n对于以下代码,在 bundle 和 bundleless 两种模式下,构建产物会有很大区别。\\n\\n> 所谓 bundle 和 bundleless 可以查看 [【Bundle 和 Bundleless】](/guide/advance/in-depth-about-build#bundle-和-bundleless)\\n\\n```tsx ./src/index.tsx\\nimport 'tailwindcss/utilities.css';\\n\\nexport default () => {\\n return <div className=\\\"bg-black text-white\\\">hello world11</div>;\\n};\\n```\\n\\nBundle 模式下,会将第三方依赖打包进来。\\n\\n对于样式则会生成一份单独的产物文件,并且在 Js 产物文件中并不会存在导入样式的相关代码。\\n\\n如果需要将样式注入 Js 产物中,可以开启 [`style.inject` API](/api/config/build-config#inject)。\\n\\n<CH.Code>\\n```css ./dist/es/index.css\\n/* ../../node_modules/.pnpm/tailwindcss@2.2.19/node_modules/tailwindcss/utilities.css */\\n.table {\\n display: table;\\n}\\n@keyframes spin {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes ping {\\n 75%, 100% {\\n transform: scale(2);\\n opacity: 0;\\n }\\n}\\n@keyframes pulse {\\n 50% {\\n opacity: .5;\\n }\\n}\\n@keyframes bounce {\\n 0%, 100% {\\n transform: translateY(-25%);\\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\\n }\\n 50% {\\n transform: none;\\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\\n }\\n}\\n.bg-black {\\n --tw-bg-opacity: 1;\\n background-color: rgba(0, 0, 0, var(--tw-bg-opacity));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgba(255, 255, 255, var(--tw-text-opacity));\\n}\\n*,\\n::before,\\n::after {\\n --tw-shadow: 0 0 #0000 ;\\n}\\n*,\\n::before,\\n::after {\\n --tw-ring-inset: var(--tw-empty, );\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgba(59, 130, 246, 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000 ;\\n}\\n@media (min-width: 640px) {\\n}\\n@media (min-width: 768px) {\\n}\\n@media (min-width: 1024px) {\\n}\\n@media (min-width: 1280px) {\\n}\\n@media (min-width: 1536px) {\\n}\\n```\\n---\\n``` js ./dist/es/index.js\\n// src/index.tsx\\nimport { jsx } from \\\"react/jsx-runtime\\\";\\nvar src_default = () => {\\n return /* @__PURE__ */ jsx(\\\"div\\\", {\\n className: \\\"bg-black text-white\\\",\\n children: \\\"hello world11\\\"\\n });\\n};\\nexport {\\n src_default as default\\n};\\n```\\n</CH.Code>\\n\\nBundleless 模式下,并不会将第三方依赖打包进来,此时不会有样式产物生成。\\n\\n```js ./dist/es/index.js\\nimport { jsx } from 'react/jsx-runtime';\\nimport 'tailwindcss/utilities.css';\\nvar src_default = () => {\\n return /* @__PURE__ */ jsx('div', {\\n className: 'bg-black text-white',\\n children: 'hello world11',\\n });\\n};\\nexport { src_default as default };\\n```\\n\\n### CSS Modules\\n\\n模块工程支持使用 CSS Module 开发样式。默认情况下会将以下文件识别为 CSS Module 文件:\\n\\n- `.module.css`\\n- `.module.less`\\n- `.module.scss`\\n- `.module.sass`\\n\\n如果需要对 CSS Modules 进行配置,可以查看一下 API:\\n\\n- [autoModules](/api/config/build-config#automodules)\\n- [modules](/api/config/build-config#modules)\\n\\n下面是一个代码示例:\\n\\n<CH.Code>\\n\\n```tsx ./src/index.tsx\\nimport style from './index.module.css';\\n\\nexport default () => {\\n return <div className={style.btn}>hello world</div>;\\n};\\n```\\n\\n```css ./src/index.module.css\\n.btn {\\n color: blue;\\n}\\n```\\n\\n</CH.Code>\\n\\n## 配置构建产物\\n\\n根据组件项目使用的多数场景,**推荐使用 `npm-component` 构建预设**。该预设得到的产物目录结构为:\\n\\n```bash\\n.\\n├── dist\\n│ ├── es\\n│ ├── lib\\n│ └── types\\n```\\n\\n- `./dist/es`: 包含了支持 es6 语法的 ES modules 格式的 bundleless 产物。\\n- `./dist/lib`: 包含了支持 es6 语法的 CommonJS 格式的 bundleless 产物。\\n- `./dist/types`: 包含了类型文件。\\n\\n如果对使用语法支持有要求,可以手动配置 [`buildPreset`](/api/config/build-preset),并且支持在 `npm-component` 基础上增加后缀的方式修改支持的语法:\\n\\n```tsx\\nexport default defineConfig({\\n buildPreset: 'npm-component-es2019',\\n});\\n```\\n\\n如果对构建产物目录结构有特殊需求,则可以使用 [`buildConfig` API](/api/config/build-config),可以通过以下文档来了解使用方式:\\n\\n- [修改输出产物](/guide/basic/modify-output-product#构建配置对象)\\n- [深入理解构建](/guide/advance/in-depth-about-build)\\n\\n## 测试组件\\n\\n关于如何对组件进行测试,可以参考 [【测试项目】](/guide/basic/test-your-project)。\\n\\n## 发布组件\\n\\n推荐使用模块工程提供版本发布功能,可以参考 [【版本管理与发布】](/guide/basic/publish-your-project)。\\n\"";
1258
1258
  function _createMdxContent(props) {
1259
- var _components = Object.assign({
1259
+ const _components = Object.assign({
1260
1260
  h1: "h1",
1261
1261
  a: "a",
1262
1262
  p: "p",
@@ -4492,36 +4492,50 @@ function _createMdxContent(props) {
4492
4492
  children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
4493
4493
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4494
4494
  href: "https://github.com/luisrudge/postcss-flexbugs-fixes",
4495
+ target: "_blank",
4496
+ rel: "nofollow",
4495
4497
  children: "flexbugs-fixes"
4496
4498
  })
4497
4499
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
4498
4500
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4499
4501
  href: "https://github.com/postcss/postcss-custom-properties",
4502
+ target: "_blank",
4503
+ rel: "nofollow",
4500
4504
  children: "custom-properties"
4501
4505
  })
4502
4506
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
4503
4507
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4504
4508
  href: "https://github.com/maximkoretskiy/postcss-initial",
4509
+ target: "_blank",
4510
+ rel: "nofollow",
4505
4511
  children: "initial"
4506
4512
  })
4507
4513
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
4508
4514
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4509
4515
  href: "https://github.com/shrpne/postcss-page-break",
4516
+ target: "_blank",
4517
+ rel: "nofollow",
4510
4518
  children: "page-break"
4511
4519
  })
4512
4520
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
4513
4521
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4514
4522
  href: "https://github.com/postcss/postcss-font-variant",
4523
+ target: "_blank",
4524
+ rel: "nofollow",
4515
4525
  children: "font-variant"
4516
4526
  })
4517
4527
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
4518
4528
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4519
4529
  href: "https://github.com/postcss/postcss-media-minmax",
4530
+ target: "_blank",
4531
+ rel: "nofollow",
4520
4532
  children: "media-minmax"
4521
4533
  })
4522
4534
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
4523
4535
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
4524
4536
  href: "https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-nesting#readme",
4537
+ target: "_blank",
4538
+ rel: "nofollow",
4525
4539
  children: "nesting"
4526
4540
  })
4527
4541
  }), "\n"]
@@ -11583,7 +11597,9 @@ function _createMdxContent(props) {
11583
11597
  })]
11584
11598
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
11585
11599
  children: ["Tailwind CSS 提供了 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
11586
- href: "https://v2.tailwindcss.com/docs/functions-and-directives#apply",
11600
+ href: "https://v2.tailwindcss.com/docs/functions-and-directives#apply-1",
11601
+ target: "_blank",
11602
+ rel: "nofollow",
11587
11603
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
11588
11604
  children: "@apply"
11589
11605
  })
@@ -13008,7 +13024,7 @@ function _createMdxContent(props) {
13008
13024
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.blockquote, {
13009
13025
  children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
13010
13026
  children: ["所谓 bundle 和 bundleless 可以查看 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
13011
- href: "/guide/advance/in-depth-about-build#bundle-%E5%92%8C-bundleless.html",
13027
+ href: "/module-tools/guide/advance/in-depth-about-build.html#bundle-%E5%92%8C-bundleless-1",
13012
13028
  children: "【Bundle 和 Bundleless】"
13013
13029
  })]
13014
13030
  }), "\n"]
@@ -13254,7 +13270,7 @@ function _createMdxContent(props) {
13254
13270
  children: "对于样式则会生成一份单独的产物文件,并且在 Js 产物文件中并不会存在导入样式的相关代码。"
13255
13271
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
13256
13272
  children: ["如果需要将样式注入 Js 产物中,可以开启 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.a, {
13257
- href: "/api/config/build-config#inject.html",
13273
+ href: "/module-tools/api/config/build-config.html#inject",
13258
13274
  children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
13259
13275
  children: "style.inject"
13260
13276
  }), " API"]
@@ -20056,12 +20072,12 @@ function _createMdxContent(props) {
20056
20072
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
20057
20073
  children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
20058
20074
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
20059
- href: "/api/config/build-config#automodules.html",
20075
+ href: "/module-tools/api/config/build-config.html#automodules",
20060
20076
  children: "autoModules"
20061
20077
  })
20062
20078
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
20063
20079
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
20064
- href: "/api/config/build-config#modules.html",
20080
+ href: "/module-tools/api/config/build-config.html#modules",
20065
20081
  children: "modules"
20066
20082
  })
20067
20083
  }), "\n"]
@@ -20863,7 +20879,7 @@ function _createMdxContent(props) {
20863
20879
  }), "\n"]
20864
20880
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
20865
20881
  children: ["如果对使用语法支持有要求,可以手动配置 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
20866
- href: "/api/config/build-preset.html",
20882
+ href: "/module-tools/api/config/build-preset.html",
20867
20883
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
20868
20884
  children: "buildPreset"
20869
20885
  })
@@ -21020,7 +21036,7 @@ function _createMdxContent(props) {
21020
21036
  }]
21021
21037
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
21022
21038
  children: ["如果对构建产物目录结构有特殊需求,则可以使用 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.a, {
21023
- href: "/api/config/build-config.html",
21039
+ href: "/module-tools/api/config/build-config.html",
21024
21040
  children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.code, {
21025
21041
  children: "buildConfig"
21026
21042
  }), " API"]
@@ -21028,12 +21044,12 @@ function _createMdxContent(props) {
21028
21044
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.ul, {
21029
21045
  children: ["\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
21030
21046
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
21031
- href: "/guide/basic/modify-output-product#%E6%9E%84%E5%BB%BA%E9%85%8D%E7%BD%AE%E5%AF%B9%E8%B1%A1.html",
21047
+ href: "/module-tools/guide/basic/modify-output-product.html#%E6%9E%84%E5%BB%BA%E9%85%8D%E7%BD%AE%E5%AF%B9%E8%B1%A1",
21032
21048
  children: "修改输出产物"
21033
21049
  })
21034
21050
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.li, {
21035
21051
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
21036
- href: "/guide/advance/in-depth-about-build.html",
21052
+ href: "/module-tools/guide/advance/in-depth-about-build.html",
21037
21053
  children: "深入理解构建"
21038
21054
  })
21039
21055
  }), "\n"]
@@ -21047,7 +21063,7 @@ function _createMdxContent(props) {
21047
21063
  }), "测试组件"]
21048
21064
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
21049
21065
  children: ["关于如何对组件进行测试,可以参考 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
21050
- href: "/guide/basic/test-your-project.html",
21066
+ href: "/module-tools/guide/basic/test-your-project.html",
21051
21067
  children: "【测试项目】"
21052
21068
  }), "。"]
21053
21069
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.h2, {
@@ -21060,29 +21076,25 @@ function _createMdxContent(props) {
21060
21076
  }), "发布组件"]
21061
21077
  }), "\n", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_components.p, {
21062
21078
  children: ["推荐使用模块工程提供版本发布功能,可以参考 ", (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components.a, {
21063
- href: "/guide/basic/publish-your-project.html",
21079
+ href: "/module-tools/guide/basic/publish-your-project.html",
21064
21080
  children: "【版本管理与发布】"
21065
21081
  }), "。"]
21066
21082
  })]
21067
21083
  });
21068
21084
  }
21069
- function MDXContent() {
21070
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21071
- var _ref = props.components || {},
21072
- MDXLayout = _ref.wrapper;
21085
+ function MDXContent(props = {}) {
21086
+ const {wrapper: MDXLayout} = props.components || ({});
21073
21087
  return MDXLayout ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MDXLayout, Object.assign({}, props, {
21074
21088
  children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_createMdxContent, props)
21075
21089
  })) : _createMdxContent(props);
21076
21090
  }
21077
- _c = MDXContent;
21078
21091
  /* harmony default export */ __webpack_exports__["default"] = (MDXContent);
21079
21092
  function _missingMdxReference(id, component, place) {
21080
- throw new Error("Expected " + (component ? "component" : "object") + " `" + id + "` to be defined: you likely forgot to import, pass, or provide it." + (place ? "\nIt’s referenced in your code at `" + place + "` in `/Users/bytedance/modern.js/website/module-tools/docs/zh/guide/best-practices/components.mdx`" : ""));
21093
+ throw new Error("Expected " + (component ? "component" : "object") + " `" + id + "` to be defined: you likely forgot to import, pass, or provide it." + (place ? "\nIt’s referenced in your code at `" + place + "` in `/Users/targeral/github/targeral-modern-js/website/module-tools/docs/zh/guide/best-practices/components.mdx`" : ""));
21081
21094
  }
21082
- var _c;
21083
- __webpack_require__.$Refresh$.register(_c, "MDXContent");
21095
+
21084
21096
 
21085
21097
  /***/ })
21086
21098
 
21087
21099
  }]);
21088
- //# sourceMappingURL=guide_best-practices_components.js.map
21100
+ //# sourceMappingURL=zh_guide_best-practices_components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/async/guide_best-practices_components.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;AAAA;;;;AAaA;;;;AAkBA;;AAAA;;AAEA;;;;;;;;;;AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAAA;;;;AAWA;;AAAA;;AAAA;;;;AA+BA;;AAAA;;AAAA;;AAAA;;;;AAkBA;;;;AA0BA;;AAAA;;AAAA;;AAAA;;AACA;;;;AAYA;;AAEA;;;AAEA;AAAA;;;;;;;;;;AAcA;;AAEA;;AAEA;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;AAEA;;AAEA;;;;;AAEA;;;;;AACA;;;;;AACA;;;;;AACA;;;;;AACA;;;;;AACA;;;;;AACA;;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA;;;;AAQA;;;;;;;;;;AAqBA;;AAEA;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;AAQA;;;;;;;;;;AAWA;;AAEA;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;AAQA;;;;;;;;;;AAWA;;AAEA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAAA;;;;AAWA;;AAAA;;;;AAYA;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;;;;AAQA;;;;;AAQA;;;AAEA;;;;;;;;;;;;;;;AA0EA;;;;;AAAA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;;;AAQA;;;;;;;;;;AAUA;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;AAQA;;AAAA;;AAAA;;;;;;;;;;AAgCA;;;AAEA;;AAAA;;;AAEA;;;;;;;;AAEA;;AAEA;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;;AAEA;;AAEA;;;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;AAEA;;;;;;;;;;;;;;;;;;;;AAOA;;;;;AAEA;;;;;AACA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA;;AAEA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;;;;AACA;;;;AACA;;;AAEA;;;;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;;;AAAA;AAAA;;;;;AAEA;;;;;AACA;;;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;;;;;;;AAEA;;AAEA;;AAAA;AAAA","sources":["webpack://@modern-js/module-tools-docs/./docs/zh/guide/best-practices/components.mdx"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/async/zh_guide_best-practices_components.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;AAAA;;;;AAaA;;;;AAkBA;;AAAA;;AAEA;;;;;;;;;;AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAAA;;;;AAWA;;AAAA;;AAAA;;;;AA+BA;;AAAA;;AAAA;;AAAA;;;;AAkBA;;;;AA0BA;;AAAA;;AAAA;;AAAA;;AACA;;;;AAYA;;AAEA;;;AAEA;AAAA;;;;;;;;;;AAcA;;AAEA;;AAEA;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;AAEA;;AAEA;;;;;;;AAEA;;;;;;;AACA;;;;;;;AACA;;;;;;;AACA;;;;;;;AACA;;;;;;;AACA;;;;;;;AACA;;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA;;;;AAQA;;;;;;;;;;AAqBA;;AAEA;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;AAQA;;;;;;;;;;AAWA;;AAEA;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;AAQA;;;;;;;;;;AAWA;;AAEA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA;;AAAA;;;;AAWA;;AAAA;;;;AAYA;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;;;;AAQA;;;;;AAQA;;;AAEA;;;;;;;;;;;;;;;AA0EA;;;;;;;AAAA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;;;;;;;AAEA;;AAEA;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA;;;;AAQA;;;;;;;;;;AAUA;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;;AAQA;;AAAA;;AAAA;;;;;;;;;;AAgCA;;;AAEA;;AAAA;;;AAEA;;;;;;;;AAEA;;AAEA;;;AAEA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;;AAEA;;AAEA;;;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA;;AAEA;;;;;;;;;;;;;;;;;;;;AAOA;;;;;AAEA;;;;;AACA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA;;AAEA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA;;;;AACA;;;;AACA;;;AAEA;;;;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;;;AAAA;AAAA;;;;;AAEA;;;;;AACA;;;;;;;;;;AAEA;;AAEA;;AAAA;AAAA;;;;;;;;AAEA;;AAEA;;AAAA;AAAA","sources":["webpack://@modern-js/module-tools-docs/./docs/zh/guide/best-practices/components.mdx"],"names":[],"sourceRoot":""}