weapp-tailwindcss 4.12.0 → 5.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/dist/babel/index.d.ts +3 -0
  2. package/dist/bundlers/gulp/index.d.ts +7 -0
  3. package/dist/bundlers/shared/cache.d.ts +16 -0
  4. package/dist/bundlers/shared/css-cleanup.d.ts +4 -0
  5. package/dist/bundlers/shared/css-imports.d.ts +8 -0
  6. package/dist/bundlers/shared/generator-candidates.d.ts +5 -0
  7. package/dist/bundlers/shared/generator-css.d.ts +41 -0
  8. package/dist/bundlers/shared/module-graph.d.ts +5 -0
  9. package/dist/bundlers/shared/run-tasks.d.ts +2 -0
  10. package/dist/bundlers/vite/bundle-entries.d.ts +14 -0
  11. package/dist/bundlers/vite/bundle-state.d.ts +43 -0
  12. package/dist/bundlers/vite/css-finalizer.d.ts +19 -0
  13. package/dist/bundlers/vite/generate-bundle.d.ts +20 -0
  14. package/dist/bundlers/vite/incremental-runtime-class-set.d.ts +21 -0
  15. package/dist/bundlers/vite/index.d.ts +3 -0
  16. package/dist/bundlers/vite/js-precheck.d.ts +1 -0
  17. package/dist/bundlers/vite/query.d.ts +15 -0
  18. package/dist/bundlers/vite/resolve-app-type.d.ts +2 -0
  19. package/dist/bundlers/vite/rewrite-css-imports.d.ts +11 -0
  20. package/dist/bundlers/vite/runtime-affecting-signature.d.ts +2 -0
  21. package/dist/bundlers/vite/utils.d.ts +9 -0
  22. package/dist/bundlers/webpack/BaseUnifiedPlugin/shared.d.ts +20 -0
  23. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4-assets.d.ts +14 -0
  24. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4-loaders.d.ts +15 -0
  25. package/dist/bundlers/webpack/BaseUnifiedPlugin/v4.d.ts +9 -0
  26. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-assets.d.ts +17 -0
  27. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5-loaders.d.ts +19 -0
  28. package/dist/bundlers/webpack/BaseUnifiedPlugin/v5.d.ts +9 -0
  29. package/dist/bundlers/webpack/index.d.ts +1 -0
  30. package/dist/bundlers/webpack/loaders/weapp-tw-css-import-rewrite-loader.d.ts +12 -0
  31. package/dist/bundlers/webpack/loaders/weapp-tw-runtime-classset-loader.d.ts +11 -0
  32. package/dist/bundlers/webpack/shared/css-imports.d.ts +6 -0
  33. package/dist/bundlers/webpack/shared/loader-anchors.d.ts +8 -0
  34. package/dist/cache/index.d.ts +38 -0
  35. package/dist/cache/md5.d.ts +1 -0
  36. package/dist/chunk-8l464Juk.js +28 -0
  37. package/dist/cli/config.d.ts +5 -0
  38. package/dist/cli/context.d.ts +16 -0
  39. package/dist/cli/doctor/constants.d.ts +7 -0
  40. package/dist/cli/doctor/types.d.ts +31 -0
  41. package/dist/cli/doctor.d.ts +4 -0
  42. package/dist/cli/helpers/options/format.d.ts +2 -0
  43. package/dist/cli/helpers/options/parse.d.ts +3 -0
  44. package/dist/cli/helpers/options/resolve.d.ts +1 -0
  45. package/dist/cli/helpers/options.d.ts +3 -0
  46. package/dist/cli/helpers/patch-cwd.d.ts +1 -0
  47. package/dist/cli/helpers.d.ts +5 -0
  48. package/dist/cli/mount-options/patch-status.d.ts +2 -0
  49. package/dist/cli/mount-options.d.ts +2 -0
  50. package/dist/cli/patch-options.d.ts +6 -0
  51. package/dist/cli/tokens.d.ts +4 -0
  52. package/dist/cli/types.d.ts +17 -0
  53. package/dist/cli/vscode-entry.d.ts +14 -0
  54. package/dist/cli/workspace/package-dirs.d.ts +3 -0
  55. package/dist/cli/workspace/patch-package.d.ts +3 -0
  56. package/dist/cli/workspace/patch-utils.d.ts +3 -0
  57. package/dist/cli/workspace/types.d.ts +11 -0
  58. package/dist/cli/workspace/workspace-globs.d.ts +2 -0
  59. package/dist/cli/workspace/workspace-io.d.ts +1 -0
  60. package/dist/cli/workspace/workspace-lock.d.ts +1 -0
  61. package/dist/cli/workspace.d.ts +2 -0
  62. package/dist/cli.d.ts +1 -2
  63. package/dist/cli.js +2425 -3524
  64. package/dist/cli.mjs +2402 -3505
  65. package/dist/constants-B-_T5UnW.mjs +44 -0
  66. package/dist/constants-p1dyh1x1.js +73 -0
  67. package/dist/constants.d.ts +13 -0
  68. package/dist/context/compiler-context-cache.d.ts +3 -0
  69. package/dist/context/custom-attributes.d.ts +2 -0
  70. package/dist/context/handlers.d.ts +6 -0
  71. package/dist/context/index.d.ts +7 -0
  72. package/dist/context/logger.d.ts +4 -0
  73. package/dist/context/tailwindcss/basedir.d.ts +1 -0
  74. package/dist/context/tailwindcss/rax.d.ts +2 -0
  75. package/dist/context/tailwindcss.d.ts +4 -0
  76. package/dist/context/workspace.d.ts +3 -0
  77. package/dist/core.d.ts +5 -21
  78. package/dist/core.js +138 -180
  79. package/dist/core.mjs +135 -180
  80. package/dist/css-imports-BbrbluP9.js +177 -0
  81. package/dist/css-imports-CSdPq_Sc.mjs +128 -0
  82. package/dist/css-macro/constants.d.ts +14 -0
  83. package/dist/css-macro/index.d.ts +15 -0
  84. package/dist/css-macro/postcss.d.ts +3 -7
  85. package/dist/css-macro/postcss.js +44 -58
  86. package/dist/css-macro/postcss.mjs +44 -56
  87. package/dist/css-macro.d.ts +1 -20
  88. package/dist/css-macro.js +37 -50
  89. package/dist/css-macro.mjs +33 -47
  90. package/dist/debug/index.d.ts +5 -0
  91. package/dist/defaults.d.ts +2 -11
  92. package/dist/defaults.js +132 -8
  93. package/dist/defaults.mjs +128 -7
  94. package/dist/escape.js +31 -54
  95. package/dist/escape.mjs +18 -25
  96. package/dist/experimental/index.d.ts +2 -0
  97. package/dist/experimental/oxc/ast-utils.d.ts +30 -0
  98. package/dist/experimental/oxc/index.d.ts +2 -0
  99. package/dist/experimental/oxc/module-specifiers.d.ts +2 -0
  100. package/dist/experimental/shared/cache.d.ts +3 -0
  101. package/dist/experimental/shared/transform.d.ts +3 -0
  102. package/dist/experimental/shared.d.ts +8 -0
  103. package/dist/experimental/swc/ast-utils.d.ts +30 -0
  104. package/dist/experimental/swc/index.d.ts +2 -0
  105. package/dist/experimental/swc/module-specifiers.d.ts +2 -0
  106. package/dist/generator/index.d.ts +11 -0
  107. package/dist/generator/options.d.ts +15 -0
  108. package/dist/generator/types.d.ts +19 -0
  109. package/dist/generator-CZ-JXw6T.js +492 -0
  110. package/dist/generator-Dwxgra97.mjs +399 -0
  111. package/dist/generator-css-CnYjiMrD.js +1084 -0
  112. package/dist/generator-css-DhPFjSzK.mjs +1057 -0
  113. package/dist/generator.d.ts +1 -0
  114. package/dist/generator.js +19 -0
  115. package/dist/generator.mjs +2 -0
  116. package/dist/gulp.d.ts +4 -24
  117. package/dist/gulp.js +271 -13
  118. package/dist/gulp.mjs +263 -13
  119. package/dist/index.d.ts +8 -15
  120. package/dist/index.js +12 -24
  121. package/dist/index.mjs +6 -24
  122. package/dist/js/JsTokenUpdater.d.ts +14 -0
  123. package/dist/js/ModuleGraph.d.ts +18 -0
  124. package/dist/js/NodePathWalker.d.ts +33 -0
  125. package/dist/js/babel/parse.d.ts +9 -0
  126. package/dist/js/babel/process.d.ts +4 -0
  127. package/dist/js/babel.d.ts +13 -0
  128. package/dist/js/class-context.d.ts +3 -0
  129. package/dist/js/evalTransforms.d.ts +7 -0
  130. package/dist/js/handlers.d.ts +5 -0
  131. package/dist/js/index.d.ts +4 -0
  132. package/dist/js/module-graph/ignored-exports.d.ts +18 -0
  133. package/dist/js/module-graph/types.d.ts +17 -0
  134. package/dist/js/node-path-walker/export-handlers.d.ts +12 -0
  135. package/dist/js/node-path-walker/import-tokens.d.ts +24 -0
  136. package/dist/js/precheck.d.ts +2 -0
  137. package/dist/js/sourceAnalysis.d.ts +17 -0
  138. package/dist/js/syntax.d.ts +10 -0
  139. package/dist/js/taggedTemplateIgnore.d.ts +13 -0
  140. package/dist/js/types.d.ts +11 -0
  141. package/dist/lightningcss/index.d.ts +8 -0
  142. package/dist/lightningcss/style-handler/options.d.ts +3 -0
  143. package/dist/lightningcss/style-handler/selector-transform.d.ts +10 -0
  144. package/dist/lightningcss/style-handler/selector-utils.d.ts +10 -0
  145. package/dist/lightningcss/style-handler.d.ts +17 -0
  146. package/dist/loader-anchors-DvwgIYdA.mjs +205 -0
  147. package/dist/loader-anchors-cprm4Klq.js +273 -0
  148. package/dist/logger/index.d.ts +2 -0
  149. package/dist/logger-BZ45DZJT.js +1003 -0
  150. package/dist/logger-BoVx1Dbt.mjs +935 -0
  151. package/dist/patcher-options-6gJN2EXy.js +115 -0
  152. package/dist/patcher-options-DQfR5xxT.mjs +92 -0
  153. package/dist/postcss-html-transform.d.ts +3 -3
  154. package/dist/postcss-html-transform.js +7 -10
  155. package/dist/postcss-html-transform.mjs +3 -6
  156. package/dist/postcss.d.ts +15 -0
  157. package/dist/postcss.js +278 -0
  158. package/dist/postcss.mjs +268 -0
  159. package/dist/presets/hbuilderx.d.ts +4 -0
  160. package/dist/presets/index.d.ts +3 -0
  161. package/dist/presets/shared.d.ts +10 -0
  162. package/dist/presets/taro.d.ts +4 -0
  163. package/dist/presets/uni-app-x.d.ts +16 -0
  164. package/dist/presets/uni-app.d.ts +4 -0
  165. package/dist/presets.d.ts +1 -76
  166. package/dist/presets.js +115 -163
  167. package/dist/presets.mjs +107 -163
  168. package/dist/recorder-B_XyZ576.mjs +2763 -0
  169. package/dist/recorder-rn_2v_nd.js +2878 -0
  170. package/dist/reset/index.d.ts +2 -0
  171. package/dist/reset.d.ts +1 -4
  172. package/dist/reset.js +19 -8
  173. package/dist/reset.mjs +2 -8
  174. package/dist/shared/classname-transform.d.ts +14 -0
  175. package/dist/shared/mpx.d.ts +7 -0
  176. package/dist/shared/tailwindcss-css-redirect.d.ts +1 -0
  177. package/dist/tailwindcss/index.d.ts +11 -0
  178. package/dist/tailwindcss/miniprogram.d.ts +1 -0
  179. package/dist/tailwindcss/patcher-options.d.ts +56 -0
  180. package/dist/tailwindcss/patcher-resolve.d.ts +4 -0
  181. package/dist/tailwindcss/patcher.d.ts +13 -0
  182. package/dist/tailwindcss/recorder.d.ts +13 -0
  183. package/dist/tailwindcss/remove-unsupported-css.d.ts +2 -0
  184. package/dist/tailwindcss/runtime/cache.d.ts +11 -0
  185. package/dist/tailwindcss/runtime-logs.d.ts +3 -0
  186. package/dist/tailwindcss/runtime.d.ts +29 -0
  187. package/dist/tailwindcss/targets/paths.d.ts +13 -0
  188. package/dist/tailwindcss/targets/record-io.d.ts +5 -0
  189. package/dist/tailwindcss/targets/recorder.d.ts +3 -0
  190. package/dist/tailwindcss/targets/types.d.ts +35 -0
  191. package/dist/tailwindcss/targets.d.ts +6 -0
  192. package/dist/tailwindcss/v3-engine/generator.d.ts +2 -0
  193. package/dist/tailwindcss/v3-engine/index.d.ts +4 -0
  194. package/dist/tailwindcss/v3-engine/miniprogram.d.ts +4 -0
  195. package/dist/tailwindcss/v3-engine/source.d.ts +5 -0
  196. package/dist/tailwindcss/v3-engine/types.d.ts +55 -0
  197. package/dist/tailwindcss/v4/config.d.ts +5 -0
  198. package/dist/tailwindcss/v4/css-entries.d.ts +7 -0
  199. package/dist/tailwindcss/v4/index.d.ts +2 -0
  200. package/dist/tailwindcss/v4/multi-patcher.d.ts +2 -0
  201. package/dist/tailwindcss/v4/patcher-options.d.ts +24 -0
  202. package/dist/tailwindcss/v4/patcher.d.ts +14 -0
  203. package/dist/tailwindcss/v4-engine/design-system.d.ts +1 -0
  204. package/dist/tailwindcss/v4-engine/generator.d.ts +2 -0
  205. package/dist/tailwindcss/v4-engine/index.d.ts +5 -0
  206. package/dist/tailwindcss/v4-engine/miniprogram.d.ts +4 -0
  207. package/dist/tailwindcss/v4-engine/source.d.ts +7 -0
  208. package/dist/tailwindcss/v4-engine/types.d.ts +17 -0
  209. package/dist/typedoc.export.d.ts +5 -0
  210. package/dist/types/base.d.ts +1 -0
  211. package/dist/types/disabled-options.d.ts +4 -0
  212. package/dist/types/index.d.ts +104 -0
  213. package/dist/types/shared.d.ts +7 -0
  214. package/dist/types/user-defined-options/general.d.ts +31 -0
  215. package/dist/types/user-defined-options/important.d.ts +37 -0
  216. package/dist/types/user-defined-options/index.d.ts +11 -0
  217. package/dist/types/user-defined-options/lifecycle.d.ts +6 -0
  218. package/dist/types/user-defined-options/matcher.d.ts +9 -0
  219. package/dist/types.d.ts +1 -150
  220. package/dist/types.js +0 -1
  221. package/dist/types.mjs +1 -1
  222. package/dist/uni-app-x/component-local-style.d.ts +19 -0
  223. package/dist/uni-app-x/index.d.ts +2 -0
  224. package/dist/uni-app-x/options.d.ts +12 -0
  225. package/dist/uni-app-x/style-isolation.d.ts +2 -0
  226. package/dist/uni-app-x/transform.d.ts +9 -0
  227. package/dist/uni-app-x/vite.d.ts +36 -0
  228. package/dist/utils/decode.d.ts +2 -0
  229. package/dist/utils/disabled.d.ts +6 -0
  230. package/dist/utils/hbuilderx.d.ts +5 -0
  231. package/dist/utils/index.d.ts +7 -0
  232. package/dist/utils/nameMatcher.d.ts +4 -0
  233. package/dist/utils/resolve-package.d.ts +1 -0
  234. package/dist/utils/uni-platform.d.ts +11 -0
  235. package/dist/utils-7DUGTFED.mjs +48 -0
  236. package/dist/utils-DmC9_In3.js +61 -0
  237. package/dist/vite-BHpAqldo.js +1952 -0
  238. package/dist/vite-C8JlHiyR.mjs +1940 -0
  239. package/dist/vite.d.ts +4 -17
  240. package/dist/vite.js +5 -14
  241. package/dist/vite.mjs +2 -14
  242. package/dist/weapp-tw-css-import-rewrite-loader.js +59 -92
  243. package/dist/weapp-tw-runtime-classset-loader.js +31 -50
  244. package/dist/webpack-CABjKGGQ.mjs +441 -0
  245. package/dist/webpack-DNIJ0ysE.js +456 -0
  246. package/dist/webpack.d.ts +4 -25
  247. package/dist/webpack.js +6 -17
  248. package/dist/webpack.mjs +2 -17
  249. package/dist/webpack4.d.ts +4 -26
  250. package/dist/webpack4.js +375 -481
  251. package/dist/webpack4.mjs +366 -482
  252. package/dist/wxml/Tokenizer.d.ts +15 -0
  253. package/dist/wxml/custom-attributes.d.ts +4 -0
  254. package/dist/wxml/index.d.ts +2 -0
  255. package/dist/wxml/shared.d.ts +2 -0
  256. package/dist/wxml/tokenizer/types.d.ts +18 -0
  257. package/dist/wxml/utils/codegen/legacy-rewriter.d.ts +2 -0
  258. package/dist/wxml/utils/codegen/legacy-visitor.d.ts +8 -0
  259. package/dist/wxml/utils/codegen.d.ts +2 -0
  260. package/dist/wxml/utils/custom-template.d.ts +3 -0
  261. package/dist/wxml/utils/fragment-helpers.d.ts +6 -0
  262. package/dist/wxml/utils/fragment-updater.d.ts +4 -0
  263. package/dist/wxml/utils/template-fragments.d.ts +3 -0
  264. package/dist/wxml/utils.d.ts +8 -0
  265. package/dist/wxml/whitespace.d.ts +2 -0
  266. package/generator-placeholder.css +1 -0
  267. package/package.json +19 -5
  268. package/dist/chunk-24AGZQVR.js +0 -183
  269. package/dist/chunk-3VQKDHGP.mjs +0 -179
  270. package/dist/chunk-4AFQP74Z.js +0 -24
  271. package/dist/chunk-57SOQCAU.mjs +0 -582
  272. package/dist/chunk-5ZYHNDEK.mjs +0 -2439
  273. package/dist/chunk-76S2EME4.mjs +0 -34
  274. package/dist/chunk-A5PB4KZT.js +0 -138
  275. package/dist/chunk-DUHYLR2R.js +0 -276
  276. package/dist/chunk-DYLQ6UOI.js +0 -71
  277. package/dist/chunk-E7I5TW5K.js +0 -52
  278. package/dist/chunk-FS2NOOEB.js +0 -292
  279. package/dist/chunk-HVNGIKLS.js +0 -3930
  280. package/dist/chunk-JZQBZHN5.js +0 -579
  281. package/dist/chunk-KGTVD4EP.mjs +0 -3930
  282. package/dist/chunk-NNOQDMUP.mjs +0 -10
  283. package/dist/chunk-OF6MFURR.js +0 -34
  284. package/dist/chunk-OFB2KBRP.js +0 -2442
  285. package/dist/chunk-OOHJLO5M.mjs +0 -71
  286. package/dist/chunk-PCDYXXSK.mjs +0 -1515
  287. package/dist/chunk-RKISS72P.js +0 -7
  288. package/dist/chunk-RRQZL7FQ.mjs +0 -292
  289. package/dist/chunk-XAKAD2CR.mjs +0 -138
  290. package/dist/chunk-XZP3MREK.mjs +0 -276
  291. package/dist/chunk-ZAA5ZG3D.js +0 -1518
  292. package/dist/chunk-ZCH4YINE.mjs +0 -52
  293. package/dist/cli.d.mts +0 -2
  294. package/dist/core.d.mts +0 -26
  295. package/dist/css-macro/postcss.d.mts +0 -7
  296. package/dist/css-macro.d.mts +0 -18
  297. package/dist/defaults.d.mts +0 -11
  298. package/dist/gulp.d.mts +0 -24
  299. package/dist/index-BXrmQelt.d.mts +0 -672
  300. package/dist/index-BXrmQelt.d.ts +0 -672
  301. package/dist/index.d.mts +0 -15
  302. package/dist/postcss-html-transform.d.mts +0 -2
  303. package/dist/presets.d.mts +0 -76
  304. package/dist/reset.d.mts +0 -1
  305. package/dist/types.d.mts +0 -150
  306. package/dist/vite.d.mts +0 -17
  307. package/dist/webpack.d.mts +0 -25
  308. package/dist/webpack4.d.mts +0 -26
@@ -0,0 +1,1084 @@
1
+ const require_chunk = require("./chunk-8l464Juk.js");
2
+ const require_generator = require("./generator-CZ-JXw6T.js");
3
+ const require_recorder = require("./recorder-rn_2v_nd.js");
4
+ let postcss = require("postcss");
5
+ postcss = require_chunk.__toESM(postcss);
6
+ let node_path = require("node:path");
7
+ node_path = require_chunk.__toESM(node_path);
8
+ let node_process = require("node:process");
9
+ node_process = require_chunk.__toESM(node_process);
10
+ let node_fs = require("node:fs");
11
+ //#region src/bundlers/shared/cache.ts
12
+ async function processCachedTask({ cache, cacheKey, hashKey = cacheKey, rawSource, hash, readCache, applyResult, transform, onCacheHit }) {
13
+ let cacheHit = false;
14
+ const result = await cache.process({
15
+ key: cacheKey,
16
+ hashKey,
17
+ rawSource,
18
+ hash,
19
+ resolveCache: readCache,
20
+ async onCacheHit(value) {
21
+ cacheHit = true;
22
+ await applyResult(value);
23
+ onCacheHit?.();
24
+ },
25
+ transform
26
+ });
27
+ if (!cacheHit) await applyResult(result);
28
+ }
29
+ //#endregion
30
+ //#region src/bundlers/shared/css-cleanup.ts
31
+ const MINI_PROGRAM_PREFLIGHT_SELECTORS = new Set([
32
+ "*",
33
+ "view",
34
+ "text",
35
+ ":before",
36
+ ":after",
37
+ "::before",
38
+ "::after"
39
+ ]);
40
+ const MINI_PROGRAM_THEME_SCOPE_SELECTOR = ":host,page,.tw-root,wx-root-portal-content";
41
+ const MINI_PROGRAM_THEME_SCOPE_SELECTORS$1 = new Set([
42
+ ":host",
43
+ ":root",
44
+ "page",
45
+ ".tw-root",
46
+ "wx-root-portal-content"
47
+ ]);
48
+ const SPECIFICITY_PLACEHOLDER_SUFFIXES = [":not(#n)", ":not(#\\#)"];
49
+ const MINI_PROGRAM_UNSUPPORTED_BROWSER_SELECTORS = new Set([
50
+ ":-moz-focusring",
51
+ ":-moz-ui-invalid",
52
+ "::-webkit-calendar-picker-indicator",
53
+ "::-webkit-date-and-time-value",
54
+ "::-webkit-datetime-edit",
55
+ "::-webkit-datetime-edit-day-field",
56
+ "::-webkit-datetime-edit-fields-wrapper",
57
+ "::-webkit-datetime-edit-hour-field",
58
+ "::-webkit-datetime-edit-meridiem-field",
59
+ "::-webkit-datetime-edit-millisecond-field",
60
+ "::-webkit-datetime-edit-minute-field",
61
+ "::-webkit-datetime-edit-month-field",
62
+ "::-webkit-datetime-edit-second-field",
63
+ "::-webkit-datetime-edit-year-field",
64
+ "::-webkit-inner-spin-button",
65
+ "::-webkit-input-placeholder",
66
+ "::-webkit-outer-spin-button",
67
+ "::-webkit-search-decoration",
68
+ "::placeholder",
69
+ "[hidden]:where(:not([hidden='until-found']))"
70
+ ]);
71
+ const MINI_PROGRAM_UNSUPPORTED_BROWSER_TAG_SELECTORS = new Set([
72
+ "a",
73
+ "abbr:where([title])",
74
+ "audio",
75
+ "b",
76
+ "button",
77
+ "canvas",
78
+ "code",
79
+ "embed",
80
+ "h1",
81
+ "h2",
82
+ "h3",
83
+ "h4",
84
+ "h5",
85
+ "h6",
86
+ "hr",
87
+ "html",
88
+ "iframe",
89
+ "img",
90
+ "input",
91
+ "input:where([type='button'],[type='reset'],[type='submit'])",
92
+ "kbd",
93
+ "menu",
94
+ "object",
95
+ "ol",
96
+ "optgroup",
97
+ "pre",
98
+ "progress",
99
+ "samp",
100
+ "select",
101
+ "select[multiple]optgroup",
102
+ "select[multiple]optgroupoption",
103
+ "select[size]optgroup",
104
+ "select[size]optgroupoption",
105
+ "small",
106
+ "strong",
107
+ "sub",
108
+ "summary",
109
+ "sup",
110
+ "svg",
111
+ "table",
112
+ "textarea",
113
+ "ul",
114
+ "video"
115
+ ]);
116
+ const PREFLIGHT_RESET_PROPS = new Set([
117
+ "box-sizing",
118
+ "border",
119
+ "border-width",
120
+ "border-style",
121
+ "border-color",
122
+ "margin",
123
+ "padding"
124
+ ]);
125
+ const DISPLAY_P3_VALUE_RE = /color\(\s*display-p3\b/i;
126
+ const COLOR_GAMUT_P3_RE = /\(\s*color-gamut\s*:\s*p3\s*\)/i;
127
+ function removeAtRulesByScan(css, names) {
128
+ let index = 0;
129
+ let result = "";
130
+ const atRulePattern = new RegExp(`@(?:${[...names].join("|")})\\b`, "i");
131
+ while (index < css.length) {
132
+ const match = atRulePattern.exec(css.slice(index));
133
+ if (!match || match.index === void 0) {
134
+ result += css.slice(index);
135
+ break;
136
+ }
137
+ const start = index + match.index;
138
+ result += css.slice(index, start);
139
+ const blockStart = css.indexOf("{", start);
140
+ if (blockStart === -1) {
141
+ result += css.slice(start);
142
+ break;
143
+ }
144
+ let depth = 0;
145
+ let cursor = blockStart;
146
+ for (; cursor < css.length; cursor++) {
147
+ const char = css[cursor];
148
+ if (char === "{") depth++;
149
+ else if (char === "}") {
150
+ depth--;
151
+ if (depth === 0) {
152
+ cursor++;
153
+ break;
154
+ }
155
+ }
156
+ }
157
+ index = cursor;
158
+ }
159
+ return result;
160
+ }
161
+ const MINI_PROGRAM_UNSUPPORTED_AT_RULES = new Set(["property", "supports"]);
162
+ function removeUnsupportedMiniProgramAtRules(css) {
163
+ try {
164
+ const root = postcss.default.parse(css);
165
+ root.walkAtRules((atRule) => {
166
+ if (MINI_PROGRAM_UNSUPPORTED_AT_RULES.has(atRule.name)) atRule.remove();
167
+ });
168
+ root.walkAtRules((atRule) => {
169
+ if (!atRule.nodes || atRule.nodes.length === 0) atRule.remove();
170
+ });
171
+ return root.toString();
172
+ } catch {
173
+ return removeAtRulesByScan(css, MINI_PROGRAM_UNSUPPORTED_AT_RULES);
174
+ }
175
+ }
176
+ function normalizeSelector(selector) {
177
+ return selector.trim().replace(/\s+/g, "");
178
+ }
179
+ function getRuleSelectors(rule) {
180
+ return rule.selector.split(",").map(normalizeSelector).filter(Boolean);
181
+ }
182
+ function isMiniProgramThemeScopeSelector$1(selectors) {
183
+ return selectors.length > 0 && selectors.every((selector) => MINI_PROGRAM_THEME_SCOPE_SELECTORS$1.has(selector));
184
+ }
185
+ function isMiniProgramPreflightSelector(selectors) {
186
+ return selectors.length > 0 && selectors.every((selector) => MINI_PROGRAM_PREFLIGHT_SELECTORS.has(selector)) && selectors.some((selector) => selector === "*" || selector === ":before" || selector === ":after" || selector === "::before" || selector === "::after");
187
+ }
188
+ function hasTailwindPreflightDeclaration(rule) {
189
+ let hasTailwindVar = false;
190
+ let hasResetProp = false;
191
+ rule.walkDecls((decl) => {
192
+ if (decl.prop.startsWith("--tw-")) hasTailwindVar = true;
193
+ if (PREFLIGHT_RESET_PROPS.has(decl.prop)) hasResetProp = true;
194
+ });
195
+ return hasTailwindVar || hasResetProp;
196
+ }
197
+ function isCustomPropertyOnlyRule$1(rule) {
198
+ let hasDeclaration = false;
199
+ let allCustomProperties = true;
200
+ rule.each((node) => {
201
+ if (node.type !== "decl") return;
202
+ hasDeclaration = true;
203
+ if (!node.prop.startsWith("--")) allCustomProperties = false;
204
+ });
205
+ return hasDeclaration && allCustomProperties;
206
+ }
207
+ function hasContentInitDeclaration(rule) {
208
+ let hasContentInit = false;
209
+ rule.walkDecls("--tw-content", () => {
210
+ hasContentInit = true;
211
+ });
212
+ return hasContentInit;
213
+ }
214
+ function isTailwindPreflightRule(node) {
215
+ if (node.type !== "rule" || node.parent?.type !== "root") return false;
216
+ return isMiniProgramPreflightSelector(getRuleSelectors(node)) && hasTailwindPreflightDeclaration(node);
217
+ }
218
+ function isMiniProgramThemeVariableRule(node) {
219
+ if (node.type !== "rule" || node.parent?.type !== "root") return false;
220
+ return isMiniProgramThemeScopeSelector$1(getRuleSelectors(node)) && isCustomPropertyOnlyRule$1(node);
221
+ }
222
+ function createPseudoContentInitRule() {
223
+ const rule = postcss.default.rule({ selector: "::before,\n::after" });
224
+ rule.append({
225
+ prop: "--tw-content",
226
+ value: "''"
227
+ });
228
+ return rule;
229
+ }
230
+ function isDisplayP3MediaRule(atRule) {
231
+ return atRule.name === "media" && COLOR_GAMUT_P3_RE.test(atRule.params);
232
+ }
233
+ function isDisplayP3Declaration(decl) {
234
+ return DISPLAY_P3_VALUE_RE.test(decl.value);
235
+ }
236
+ function removeSpecificityPlaceholders(root) {
237
+ root.walkRules((rule) => {
238
+ if (!rule.selectors || rule.selectors.length === 0) return;
239
+ let changed = false;
240
+ const selectors = rule.selectors.map((selector) => {
241
+ let next = selector;
242
+ for (const suffix of SPECIFICITY_PLACEHOLDER_SUFFIXES) if (next.includes(suffix)) next = next.split(suffix).join("");
243
+ if (next !== selector) changed = true;
244
+ return next;
245
+ });
246
+ if (changed) rule.selectors = selectors;
247
+ });
248
+ }
249
+ function isUnsupportedBrowserSelector(selector) {
250
+ const normalized = normalizeSelector(selector);
251
+ return MINI_PROGRAM_UNSUPPORTED_BROWSER_SELECTORS.has(normalized) || MINI_PROGRAM_UNSUPPORTED_BROWSER_TAG_SELECTORS.has(normalized);
252
+ }
253
+ function removeUnsupportedBrowserSelectors(root) {
254
+ root.walkRules((rule) => {
255
+ if (!rule.selectors || rule.selectors.length === 0) return;
256
+ const selectors = rule.selectors.filter((selector) => !isUnsupportedBrowserSelector(selector));
257
+ if (selectors.length === rule.selectors.length) return;
258
+ if (selectors.length === 0) {
259
+ const parent = rule.parent;
260
+ rule.remove();
261
+ removeEmptyAtRuleAncestors(parent);
262
+ return;
263
+ }
264
+ rule.selectors = selectors;
265
+ });
266
+ }
267
+ function removeEmptyAtRuleAncestors(parent) {
268
+ while (parent?.type === "atrule" && (!parent.nodes || parent.nodes.length === 0)) {
269
+ const nextParent = parent.parent;
270
+ parent.remove();
271
+ parent = nextParent;
272
+ }
273
+ }
274
+ function removeDeclarationAndEmptyRule(decl) {
275
+ const parent = decl.parent;
276
+ decl.remove();
277
+ if (parent?.type === "rule" && parent.nodes.length === 0) {
278
+ const ruleParent = parent.parent;
279
+ parent.remove();
280
+ removeEmptyAtRuleAncestors(ruleParent);
281
+ }
282
+ }
283
+ function removeDisplayP3Declarations(root) {
284
+ root.walkAtRules((atRule) => {
285
+ if (isDisplayP3MediaRule(atRule)) {
286
+ const parent = atRule.parent;
287
+ atRule.remove();
288
+ removeEmptyAtRuleAncestors(parent);
289
+ }
290
+ });
291
+ root.walkDecls((decl) => {
292
+ if (isDisplayP3Declaration(decl)) removeDeclarationAndEmptyRule(decl);
293
+ });
294
+ }
295
+ function collectPreflightRules(root) {
296
+ const preflightNodes = [];
297
+ let hasContentInit = false;
298
+ for (const node of root.nodes ?? []) if (isTailwindPreflightRule(node)) {
299
+ preflightNodes.push(node);
300
+ if (hasContentInitDeclaration(node)) hasContentInit = true;
301
+ }
302
+ if (preflightNodes.length === 0) return [];
303
+ const clonedPreflightRules = preflightNodes.map((node) => node.clone());
304
+ const contentInitRules = clonedPreflightRules.filter((rule) => hasContentInitDeclaration(rule));
305
+ const otherPreflightRules = clonedPreflightRules.filter((rule) => !hasContentInitDeclaration(rule));
306
+ const preflightRules = hasContentInit ? [...contentInitRules, ...otherPreflightRules] : [createPseudoContentInitRule(), ...otherPreflightRules];
307
+ for (const node of preflightNodes) node.remove();
308
+ return preflightRules;
309
+ }
310
+ function collectThemeVariableRule(root) {
311
+ const themeRules = [];
312
+ const declarations = /* @__PURE__ */ new Map();
313
+ for (const node of root.nodes ?? []) {
314
+ if (!isMiniProgramThemeVariableRule(node)) continue;
315
+ themeRules.push(node);
316
+ node.walkDecls((decl) => {
317
+ if (isDisplayP3Declaration(decl)) return;
318
+ declarations.set(decl.prop, decl.clone());
319
+ });
320
+ }
321
+ for (const rule of themeRules) rule.remove();
322
+ if (declarations.size === 0) return;
323
+ const rule = postcss.default.rule({ selector: MINI_PROGRAM_THEME_SCOPE_SELECTOR });
324
+ for (const decl of declarations.values()) rule.append(decl);
325
+ return rule;
326
+ }
327
+ function getTopDirectiveTail(root) {
328
+ let tail;
329
+ for (const node of root.nodes ?? []) {
330
+ if (node.type === "atrule" && (node.name === "charset" || node.name === "import")) {
331
+ tail = node;
332
+ continue;
333
+ }
334
+ break;
335
+ }
336
+ return tail;
337
+ }
338
+ function insertHoistedRules(root, rules) {
339
+ if (rules.length === 0) return;
340
+ const topDirectiveTail = getTopDirectiveTail(root);
341
+ rules[0].raws.before = topDirectiveTail ? "\n" : "";
342
+ if (topDirectiveTail) topDirectiveTail.after(...rules);
343
+ else root.prepend(...rules);
344
+ }
345
+ function finalizeMiniProgramCssRoot(root) {
346
+ require_generator.removeUnsupportedCascadeLayers(root);
347
+ root.walkAtRules("property", (atRule) => {
348
+ atRule.remove();
349
+ });
350
+ removeSpecificityPlaceholders(root);
351
+ removeUnsupportedBrowserSelectors(root);
352
+ removeDisplayP3Declarations(root);
353
+ const preflightRules = collectPreflightRules(root);
354
+ const themeRule = collectThemeVariableRule(root);
355
+ insertHoistedRules(root, themeRule ? [...preflightRules, themeRule] : preflightRules);
356
+ }
357
+ function finalizeMiniProgramCss(css) {
358
+ const cleanedCss = removeUnsupportedMiniProgramAtRules(css);
359
+ try {
360
+ const root = postcss.default.parse(cleanedCss);
361
+ finalizeMiniProgramCssRoot(root);
362
+ return root.toString();
363
+ } catch {
364
+ return cleanedCss;
365
+ }
366
+ }
367
+ //#endregion
368
+ //#region src/bundlers/shared/generator-css.ts
369
+ const TAILWIND_V4_BANNER_RE = /\/\*!\s*tailwindcss v4\./;
370
+ const TAILWIND_GENERATED_CSS_MARKER_RE = /\/\*!\s*tailwindcss v|@property\s+--tw-|--tw-|:not\(#\\#\)|\.[^,{]*(?:\\:|\\\[|\\#)|(?::host|page|\.tw-root|wx-root-portal-content)[^{]*\{[^}]*--(?:color|spacing|text|font-weight|radius)-/;
371
+ const GENERATOR_PLACEHOLDER_MARKER_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\//i;
372
+ const GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE = /\/\*!\s*weapp-tailwindcss generator-placeholder\s*\*\/\s*/gi;
373
+ const TAILWIND_BANNER_PREFIX_RE = /^\/\*!\s*tailwindcss v[^*]*\*\/\s*/i;
374
+ const TAILWIND_BANNER_GLOBAL_RE = /\/\*!\s*tailwindcss v[^*]*\*\/\s*/gi;
375
+ const VITE_MARKER_RE = /\/\*\$vite\$:[^*]*\*\//g;
376
+ const CLASS_SELECTOR_RE = /(?:^|[^\w-])\.[_a-z\u00A0-\uFFFF\\-]/i;
377
+ const MINI_PROGRAM_THEME_SCOPE_SELECTORS = new Set([
378
+ ":host",
379
+ "page",
380
+ ".tw-root",
381
+ "wx-root-portal-content"
382
+ ]);
383
+ const SUPPORTED_GENERATOR_MAJOR_VERSIONS = new Set([3, 4]);
384
+ const REMOTE_IMPORT_RE = /^(?:https?:)?\/\//i;
385
+ const SPECIFICITY_PLACEHOLDER_RE = /:not\(#(?:\\#|n)\)/g;
386
+ const CSS_LENGTH_UNIT_RE = /(?:^|[\s(,])[-+]?(?:\d+|\d*\.\d+)(?:px|rem)\b/i;
387
+ const RPX_UNIT_RE = /(?:^|[\s(,])[-+]?(?:\d+|\d*\.\d+)rpx\b/i;
388
+ const TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES = new Set([
389
+ "config",
390
+ "custom-variant",
391
+ "layer",
392
+ "plugin",
393
+ "reference",
394
+ "source",
395
+ "tailwind",
396
+ "theme",
397
+ "utility",
398
+ "variant"
399
+ ]);
400
+ const LEGACY_CONTAINER_COMPAT_CSS = [
401
+ ".container {",
402
+ " width: 100%;",
403
+ "}",
404
+ "@media (min-width: 40rem) {",
405
+ " .container {",
406
+ " max-width: 40rem;",
407
+ " }",
408
+ "}",
409
+ "@media (min-width: 48rem) {",
410
+ " .container {",
411
+ " max-width: 48rem;",
412
+ " }",
413
+ "}",
414
+ "@media (min-width: 64rem) {",
415
+ " .container {",
416
+ " max-width: 64rem;",
417
+ " }",
418
+ "}",
419
+ "@media (min-width: 80rem) {",
420
+ " .container {",
421
+ " max-width: 80rem;",
422
+ " }",
423
+ "}",
424
+ "@media (min-width: 96rem) {",
425
+ " .container {",
426
+ " max-width: 96rem;",
427
+ " }",
428
+ "}"
429
+ ].join("\n");
430
+ const SOURCE_STYLE_EXTENSIONS = [
431
+ ".vue",
432
+ ".uvue",
433
+ ".nvue",
434
+ ".css",
435
+ ".scss",
436
+ ".sass",
437
+ ".less",
438
+ ".styl",
439
+ ".stylus",
440
+ ".wxss",
441
+ ".acss",
442
+ ".jxss",
443
+ ".ttss",
444
+ ".qss"
445
+ ];
446
+ const SFC_STYLE_BLOCK_RE = /<style\b[^>]*>([\s\S]*?)<\/style>/gi;
447
+ function createCssAppend(base, extra) {
448
+ if (!base) return extra;
449
+ if (!extra) return base;
450
+ return `${base}\n${extra}`;
451
+ }
452
+ function splitTailwindV4GeneratedCss(rawSource, rawTailwindCss) {
453
+ const trimmedRaw = rawSource.trim();
454
+ const trimmedTailwind = rawTailwindCss.trim();
455
+ if (trimmedRaw === trimmedTailwind) return "";
456
+ if (trimmedTailwind.startsWith(trimmedRaw)) return "";
457
+ const start = rawSource.indexOf(rawTailwindCss);
458
+ if (start === -1) return;
459
+ return createCssAppend(rawSource.slice(0, start), rawSource.slice(start + rawTailwindCss.length));
460
+ }
461
+ function stripTailwindBanner(css) {
462
+ return css.replace(TAILWIND_BANNER_PREFIX_RE, "");
463
+ }
464
+ function stripTailwindBanners(css) {
465
+ return css.replace(TAILWIND_BANNER_GLOBAL_RE, "");
466
+ }
467
+ function stripGeneratorPlaceholderMarkers(css) {
468
+ return css.replace(GENERATOR_PLACEHOLDER_MARKER_GLOBAL_RE, "");
469
+ }
470
+ function hasTailwindGeneratedCss(rawSource) {
471
+ return TAILWIND_V4_BANNER_RE.test(rawSource);
472
+ }
473
+ function hasTailwindGeneratedCssMarkers(rawSource) {
474
+ return TAILWIND_GENERATED_CSS_MARKER_RE.test(rawSource) || GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource);
475
+ }
476
+ function finalizeMiniProgramGeneratorCss(css, target) {
477
+ if (target !== "weapp") return css;
478
+ return finalizeMiniProgramCss(css);
479
+ }
480
+ function normalizeCompatSelector(selector) {
481
+ return selector.replace(SPECIFICITY_PLACEHOLDER_RE, "").replace(/\s+/g, " ").trim();
482
+ }
483
+ function isClassSelectorTerminator(char) {
484
+ return /[\s>+~#,.:()[\]]/.test(char);
485
+ }
486
+ function unescapeSimpleCssIdent(value) {
487
+ return value.replaceAll(/\\(.)/g, "$1");
488
+ }
489
+ function escapeCompatSelectorClasses(selector) {
490
+ let result = "";
491
+ let index = 0;
492
+ let changed = false;
493
+ while (index < selector.length) {
494
+ const char = selector[index];
495
+ if (char !== ".") {
496
+ result += char;
497
+ index += 1;
498
+ continue;
499
+ }
500
+ let end = index + 1;
501
+ let className = "";
502
+ while (end < selector.length) {
503
+ const current = selector[end];
504
+ if (current === "\\" && end + 1 < selector.length) {
505
+ className += current + selector[end + 1];
506
+ end += 2;
507
+ continue;
508
+ }
509
+ if (isClassSelectorTerminator(current)) break;
510
+ className += current;
511
+ end += 1;
512
+ }
513
+ if (className.includes("\\")) {
514
+ result += `.${require_recorder.replaceWxml(unescapeSimpleCssIdent(className))}`;
515
+ changed = true;
516
+ } else result += `.${className}`;
517
+ index = end;
518
+ }
519
+ return changed ? result : selector;
520
+ }
521
+ function normalizeCompatSelectors(selector) {
522
+ const normalized = normalizeCompatSelector(selector);
523
+ if (!normalized) return [];
524
+ const selectors = new Set([normalized]);
525
+ const escaped = normalizeCompatSelector(escapeCompatSelectorClasses(normalized));
526
+ if (escaped) selectors.add(escaped);
527
+ return [...selectors];
528
+ }
529
+ function createLegacyDeclarationValueMap(css) {
530
+ const values = /* @__PURE__ */ new Map();
531
+ postcss.default.parse(css).walkRules((rule) => {
532
+ if (!rule.selectors || rule.selectors.length === 0) return;
533
+ for (const selector of rule.selectors) {
534
+ const normalizedSelectors = normalizeCompatSelectors(selector);
535
+ rule.walkDecls((decl) => {
536
+ if (RPX_UNIT_RE.test(decl.value)) for (const normalizedSelector of normalizedSelectors) values.set(`${normalizedSelector}\n${decl.prop}`, decl.value);
537
+ });
538
+ }
539
+ });
540
+ return values;
541
+ }
542
+ function inheritLegacyUnitConvertedDeclarations(css, legacyCss) {
543
+ try {
544
+ const legacyValues = createLegacyDeclarationValueMap(legacyCss);
545
+ if (legacyValues.size === 0) return css;
546
+ const root = postcss.default.parse(css);
547
+ let changed = false;
548
+ root.walkRules((rule) => {
549
+ if (!rule.selectors || rule.selectors.length === 0) return;
550
+ const selectors = rule.selectors.flatMap((selector) => normalizeCompatSelectors(selector));
551
+ if (selectors.length === 0) return;
552
+ rule.walkDecls((decl) => {
553
+ if (!CSS_LENGTH_UNIT_RE.test(decl.value)) return;
554
+ for (const selector of selectors) {
555
+ const legacyValue = legacyValues.get(`${selector}\n${decl.prop}`);
556
+ if (legacyValue && legacyValue !== decl.value) {
557
+ decl.value = legacyValue;
558
+ changed = true;
559
+ return;
560
+ }
561
+ }
562
+ });
563
+ });
564
+ return changed ? root.toString() : css;
565
+ } catch {
566
+ return css;
567
+ }
568
+ }
569
+ function resolveGeneratorStyleOptions(opts, cssHandlerOptions, generatorStyleOptions) {
570
+ return {
571
+ cssChildCombinatorReplaceValue: opts.cssChildCombinatorReplaceValue,
572
+ cssSelectorReplacement: opts.cssSelectorReplacement,
573
+ rem2rpx: opts.rem2rpx,
574
+ px2rpx: opts.px2rpx,
575
+ unitsToPx: opts.unitsToPx,
576
+ cssRemoveProperty: opts.cssRemoveProperty,
577
+ cssRemoveHoverPseudoClass: opts.cssRemoveHoverPseudoClass,
578
+ cssPresetEnv: opts.cssPresetEnv,
579
+ autoprefixer: opts.autoprefixer,
580
+ cssCalc: opts.cssCalc,
581
+ atRules: opts.atRules,
582
+ uniAppX: opts.uniAppX,
583
+ uniAppXCssTarget: opts.uniAppXCssTarget,
584
+ uniAppXUnsupported: opts.uniAppXUnsupported,
585
+ ...cssHandlerOptions,
586
+ ...generatorStyleOptions
587
+ };
588
+ }
589
+ function parseImportRequest(params) {
590
+ return /^(?:url\(\s*)?(["']?)([^"')\s]+)\1\s*\)?/.exec(params.trim())?.[2];
591
+ }
592
+ function parseConfigRequest(params) {
593
+ return /^(["'])(.+)\1\s*;?$/.exec(params.trim())?.[2];
594
+ }
595
+ function resolvePostcssFromOption(cssHandlerOptions) {
596
+ const from = cssHandlerOptions.postcssOptions?.options?.from;
597
+ return typeof from === "string" && from.length > 0 ? from : void 0;
598
+ }
599
+ function resolveCssSourceBase(file, cssHandlerOptions) {
600
+ const normalized = (resolvePostcssFromOption(cssHandlerOptions) ?? file).replace(/[?#].*$/, "");
601
+ return node_path.default.dirname(node_path.default.resolve(normalized));
602
+ }
603
+ function isTailwindImportAtRule(node) {
604
+ if (node.name === "tailwind") return true;
605
+ if (node.name !== "import") return false;
606
+ const request = parseImportRequest(node.params);
607
+ return request === "tailwindcss" || request === "tailwindcss4" || request?.startsWith("tailwindcss/") || request?.startsWith("tailwindcss4/");
608
+ }
609
+ function isTailwindSourceDirective(node) {
610
+ if (node.type !== "atrule") return false;
611
+ if (isTailwindImportAtRule(node)) return true;
612
+ return TAILWIND_REMOVABLE_SOURCE_DIRECTIVE_NAMES.has(node.name);
613
+ }
614
+ function isTailwindGenerationDirective(node) {
615
+ if (node.type !== "atrule") return false;
616
+ return isTailwindImportAtRule(node) || node.name === "layer" || node.name === "config";
617
+ }
618
+ function removeTailwindSourceDirectives(rawSource) {
619
+ try {
620
+ const source = stripGeneratorPlaceholderMarkers(rawSource);
621
+ const root = postcss.default.parse(source);
622
+ let removed = false;
623
+ root.walk((node) => {
624
+ if (isTailwindSourceDirective(node)) {
625
+ node.remove();
626
+ removed = true;
627
+ }
628
+ });
629
+ return removed ? root.toString() : source;
630
+ } catch {
631
+ return stripGeneratorPlaceholderMarkers(rawSource);
632
+ }
633
+ }
634
+ function hasTailwindSourceDirectives(rawSource) {
635
+ try {
636
+ if (GENERATOR_PLACEHOLDER_MARKER_RE.test(rawSource)) return true;
637
+ const root = postcss.default.parse(rawSource);
638
+ let found = false;
639
+ root.walk((node) => {
640
+ if (isTailwindGenerationDirective(node)) {
641
+ found = true;
642
+ return false;
643
+ }
644
+ });
645
+ return found;
646
+ } catch {
647
+ return false;
648
+ }
649
+ }
650
+ function resolveCssEntrySource(rawSource, base) {
651
+ try {
652
+ const root = postcss.default.parse(rawSource);
653
+ let found = false;
654
+ let config;
655
+ let configRequest;
656
+ let removedConfig = false;
657
+ root.walk((node) => {
658
+ if (isTailwindGenerationDirective(node)) found = true;
659
+ if (node.type === "atrule" && node.name === "config") {
660
+ const configPath = parseConfigRequest(node.params);
661
+ if (configPath && !config) {
662
+ configRequest = configPath;
663
+ config = node_path.default.isAbsolute(configPath) ? configPath : node_path.default.resolve(base, configPath);
664
+ }
665
+ node.remove();
666
+ removedConfig = true;
667
+ }
668
+ });
669
+ if (!found) return;
670
+ return {
671
+ css: removedConfig ? root.toString() : rawSource,
672
+ config,
673
+ configRequest,
674
+ base
675
+ };
676
+ } catch {
677
+ return;
678
+ }
679
+ }
680
+ function resolveExistingConfigPath(config, configRequest, file, sourceOptions) {
681
+ if (config && (0, node_fs.existsSync)(config)) return config;
682
+ if (!configRequest || node_path.default.isAbsolute(configRequest)) return sourceOptions.config;
683
+ const outputDir = node_path.default.dirname(file.replace(/[?#].*$/, ""));
684
+ const baseCandidates = [
685
+ sourceOptions.projectRoot,
686
+ sourceOptions.cwd,
687
+ node_process.default.cwd()
688
+ ].filter((item) => typeof item === "string" && item.length > 0);
689
+ for (const base of baseCandidates) {
690
+ const candidates = [
691
+ node_path.default.resolve(base, configRequest),
692
+ node_path.default.resolve(base, "src", configRequest),
693
+ node_path.default.resolve(base, outputDir, configRequest),
694
+ node_path.default.resolve(base, "src", outputDir, configRequest)
695
+ ];
696
+ for (const candidate of candidates) if ((0, node_fs.existsSync)(candidate)) return candidate;
697
+ }
698
+ return sourceOptions.config;
699
+ }
700
+ function stripStyleExtension(file) {
701
+ return file.replace(/[?#].*$/, "").replace(/\.(?:wx|ac|jx|tt|q|c|ty)?ss$/i, "");
702
+ }
703
+ function createSourceStylePathCandidates(file, sourceOptions) {
704
+ const relativeFile = stripStyleExtension(file);
705
+ if (node_path.default.isAbsolute(relativeFile)) return [];
706
+ const bases = [
707
+ sourceOptions.projectRoot,
708
+ sourceOptions.cwd,
709
+ node_process.default.cwd()
710
+ ].filter((item) => typeof item === "string" && item.length > 0);
711
+ const candidates = /* @__PURE__ */ new Set();
712
+ for (const base of bases) for (const sourceRoot of ["", "src"]) {
713
+ const prefix = sourceRoot ? node_path.default.resolve(base, sourceRoot, relativeFile) : node_path.default.resolve(base, relativeFile);
714
+ for (const extension of SOURCE_STYLE_EXTENSIONS) candidates.add(`${prefix}${extension}`);
715
+ }
716
+ return [...candidates];
717
+ }
718
+ function extractStyleDirectiveSources(source) {
719
+ const styleSources = [];
720
+ SFC_STYLE_BLOCK_RE.lastIndex = 0;
721
+ let match = SFC_STYLE_BLOCK_RE.exec(source);
722
+ while (match !== null) {
723
+ const styleSource = match[1] ?? "";
724
+ if (hasTailwindSourceDirectives(styleSource)) styleSources.push(styleSource);
725
+ match = SFC_STYLE_BLOCK_RE.exec(source);
726
+ }
727
+ if (styleSources.length > 0) return styleSources;
728
+ return hasTailwindSourceDirectives(source) ? [source] : [];
729
+ }
730
+ function resolveSourceSideCssEntrySource(file, sourceOptions) {
731
+ for (const sourceFile of createSourceStylePathCandidates(file, sourceOptions)) {
732
+ if (!(0, node_fs.existsSync)(sourceFile)) continue;
733
+ try {
734
+ const source = (0, node_fs.readFileSync)(sourceFile, "utf8");
735
+ for (const styleSource of extractStyleDirectiveSources(source)) {
736
+ const cssEntrySource = resolveCssEntrySource(styleSource, node_path.default.dirname(sourceFile));
737
+ if (cssEntrySource) return cssEntrySource;
738
+ }
739
+ } catch {
740
+ continue;
741
+ }
742
+ }
743
+ }
744
+ async function resolveGeneratorSource(majorVersion, runtimeState, rawSource, file, cssHandlerOptions) {
745
+ const cssEntrySource = resolveCssEntrySource(rawSource, resolveCssSourceBase(file, cssHandlerOptions));
746
+ if (majorVersion === 3) {
747
+ const sourceOptions = require_generator.resolveTailwindV3SourceOptionsFromPatcher(runtimeState.twPatcher);
748
+ const sourceSideEntrySource = resolveSourceSideCssEntrySource(file, sourceOptions);
749
+ const resolvedEntrySource = cssEntrySource ?? sourceSideEntrySource;
750
+ if (!resolvedEntrySource) return require_generator.resolveTailwindV3SourceFromPatcher(runtimeState.twPatcher);
751
+ const config = resolveExistingConfigPath(resolvedEntrySource.config, resolvedEntrySource.configRequest, file, sourceOptions);
752
+ return require_generator.resolveTailwindV3Source({
753
+ ...sourceOptions,
754
+ base: resolvedEntrySource.base,
755
+ css: resolvedEntrySource.css,
756
+ ...config ? { config } : {}
757
+ });
758
+ }
759
+ if (!cssEntrySource) return require_generator.resolveTailwindV4SourceFromPatcher(runtimeState.twPatcher);
760
+ return require_generator.resolveTailwindV4Source({
761
+ ...require_generator.resolveTailwindV4SourceOptionsFromPatcher(runtimeState.twPatcher),
762
+ base: cssEntrySource.base,
763
+ css: cssEntrySource.css
764
+ });
765
+ }
766
+ async function resolveGeneratorSources(majorVersion, runtimeState, rawSource, file, cssHandlerOptions) {
767
+ const cssEntrySource = resolveCssEntrySource(rawSource, resolveCssSourceBase(file, cssHandlerOptions));
768
+ if (majorVersion !== 4 || cssEntrySource && !cssHandlerOptions.isMainChunk) return [await resolveGeneratorSource(majorVersion, runtimeState, rawSource, file, cssHandlerOptions)];
769
+ let sourceOptions;
770
+ try {
771
+ sourceOptions = require_generator.resolveTailwindV4SourceOptionsFromPatcher(runtimeState.twPatcher);
772
+ } catch {
773
+ return [await resolveGeneratorSource(majorVersion, runtimeState, rawSource, file, cssHandlerOptions)];
774
+ }
775
+ if (!sourceOptions.cssEntries || sourceOptions.cssEntries.length <= 1) return [await resolveGeneratorSource(majorVersion, runtimeState, rawSource, file, cssHandlerOptions)];
776
+ return await Promise.all(sourceOptions.cssEntries.map((cssEntry) => require_generator.resolveTailwindV4Source({
777
+ ...sourceOptions,
778
+ css: void 0,
779
+ cssEntries: [cssEntry]
780
+ })));
781
+ }
782
+ function isLocalImportRequest(request) {
783
+ return request.length > 0 && !request.startsWith("tailwindcss") && !request.startsWith("weapp-tailwindcss") && !request.startsWith("data:") && !REMOTE_IMPORT_RE.test(request);
784
+ }
785
+ function isPureLocalCssImportWrapper(css) {
786
+ let hasImport = false;
787
+ try {
788
+ const root = postcss.default.parse(css);
789
+ for (const node of root.nodes) {
790
+ if (node.type === "comment") continue;
791
+ if (node.type !== "atrule" || node.name !== "import") return false;
792
+ const request = parseImportRequest(node.params);
793
+ if (!request || !isLocalImportRequest(request)) return false;
794
+ hasImport = true;
795
+ }
796
+ } catch {
797
+ return false;
798
+ }
799
+ return hasImport;
800
+ }
801
+ function resolveLegacyCompatCssSource(rawSource) {
802
+ return removeUnsupportedMiniProgramAtRules(removeTailwindSourceDirectives(stripTailwindBanners(rawSource)));
803
+ }
804
+ function hasContainerConfigToken(rawSource) {
805
+ return rawSource.includes("@config") && /\bcontainer\b/.test(rawSource);
806
+ }
807
+ function hasConfiguredContainerCompat(rawSource, file, cssHandlerOptions) {
808
+ if (hasContainerConfigToken(rawSource)) return true;
809
+ const cssEntrySource = resolveCssEntrySource(rawSource, resolveCssSourceBase(file, cssHandlerOptions));
810
+ if (!cssEntrySource?.config) return false;
811
+ try {
812
+ return /\bcontainer\b/.test((0, node_fs.readFileSync)(cssEntrySource.config, "utf8"));
813
+ } catch {
814
+ return false;
815
+ }
816
+ }
817
+ function hasConfiguredContainerCompatSource(source) {
818
+ if (hasContainerConfigToken(source.css)) return true;
819
+ const cssEntrySource = resolveCssEntrySource(source.css, source.base);
820
+ if (cssEntrySource?.config) try {
821
+ if (/\bcontainer\b/.test((0, node_fs.readFileSync)(cssEntrySource.config, "utf8"))) return true;
822
+ } catch {}
823
+ if ("config" in source && source.config) try {
824
+ if (/\bcontainer\b/.test((0, node_fs.readFileSync)(source.config, "utf8"))) return true;
825
+ } catch {}
826
+ return false;
827
+ }
828
+ function hasConfiguredContainerCompatSources(sources) {
829
+ return sources.some((source) => hasConfiguredContainerCompatSource(source));
830
+ }
831
+ function removeDuplicatedViteMarkers(css, baseCss) {
832
+ if (!VITE_MARKER_RE.test(baseCss)) return css;
833
+ VITE_MARKER_RE.lastIndex = 0;
834
+ return css.replace(VITE_MARKER_RE, "");
835
+ }
836
+ function normalizeCssSelector(selector) {
837
+ return selector.trim().replace(/\s+/g, "");
838
+ }
839
+ function getCompatSelectorKeys(selector) {
840
+ return normalizeCompatSelectors(selector).map(normalizeCssSelector);
841
+ }
842
+ function getRuleCompatSelectorKeys(rule) {
843
+ return (rule.selectors?.length ? rule.selectors : [rule.selector]).flatMap((selector) => getCompatSelectorKeys(selector));
844
+ }
845
+ function hasClassSelector(selector) {
846
+ return CLASS_SELECTOR_RE.test(selector);
847
+ }
848
+ function getNormalizedSelectorList(selector) {
849
+ return selector.split(",").map(normalizeCssSelector).filter(Boolean);
850
+ }
851
+ function isMiniProgramThemeScopeSelector(selector) {
852
+ const selectors = getNormalizedSelectorList(selector);
853
+ return selectors.length > 0 && selectors.every((item) => MINI_PROGRAM_THEME_SCOPE_SELECTORS.has(item));
854
+ }
855
+ function hasUtilityClassSelector(selector) {
856
+ return hasClassSelector(selector) && !isMiniProgramThemeScopeSelector(selector);
857
+ }
858
+ function isCustomPropertyOnlyRule(rule) {
859
+ let hasDeclaration = false;
860
+ let allCustomProperties = true;
861
+ rule.each((node) => {
862
+ if (node.type !== "decl") return;
863
+ hasDeclaration = true;
864
+ if (!node.prop.startsWith("--")) allCustomProperties = false;
865
+ });
866
+ return hasDeclaration && allCustomProperties;
867
+ }
868
+ function isPseudoContentInitRule(rule) {
869
+ let hasDeclaration = false;
870
+ let onlyContentVariable = true;
871
+ rule.each((node) => {
872
+ if (node.type !== "decl") return;
873
+ hasDeclaration = true;
874
+ if (node.prop !== "--tw-content") onlyContentVariable = false;
875
+ });
876
+ return hasDeclaration && onlyContentVariable;
877
+ }
878
+ function collectGeneratedSelectors(css) {
879
+ const selectors = /* @__PURE__ */ new Set();
880
+ try {
881
+ postcss.default.parse(css).walkRules((rule) => {
882
+ if (isCustomPropertyOnlyRule(rule) && !isPseudoContentInitRule(rule) && !hasUtilityClassSelector(rule.selector)) return;
883
+ for (const selector of getRuleCompatSelectorKeys(rule)) selectors.add(selector);
884
+ });
885
+ } catch {
886
+ return selectors;
887
+ }
888
+ return selectors;
889
+ }
890
+ function removeGeneratedSelectorCompatCss(css, generatedCss) {
891
+ const generatedSelectors = collectGeneratedSelectors(generatedCss);
892
+ if (generatedSelectors.size === 0) return css;
893
+ try {
894
+ const root = postcss.default.parse(css);
895
+ let removed = false;
896
+ root.walkRules((rule) => {
897
+ if (isPseudoContentInitRule(rule)) {
898
+ rule.remove();
899
+ removed = true;
900
+ return;
901
+ }
902
+ if (isCustomPropertyOnlyRule(rule) && !isPseudoContentInitRule(rule) && !hasUtilityClassSelector(rule.selector)) return;
903
+ if (getRuleCompatSelectorKeys(rule).some((selector) => generatedSelectors.has(selector))) {
904
+ rule.remove();
905
+ removed = true;
906
+ }
907
+ });
908
+ root.walkAtRules((atRule) => {
909
+ if (!atRule.nodes || atRule.nodes.length === 0) atRule.remove();
910
+ });
911
+ return removed ? root.toString() : css;
912
+ } catch {
913
+ return css;
914
+ }
915
+ }
916
+ function collectDedupedPostTransformCompatCss(css, generatedCss) {
917
+ const generatedSelectors = collectGeneratedSelectors(generatedCss);
918
+ if (generatedSelectors.size === 0) return css;
919
+ const preservedNodes = [];
920
+ try {
921
+ const root = postcss.default.parse(css);
922
+ root.each((node) => {
923
+ if (node.type === "rule" && getRuleCompatSelectorKeys(node).some((selector) => generatedSelectors.has(selector))) {
924
+ if (isCustomPropertyOnlyRule(node) && !isPseudoContentInitRule(node) && !hasUtilityClassSelector(node.selector)) {
925
+ const declarationProps = /* @__PURE__ */ new Set();
926
+ node.walkDecls((decl) => {
927
+ declarationProps.add(decl.prop);
928
+ });
929
+ postcss.default.parse(generatedCss).walkRules((rule) => {
930
+ const nodeSelectors = new Set(getRuleCompatSelectorKeys(node));
931
+ if (!getRuleCompatSelectorKeys(rule).some((selector) => nodeSelectors.has(selector))) return;
932
+ rule.walkDecls((decl) => {
933
+ declarationProps.delete(decl.prop);
934
+ });
935
+ });
936
+ const nextRule = node.clone();
937
+ nextRule.walkDecls((decl) => {
938
+ if (!declarationProps.has(decl.prop)) decl.remove();
939
+ });
940
+ if (nextRule.nodes.length > 0) preservedNodes.push(nextRule);
941
+ }
942
+ return;
943
+ }
944
+ preservedNodes.push(node.clone());
945
+ });
946
+ if (preservedNodes.length === root.nodes.length) return css;
947
+ const nextRoot = postcss.default.root();
948
+ nextRoot.append(preservedNodes);
949
+ return nextRoot.toString();
950
+ } catch {
951
+ return css;
952
+ }
953
+ }
954
+ async function appendLegacyCompatCss(css, rawSource, generatorTarget, styleHandler, cssHandlerOptions, generatorStyleOptions) {
955
+ const compatSource = removeGeneratedSelectorCompatCss(resolveLegacyCompatCssSource(rawSource), css);
956
+ if (compatSource.trim().length === 0) return css;
957
+ if (generatorTarget !== "weapp") return createCssAppend(css, compatSource);
958
+ const { css: compatCss } = await styleHandler(compatSource, {
959
+ ...cssHandlerOptions,
960
+ ...generatorStyleOptions
961
+ });
962
+ const cleanedCompatCss = collectDedupedPostTransformCompatCss(removeDuplicatedViteMarkers(removeUnsupportedMiniProgramAtRules(compatCss), css), css);
963
+ if (cleanedCompatCss.trim().length === 0) return css;
964
+ return createCssAppend(css, cleanedCompatCss);
965
+ }
966
+ async function appendLegacyContainerCompatCss(css, rawSource, file, runtime, configuredContainerCompat, generatorTarget, styleHandler, cssHandlerOptions, generatorStyleOptions) {
967
+ const compatSource = resolveLegacyCompatCssSource(rawSource);
968
+ const shouldAppendContainer = runtime.has("container") || hasConfiguredContainerCompat(rawSource, file, cssHandlerOptions) || configuredContainerCompat || collectGeneratedSelectors(compatSource).has(".container");
969
+ if (generatorTarget !== "weapp" || !shouldAppendContainer || collectGeneratedSelectors(css).has(".container")) return css;
970
+ const { css: compatCss } = await styleHandler(LEGACY_CONTAINER_COMPAT_CSS, {
971
+ ...cssHandlerOptions,
972
+ ...generatorStyleOptions
973
+ });
974
+ const cleanedCompatCss = collectDedupedPostTransformCompatCss(removeUnsupportedMiniProgramAtRules(compatCss), css);
975
+ if (cleanedCompatCss.trim().length === 0) return css;
976
+ return createCssAppend(css, cleanedCompatCss);
977
+ }
978
+ async function generateCssByGenerator(options) {
979
+ const { opts, runtimeState, runtime, rawSource, file, cssHandlerOptions, cssUserHandlerOptions, styleHandler, debug } = options;
980
+ const generatorOptions = require_generator.normalizeWeappTailwindcssGeneratorOptions(opts.generator);
981
+ const majorVersion = runtimeState.twPatcher.majorVersion;
982
+ if (isPureLocalCssImportWrapper(rawSource)) return;
983
+ const hasGeneratedCss = hasTailwindGeneratedCss(rawSource);
984
+ const hasSourceDirectives = hasTailwindSourceDirectives(rawSource);
985
+ const hasGeneratedMarkers = hasTailwindGeneratedCssMarkers(rawSource);
986
+ const shouldForceGenerateCurrentCss = hasGeneratedCss || hasGeneratedMarkers || hasSourceDirectives || cssHandlerOptions.isMainChunk;
987
+ if (generatorOptions.mode === "off" || !SUPPORTED_GENERATOR_MAJOR_VERSIONS.has(majorVersion ?? 0) || generatorOptions.mode === "force" && (!shouldForceGenerateCurrentCss || majorVersion === 3 && !hasSourceDirectives && !hasGeneratedCss && !hasGeneratedMarkers) || generatorOptions.mode !== "force" && majorVersion !== 3 && !hasGeneratedCss || !cssHandlerOptions.isMainChunk && majorVersion !== 3 && generatorOptions.mode !== "force" && !hasGeneratedCss) return;
988
+ try {
989
+ await runtimeState.patchPromise;
990
+ const sources = await resolveGeneratorSources(majorVersion, runtimeState, rawSource, file, cssHandlerOptions);
991
+ const generatorStyleOptions = resolveGeneratorStyleOptions(opts, cssHandlerOptions, generatorOptions.styleOptions);
992
+ const configuredContainerCompat = hasConfiguredContainerCompatSources(sources);
993
+ const generatedResults = await Promise.all(sources.map(async (source) => {
994
+ return require_generator.createWeappTailwindcssGenerator(source).generate({
995
+ candidates: runtime,
996
+ styleOptions: generatorStyleOptions,
997
+ target: generatorOptions.target
998
+ });
999
+ }));
1000
+ const firstGenerated = generatedResults[0];
1001
+ if (!firstGenerated) return;
1002
+ const generated = generatedResults.length === 1 ? firstGenerated : {
1003
+ ...firstGenerated,
1004
+ css: generatedResults.map((item) => item.css).join("\n"),
1005
+ rawCss: generatedResults.map((item) => item.rawCss).join("\n"),
1006
+ classSet: new Set(generatedResults.flatMap((item) => [...item.classSet])),
1007
+ dependencies: [...new Set(generatedResults.flatMap((item) => item.dependencies))],
1008
+ sources: generatedResults.flatMap((item) => item.sources)
1009
+ };
1010
+ debug("tailwind generator result: %s rawBytes=%d cssBytes=%d candidates=%d", file, generated.rawCss.length, generated.css.length, generated.classSet.size);
1011
+ const extraCss = splitTailwindV4GeneratedCss(rawSource, generated.rawCss);
1012
+ if (typeof extraCss === "string") {
1013
+ let css = stripTailwindBanner(generated.css);
1014
+ if (generated.target === "weapp") css = inheritLegacyUnitConvertedDeclarations(css, rawSource);
1015
+ if (extraCss.trim().length > 0) {
1016
+ const cleanedExtraCss = removeTailwindSourceDirectives(extraCss);
1017
+ if (cleanedExtraCss.trim().length > 0) {
1018
+ const extraSource = generated.target === "weapp" ? removeUnsupportedMiniProgramAtRules(cleanedExtraCss) : cleanedExtraCss;
1019
+ if (extraSource.trim().length === 0) return {
1020
+ css: finalizeMiniProgramGeneratorCss(css, generated.target),
1021
+ target: generated.target,
1022
+ source: "generator"
1023
+ };
1024
+ if (generated.target === "weapp") {
1025
+ const { css: userCss } = await styleHandler(extraSource, {
1026
+ ...generatorStyleOptions,
1027
+ ...cssUserHandlerOptions
1028
+ });
1029
+ css = createCssAppend(css, removeUnsupportedMiniProgramAtRules(userCss));
1030
+ } else css = createCssAppend(css, extraSource);
1031
+ }
1032
+ }
1033
+ if (generated.target === "weapp" && generatorOptions.mode === "force") {
1034
+ css = await appendLegacyCompatCss(css, rawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1035
+ css = await appendLegacyContainerCompatCss(css, rawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1036
+ }
1037
+ return {
1038
+ css: finalizeMiniProgramGeneratorCss(css, generated.target),
1039
+ target: generated.target,
1040
+ source: "generator"
1041
+ };
1042
+ }
1043
+ if (generatorOptions.mode === "force") {
1044
+ debug("tailwind direct css generation prefix mismatch, append transformed bundle css %s", file);
1045
+ let css = stripTailwindBanner(generated.css);
1046
+ if (generated.target === "weapp") css = inheritLegacyUnitConvertedDeclarations(css, rawSource);
1047
+ css = await appendLegacyCompatCss(css, rawSource, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1048
+ css = await appendLegacyContainerCompatCss(css, rawSource, file, runtime, configuredContainerCompat, generated.target, styleHandler, cssHandlerOptions, generatorStyleOptions);
1049
+ return {
1050
+ css: finalizeMiniProgramGeneratorCss(css, generated.target),
1051
+ target: generated.target,
1052
+ source: "generator-forced"
1053
+ };
1054
+ }
1055
+ } catch (error) {
1056
+ if (generatorOptions.mode === "force") throw error;
1057
+ debug("tailwind direct css generation failed, fallback to styleHandler: %s %O", file, error);
1058
+ }
1059
+ }
1060
+ //#endregion
1061
+ Object.defineProperty(exports, "generateCssByGenerator", {
1062
+ enumerable: true,
1063
+ get: function() {
1064
+ return generateCssByGenerator;
1065
+ }
1066
+ });
1067
+ Object.defineProperty(exports, "hasTailwindGeneratedCssMarkers", {
1068
+ enumerable: true,
1069
+ get: function() {
1070
+ return hasTailwindGeneratedCssMarkers;
1071
+ }
1072
+ });
1073
+ Object.defineProperty(exports, "hasTailwindSourceDirectives", {
1074
+ enumerable: true,
1075
+ get: function() {
1076
+ return hasTailwindSourceDirectives;
1077
+ }
1078
+ });
1079
+ Object.defineProperty(exports, "processCachedTask", {
1080
+ enumerable: true,
1081
+ get: function() {
1082
+ return processCachedTask;
1083
+ }
1084
+ });