@modern-js/module-tools-docs 2.0.2 → 2.2.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 (313) hide show
  1. package/doc_build/api/config/build-config.html +332 -0
  2. package/doc_build/api/config/build-preset.html +43 -0
  3. package/doc_build/api/config/design-system.html +103 -0
  4. package/doc_build/api/config/plugins.html +7 -0
  5. package/doc_build/api/config/testing.html +21 -0
  6. package/doc_build/api/index.html +1 -0
  7. package/doc_build/api/plugin-api/plugin-hooks.html +113 -0
  8. package/doc_build/en/api/config/build-config.html +316 -0
  9. package/doc_build/en/api/config/build-preset.html +43 -0
  10. package/doc_build/en/api/config/design-system.html +117 -0
  11. package/doc_build/en/api/config/plugins.html +7 -0
  12. package/doc_build/en/api/config/testing.html +21 -0
  13. package/doc_build/en/api/index.html +1 -0
  14. package/doc_build/en/api/plugin-api/plugin-hooks.html +113 -0
  15. package/doc_build/en/guide/advance/asset.html +25 -0
  16. package/doc_build/en/guide/advance/build-umd.html +32 -0
  17. package/doc_build/en/guide/advance/copy.html +42 -0
  18. package/doc_build/en/guide/advance/external-dependency.html +31 -0
  19. package/doc_build/en/guide/advance/in-depth-about-build.html +112 -0
  20. package/doc_build/en/guide/advance/in-depth-about-dev-command.html +12 -0
  21. package/doc_build/en/guide/advance/theme-config.html +29 -0
  22. package/doc_build/en/guide/basic/before-getting-started.html +89 -0
  23. package/doc_build/en/guide/basic/command-preview.html +63 -0
  24. package/doc_build/en/guide/basic/modify-output-product.html +98 -0
  25. package/doc_build/en/guide/basic/publish-your-project.html +50 -0
  26. package/doc_build/en/guide/basic/test-your-project.html +31 -0
  27. package/doc_build/en/guide/basic/use-micro-generator.html +29 -0
  28. package/doc_build/en/guide/basic/using-storybook.html +66 -0
  29. package/doc_build/en/guide/best-practices/components.html +111 -0
  30. package/doc_build/en/guide/intro/getting-started.html +36 -0
  31. package/doc_build/en/guide/intro/welcome.html +13 -0
  32. package/doc_build/en/guide/intro/why-module-engineering-solution.html +9 -0
  33. package/doc_build/en/index.html +1 -0
  34. package/doc_build/en/plugins/guide/getting-started.html +15 -0
  35. package/doc_build/en/plugins/guide/plugin-object.html +14 -0
  36. package/doc_build/en/plugins/guide/setup-function.html +30 -0
  37. package/doc_build/en/plugins/official-list/overview.html +3 -0
  38. package/doc_build/guide/advance/asset.html +25 -0
  39. package/doc_build/guide/advance/build-umd.html +32 -0
  40. package/doc_build/guide/advance/copy.html +42 -0
  41. package/doc_build/guide/advance/external-dependency.html +31 -0
  42. package/doc_build/guide/advance/in-depth-about-build.html +112 -0
  43. package/doc_build/guide/advance/in-depth-about-dev-command.html +14 -0
  44. package/doc_build/guide/advance/theme-config.html +28 -0
  45. package/doc_build/guide/basic/before-getting-started.html +89 -0
  46. package/doc_build/guide/basic/command-preview.html +63 -0
  47. package/doc_build/guide/basic/modify-output-product.html +97 -0
  48. package/doc_build/guide/basic/publish-your-project.html +52 -0
  49. package/doc_build/guide/basic/test-your-project.html +32 -0
  50. package/doc_build/guide/basic/use-micro-generator.html +27 -0
  51. package/doc_build/guide/basic/using-storybook.html +67 -0
  52. package/doc_build/guide/best-practices/components.html +111 -0
  53. package/doc_build/guide/intro/getting-started.html +39 -0
  54. package/doc_build/guide/intro/welcome.html +13 -0
  55. package/doc_build/guide/intro/why-module-engineering-solution.html +9 -0
  56. package/doc_build/index.html +1 -0
  57. package/doc_build/plugins/guide/getting-started.html +15 -0
  58. package/doc_build/plugins/guide/plugin-object.html +14 -0
  59. package/doc_build/plugins/guide/setup-function.html +30 -0
  60. package/doc_build/plugins/official-list/overview.html +3 -0
  61. package/doc_build/static/css/main.edaad072.css +1 -0
  62. package/doc_build/static/js/1607.70af642a.js +2 -0
  63. package/doc_build/static/js/1607.70af642a.js.LICENSE.txt +23 -0
  64. package/doc_build/static/js/async/3799.e31e8293.js +1 -0
  65. package/doc_build/static/js/async/8652.6fbf1cb7.js +1 -0
  66. package/doc_build/static/js/async/en_api_config_build-config.367a5701.js +1 -0
  67. package/doc_build/static/js/async/en_api_config_build-preset.0d78b268.js +1 -0
  68. package/doc_build/static/js/async/en_api_config_design-system.b28d6723.js +1 -0
  69. package/doc_build/static/js/async/en_api_config_plugins.fc95fb77.js +1 -0
  70. package/doc_build/static/js/async/en_api_config_testing.8bc7f316.js +1 -0
  71. package/doc_build/static/js/async/en_api_index.669f0a56.js +1 -0
  72. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.60d0260c.js +1 -0
  73. package/doc_build/static/js/async/en_guide_advance_asset.5ff1d623.js +1 -0
  74. package/doc_build/static/js/async/en_guide_advance_build-umd.c254ed46.js +1 -0
  75. package/doc_build/static/js/async/en_guide_advance_copy.45c0a51d.js +1 -0
  76. package/doc_build/static/js/async/en_guide_advance_external-dependency.a52d3247.js +1 -0
  77. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.51bf3569.js +1 -0
  78. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.aec0b4e1.js +1 -0
  79. package/doc_build/static/js/async/en_guide_advance_theme-config.db0ad9fc.js +1 -0
  80. package/doc_build/static/js/async/en_guide_basic_before-getting-started.a22fc49a.js +1 -0
  81. package/doc_build/static/js/async/en_guide_basic_command-preview.1707ed29.js +1 -0
  82. package/doc_build/static/js/async/en_guide_basic_modify-output-product.ad453d13.js +1 -0
  83. package/doc_build/static/js/async/en_guide_basic_publish-your-project.08c5112f.js +1 -0
  84. package/doc_build/static/js/async/en_guide_basic_test-your-project.f5f6b204.js +1 -0
  85. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.56325139.js +1 -0
  86. package/doc_build/static/js/async/en_guide_basic_using-storybook.9d721554.js +1 -0
  87. package/doc_build/static/js/async/en_guide_best-practices_components.45155af9.js +1 -0
  88. package/doc_build/static/js/async/en_guide_intro_getting-started.f8682be3.js +1 -0
  89. package/doc_build/static/js/async/en_guide_intro_welcome.9cc45924.js +1 -0
  90. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.7f2dae5c.js +1 -0
  91. package/doc_build/static/js/async/en_index.7bd869c4.js +1 -0
  92. package/doc_build/static/js/async/en_plugins_guide_getting-started.b850249c.js +1 -0
  93. package/doc_build/static/js/async/en_plugins_guide_plugin-object.bf6c6221.js +1 -0
  94. package/doc_build/static/js/async/en_plugins_guide_setup-function.80a2bd97.js +1 -0
  95. package/doc_build/static/js/async/en_plugins_official-list_overview.84e5cea0.js +1 -0
  96. package/doc_build/static/js/async/zh_api_config_build-config.048fd5ec.js +1 -0
  97. package/doc_build/static/js/async/zh_api_config_build-preset.7c13584d.js +1 -0
  98. package/doc_build/static/js/async/zh_api_config_design-system.1eecd474.js +1 -0
  99. package/doc_build/static/js/async/zh_api_config_plugins.c22dc4be.js +1 -0
  100. package/doc_build/static/js/async/zh_api_config_testing.a9888eed.js +1 -0
  101. package/doc_build/static/js/async/zh_api_index.22957707.js +1 -0
  102. package/doc_build/static/js/async/zh_api_plugin-api_plugin-hooks.a4d81bf6.js +1 -0
  103. package/doc_build/static/js/async/zh_guide_advance_asset.5b936003.js +1 -0
  104. package/doc_build/static/js/async/zh_guide_advance_build-umd.b6d541ff.js +1 -0
  105. package/doc_build/static/js/async/zh_guide_advance_copy.21a1aea4.js +1 -0
  106. package/doc_build/static/js/async/zh_guide_advance_external-dependency.c7cf5d4b.js +1 -0
  107. package/doc_build/static/js/async/zh_guide_advance_in-depth-about-build.64e795f3.js +1 -0
  108. package/doc_build/static/js/async/zh_guide_advance_in-depth-about-dev-command.168ce7dd.js +1 -0
  109. package/doc_build/static/js/async/zh_guide_advance_theme-config.b9570109.js +1 -0
  110. package/doc_build/static/js/async/zh_guide_basic_before-getting-started.6b06b54a.js +1 -0
  111. package/doc_build/static/js/async/zh_guide_basic_command-preview.1199124a.js +1 -0
  112. package/doc_build/static/js/async/zh_guide_basic_modify-output-product.8ccbc8d1.js +1 -0
  113. package/doc_build/static/js/async/zh_guide_basic_publish-your-project.bf11b1c4.js +1 -0
  114. package/doc_build/static/js/async/zh_guide_basic_test-your-project.ae52c47a.js +1 -0
  115. package/doc_build/static/js/async/zh_guide_basic_use-micro-generator.a091d57d.js +1 -0
  116. package/doc_build/static/js/async/zh_guide_basic_using-storybook.27829e44.js +1 -0
  117. package/doc_build/static/js/async/zh_guide_best-practices_components.7454d916.js +1 -0
  118. package/doc_build/static/js/async/zh_guide_intro_getting-started.a4c00d9a.js +1 -0
  119. package/doc_build/static/js/async/zh_guide_intro_welcome.71c3fe16.js +1 -0
  120. package/doc_build/static/js/async/zh_guide_intro_why-module-engineering-solution.6f8b5ff6.js +1 -0
  121. package/doc_build/static/js/async/zh_index.c19f9dcf.js +1 -0
  122. package/doc_build/static/js/async/zh_plugins_guide_getting-started.099dfaea.js +1 -0
  123. package/doc_build/static/js/async/zh_plugins_guide_plugin-object.963289d5.js +1 -0
  124. package/doc_build/static/js/async/zh_plugins_guide_setup-function.67d07b91.js +1 -0
  125. package/doc_build/static/js/async/zh_plugins_official-list_overview.a7635714.js +1 -0
  126. package/doc_build/static/js/lib-lodash.c5845536.js +1 -0
  127. package/doc_build/static/js/lib-polyfill.b3038509.js +1 -0
  128. package/doc_build/static/js/lib-react.d41ace5e.js +2 -0
  129. package/doc_build/static/js/lib-react.d41ace5e.js.LICENSE.txt +29 -0
  130. package/doc_build/static/js/main.2d3257a4.js +1 -0
  131. package/doc_build/static/search_index.json +1 -0
  132. package/docs/en/api/config/build-config.md +15 -5
  133. package/docs/en/api/config/build-preset.md +3 -2
  134. package/docs/en/api/config/design-system.md +623 -615
  135. package/docs/en/api/config/plugins.md +2 -2
  136. package/docs/en/api/config/testing.md +2 -1
  137. package/docs/en/guide/advance/asset.mdx +0 -4
  138. package/docs/en/guide/advance/build-umd.mdx +3 -3
  139. package/docs/en/guide/advance/in-depth-about-build.md +14 -13
  140. package/docs/en/guide/advance/in-depth-about-dev-command.md +2 -1
  141. package/docs/en/guide/basic/before-getting-started.md +16 -9
  142. package/docs/en/guide/basic/command-preview.md +2 -2
  143. package/docs/en/guide/basic/modify-output-product.md +65 -69
  144. package/docs/en/guide/basic/test-your-project.mdx +1 -3
  145. package/docs/en/guide/basic/use-micro-generator.md +4 -0
  146. package/docs/en/guide/basic/using-storybook.mdx +1 -13
  147. package/docs/en/plugins/guide/getting-started.mdx +2 -2
  148. package/docs/en/plugins/guide/plugin-object.mdx +5 -5
  149. package/docs/zh/api/config/build-config.md +18 -6
  150. package/docs/zh/api/config/build-preset.md +3 -2
  151. package/docs/zh/api/config/design-system.md +2 -2
  152. package/docs/zh/api/config/plugins.md +2 -2
  153. package/docs/zh/api/config/testing.md +3 -2
  154. package/docs/zh/guide/advance/asset.mdx +0 -5
  155. package/docs/zh/guide/advance/build-umd.mdx +3 -3
  156. package/docs/zh/guide/advance/in-depth-about-build.md +14 -13
  157. package/docs/zh/guide/advance/in-depth-about-dev-command.md +2 -1
  158. package/docs/zh/guide/basic/before-getting-started.md +15 -8
  159. package/docs/zh/guide/basic/command-preview.md +2 -2
  160. package/docs/zh/guide/basic/modify-output-product.md +17 -19
  161. package/docs/zh/guide/basic/test-your-project.mdx +1 -3
  162. package/docs/zh/guide/basic/use-micro-generator.md +5 -1
  163. package/docs/zh/guide/basic/using-storybook.mdx +9 -19
  164. package/docs/zh/guide/intro/getting-started.md +1 -1
  165. package/docs/zh/plugins/guide/getting-started.mdx +2 -2
  166. package/docs/zh/plugins/guide/plugin-object.mdx +5 -5
  167. package/modern.config.ts +11 -5
  168. package/package.json +3 -3
  169. package/LICENSE +0 -144
  170. package/doc_build/html/main/index.html +0 -16
  171. package/doc_build/route.json +0 -10
  172. package/doc_build/static/css/main.css +0 -3370
  173. package/doc_build/static/css/main.css.map +0 -1
  174. 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 +0 -85
  175. 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 +0 -1
  176. package/doc_build/static/js/async/api_.js +0 -56
  177. package/doc_build/static/js/async/api_.js.map +0 -1
  178. package/doc_build/static/js/async/api_config_build-config.js +0 -11309
  179. package/doc_build/static/js/async/api_config_build-config.js.map +0 -1
  180. package/doc_build/static/js/async/api_config_build-preset.js +0 -7849
  181. package/doc_build/static/js/async/api_config_build-preset.js.map +0 -1
  182. package/doc_build/static/js/async/api_config_design-system.js +0 -48708
  183. package/doc_build/static/js/async/api_config_design-system.js.map +0 -1
  184. package/doc_build/static/js/async/api_config_plugins.js +0 -1492
  185. package/doc_build/static/js/async/api_config_plugins.js.map +0 -1
  186. package/doc_build/static/js/async/api_config_testing.js +0 -2130
  187. package/doc_build/static/js/async/api_config_testing.js.map +0 -1
  188. package/doc_build/static/js/async/api_plugin-api_plugin-hooks.js +0 -14394
  189. package/doc_build/static/js/async/api_plugin-api_plugin-hooks.js.map +0 -1
  190. package/doc_build/static/js/async/en_.js +0 -85
  191. package/doc_build/static/js/async/en_.js.map +0 -1
  192. package/doc_build/static/js/async/en_api_.js +0 -55
  193. package/doc_build/static/js/async/en_api_.js.map +0 -1
  194. package/doc_build/static/js/async/en_api_config_build-config.js +0 -8363
  195. package/doc_build/static/js/async/en_api_config_build-config.js.map +0 -1
  196. package/doc_build/static/js/async/en_api_config_build-preset.js +0 -7845
  197. package/doc_build/static/js/async/en_api_config_build-preset.js.map +0 -1
  198. package/doc_build/static/js/async/en_api_config_design-system.js +0 -16345
  199. package/doc_build/static/js/async/en_api_config_design-system.js.map +0 -1
  200. package/doc_build/static/js/async/en_api_config_plugins.js +0 -1492
  201. package/doc_build/static/js/async/en_api_config_plugins.js.map +0 -1
  202. package/doc_build/static/js/async/en_api_config_testing.js +0 -2137
  203. package/doc_build/static/js/async/en_api_config_testing.js.map +0 -1
  204. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js +0 -14362
  205. package/doc_build/static/js/async/en_api_plugin-api_plugin-hooks.js.map +0 -1
  206. package/doc_build/static/js/async/en_guide_advance_asset.js +0 -3997
  207. package/doc_build/static/js/async/en_guide_advance_asset.js.map +0 -1
  208. package/doc_build/static/js/async/en_guide_advance_build-umd.js +0 -9861
  209. package/doc_build/static/js/async/en_guide_advance_build-umd.js.map +0 -1
  210. package/doc_build/static/js/async/en_guide_advance_copy.js +0 -6539
  211. package/doc_build/static/js/async/en_guide_advance_copy.js.map +0 -1
  212. package/doc_build/static/js/async/en_guide_advance_external-dependency.js +0 -3810
  213. package/doc_build/static/js/async/en_guide_advance_external-dependency.js.map +0 -1
  214. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js +0 -5046
  215. package/doc_build/static/js/async/en_guide_advance_in-depth-about-build.js.map +0 -1
  216. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js +0 -150
  217. package/doc_build/static/js/async/en_guide_advance_in-depth-about-dev-command.js.map +0 -1
  218. package/doc_build/static/js/async/en_guide_advance_theme-config.js +0 -2484
  219. package/doc_build/static/js/async/en_guide_advance_theme-config.js.map +0 -1
  220. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js +0 -3671
  221. package/doc_build/static/js/async/en_guide_basic_before-getting-started.js.map +0 -1
  222. package/doc_build/static/js/async/en_guide_basic_command-preview.js +0 -3961
  223. package/doc_build/static/js/async/en_guide_basic_command-preview.js.map +0 -1
  224. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js +0 -2970
  225. package/doc_build/static/js/async/en_guide_basic_modify-output-product.js.map +0 -1
  226. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js +0 -2182
  227. package/doc_build/static/js/async/en_guide_basic_publish-your-project.js.map +0 -1
  228. package/doc_build/static/js/async/en_guide_basic_test-your-project.js +0 -3892
  229. package/doc_build/static/js/async/en_guide_basic_test-your-project.js.map +0 -1
  230. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js +0 -168
  231. package/doc_build/static/js/async/en_guide_basic_use-micro-generator.js.map +0 -1
  232. package/doc_build/static/js/async/en_guide_basic_using-storybook.js +0 -4762
  233. package/doc_build/static/js/async/en_guide_basic_using-storybook.js.map +0 -1
  234. package/doc_build/static/js/async/en_guide_best-practices_components.js +0 -21388
  235. package/doc_build/static/js/async/en_guide_best-practices_components.js.map +0 -1
  236. package/doc_build/static/js/async/en_guide_intro_getting-started.js +0 -1906
  237. package/doc_build/static/js/async/en_guide_intro_getting-started.js.map +0 -1
  238. package/doc_build/static/js/async/en_guide_intro_welcome.js +0 -148
  239. package/doc_build/static/js/async/en_guide_intro_welcome.js.map +0 -1
  240. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js +0 -92
  241. package/doc_build/static/js/async/en_guide_intro_why-module-engineering-solution.js.map +0 -1
  242. package/doc_build/static/js/async/en_plugins_guide_getting-started.js +0 -2560
  243. package/doc_build/static/js/async/en_plugins_guide_getting-started.js.map +0 -1
  244. package/doc_build/static/js/async/en_plugins_guide_plugin-object.js +0 -4177
  245. package/doc_build/static/js/async/en_plugins_guide_plugin-object.js.map +0 -1
  246. package/doc_build/static/js/async/en_plugins_guide_setup-function.js +0 -3819
  247. package/doc_build/static/js/async/en_plugins_guide_setup-function.js.map +0 -1
  248. package/doc_build/static/js/async/en_plugins_official-list_overview.js +0 -70
  249. package/doc_build/static/js/async/en_plugins_official-list_overview.js.map +0 -1
  250. package/doc_build/static/js/async/guide_advance_asset.js +0 -3997
  251. package/doc_build/static/js/async/guide_advance_asset.js.map +0 -1
  252. package/doc_build/static/js/async/guide_advance_build-umd.js +0 -9863
  253. package/doc_build/static/js/async/guide_advance_build-umd.js.map +0 -1
  254. package/doc_build/static/js/async/guide_advance_copy.js +0 -6539
  255. package/doc_build/static/js/async/guide_advance_copy.js.map +0 -1
  256. package/doc_build/static/js/async/guide_advance_external-dependency.js +0 -3812
  257. package/doc_build/static/js/async/guide_advance_external-dependency.js.map +0 -1
  258. package/doc_build/static/js/async/guide_advance_in-depth-about-build.js +0 -5046
  259. package/doc_build/static/js/async/guide_advance_in-depth-about-build.js.map +0 -1
  260. package/doc_build/static/js/async/guide_advance_in-depth-about-dev-command.js +0 -152
  261. package/doc_build/static/js/async/guide_advance_in-depth-about-dev-command.js.map +0 -1
  262. package/doc_build/static/js/async/guide_advance_theme-config.js +0 -2475
  263. package/doc_build/static/js/async/guide_advance_theme-config.js.map +0 -1
  264. package/doc_build/static/js/async/guide_basic_before-getting-started.js +0 -3662
  265. package/doc_build/static/js/async/guide_basic_before-getting-started.js.map +0 -1
  266. package/doc_build/static/js/async/guide_basic_command-preview.js +0 -3793
  267. package/doc_build/static/js/async/guide_basic_command-preview.js.map +0 -1
  268. package/doc_build/static/js/async/guide_basic_modify-output-product.js +0 -2949
  269. package/doc_build/static/js/async/guide_basic_modify-output-product.js.map +0 -1
  270. package/doc_build/static/js/async/guide_basic_publish-your-project.js +0 -2243
  271. package/doc_build/static/js/async/guide_basic_publish-your-project.js.map +0 -1
  272. package/doc_build/static/js/async/guide_basic_test-your-project.js +0 -3892
  273. package/doc_build/static/js/async/guide_basic_test-your-project.js.map +0 -1
  274. package/doc_build/static/js/async/guide_basic_use-micro-generator.js +0 -172
  275. package/doc_build/static/js/async/guide_basic_use-micro-generator.js.map +0 -1
  276. package/doc_build/static/js/async/guide_basic_using-storybook.js +0 -4762
  277. package/doc_build/static/js/async/guide_basic_using-storybook.js.map +0 -1
  278. package/doc_build/static/js/async/guide_best-practices_components.js +0 -21088
  279. package/doc_build/static/js/async/guide_best-practices_components.js.map +0 -1
  280. package/doc_build/static/js/async/guide_intro_getting-started.js +0 -1782
  281. package/doc_build/static/js/async/guide_intro_getting-started.js.map +0 -1
  282. package/doc_build/static/js/async/guide_intro_welcome.js +0 -148
  283. package/doc_build/static/js/async/guide_intro_welcome.js.map +0 -1
  284. package/doc_build/static/js/async/guide_intro_why-module-engineering-solution.js +0 -92
  285. package/doc_build/static/js/async/guide_intro_why-module-engineering-solution.js.map +0 -1
  286. package/doc_build/static/js/async/index.js +0 -85
  287. package/doc_build/static/js/async/index.js.map +0 -1
  288. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js +0 -447
  289. package/doc_build/static/js/async/packages_cli_doc-core_src_theme-default_components_Search_logic_search_ts.js.map +0 -1
  290. package/doc_build/static/js/async/plugins_guide_getting-started.js +0 -2608
  291. package/doc_build/static/js/async/plugins_guide_getting-started.js.map +0 -1
  292. package/doc_build/static/js/async/plugins_guide_plugin-object.js +0 -4173
  293. package/doc_build/static/js/async/plugins_guide_plugin-object.js.map +0 -1
  294. package/doc_build/static/js/async/plugins_guide_setup-function.js +0 -3819
  295. package/doc_build/static/js/async/plugins_guide_setup-function.js.map +0 -1
  296. package/doc_build/static/js/async/plugins_official-list_overview.js +0 -70
  297. package/doc_build/static/js/async/plugins_official-list_overview.js.map +0 -1
  298. package/doc_build/static/js/async/vendors-node_modules_pnpm_code-hike_mdx_0_7_4_react_18_2_0_node_modules_code-hike_mdx_dist_co-06dd41.js +0 -6656
  299. package/doc_build/static/js/async/vendors-node_modules_pnpm_code-hike_mdx_0_7_4_react_18_2_0_node_modules_code-hike_mdx_dist_co-06dd41.js.map +0 -1
  300. package/doc_build/static/js/async/vendors-node_modules_pnpm_flexsearch_0_6_32_node_modules_flexsearch_dist_flexsearch_min_js.js +0 -54
  301. package/doc_build/static/js/async/vendors-node_modules_pnpm_flexsearch_0_6_32_node_modules_flexsearch_dist_flexsearch_min_js.js.map +0 -1
  302. package/doc_build/static/js/builder-runtime.js +0 -1375
  303. package/doc_build/static/js/builder-runtime.js.map +0 -1
  304. package/doc_build/static/js/lib-lodash.js +0 -4907
  305. package/doc_build/static/js/lib-lodash.js.map +0 -1
  306. package/doc_build/static/js/lib-polyfill.js +0 -24769
  307. package/doc_build/static/js/lib-polyfill.js.map +0 -1
  308. package/doc_build/static/js/lib-react.js +0 -39510
  309. package/doc_build/static/js/lib-react.js.map +0 -1
  310. package/doc_build/static/js/main.js +0 -9237
  311. package/doc_build/static/js/main.js.map +0 -1
  312. 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 +0 -8532
  313. 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 +0 -1
@@ -0,0 +1,103 @@
1
+ <!doctype html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="https://lf3-static.bytednsdoc.com/obj/eden-cn/zq-uylkvT/ljhwZthlaukjlkulzlp/logo-1x-0104.png" /><title data-rh="true">DesignSystem - Module Tools</title><meta data-rh="true" name="description" content="模块工程解决方案"/><script>!function(){"use strict";var e,n,i,t,o,r={},u={};function _(e){var n=u[e];if(void 0!==n)return n.exports;var i=u[e]={exports:{}};return r[e].call(i.exports,i,i.exports,_),i.exports}_.m=r,e=[],_.O=function(n,i,t,o){if(!i){var r=1/0;for(a=0;a<e.length;a++){i=e[a][0],t=e[a][1],o=e[a][2];for(var u=!0,d=0;d<i.length;d++)(!1&o||r>=o)&&Object.keys(_.O).every((function(e){return _.O[e](i[d])}))?i.splice(d--,1):(u=!1,o<r&&(r=o));if(u){e.splice(a--,1);var c=t();void 0!==c&&(n=c)}}return n}o=o||0;for(var a=e.length;a>0&&e[a-1][2]>o;a--)e[a]=e[a-1];e[a]=[i,t,o]},_.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return _.d(n,{a:n}),n},i=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},_.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var o=Object.create(null);_.r(o);var r={};n=n||[null,i({}),i([]),i(i)];for(var u=2&t&&e;"object"==typeof u&&!~n.indexOf(u);u=i(u))Object.getOwnPropertyNames(u).forEach((function(n){r[n]=function(){return e[n]}}));return r.default=function(){return e},_.d(o,r),o},_.d=function(e,n){for(var i in n)_.o(n,i)&&!_.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},_.f={},_.e=function(e){return Promise.all(Object.keys(_.f).reduce((function(n,i){return _.f[i](e,n),n}),[]))},_.u=function(e){return"static/js/async/"+({229:"en_guide_intro_getting-started",237:"zh_api_config_build-config",315:"en_index",421:"zh_api_config_testing",727:"zh_guide_advance_in-depth-about-build",775:"zh_guide_basic_before-getting-started",1085:"en_api_index",1108:"zh_guide_intro_why-module-engineering-solution",1178:"zh_api_plugin-api_plugin-hooks",1180:"zh_guide_advance_theme-config",1189:"zh_api_index",1677:"en_api_plugin-api_plugin-hooks",1756:"zh_guide_basic_command-preview",1895:"zh_index",2013:"zh_guide_best-practices_components",2020:"zh_guide_basic_publish-your-project",2033:"en_guide_intro_welcome",2034:"zh_guide_intro_welcome",2097:"en_api_config_plugins",2532:"en_guide_basic_use-micro-generator",2540:"zh_guide_advance_in-depth-about-dev-command",2556:"en_api_config_testing",2611:"zh_guide_advance_copy",2633:"zh_guide_intro_getting-started",2678:"en_guide_basic_before-getting-started",2821:"zh_guide_basic_modify-output-product",2892:"zh_plugins_guide_setup-function",3032:"en_guide_basic_publish-your-project",3741:"en_guide_basic_test-your-project",3806:"zh_api_config_plugins",4260:"en_guide_advance_external-dependency",4390:"zh_plugins_official-list_overview",4663:"en_guide_advance_build-umd",4695:"zh_api_config_design-system",4749:"en_plugins_guide_setup-function",4837:"zh_guide_advance_build-umd",5057:"en_guide_advance_copy",5107:"zh_guide_basic_using-storybook",5284:"zh_plugins_guide_plugin-object",5300:"en_plugins_guide_plugin-object",5532:"zh_guide_advance_external-dependency",5578:"en_guide_basic_modify-output-product",5654:"en_api_config_build-config",5723:"zh_guide_advance_asset",5966:"zh_guide_basic_test-your-project",6098:"en_guide_advance_theme-config",7241:"zh_api_config_build-preset",7294:"zh_guide_basic_use-micro-generator",7401:"en_guide_best-practices_components",7512:"en_guide_intro_why-module-engineering-solution",7571:"en_guide_basic_command-preview",8230:"en_guide_advance_asset",8687:"en_plugins_guide_getting-started",8782:"en_api_config_build-preset",8927:"en_guide_advance_in-depth-about-build",9220:"en_api_config_design-system",9479:"en_plugins_official-list_overview",9675:"en_guide_basic_using-storybook",9826:"en_guide_advance_in-depth-about-dev-command",9868:"zh_plugins_guide_getting-started"}[e]||e)+"."+{229:"f8682be3",237:"048fd5ec",315:"7bd869c4",421:"a9888eed",727:"64e795f3",775:"6b06b54a",1085:"669f0a56",1108:"6f8b5ff6",1178:"a4d81bf6",1180:"b9570109",1189:"22957707",1677:"60d0260c",1756:"1199124a",1895:"c19f9dcf",2013:"7454d916",2020:"bf11b1c4",2033:"9cc45924",2034:"71c3fe16",2097:"fc95fb77",2532:"56325139",2540:"168ce7dd",2556:"8bc7f316",2611:"21a1aea4",2633:"a4c00d9a",2678:"a22fc49a",2821:"8ccbc8d1",2892:"67d07b91",3032:"08c5112f",3741:"f5f6b204",3799:"e31e8293",3806:"c22dc4be",4260:"a52d3247",4390:"a7635714",4663:"c254ed46",4695:"1eecd474",4749:"80a2bd97",4837:"b6d541ff",5057:"45c0a51d",5107:"27829e44",5284:"963289d5",5300:"bf6c6221",5532:"c7cf5d4b",5578:"ad453d13",5654:"367a5701",5723:"5b936003",5966:"ae52c47a",6098:"db0ad9fc",7241:"7c13584d",7294:"a091d57d",7401:"45155af9",7512:"7f2dae5c",7571:"1707ed29",8230:"5ff1d623",8652:"6fbf1cb7",8687:"b850249c",8782:"0d78b268",8927:"51bf3569",9220:"b28d6723",9479:"84e5cea0",9675:"9d721554",9826:"aec0b4e1",9868:"099dfaea"}[e]+".js"},_.miniCssF=function(e){},_.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),_.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t={},o="@modern-js/module-tools-docs:",_.l=function(e,n,i,r){if(t[e])t[e].push(n);else{var u,d;if(void 0!==i)for(var c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var f=c[a];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==o+i){u=f;break}}u||(d=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,_.nc&&u.setAttribute("nonce",_.nc),u.setAttribute("data-webpack",o+i),u.src=e),t[e]=[n];var s=function(n,i){u.onerror=u.onload=null,clearTimeout(g);var o=t[e];if(delete t[e],u.parentNode&&u.parentNode.removeChild(u),o&&o.forEach((function(e){return e(i)})),n)return n(i)},g=setTimeout(s.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=s.bind(null,u.onerror),u.onload=s.bind(null,u.onload),d&&document.head.appendChild(u)}},_.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},_.p="/",function(){var e={6272:0};_.f.j=function(n,i){var t=_.o(e,n)?e[n]:void 0;if(0!==t)if(t)i.push(t[2]);else if(6272!=n){var o=new Promise((function(i,o){t=e[n]=[i,o]}));i.push(t[2]=o);var r=_.p+_.u(n),u=new Error;_.l(r,(function(i){if(_.o(e,n)&&(0!==(t=e[n])&&(e[n]=void 0),t)){var o=i&&("load"===i.type?"missing":i.type),r=i&&i.target&&i.target.src;u.message="Loading chunk "+n+" failed.\n("+o+": "+r+")",u.name="ChunkLoadError",u.type=o,u.request=r,t[1](u)}}),"chunk-"+n,n)}else e[n]=0},_.O.j=function(n){return 0===e[n]};var n=function(n,i){var t,o,r=i[0],u=i[1],d=i[2],c=0;if(r.some((function(n){return 0!==e[n]}))){for(t in u)_.o(u,t)&&(_.m[t]=u[t]);if(d)var a=d(_)}for(n&&n(i);c<r.length;c++)o=r[c],_.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return _.O(a)},i=self.webpackChunk_modern_js_module_tools_docs=self.webpackChunk_modern_js_module_tools_docs||[];i.forEach(n.bind(null,0)),i.push=n.bind(null,i.push.bind(i))}()}();</script><script defer="defer" src="/static/js/lib-polyfill.b3038509.js"></script><script defer="defer" src="/static/js/lib-lodash.c5845536.js"></script><script defer="defer" src="/static/js/lib-react.d41ace5e.js"></script><script defer="defer" src="/static/js/1607.70af642a.js"></script><script defer="defer" src="/static/js/main.2d3257a4.js"></script><link href="/static/css/main.edaad072.css" rel="stylesheet"></head><body><div id="root"><div style="height:100%"><header class="top-0 left-0 relative md:fixed w-full" style="border-bottom:1px solid var(--modern-c-divider-light);z-index:var(--modern-z-index-nav)"><div class="J5RhI modern-doc-nav" p="x-6"><div flex="~" justify="between" align="items-center" h="full" class="Be7Bu"><div class="undefined"><a href="/module-tools/" w="full" h="full" text="1rem" font="semibold" transition="opacity duration-300" hover="opacity-60" class="flex items-center"><span>Module Tools</span></a></div><div flex="~ 1" justify="end" align-items-center="~"><div class="fxz4T"><div class="search" flex="sm:1" p="sm:l-8"><div flex="~" align="items-center" pos="relative" m="r-2" font="semibold"><svg width="32" height="32" viewBox="0 0 32 32" w="5" h="5" fill="currentColor"><path fill="#888888" d="m29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29ZM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9Z"></path></svg><input disabled="" cursor="text focus:auto" placeholder="Search" height="8" border="none" type="text" text="sm" p="t-0 r-2 b-0 l-2" transition="all duration-200 ease" class="rounded-sm SjSZ2 " aria-label="Search" autoComplete="off"/><div m="r-3" w="10" h="6" p="x-1.5" border="1px solid gray-light-3 rounded-md" text="xs gray-light-3" flex="~" align="items-center" justify="around" class="iUJv9"><span>⌘</span><span>K</span></div></div></div><div class="menu" h="14"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/guide/intro/welcome.html">指南</a></div><div text="sm" font="medium" m="x-3" class="text-brand"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/index.html">API</a></div><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/plugins/guide/getting-started.html">插件</a></div><div m="x-3" last="mr-0"><div h="14" class="relative" flex="~ center"><button flex="~ center" align="items-center" font="medium" text="sm text-1 hover:text-2" transition="color duration-200" class="nav-menu-group-button"><span m="r-1" text="sm" font="medium">v2.2.0</span><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div pos="top-13 right-0" m="x-0.8" transition="opacity duration-300" class="nav-menu-group-content absolute" style="opacity:0;visibility:hidden"><div p="3" w="full" h="full" class="min-w-128px max-h-100vh rounded-xl whitespace-nowrap" bg="white" style="box-shadow:var(--modern-shadow-3);margin-right:-1.5rem;z-index:100;border:1px solid var(--modern-c-divider-light)"><div font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">更新日志<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div><div font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">贡献指南<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div></div></div></div></div></div><div flex="~" text="sm" font="bold" align="items-center" class="translation WjR05"><div m="x-1.5"><div h="14" class="relative" flex="~ center"><button flex="~ center" align="items-center" font="medium" text="sm text-1 hover:text-2" transition="color duration-200" class="nav-menu-group-button"><span m="r-1" text="sm" font="medium"><svg width="32" height="32" viewBox="0 0 32 32" w="18px" h="18px"><path fill="currentColor" d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"></path></svg></span><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div pos="top-13 right-0" m="x-0.8" transition="opacity duration-300" class="nav-menu-group-content absolute" style="opacity:0;visibility:hidden"><div p="3" w="full" h="full" class="min-w-128px max-h-100vh rounded-xl whitespace-nowrap" bg="white" style="box-shadow:var(--modern-shadow-3);margin-right:-1.5rem;z-index:100;border:1px solid var(--modern-c-divider-light)"><div class="rounded-md" p="y-1.6 l-3"><span m="r-1" text="brand">简体中文</span></div><div font="medium"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/en/api/config/design-system"><div class="rounded-md" hover="bg-mute" p="y-1.6 l-3 r-6"><div flex="~"><span m="r-1">English<svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1 l-1" class="inline-block align-text-top"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></span></div></div></a></div></div></div></div></div></div><div class="WjR05 modern-doc-appearance" display="none sm:flex" align-items-center="center"><button class="DdK0_ undefined" id="" type="button" role="switch"><span class="WLpap"><span class="Q_Ula"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="JMkpU"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="tgdgB"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></div><div class="social-links FU7nx" nav-h="mobile sm:desktop" flex="~" align-items-center="~" pos="relative"><div h="full" flex="~" gap="x-4" align-items-center="~" transition="color duration-300"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools" target="_blank" rel="noopener noreferrer"><div class="_8YjQ"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a></div></div></div><button class=" wzxr1"><span class="kECx4"><span class="wzOB6"></span><span class="coO8e"></span><span class="RrwJk"></span></span></button><div class="NeczB " id="navScreen"><div class="WLObZ"><div class="_3YuLy"><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/guide/intro/welcome.html">指南</a></div></div><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class="text-brand"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/api/index.html">API</a></div></div><div w="full" class="osgV9"><div text="sm" font="medium" m="x-3" class=""><a class="R5q4o " target="" cursor="pointer" href="/module-tools/plugins/guide/getting-started.html">插件</a></div></div><div w="full" class="osgV9"><div m="x-3" last="mr-0"><div pos="relative" class=" Tk5bz"><button class="X7ejb"><span class="IOfpr">v2.2.0</span><svg width="1em" height="1em" viewBox="0 0 32 32" class=" uavm2 "><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div><div class="ciUdc"><div class="pa-1" font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div><div flex="~"><span m="r-1">更新日志</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div><div class="pa-1" font="medium"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="R5q4o "><div><div flex="~"><span m="r-1">贡献指南</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div></div></div></div></div></div></div><div class="rp9pY" flex="~" justify="center" align-items-center="center"><div class="align-items-center appearance pa-2 ctzdQ" flex="~" justify="center"><button class="DdK0_ undefined" id="" type="button" role="switch"><span class="WLpap"><span class="Q_Ula"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="JMkpU"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewBox="0 0 24 24" class="tgdgB"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></div></div><div flex="~" text="sm" font="bold" justify="center"><div m="x-1.5"><div pos="relative" class=" Tk5bz"><button class="X7ejb"><span class="IOfpr"><svg width="32" height="32" viewBox="0 0 32 32" w="18px" h="18px"><path fill="currentColor" d="M27.85 29H30l-6-15h-2.35l-6 15h2.15l1.6-4h6.85zm-7.65-6l2.62-6.56L25.45 23zM18 7V5h-7V2H9v3H2v2h10.74a14.71 14.71 0 0 1-3.19 6.18A13.5 13.5 0 0 1 7.26 9h-2.1a16.47 16.47 0 0 0 3 5.58A16.84 16.84 0 0 1 3 18l.75 1.86A18.47 18.47 0 0 0 9.53 16a16.92 16.92 0 0 0 5.76 3.84L16 18a14.48 14.48 0 0 1-5.12-3.37A17.64 17.64 0 0 0 14.8 7z"></path></svg></span><svg width="1em" height="1em" viewBox="0 0 32 32" class=" uavm2 "><path fill="currentColor" d="M16 22L6 12l1.4-1.4l8.6 8.6l8.6-8.6L26 12z"></path></svg></button><div><div class="ciUdc"><div class="pa-1"><span m="r-1" text="brand">简体中文</span></div><div class="pa-1" font="medium"><a class="R5q4o " target="" cursor="pointer" href="/module-tools/en"><div><div flex="~"><span m="r-1">English</span><svg width="32" height="32" viewBox="0 0 32 32" w="11px" h="11px" text="text-3" m="t-1 r-1"><path fill="currentColor" d="M10 6v2h12.59L6 24.59L7.41 26L24 9.41V22h2V6H10z"></path></svg></div></div></a></div></div></div></div></div></div><div class="social-links FU7nx" nav-h="mobile sm:desktop" flex="~" align-items-center="~" pos="relative"><div h="full" flex="~" gap="x-4" align-items-center="~" transition="color duration-300"><a href="https://github.com/modern-js-dev/modern.js/tree/main/packages/solutions/module-tools" target="_blank" rel="noopener noreferrer"><div class="_8YjQ"><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></div></a></div></div></div></div></div></div></div></header><section><div p="t-0" m="md:t-14" class="Q34AI"><div class="_aGGP"><button flex="~ center" class="wNUbj"><div text="md" m="r-2"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M4 6h24v2H4zm0 18h24v2H4zm0-12h24v2H4zm0 6h24v2H4z"></path></svg></div><span text="sm">Menu</span></button></div><aside class="UroNu "><nav m="t-1"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/index.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">概览</div></a><section block="~" class="mt-1"><div flex="~" justify="between" items-start="~" cursor="pointer" class="items-center r3Oz1"><h2 p="y-1 x-2" text="sm" font="semibold">配置项</h2><div p="2" class="BgJSm"><div cursor-pointer="~" style="transition:transform 0.2s ease-out;transform:rotate(90deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16L12 26l-1.4-1.4l8.6-8.6l-8.6-8.6L12 6z"></path></svg></div></div></div><div style="transition:height 0.2s ease-in-out;overflow:hidden;height:160px"><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/build-config.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">BuildConfig</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/build-preset.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">BuildPreset</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/design-system.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="RCb_U" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">DesignSystem</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/plugins.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Plugins</div></a></div><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/config/testing.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Testing</div></a></div></div></section><section block="~" class="mt-1"><div flex="~" justify="between" items-start="~" cursor="pointer" class="items-center r3Oz1"><h2 p="y-1 x-2" text="sm" font="semibold">Plugin API</h2><div p="2" class="BgJSm"><div cursor-pointer="~" style="transition:transform 0.2s ease-out;transform:rotate(90deg)"><svg width="1em" height="1em" viewBox="0 0 32 32"><path fill="currentColor" d="M22 16L12 26l-1.4-1.4l8.6-8.6l-8.6-8.6L12 6z"></path></svg></div></div></div><div style="transition:height 0.2s ease-in-out;overflow:hidden;height:32px"><div m="last:b-0.5 l-4"><a class="R5q4o EZlU3" target="" cursor="pointer" href="/module-tools/api/plugin-api/plugin-hooks.html"><div m="t-1" p="y-1 x-2" block="~" border="rounded-sm" font-medium="~" class="r3Oz1" style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Plugin Hooks</div></a></div></div></section></nav></aside><div flex="~ shrink-0" class="TP8A7"><div w="full"><div class="modern-doc"><!--$--><h1 id="designsystem"><a class="header-anchor" aria-hidden="true" href="#designsystem">#</a>DesignSystem</h1>
2
+ <p>本章描述了有关 designSystem 相关的配置</p>
3
+ <div class="modern-directive tip"><p class="modern-directive-title">TIP</p><div class="modern-directive-content"><p>
4
+ 需要先通过 <code>pnpm run new</code>启用 Tailwind CSS 功能。</p></div></div>
5
+ <ul>
6
+ <li>type: <code>Object</code></li>
7
+ <li>default: <code>见下方配置详情</code>。</li>
8
+ </ul>
9
+ <!-- -->
10
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;640px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: &#x27;768px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;1024px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: &#x27;1280px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> colors: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> transparent: &#x27;transparent&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> current: &#x27;currentColor&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> black: &#x27;#000&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> white: &#x27;#fff&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gray: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#f7fafc&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#edf2f7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#e2e8f0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#cbd5e0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#a0aec0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#718096&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#4a5568&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#2d3748&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#1a202c&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> red: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#fff5f5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#fed7d7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#feb2b2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#fc8181&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#f56565&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#e53e3e&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#c53030&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#9b2c2c&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#742a2a&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> orange: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#fffaf0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#feebc8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#fbd38d&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#f6ad55&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#ed8936&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#dd6b20&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#c05621&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#9c4221&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#7b341e&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> yellow: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#fffff0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#fefcbf&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#faf089&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#f6e05e&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#ecc94b&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#d69e2e&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#b7791f&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#975a16&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#744210&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> green: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#f0fff4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#c6f6d5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#9ae6b4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#68d391&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#48bb78&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#38a169&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#2f855a&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#276749&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#22543d&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> teal: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#e6fffa&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#b2f5ea&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#81e6d9&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#4fd1c5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#38b2ac&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#319795&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#2c7a7b&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#285e61&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#234e52&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> blue: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#ebf8ff&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#bee3f8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#90cdf4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#63b3ed&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#4299e1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#3182ce&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#2b6cb0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#2c5282&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#2a4365&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> indigo: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#ebf4ff&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#c3dafe&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#a3bffa&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#7f9cf5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#667eea&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#5a67d8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#4c51bf&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#434190&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#3c366b&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> purple: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#faf5ff&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#e9d8fd&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#d6bcfa&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#b794f4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#9f7aea&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#805ad5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#6b46c1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#553c9a&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#44337a&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> pink: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#fff5f7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;#fed7e2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;#fbb6ce&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 400: &#x27;#f687b3&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;#ed64a6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 600: &#x27;#d53f8c&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;#b83280&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 800: &#x27;#97266d&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#702459&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> spacing: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> px: &#x27;1px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;0.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;0.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;0.75rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;1rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;1.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;1.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 8: &#x27;2rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 10: &#x27;2.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 12: &#x27;3rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 16: &#x27;4rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 20: &#x27;5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 24: &#x27;6rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 32: &#x27;8rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 40: &#x27;10rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 48: &#x27;12rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 56: &#x27;14rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 64: &#x27;16rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> backgroundColor: theme =&gt; theme(&#x27;colors&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> backgroundOpacity: theme =&gt; theme(&#x27;opacity&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> backgroundPosition: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> bottom: &#x27;bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> center: &#x27;center&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> left: &#x27;left&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;left-bottom&#x27;: &#x27;left bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;left-top&#x27;: &#x27;left top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> right: &#x27;right&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;right-bottom&#x27;: &#x27;right bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;right-top&#x27;: &#x27;right top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> top: &#x27;top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> backgroundSize: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> cover: &#x27;cover&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> contain: &#x27;contain&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> borderColor: theme =&gt; ({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...theme(&#x27;colors&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default: theme(&#x27;colors.gray.300&#x27;, &#x27;currentColor&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> borderOpacity: theme =&gt; theme(&#x27;opacity&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> borderRadius: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;0.125rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default: &#x27;0.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: &#x27;0.375rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;0.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;9999px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> borderWidth: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default: &#x27;1px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;2px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;4px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 8: &#x27;8px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> boxShadow: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xs: &#x27;0 0 0 1px rgba(0, 0, 0, 0.05)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;0 1px 2px 0 rgba(0, 0, 0, 0.05)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default: &#x27;0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: &#x27;0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: &#x27;0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2xl&#x27;: &#x27;0 25px 50px -12px rgba(0, 0, 0, 0.25)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> inner: &#x27;inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> outline: &#x27;0 0 0 3px rgba(66, 153, 225, 0.5)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;none&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> container: {},</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> cursor: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default: &#x27;default&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> pointer: &#x27;pointer&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> wait: &#x27;wait&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> text: &#x27;text&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> move: &#x27;move&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;not-allowed&#x27;: &#x27;not-allowed&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> divideColor: theme =&gt; theme(&#x27;borderColor&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> divideOpacity: theme =&gt; theme(&#x27;borderOpacity&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> divideWidth: theme =&gt; theme(&#x27;borderWidth&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> fill: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> current: &#x27;currentColor&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> flex: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;1 1 0%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;1 1 auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> initial: &#x27;0 1 auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;none&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> flexGrow: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> flexShrink: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> fontFamily: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sans: [</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;system-ui&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-apple-system&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;BlinkMacSystemFont&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Segoe UI&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;Roboto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Helvetica Neue&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;Arial&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Noto Sans&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;sans-serif&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Apple Color Emoji&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Segoe UI Emoji&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Segoe UI Symbol&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Noto Color Emoji&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> serif: [&#x27;Georgia&#x27;, &#x27;Cambria&#x27;, &#x27;&quot;Times New Roman&quot;&#x27;, &#x27;Times&#x27;, &#x27;serif&#x27;],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> mono: [</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;Menlo&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;Monaco&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;Consolas&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Liberation Mono&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;&quot;Courier New&quot;&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;monospace&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> fontSize: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xs: &#x27;0.75rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;0.875rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> base: &#x27;1rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;1.125rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: &#x27;1.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2xl&#x27;: &#x27;1.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;3xl&#x27;: &#x27;1.875rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;4xl&#x27;: &#x27;2.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;5xl&#x27;: &#x27;3rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;6xl&#x27;: &#x27;4rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> fontWeight: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> hairline: &#x27;100&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> thin: &#x27;200&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> light: &#x27;300&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> normal: &#x27;400&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> medium: &#x27;500&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> semibold: &#x27;600&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> bold: &#x27;700&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> extrabold: &#x27;800&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> black: &#x27;900&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> height: theme =&gt; ({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...theme(&#x27;spacing&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;100%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screen: &#x27;100vh&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> inset: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> letterSpacing: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> tighter: &#x27;-0.05em&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> tight: &#x27;-0.025em&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> normal: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> wide: &#x27;0.025em&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> wider: &#x27;0.05em&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> widest: &#x27;0.1em&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lineHeight: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> tight: &#x27;1.25&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> snug: &#x27;1.375&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> normal: &#x27;1.5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> relaxed: &#x27;1.625&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> loose: &#x27;2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;.75rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;1rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;1.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;1.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 7: &#x27;1.75rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 8: &#x27;2rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 9: &#x27;2.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 10: &#x27;2.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> listStyleType: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;none&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> disc: &#x27;disc&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> decimal: &#x27;decimal&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> margin: (theme, { negative }) =&gt; ({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...theme(&#x27;spacing&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...negative(theme(&#x27;spacing&#x27;)),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> maxHeight: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;100%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screen: &#x27;100vh&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> maxWidth: (theme, { breakpoints }) =&gt; ({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;none&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xs: &#x27;20rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;24rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: &#x27;28rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;32rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: &#x27;36rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2xl&#x27;: &#x27;42rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;3xl&#x27;: &#x27;48rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;4xl&#x27;: &#x27;56rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;5xl&#x27;: &#x27;64rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;6xl&#x27;: &#x27;72rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;100%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...breakpoints(theme(&#x27;screens&#x27;)),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> minHeight: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;100%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screen: &#x27;100vh&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> minWidth: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;100%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> objectPosition: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> bottom: &#x27;bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> center: &#x27;center&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> left: &#x27;left&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;left-bottom&#x27;: &#x27;left bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;left-top&#x27;: &#x27;left top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> right: &#x27;right&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;right-bottom&#x27;: &#x27;right bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;right-top&#x27;: &#x27;right top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> top: &#x27;top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> opacity: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 25: &#x27;0.25&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 50: &#x27;0.5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 75: &#x27;0.75&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> order: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> first: &#x27;-9999&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> last: &#x27;9999&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;3&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 7: &#x27;7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 8: &#x27;8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 9: &#x27;9&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 10: &#x27;10&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 11: &#x27;11&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 12: &#x27;12&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> padding: theme =&gt; theme(&#x27;spacing&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> placeholderColor: theme =&gt; theme(&#x27;colors&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> placeholderOpacity: theme =&gt; theme(&#x27;opacity&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> space: (theme, { negative }) =&gt; ({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...theme(&#x27;spacing&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...negative(theme(&#x27;spacing&#x27;)),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> stroke: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> current: &#x27;currentColor&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> strokeWidth: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> textColor: theme =&gt; theme(&#x27;colors&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> textOpacity: theme =&gt; theme(&#x27;opacity&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> width: theme =&gt; ({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...theme(&#x27;spacing&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;1/2&#x27;: &#x27;50%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;1/3&#x27;: &#x27;33.333333%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2/3&#x27;: &#x27;66.666667%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;1/4&#x27;: &#x27;25%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2/4&#x27;: &#x27;50%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;3/4&#x27;: &#x27;75%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;1/5&#x27;: &#x27;20%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2/5&#x27;: &#x27;40%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;3/5&#x27;: &#x27;60%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;4/5&#x27;: &#x27;80%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;1/6&#x27;: &#x27;16.666667%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2/6&#x27;: &#x27;33.333333%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;3/6&#x27;: &#x27;50%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;4/6&#x27;: &#x27;66.666667%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;5/6&#x27;: &#x27;83.333333%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;1/12&#x27;: &#x27;8.333333%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2/12&#x27;: &#x27;16.666667%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;3/12&#x27;: &#x27;25%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;4/12&#x27;: &#x27;33.333333%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;5/12&#x27;: &#x27;41.666667%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;6/12&#x27;: &#x27;50%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;7/12&#x27;: &#x27;58.333333%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;8/12&#x27;: &#x27;66.666667%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;9/12&#x27;: &#x27;75%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;10/12&#x27;: &#x27;83.333333%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;11/12&#x27;: &#x27;91.666667%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;100%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screen: &#x27;100vw&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> zIndex: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 10: &#x27;10&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 20: &#x27;20&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 30: &#x27;30&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 40: &#x27;40&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 50: &#x27;50&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gap: theme =&gt; theme(&#x27;spacing&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gridTemplateColumns: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;none&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;repeat(1, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;repeat(2, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;repeat(3, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;repeat(4, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;repeat(5, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;repeat(6, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 7: &#x27;repeat(7, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 8: &#x27;repeat(8, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 9: &#x27;repeat(9, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 10: &#x27;repeat(10, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 11: &#x27;repeat(11, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 12: &#x27;repeat(12, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gridColumn: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-1&#x27;: &#x27;span 1 / span 1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-2&#x27;: &#x27;span 2 / span 2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-3&#x27;: &#x27;span 3 / span 3&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-4&#x27;: &#x27;span 4 / span 4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-5&#x27;: &#x27;span 5 / span 5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-6&#x27;: &#x27;span 6 / span 6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-7&#x27;: &#x27;span 7 / span 7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-8&#x27;: &#x27;span 8 / span 8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-9&#x27;: &#x27;span 9 / span 9&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-10&#x27;: &#x27;span 10 / span 10&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-11&#x27;: &#x27;span 11 / span 11&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-12&#x27;: &#x27;span 12 / span 12&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gridColumnStart: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;3&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 7: &#x27;7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 8: &#x27;8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 9: &#x27;9&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 10: &#x27;10&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 11: &#x27;11&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 12: &#x27;12&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 13: &#x27;13&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gridColumnEnd: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;3&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 7: &#x27;7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 8: &#x27;8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 9: &#x27;9&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 10: &#x27;10&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 11: &#x27;11&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 12: &#x27;12&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 13: &#x27;13&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gridTemplateRows: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;none&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;repeat(1, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;repeat(2, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;repeat(3, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;repeat(4, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;repeat(5, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;repeat(6, minmax(0, 1fr))&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gridRow: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-1&#x27;: &#x27;span 1 / span 1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-2&#x27;: &#x27;span 2 / span 2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-3&#x27;: &#x27;span 3 / span 3&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-4&#x27;: &#x27;span 4 / span 4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-5&#x27;: &#x27;span 5 / span 5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;span-6&#x27;: &#x27;span 6 / span 6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gridRowStart: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;3&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 7: &#x27;7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gridRowEnd: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> auto: &#x27;auto&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;3&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 7: &#x27;7&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> transformOrigin: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> center: &#x27;center&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> top: &#x27;top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;top-right&#x27;: &#x27;top right&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> right: &#x27;right&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;bottom-right&#x27;: &#x27;bottom right&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> bottom: &#x27;bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;bottom-left&#x27;: &#x27;bottom left&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> left: &#x27;left&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;top-left&#x27;: &#x27;top left&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> scale: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 50: &#x27;.5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 75: &#x27;.75&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 90: &#x27;.9&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 95: &#x27;.95&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 105: &#x27;1.05&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 110: &#x27;1.1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 125: &#x27;1.25&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 150: &#x27;1.5&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> rotate: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-180&#x27;: &#x27;-180deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-90&#x27;: &#x27;-90deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-45&#x27;: &#x27;-45deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 45: &#x27;45deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 90: &#x27;90deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 180: &#x27;180deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> translate: (theme, { negative }) =&gt; ({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...theme(&#x27;spacing&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ...negative(theme(&#x27;spacing&#x27;)),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-full&#x27;: &#x27;-100%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-1/2&#x27;: &#x27;-50%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;1/2&#x27;: &#x27;50%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;100%&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> skew: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-12&#x27;: &#x27;-12deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-6&#x27;: &#x27;-6deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;-3&#x27;: &#x27;-3deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;3deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;6deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 12: &#x27;12deg&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> transitionProperty: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;none&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> all: &#x27;all&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default:</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;background-color, border-color, color, fill, stroke, opacity, box-shadow, transform&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> colors: &#x27;background-color, border-color, color, fill, stroke&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> opacity: &#x27;opacity&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> shadow: &#x27;box-shadow&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> transform: &#x27;transform&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> transitionTimingFunction: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> linear: &#x27;linear&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> in: &#x27;cubic-bezier(0.4, 0, 1, 1)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> out: &#x27;cubic-bezier(0, 0, 0.2, 1)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;in-out&#x27;: &#x27;cubic-bezier(0.4, 0, 0.2, 1)&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> transitionDuration: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 75: &#x27;75ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;100ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 150: &#x27;150ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;200ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;300ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;500ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;700ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1000: &#x27;1000ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> transitionDelay: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 75: &#x27;75ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;100ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 150: &#x27;150ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 200: &#x27;200ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 300: &#x27;300ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 500: &#x27;500ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 700: &#x27;700ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1000: &#x27;1000ms&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
11
+ <div class="modern-directive tip"><p class="modern-directive-title">TIP</p><div class="modern-directive-content"><p>
12
+ 更多关于<a href="https://tailwindcss.com/docs/configuration#theme" target="_blank" rel="nofollow">TailwindCSS 配置</a></p></div></div>
13
+ <!-- -->
14
+ <p><code>designSystem</code> 用于定义项目的调色板、排版比例(Typographic Scales 或者 Type Scale)、字体列表、断点、边框圆角值等等。因为 Modern.js 借用了 Tailwind Theme 的设计方式,并且内部也集成了 Tailwind CSS,所以 <code>designSystem</code> 使用方式与 Tailwind CSS Theme 相同</p>
15
+ <p><code>designSystem</code> 对象包含 <code>screens</code>、<code>colors</code> 和 <code>spacing</code> 的属性,以及每个可自定义核心插件。</p>
16
+ <h2 id="screens"><a class="header-anchor" aria-hidden="true" href="#screens">#</a>Screens</h2>
17
+ <p>使用<code>screens</code> 可以自定义项目中的响应断点:</p>
18
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;640px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: &#x27;768px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;1024px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: &#x27;1280px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
19
+ <p>其中 <code>screens</code> 对象里的属性名是屏幕名称(用作 <code>Tailwind CSS</code> 生成的自适应实用程序变体的前缀,例如 <code>md:text-center</code>),值是该断点应在其开始的 <code>min-width</code>。</p>
20
+ <p>默认断点受常见设备分辨率的启发:</p>
21
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;640px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (min-width: 640px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: &#x27;768px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (min-width: 768px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;1024px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (min-width: 1024px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: &#x27;1280px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (min-width: 1280px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
22
+ <p>你可以在你的项目中使用任意你喜欢的名称作为断点的属性:</p>
23
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> tablet: &#x27;640px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (min-width: 640px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> laptop: &#x27;1024px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (min-width: 1024px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> desktop: &#x27;1280px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (min-width: 1280px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
24
+ <p>这些屏幕名称反映在 <code>utilities</code> 中,因此 <code>text-center</code> 现在是这样的:</p>
25
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>.text-center {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> text-align: center;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>@media (min-width: 640px) {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> .tablet\:text-center {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> text-align: center;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>@media (min-width: 1024px) {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> .laptop\:text-center {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> text-align: center;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>@media (min-width: 1280px) {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> .desktop\:text-center {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> text-align: center;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br/></code></div></div>
26
+ <h3 id="max-width-断点"><a class="header-anchor" aria-hidden="true" href="#max-width-断点">#</a>Max-width 断点</h3>
27
+ <p>如果要使用 <code>max-width</code> 断点而不是 <code>min-width</code>,可以将屏幕指定为具有 <code>max</code> 属性的对象:</p>
28
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: { max: &#x27;1279px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (max-width: 1279px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: { max: &#x27;1023px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (max-width: 1023px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: { max: &#x27;767px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (max-width: 767px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: { max: &#x27;639px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (max-width: 639px) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
29
+ <p>如有必要,以创建带有 <code>min-width</code> 和 <code>max-width</code> 定义的断点,例如:</p>
30
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: { min: &#x27;640px&#x27;, max: &#x27;767px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: { min: &#x27;768px&#x27;, max: &#x27;1023px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: { min: &#x27;1024px&#x27;, max: &#x27;1279px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: { min: &#x27;1280px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
31
+ <h3 id="多个范围的断点"><a class="header-anchor" aria-hidden="true" href="#多个范围的断点">#</a>多个范围的断点</h3>
32
+ <p>有时,将单个断点定义应用于多个范围会很有用。</p>
33
+ <p>例如,假设您有一个 <code>sidebar</code>,并且希望断点基于内容区域宽度而不是整个视口。您可以模拟这种情况,当 <code>sidebar</code> 可见并缩小内容区域时,断点的样式使用较小的断点样式:</p>
34
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;500px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> md: [</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // Sidebar appears at 768px, so revert to `sm:` styles between 768px</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // and 868px, after which the main content area is wide enough again to</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // apply the `md:` styles.</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> { min: &#x27;668px&#x27;, max: &#x27;767px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> { min: &#x27;868px&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> ],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;1100px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> xl: &#x27;1400px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
35
+ <h3 id="自定义媒体查询"><a class="header-anchor" aria-hidden="true" href="#自定义媒体查询">#</a>自定义媒体查询</h3>
36
+ <p>如果需要为断点提供完全自定义的媒体查询,则可以使用带有 <code>raw</code> 属性的对象:</p>
37
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> extend: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> portrait: { raw: &#x27;(orientation: portrait)&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (orientation: portrait) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
38
+ <h3 id="print-样式"><a class="header-anchor" aria-hidden="true" href="#print-样式">#</a>Print 样式</h3>
39
+ <p>如果需要为打印应用不同的样式,则 <code>raw</code> 选项可能特别有用。</p>
40
+ <p>需要做的就是在 <code>designSystem.extend.screens</code> 下添加一个 <code>print</code>:</p>
41
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> extend: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> print: { raw: &#x27;print&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media print { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
42
+ <p>然后,可以使用诸如 <code>print:text-black</code> 之类的类来指定仅当某人尝试打印页面时才应用的样式:</p>
43
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>&lt;div class=&quot;text-gray-700 print:text-black&quot;&gt;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &lt;!-- ... --&gt;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>&lt;/div&gt;</span></div></div><br/></code></div></div>
44
+ <h3 id="dark-mode"><a class="header-anchor" aria-hidden="true" href="#dark-mode">#</a>Dark Mode</h3>
45
+ <p><code>raw</code> 选项可以用于实现 “暗模式” 屏幕:</p>
46
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> extend: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> dark: { raw: &#x27;(prefers-color-scheme: dark)&#x27; },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // =&gt; @media (prefers-color-scheme: dark) { ... }</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
47
+ <p>然后,您可以使用 <code>dark:</code> 前缀在暗模式下为元素设置不同的样式:</p>
48
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>&lt;div class=&quot;text-gray-700 dark:text-gray-200&quot;&gt;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &lt;!-- ... --&gt;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>&lt;/div&gt;</span></div></div><br/></code></div></div>
49
+ <p>请注意,由于这些 <code>screen variants</code> 是在 <code>Tailwind CSS</code> 中实现的,因此<strong>无法使用这种方法将断点与暗模式结合使用</strong> ,例如 <code>md:dark:text-gray-300</code> 将不起作用。</p>
50
+ <h2 id="colors"><a class="header-anchor" aria-hidden="true" href="#colors">#</a>Colors</h2>
51
+ <p><code>colors</code> 属性可让您自定义项目的全局调色板。</p>
52
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> colors: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> transparent: &#x27;transparent&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> black: &#x27;#000&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> white: &#x27;#fff&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gray: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;#f7fafc&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // ...</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 900: &#x27;#1a202c&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // ...</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
53
+ <p>默认情况下,这些颜色由 <code>backgroundColor</code>,<code>textColor</code> 和 <code>borderColor</code> 核心插件继承。</p>
54
+ <p>想了解更多,可以查看:<a href="https://tailwindcss.com/docs/customizing-colors" target="_blank" rel="nofollow">Customizing Colors</a>。</p>
55
+ <h2 id="spacing"><a class="header-anchor" aria-hidden="true" href="#spacing">#</a>Spacing</h2>
56
+ <p>使用 <code>space</code> 属性,可以自定义项目的全局间距和缩放比例:</p>
57
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> spacing: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> px: &#x27;1px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 1: &#x27;0.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 2: &#x27;0.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 3: &#x27;0.75rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 4: &#x27;1rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 5: &#x27;1.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 6: &#x27;1.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 8: &#x27;2rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 10: &#x27;2.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 12: &#x27;3rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 16: &#x27;4rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 20: &#x27;5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 24: &#x27;6rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 32: &#x27;8rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 40: &#x27;10rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 48: &#x27;12rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 56: &#x27;14rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 64: &#x27;16rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
58
+ <p>默认情况下,这些值由 <code>padding</code>,<code>margin</code>,<code>negativeMargin</code>,<code>width</code> 和 <code>height</code> 核心插件继承。</p>
59
+ <p>想要了解更多,看 <a href="https://tailwindcss.com/docs/customizing-spacing" target="_blank" rel="nofollow">Customizing Spacing</a>。</p>
60
+ <h2 id="核心插件"><a class="header-anchor" aria-hidden="true" href="#核心插件">#</a>核心插件</h2>
61
+ <p>主题部分的其余部分用于配置每个核心插件可用的值。</p>
62
+ <p>例如,<code>borderRadius</code> 属性可让您自定义将生成的圆角的 <code>utilities</code>:</p>
63
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> borderRadius: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> none: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sm: &#x27;.125rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> default: &#x27;.25rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> lg: &#x27;.5rem&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> full: &#x27;9999px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
64
+ <p><strong>属性名确定所生成类的后缀,值确定实际 CSS 声明的值。</strong>
65
+ 上面的示例<code>borderRadius</code>配置将生成以下 CSS 类:</p>
66
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>.rounded-none {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> border-radius: 0;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>.rounded-sm {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> border-radius: 0.125rem;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>.rounded {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> border-radius: 0.25rem;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>.rounded-lg {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> border-radius: 0.5rem;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>.rounded-full {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> border-radius: 9999px;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>}</span></div></div><br/></code></div></div>
67
+ <p>会注意到,在主题配置中使用 <code>default</code> 属性创建了不带后缀的 <code>rounded</code> 类。这是许多(尽管不是全部)核心插件支持的 Tailwind CSS 中的通用约定。</p>
68
+ <p>要了解有关自定义特定核心插件的更多信息,请访问该插件的文档。</p>
69
+ <h2 id="自定义默认配置"><a class="header-anchor" aria-hidden="true" href="#自定义默认配置">#</a>自定义默认配置</h2>
70
+ <p>开箱即用,您的项目将自动从默认主题配置继承值。如果想自定义默认主题,则根据目标有几种不同的选择。</p>
71
+ <h3 id="覆盖默认配置"><a class="header-anchor" aria-hidden="true" href="#覆盖默认配置">#</a>覆盖默认配置</h3>
72
+ <p>要覆盖默认配置中的选项,请在 <code>designSystem</code> 中添加要覆盖的属性:</p>
73
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { defineConfig } from &#x27;@modern-js/module-tools&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // Replaces all of the default `opacity` values</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> opacity: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 20: &#x27;0.2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 40: &#x27;0.4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 60: &#x27;0.6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 80: &#x27;0.8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> designSystem,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
74
+ <p>这将完全替换默认属性配置,因此在上面的示例中,不会生成默认的 <code>opacity utilities</code>。</p>
75
+ <p>您未提供的任何属性都将从默认主题继承,因此在上面的示例中,将保留颜色,间距,边框圆角,背景位置等内容的默认主题配置。</p>
76
+ <h3 id="扩展默认配置"><a class="header-anchor" aria-hidden="true" href="#扩展默认配置">#</a>扩展默认配置</h3>
77
+ <p>如果您想保留主题选项的默认值,但又要添加新值,请在 <code>designSystem.extend</code> 属性下添加扩展的内容。</p>
78
+ <p>例如,如果您想添加一个额外的断点但保留现有的断点,则可以扩展 <code>screens</code> 属性:</p>
79
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { defineConfig } from &#x27;@modern-js/module-tools&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> extend: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // Adds a new breakpoint in addition to the default breakpoints</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2xl&#x27;: &#x27;1440px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> designSystem,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
80
+ <p>您当然可以覆盖默认主题的某些部分,并在同一配置中扩展默认主题的其他部分:</p>
81
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { defineConfig } from &#x27;@modern-js/module-tools&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> opacity: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 0: &#x27;0&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 20: &#x27;0.2&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 40: &#x27;0.4&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 60: &#x27;0.6&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 80: &#x27;0.8&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> 100: &#x27;1&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> extend: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> screens: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;2xl&#x27;: &#x27;1440px&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> designSystem,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
82
+ <h3 id="引用其他值"><a class="header-anchor" aria-hidden="true" href="#引用其他值">#</a>引用其他值</h3>
83
+ <p>如果需要在配置中引用另一个值,可以通过提供闭包函数而不是静态值来实现。函数将收到 <code>theme()</code> 函数作为参数,您可以使用该函数使用点表示法在配置中查找其他值。</p>
84
+ <p>例如,您可以在 <code>fill</code> 配置上通过引用 <code>theme(&#x27;colors&#x27;)</code> 为调色板中的每种颜色生成 <code>fill</code> utilities。</p>
85
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { defineConfig } from &#x27;@modern-js/module-tools&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> colors: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // ...</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> fill: theme =&gt; theme(&#x27;colors&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> designSystem,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
86
+ <p><code>theme()</code>函数尝试从已经完全合并的配置对象中找到您要查找的值,因此它可以引用您自己的自定义设置以及默认主题值。它也可以递归工作,因此只要链末尾有一个静态值,它就可以解析您要查找的值。</p>
87
+ <p><strong>引用默认配置</strong></p>
88
+ <p>如果出于任何原因想要引用默认配置中的值,则可以从 <code>tailwindcss/defaultTheme</code> 导入它。一个有用的示例是,如果要将添加默认配置提供的字体中某一个字体:</p>
89
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { defineConfig } from &#x27;@modern-js/module-tools&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const defaultTheme = require(&#x27;tailwindcss/defaultTheme&#x27;);</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> extend: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> fontFamily: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> sans: [&#x27;Lato&#x27;, ...defaultTheme.fontFamily.sans],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> designSystem,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
90
+ <h3 id="禁用整个核心插件"><a class="header-anchor" aria-hidden="true" href="#禁用整个核心插件">#</a>禁用整个核心插件</h3>
91
+ <p>如果您不想为某个核心插件生成任何类,则最好在 <code>corePlugins</code> 配置中将该插件设置为 <code>false</code>,而不是在配置中为该属性提供一个空对象:</p>
92
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>// Don&#x27;t assign an empty object in your theme configuration</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> opacity: {},</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>// Do disable the plugin in your corePlugins configuration</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const designSyttem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> corePlugins: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> opacity: false,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
93
+ <p>最终结果是相同的,但是由于许多核心插件未公开任何配置,因此无论如何只能使用 corePlugins 禁用它们,最好保持一致。</p>
94
+ <h3 id="添加自己的-key"><a class="header-anchor" aria-hidden="true" href="#添加自己的-key">#</a>添加自己的 key</h3>
95
+ <p>在很多情况下,将自己的属性添加到配置对象可能会很有用。</p>
96
+ <p>其中一个示例是添加新属性为多个核心插件之间复用。例如,您可以提取一个 <code>positions</code>对象,<code>backgroundPosition</code> 和 <code>objectPosition</code> 插件都可以引用该对象:</p>
97
+ <div class="ch-codeblock not-prose "><div class="ch-code" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> positions: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> bottom: &#x27;bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> center: &#x27;center&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> left: &#x27;left&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;left-bottom&#x27;: &#x27;left bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;left-top&#x27;: &#x27;left top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> right: &#x27;right&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;right-bottom&#x27;: &#x27;right bottom&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;right-top&#x27;: &#x27;right top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> top: &#x27;top&#x27;,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> backgroundPosition: theme =&gt; theme(&#x27;positions&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> objectPosition: theme =&gt; theme(&#x27;positions&#x27;),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><br/></code></div></div>
98
+ <p>另一个示例是在自定义插件中添加新的属性以进行引用。例如,如果您为项目编写了渐变插件,则可以向该插件引用的主题对象添加渐变属性:</p>
99
+ <div class="ch-codegroup not-prose "><div class="ch-editor-frame" style="background:#2e3440"><div class="ch-frame-title-bar" style="color:#C5C5C5;background:#2e3440"><div class="ch-frame-buttons"><div class="ch-frame-button ch-frame-button-left"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-middle"></div><div class="ch-frame-button-space"></div><div class="ch-frame-button ch-frame-button-right"></div></div><div title="modern.config.ts" data-ch-tab="north" class="ch-editor-tab ch-editor-tab-active" style="background:#3b4252;color:#d8dee9;border-right-color:#3b425200;border-bottom-color:#88c0d000"><div><span style="opacity:0.5"></span>modern.config.ts</div></div><div style="flex:1;min-width:0.8em"></div><svg fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="ch-editor-button"><title>Copy</title><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6px" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></div><div data-ch-panel="north" style="flex-grow:1;overflow:hidden"><div class="ch-code-wrapper" style="margin:0;padding:0;position:relative;white-space:pre;box-sizing:content-box;opacity:0;overflow:auto;height:100%"><code class="ch-code-scroll-parent"><br/><div><div style="display:inline-block;margin-left:16px"><span>import { defineConfig } from &#x27;@modern-js/module-tools&#x27;;</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>const designSystem = {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> gradients: theme =&gt; ({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;blue-green&#x27;: [theme(&#x27;colors.blue.500&#x27;), theme(&#x27;colors.green.500&#x27;)],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> &#x27;purple-blue&#x27;: [theme(&#x27;colors.purple.500&#x27;), theme(&#x27;colors.blue.500&#x27;)],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> // ...</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> }),</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>};</span></div></div><div><div style="display:inline-block;margin-left:16px"><span></span></div></div><div><div style="display:inline-block;margin-left:16px"><span>export default defineConfig({</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> designSystem,</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> buildConfig: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> style: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> postcss: {</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> plugins: [require(&#x27;./plugins/gradients&#x27;)],</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span> },</span></div></div><div><div style="display:inline-block;margin-left:16px"><span>});</span></div></div><br/></code></div></div></div></div>
100
+ <h2 id="配置引用"><a class="header-anchor" aria-hidden="true" href="#配置引用">#</a>配置引用</h2>
101
+ <p>除了 <code>screens</code>,<code>colors</code> 和 <code>spacing</code> 外,配置对象中的所有属性都映射到 <code>Tailwind CSS</code> 的核心插件上。由于许多插件负责仅接受静态值集(例如,例如<code>float</code>)的 CSS 属性,因此请注意,并非每个插件在主题对象中都有对应的属性。</p>
102
+ <p>所有这些属性也可以在 <code>designSystem.extend</code> 属性下使用,以扩展默认主题。</p>
103
+ <p>关于所有属性的作用,可以查看此 <a href="https://tailwindcss.com/docs/theme#configuration-reference" target="_blank" rel="nofollow">链接</a>。</p><!--/$--><div><footer m="t-8"><div flex="~ col sm:row" justify="sm:around" gap="2" p="t-6"><div flex="~ col" class="ajVjQ"><a class="R5q4o pAnzs" target="" cursor="pointer" href="/module-tools/api/config/build-preset.html"><span class="rVEMI">上一页</span><span class="jr5Zr">BuildPreset</span></a></div><div flex="~ col" class="A2aco"><a class="R5q4o pAnzs A2aco" target="" cursor="pointer" href="/module-tools/api/config/plugins.html"><span class="rVEMI">下一页</span><span class="jr5Zr">Plugins</span></a></div></div></footer></div></div></div><div class="RsCtL" style="min-height:calc(100vh - (var(--modern-nav-height) + 32px))"><div><div flex="~ col"><div class="&lt;lg:hidden"><div p="l-4" text="sm" font-medium="~" id="aside-container" style="border-left:1px solid var(--modern-c-divider-light)" class="relative"><div class="absolute" opacity="0" w="1px" h="18px" bg="brand" style="top:33px;left:-1px;transition:top 0.25s cubic-bezier(0, 1, 0.5, 1), background-color 0.5s, opacity 0.25s" id="aside-marker"></div><div block="~" class="leading-7" text="sm" font="semibold">目录</div><nav><ul class="relative"><li><a href="#screens" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Screens</a></li><li><a href="#max-width-断点" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Max-width 断点</a></li><li><a href="#多个范围的断点" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">多个范围的断点</a></li><li><a href="#自定义媒体查询" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">自定义媒体查询</a></li><li><a href="#print-样式" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Print 样式</a></li><li><a href="#dark-mode" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Dark Mode</a></li><li><a href="#colors" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Colors</a></li><li><a href="#spacing" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Spacing</a></li><li><a href="#核心插件" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">核心插件</a></li><li><a href="#自定义默认配置" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">自定义默认配置</a></li><li><a href="#覆盖默认配置" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">覆盖默认配置</a></li><li><a href="#扩展默认配置" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">扩展默认配置</a></li><li><a href="#引用其他值" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">引用其他值</a></li><li><a href="#禁用整个核心插件" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">禁用整个核心插件</a></li><li><a href="#添加自己的-key" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">添加自己的 key</a></li><li><a href="#配置引用" block="~" text="text-2" hover="text-text-1" transition="color duration-300" class="leading-7" style="font-size:13px;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">配置引用</a></li></ul></nav></div></div></div></div></div></div></div></section></div></div></body></html>