summaryrefslogtreecommitdiff
path: root/node_modules/tailwindcss/src/util/cloneNodes.js
diff options
context:
space:
mode:
authorPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:54:57 +0100
committerPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:57:48 +0100
commitb1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch)
tree49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/tailwindcss/src/util/cloneNodes.js
Docs
Diffstat (limited to 'node_modules/tailwindcss/src/util/cloneNodes.js')
-rw-r--r--node_modules/tailwindcss/src/util/cloneNodes.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/node_modules/tailwindcss/src/util/cloneNodes.js b/node_modules/tailwindcss/src/util/cloneNodes.js
new file mode 100644
index 0000000..299dd63
--- /dev/null
+++ b/node_modules/tailwindcss/src/util/cloneNodes.js
@@ -0,0 +1,28 @@
+export default function cloneNodes(nodes, source = undefined, raws = undefined) {
+ return nodes.map((node) => {
+ let cloned = node.clone()
+
+ // We always want override the source map
+ // except when explicitly told not to
+ let shouldOverwriteSource = node.raws.tailwind?.preserveSource !== true || !cloned.source
+
+ if (source !== undefined && shouldOverwriteSource) {
+ cloned.source = source
+
+ if ('walk' in cloned) {
+ cloned.walk((child) => {
+ child.source = source
+ })
+ }
+ }
+
+ if (raws !== undefined) {
+ cloned.raws.tailwind = {
+ ...cloned.raws.tailwind,
+ ...raws,
+ }
+ }
+
+ return cloned
+ })
+}