add hw2
This commit is contained in:
		
							
								
								
									
										89
									
								
								node_modules/tailwindcss/lib/postcss-plugins/nesting/plugin.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								node_modules/tailwindcss/lib/postcss-plugins/nesting/plugin.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,89 @@ | ||||
| "use strict"; | ||||
| Object.defineProperty(exports, "__esModule", { | ||||
|     value: true | ||||
| }); | ||||
| Object.defineProperty(exports, "nesting", { | ||||
|     enumerable: true, | ||||
|     get: function() { | ||||
|         return nesting; | ||||
|     } | ||||
| }); | ||||
| const _postcss = /*#__PURE__*/ _interop_require_default(require("postcss")); | ||||
| const _postcssnested = /*#__PURE__*/ _interop_require_default(require("postcss-nested")); | ||||
| function _interop_require_default(obj) { | ||||
|     return obj && obj.__esModule ? obj : { | ||||
|         default: obj | ||||
|     }; | ||||
| } | ||||
| function nesting(opts = _postcssnested.default) { | ||||
|     return (root, result)=>{ | ||||
|         root.walkAtRules("screen", (rule)=>{ | ||||
|             rule.name = "media"; | ||||
|             rule.params = `screen(${rule.params})`; | ||||
|         }); | ||||
|         root.walkAtRules("apply", (rule)=>{ | ||||
|             rule.before(_postcss.default.decl({ | ||||
|                 prop: "__apply", | ||||
|                 value: rule.params, | ||||
|                 source: rule.source | ||||
|             })); | ||||
|             rule.remove(); | ||||
|         }); | ||||
|         let plugin = (()=>{ | ||||
|             var _opts_hasOwnProperty; | ||||
|             if (typeof opts === "function" || typeof opts === "object" && (opts === null || opts === void 0 ? void 0 : (_opts_hasOwnProperty = opts.hasOwnProperty) === null || _opts_hasOwnProperty === void 0 ? void 0 : _opts_hasOwnProperty.call(opts, "postcssPlugin"))) { | ||||
|                 return opts; | ||||
|             } | ||||
|             if (typeof opts === "string") { | ||||
|                 return require(opts); | ||||
|             } | ||||
|             if (Object.keys(opts).length <= 0) { | ||||
|                 return _postcssnested.default; | ||||
|             } | ||||
|             throw new Error("tailwindcss/nesting should be loaded with a nesting plugin."); | ||||
|         })(); | ||||
|         (0, _postcss.default)([ | ||||
|             plugin | ||||
|         ]).process(root, result.opts).sync(); | ||||
|         root.walkDecls("__apply", (decl)=>{ | ||||
|             decl.before(_postcss.default.atRule({ | ||||
|                 name: "apply", | ||||
|                 params: decl.value, | ||||
|                 source: decl.source | ||||
|             })); | ||||
|             decl.remove(); | ||||
|         }); | ||||
|         /** | ||||
|      * Use a private PostCSS API to remove the "clean" flag from the entire AST. | ||||
|      * This is done because running process() on the AST will set the "clean" | ||||
|      * flag on all nodes, which we don't want. | ||||
|      * | ||||
|      * This causes downstream plugins using the visitor API to be skipped. | ||||
|      * | ||||
|      * This is guarded because the PostCSS API is not public | ||||
|      * and may change in future versions of PostCSS. | ||||
|      * | ||||
|      * See https://github.com/postcss/postcss/issues/1712 for more details | ||||
|      * | ||||
|      * @param {import('postcss').Node} node | ||||
|      */ function markDirty(node) { | ||||
|             if (!("markDirty" in node)) { | ||||
|                 return; | ||||
|             } | ||||
|             // Traverse the tree down to the leaf nodes | ||||
|             if (node.nodes) { | ||||
|                 node.nodes.forEach((n)=>markDirty(n)); | ||||
|             } | ||||
|             // If it's a leaf node mark it as dirty | ||||
|             // We do this here because marking a node as dirty | ||||
|             // will walk up the tree and mark all parents as dirty | ||||
|             // resulting in a lot of unnecessary work if we did this | ||||
|             // for every single node | ||||
|             if (!node.nodes) { | ||||
|                 node.markDirty(); | ||||
|             } | ||||
|         } | ||||
|         markDirty(root); | ||||
|         return root; | ||||
|     }; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 nik
					nik