From bc0c425f1d4c4b335918b4b9af7bb859b1ff8e9d Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 09:51:50 +0200 Subject: [PATCH 01/18] feat: add tailwindcss package --- package-lock.json | 1936 +++++++++++++++++++++++++-- packages/tailwindcss/.eslintignore | 4 + packages/tailwindcss/.npmignore | 5 + packages/tailwindcss/bin/index.mjs | 3 + packages/tailwindcss/index.html | 11 + packages/tailwindcss/package.json | 38 + packages/tailwindcss/project.json | 16 + packages/tailwindcss/src/index.css | 6 + packages/tailwindcss/todo.md | 13 + packages/tailwindcss/vite.config.ts | 6 + 10 files changed, 1951 insertions(+), 87 deletions(-) create mode 100644 packages/tailwindcss/.eslintignore create mode 100644 packages/tailwindcss/.npmignore create mode 100755 packages/tailwindcss/bin/index.mjs create mode 100644 packages/tailwindcss/index.html create mode 100644 packages/tailwindcss/package.json create mode 100644 packages/tailwindcss/project.json create mode 100644 packages/tailwindcss/src/index.css create mode 100644 packages/tailwindcss/todo.md create mode 100644 packages/tailwindcss/vite.config.ts diff --git a/package-lock.json b/package-lock.json index 31428f06f6..45232003a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -573,6 +573,21 @@ "devOptional": true, "license": "MIT" }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -4513,6 +4528,10 @@ "resolved": "packages/table", "link": true }, + "node_modules/@baloise/ds-tailwindcss": { + "resolved": "packages/tailwindcss", + "link": true + }, "node_modules/@baloise/ds-testing": { "resolved": "packages/testing", "link": true @@ -5937,6 +5956,23 @@ "react": ">=16.8.0" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/android-arm": { "version": "0.19.5", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.5.tgz", @@ -6193,6 +6229,23 @@ "node": ">=12" } }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/netbsd-x64": { "version": "0.19.5", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.5.tgz", @@ -6209,6 +6262,23 @@ "node": ">=12" } }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/openbsd-x64": { "version": "0.19.5", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.5.tgz", @@ -12203,9 +12273,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.4.tgz", - "integrity": "sha512-gGi5adZWvjtJU7Axs//CWaQbQd/vGy8KGcnEaCWiyCqxWYDxwIlAHFuSe6Guoxtd0SRvSfVTDMPd5H+4KE2kKA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz", + "integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==", "cpu": [ "arm" ], @@ -12216,9 +12286,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.4.tgz", - "integrity": "sha512-1aRlh1gqtF7vNPMnlf1vJKk72Yshw5zknR/ZAVh7zycRAGF2XBMVDAHmFQz/Zws5k++nux3LOq/Ejj1WrDR6xg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz", + "integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==", "cpu": [ "arm64" ], @@ -12229,9 +12299,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.4.tgz", - "integrity": "sha512-drHl+4qhFj+PV/jrQ78p9ch6A0MfNVZScl/nBps5a7u01aGf/GuBRrHnRegA9bP222CBDfjYbFdjkIJ/FurvSQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz", + "integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==", "cpu": [ "arm64" ], @@ -12242,9 +12312,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.4.tgz", - "integrity": "sha512-hQqq/8QALU6t1+fbNmm6dwYsa0PDD4L5r3TpHx9dNl+aSEMnIksHZkSO3AVH+hBMvZhpumIGrTFj8XCOGuIXjw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz", + "integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==", "cpu": [ "x64" ], @@ -12255,9 +12325,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.4.tgz", - "integrity": "sha512-/L0LixBmbefkec1JTeAQJP0ETzGjFtNml2gpQXA8rpLo7Md+iXQzo9kwEgzyat5Q+OG/C//2B9Fx52UxsOXbzw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz", + "integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==", "cpu": [ "arm64" ], @@ -12268,9 +12338,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.4.tgz", - "integrity": "sha512-6Rk3PLRK+b8L/M6m/x6Mfj60LhAUcLJ34oPaxufA+CfqkUrDoUPQYFdRrhqyOvtOKXLJZJwxlOLbQjNYQcRQfw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz", + "integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==", "cpu": [ "x64" ], @@ -12281,9 +12351,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.4.tgz", - "integrity": "sha512-kmT3x0IPRuXY/tNoABp2nDvI9EvdiS2JZsd4I9yOcLCCViKsP0gB38mVHOhluzx+SSVnM1KNn9k6osyXZhLoCA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz", + "integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==", "cpu": [ "arm" ], @@ -12294,9 +12364,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.4.tgz", - "integrity": "sha512-3iSA9tx+4PZcJH/Wnwsvx/BY4qHpit/u2YoZoXugWVfc36/4mRkgGEoRbRV7nzNBSCOgbWMeuQ27IQWgJ7tRzw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz", + "integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==", "cpu": [ "arm" ], @@ -12307,9 +12377,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.4.tgz", - "integrity": "sha512-7CwSJW+sEhM9sESEk+pEREF2JL0BmyCro8UyTq0Kyh0nu1v0QPNY3yfLPFKChzVoUmaKj8zbdgBxUhBRR+xGxg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz", + "integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==", "cpu": [ "arm64" ], @@ -12320,9 +12390,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.4.tgz", - "integrity": "sha512-GZdafB41/4s12j8Ss2izofjeFXRAAM7sHCb+S4JsI9vaONX/zQ8cXd87B9MRU/igGAJkKvmFmJJBeeT9jJ5Cbw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz", + "integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==", "cpu": [ "arm64" ], @@ -12333,9 +12403,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.4.tgz", - "integrity": "sha512-uuphLuw1X6ur11675c2twC6YxbzyLSpWggvdawTUamlsoUv81aAXRMPBC1uvQllnBGls0Qt5Siw8reSIBnbdqQ==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz", + "integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==", "cpu": [ "loong64" ], @@ -12346,9 +12416,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.4.tgz", - "integrity": "sha512-KvLEw1os2gSmD6k6QPCQMm2T9P2GYvsMZMRpMz78QpSoEevHbV/KOUbI/46/JRalhtSAYZBYLAnT9YE4i/l4vg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz", + "integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==", "cpu": [ "ppc64" ], @@ -12359,9 +12429,22 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.4.tgz", - "integrity": "sha512-wcpCLHGM9yv+3Dql/CI4zrY2mpQ4WFergD3c9cpRowltEh5I84pRT/EuHZsG0In4eBPPYthXnuR++HrFkeqwkA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz", + "integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz", + "integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==", "cpu": [ "riscv64" ], @@ -12372,9 +12455,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.4.tgz", - "integrity": "sha512-nLbfQp2lbJYU8obhRQusXKbuiqm4jSJteLwfjnunDT5ugBKdxqw1X9KWwk8xp1OMC6P5d0WbzxzhWoznuVK6XA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz", + "integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==", "cpu": [ "s390x" ], @@ -12385,9 +12468,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.4.tgz", - "integrity": "sha512-JGejzEfVzqc/XNiCKZj14eb6s5w8DdWlnQ5tWUbs99kkdvfq9btxxVX97AaxiUX7xJTKFA0LwoS0KU8C2faZRg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz", + "integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==", "cpu": [ "x64" ], @@ -12398,9 +12481,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.4.tgz", - "integrity": "sha512-/iFIbhzeyZZy49ozAWJ1ZR2KW6ZdYUbQXLT4O5n1cRZRoTpwExnHLjlurDXXPKEGxiAg0ujaR9JDYKljpr2fDg==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz", + "integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==", "cpu": [ "x64" ], @@ -12411,9 +12494,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.4.tgz", - "integrity": "sha512-qORc3UzoD5UUTneiP2Afg5n5Ti1GAW9Gp5vHPxzvAFFA3FBaum9WqGvYXGf+c7beFdOKNos31/41PRMUwh1tpA==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz", + "integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==", "cpu": [ "arm64" ], @@ -12424,9 +12507,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.4.tgz", - "integrity": "sha512-5g7E2PHNK2uvoD5bASBD9aelm44nf1w4I5FEI7MPHLWcCSrR8JragXZWgKPXk5i2FU3JFfa6CGZLw2RrGBHs2Q==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz", + "integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==", "cpu": [ "ia32" ], @@ -12437,9 +12520,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.4.tgz", - "integrity": "sha512-p0scwGkR4kZ242xLPBuhSckrJ734frz6v9xZzD+kHVYRAkSUmdSLCIJRfql6H5//aF8Q10K+i7q8DiPfZp0b7A==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz", + "integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==", "cpu": [ "x64" ], @@ -15809,6 +15892,277 @@ "node": ">=10" } }, + "node_modules/@tailwindcss/node": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.5.tgz", + "integrity": "sha512-CBhSWo0vLnWhXIvpD0qsPephiaUYfHUX3U9anwDaHZAeuGpTiB3XmsxPAN6qX7bFhipyGBqOa1QYQVVhkOUGxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.29.2", + "tailwindcss": "4.1.5" + } + }, + "node_modules/@tailwindcss/node/node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/@tailwindcss/node/node_modules/tailwindcss": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.5.tgz", + "integrity": "sha512-nYtSPfWGDiWgCkwQG/m+aX83XCwf62sBgg3bIlNiiOcggnS1x3uVRDAuyelBFL+vJdOPPCGElxv9DjHJjRHiVA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.5.tgz", + "integrity": "sha512-1n4br1znquEvyW/QuqMKQZlBen+jxAbvyduU87RS8R3tUSvByAkcaMTkJepNIrTlYhD+U25K4iiCIxE6BGdRYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.5", + "@tailwindcss/oxide-darwin-arm64": "4.1.5", + "@tailwindcss/oxide-darwin-x64": "4.1.5", + "@tailwindcss/oxide-freebsd-x64": "4.1.5", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.5", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.5", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.5", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.5", + "@tailwindcss/oxide-linux-x64-musl": "4.1.5", + "@tailwindcss/oxide-wasm32-wasi": "4.1.5", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.5", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.5" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.5.tgz", + "integrity": "sha512-LVvM0GirXHED02j7hSECm8l9GGJ1RfgpWCW+DRn5TvSaxVsv28gRtoL4aWKGnXqwvI3zu1GABeDNDVZeDPOQrw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.5.tgz", + "integrity": "sha512-//TfCA3pNrgnw4rRJOqavW7XUk8gsg9ddi8cwcsWXp99tzdBAZW0WXrD8wDyNbqjW316Pk2hiN/NJx/KWHl8oA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.5.tgz", + "integrity": "sha512-XQorp3Q6/WzRd9OalgHgaqgEbjP3qjHrlSUb5k1EuS1Z9NE9+BbzSORraO+ecW432cbCN7RVGGL/lSnHxcd+7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.5.tgz", + "integrity": "sha512-bPrLWbxo8gAo97ZmrCbOdtlz/Dkuy8NK97aFbVpkJ2nJ2Jo/rsCbu0TlGx8joCuA3q6vMWTSn01JY46iwG+clg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.5.tgz", + "integrity": "sha512-1gtQJY9JzMAhgAfvd/ZaVOjh/Ju/nCoAsvOVJenWZfs05wb8zq+GOTnZALWGqKIYEtyNpCzvMk+ocGpxwdvaVg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.5.tgz", + "integrity": "sha512-dtlaHU2v7MtdxBXoqhxwsWjav7oim7Whc6S9wq/i/uUMTWAzq/gijq1InSgn2yTnh43kR+SFvcSyEF0GCNu1PQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.5.tgz", + "integrity": "sha512-fg0F6nAeYcJ3CriqDT1iVrqALMwD37+sLzXs8Rjy8Z1ZHshJoYceodfyUwGJEsQoTyWbliFNRs2wMQNXtT7MVA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.5.tgz", + "integrity": "sha512-SO+F2YEIAHa1AITwc8oPwMOWhgorPzzcbhWEb+4oLi953h45FklDmM8dPSZ7hNHpIk9p/SCZKUYn35t5fjGtHA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.5.tgz", + "integrity": "sha512-6UbBBplywkk/R+PqqioskUeXfKcBht3KU7juTi1UszJLx0KPXUo10v2Ok04iBJIaDPkIFkUOVboXms5Yxvaz+g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.5.tgz", + "integrity": "sha512-hwALf2K9FHuiXTPqmo1KeOb83fTRNbe9r/Ixv9ZNQ/R24yw8Ge1HOWDDgTdtzntIaIUJG5dfXCf4g9AD4RiyhQ==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@emnapi/wasi-threads": "^1.0.2", + "@napi-rs/wasm-runtime": "^0.2.9", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.5.tgz", + "integrity": "sha512-oDKncffWzaovJbkuR7/OTNFRJQVdiw/n8HnzaCItrNQUeQgjy7oUiYpsm9HUBgpmvmDpSSbGaCa2Evzvk3eFmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.5.tgz", + "integrity": "sha512-WiR4dtyrFdbb+ov0LK+7XsFOsG+0xs0PKZKkt41KDn9jYpO7baE3bXiudPVkTqUEwNfiglCygQHl2jklvSBi7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@tokenizer/token": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", @@ -18451,6 +18805,15 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -20503,6 +20866,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -24481,6 +24856,16 @@ "node": ">=8" } }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -24670,6 +25055,15 @@ "node": ">= 0.8.0" } }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "peer": true + }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -24700,6 +25094,15 @@ "node": ">=8" } }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", @@ -27205,9 +27608,9 @@ } }, "node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -33133,6 +33536,245 @@ } } }, + "node_modules/lightningcss": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", + "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", + "devOptional": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.29.2", + "lightningcss-darwin-x64": "1.29.2", + "lightningcss-freebsd-x64": "1.29.2", + "lightningcss-linux-arm-gnueabihf": "1.29.2", + "lightningcss-linux-arm64-gnu": "1.29.2", + "lightningcss-linux-arm64-musl": "1.29.2", + "lightningcss-linux-x64-gnu": "1.29.2", + "lightningcss-linux-x64-musl": "1.29.2", + "lightningcss-win32-arm64-msvc": "1.29.2", + "lightningcss-win32-x64-msvc": "1.29.2" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", + "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", + "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", + "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", + "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", + "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", + "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", + "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", + "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", + "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", + "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/lilconfig": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", @@ -34682,6 +35324,20 @@ "rimraf": "bin.js" } }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanoid": { "version": "3.3.8", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", @@ -35690,6 +36346,18 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -37293,6 +37961,28 @@ "postcss": "^8.0.0" } }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, "node_modules/postcss-load-config": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz", @@ -37571,6 +38261,34 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, "node_modules/postcss-normalize-charset": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", @@ -40026,12 +40744,12 @@ } }, "node_modules/rollup": { - "version": "4.34.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.4.tgz", - "integrity": "sha512-spF66xoyD7rz3o08sHP7wogp1gZ6itSq22SGa/IZTcUDXDlOyrShwMwkVSB+BUxFRZZCUYqdb3KWDEOMVQZxuw==", + "version": "4.40.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz", + "integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==", "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.7" }, "bin": { "rollup": "dist/bin/rollup" @@ -40041,25 +40759,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.4", - "@rollup/rollup-android-arm64": "4.34.4", - "@rollup/rollup-darwin-arm64": "4.34.4", - "@rollup/rollup-darwin-x64": "4.34.4", - "@rollup/rollup-freebsd-arm64": "4.34.4", - "@rollup/rollup-freebsd-x64": "4.34.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.4", - "@rollup/rollup-linux-arm-musleabihf": "4.34.4", - "@rollup/rollup-linux-arm64-gnu": "4.34.4", - "@rollup/rollup-linux-arm64-musl": "4.34.4", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.4", - "@rollup/rollup-linux-riscv64-gnu": "4.34.4", - "@rollup/rollup-linux-s390x-gnu": "4.34.4", - "@rollup/rollup-linux-x64-gnu": "4.34.4", - "@rollup/rollup-linux-x64-musl": "4.34.4", - "@rollup/rollup-win32-arm64-msvc": "4.34.4", - "@rollup/rollup-win32-ia32-msvc": "4.34.4", - "@rollup/rollup-win32-x64-msvc": "4.34.4", + "@rollup/rollup-android-arm-eabi": "4.40.2", + "@rollup/rollup-android-arm64": "4.40.2", + "@rollup/rollup-darwin-arm64": "4.40.2", + "@rollup/rollup-darwin-x64": "4.40.2", + "@rollup/rollup-freebsd-arm64": "4.40.2", + "@rollup/rollup-freebsd-x64": "4.40.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.2", + "@rollup/rollup-linux-arm-musleabihf": "4.40.2", + "@rollup/rollup-linux-arm64-gnu": "4.40.2", + "@rollup/rollup-linux-arm64-musl": "4.40.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-gnu": "4.40.2", + "@rollup/rollup-linux-riscv64-musl": "4.40.2", + "@rollup/rollup-linux-s390x-gnu": "4.40.2", + "@rollup/rollup-linux-x64-gnu": "4.40.2", + "@rollup/rollup-linux-x64-musl": "4.40.2", + "@rollup/rollup-win32-arm64-msvc": "4.40.2", + "@rollup/rollup-win32-ia32-msvc": "4.40.2", + "@rollup/rollup-win32-x64-msvc": "4.40.2", "fsevents": "~2.3.2" } }, @@ -41053,6 +41772,12 @@ "dev": true, "license": "MIT" }, + "node_modules/rollup/node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "license": "MIT" + }, "node_modules/rrweb-cssom": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", @@ -43365,6 +44090,52 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -43453,6 +44224,226 @@ "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", "license": "BSD-3-Clause" }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/tailwindcss/node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -43943,6 +44934,33 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/thingies": { "version": "1.21.0", "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", @@ -44073,16 +45091,19 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.10.tgz", - "integrity": "sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==", + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", "license": "MIT", "dependencies": { - "fdir": "^6.4.2", + "fdir": "^6.4.4", "picomatch": "^4.0.2" }, "engines": { "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, "node_modules/tinyglobby/node_modules/picomatch": { @@ -44326,6 +45347,15 @@ "node": ">=6.10" } }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "peer": true + }, "node_modules/ts-jest": { "version": "29.1.5", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.5.tgz", @@ -48589,6 +49619,738 @@ "ag-grid-community": ">=29.3.0" } }, + "packages/tailwindcss": { + "name": "@baloise/ds-tailwindcss", + "version": "18.3.0", + "license": "Apache-2.0", + "dependencies": { + "@baloise/ds-fonts": "18.3.0", + "@baloise/ds-tokens": "18.3.0", + "tailwindcss": "^4.1.5" + }, + "bin": { + "ds-tailwindcss-migrate": "bin/index.mjs" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.1.5", + "compression": "~1.7.4", + "express": "~4.18.2", + "serve-index": "~1.9.1", + "vite": "^6.3.5" + } + }, + "packages/tailwindcss/node_modules/@esbuild/android-arm": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/android-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/android-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/darwin-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-arm": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-ia32": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-loong64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-s390x": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/linux-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/sunos-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/win32-arm64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/win32-ia32": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@esbuild/win32-x64": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss/node_modules/@tailwindcss/vite": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.5.tgz", + "integrity": "sha512-FE1stRoqdHSb7RxesMfCXE8icwI1W6zGE/512ae3ZDrpkQYTTYeSyUJPRCjZd8CwVAhpDUbi1YR8pcZioFJQ/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.5", + "@tailwindcss/oxide": "4.1.5", + "tailwindcss": "4.1.5" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6" + } + }, + "packages/tailwindcss/node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "packages/tailwindcss/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "packages/tailwindcss/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "packages/tailwindcss/node_modules/esbuild": { + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" + } + }, + "packages/tailwindcss/node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "packages/tailwindcss/node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "packages/tailwindcss/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "packages/tailwindcss/node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "packages/tailwindcss/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "packages/tailwindcss/node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/tailwindcss/node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "packages/tailwindcss/node_modules/tailwindcss": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.5.tgz", + "integrity": "sha512-nYtSPfWGDiWgCkwQG/m+aX83XCwf62sBgg3bIlNiiOcggnS1x3uVRDAuyelBFL+vJdOPPCGElxv9DjHJjRHiVA==", + "license": "MIT" + }, + "packages/tailwindcss/node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, "packages/testing": { "name": "@baloise/ds-testing", "version": "18.3.0", diff --git a/packages/tailwindcss/.eslintignore b/packages/tailwindcss/.eslintignore new file mode 100644 index 0000000000..e0aa0d6514 --- /dev/null +++ b/packages/tailwindcss/.eslintignore @@ -0,0 +1,4 @@ +node_modules +dist +docs +bin diff --git a/packages/tailwindcss/.npmignore b/packages/tailwindcss/.npmignore new file mode 100644 index 0000000000..33080a5cec --- /dev/null +++ b/packages/tailwindcss/.npmignore @@ -0,0 +1,5 @@ +project.json +tsconfig.json +tsconfig.lib.json +vite.config.ts +scripts diff --git a/packages/tailwindcss/bin/index.mjs b/packages/tailwindcss/bin/index.mjs new file mode 100755 index 0000000000..b591c75f00 --- /dev/null +++ b/packages/tailwindcss/bin/index.mjs @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +console.log('This is a placeholder for the Tailwind CSS CLI.') diff --git a/packages/tailwindcss/index.html b/packages/tailwindcss/index.html new file mode 100644 index 0000000000..3a59bf1725 --- /dev/null +++ b/packages/tailwindcss/index.html @@ -0,0 +1,11 @@ + + + + + + + + +

Hello world!

+ + diff --git a/packages/tailwindcss/package.json b/packages/tailwindcss/package.json new file mode 100644 index 0000000000..0955276652 --- /dev/null +++ b/packages/tailwindcss/package.json @@ -0,0 +1,38 @@ +{ + "name": "@baloise/ds-tailwindcss", + "version": "18.3.0", + "description": "The Baloise Design-System is an open source project for styling awesome web applications that follow the Baloise corporate styling guidelines.", + "repository": { + "type": "git", + "url": "https://github.com/baloise/design-system.git" + }, + "publishConfig": { + "access": "public" + }, + "homepage": "https://baloise-design-system.vercel.app", + "license": "Apache-2.0", + "type": "module", + "bin": { + "ds-tailwindcss-migrate": "./bin/index.mjs" + }, + "scripts": { + "dev": "vite", + "preview": "vite preview" + }, + "main": "src/index.css", + "style": "src/index.css", + "files": [ + "bin/", + "src/" + ], + "dependencies": { + "@baloise/ds-fonts": "18.3.0", + "@baloise/ds-tokens": "18.3.0", + "tailwindcss": "^4.1.5" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.1.5", + "vite": "^6.3.5" + }, + "gitHead": "4157249628694f5811f322e0a547989ca9a9c6a6" +} diff --git a/packages/tailwindcss/project.json b/packages/tailwindcss/project.json new file mode 100644 index 0000000000..5216c886a1 --- /dev/null +++ b/packages/tailwindcss/project.json @@ -0,0 +1,16 @@ +{ + "name": "tailwindcss", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "packages/tailwindcss/src", + "projectType": "library", + "targets": { + "link": { + "executor": "nx:run-commands", + "options": { + "cwd": "{projectRoot}", + "command": "npm link" + } + } + }, + "tags": ["scope:release", "scope:docs", "scope:visual", "type:package"] +} diff --git a/packages/tailwindcss/src/index.css b/packages/tailwindcss/src/index.css new file mode 100644 index 0000000000..2ca259c9a8 --- /dev/null +++ b/packages/tailwindcss/src/index.css @@ -0,0 +1,6 @@ +@import 'tailwindcss'; +@import '@baloise/ds-tokens/dist/tokens.css'; + +@theme { + --color-mint-500: var(--bal-color-purple); +} diff --git a/packages/tailwindcss/todo.md b/packages/tailwindcss/todo.md new file mode 100644 index 0000000000..17d43d8e2c --- /dev/null +++ b/packages/tailwindcss/todo.md @@ -0,0 +1,13 @@ +- tokens +- only baloise color theme remove rest +- fonts +- utilities +- build package +- add to an angular app +- tests +- ci + +- docs +- spacing respinsive later +- check gap what we have and they dont +- migration script diff --git a/packages/tailwindcss/vite.config.ts b/packages/tailwindcss/vite.config.ts new file mode 100644 index 0000000000..2c3f4401ed --- /dev/null +++ b/packages/tailwindcss/vite.config.ts @@ -0,0 +1,6 @@ +import tailwindcss from '@tailwindcss/vite' +import { defineConfig } from 'vite' + +export default defineConfig({ + plugins: [tailwindcss()], +}) From bacc5918d63f393a637688b7e6c3193ca9b85a28 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 13:27:28 +0200 Subject: [PATCH 02/18] chore: first draft --- packages/tailwindcss/index.html | 18 +- packages/tailwindcss/src/index.css | 303 +++++++++++++++++++++++++++- packages/tailwindcss/src/styles.css | 3 + packages/tailwindcss/todo.md | 11 +- 4 files changed, 324 insertions(+), 11 deletions(-) create mode 100644 packages/tailwindcss/src/styles.css diff --git a/packages/tailwindcss/index.html b/packages/tailwindcss/index.html index 3a59bf1725..c69a2bf9c6 100644 --- a/packages/tailwindcss/index.html +++ b/packages/tailwindcss/index.html @@ -4,8 +4,24 @@ + -

Hello world!

+
+

Hello world!

+ my-link +
+ +
+
card
+
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores velit ut consequatur qui, officia provident + temporibus sequi deleniti totam voluptatem iusto, inventore, ipsam blanditiis commodi doloremque a maxime vitae + reprehenderit. Velit, cupiditate deleniti delectus voluptatem in nisi rerum magnam. Cumque esse sed tempore, + voluptatum iste consequatur neque ipsa animi eaque mollitia consequuntur doloremque eum autem, corporis sit + dicta aspernatur cum! +

+
diff --git a/packages/tailwindcss/src/index.css b/packages/tailwindcss/src/index.css index 2ca259c9a8..00f1d2526e 100644 --- a/packages/tailwindcss/src/index.css +++ b/packages/tailwindcss/src/index.css @@ -1,6 +1,305 @@ @import 'tailwindcss'; -@import '@baloise/ds-tokens/dist/tokens.css'; + +@import '@baloise/ds-fonts/css/fonts.css'; +@import '@baloise/ds-styles/css/structure'; +@import '@baloise/ds-styles/css/core'; @theme { - --color-mint-500: var(--bal-color-purple); + --*: initial; + /* --color*: initial; */ + --color-white: var(--bal-color-white); + --color-black: var(--bal-color-black); + + --color-primary-6: var(--bal-color-primary-6); + --color-primary-5: var(--bal-color-primary-5); + --color-primary-4: var(--bal-color-primary-4); + --color-primary-3: var(--bal-color-primary-3); + --color-primary-2: var(--bal-color-primary-2); + --color-primary-1: var(--bal-color-primary-1); + + --color-light-blue-6: var(--bal-color-light-blue-6); + --color-light-blue-5: var(--bal-color-light-blue-5); + --color-light-blue-4: var(--bal-color-light-blue-4); + --color-light-blue-3: var(--bal-color-light-blue-3); + --color-light-blue-2: var(--bal-color-light-blue-2); + --color-light-blue-1: var(--bal-color-light-blue-1); + + --color-red-6: var(--bal-color-red-6); + --color-red-5: var(--bal-color-red-5); + --color-red-4: var(--bal-color-red-4); + --color-red-3: var(--bal-color-red-3); + --color-red-2: var(--bal-color-red-2); + --color-red-1: var(--bal-color-red-1); + + --color-yellow-6: var(--bal-color-yellow-6); + --color-yellow-5: var(--bal-color-yellow-5); + --color-yellow-4: var(--bal-color-yellow-4); + --color-yellow-3: var(--bal-color-yellow-3); + --color-yellow-2: var(--bal-color-yellow-2); + --color-yellow-1: var(--bal-color-yellow-1); + + --color-purple-6: var(--bal-color-purple-6); + --color-purple-5: var(--bal-color-purple-5); + --color-purple-4: var(--bal-color-purple-4); + --color-purple-3: var(--bal-color-purple-3); + --color-purple-2: var(--bal-color-purple-2); + --color-purple-1: var(--bal-color-purple-1); + + --color-green-6: var(--bal-color-green-6); + --color-green-5: var(--bal-color-green-5); + --color-green-4: var(--bal-color-green-4); + --color-green-3: var(--bal-color-green-3); + --color-green-2: var(--bal-color-green-2); + --color-green-1: var(--bal-color-green-1); + + --color-grey-6: var(--bal-color-grey-6); + --color-grey-5: var(--bal-color-grey-5); + --color-grey-4: var(--bal-color-grey-4); + --color-grey-3: var(--bal-color-grey-3); + --color-grey-2: var(--bal-color-grey-2); + --color-grey-1: var(--bal-color-grey-1); + + --color-danger-6: var(--bal-color-danger-6); + --color-danger-5: var(--bal-color-danger-5); + --color-danger-4: var(--bal-color-danger-4); + --color-danger-3: var(--bal-color-danger-3); + --color-danger-2: var(--bal-color-danger-2); + --color-danger-1: var(--bal-color-danger-1); + + --color-warning-6: var(--bal-color-warning-6); + --color-warning-5: var(--bal-color-warning-5); + --color-warning-4: var(--bal-color-warning-4); + --color-warning-3: var(--bal-color-warning-3); + --color-warning-2: var(--bal-color-warning-2); + --color-warning-1: var(--bal-color-warning-1); + + --color-success-6: var(--bal-color-success-6); + --color-success-5: var(--bal-color-success-5); + --color-success-4: var(--bal-color-success-4); + --color-success-3: var(--bal-color-success-3); + --color-success-2: var(--bal-color-success-2); + --color-success-1: var(--bal-color-success-1); + + --color-info-6: var(--bal-color-info-6); + --color-info-5: var(--bal-color-info-5); + --color-info-4: var(--bal-color-info-4); + --color-info-3: var(--bal-color-info-3); + --color-info-2: var(--bal-color-info-2); + --color-info-1: var(--bal-color-info-1); + + --color-danger: var(--bal-color-danger-3); + --color-warning: var(--bal-color-warning-3); + --color-success: var(--bal-color-success-3); + --color-info: var(--bal-color-info-3); + --color-disabled: var(--bal-color-grey-3); + --color-grey: var(--bal-color-grey-3); + --color-grey-light: var(--bal-color-grey-2); + --color-red: var(--bal-color-red-3); + --color-red-light: var(--bal-color-red-1); + --color-yellow: var(--bal-color-yellow-3); + --color-yellow-light: var(--bal-color-yellow-1); + --color-purple: var(--bal-color-purple-3); + --color-purple-light: var(--bal-color-purple-1); + --color-green: var(--bal-color-green-3); + --color-green-light: var(--bal-color-green-1); + --color-primary: var(--bal-color-primary-5); + + --spacing: 0.25rem; + + /* --font*: initial; */ + --font-sans: var(--bal-font-family-text); + --font-text: var(--bal-font-family-text); + --font-title: var(--bal-font-family-title); + + /* --breakpoint*: initial; */ + --breakpoint-tablet: 769px; + --breakpoint-desktop: 1024px; + --breakpoint-high-defition: 1280px; + --breakpoint-widescreen: 1440px; + --breakpoint-fullhd: 1280px; + + /* --text*: initial; */ + --text-sm: 0.875rem; + --text-sm--line-height: 1.125rem; + --text-base: 1rem; + --text-base--line-height: 1.5; + --text-md: 1.125rem; + --text-md--line-height: 1.5; + --text-lg: 1.25rem; + --text-lg--line-height: calc(1.75 / 1.25); + --text-xl: 1.5rem; + --text-xl--line-height: calc(2 / 1.5); + --text-2xl: 1.75rem; + --text-2xl--line-height: 1.3; + --text-3xl: 2rem; + --text-3xl--line-height: 1.3; + --text-4xl: 2.5rem; + --text-4xl--line-height: 1.3; + --text-5xl: 3rem; + --text-5xl--line-height: 1.3; + --text-6xl: 5rem; + --text-6xl--line-height: 1.3; + + --text-small: 0.875rem; + --text-small--line-height: 1.125rem; + --text-normal: 1rem; + --text-normal--line-height: 1.5; + --text-medium: 1.125rem; + --text-medium--line-height: 1.5; + --text-large: 1.25rem; + --text-large--line-height: calc(1.75 / 1.25); + --text-x-large: 1.5rem; + --text-x-large--line-height: calc(2 / 1.5); + --text-xx-large: 1.75rem; + --text-xx-large--line-height: 1.3; + --text-xxx-large: 2rem; + --text-xxx-large--line-height: 1.3; + --text-xxxx-large: 2.5rem; + --text-xxxx-large--line-height: 1.3; + --text-xxxxx-large: 3rem; + --text-xxxxx-large--line-height: 1.3; + --text-xxxxxx-large: 5rem; + --text-xxxxxx-large--line-height: 1.3; + + --font-weight-light: 300; + --font-weight-normal: 400; + --font-weight-bold: 700; + + --tracking-tighter: -0.05em; + --tracking-tight: -0.025em; + --tracking-normal: 0em; + --tracking-wide: 0.025em; + --tracking-wider: 0.05em; + --tracking-widest: 0.1em; + + --leading-tight: 1.25; + --leading-snug: 1.375; + --leading-normal: 1.5; + --leading-relaxed: 1.625; + --leading-loose: 2; + + --radius-small: 0.125rem; + --radius-normal: var(--bal-radius-normal); + --radius-large: var(--bal-radius-large); + --radius-rounded: var(--bal-radius-rounded); + + --shadow-small: var(--bal-shadow-small); + --shadow-normal: var(--bal-shadow-normal); + --shadow-large: var(--bal-shadow-large); + + --text-shadow-normal: var(--bal-text-shadow-normal); + + --blur-xs: 4px; + --blur-sm: 8px; + --blur-md: 12px; + --blur-lg: 16px; + --blur-xl: 24px; + --blur-2xl: 40px; + --blur-3xl: 64px; + + --perspective-dramatic: 100px; + --perspective-near: 300px; + --perspective-normal: 500px; + --perspective-midrange: 800px; + --perspective-distant: 1200px; + + --aspect-video: 16 / 9; + + --ease-in: cubic-bezier(0.4, 0, 1, 1); + --ease-out: cubic-bezier(0, 0, 0.2, 1); + --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); + --animate-spin: spin 1s linear infinite; + --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; + --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; + --animate-bounce: bounce 1s infinite; + + @keyframes spin { + to { + transform: rotate(360deg); + } + } + @keyframes ping { + 75%, + 100% { + transform: scale(2); + opacity: 0; + } + } + @keyframes pulse { + 50% { + opacity: 0.5; + } + } + @keyframes bounce { + 0%, + 100% { + transform: translateY(-25%); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 50% { + transform: none; + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + } +} + +@layer base { + h1, + h2, + h3, + h4, + h5, + h6, + a, + button { + font-family: var(--font-title); + font-weight: var(--bal-font-weight-bold); + } +} + +@layer utilities { + .z-index-tooltip { + z-index: var(--bal-z-index-tooltip); + } + .z-index-toast { + z-index: var(--bal-z-index-toast); + } + .z-index-modal { + z-index: var(--bal-z-index-modal); + } + .z-index-popup { + z-index: var(--bal-z-index-popup); + } + .z-index-navigation { + z-index: var(--bal-z-index-navigation); + } + .z-index-sticky { + z-index: var(--bal-z-index-sticky); + } + .z-index-mask { + z-index: var(--bal-z-index-mask); + } + .z-index-maske { + z-index: var(--bal-z-index-maske); + } + .z-index-normal { + z-index: var(--bal-z-index); + } + .z-index-deep { + z-index: var(--bal-z-index-deep); + } + + .border-small { + border: var(--bal-border-width-small); + } + .border-normal { + border: var(--bal-border-width-normal); + } + .border-large { + border: var(--bal-border-width-large); + } + + .p-large { + @apply p-(--bal-space-large) desktop:p-(--bal-space-large-desktop); + } } diff --git a/packages/tailwindcss/src/styles.css b/packages/tailwindcss/src/styles.css new file mode 100644 index 0000000000..bc19f2d69f --- /dev/null +++ b/packages/tailwindcss/src/styles.css @@ -0,0 +1,3 @@ +/* @import '@baloise/ds-styles/css/normalize'; */ +/* @import '@baloise/ds-styles/css/structure'; */ +/* @import '@baloise/ds-styles/css/core'; */ diff --git a/packages/tailwindcss/todo.md b/packages/tailwindcss/todo.md index 17d43d8e2c..7e97c8f861 100644 --- a/packages/tailwindcss/todo.md +++ b/packages/tailwindcss/todo.md @@ -1,13 +1,8 @@ -- tokens -- only baloise color theme remove rest -- fonts -- utilities -- build package -- add to an angular app +- generate utilities - tests - ci - - docs -- spacing respinsive later +- spacing respinsive - check gap what we have and they dont - migration script +- align fraction from half to 1/2 \ No newline at end of file From c8ba120ef6914049b95782c351391699b4a5f669 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 13:45:06 +0200 Subject: [PATCH 03/18] chore: create executor --- libs/nx/executors.json | 5 + .../build-styles/generators/utils.ts | 390 +---------------- .../executors/build-tailwindcss/executor.ts | 29 ++ .../build-tailwindcss/generators/spacing.ts | 7 + .../build-tailwindcss/generators/utils.ts | 411 ++++++++++++++++++ .../executors/build-tailwindcss/schema.d.ts | 4 + .../executors/build-tailwindcss/schema.json | 13 + packages/tailwindcss/project.json | 8 + 8 files changed, 478 insertions(+), 389 deletions(-) create mode 100644 libs/nx/src/executors/build-tailwindcss/executor.ts create mode 100644 libs/nx/src/executors/build-tailwindcss/generators/spacing.ts create mode 100644 libs/nx/src/executors/build-tailwindcss/generators/utils.ts create mode 100644 libs/nx/src/executors/build-tailwindcss/schema.d.ts create mode 100644 libs/nx/src/executors/build-tailwindcss/schema.json diff --git a/libs/nx/executors.json b/libs/nx/executors.json index 709619f6be..16811d8f7b 100644 --- a/libs/nx/executors.json +++ b/libs/nx/executors.json @@ -5,6 +5,11 @@ "schema": "./src/executors/build-styles/schema.json", "description": "build-styles executor" }, + "build-tailwindcss": { + "implementation": "./src/executors/build-tailwindcss/executor", + "schema": "./src/executors/build-tailwindcss/schema.json", + "description": "build-tailwindcss executor" + }, "build-core": { "implementation": "./src/executors/build-core/executor", "schema": "./src/executors/build-core/schema.json", diff --git a/libs/nx/src/executors/build-styles/generators/utils.ts b/libs/nx/src/executors/build-styles/generators/utils.ts index 8349ebf590..40392e231e 100644 --- a/libs/nx/src/executors/build-styles/generators/utils.ts +++ b/libs/nx/src/executors/build-styles/generators/utils.ts @@ -1,398 +1,10 @@ import { mkdir, readFile, writeFile } from 'fs/promises' -import { join, dirname } from 'path' import get from 'lodash.get' +import { dirname, join } from 'path' export const NEWLINE = '\n' export const DASH_SEPARATOR = '-' export const COLON_SEPARATOR = `\\:` -export const pseudoStates = ['focus', 'hover', 'active'] -export const minBreakpoints = ['mobile', 'tablet', 'desktop', 'widescreen'] - -export const allBreakpoints = [ - 'mobile', - 'tablet', - 'tablet-only', - 'touch', - 'desktop', - 'desktop-only', - 'high-definition', - 'high-definition-only', - 'widescreen', - 'widescreen-only', - 'fullhd', -] - -interface BaseRule { - toString(indent: string): string -} - -class RuleValue implements BaseRule { - prop: string - value: string - important: boolean - - constructor({ prop, value, important = false }) { - this.prop = prop - this.value = value - this.important = important - } - - toString(indent = '') { - return `${indent}${this.prop}: ${this.value}${this.important === true ? ' !important' : ''}` - } -} - -class Rule implements BaseRule { - selectors: string[] = [] - values: RuleValue[] = [] - - constructor({ selectors }) { - function onlyUnique(value, index, array) { - return array.indexOf(value) === index - } - - this.selectors = selectors.filter(s => s !== '').filter(onlyUnique) - } - - append(opts) { - this.values.push(new RuleValue(opts)) - } - - toString(indent = '') { - const selector = this.selectors.map(s => `${indent}${s}`).join(`,${NEWLINE}`) - const values = this.values.map(value => { - return [` ${value.toString(indent)}`].join(NEWLINE) - }) - return [selector, ...values].join(NEWLINE) + NEWLINE - } -} - -class BreakpointRule implements BaseRule { - rules: BaseRule[] = [] - breakpoint = [] - - constructor({ breakpoint }) { - this.breakpoint = breakpoint - } - - append(rule: BaseRule) { - this.rules.push(rule) - } - - toString(indent = '') { - return [ - indent + `+${this.breakpoint}`, - indent + this.rules.map(rule => rule.toString(` ${indent}`)).join(NEWLINE), - ].join(`${NEWLINE}`) - } -} - -class RuleGroup implements BaseRule { - rules: BaseRule[] = [] - - append(rule: BaseRule) { - this.rules.push(rule) - } - - toString(indent = '') { - return this.rules.map(rule => rule.toString(indent)).join(NEWLINE) - } -} - -export const jsonClass = ({ property = '', values = {} }) => { - const keys = Object.keys(values) - return { - [property]: keys.map(key => { - return { - class: key, - css: `${property}: ${values[key]};`, - property: property, - value: values[key], - } - }), - } -} - -export const filterTokenKeys = ({ tokens, ignore = [] }) => { - return Object.keys(tokens).filter(key => !ignore.includes(key)) -} - -export const visualTest = ({ values, template }) => { - const lines = [] - for (const className in values) { - lines.push(template(className)) - } - return lines.map(l => ` ${l}`).join(NEWLINE) -} - -export const toCssVarName = (tokenName, token) => { - const isSizeVariable = token.attributes.category === 'size' - const isColorVariable = token.attributes.category === 'color' - const endsWithMobile = token.name.endsWith('-mobile') || token.name.endsWith('Mobile') - const endsWithDefault = token.name.endsWith('-default') || token.name.endsWith('Default') - - if (isSizeVariable) { - tokenName = tokenName.replace('bal-size', 'bal') - } - if (isColorVariable) { - tokenName = tokenName.replace('bal-color-base', 'bal-color') - } - if (endsWithMobile) { - tokenName = tokenName.replace('-mobile', '') - } - if (endsWithDefault) { - tokenName = tokenName.replace('-default', '') - } - return tokenName -} - -export const toCssVar = token => { - return `var(--${toCssVarName(token.name, token)})` -} - -const removeLeadingTrailingDashes = inputString => { - // Remove leading dashes - const stringWithoutLeadingDashes = inputString.replace(/^[-]+/, '') - // Remove trailing dashes - return stringWithoutLeadingDashes.replace(/[-]+$/, '') -} - -export const toProp = ({ property, prefix, replace, replace2 }) => { - const propPrefix = `${prefix ? prefix + '-' : ''}` - const propName = removeLeadingTrailingDashes( - propPrefix + `${property.name.replace('bal-', '')}`.replace(replace, '').replace(replace2, ''), - ) - const propValue = toCssVar(property) - return { - [`${propName}`.replace(/--/g, '-')]: propValue, - } -} - -export const toProps = ({ tokens, prefix = undefined, replace = undefined, replace2 = undefined }) => { - let props = {} - for (const key in tokens) { - const property = tokens[key] - - if (!property.value) { - props = { - ...props, - ...toProps({ tokens: property, prefix, replace, replace2 }), - } - } else { - props = { - ...props, - ...toProp({ property, prefix, replace, replace2 }), - } - } - } - return props -} - -export const styleClass = ({ - property = '', - values = {}, - important = false, - responsive = false, - states = false, - breakpoints = minBreakpoints, - additionalValues = {}, - breakpoint = '', -}) => { - const propNames = Array.isArray(property) ? property : [property] - const rules = new RuleGroup() - - if (breakpoint) { - const breakpointRule = new BreakpointRule({ breakpoint }) - for (const className in values) { - const rule = new Rule({ - selectors: [`.${className}`], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - rules.append(rule) - } - breakpointRule.append(rules) - return breakpointRule - } else { - for (const className in values) { - const rule = new Rule({ - selectors: [`.${className}`], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - rules.append(rule) - } - - if (states) { - for (const className in values) { - for (const pseudo_state of pseudoStates) { - const rule = new Rule({ - selectors: [`.${pseudo_state}${COLON_SEPARATOR}${className}:${pseudo_state}`], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - rules.append(rule) - } - } - } - - if (responsive) { - for (const breakpoint of breakpoints) { - const breakpointRule = new BreakpointRule({ breakpoint }) - for (const className in values) { - const rule = new Rule({ - selectors: [`.${breakpoint}${COLON_SEPARATOR}${className}`], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - breakpointRule.append(rule) - } - - if (states) { - for (const className in values) { - for (const pseudo_state of pseudoStates) { - const rule = new Rule({ - selectors: [ - `.${breakpoint}${COLON_SEPARATOR}${pseudo_state}${COLON_SEPARATOR}${className}:${pseudo_state}`, - ], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - breakpointRule.append(rule) - } - } - } - - rules.append(breakpointRule) - } - } - } - - return rules -} - -export const styleClassDeprecated = ({ - property = '', - values = {}, - important = false, - responsive = false, - breakpoints = minBreakpoints, - prefix = '', -}) => { - const propNames = Array.isArray(property) ? property : [property] - const rules = new RuleGroup() - - for (const className in values) { - const selectors = [prefix !== '' ? `.${[prefix, className].join(DASH_SEPARATOR)}` : className] - const rule = new Rule({ selectors }) - propNames.forEach(prop => rule.append({ prop, value: values[className], important })) - rules.append(rule) - } - - if (responsive) { - for (const breakpoint of breakpoints) { - const breakpointRule = new BreakpointRule({ breakpoint }) - for (const className in values) { - const selectors = [prefix !== '' ? `.${[prefix, className, breakpoint].join(DASH_SEPARATOR)}` : className] - const rule = new Rule({ selectors }) - propNames.forEach(prop => rule.append({ prop, value: values[className], important })) - breakpointRule.append(rule) - } - - rules.append(breakpointRule) - } - } - - return rules -} - -export const merge = ({ docs = [], rules = [], deprecated = [], visualTest = [] }) => { - return { - json: JSON.stringify(docs, undefined, 2), - rules: [`@use '../mixins/_all' as *`, NEWLINE, ...rules.map(r => r.toString())].join(NEWLINE), - deprecated: [...deprecated.map(r => r.toString())].join(NEWLINE), - visualTest: ` - - - - - - - - - - -
-${visualTest.join(NEWLINE)} -
-
- - -`, - } -} - -export const staticClass = ({ - property, - values, - important = true, - responsive = true, - states = false, - breakpoints = minBreakpoints, -}) => { - const docs = jsonClass({ property, values }) - const rules = styleClass({ property, values, important, responsive, states, breakpoints }) - return { rules, docs } -} - -export const staticClassByToken = async ({ - token, - property, - values = {}, - tokensRoot, - important = true, - responsive = true, - states = false, - replace = undefined, - replace2 = undefined, - prefix = undefined, -}) => { - const tokens = await getTokens({ token, tokensRoot }) - const props = toProps({ tokens, replace, prefix, replace2 }) - const docs = jsonClass({ property, values: { ...values, ...props } }) - const rules = styleClass({ property, values: { ...values, ...props }, important, responsive, states }) - return { rules, docs } -} export const save = async (fileName, projectRoot, { json, rules }) => { await writeFileRecursive(join(projectRoot, 'docs', `${fileName}.json`), json) diff --git a/libs/nx/src/executors/build-tailwindcss/executor.ts b/libs/nx/src/executors/build-tailwindcss/executor.ts new file mode 100644 index 0000000000..81e89c7383 --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/executor.ts @@ -0,0 +1,29 @@ +import { rm } from 'fs/promises' +import { join } from 'path' +import { generateSpacing } from './generators/spacing' +import { BuildTailwindcssExecutorSchema } from './schema' + +export default async function runExecutor(options: BuildTailwindcssExecutorSchema) { + try { + console.log('tailwindcss', options) + // clean generated files + await rm(join(options.projectRoot, 'css'), { recursive: true, force: true }) + + let utilContent = `` + utilContent += await generateSpacing(options) + + console.log('utilContent', utilContent) + // create css output + // await mkdir(join(options.projectRoot, 'css')) + // const files = await scan(join(options.projectRoot, 'sass', '**', '*.sass')) + // for (let index = 0; index < files.length; index++) { + // const file = files[index] + // await compileSass(file, options) + // } + } catch (error) { + console.error(error) + return { success: false } + } + + return { success: true } +} diff --git a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts new file mode 100644 index 0000000000..5818d4c02a --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts @@ -0,0 +1,7 @@ +import { BuildTailwindcssExecutorSchema } from '../schema' +import { getTokens } from './utils' + +export const generateSpacing = async (options: BuildTailwindcssExecutorSchema) => { + const tokens = await getTokens({ token: 'size.space', ...options }) + console.log('tokens', tokens) +} diff --git a/libs/nx/src/executors/build-tailwindcss/generators/utils.ts b/libs/nx/src/executors/build-tailwindcss/generators/utils.ts new file mode 100644 index 0000000000..8349ebf590 --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/generators/utils.ts @@ -0,0 +1,411 @@ +import { mkdir, readFile, writeFile } from 'fs/promises' +import { join, dirname } from 'path' +import get from 'lodash.get' + +export const NEWLINE = '\n' +export const DASH_SEPARATOR = '-' +export const COLON_SEPARATOR = `\\:` +export const pseudoStates = ['focus', 'hover', 'active'] +export const minBreakpoints = ['mobile', 'tablet', 'desktop', 'widescreen'] + +export const allBreakpoints = [ + 'mobile', + 'tablet', + 'tablet-only', + 'touch', + 'desktop', + 'desktop-only', + 'high-definition', + 'high-definition-only', + 'widescreen', + 'widescreen-only', + 'fullhd', +] + +interface BaseRule { + toString(indent: string): string +} + +class RuleValue implements BaseRule { + prop: string + value: string + important: boolean + + constructor({ prop, value, important = false }) { + this.prop = prop + this.value = value + this.important = important + } + + toString(indent = '') { + return `${indent}${this.prop}: ${this.value}${this.important === true ? ' !important' : ''}` + } +} + +class Rule implements BaseRule { + selectors: string[] = [] + values: RuleValue[] = [] + + constructor({ selectors }) { + function onlyUnique(value, index, array) { + return array.indexOf(value) === index + } + + this.selectors = selectors.filter(s => s !== '').filter(onlyUnique) + } + + append(opts) { + this.values.push(new RuleValue(opts)) + } + + toString(indent = '') { + const selector = this.selectors.map(s => `${indent}${s}`).join(`,${NEWLINE}`) + const values = this.values.map(value => { + return [` ${value.toString(indent)}`].join(NEWLINE) + }) + return [selector, ...values].join(NEWLINE) + NEWLINE + } +} + +class BreakpointRule implements BaseRule { + rules: BaseRule[] = [] + breakpoint = [] + + constructor({ breakpoint }) { + this.breakpoint = breakpoint + } + + append(rule: BaseRule) { + this.rules.push(rule) + } + + toString(indent = '') { + return [ + indent + `+${this.breakpoint}`, + indent + this.rules.map(rule => rule.toString(` ${indent}`)).join(NEWLINE), + ].join(`${NEWLINE}`) + } +} + +class RuleGroup implements BaseRule { + rules: BaseRule[] = [] + + append(rule: BaseRule) { + this.rules.push(rule) + } + + toString(indent = '') { + return this.rules.map(rule => rule.toString(indent)).join(NEWLINE) + } +} + +export const jsonClass = ({ property = '', values = {} }) => { + const keys = Object.keys(values) + return { + [property]: keys.map(key => { + return { + class: key, + css: `${property}: ${values[key]};`, + property: property, + value: values[key], + } + }), + } +} + +export const filterTokenKeys = ({ tokens, ignore = [] }) => { + return Object.keys(tokens).filter(key => !ignore.includes(key)) +} + +export const visualTest = ({ values, template }) => { + const lines = [] + for (const className in values) { + lines.push(template(className)) + } + return lines.map(l => ` ${l}`).join(NEWLINE) +} + +export const toCssVarName = (tokenName, token) => { + const isSizeVariable = token.attributes.category === 'size' + const isColorVariable = token.attributes.category === 'color' + const endsWithMobile = token.name.endsWith('-mobile') || token.name.endsWith('Mobile') + const endsWithDefault = token.name.endsWith('-default') || token.name.endsWith('Default') + + if (isSizeVariable) { + tokenName = tokenName.replace('bal-size', 'bal') + } + if (isColorVariable) { + tokenName = tokenName.replace('bal-color-base', 'bal-color') + } + if (endsWithMobile) { + tokenName = tokenName.replace('-mobile', '') + } + if (endsWithDefault) { + tokenName = tokenName.replace('-default', '') + } + return tokenName +} + +export const toCssVar = token => { + return `var(--${toCssVarName(token.name, token)})` +} + +const removeLeadingTrailingDashes = inputString => { + // Remove leading dashes + const stringWithoutLeadingDashes = inputString.replace(/^[-]+/, '') + // Remove trailing dashes + return stringWithoutLeadingDashes.replace(/[-]+$/, '') +} + +export const toProp = ({ property, prefix, replace, replace2 }) => { + const propPrefix = `${prefix ? prefix + '-' : ''}` + const propName = removeLeadingTrailingDashes( + propPrefix + `${property.name.replace('bal-', '')}`.replace(replace, '').replace(replace2, ''), + ) + const propValue = toCssVar(property) + return { + [`${propName}`.replace(/--/g, '-')]: propValue, + } +} + +export const toProps = ({ tokens, prefix = undefined, replace = undefined, replace2 = undefined }) => { + let props = {} + for (const key in tokens) { + const property = tokens[key] + + if (!property.value) { + props = { + ...props, + ...toProps({ tokens: property, prefix, replace, replace2 }), + } + } else { + props = { + ...props, + ...toProp({ property, prefix, replace, replace2 }), + } + } + } + return props +} + +export const styleClass = ({ + property = '', + values = {}, + important = false, + responsive = false, + states = false, + breakpoints = minBreakpoints, + additionalValues = {}, + breakpoint = '', +}) => { + const propNames = Array.isArray(property) ? property : [property] + const rules = new RuleGroup() + + if (breakpoint) { + const breakpointRule = new BreakpointRule({ breakpoint }) + for (const className in values) { + const rule = new Rule({ + selectors: [`.${className}`], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + rules.append(rule) + } + breakpointRule.append(rules) + return breakpointRule + } else { + for (const className in values) { + const rule = new Rule({ + selectors: [`.${className}`], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + rules.append(rule) + } + + if (states) { + for (const className in values) { + for (const pseudo_state of pseudoStates) { + const rule = new Rule({ + selectors: [`.${pseudo_state}${COLON_SEPARATOR}${className}:${pseudo_state}`], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + rules.append(rule) + } + } + } + + if (responsive) { + for (const breakpoint of breakpoints) { + const breakpointRule = new BreakpointRule({ breakpoint }) + for (const className in values) { + const rule = new Rule({ + selectors: [`.${breakpoint}${COLON_SEPARATOR}${className}`], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + breakpointRule.append(rule) + } + + if (states) { + for (const className in values) { + for (const pseudo_state of pseudoStates) { + const rule = new Rule({ + selectors: [ + `.${breakpoint}${COLON_SEPARATOR}${pseudo_state}${COLON_SEPARATOR}${className}:${pseudo_state}`, + ], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + breakpointRule.append(rule) + } + } + } + + rules.append(breakpointRule) + } + } + } + + return rules +} + +export const styleClassDeprecated = ({ + property = '', + values = {}, + important = false, + responsive = false, + breakpoints = minBreakpoints, + prefix = '', +}) => { + const propNames = Array.isArray(property) ? property : [property] + const rules = new RuleGroup() + + for (const className in values) { + const selectors = [prefix !== '' ? `.${[prefix, className].join(DASH_SEPARATOR)}` : className] + const rule = new Rule({ selectors }) + propNames.forEach(prop => rule.append({ prop, value: values[className], important })) + rules.append(rule) + } + + if (responsive) { + for (const breakpoint of breakpoints) { + const breakpointRule = new BreakpointRule({ breakpoint }) + for (const className in values) { + const selectors = [prefix !== '' ? `.${[prefix, className, breakpoint].join(DASH_SEPARATOR)}` : className] + const rule = new Rule({ selectors }) + propNames.forEach(prop => rule.append({ prop, value: values[className], important })) + breakpointRule.append(rule) + } + + rules.append(breakpointRule) + } + } + + return rules +} + +export const merge = ({ docs = [], rules = [], deprecated = [], visualTest = [] }) => { + return { + json: JSON.stringify(docs, undefined, 2), + rules: [`@use '../mixins/_all' as *`, NEWLINE, ...rules.map(r => r.toString())].join(NEWLINE), + deprecated: [...deprecated.map(r => r.toString())].join(NEWLINE), + visualTest: ` + + + + + + + + + + +
+${visualTest.join(NEWLINE)} +
+
+ + +`, + } +} + +export const staticClass = ({ + property, + values, + important = true, + responsive = true, + states = false, + breakpoints = minBreakpoints, +}) => { + const docs = jsonClass({ property, values }) + const rules = styleClass({ property, values, important, responsive, states, breakpoints }) + return { rules, docs } +} + +export const staticClassByToken = async ({ + token, + property, + values = {}, + tokensRoot, + important = true, + responsive = true, + states = false, + replace = undefined, + replace2 = undefined, + prefix = undefined, +}) => { + const tokens = await getTokens({ token, tokensRoot }) + const props = toProps({ tokens, replace, prefix, replace2 }) + const docs = jsonClass({ property, values: { ...values, ...props } }) + const rules = styleClass({ property, values: { ...values, ...props }, important, responsive, states }) + return { rules, docs } +} + +export const save = async (fileName, projectRoot, { json, rules }) => { + await writeFileRecursive(join(projectRoot, 'docs', `${fileName}.json`), json) + await writeFileRecursive(join(projectRoot, 'src/generated', `${fileName}.sass`), rules) +} + +export const getTokens = async ({ token, tokensRoot }) => { + const content = await readFile(join(tokensRoot, `dist/tokens.docs.json`), 'utf8') + const json = JSON.parse(content) + return get(json, token) +} + +export const writeFileRecursive = async (filePath, data) => { + await mkdir(dirname(filePath), { recursive: true }) + await writeFile(filePath, data) +} diff --git a/libs/nx/src/executors/build-tailwindcss/schema.d.ts b/libs/nx/src/executors/build-tailwindcss/schema.d.ts new file mode 100644 index 0000000000..f15a48b09b --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/schema.d.ts @@ -0,0 +1,4 @@ +export interface BuildTailwindcssExecutorSchema { + projectRoot: string + tokensRoot: string +} // eslint-disable-line diff --git a/libs/nx/src/executors/build-tailwindcss/schema.json b/libs/nx/src/executors/build-tailwindcss/schema.json new file mode 100644 index 0000000000..23fe42ae7f --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/schema.json @@ -0,0 +1,13 @@ +{ + "$schema": "https://json-schema.org/schema", + "version": 2, + "title": "BuildTailwindcss executor", + "description": "", + "type": "object", + "properties": { + "projectRoot": { + "type": "string" + } + }, + "required": [] +} diff --git a/packages/tailwindcss/project.json b/packages/tailwindcss/project.json index 5216c886a1..6f1801755a 100644 --- a/packages/tailwindcss/project.json +++ b/packages/tailwindcss/project.json @@ -4,6 +4,14 @@ "sourceRoot": "packages/tailwindcss/src", "projectType": "library", "targets": { + "build": { + "executor": "@baloise/ds-nx:build-tailwindcss", + "outputs": ["{projectRoot}/css"], + "options": { + "projectRoot": "{projectRoot}", + "tokensRoot": "{workspaceRoot}/packages/tokens" + } + }, "link": { "executor": "nx:run-commands", "options": { From f1cccf9339e61e6fbbf80512f8705c95197fb72d Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 13:52:26 +0200 Subject: [PATCH 04/18] chore: create executor --- .../build-styles/generators/utils.ts | 390 +++++++++++++++++- .../build-tailwindcss/generators/utils.ts | 390 +----------------- 2 files changed, 390 insertions(+), 390 deletions(-) diff --git a/libs/nx/src/executors/build-styles/generators/utils.ts b/libs/nx/src/executors/build-styles/generators/utils.ts index 40392e231e..8349ebf590 100644 --- a/libs/nx/src/executors/build-styles/generators/utils.ts +++ b/libs/nx/src/executors/build-styles/generators/utils.ts @@ -1,10 +1,398 @@ import { mkdir, readFile, writeFile } from 'fs/promises' +import { join, dirname } from 'path' import get from 'lodash.get' -import { dirname, join } from 'path' export const NEWLINE = '\n' export const DASH_SEPARATOR = '-' export const COLON_SEPARATOR = `\\:` +export const pseudoStates = ['focus', 'hover', 'active'] +export const minBreakpoints = ['mobile', 'tablet', 'desktop', 'widescreen'] + +export const allBreakpoints = [ + 'mobile', + 'tablet', + 'tablet-only', + 'touch', + 'desktop', + 'desktop-only', + 'high-definition', + 'high-definition-only', + 'widescreen', + 'widescreen-only', + 'fullhd', +] + +interface BaseRule { + toString(indent: string): string +} + +class RuleValue implements BaseRule { + prop: string + value: string + important: boolean + + constructor({ prop, value, important = false }) { + this.prop = prop + this.value = value + this.important = important + } + + toString(indent = '') { + return `${indent}${this.prop}: ${this.value}${this.important === true ? ' !important' : ''}` + } +} + +class Rule implements BaseRule { + selectors: string[] = [] + values: RuleValue[] = [] + + constructor({ selectors }) { + function onlyUnique(value, index, array) { + return array.indexOf(value) === index + } + + this.selectors = selectors.filter(s => s !== '').filter(onlyUnique) + } + + append(opts) { + this.values.push(new RuleValue(opts)) + } + + toString(indent = '') { + const selector = this.selectors.map(s => `${indent}${s}`).join(`,${NEWLINE}`) + const values = this.values.map(value => { + return [` ${value.toString(indent)}`].join(NEWLINE) + }) + return [selector, ...values].join(NEWLINE) + NEWLINE + } +} + +class BreakpointRule implements BaseRule { + rules: BaseRule[] = [] + breakpoint = [] + + constructor({ breakpoint }) { + this.breakpoint = breakpoint + } + + append(rule: BaseRule) { + this.rules.push(rule) + } + + toString(indent = '') { + return [ + indent + `+${this.breakpoint}`, + indent + this.rules.map(rule => rule.toString(` ${indent}`)).join(NEWLINE), + ].join(`${NEWLINE}`) + } +} + +class RuleGroup implements BaseRule { + rules: BaseRule[] = [] + + append(rule: BaseRule) { + this.rules.push(rule) + } + + toString(indent = '') { + return this.rules.map(rule => rule.toString(indent)).join(NEWLINE) + } +} + +export const jsonClass = ({ property = '', values = {} }) => { + const keys = Object.keys(values) + return { + [property]: keys.map(key => { + return { + class: key, + css: `${property}: ${values[key]};`, + property: property, + value: values[key], + } + }), + } +} + +export const filterTokenKeys = ({ tokens, ignore = [] }) => { + return Object.keys(tokens).filter(key => !ignore.includes(key)) +} + +export const visualTest = ({ values, template }) => { + const lines = [] + for (const className in values) { + lines.push(template(className)) + } + return lines.map(l => ` ${l}`).join(NEWLINE) +} + +export const toCssVarName = (tokenName, token) => { + const isSizeVariable = token.attributes.category === 'size' + const isColorVariable = token.attributes.category === 'color' + const endsWithMobile = token.name.endsWith('-mobile') || token.name.endsWith('Mobile') + const endsWithDefault = token.name.endsWith('-default') || token.name.endsWith('Default') + + if (isSizeVariable) { + tokenName = tokenName.replace('bal-size', 'bal') + } + if (isColorVariable) { + tokenName = tokenName.replace('bal-color-base', 'bal-color') + } + if (endsWithMobile) { + tokenName = tokenName.replace('-mobile', '') + } + if (endsWithDefault) { + tokenName = tokenName.replace('-default', '') + } + return tokenName +} + +export const toCssVar = token => { + return `var(--${toCssVarName(token.name, token)})` +} + +const removeLeadingTrailingDashes = inputString => { + // Remove leading dashes + const stringWithoutLeadingDashes = inputString.replace(/^[-]+/, '') + // Remove trailing dashes + return stringWithoutLeadingDashes.replace(/[-]+$/, '') +} + +export const toProp = ({ property, prefix, replace, replace2 }) => { + const propPrefix = `${prefix ? prefix + '-' : ''}` + const propName = removeLeadingTrailingDashes( + propPrefix + `${property.name.replace('bal-', '')}`.replace(replace, '').replace(replace2, ''), + ) + const propValue = toCssVar(property) + return { + [`${propName}`.replace(/--/g, '-')]: propValue, + } +} + +export const toProps = ({ tokens, prefix = undefined, replace = undefined, replace2 = undefined }) => { + let props = {} + for (const key in tokens) { + const property = tokens[key] + + if (!property.value) { + props = { + ...props, + ...toProps({ tokens: property, prefix, replace, replace2 }), + } + } else { + props = { + ...props, + ...toProp({ property, prefix, replace, replace2 }), + } + } + } + return props +} + +export const styleClass = ({ + property = '', + values = {}, + important = false, + responsive = false, + states = false, + breakpoints = minBreakpoints, + additionalValues = {}, + breakpoint = '', +}) => { + const propNames = Array.isArray(property) ? property : [property] + const rules = new RuleGroup() + + if (breakpoint) { + const breakpointRule = new BreakpointRule({ breakpoint }) + for (const className in values) { + const rule = new Rule({ + selectors: [`.${className}`], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + rules.append(rule) + } + breakpointRule.append(rules) + return breakpointRule + } else { + for (const className in values) { + const rule = new Rule({ + selectors: [`.${className}`], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + rules.append(rule) + } + + if (states) { + for (const className in values) { + for (const pseudo_state of pseudoStates) { + const rule = new Rule({ + selectors: [`.${pseudo_state}${COLON_SEPARATOR}${className}:${pseudo_state}`], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + rules.append(rule) + } + } + } + + if (responsive) { + for (const breakpoint of breakpoints) { + const breakpointRule = new BreakpointRule({ breakpoint }) + for (const className in values) { + const rule = new Rule({ + selectors: [`.${breakpoint}${COLON_SEPARATOR}${className}`], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + breakpointRule.append(rule) + } + + if (states) { + for (const className in values) { + for (const pseudo_state of pseudoStates) { + const rule = new Rule({ + selectors: [ + `.${breakpoint}${COLON_SEPARATOR}${pseudo_state}${COLON_SEPARATOR}${className}:${pseudo_state}`, + ], + }) + propNames.forEach(prop => { + rule.append({ prop, value: values[className], important }) + if (additionalValues) { + for (const additionalValue in additionalValues) { + rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) + } + } + }) + breakpointRule.append(rule) + } + } + } + + rules.append(breakpointRule) + } + } + } + + return rules +} + +export const styleClassDeprecated = ({ + property = '', + values = {}, + important = false, + responsive = false, + breakpoints = minBreakpoints, + prefix = '', +}) => { + const propNames = Array.isArray(property) ? property : [property] + const rules = new RuleGroup() + + for (const className in values) { + const selectors = [prefix !== '' ? `.${[prefix, className].join(DASH_SEPARATOR)}` : className] + const rule = new Rule({ selectors }) + propNames.forEach(prop => rule.append({ prop, value: values[className], important })) + rules.append(rule) + } + + if (responsive) { + for (const breakpoint of breakpoints) { + const breakpointRule = new BreakpointRule({ breakpoint }) + for (const className in values) { + const selectors = [prefix !== '' ? `.${[prefix, className, breakpoint].join(DASH_SEPARATOR)}` : className] + const rule = new Rule({ selectors }) + propNames.forEach(prop => rule.append({ prop, value: values[className], important })) + breakpointRule.append(rule) + } + + rules.append(breakpointRule) + } + } + + return rules +} + +export const merge = ({ docs = [], rules = [], deprecated = [], visualTest = [] }) => { + return { + json: JSON.stringify(docs, undefined, 2), + rules: [`@use '../mixins/_all' as *`, NEWLINE, ...rules.map(r => r.toString())].join(NEWLINE), + deprecated: [...deprecated.map(r => r.toString())].join(NEWLINE), + visualTest: ` + + + + + + + + + + +
+${visualTest.join(NEWLINE)} +
+
+ + +`, + } +} + +export const staticClass = ({ + property, + values, + important = true, + responsive = true, + states = false, + breakpoints = minBreakpoints, +}) => { + const docs = jsonClass({ property, values }) + const rules = styleClass({ property, values, important, responsive, states, breakpoints }) + return { rules, docs } +} + +export const staticClassByToken = async ({ + token, + property, + values = {}, + tokensRoot, + important = true, + responsive = true, + states = false, + replace = undefined, + replace2 = undefined, + prefix = undefined, +}) => { + const tokens = await getTokens({ token, tokensRoot }) + const props = toProps({ tokens, replace, prefix, replace2 }) + const docs = jsonClass({ property, values: { ...values, ...props } }) + const rules = styleClass({ property, values: { ...values, ...props }, important, responsive, states }) + return { rules, docs } +} export const save = async (fileName, projectRoot, { json, rules }) => { await writeFileRecursive(join(projectRoot, 'docs', `${fileName}.json`), json) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/utils.ts b/libs/nx/src/executors/build-tailwindcss/generators/utils.ts index 8349ebf590..40392e231e 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/utils.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/utils.ts @@ -1,398 +1,10 @@ import { mkdir, readFile, writeFile } from 'fs/promises' -import { join, dirname } from 'path' import get from 'lodash.get' +import { dirname, join } from 'path' export const NEWLINE = '\n' export const DASH_SEPARATOR = '-' export const COLON_SEPARATOR = `\\:` -export const pseudoStates = ['focus', 'hover', 'active'] -export const minBreakpoints = ['mobile', 'tablet', 'desktop', 'widescreen'] - -export const allBreakpoints = [ - 'mobile', - 'tablet', - 'tablet-only', - 'touch', - 'desktop', - 'desktop-only', - 'high-definition', - 'high-definition-only', - 'widescreen', - 'widescreen-only', - 'fullhd', -] - -interface BaseRule { - toString(indent: string): string -} - -class RuleValue implements BaseRule { - prop: string - value: string - important: boolean - - constructor({ prop, value, important = false }) { - this.prop = prop - this.value = value - this.important = important - } - - toString(indent = '') { - return `${indent}${this.prop}: ${this.value}${this.important === true ? ' !important' : ''}` - } -} - -class Rule implements BaseRule { - selectors: string[] = [] - values: RuleValue[] = [] - - constructor({ selectors }) { - function onlyUnique(value, index, array) { - return array.indexOf(value) === index - } - - this.selectors = selectors.filter(s => s !== '').filter(onlyUnique) - } - - append(opts) { - this.values.push(new RuleValue(opts)) - } - - toString(indent = '') { - const selector = this.selectors.map(s => `${indent}${s}`).join(`,${NEWLINE}`) - const values = this.values.map(value => { - return [` ${value.toString(indent)}`].join(NEWLINE) - }) - return [selector, ...values].join(NEWLINE) + NEWLINE - } -} - -class BreakpointRule implements BaseRule { - rules: BaseRule[] = [] - breakpoint = [] - - constructor({ breakpoint }) { - this.breakpoint = breakpoint - } - - append(rule: BaseRule) { - this.rules.push(rule) - } - - toString(indent = '') { - return [ - indent + `+${this.breakpoint}`, - indent + this.rules.map(rule => rule.toString(` ${indent}`)).join(NEWLINE), - ].join(`${NEWLINE}`) - } -} - -class RuleGroup implements BaseRule { - rules: BaseRule[] = [] - - append(rule: BaseRule) { - this.rules.push(rule) - } - - toString(indent = '') { - return this.rules.map(rule => rule.toString(indent)).join(NEWLINE) - } -} - -export const jsonClass = ({ property = '', values = {} }) => { - const keys = Object.keys(values) - return { - [property]: keys.map(key => { - return { - class: key, - css: `${property}: ${values[key]};`, - property: property, - value: values[key], - } - }), - } -} - -export const filterTokenKeys = ({ tokens, ignore = [] }) => { - return Object.keys(tokens).filter(key => !ignore.includes(key)) -} - -export const visualTest = ({ values, template }) => { - const lines = [] - for (const className in values) { - lines.push(template(className)) - } - return lines.map(l => ` ${l}`).join(NEWLINE) -} - -export const toCssVarName = (tokenName, token) => { - const isSizeVariable = token.attributes.category === 'size' - const isColorVariable = token.attributes.category === 'color' - const endsWithMobile = token.name.endsWith('-mobile') || token.name.endsWith('Mobile') - const endsWithDefault = token.name.endsWith('-default') || token.name.endsWith('Default') - - if (isSizeVariable) { - tokenName = tokenName.replace('bal-size', 'bal') - } - if (isColorVariable) { - tokenName = tokenName.replace('bal-color-base', 'bal-color') - } - if (endsWithMobile) { - tokenName = tokenName.replace('-mobile', '') - } - if (endsWithDefault) { - tokenName = tokenName.replace('-default', '') - } - return tokenName -} - -export const toCssVar = token => { - return `var(--${toCssVarName(token.name, token)})` -} - -const removeLeadingTrailingDashes = inputString => { - // Remove leading dashes - const stringWithoutLeadingDashes = inputString.replace(/^[-]+/, '') - // Remove trailing dashes - return stringWithoutLeadingDashes.replace(/[-]+$/, '') -} - -export const toProp = ({ property, prefix, replace, replace2 }) => { - const propPrefix = `${prefix ? prefix + '-' : ''}` - const propName = removeLeadingTrailingDashes( - propPrefix + `${property.name.replace('bal-', '')}`.replace(replace, '').replace(replace2, ''), - ) - const propValue = toCssVar(property) - return { - [`${propName}`.replace(/--/g, '-')]: propValue, - } -} - -export const toProps = ({ tokens, prefix = undefined, replace = undefined, replace2 = undefined }) => { - let props = {} - for (const key in tokens) { - const property = tokens[key] - - if (!property.value) { - props = { - ...props, - ...toProps({ tokens: property, prefix, replace, replace2 }), - } - } else { - props = { - ...props, - ...toProp({ property, prefix, replace, replace2 }), - } - } - } - return props -} - -export const styleClass = ({ - property = '', - values = {}, - important = false, - responsive = false, - states = false, - breakpoints = minBreakpoints, - additionalValues = {}, - breakpoint = '', -}) => { - const propNames = Array.isArray(property) ? property : [property] - const rules = new RuleGroup() - - if (breakpoint) { - const breakpointRule = new BreakpointRule({ breakpoint }) - for (const className in values) { - const rule = new Rule({ - selectors: [`.${className}`], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - rules.append(rule) - } - breakpointRule.append(rules) - return breakpointRule - } else { - for (const className in values) { - const rule = new Rule({ - selectors: [`.${className}`], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - rules.append(rule) - } - - if (states) { - for (const className in values) { - for (const pseudo_state of pseudoStates) { - const rule = new Rule({ - selectors: [`.${pseudo_state}${COLON_SEPARATOR}${className}:${pseudo_state}`], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - rules.append(rule) - } - } - } - - if (responsive) { - for (const breakpoint of breakpoints) { - const breakpointRule = new BreakpointRule({ breakpoint }) - for (const className in values) { - const rule = new Rule({ - selectors: [`.${breakpoint}${COLON_SEPARATOR}${className}`], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - breakpointRule.append(rule) - } - - if (states) { - for (const className in values) { - for (const pseudo_state of pseudoStates) { - const rule = new Rule({ - selectors: [ - `.${breakpoint}${COLON_SEPARATOR}${pseudo_state}${COLON_SEPARATOR}${className}:${pseudo_state}`, - ], - }) - propNames.forEach(prop => { - rule.append({ prop, value: values[className], important }) - if (additionalValues) { - for (const additionalValue in additionalValues) { - rule.append({ prop: additionalValue, value: additionalValues[additionalValue] }) - } - } - }) - breakpointRule.append(rule) - } - } - } - - rules.append(breakpointRule) - } - } - } - - return rules -} - -export const styleClassDeprecated = ({ - property = '', - values = {}, - important = false, - responsive = false, - breakpoints = minBreakpoints, - prefix = '', -}) => { - const propNames = Array.isArray(property) ? property : [property] - const rules = new RuleGroup() - - for (const className in values) { - const selectors = [prefix !== '' ? `.${[prefix, className].join(DASH_SEPARATOR)}` : className] - const rule = new Rule({ selectors }) - propNames.forEach(prop => rule.append({ prop, value: values[className], important })) - rules.append(rule) - } - - if (responsive) { - for (const breakpoint of breakpoints) { - const breakpointRule = new BreakpointRule({ breakpoint }) - for (const className in values) { - const selectors = [prefix !== '' ? `.${[prefix, className, breakpoint].join(DASH_SEPARATOR)}` : className] - const rule = new Rule({ selectors }) - propNames.forEach(prop => rule.append({ prop, value: values[className], important })) - breakpointRule.append(rule) - } - - rules.append(breakpointRule) - } - } - - return rules -} - -export const merge = ({ docs = [], rules = [], deprecated = [], visualTest = [] }) => { - return { - json: JSON.stringify(docs, undefined, 2), - rules: [`@use '../mixins/_all' as *`, NEWLINE, ...rules.map(r => r.toString())].join(NEWLINE), - deprecated: [...deprecated.map(r => r.toString())].join(NEWLINE), - visualTest: ` - - - - - - - - - - -
-${visualTest.join(NEWLINE)} -
-
- - -`, - } -} - -export const staticClass = ({ - property, - values, - important = true, - responsive = true, - states = false, - breakpoints = minBreakpoints, -}) => { - const docs = jsonClass({ property, values }) - const rules = styleClass({ property, values, important, responsive, states, breakpoints }) - return { rules, docs } -} - -export const staticClassByToken = async ({ - token, - property, - values = {}, - tokensRoot, - important = true, - responsive = true, - states = false, - replace = undefined, - replace2 = undefined, - prefix = undefined, -}) => { - const tokens = await getTokens({ token, tokensRoot }) - const props = toProps({ tokens, replace, prefix, replace2 }) - const docs = jsonClass({ property, values: { ...values, ...props } }) - const rules = styleClass({ property, values: { ...values, ...props }, important, responsive, states }) - return { rules, docs } -} export const save = async (fileName, projectRoot, { json, rules }) => { await writeFileRecursive(join(projectRoot, 'docs', `${fileName}.json`), json) From 2804708f2b5f9c57de054f938f7df2eb144880a5 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 14:02:48 +0200 Subject: [PATCH 05/18] chore: types --- .../nx/src/executors/build-tailwindcss/generators/utils.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/utils.ts b/libs/nx/src/executors/build-tailwindcss/generators/utils.ts index 40392e231e..e9be9ee3fa 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/utils.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/utils.ts @@ -11,10 +11,13 @@ export const save = async (fileName, projectRoot, { json, rules }) => { await writeFileRecursive(join(projectRoot, 'src/generated', `${fileName}.sass`), rules) } -export const getTokens = async ({ token, tokensRoot }) => { +type Token = { name: string; value: string } +type Tokens = { [key: string]: Token } + +export const getTokens = async ({ token, tokensRoot }): Promise => { const content = await readFile(join(tokensRoot, `dist/tokens.docs.json`), 'utf8') const json = JSON.parse(content) - return get(json, token) + return get(json, token) as Tokens } export const writeFileRecursive = async (filePath, data) => { From 67dbecccb3b016bd373986636ba79d35b512eb67 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 14:28:26 +0200 Subject: [PATCH 06/18] chore: update structure and add z-index and border --- .gitignore | 3 +- .../executors/build-tailwindcss/executor.ts | 27 +- .../build-tailwindcss/generators/border.ts | 18 ++ .../build-tailwindcss/generators/spacing.ts | 5 +- .../build-tailwindcss/generators/utils.ts | 5 - .../build-tailwindcss/generators/z-index.ts | 18 ++ packages/tailwindcss/package.json | 1 + packages/tailwindcss/src/index.css | 305 +----------------- packages/tailwindcss/src/layer.css | 13 + packages/tailwindcss/src/styles.css | 3 - packages/tailwindcss/src/theme.css | 238 ++++++++++++++ packages/tailwindcss/todo.md | 2 +- 12 files changed, 310 insertions(+), 328 deletions(-) create mode 100644 libs/nx/src/executors/build-tailwindcss/generators/border.ts create mode 100644 libs/nx/src/executors/build-tailwindcss/generators/z-index.ts create mode 100644 packages/tailwindcss/src/layer.css delete mode 100644 packages/tailwindcss/src/styles.css create mode 100644 packages/tailwindcss/src/theme.css diff --git a/.gitignore b/.gitignore index 022cc9eaff..0b82e74250 100644 --- a/.gitignore +++ b/.gitignore @@ -57,6 +57,7 @@ packages/core/**/theming.md packages/core/**/testing.md packages/core/**/api.md packages/css/css +packages/tailwindcss/css packages/styles/css packages/styles/docs packages/styles/src/generated @@ -173,4 +174,4 @@ docs/LICENSE e2e/LICENSE vite.config.*.timestamp* -vitest.config.*.timestamp* \ No newline at end of file +vitest.config.*.timestamp* diff --git a/libs/nx/src/executors/build-tailwindcss/executor.ts b/libs/nx/src/executors/build-tailwindcss/executor.ts index 81e89c7383..614d11c51c 100644 --- a/libs/nx/src/executors/build-tailwindcss/executor.ts +++ b/libs/nx/src/executors/build-tailwindcss/executor.ts @@ -1,25 +1,24 @@ -import { rm } from 'fs/promises' +import { mkdir, rm, writeFile } from 'fs/promises' import { join } from 'path' -import { generateSpacing } from './generators/spacing' +import { generateBorder } from './generators/border' +import { NEWLINE } from './generators/utils' +import { generateZIndex } from './generators/z-index' import { BuildTailwindcssExecutorSchema } from './schema' export default async function runExecutor(options: BuildTailwindcssExecutorSchema) { try { - console.log('tailwindcss', options) - // clean generated files - await rm(join(options.projectRoot, 'css'), { recursive: true, force: true }) + let content = `@layer utilities {${NEWLINE}${NEWLINE}` + // content += await generateSpacing(options) + content += await generateZIndex(options) + content += await generateBorder(options) + content += `}${NEWLINE}${NEWLINE}` - let utilContent = `` - utilContent += await generateSpacing(options) + console.log('content', content) - console.log('utilContent', utilContent) // create css output - // await mkdir(join(options.projectRoot, 'css')) - // const files = await scan(join(options.projectRoot, 'sass', '**', '*.sass')) - // for (let index = 0; index < files.length; index++) { - // const file = files[index] - // await compileSass(file, options) - // } + await rm(join(options.projectRoot, 'css'), { recursive: true, force: true }) + await mkdir(join(options.projectRoot, 'css')) + await writeFile(join(options.projectRoot, 'css', `utilities.css`), content) } catch (error) { console.error(error) return { success: false } diff --git a/libs/nx/src/executors/build-tailwindcss/generators/border.ts b/libs/nx/src/executors/build-tailwindcss/generators/border.ts new file mode 100644 index 0000000000..957e65f5ce --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/generators/border.ts @@ -0,0 +1,18 @@ +import { BuildTailwindcssExecutorSchema } from '../schema' +import { getTokens, NEWLINE } from './utils' + +export const generateBorder = async (options: BuildTailwindcssExecutorSchema) => { + const tokens = await getTokens({ token: 'size.border.width', ...options }) + + return ( + Object.entries(tokens) + .map(([key, token]) => { + const className = `.border-${key}` + const variableName = `--${token.name}` + return ` ${className} {${NEWLINE} border-width: var(${variableName});${NEWLINE} }` + }) + .join(NEWLINE) + + NEWLINE + + NEWLINE + ) +} diff --git a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts index 5818d4c02a..95596dfd5d 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts @@ -1,7 +1,6 @@ import { BuildTailwindcssExecutorSchema } from '../schema' -import { getTokens } from './utils' export const generateSpacing = async (options: BuildTailwindcssExecutorSchema) => { - const tokens = await getTokens({ token: 'size.space', ...options }) - console.log('tokens', tokens) + // const tokens = await getTokens({ token: 'size.space', ...options }) + // console.log('tokens', tokens) } diff --git a/libs/nx/src/executors/build-tailwindcss/generators/utils.ts b/libs/nx/src/executors/build-tailwindcss/generators/utils.ts index e9be9ee3fa..d9bd248852 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/utils.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/utils.ts @@ -6,11 +6,6 @@ export const NEWLINE = '\n' export const DASH_SEPARATOR = '-' export const COLON_SEPARATOR = `\\:` -export const save = async (fileName, projectRoot, { json, rules }) => { - await writeFileRecursive(join(projectRoot, 'docs', `${fileName}.json`), json) - await writeFileRecursive(join(projectRoot, 'src/generated', `${fileName}.sass`), rules) -} - type Token = { name: string; value: string } type Tokens = { [key: string]: Token } diff --git a/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts b/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts new file mode 100644 index 0000000000..2d22120585 --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts @@ -0,0 +1,18 @@ +import { BuildTailwindcssExecutorSchema } from '../schema' +import { getTokens, NEWLINE } from './utils' + +export const generateZIndex = async (options: BuildTailwindcssExecutorSchema) => { + const tokens = await getTokens({ token: 'size.z-index', ...options }) + + return ( + Object.entries(tokens) + .map(([key, token]) => { + const className = `.z-index-${key}` + const variableName = `--${token.name}` + return ` ${className} {${NEWLINE} z-index: var(${variableName});${NEWLINE} }` + }) + .join(NEWLINE) + + NEWLINE + + NEWLINE + ) +} diff --git a/packages/tailwindcss/package.json b/packages/tailwindcss/package.json index 0955276652..ac3f6f5664 100644 --- a/packages/tailwindcss/package.json +++ b/packages/tailwindcss/package.json @@ -23,6 +23,7 @@ "style": "src/index.css", "files": [ "bin/", + "css/", "src/" ], "dependencies": { diff --git a/packages/tailwindcss/src/index.css b/packages/tailwindcss/src/index.css index 00f1d2526e..47162d98af 100644 --- a/packages/tailwindcss/src/index.css +++ b/packages/tailwindcss/src/index.css @@ -1,305 +1,8 @@ -@import 'tailwindcss'; - @import '@baloise/ds-fonts/css/fonts.css'; @import '@baloise/ds-styles/css/structure'; @import '@baloise/ds-styles/css/core'; -@theme { - --*: initial; - /* --color*: initial; */ - --color-white: var(--bal-color-white); - --color-black: var(--bal-color-black); - - --color-primary-6: var(--bal-color-primary-6); - --color-primary-5: var(--bal-color-primary-5); - --color-primary-4: var(--bal-color-primary-4); - --color-primary-3: var(--bal-color-primary-3); - --color-primary-2: var(--bal-color-primary-2); - --color-primary-1: var(--bal-color-primary-1); - - --color-light-blue-6: var(--bal-color-light-blue-6); - --color-light-blue-5: var(--bal-color-light-blue-5); - --color-light-blue-4: var(--bal-color-light-blue-4); - --color-light-blue-3: var(--bal-color-light-blue-3); - --color-light-blue-2: var(--bal-color-light-blue-2); - --color-light-blue-1: var(--bal-color-light-blue-1); - - --color-red-6: var(--bal-color-red-6); - --color-red-5: var(--bal-color-red-5); - --color-red-4: var(--bal-color-red-4); - --color-red-3: var(--bal-color-red-3); - --color-red-2: var(--bal-color-red-2); - --color-red-1: var(--bal-color-red-1); - - --color-yellow-6: var(--bal-color-yellow-6); - --color-yellow-5: var(--bal-color-yellow-5); - --color-yellow-4: var(--bal-color-yellow-4); - --color-yellow-3: var(--bal-color-yellow-3); - --color-yellow-2: var(--bal-color-yellow-2); - --color-yellow-1: var(--bal-color-yellow-1); - - --color-purple-6: var(--bal-color-purple-6); - --color-purple-5: var(--bal-color-purple-5); - --color-purple-4: var(--bal-color-purple-4); - --color-purple-3: var(--bal-color-purple-3); - --color-purple-2: var(--bal-color-purple-2); - --color-purple-1: var(--bal-color-purple-1); - - --color-green-6: var(--bal-color-green-6); - --color-green-5: var(--bal-color-green-5); - --color-green-4: var(--bal-color-green-4); - --color-green-3: var(--bal-color-green-3); - --color-green-2: var(--bal-color-green-2); - --color-green-1: var(--bal-color-green-1); - - --color-grey-6: var(--bal-color-grey-6); - --color-grey-5: var(--bal-color-grey-5); - --color-grey-4: var(--bal-color-grey-4); - --color-grey-3: var(--bal-color-grey-3); - --color-grey-2: var(--bal-color-grey-2); - --color-grey-1: var(--bal-color-grey-1); - - --color-danger-6: var(--bal-color-danger-6); - --color-danger-5: var(--bal-color-danger-5); - --color-danger-4: var(--bal-color-danger-4); - --color-danger-3: var(--bal-color-danger-3); - --color-danger-2: var(--bal-color-danger-2); - --color-danger-1: var(--bal-color-danger-1); - - --color-warning-6: var(--bal-color-warning-6); - --color-warning-5: var(--bal-color-warning-5); - --color-warning-4: var(--bal-color-warning-4); - --color-warning-3: var(--bal-color-warning-3); - --color-warning-2: var(--bal-color-warning-2); - --color-warning-1: var(--bal-color-warning-1); - - --color-success-6: var(--bal-color-success-6); - --color-success-5: var(--bal-color-success-5); - --color-success-4: var(--bal-color-success-4); - --color-success-3: var(--bal-color-success-3); - --color-success-2: var(--bal-color-success-2); - --color-success-1: var(--bal-color-success-1); - - --color-info-6: var(--bal-color-info-6); - --color-info-5: var(--bal-color-info-5); - --color-info-4: var(--bal-color-info-4); - --color-info-3: var(--bal-color-info-3); - --color-info-2: var(--bal-color-info-2); - --color-info-1: var(--bal-color-info-1); - - --color-danger: var(--bal-color-danger-3); - --color-warning: var(--bal-color-warning-3); - --color-success: var(--bal-color-success-3); - --color-info: var(--bal-color-info-3); - --color-disabled: var(--bal-color-grey-3); - --color-grey: var(--bal-color-grey-3); - --color-grey-light: var(--bal-color-grey-2); - --color-red: var(--bal-color-red-3); - --color-red-light: var(--bal-color-red-1); - --color-yellow: var(--bal-color-yellow-3); - --color-yellow-light: var(--bal-color-yellow-1); - --color-purple: var(--bal-color-purple-3); - --color-purple-light: var(--bal-color-purple-1); - --color-green: var(--bal-color-green-3); - --color-green-light: var(--bal-color-green-1); - --color-primary: var(--bal-color-primary-5); - - --spacing: 0.25rem; - - /* --font*: initial; */ - --font-sans: var(--bal-font-family-text); - --font-text: var(--bal-font-family-text); - --font-title: var(--bal-font-family-title); - - /* --breakpoint*: initial; */ - --breakpoint-tablet: 769px; - --breakpoint-desktop: 1024px; - --breakpoint-high-defition: 1280px; - --breakpoint-widescreen: 1440px; - --breakpoint-fullhd: 1280px; - - /* --text*: initial; */ - --text-sm: 0.875rem; - --text-sm--line-height: 1.125rem; - --text-base: 1rem; - --text-base--line-height: 1.5; - --text-md: 1.125rem; - --text-md--line-height: 1.5; - --text-lg: 1.25rem; - --text-lg--line-height: calc(1.75 / 1.25); - --text-xl: 1.5rem; - --text-xl--line-height: calc(2 / 1.5); - --text-2xl: 1.75rem; - --text-2xl--line-height: 1.3; - --text-3xl: 2rem; - --text-3xl--line-height: 1.3; - --text-4xl: 2.5rem; - --text-4xl--line-height: 1.3; - --text-5xl: 3rem; - --text-5xl--line-height: 1.3; - --text-6xl: 5rem; - --text-6xl--line-height: 1.3; - - --text-small: 0.875rem; - --text-small--line-height: 1.125rem; - --text-normal: 1rem; - --text-normal--line-height: 1.5; - --text-medium: 1.125rem; - --text-medium--line-height: 1.5; - --text-large: 1.25rem; - --text-large--line-height: calc(1.75 / 1.25); - --text-x-large: 1.5rem; - --text-x-large--line-height: calc(2 / 1.5); - --text-xx-large: 1.75rem; - --text-xx-large--line-height: 1.3; - --text-xxx-large: 2rem; - --text-xxx-large--line-height: 1.3; - --text-xxxx-large: 2.5rem; - --text-xxxx-large--line-height: 1.3; - --text-xxxxx-large: 3rem; - --text-xxxxx-large--line-height: 1.3; - --text-xxxxxx-large: 5rem; - --text-xxxxxx-large--line-height: 1.3; - - --font-weight-light: 300; - --font-weight-normal: 400; - --font-weight-bold: 700; - - --tracking-tighter: -0.05em; - --tracking-tight: -0.025em; - --tracking-normal: 0em; - --tracking-wide: 0.025em; - --tracking-wider: 0.05em; - --tracking-widest: 0.1em; - - --leading-tight: 1.25; - --leading-snug: 1.375; - --leading-normal: 1.5; - --leading-relaxed: 1.625; - --leading-loose: 2; - - --radius-small: 0.125rem; - --radius-normal: var(--bal-radius-normal); - --radius-large: var(--bal-radius-large); - --radius-rounded: var(--bal-radius-rounded); - - --shadow-small: var(--bal-shadow-small); - --shadow-normal: var(--bal-shadow-normal); - --shadow-large: var(--bal-shadow-large); - - --text-shadow-normal: var(--bal-text-shadow-normal); - - --blur-xs: 4px; - --blur-sm: 8px; - --blur-md: 12px; - --blur-lg: 16px; - --blur-xl: 24px; - --blur-2xl: 40px; - --blur-3xl: 64px; - - --perspective-dramatic: 100px; - --perspective-near: 300px; - --perspective-normal: 500px; - --perspective-midrange: 800px; - --perspective-distant: 1200px; - - --aspect-video: 16 / 9; - - --ease-in: cubic-bezier(0.4, 0, 1, 1); - --ease-out: cubic-bezier(0, 0, 0.2, 1); - --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); - --animate-spin: spin 1s linear infinite; - --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; - --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; - --animate-bounce: bounce 1s infinite; - - @keyframes spin { - to { - transform: rotate(360deg); - } - } - @keyframes ping { - 75%, - 100% { - transform: scale(2); - opacity: 0; - } - } - @keyframes pulse { - 50% { - opacity: 0.5; - } - } - @keyframes bounce { - 0%, - 100% { - transform: translateY(-25%); - animation-timing-function: cubic-bezier(0.8, 0, 1, 1); - } - 50% { - transform: none; - animation-timing-function: cubic-bezier(0, 0, 0.2, 1); - } - } -} - -@layer base { - h1, - h2, - h3, - h4, - h5, - h6, - a, - button { - font-family: var(--font-title); - font-weight: var(--bal-font-weight-bold); - } -} - -@layer utilities { - .z-index-tooltip { - z-index: var(--bal-z-index-tooltip); - } - .z-index-toast { - z-index: var(--bal-z-index-toast); - } - .z-index-modal { - z-index: var(--bal-z-index-modal); - } - .z-index-popup { - z-index: var(--bal-z-index-popup); - } - .z-index-navigation { - z-index: var(--bal-z-index-navigation); - } - .z-index-sticky { - z-index: var(--bal-z-index-sticky); - } - .z-index-mask { - z-index: var(--bal-z-index-mask); - } - .z-index-maske { - z-index: var(--bal-z-index-maske); - } - .z-index-normal { - z-index: var(--bal-z-index); - } - .z-index-deep { - z-index: var(--bal-z-index-deep); - } - - .border-small { - border: var(--bal-border-width-small); - } - .border-normal { - border: var(--bal-border-width-normal); - } - .border-large { - border: var(--bal-border-width-large); - } - - .p-large { - @apply p-(--bal-space-large) desktop:p-(--bal-space-large-desktop); - } -} +@import 'tailwindcss'; +@import './theme'; +@import './layer'; +@import '../css/utilities'; diff --git a/packages/tailwindcss/src/layer.css b/packages/tailwindcss/src/layer.css new file mode 100644 index 0000000000..566966f49d --- /dev/null +++ b/packages/tailwindcss/src/layer.css @@ -0,0 +1,13 @@ +@layer base { + h1, + h2, + h3, + h4, + h5, + h6, + a, + button { + font-family: var(--font-title); + font-weight: var(--bal-font-weight-bold); + } +} diff --git a/packages/tailwindcss/src/styles.css b/packages/tailwindcss/src/styles.css deleted file mode 100644 index bc19f2d69f..0000000000 --- a/packages/tailwindcss/src/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -/* @import '@baloise/ds-styles/css/normalize'; */ -/* @import '@baloise/ds-styles/css/structure'; */ -/* @import '@baloise/ds-styles/css/core'; */ diff --git a/packages/tailwindcss/src/theme.css b/packages/tailwindcss/src/theme.css new file mode 100644 index 0000000000..4be1467a3a --- /dev/null +++ b/packages/tailwindcss/src/theme.css @@ -0,0 +1,238 @@ +@theme { + --*: initial; + /* --color*: initial; */ + --color-white: var(--bal-color-white); + --color-black: var(--bal-color-black); + + --color-primary-6: var(--bal-color-primary-6); + --color-primary-5: var(--bal-color-primary-5); + --color-primary-4: var(--bal-color-primary-4); + --color-primary-3: var(--bal-color-primary-3); + --color-primary-2: var(--bal-color-primary-2); + --color-primary-1: var(--bal-color-primary-1); + + --color-light-blue-6: var(--bal-color-light-blue-6); + --color-light-blue-5: var(--bal-color-light-blue-5); + --color-light-blue-4: var(--bal-color-light-blue-4); + --color-light-blue-3: var(--bal-color-light-blue-3); + --color-light-blue-2: var(--bal-color-light-blue-2); + --color-light-blue-1: var(--bal-color-light-blue-1); + + --color-red-6: var(--bal-color-red-6); + --color-red-5: var(--bal-color-red-5); + --color-red-4: var(--bal-color-red-4); + --color-red-3: var(--bal-color-red-3); + --color-red-2: var(--bal-color-red-2); + --color-red-1: var(--bal-color-red-1); + + --color-yellow-6: var(--bal-color-yellow-6); + --color-yellow-5: var(--bal-color-yellow-5); + --color-yellow-4: var(--bal-color-yellow-4); + --color-yellow-3: var(--bal-color-yellow-3); + --color-yellow-2: var(--bal-color-yellow-2); + --color-yellow-1: var(--bal-color-yellow-1); + + --color-purple-6: var(--bal-color-purple-6); + --color-purple-5: var(--bal-color-purple-5); + --color-purple-4: var(--bal-color-purple-4); + --color-purple-3: var(--bal-color-purple-3); + --color-purple-2: var(--bal-color-purple-2); + --color-purple-1: var(--bal-color-purple-1); + + --color-green-6: var(--bal-color-green-6); + --color-green-5: var(--bal-color-green-5); + --color-green-4: var(--bal-color-green-4); + --color-green-3: var(--bal-color-green-3); + --color-green-2: var(--bal-color-green-2); + --color-green-1: var(--bal-color-green-1); + + --color-grey-6: var(--bal-color-grey-6); + --color-grey-5: var(--bal-color-grey-5); + --color-grey-4: var(--bal-color-grey-4); + --color-grey-3: var(--bal-color-grey-3); + --color-grey-2: var(--bal-color-grey-2); + --color-grey-1: var(--bal-color-grey-1); + + --color-danger-6: var(--bal-color-danger-6); + --color-danger-5: var(--bal-color-danger-5); + --color-danger-4: var(--bal-color-danger-4); + --color-danger-3: var(--bal-color-danger-3); + --color-danger-2: var(--bal-color-danger-2); + --color-danger-1: var(--bal-color-danger-1); + + --color-warning-6: var(--bal-color-warning-6); + --color-warning-5: var(--bal-color-warning-5); + --color-warning-4: var(--bal-color-warning-4); + --color-warning-3: var(--bal-color-warning-3); + --color-warning-2: var(--bal-color-warning-2); + --color-warning-1: var(--bal-color-warning-1); + + --color-success-6: var(--bal-color-success-6); + --color-success-5: var(--bal-color-success-5); + --color-success-4: var(--bal-color-success-4); + --color-success-3: var(--bal-color-success-3); + --color-success-2: var(--bal-color-success-2); + --color-success-1: var(--bal-color-success-1); + + --color-info-6: var(--bal-color-info-6); + --color-info-5: var(--bal-color-info-5); + --color-info-4: var(--bal-color-info-4); + --color-info-3: var(--bal-color-info-3); + --color-info-2: var(--bal-color-info-2); + --color-info-1: var(--bal-color-info-1); + + --color-danger: var(--bal-color-danger-3); + --color-warning: var(--bal-color-warning-3); + --color-success: var(--bal-color-success-3); + --color-info: var(--bal-color-info-3); + --color-disabled: var(--bal-color-grey-3); + --color-grey: var(--bal-color-grey-3); + --color-grey-light: var(--bal-color-grey-2); + --color-red: var(--bal-color-red-3); + --color-red-light: var(--bal-color-red-1); + --color-yellow: var(--bal-color-yellow-3); + --color-yellow-light: var(--bal-color-yellow-1); + --color-purple: var(--bal-color-purple-3); + --color-purple-light: var(--bal-color-purple-1); + --color-green: var(--bal-color-green-3); + --color-green-light: var(--bal-color-green-1); + --color-primary: var(--bal-color-primary-5); + + --spacing: 0.25rem; + + /* --font*: initial; */ + --font-sans: var(--bal-font-family-text); + --font-text: var(--bal-font-family-text); + --font-title: var(--bal-font-family-title); + + /* --breakpoint*: initial; */ + --breakpoint-tablet: 769px; + --breakpoint-desktop: 1024px; + --breakpoint-high-defition: 1280px; + --breakpoint-widescreen: 1440px; + --breakpoint-fullhd: 1280px; + + /* --text*: initial; */ + --text-sm: 0.875rem; + --text-sm--line-height: 1.125rem; + --text-base: 1rem; + --text-base--line-height: 1.5; + --text-md: 1.125rem; + --text-md--line-height: 1.5; + --text-lg: 1.25rem; + --text-lg--line-height: calc(1.75 / 1.25); + --text-xl: 1.5rem; + --text-xl--line-height: calc(2 / 1.5); + --text-2xl: 1.75rem; + --text-2xl--line-height: 1.3; + --text-3xl: 2rem; + --text-3xl--line-height: 1.3; + --text-4xl: 2.5rem; + --text-4xl--line-height: 1.3; + --text-5xl: 3rem; + --text-5xl--line-height: 1.3; + --text-6xl: 5rem; + --text-6xl--line-height: 1.3; + + --text-small: 0.875rem; + --text-small--line-height: 1.125rem; + --text-normal: 1rem; + --text-normal--line-height: 1.5; + --text-medium: 1.125rem; + --text-medium--line-height: 1.5; + --text-large: 1.25rem; + --text-large--line-height: calc(1.75 / 1.25); + --text-x-large: 1.5rem; + --text-x-large--line-height: calc(2 / 1.5); + --text-xx-large: 1.75rem; + --text-xx-large--line-height: 1.3; + --text-xxx-large: 2rem; + --text-xxx-large--line-height: 1.3; + --text-xxxx-large: 2.5rem; + --text-xxxx-large--line-height: 1.3; + --text-xxxxx-large: 3rem; + --text-xxxxx-large--line-height: 1.3; + --text-xxxxxx-large: 5rem; + --text-xxxxxx-large--line-height: 1.3; + + --font-weight-light: 300; + --font-weight-normal: 400; + --font-weight-bold: 700; + + --tracking-tighter: -0.05em; + --tracking-tight: -0.025em; + --tracking-normal: 0em; + --tracking-wide: 0.025em; + --tracking-wider: 0.05em; + --tracking-widest: 0.1em; + + --leading-tight: 1.25; + --leading-snug: 1.375; + --leading-normal: 1.5; + --leading-relaxed: 1.625; + --leading-loose: 2; + + --radius-small: 0.125rem; + --radius-normal: var(--bal-radius-normal); + --radius-large: var(--bal-radius-large); + --radius-rounded: var(--bal-radius-rounded); + + --shadow-small: var(--bal-shadow-small); + --shadow-normal: var(--bal-shadow-normal); + --shadow-large: var(--bal-shadow-large); + + --text-shadow-normal: var(--bal-text-shadow-normal); + + --blur-xs: 4px; + --blur-sm: 8px; + --blur-md: 12px; + --blur-lg: 16px; + --blur-xl: 24px; + --blur-2xl: 40px; + --blur-3xl: 64px; + + --perspective-dramatic: 100px; + --perspective-near: 300px; + --perspective-normal: 500px; + --perspective-midrange: 800px; + --perspective-distant: 1200px; + + --aspect-video: 16 / 9; + + --ease-in: cubic-bezier(0.4, 0, 1, 1); + --ease-out: cubic-bezier(0, 0, 0.2, 1); + --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); + --animate-spin: spin 1s linear infinite; + --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite; + --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; + --animate-bounce: bounce 1s infinite; + + @keyframes spin { + to { + transform: rotate(360deg); + } + } + @keyframes ping { + 75%, + 100% { + transform: scale(2); + opacity: 0; + } + } + @keyframes pulse { + 50% { + opacity: 0.5; + } + } + @keyframes bounce { + 0%, + 100% { + transform: translateY(-25%); + animation-timing-function: cubic-bezier(0.8, 0, 1, 1); + } + 50% { + transform: none; + animation-timing-function: cubic-bezier(0, 0, 0.2, 1); + } + } +} diff --git a/packages/tailwindcss/todo.md b/packages/tailwindcss/todo.md index 7e97c8f861..9362b43c01 100644 --- a/packages/tailwindcss/todo.md +++ b/packages/tailwindcss/todo.md @@ -5,4 +5,4 @@ - spacing respinsive - check gap what we have and they dont - migration script -- align fraction from half to 1/2 \ No newline at end of file +- align fraction from half to 1/2 From 7844bb03f639615fad5f4b0e095dbc59d2b2ed32 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 14:49:13 +0200 Subject: [PATCH 07/18] chore: add line-height and typography --- .../executors/build-tailwindcss/executor.ts | 4 ++++ .../generators/line-height.ts | 22 +++++++++++++++++++ .../generators/typography.ts | 21 ++++++++++++++++++ packages/tailwindcss/index.html | 2 +- 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 libs/nx/src/executors/build-tailwindcss/generators/line-height.ts create mode 100644 libs/nx/src/executors/build-tailwindcss/generators/typography.ts diff --git a/libs/nx/src/executors/build-tailwindcss/executor.ts b/libs/nx/src/executors/build-tailwindcss/executor.ts index 614d11c51c..9d1d4218cd 100644 --- a/libs/nx/src/executors/build-tailwindcss/executor.ts +++ b/libs/nx/src/executors/build-tailwindcss/executor.ts @@ -1,9 +1,11 @@ import { mkdir, rm, writeFile } from 'fs/promises' import { join } from 'path' import { generateBorder } from './generators/border' +import { generateTypography } from './generators/typography' import { NEWLINE } from './generators/utils' import { generateZIndex } from './generators/z-index' import { BuildTailwindcssExecutorSchema } from './schema' +import { generateLineHeight } from './generators/line-height' export default async function runExecutor(options: BuildTailwindcssExecutorSchema) { try { @@ -11,6 +13,8 @@ export default async function runExecutor(options: BuildTailwindcssExecutorSchem // content += await generateSpacing(options) content += await generateZIndex(options) content += await generateBorder(options) + content += await generateTypography(options) + content += await generateLineHeight(options) content += `}${NEWLINE}${NEWLINE}` console.log('content', content) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts b/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts new file mode 100644 index 0000000000..351e7c1330 --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts @@ -0,0 +1,22 @@ +import { BuildTailwindcssExecutorSchema } from '../schema' +import { getTokens, NEWLINE } from './utils' + +type Token = { name: string; value: string } +type ResponsiveToken = { mobile: Token; tablet: Token; desktop: Token } +type ResponsiveTokens = { [size: string]: ResponsiveToken } + +export const generateLineHeight = async (options: BuildTailwindcssExecutorSchema) => { + const tokens = (await getTokens({ token: 'size.text.size', ...options })) as any as ResponsiveTokens + + return ( + Object.entries(tokens) + .map(([key, token]) => { + const className = `.text-${key}` + const value = ['x-small', 'small', 'normal', 'medium'].includes(token.mobile.name) ? 1.5 : 1.3 + return ` ${className} {${NEWLINE} line-height: ${value};${NEWLINE} }` + }) + .join(NEWLINE) + + NEWLINE + + NEWLINE + ) +} diff --git a/libs/nx/src/executors/build-tailwindcss/generators/typography.ts b/libs/nx/src/executors/build-tailwindcss/generators/typography.ts new file mode 100644 index 0000000000..68ea83bc0d --- /dev/null +++ b/libs/nx/src/executors/build-tailwindcss/generators/typography.ts @@ -0,0 +1,21 @@ +import { BuildTailwindcssExecutorSchema } from '../schema' +import { getTokens, NEWLINE } from './utils' + +type Token = { name: string; value: string } +type ResponsiveToken = { mobile: Token; tablet: Token; desktop: Token } +type ResponsiveTokens = { [size: string]: ResponsiveToken } + +export const generateTypography = async (options: BuildTailwindcssExecutorSchema) => { + const tokens = (await getTokens({ token: 'size.text.size', ...options })) as any as ResponsiveTokens + + return ( + Object.entries(tokens) + .map(([key, token]) => { + const className = `.text-${key}` + return ` ${className} {${NEWLINE} @apply text-(${token.mobile.name}) tablet:text-(${token.tablet.name}) desktop:text-(${token.desktop.name});${NEWLINE} }` + }) + .join(NEWLINE) + + NEWLINE + + NEWLINE + ) +} diff --git a/packages/tailwindcss/index.html b/packages/tailwindcss/index.html index c69a2bf9c6..a7ca30f200 100644 --- a/packages/tailwindcss/index.html +++ b/packages/tailwindcss/index.html @@ -8,7 +8,7 @@
-

Hello world!

+

Hello world!

my-link
From 801bb4c9826301f57392cf30034f0bd194a0b01c Mon Sep 17 00:00:00 2001 From: Daniel Battaglia Date: Wed, 7 May 2025 14:59:47 +0200 Subject: [PATCH 08/18] chore: add spacing --- .../executors/build-tailwindcss/executor.ts | 3 +- .../build-tailwindcss/generators/spacing.ts | 30 +++- package-lock.json | 162 ------------------ 3 files changed, 30 insertions(+), 165 deletions(-) diff --git a/libs/nx/src/executors/build-tailwindcss/executor.ts b/libs/nx/src/executors/build-tailwindcss/executor.ts index 9d1d4218cd..8db6f0092f 100644 --- a/libs/nx/src/executors/build-tailwindcss/executor.ts +++ b/libs/nx/src/executors/build-tailwindcss/executor.ts @@ -6,11 +6,12 @@ import { NEWLINE } from './generators/utils' import { generateZIndex } from './generators/z-index' import { BuildTailwindcssExecutorSchema } from './schema' import { generateLineHeight } from './generators/line-height' +import { generateSpacing } from './generators/spacing' export default async function runExecutor(options: BuildTailwindcssExecutorSchema) { try { let content = `@layer utilities {${NEWLINE}${NEWLINE}` - // content += await generateSpacing(options) + content += await generateSpacing(options) content += await generateZIndex(options) content += await generateBorder(options) content += await generateTypography(options) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts index 95596dfd5d..ab228fcefd 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts @@ -1,6 +1,32 @@ import { BuildTailwindcssExecutorSchema } from '../schema' +import { getTokens, NEWLINE } from './utils' + +type Token = { name: string; value: string } +type SpacingTokens = { [key: string]: {[breakpoint: string]: Token} } + +const PADDINGS = ['p', 'px', 'py', 'pt', 'pr', 'pb', 'pl'] +const MARGINS = ['m', 'mx', 'my', 'mt', 'mr', 'mb', 'ml'] export const generateSpacing = async (options: BuildTailwindcssExecutorSchema) => { - // const tokens = await getTokens({ token: 'size.space', ...options }) - // console.log('tokens', tokens) + const tokens = await getTokens({ token: 'size.space', ...options }) as any as SpacingTokens + + const paddings = PADDINGS.map(prefix => generateSpacingWithPrefix(prefix, tokens)) + const margins = MARGINS.map(prefix => generateSpacingWithPrefix(prefix, tokens)) + + return [paddings, margins].join(NEWLINE + NEWLINE) + NEWLINE + NEWLINE } + +const generateSpacingWithPrefix = (prefix, tokens) => { + return Object.entries(tokens) + .map(([sizeKey, group]) => { + const classParts = Object.entries(group) + .map(([breakpoint, token]) => + `${getBreakPointPrefix(breakpoint)}${prefix}-(${token.name})` + ) + + return ` .${prefix}-${sizeKey} {${NEWLINE} @apply ${classParts.join(' ')};${NEWLINE} }` + }) + .join(NEWLINE + NEWLINE) +} + +const getBreakPointPrefix = (breakpoint: string): string => breakpoint !== 'mobile' ? breakpoint + ':' : '' diff --git a/package-lock.json b/package-lock.json index 45232003a9..f0f71f7582 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49633,9 +49633,6 @@ }, "devDependencies": { "@tailwindcss/vite": "^4.1.5", - "compression": "~1.7.4", - "express": "~4.18.2", - "serve-index": "~1.9.1", "vite": "^6.3.5" } }, @@ -50028,48 +50025,6 @@ "vite": "^5.2.0 || ^6" } }, - "packages/tailwindcss/node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "packages/tailwindcss/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "packages/tailwindcss/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "packages/tailwindcss/node_modules/esbuild": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", @@ -50111,66 +50066,6 @@ "@esbuild/win32-x64": "0.25.4" } }, - "packages/tailwindcss/node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "packages/tailwindcss/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "packages/tailwindcss/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", @@ -50213,63 +50108,6 @@ "node": "^10 || ^12 || >=14" } }, - "packages/tailwindcss/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "packages/tailwindcss/node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "packages/tailwindcss/node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "packages/tailwindcss/node_modules/tailwindcss": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.5.tgz", From d36b7d660bacd467998c4e2c89ddb5cb8f3eb626 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 15:18:59 +0200 Subject: [PATCH 09/18] chore: finish utils --- .../src/executors/build-tailwindcss/generators/spacing.ts | 6 +++--- .../executors/build-tailwindcss/generators/typography.ts | 2 +- packages/tailwindcss/index.html | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts index ab228fcefd..821603f9e7 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts @@ -1,5 +1,5 @@ -import { BuildTailwindcssExecutorSchema } from '../schema' -import { getTokens, NEWLINE } from './utils' +import { BuildTailwindcssExecutorSchema } from '../schema'; +import { getTokens, NEWLINE } from './utils'; type Token = { name: string; value: string } type SpacingTokens = { [key: string]: {[breakpoint: string]: Token} } @@ -21,7 +21,7 @@ const generateSpacingWithPrefix = (prefix, tokens) => { .map(([sizeKey, group]) => { const classParts = Object.entries(group) .map(([breakpoint, token]) => - `${getBreakPointPrefix(breakpoint)}${prefix}-(${token.name})` + `${getBreakPointPrefix(breakpoint)}${prefix}-(--${token.name})` ) return ` .${prefix}-${sizeKey} {${NEWLINE} @apply ${classParts.join(' ')};${NEWLINE} }` diff --git a/libs/nx/src/executors/build-tailwindcss/generators/typography.ts b/libs/nx/src/executors/build-tailwindcss/generators/typography.ts index 68ea83bc0d..4da6675f7e 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/typography.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/typography.ts @@ -12,7 +12,7 @@ export const generateTypography = async (options: BuildTailwindcssExecutorSchema Object.entries(tokens) .map(([key, token]) => { const className = `.text-${key}` - return ` ${className} {${NEWLINE} @apply text-(${token.mobile.name}) tablet:text-(${token.tablet.name}) desktop:text-(${token.desktop.name});${NEWLINE} }` + return ` ${className} {${NEWLINE} @apply text-(--${token.mobile.name}) tablet:text-(--${token.tablet.name}) desktop:text-(--${token.desktop.name});${NEWLINE} }` }) .join(NEWLINE) + NEWLINE + diff --git a/packages/tailwindcss/index.html b/packages/tailwindcss/index.html index a7ca30f200..01390ecd7e 100644 --- a/packages/tailwindcss/index.html +++ b/packages/tailwindcss/index.html @@ -13,7 +13,7 @@

button
-
card
+
card

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores velit ut consequatur qui, officia provident From 1bf914bf27a14112c3ad492d4b9e7d3ca1eab24c Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 16:05:29 +0200 Subject: [PATCH 10/18] chore: add test files --- .../executors/build-tailwindcss/executor.ts | 6 +- .../build-tailwindcss/generators/border.ts | 35 +- .../build-tailwindcss/generators/spacing.ts | 17 +- packages/tailwindcss/index.html | 289 +++++++- packages/tailwindcss/package.json | 1 + packages/tailwindcss/project.json | 8 + packages/tailwindcss/src/index.css | 2 +- packages/tailwindcss/src/utilities.css | 23 + .../tailwindcss/test/css-border.visual.html | 91 +++ .../tailwindcss/test/css-color.visual.html | 139 ++++ .../tailwindcss/test/css-core.visual.html | 641 ++++++++++++++++++ .../tailwindcss/test/css-display.visual.html | 135 ++++ .../tailwindcss/test/css-flex.visual.html | 300 ++++++++ .../tailwindcss/test/css-grid.visual.html | 233 +++++++ .../test/css-inheritance.visual.html | 70 ++ .../tailwindcss/test/css-opacity.visual.html | 39 ++ .../tailwindcss/test/css-radius.visual.html | 69 ++ .../tailwindcss/test/css-shadow.visual.html | 37 + .../tailwindcss/test/css-spacing.visual.html | 256 +++++++ .../test/css-structure.visual.html | 65 ++ .../test/css-typography.visual.html | 119 ++++ 21 files changed, 2541 insertions(+), 34 deletions(-) create mode 100644 packages/tailwindcss/src/utilities.css create mode 100644 packages/tailwindcss/test/css-border.visual.html create mode 100644 packages/tailwindcss/test/css-color.visual.html create mode 100644 packages/tailwindcss/test/css-core.visual.html create mode 100644 packages/tailwindcss/test/css-display.visual.html create mode 100644 packages/tailwindcss/test/css-flex.visual.html create mode 100644 packages/tailwindcss/test/css-grid.visual.html create mode 100644 packages/tailwindcss/test/css-inheritance.visual.html create mode 100644 packages/tailwindcss/test/css-opacity.visual.html create mode 100644 packages/tailwindcss/test/css-radius.visual.html create mode 100644 packages/tailwindcss/test/css-shadow.visual.html create mode 100644 packages/tailwindcss/test/css-spacing.visual.html create mode 100644 packages/tailwindcss/test/css-structure.visual.html create mode 100644 packages/tailwindcss/test/css-typography.visual.html diff --git a/libs/nx/src/executors/build-tailwindcss/executor.ts b/libs/nx/src/executors/build-tailwindcss/executor.ts index 8db6f0092f..2592c8a57b 100644 --- a/libs/nx/src/executors/build-tailwindcss/executor.ts +++ b/libs/nx/src/executors/build-tailwindcss/executor.ts @@ -1,12 +1,12 @@ import { mkdir, rm, writeFile } from 'fs/promises' import { join } from 'path' import { generateBorder } from './generators/border' +import { generateLineHeight } from './generators/line-height' +import { generateSpacing } from './generators/spacing' import { generateTypography } from './generators/typography' import { NEWLINE } from './generators/utils' import { generateZIndex } from './generators/z-index' import { BuildTailwindcssExecutorSchema } from './schema' -import { generateLineHeight } from './generators/line-height' -import { generateSpacing } from './generators/spacing' export default async function runExecutor(options: BuildTailwindcssExecutorSchema) { try { @@ -18,8 +18,6 @@ export default async function runExecutor(options: BuildTailwindcssExecutorSchem content += await generateLineHeight(options) content += `}${NEWLINE}${NEWLINE}` - console.log('content', content) - // create css output await rm(join(options.projectRoot, 'css'), { recursive: true, force: true }) await mkdir(join(options.projectRoot, 'css')) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/border.ts b/libs/nx/src/executors/build-tailwindcss/generators/border.ts index 957e65f5ce..eb9d2eb42f 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/border.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/border.ts @@ -2,10 +2,10 @@ import { BuildTailwindcssExecutorSchema } from '../schema' import { getTokens, NEWLINE } from './utils' export const generateBorder = async (options: BuildTailwindcssExecutorSchema) => { - const tokens = await getTokens({ token: 'size.border.width', ...options }) + const borderWidthTokens = await getTokens({ token: 'size.border.width', ...options }) - return ( - Object.entries(tokens) + const borderWidth = + Object.entries(borderWidthTokens) .map(([key, token]) => { const className = `.border-${key}` const variableName = `--${token.name}` @@ -14,5 +14,32 @@ export const generateBorder = async (options: BuildTailwindcssExecutorSchema) => .join(NEWLINE) + NEWLINE + NEWLINE - ) + + const borderColorTokens = await getTokens({ token: 'color.border', ...options }) + + const positions = ['', '-top', '-right', '-bottom', '-left'] + const content = [] + positions.forEach(position => { + content.push( + Object.entries(borderColorTokens) + .map(([key, token]) => { + if (key === 'inverted') { + return '' + } + const name = key === 'default' ? '' : `-${key}` + const className = `.border${position}${name}` + const variableName = `--${token.name}` + return ` + ${className} { + border${position}-color: var(${variableName}); + border${position}-width: var(--bal-border-width-normal); + }` + }) + .join(NEWLINE) + + NEWLINE + + NEWLINE, + ) + }) + + return [borderWidth, content.join(NEWLINE + NEWLINE)].join(NEWLINE + NEWLINE) + NEWLINE + NEWLINE } diff --git a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts index 821603f9e7..b43d5333c8 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts @@ -1,14 +1,14 @@ -import { BuildTailwindcssExecutorSchema } from '../schema'; -import { getTokens, NEWLINE } from './utils'; +import { BuildTailwindcssExecutorSchema } from '../schema' +import { getTokens, NEWLINE } from './utils' type Token = { name: string; value: string } -type SpacingTokens = { [key: string]: {[breakpoint: string]: Token} } +type SpacingTokens = { [key: string]: { [breakpoint: string]: Token } } const PADDINGS = ['p', 'px', 'py', 'pt', 'pr', 'pb', 'pl'] const MARGINS = ['m', 'mx', 'my', 'mt', 'mr', 'mb', 'ml'] export const generateSpacing = async (options: BuildTailwindcssExecutorSchema) => { - const tokens = await getTokens({ token: 'size.space', ...options }) as any as SpacingTokens + const tokens = (await getTokens({ token: 'size.space', ...options })) as any as SpacingTokens const paddings = PADDINGS.map(prefix => generateSpacingWithPrefix(prefix, tokens)) const margins = MARGINS.map(prefix => generateSpacingWithPrefix(prefix, tokens)) @@ -19,14 +19,13 @@ export const generateSpacing = async (options: BuildTailwindcssExecutorSchema) = const generateSpacingWithPrefix = (prefix, tokens) => { return Object.entries(tokens) .map(([sizeKey, group]) => { - const classParts = Object.entries(group) - .map(([breakpoint, token]) => - `${getBreakPointPrefix(breakpoint)}${prefix}-(--${token.name})` - ) + const classParts = Object.entries(group).map( + ([breakpoint, token]) => `${getBreakPointPrefix(breakpoint)}${prefix}-(--${token.name})`, + ) return ` .${prefix}-${sizeKey} {${NEWLINE} @apply ${classParts.join(' ')};${NEWLINE} }` }) .join(NEWLINE + NEWLINE) } -const getBreakPointPrefix = (breakpoint: string): string => breakpoint !== 'mobile' ? breakpoint + ':' : '' +const getBreakPointPrefix = (breakpoint: string): string => (breakpoint !== 'mobile' ? breakpoint + ':' : '') diff --git a/packages/tailwindcss/index.html b/packages/tailwindcss/index.html index 01390ecd7e..f1bdd4d16f 100644 --- a/packages/tailwindcss/index.html +++ b/packages/tailwindcss/index.html @@ -4,24 +4,281 @@ - + -

-

Hello world!

- my-link -
- -
-
card
-
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores velit ut consequatur qui, officia provident - temporibus sequi deleniti totam voluptatem iusto, inventore, ipsam blanditiis commodi doloremque a maxime vitae - reprehenderit. Velit, cupiditate deleniti delectus voluptatem in nisi rerum magnam. Cumque esse sed tempore, - voluptatum iste consequatur neque ipsa animi eaque mollitia consequuntur doloremque eum autem, corporis sit - dicta aspernatur cum! -

+
+ +
+

Hello world!

+ my-link +
+ +
+
card
+
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores velit ut consequatur qui, officia provident + temporibus sequi deleniti totam voluptatem iusto, inventore, ipsam blanditiis commodi doloremque a maxime + vitae reprehenderit. Velit, cupiditate deleniti delectus voluptatem in nisi rerum magnam. Cumque esse sed + tempore, voluptatum iste consequatur neque ipsa animi eaque mollitia consequuntur doloremque eum autem, + corporis sit dicta aspernatur cum! +

+
+ + + +
+

Border

+
+
None
+
Top
+ +
Left
+
Right
+
Bottom
+
+
+
Primary
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Grey
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Grey dark
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Warning
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Success
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Danger
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Primary light
+
Top
+
Left
+
Right
+
Bottom
+
+
+
White
+
Top
+
Left
+
Right
+
Bottom
+
+
+ + + +
+

Colors

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/tailwindcss/package.json b/packages/tailwindcss/package.json index ac3f6f5664..f503990d61 100644 --- a/packages/tailwindcss/package.json +++ b/packages/tailwindcss/package.json @@ -17,6 +17,7 @@ }, "scripts": { "dev": "vite", + "build": "vite build", "preview": "vite preview" }, "main": "src/index.css", diff --git a/packages/tailwindcss/project.json b/packages/tailwindcss/project.json index 6f1801755a..2b75bc8d36 100644 --- a/packages/tailwindcss/project.json +++ b/packages/tailwindcss/project.json @@ -5,6 +5,7 @@ "projectType": "library", "targets": { "build": { + "dependsOn": ["prepare"], "executor": "@baloise/ds-nx:build-tailwindcss", "outputs": ["{projectRoot}/css"], "options": { @@ -12,6 +13,13 @@ "tokensRoot": "{workspaceRoot}/packages/tokens" } }, + "prepare": { + "executor": "nx:run-commands", + "options": { + "cwd": "{projectRoot}", + "command": "npm run build" + } + }, "link": { "executor": "nx:run-commands", "options": { diff --git a/packages/tailwindcss/src/index.css b/packages/tailwindcss/src/index.css index 47162d98af..5bf67c811d 100644 --- a/packages/tailwindcss/src/index.css +++ b/packages/tailwindcss/src/index.css @@ -5,4 +5,4 @@ @import 'tailwindcss'; @import './theme'; @import './layer'; -@import '../css/utilities'; +@import './utilities'; diff --git a/packages/tailwindcss/src/utilities.css b/packages/tailwindcss/src/utilities.css new file mode 100644 index 0000000000..ef0c88b62a --- /dev/null +++ b/packages/tailwindcss/src/utilities.css @@ -0,0 +1,23 @@ +@import '../css/utilities'; + +@layer utilities { + .border-none { + border: none !important; + } + + .border-top-none { + border-top: none !important; + } + + .border-bottom-none { + border-bottom: none !important; + } + + .border-left-none { + border-left: none !important; + } + + .border-right-none { + border-right: none !important; + } +} diff --git a/packages/tailwindcss/test/css-border.visual.html b/packages/tailwindcss/test/css-border.visual.html new file mode 100644 index 0000000000..f683d5c454 --- /dev/null +++ b/packages/tailwindcss/test/css-border.visual.html @@ -0,0 +1,91 @@ + + + + + + + + + + + +
+
+
None
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Primary
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Grey
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Grey dark
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Warning
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Success
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Danger
+
Top
+
Left
+
Right
+
Bottom
+
+
+
Primary light
+
Top
+
Left
+
Right
+
Bottom
+
+
+
White
+
Top
+
Left
+
Right
+
Bottom
+
+
+ + diff --git a/packages/tailwindcss/test/css-color.visual.html b/packages/tailwindcss/test/css-color.visual.html new file mode 100644 index 0000000000..5a560bbd44 --- /dev/null +++ b/packages/tailwindcss/test/css-color.visual.html @@ -0,0 +1,139 @@ + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + diff --git a/packages/tailwindcss/test/css-core.visual.html b/packages/tailwindcss/test/css-core.visual.html new file mode 100644 index 0000000000..e82f5fb0e5 --- /dev/null +++ b/packages/tailwindcss/test/css-core.visual.html @@ -0,0 +1,641 @@ + + + + + + + + + + + +
+
+
+

Grid

+
+
1
+
2
+
AUTO
+
+
+
+

Text Colors

+

Default - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+

Light-Blue / Hover - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+

Blue-Dark / Active - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+

Grey / Disabled - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+

Hint / Help - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+

Success / Valid - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+

Warning - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+

Danger / Valid - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

+
+
+

Shadow Text & Button

+

Title

+

Paragraph

+ +
+
+

List

+
    +
  • List Item 1
  • +
  • List Item 2
  • +
  • + Lorem ipsum dolor sit amet consectetur adipisicing elit. A vitae veniam debitis blanditiis nisi, + voluptatem non praesentium corporis accusantium nihil, magnam quisquam! Consequuntur corrupti fuga + dolorem. Laudantium deserunt voluptatibus inventore. +
  • +
+
    +
  • List Item 1
  • +
  • List Item 2
  • +
  • + Lorem ipsum dolor sit amet consectetur adipisicing elit. A vitae veniam debitis blanditiis nisi, + voluptatem non praesentium corporis accusantium nihil, magnam quisquam! Consequuntur corrupti fuga + dolorem. Laudantium deserunt voluptatibus inventore. +
  • +
+
    +
  • List Item 1
  • +
  • List Item 2
  • +
  • + Lorem ipsum dolor sit amet consectetur adipisicing elit. Soluta, nemo vero. Ex amet beatae veniam + veritatis vitae, labore saepe sed earum. Omnis repellendus, voluptates doloremque necessitatibus alias + mollitia accusamus commodi! +
  • +
+
    +
  1. List Item 1
  2. +
  3. List Item 2
  4. +
  5. + Lorem ipsum dolor sit, amet consectetur adipisicing elit. Minima fuga, quod nobis id neque sit dolor + debitis explicabo quisquam cum iure, quia temporibus velit? Ipsa aut aliquam tempore repudiandae vero. +
  6. +
+
    +
  • List Item 1
  • +
  • List Item 2
  • +
  • + Lorem ipsum dolor sit, amet consectetur adipisicing elit. Minima fuga, quod nobis id neque sit dolor + debitis explicabo quisquam cum iure, quia temporibus velit? Ipsa aut aliquam tempore repudiandae vero. +
  • +
+
    +
  • List Item 1
  • +
  • List Item 2
  • +
  • + Lorem ipsum dolor sit, amet consectetur adipisicing elit. Minima fuga, quod nobis id neque sit dolor + debitis explicabo quisquam cum iure, quia temporibus velit? Ipsa aut aliquam tempore repudiandae vero. +
  • +
+
+
+

Border & Radius

+
Blue / None
+
Normal / Small
+
Hover / Normal
+
Active / Large
+
Valid / Rounded
+
Invalid / Rounded
+
Warning / Rounded
+
Disabled / Rounded
+
+
+

Typography

+
+
+

Display

+

Display-2

+
+
+

Display

+

Display-2

+
+
+ +
+
+

Title 1

+

Title 2

+

Title 3

+

Title 4

+
Title 5
+
+
+

Subtitle 1

+

Subtitle 2

+

Subtitle 3

+

Subtitle 4

+
Subtitle 5
+
+
+ +
+
+

lead-text

+

block-text

+

normal

+

small-text

+

x-small-text

+
+
+

bold

+ Link +
+
+
+
+

Table

+ + + + + + + + + + + +
IDName
1Tony Stark
+
+
+

Form

+
+ +
+ +
+

This username is available

+
+
+ +
+ +
+

This username is available

+
+
+ +
+ +
+

This username is available

+
+
+ +
+ +
+

This username is available

+
+
+ +
+ +
+

This username is available

+
+
+ +
+ +
+

This username is available

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+

Button

+

Colors

+
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+

Modifiers

+
+ + + +
+
+ +
+
+ +
+
+ + + +
+
+
+

Colors

+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
1
+
2
+
3
+
4
+
5
+
6
+
+
+
+
+ + diff --git a/packages/tailwindcss/test/css-display.visual.html b/packages/tailwindcss/test/css-display.visual.html new file mode 100644 index 0000000000..30489e0724 --- /dev/null +++ b/packages/tailwindcss/test/css-display.visual.html @@ -0,0 +1,135 @@ + + + + + + + + + + + +
+
+
+
Block 1
+
Block 2
+
+
+
Block mobile 1
+
Block mobile 2
+
+
+
Block tablet 1
+
Block tablet 2
+
+
+
Block desktop 1
+
Block desktop 2
+
+
+
+
+
Flex 1
+
Flex 2
+
+
+
Flex mobile 1
+
Flex mobile 2
+
+
+
Flex tablet 1
+
Flex tablet 2
+
+
+
Flex desktop 1
+
Flex desktop 2
+
+
+
+
+
Inline 1
+
Inline 2
+
+
+
Inline mobile 1
+
Inline mobile 2
+
+
+
Inline tablet 1
+
Inline tablet 2
+
+
+
Inline desktop 1
+
Inline desktop 2
+
+
+
+
+
Inline block 1
+
Inline block 2
+
+
+
Inline block mobile 1
+
Inline block mobile 2
+
+
+
Inline block tablet 1
+
Inline block tablet 2
+
+
+
Inline block desktop 1
+
Inline block desktop 2
+
+
+
+
+
Inline flex 1
+
Inline flex 2
+
+
+
Inline flex mobile 1
+
Inline flex mobile 2
+
+
+
Inline flex tablet 1
+
Inline flex tablet 2
+
+
+
Inline flex desktop 1
+
Inline flex desktop 2
+
+
+
+ +
Hidden mobile
+
Hidden tablet
+
Hidden tablet only
+
Hidden touch
+
Hidden desktop
+
Hidden desktop only
+
Hidden high definition
+
Hidden high definition only
+
Hidden widescreen
+
Hidden widescreen only
+
Hidden fullhd
+
+
+ + diff --git a/packages/tailwindcss/test/css-flex.visual.html b/packages/tailwindcss/test/css-flex.visual.html new file mode 100644 index 0000000000..3114adea04 --- /dev/null +++ b/packages/tailwindcss/test/css-flex.visual.html @@ -0,0 +1,300 @@ + + + + + + + + + + + +
+
+
+
Flex direction row 1
+
Flex direction row 2
+
+
+
Flex direction row reverse 1
+
Flex direction row reverse 2
+
+
+
Flex direction column 1
+
Flex direction column 2
+
+
+
Flex direction column reverse 1
+
Flex direction column reverse 2
+
+
+ +
+
+
Flex wrap - nowrap 1
+
Flex wrap - nowrap 2
+
Flex wrap - nowrap 3
+
Flex wrap - nowrap 4
+
Flex wrap - nowrap 5
+
+
+
Flex wrap - wrap 1
+
Flex wrap - wrap 2
+
Flex wrap - wrap 3
+
Flex wrap - wrap 4
+
Flex wrap - wrap 5
+
+
+
Flex wrap - wrap reverse 1
+
Flex wrap - wrap reverse 2
+
Flex wrap - wrap reverse 3
+
Flex wrap - wrap reverse 4
+
Flex wrap - wrap reverse 5
+
+
+ +
+
+
Justify content flex start
+
+
+
Justify content flex end
+
+
+
Justify content center
+
+
+
Justify content space between
+
Justify content space between
+
+
+
Justify content space around
+
Justify content space around
+
+
+
Justify content space evenly
+
Justify content space evenly
+
+
+
Justify content start
+
+
+
Justify content end
+
+
+
Justify content left
+
+
+
Justify content right
+
+
+ +
+
+
Align content flex start 1
+
Align content flex start 2
+
Align content flex start 3
+
+
+
Align content flex end 1
+
Align content flex end 2
+
Align content flex end 3
+
+
+
Align content center 1
+
Align content center 2
+
Align content center 3
+
+
+
Align content space between 1
+
Align content space between 2
+
Align content space between 3
+
+
+
Align content space around 1
+
Align content space around 2
+
Align content space around 3
+
+
+
Align content space evenly 1
+
Align content space evenly 2
+
Align content space evenly 3
+
+
+
Align content stretch
+
+
+
Align content start 1
+
Align content start 2
+
+
+
Align content end 1
+
Align content end 2
+
+
+
Align content baseline
+
+
+ +
+
+
Align items flex start 1
+
Align items flex start 2
+
Align items flex start 3
+
+
+
Align items flex end 1
+
Align items flex end 2
+
Align items flex end 3
+
+
+
Align items center
+
+
+
Align items self start 1
+
Align items self start 2
+
+
+
Align items self end 1
+
Align items self end 2
+
+
+
Align items stretch
+
+
+
Align items start 1
+
Align items start 2
+
+
+
Align items end 1
+
Align items end 2
+
+
+
Align items baseline
+
+
+ +
+
+
Align self auto 1
+
Align items flex end 2
+
Align items flex end 3
+
+
+
Align self flex start 1
+
Align items flex end 2
+
Align items flex end 3
+
+
+
Align self flex end 1
+
Align items flex start 2
+
Align items flex start 3
+
+
+
Align self center 1
+
Align items flex start 2
+
+
+
Align self baseline 1
+
Align items flex end 2
+
Align items flex end 3
+
+
+
Align self stretch 1
+
Align items flex end 2
+
Align items flex end 3
+
+
+ +
+
+
Flex grow 1
+
Flex grow 2
+
Flex grow 3
+
+
+ +
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
Gap 1
+
Gap 2
+
Gap 3
+
Gap 4
+
+
+
+ + diff --git a/packages/tailwindcss/test/css-grid.visual.html b/packages/tailwindcss/test/css-grid.visual.html new file mode 100644 index 0000000000..397a7e56f0 --- /dev/null +++ b/packages/tailwindcss/test/css-grid.visual.html @@ -0,0 +1,233 @@ + + + + + + + + + + + +
+
+
+
+
First column
+
+
+
Second column
+
+
+
Third column
+
+
+
Fourth column
+
+
+
+ +
+
+
+
Full column
+
+
+
Half column
+
+
+
Half column
+
+
+
1 Third column
+
+
+
2 Thirds column
+
+
+
1 quarter column
+
+
+
3 quarters column
+
+
+
1 fifth column
+
+
+
4 fifth column
+
+ +
+
12
+
+
+
11
+
+
+
1
+
+
+
10
+
+
+
2
+
+
+
9
+
+
+
3
+
+
+
8
+
+
+
4
+
+
+
7
+
+
+
5
+
+
+
6
+
+
+
6
+
+
+
+ +
+
+
+
1 Third column
+
+
+
3 quarters offset
+
+
+
+ +
+
+
+
First row
+
+
+
Second row
+
+
+
+ +
+
+
+
Half
+
+
+
+
+
Half
+
+
+
Half
+
+
+
+
+
+ +
+
+
+
First column
+
+
+
Second column
+
+
+
Third column
+
+
+
Fourth column
+
+
+
+ +
+
+
+
+ is-three-quarters-mobile
+ is-two-thirds-tablet
+ is-half-desktop
+ is-one-third-widescreen
+ is-one-quarter-fullhd +
+
+
+
auto
+
+
auto
+
auto
+
+
+ +
+
+
+
First column
+
+
+
+ Second column with some random large text to make a good case here. Unfortunately, we need more content to + make it visible that the first column is now vertically centered. +
+
+
+
+ +
+
+
+
My centered column
+
+
+
+ +
+
+
+
Stretches to the full height of the row
+
+
+
+ Second column with some random large text to make a good case here. Unfortunately, we need more content to + make it visible that the first column is now vertically centered. +
+
+
+
+ Second column with some random large text to make a good case here. Unfortunately, we need more content to + make it visible that the first column is now vertically centered. +
+
+
+
Stretches to the full height of the row
+
+
+
+
+ + diff --git a/packages/tailwindcss/test/css-inheritance.visual.html b/packages/tailwindcss/test/css-inheritance.visual.html new file mode 100644 index 0000000000..085ad3438f --- /dev/null +++ b/packages/tailwindcss/test/css-inheritance.visual.html @@ -0,0 +1,70 @@ + + + + + + + + + + + +
+
+
+
+
+
+
+
+
Primary
+
+
+
+
Flex 1
+
Flex 2
+
+
+
+
50
+
+
+

Shadow Title 4

+
+
+ + diff --git a/packages/tailwindcss/test/css-opacity.visual.html b/packages/tailwindcss/test/css-opacity.visual.html new file mode 100644 index 0000000000..b452b18d07 --- /dev/null +++ b/packages/tailwindcss/test/css-opacity.visual.html @@ -0,0 +1,39 @@ + + + + + + + + + + + +
+
+
0
+
30
+
40
+
50
+
60
+
80
+
1
+
+
+ + diff --git a/packages/tailwindcss/test/css-radius.visual.html b/packages/tailwindcss/test/css-radius.visual.html new file mode 100644 index 0000000000..1980a733a4 --- /dev/null +++ b/packages/tailwindcss/test/css-radius.visual.html @@ -0,0 +1,69 @@ + + + + + + + + + + + +
+
+
Default
+
None
+
Top none
+
Left none
+
Right none
+
Bottom none
+
+ +
+
Default
+
Normal
+
Top normal
+
Left normal
+
Right normal
+
Bottom normal
+
+ +
+
Default
+
Large
+
Top large
+
Left large
+
Right large
+
Bottom large
+
+ +
+
Default
+
Rounded
+
Top rounded
+
Left rounded
+
Right rounded
+
Bottom rounded
+
+
+ + diff --git a/packages/tailwindcss/test/css-shadow.visual.html b/packages/tailwindcss/test/css-shadow.visual.html new file mode 100644 index 0000000000..db8ce5afc9 --- /dev/null +++ b/packages/tailwindcss/test/css-shadow.visual.html @@ -0,0 +1,37 @@ + + + + + + + + + + + +
+
+
+
+
+
+
+

Title 4

+

Title 4

+
+
+ + diff --git a/packages/tailwindcss/test/css-spacing.visual.html b/packages/tailwindcss/test/css-spacing.visual.html new file mode 100644 index 0000000000..9918303fd6 --- /dev/null +++ b/packages/tailwindcss/test/css-spacing.visual.html @@ -0,0 +1,256 @@ + + + + + + + + + + + +
+
+
+ xx-large +
+ x-large +
+ large +
+ medium +
+ normal +
+ small +
+ x-small +
+ xx-small +
Spacing with Paddings
+
+
+
+
+
+
+
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+ xx-large +
+ x-large +
+ large +
+ medium +
+ normal +
+ small +
+ x-small +
+ xx-small +
Spacing with Margins
+ xx-small +
+ x-small +
+ small +
+ normal +
+ medium +
+ large +
+ x-large +
+ xx-large +
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+ +
+
+
xx-large
+
x-large
+
large
+
medium
+
normal
+
small
+
x-small
+
xx-small
+
none
+
+
+
+ + diff --git a/packages/tailwindcss/test/css-structure.visual.html b/packages/tailwindcss/test/css-structure.visual.html new file mode 100644 index 0000000000..b36a9cba06 --- /dev/null +++ b/packages/tailwindcss/test/css-structure.visual.html @@ -0,0 +1,65 @@ + + + + + + + + + + + + + +
+
+

Normal

+ Link +
+

small

+

strong

+

bold

+
+
+
+

+ Strong Bold ipsum dolor, sit amet consectetur adipisicing elit. Magnam, eum, at + libero sunt quas autem, dolor eius reiciendis quis unde repellendus officia voluptatem ullam quasi + expedita amet rem delectus accusamus! +

+ Link + Link + Span +

Native Heading 1

+

Native Title 1

+

Native Subtile 1

+ Bal Heading + Bal Text + Bal Label +
+
+

+ Strong Bold ipsum dolor, sit amet consectetur adipisicing elit. Magnam, eum, at + libero sunt quas autem, dolor eius reiciendis quis unde repellendus officia voluptatem ullam quasi + expedita amet rem delectus accusamus! +

+ Link + Link + Span +

Native Heading 1

+

Native Title 1

+

Native Subtile 1

+ Bal Heading + Bal Text + Bal Label +
+
+
+
+ + diff --git a/packages/tailwindcss/test/css-typography.visual.html b/packages/tailwindcss/test/css-typography.visual.html new file mode 100644 index 0000000000..8cb860a374 --- /dev/null +++ b/packages/tailwindcss/test/css-typography.visual.html @@ -0,0 +1,119 @@ + + + + + + + + + + + +
+
+
+
+

Display

+

Display-2

+
+
+

Display

+

Display-2

+
+
+
+
+
+
+

Title 1

+

Title 2

+

Title 3

+

Title 4

+
Title 5
+ +
+
+

Subtitle 1

+

Subtitle 2

+

Subtitle 3

+

Subtitle 4

+
Subtitle 5
+
+
+
+
+
+
+

lead-text

+

block-text

+

normal

+

small-text

+

x-small-text

+
+
+

bold

+ Link +
+
+
+
+

has-text-primary

+

has-text-white

+

has-text-black

+

has-text-grey-dark

+

has-text-grey

+

has-text-light-blue

+

has-text-primary-dark

+

has-text-primary-light

+

has-text-success

+

has-text-info

+

has-text-warning

+

has-text-danger

+
+
+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus perferendis officia + minus voluptatum deserunt excepturi eius doloribus atque fuga, soluta, culpa cum maiores hic quos id sunt! + Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus perferendis officia + minus voluptatum deserunt excepturi eius doloribus atque fuga, soluta, culpa cum maiores hic quos id sunt! +

+

+ has-no-wrap Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus + perferendis officia minus voluptatum deserunt excepturi eius doloribus atque fuga, soluta, culpa cum maiores + hic quos id sunt! Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus + perferendis officia minus voluptatum deserunt excepturi eius doloribus atque fuga, soluta, culpa cum maiores + hic quos id sunt! +

+

is-capitalized

+

is-lowercase

+

is-uppercase

+ +

is-family-text

+

has-text-weight-light

+

has-text-weight-normal

+

has-text-weight-bold

+ +

is-family-title

+

has-text-weight-light

+

has-text-weight-normal

+

has-text-weight-bold

+
+
+

has-text-centered

+

has-text-justified

+

has-text-left

+

has-text-right

+ +

has-text-centered

+

has-text-justified

+

has-text-left

+

has-text-right

+
+
+ + From e71374f1e7381d1bfb7dbc3766bfc2621b5dc78c Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Wed, 7 May 2025 16:34:02 +0200 Subject: [PATCH 11/18] chore: add variants --- packages/tailwindcss/src/index.css | 2 ++ packages/tailwindcss/src/variant.css | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 packages/tailwindcss/src/variant.css diff --git a/packages/tailwindcss/src/index.css b/packages/tailwindcss/src/index.css index 5bf67c811d..ce8710b4a4 100644 --- a/packages/tailwindcss/src/index.css +++ b/packages/tailwindcss/src/index.css @@ -4,5 +4,7 @@ @import 'tailwindcss'; @import './theme'; +@import './variant'; @import './layer'; @import './utilities'; + diff --git a/packages/tailwindcss/src/variant.css b/packages/tailwindcss/src/variant.css new file mode 100644 index 0000000000..6a7b5d5924 --- /dev/null +++ b/packages/tailwindcss/src/variant.css @@ -0,0 +1,11 @@ +@custom-variant mobile { + @media (max-width: 768px) { + @slot; + } +} + +@custom-variant touch { + @media (max-width: 1023px) { + @slot; + } +} From eec5d05cf1056b61e4f19ac46e987c106fd3751f Mon Sep 17 00:00:00 2001 From: Daniel Battaglia Date: Wed, 7 May 2025 17:47:26 +0200 Subject: [PATCH 12/18] chore: add gaps to spacing --- libs/nx/src/executors/build-tailwindcss/generators/spacing.ts | 3 ++- packages/tailwindcss/src/utilities.css | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts index b43d5333c8..996127f7c4 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts @@ -12,8 +12,9 @@ export const generateSpacing = async (options: BuildTailwindcssExecutorSchema) = const paddings = PADDINGS.map(prefix => generateSpacingWithPrefix(prefix, tokens)) const margins = MARGINS.map(prefix => generateSpacingWithPrefix(prefix, tokens)) + const gaps = generateSpacingWithPrefix('gap', tokens) - return [paddings, margins].join(NEWLINE + NEWLINE) + NEWLINE + NEWLINE + return [paddings, margins, gaps].join(NEWLINE + NEWLINE) + NEWLINE + NEWLINE } const generateSpacingWithPrefix = (prefix, tokens) => { diff --git a/packages/tailwindcss/src/utilities.css b/packages/tailwindcss/src/utilities.css index ef0c88b62a..182cfabe09 100644 --- a/packages/tailwindcss/src/utilities.css +++ b/packages/tailwindcss/src/utilities.css @@ -20,4 +20,8 @@ .border-right-none { border-right: none !important; } + + .gap-none { + gap: 0 !important; + } } From 94e5589a1b95df6770dbe40f5819beb68a49aa71 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Thu, 8 May 2025 16:58:12 +0200 Subject: [PATCH 13/18] chore: finish migrations script --- package-lock.json | 161 +++-- packages/tailwindcss/bin/index.mjs | 627 +++++++++++++++++- packages/tailwindcss/package.json | 7 +- packages/tailwindcss/project.json | 2 +- packages/tailwindcss/src/index.css | 1 - packages/tailwindcss/src/utilities.css | 20 + .../tailwindcss/test/css-core.visual.html | 2 +- .../tailwindcss/test/css-display.visual.html | 4 - .../tailwindcss/test/css-flex.visual.html | 86 +-- .../test/css-typography.visual.html | 28 +- packages/tailwindcss/todo.md | 6 +- 11 files changed, 835 insertions(+), 109 deletions(-) diff --git a/package-lock.json b/package-lock.json index 32c760583f..664a30a02b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -121,13 +121,13 @@ } }, "docs": { - "version": "15.2.35", + "version": "15.2.36", "dependencies": { - "@baloise/ds-brand-icons": "18.3.0", - "@baloise/ds-core": "18.3.0", - "@baloise/ds-icons": "18.3.0", - "@baloise/ds-styles": "18.3.0", - "@baloise/ds-tokens": "18.3.0", + "@baloise/ds-brand-icons": "19.0.0", + "@baloise/ds-core": "19.0.0", + "@baloise/ds-icons": "19.0.0", + "@baloise/ds-styles": "19.0.0", + "@baloise/ds-tokens": "19.0.0", "@storybook/addon-essentials": "~7.6.10", "@storybook/addon-links": "~7.6.10", "@storybook/blocks": "~7.6.10", @@ -165,11 +165,11 @@ } }, "e2e": { - "version": "15.2.35", + "version": "15.2.36", "hasInstallScript": true, "dependencies": { - "@baloise/ds-core": "18.3.0", - "@baloise/ds-testing": "18.3.0", + "@baloise/ds-core": "19.0.0", + "@baloise/ds-testing": "19.0.0", "@cypress/mount-utils": "^4.1.0", "axe-core": "~4.8.4", "compression": "~1.7.4", @@ -367,7 +367,7 @@ }, "libs/nx": { "name": "@baloise/ds-nx", - "version": "18.3.0", + "version": "19.0.0", "dependencies": { "@nx/devkit": "18.0.4", "archiver": "~6.0.1", @@ -16586,6 +16586,15 @@ "@types/estree": "*" } }, + "node_modules/@types/esquery": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/esquery/-/esquery-1.5.4.tgz", + "integrity": "sha512-yYO4Q8H+KJHKW1rEeSzHxcZi90durqYgWVfnh5K6ZADVBjBv2e1NEveYX5yT2bffgN7RqzH3k9930m+i2yBoMA==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -49491,11 +49500,11 @@ }, "packages/angular": { "name": "@baloise/ds-angular", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { - "@baloise/ds-angular-common": "18.3.0", - "@baloise/ds-core": "18.3.0", + "@baloise/ds-angular-common": "19.0.0", + "@baloise/ds-core": "19.0.0", "tslib": "~2.3.0" }, "peerDependencies": { @@ -49506,10 +49515,10 @@ }, "packages/angular-common": { "name": "@baloise/ds-angular-common", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { - "@baloise/ds-core": "18.3.0" + "@baloise/ds-core": "19.0.0" }, "peerDependencies": { "@angular/core": ">=17.0.0", @@ -49519,11 +49528,11 @@ }, "packages/angular-module": { "name": "@baloise/ds-angular-module", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { - "@baloise/ds-angular-common": "18.3.0", - "@baloise/ds-core": "18.3.0" + "@baloise/ds-angular-common": "19.0.0", + "@baloise/ds-core": "19.0.0" }, "peerDependencies": { "@angular/common": ">=17.0.0", @@ -49532,16 +49541,16 @@ }, "packages/brand-icons": { "name": "@baloise/ds-brand-icons", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0" }, "packages/core": { "name": "@baloise/ds-core", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { - "@baloise/ds-icons": "18.3.0", - "@baloise/ds-styles": "18.3.0", + "@baloise/ds-icons": "19.0.0", + "@baloise/ds-styles": "19.0.0", "@baloise/web-app-utils": "3.15.0", "@floating-ui/dom": "~1.6.3", "@popperjs/core": "~2.11.4", @@ -49563,9 +49572,9 @@ "tslib": "2.1.0" }, "devDependencies": { - "@baloise/ds-brand-icons": "18.3.0", - "@baloise/ds-favicons": "18.3.0", - "@baloise/ds-maps": "18.3.0", + "@baloise/ds-brand-icons": "19.0.0", + "@baloise/ds-favicons": "19.0.0", + "@baloise/ds-maps": "19.0.0", "@baloise/output-target-angular": "0.0.0", "@baloise/output-target-react": "0.0.0", "@baloise/output-target-web": "0.0.0" @@ -49597,7 +49606,7 @@ }, "packages/devkit": { "name": "@baloise/ds-devkit", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { "@angular-devkit/core": "^17.0.10", @@ -49711,39 +49720,39 @@ }, "packages/favicons": { "name": "@baloise/ds-favicons", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0" }, "packages/fonts": { "name": "@baloise/ds-fonts", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0" }, "packages/icons": { "name": "@baloise/ds-icons", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0" }, "packages/maps": { "name": "@baloise/ds-maps", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0" }, "packages/react": { "name": "@baloise/ds-react", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { - "@baloise/ds-core": "18.3.0" + "@baloise/ds-core": "19.0.0" } }, "packages/styles": { "name": "@baloise/ds-styles", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { - "@baloise/ds-fonts": "18.3.0", - "@baloise/ds-tokens": "18.3.0", + "@baloise/ds-fonts": "19.0.0", + "@baloise/ds-tokens": "19.0.0", "@phenomnomnominal/tsquery": "6.1.3", "cheerio": "1.0.0-rc.12", "glob": "10.3.10", @@ -49821,11 +49830,11 @@ }, "packages/table": { "name": "@baloise/ds-table", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { - "@baloise/ds-core": "18.3.0", - "@baloise/ds-styles": "18.3.0" + "@baloise/ds-core": "19.0.0", + "@baloise/ds-styles": "19.0.0" }, "peerDependencies": { "ag-grid-community": ">=29.3.0" @@ -49838,6 +49847,11 @@ "dependencies": { "@baloise/ds-fonts": "18.3.0", "@baloise/ds-tokens": "18.3.0", + "@phenomnomnominal/tsquery": "6.1.3", + "cheerio": "1.0.0-rc.12", + "glob": "10.3.10", + "prompts": "2.4.2", + "replace-in-file": "7.1.0", "tailwindcss": "^4.1.5" }, "bin": { @@ -49848,6 +49862,18 @@ "vite": "^6.3.5" } }, + "packages/tailwindcss/node_modules/@baloise/ds-fonts": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@baloise/ds-fonts/-/ds-fonts-18.3.0.tgz", + "integrity": "sha512-pV+px6VLPmEc85FklzQE+3zqdmvDQNnMGUtcIUOly/ykLaK9TCYE1R71+TA5L29dtYgE9cWhYDAYeBGa9J9w8g==", + "license": "Apache-2.0" + }, + "packages/tailwindcss/node_modules/@baloise/ds-tokens": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@baloise/ds-tokens/-/ds-tokens-18.3.0.tgz", + "integrity": "sha512-n8rUOmKEsB+CcIBeOXpgP7KeDuATaJZc//8Vv05dhKxBgsjzSn1B0T1wwN2ZVOSrW1RsjfEE8W1qlWjG6VLSSQ==", + "license": "Apache-2.0" + }, "packages/tailwindcss/node_modules/@esbuild/android-arm": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", @@ -50222,6 +50248,19 @@ "node": ">=18" } }, + "packages/tailwindcss/node_modules/@phenomnomnominal/tsquery": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-6.1.3.tgz", + "integrity": "sha512-CEqpJ872StsxRmwv9ePCZ4BCisrJSlREUC5XxIRYxhvODt4aQoJFFmjTgaP6meyKiiXxxN/VWPZ58j4yHXRkmw==", + "license": "MIT", + "dependencies": { + "@types/esquery": "^1.5.0", + "esquery": "^1.5.0" + }, + "peerDependencies": { + "typescript": "^3 || ^4 || ^5" + } + }, "packages/tailwindcss/node_modules/@tailwindcss/vite": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.5.tgz", @@ -50278,6 +50317,46 @@ "@esbuild/win32-x64": "0.25.4" } }, + "packages/tailwindcss/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/tailwindcss/node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "packages/tailwindcss/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", @@ -50403,15 +50482,15 @@ }, "packages/testing": { "name": "@baloise/ds-testing", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0", "dependencies": { - "@baloise/ds-core": "18.3.0" + "@baloise/ds-core": "19.0.0" } }, "packages/tokens": { "name": "@baloise/ds-tokens", - "version": "18.3.0", + "version": "19.0.0", "license": "Apache-2.0" } } diff --git a/packages/tailwindcss/bin/index.mjs b/packages/tailwindcss/bin/index.mjs index b591c75f00..61c5a4df81 100755 --- a/packages/tailwindcss/bin/index.mjs +++ b/packages/tailwindcss/bin/index.mjs @@ -1,3 +1,628 @@ #!/usr/bin/env node +import { load } from 'cheerio' +import fs from 'fs' +import path from 'path' +import prompts from 'prompts' +import replace from 'replace-in-file' -console.log('This is a placeholder for the Tailwind CSS CLI.') +// ================================================================================ +// MAIN +// ================================================================================ +const main = async () => { + const log = logger('Tailwindcss Migration') + const response = await prompts([ + { + type: 'multiselect', + name: 'targets', + message: 'What do you want to migrate', + choices: [ + { + title: 'html templates (*.html)', + value: 'HTML', + selected: true, + }, + { + title: 'Global stylesheet', + value: 'GLOBAL_STYLES', + selected: false, + }, + { + title: 'inline templates (angular - *.ts)', + value: 'INLINE', + selected: false, + }, + ], + instructions: false, + }, + { + type: (_prev, { targets }) => + targets.includes('HTML') || targets.includes('INLINE') || targets.includes('SCSS') ? 'text' : null, + name: 'pathToComponentFiles', + message: 'Where are your html template files located?', + // initial: path.join('src', 'app'), + initial: path.join('test'), + }, + { + type: (_prev, { targets }) => (targets.includes('CSS_VARIABLES') ? 'text' : null), + name: 'pathToStylesheets', + message: 'Where are your scss style files located?', + initial: path.join('src'), + }, + { + type: (_prev, { targets }) => (targets.includes('GLOBAL_STYLES') ? 'text' : null), + name: 'pathGlobalStylesheet', + message: 'Where is your global stylesheet located, with the imports?', + initial: path.join('src', 'styles.scss'), + }, + ]) + + log.info() + log.start() + log.info() + + const { targets, utils, pathGlobalStylesheet, pathToComponentFiles, pathToStylesheets } = response + + const filePath = path.join(process.cwd(), `${(pathToComponentFiles || 'src/app').trim()}`) + const globalStyleSheetPath = path.join(process.cwd(), `${(pathGlobalStylesheet || 'src/styles.scss').trim()}`) + + const isDirectory = await isDirectoryFn({ filePath }) + const directoryPath = isDirectory ? filePath : path.dirname(filePath) + + let isFile = false + if ((targets.includes('HTML') || targets.includes('SCSS') || targets.includes('INLINE')) && !isDirectory) { + try { + isFile = await isFileFn({ filePath }) + } catch (error) { + log.fail(`Could not find directory or file at ${filePath}`, error) + return exit() + } + } + + let doesGlobalStylesheetExist = false + if (targets.includes('GLOBAL_STYLES')) { + try { + doesGlobalStylesheetExist = await isFileFn({ + filePath: globalStyleSheetPath, + }) + } catch (error) { + log.info(`Could not find global stylesheet at ${globalStyleSheetPath}`, error) + } + } + + const extension = path.extname(filePath) + const context = { + log, + isDirectory, + directoryPath, + isFile, + filePath, + extension, + utils, + targets, + globalStyleSheetPath, + } + + if (targets.includes('INLINE') || targets.includes('HTML')) { + const utilReplacers = filterReplacers(context) + + // if (targets.includes('INLINE')) { + // await migrateInlineTemplates({ ...context, utilReplacers }) + // } + + if (targets.includes('HTML')) { + await migrateHtmlFiles({ ...context, utilReplacers }) + } + } + + log.succeed() + return done() +} + +// ================================================================================ +// UTILITIES +// ================================================================================ + +async function migrateHtmlFiles({ filePath, log, utilReplacers }) { + // check if path is directly one file + const isFile = filePath.trim().endsWith('.html') + let files = filePath + if (!isFile) { + files = path.join(`${files}`, '**', '*.html') + } + + try { + const results = [ + await replace({ + files: path.normalize(files), + processor: input => { + const $ = load(input) + let content = input + $('[class]').each((index, element) => { + const classes = $(element).attr('class').split(' ') + + const modifiedClasses = classes.map(className => { + for (let index = 0; index < utilReplacers.from.length; index++) { + const oldClassName = utilReplacers.from[index] + const replacement = utilReplacers.to[index] + if (className.match(escapeRegex(oldClassName))) { + return className.replace(oldClassName, replacement) + } + } + return className + }) + + content = content.replace(`class="${classes.join(' ')}"`, `class="${modifiedClasses.join(' ')}"`) + }) + + return content + }, + allowEmptyPaths: true, + glob: { + windowsPathsNoEscape: true, + }, + }), + ] + + let changedFiles = results + .flat() + .filter(result => result.hasChanged) + .map(result => result.file.replace(process.cwd(), '')) + + changedFiles = changedFiles.filter((item, index) => changedFiles.indexOf(item) === index) + + if (changedFiles.length > 0) { + changedFiles.forEach(file => log.list(file)) + } + log.info() + } catch (error) { + log.info() + log.fail(error) + return Promise.reject() + } finally { + return Promise.resolve() + } +} + +function replaceHtml({ template, from, to }) { + const $ = load(template) + let newTemplate = template + $('[class]').each((index, element) => { + const classes = $(element).attr('class').split(' ') + + const modifiedClasses = classes.map(className => { + for (let index = 0; index < from.length; index++) { + const oldClassName = from[index] + const replacement = to[index] + if (className.match(escapeRegex(oldClassName))) { + return className.replace(oldClassName, replacement) + } + } + return className + }) + + newTemplate = newTemplate.replace(`class="${classes.join(' ')}"`, `class="${modifiedClasses.join(' ')}"`) + }) + + return newTemplate +} + +function printResult({ result, log }) { + // filter for only change files and return the path + let changedFiles = result + .flat() + .filter(result => result.hasChanged) + .map(result => result.file.replace(process.cwd(), '')) + + // remove duplications + changedFiles = changedFiles.filter((item, index) => changedFiles.indexOf(item) === index) + + if (changedFiles.length > 0) { + changedFiles.forEach(file => log.list(file)) + } +} + +async function isDirectoryFn({ filePath }) { + try { + const isDirectory = fs.lstatSync(filePath).isDirectory() + return Promise.resolve(isDirectory) + } catch (error) { + return Promise.resolve(false) + } +} + +async function isFileFn({ filePath }) { + try { + const isFile = fs.lstatSync(filePath).isFile() + return Promise.resolve(isFile) + } catch (error) { + return Promise.reject(error) + } +} + +function escapeRegex(string) { + if (typeof string === 'string') { + return string.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&') + } + return string +} + +const breakpointClasses = className => ({ + from: allBreakpoints.map(b => new RegExp(`is-${className}${b ? `-${b}` : ''}`, 'g')), + to: allBreakpoints.map(b => `${b ? `${b}:` : ''}${className}`), +}) + +const spacingClasses = (oldClassName, newClassName) => ({ + from: allSpacingValues.map(s => new RegExp(`${oldClassName}${s ? `-${s}` : ''}`, 'g')), + to: allSpacingValues.map(s => `${newClassName}${s ? `-${s}` : ''}`), +}) + +const exit = () => process.exit(1) +const done = () => process.exit(0) +const log = (message, ...args) => console.log(message, ...args) +const logger = subject => { + let startTime = new Date() + + return { + info: (message, ...args) => { + console.log(message || '', ...args) + }, + start: message => { + startTime = new Date() + log('⏳ ', `${subject} \x1b[90mstarted ...\x1b[0m`, message || '') + }, + succeed: message => { + const endTime = new Date() + const duration = endTime - startTime + const seconds = parseFloat(duration / 1000).toFixed(2) + log('✅ ', `\x1b[32m${subject} \x1b[90mfinished in ${seconds}sec\x1b[0m`, message || '') + }, + fail: message => { + const endTime = new Date() + const duration = endTime - startTime + const seconds = parseFloat(duration / 1000).toFixed(2) + log('❌ ', `\x1b[31m${subject} \x1b[90mfailed after ${seconds}sec\x1b[0m`) + if (message) { + console.error(message) + } + exit() + }, + list: message => { + console.log('\x1b[90mUPDATE\x1b[0m', message) + }, + } +} + +// ================================================================================ +// REPLACEMENTS +// ================================================================================ + +function filterReplacers({ utils }) { + const from = [] + const to = [] + + from.push(replacementsFlexDirections.from) + to.push(replacementsFlexDirections.to) + + from.push(replacementsAlignItems.from) + to.push(replacementsAlignItems.to) + + from.push(replacementsAlignContent.from) + to.push(replacementsAlignContent.to) + + from.push(replacementsAlignSelf.from) + to.push(replacementsAlignSelf.to) + + from.push(replacementsJustifyContent.from) + to.push(replacementsJustifyContent.to) + + from.push(replacementsPosition.from) + to.push(replacementsPosition.to) + + from.push(replacementsVerticalAlign.from) + to.push(replacementsVerticalAlign.to) + + from.push(replacementsHeights.from) + to.push(replacementsHeights.to) + + from.push(replacementsWidths.from) + to.push(replacementsWidths.to) + + from.push(replacementsFontFamily.from) + to.push(replacementsFontFamily.to) + + from.push(replacementsTextAlign.from) + to.push(replacementsTextAlign.to) + + from.push(replacementsFontWeight.from) + to.push(replacementsFontWeight.to) + + from.push(replacementsWhiteSpace.from) + to.push(replacementsWhiteSpace.to) + + return { from: from.flat(), to: to.flat() } +} + +const replacementsFlexDirections = { + from: [ + /^flex-direction-row-reverse$/g, + /^flex-direction-row$/g, + /^flex-direction-column-reverse$/g, + /^flex-direction-column$/g, + ], + to: ['flex-row-reverse', 'flex-row', 'flex-col-reverse', 'flex-col'], +} + +const replacementsAlignItems = { + from: [ + /^align-items-start$/g, + /^align-items-end$/g, + /^align-items-center$/g, + /^align-items-stretch$/g, + /^align-items-baseline$/g, + ], + to: ['items-start', 'items-end', 'items-center', 'items-stretch', 'items-baseline'], +} + +const replacementsAlignContent = { + from: [ + /^align-content-start$/g, + /^align-content-end$/g, + /^align-content-center$/g, + /^align-content-baseline$/g, + /^align-content-space-between$/g, + /^align-content-space-around$/g, + /^align-content-space-evenly$/g, + ], + to: [ + 'content-start', + 'content-end', + 'content-center', + 'content-baseline', + 'content-space-between', + 'content-space-around', + 'content-space-evenly', + ], +} + +const replacementsAlignSelf = { + from: [ + /^align-self-start$/g, + /^align-self-end$/g, + /^align-self-center$/g, + /^align-self-stretch$/g, + /^align-self-baseline$/g, + ], + to: ['self-start', 'self-end', 'self-center', 'self-stretch', 'self-baseline'], +} + +const replacementsJustifyContent = { + from: [ + /^justify-content-start$/g, + /^justify-content-end$/g, + /^justify-content-center$/g, + /^justify-content-space-between$/g, + /^justify-content-space-around$/g, + /^justify-content-space-evenly$/g, + ], + to: ['justify-start', 'justify-end', 'justify-center', 'justify-between', 'justify-around', 'justify-evenly'], +} + +const replacementsPosition = { + from: [ + /^top-50$/g, + /^right-50$/g, + /^bottom-50$/g, + /^left-50$/g, + /^top-100$/g, + /^right-100$/g, + /^bottom-100$/g, + /^left-100$/g, + /^top-1rem$/g, + /^right-1rem$/g, + /^bottom-1rem$/g, + /^left-1rem$/g, + /^top-0-5rem$/g, + /^top-0-25rem$/g, + ], + to: [ + 'top-1/2', + 'right-1/2', + 'bottom-1/2', + 'left-1/2', + 'top-full', + 'right-full', + 'bottom-full', + 'left-full', + 'top-4', + 'right-4', + 'bottom-4', + 'left-4', + 'top-2', + 'top-1', + ], +} + +const replacementsVerticalAlign = { + from: [/^vertical-align-top$/g, /^vertical-align-middle$/g, /^vertical-align-bottom$/g], + to: ['align-top', 'align-middle', 'align-bottom'], +} + +const replacementsHeights = { + from: [ + /^h-1rem$/g, + /^h-2rem$/g, + /^h-3rem$/g, + /^h-4rem$/g, + /^h-5rem$/g, + /^h-6rem$/g, + /^h-7rem$/g, + /^h-8rem$/g, + /^h-9rem$/g, + /^h-10rem$/g, + /^h-11rem$/g, + /^h-12rem$/g, + /^h-13rem$/g, + /^h-14rem$/g, + /^h-15rem$/g, + /^h-16rem$/g, + /^h-17rem$/g, + /^h-18rem$/g, + /^h-19rem$/g, + /^h-20rem$/g, + /^h-21rem$/g, + /^h-22rem$/g, + /^h-23rem$/g, + /^h-24rem$/g, + /^h-25rem$/g, + /^h-26rem$/g, + /^h-27rem$/g, + /^h-28rem$/g, + /^h-29rem$/g, + /^h-30rem$/g, + ], + to: [ + 'h-4', + 'h-8', + 'h-12', + 'h-16', + 'h-20', + 'h-24', + 'h-28', + 'h-32', + 'h-36', + 'h-40', + 'h-44', + 'h-48', + 'h-52', + 'h-56', + 'h-60', + 'h-64', + 'h-68', + 'h-72', + 'h-76', + 'h-80', + 'h-84', + 'h-88', + 'h-92', + 'h-96', + 'h-100', + 'h-104', + 'h-108', + 'h-112', + 'h-116', + 'h-120', + ], +} + +const replacementsWidths = { + from: [ + /^w-12$/g, + /^w-11$/g, + /^w-10$/g, + /^w-9$/g, + /^w-8$/g, + /^w-7$/g, + /^w-6$/g, + /^w-5$/g, + /^w-4$/g, + /^w-3$/g, + /^w-2$/g, + /^w-1$/g, + /^w-1rem$/g, + /^w-2rem$/g, + /^w-3rem$/g, + /^w-4rem$/g, + /^w-5rem$/g, + /^w-6rem$/g, + /^w-7rem$/g, + /^w-8rem$/g, + /^w-9rem$/g, + /^w-10rem$/g, + /^w-11rem$/g, + /^w-12rem$/g, + /^w-13rem$/g, + /^w-14rem$/g, + /^w-15rem$/g, + /^w-16rem$/g, + /^w-17rem$/g, + /^w-18rem$/g, + /^w-19rem$/g, + /^w-20rem$/g, + /^w-21rem$/g, + /^w-22rem$/g, + /^w-23rem$/g, + /^w-24rem$/g, + /^w-25rem$/g, + /^w-26rem$/g, + /^w-27rem$/g, + /^w-28rem$/g, + /^w-29rem$/g, + /^w-30rem$/g, + ], + to: [ + 'w-full', + 'w-11/12', + 'w-5/6', + 'w-3/4', + 'w-2/3', + 'w-7/12', + 'w-1/2', + 'w-5/12', + 'w-1/3', + 'w-1/4', + 'w-1/6', + 'w-1/12', + 'w-4', + 'w-8', + 'w-12', + 'w-16', + 'w-20', + 'w-24', + 'w-28', + 'w-32', + 'w-36', + 'w-40', + 'w-44', + 'w-48', + 'w-52', + 'w-56', + 'w-60', + 'w-64', + 'w-68', + 'w-72', + 'w-76', + 'w-80', + 'w-84', + 'w-88', + 'w-92', + 'w-96', + 'w-100', + 'w-104', + 'w-108', + 'w-112', + 'w-116', + 'w-120', + ], +} + +const replacementsFontFamily = { + from: [/^font-family-title$/g, /^font-family-text$/g], + to: ['font-title', 'font-text'], +} + +const replacementsTextAlign = { + from: [/^text-align-center$/g, /^text-align-left$/g, /^text-align-right$/g, /^text-align-justify$/g], + to: ['text-center', 'text-left', 'text-right', 'text-justify'], +} + +const replacementsFontWeight = { + from: [/^font-weight-bold$/g, /^font-weight-regular$/g, /^font-weight-light$/g], + to: ['font-bold', 'font-normal', 'font-light'], +} + +const replacementsWhiteSpace = { + from: [/^white-space-normal$/g, /^white-space-nowrap$/g], + to: ['whitespace-normal', 'whitespace-nowrap'], +} + +main() diff --git a/packages/tailwindcss/package.json b/packages/tailwindcss/package.json index f503990d61..98fc4d3f3c 100644 --- a/packages/tailwindcss/package.json +++ b/packages/tailwindcss/package.json @@ -30,7 +30,12 @@ "dependencies": { "@baloise/ds-fonts": "18.3.0", "@baloise/ds-tokens": "18.3.0", - "tailwindcss": "^4.1.5" + "tailwindcss": "^4.1.5", + "@phenomnomnominal/tsquery": "6.1.3", + "cheerio": "1.0.0-rc.12", + "glob": "10.3.10", + "prompts": "2.4.2", + "replace-in-file": "7.1.0" }, "devDependencies": { "@tailwindcss/vite": "^4.1.5", diff --git a/packages/tailwindcss/project.json b/packages/tailwindcss/project.json index 2b75bc8d36..1c6e8ada2e 100644 --- a/packages/tailwindcss/project.json +++ b/packages/tailwindcss/project.json @@ -5,7 +5,7 @@ "projectType": "library", "targets": { "build": { - "dependsOn": ["prepare"], + "dependsOn": ["^prepare"], "executor": "@baloise/ds-nx:build-tailwindcss", "outputs": ["{projectRoot}/css"], "options": { diff --git a/packages/tailwindcss/src/index.css b/packages/tailwindcss/src/index.css index ce8710b4a4..0a1e205ed6 100644 --- a/packages/tailwindcss/src/index.css +++ b/packages/tailwindcss/src/index.css @@ -7,4 +7,3 @@ @import './variant'; @import './layer'; @import './utilities'; - diff --git a/packages/tailwindcss/src/utilities.css b/packages/tailwindcss/src/utilities.css index 182cfabe09..3e05de916b 100644 --- a/packages/tailwindcss/src/utilities.css +++ b/packages/tailwindcss/src/utilities.css @@ -24,4 +24,24 @@ .gap-none { gap: 0 !important; } + + .gap-auto { + gap: auto; + } + + .max-h-auto { + max-height: auto; + } + + .min-h-auto { + min-height: auto; + } + + .max-w-auto { + max-width: auto; + } + + .min-w-auto { + min-width: auto; + } } diff --git a/packages/tailwindcss/test/css-core.visual.html b/packages/tailwindcss/test/css-core.visual.html index e82f5fb0e5..d9ef7966b6 100644 --- a/packages/tailwindcss/test/css-core.visual.html +++ b/packages/tailwindcss/test/css-core.visual.html @@ -140,7 +140,7 @@
Subtitle 5

x-small-text

-

bold

+

bold

Link
diff --git a/packages/tailwindcss/test/css-display.visual.html b/packages/tailwindcss/test/css-display.visual.html index 30489e0724..8e1fe4b104 100644 --- a/packages/tailwindcss/test/css-display.visual.html +++ b/packages/tailwindcss/test/css-display.visual.html @@ -120,14 +120,10 @@
Hidden mobile
Hidden tablet
-
Hidden tablet only
Hidden touch
Hidden desktop
-
Hidden desktop only
Hidden high definition
-
Hidden high definition only
Hidden widescreen
-
Hidden widescreen only
Hidden fullhd
diff --git a/packages/tailwindcss/test/css-flex.visual.html b/packages/tailwindcss/test/css-flex.visual.html index 3114adea04..101b6f065d 100644 --- a/packages/tailwindcss/test/css-flex.visual.html +++ b/packages/tailwindcss/test/css-flex.visual.html @@ -24,19 +24,19 @@
-
+
Flex direction row 1
Flex direction row 2
-
+
Flex direction row reverse 1
Flex direction row reverse 2
-
+
Flex direction column 1
Flex direction column 2
-
+
Flex direction column reverse 1
Flex direction column reverse 2
@@ -67,68 +67,68 @@
-
+
Justify content flex start
-
+
Justify content flex end
-
+
Justify content center
-
+
Justify content space between
Justify content space between
-
+
Justify content space around
Justify content space around
-
+
Justify content space evenly
Justify content space evenly
-
+
Justify content start
-
+
Justify content end
-
+
Justify content left
-
+
Justify content right
-
+
Align content flex start 1
Align content flex start 2
Align content flex start 3
-
+
Align content flex end 1
Align content flex end 2
Align content flex end 3
-
+
Align content center 1
Align content center 2
Align content center 3
-
+
Align content space between 1
Align content space between 2
Align content space between 3
-
+
Align content space around 1
Align content space around 2
Align content space around 3
-
+
Align content space evenly 1
Align content space evenly 2
Align content space evenly 3
@@ -136,84 +136,84 @@
Align content stretch
-
+
Align content start 1
Align content start 2
-
+
Align content end 1
Align content end 2
-
+
Align content baseline
-
+
Align items flex start 1
Align items flex start 2
Align items flex start 3
-
+
Align items flex end 1
Align items flex end 2
Align items flex end 3
-
+
Align items center
-
+
Align items self start 1
Align items self start 2
-
+
Align items self end 1
Align items self end 2
-
+
Align items stretch
-
+
Align items start 1
Align items start 2
-
+
Align items end 1
Align items end 2
-
+
Align items baseline
-
+
Align self auto 1
Align items flex end 2
Align items flex end 3
-
-
Align self flex start 1
+
+
Align self flex start 1
Align items flex end 2
Align items flex end 3
-
-
Align self flex end 1
+
+
Align self flex end 1
Align items flex start 2
Align items flex start 3
-
-
Align self center 1
+
+
Align self center 1
Align items flex start 2
-
-
Align self baseline 1
+
+
Align self baseline 1
Align items flex end 2
Align items flex end 3
-
-
Align self stretch 1
+
+
Align self stretch 1
Align items flex end 2
Align items flex end 3
diff --git a/packages/tailwindcss/test/css-typography.visual.html b/packages/tailwindcss/test/css-typography.visual.html index 8cb860a374..6c89b1960d 100644 --- a/packages/tailwindcss/test/css-typography.visual.html +++ b/packages/tailwindcss/test/css-typography.visual.html @@ -35,7 +35,7 @@

Title 2

Title 3

Title 4

Title 5
- +

Subtitle 1

@@ -56,7 +56,7 @@
Subtitle 5

x-small-text

-

bold

+

bold

Link
@@ -82,7 +82,7 @@
Subtitle 5
Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus perferendis officia minus voluptatum deserunt excepturi eius doloribus atque fuga, soluta, culpa cum maiores hic quos id sunt!

-

+

has-no-wrap Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus perferendis officia minus voluptatum deserunt excepturi eius doloribus atque fuga, soluta, culpa cum maiores hic quos id sunt! Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus @@ -93,21 +93,21 @@

Subtitle 5

is-lowercase

is-uppercase

-

is-family-text

-

has-text-weight-light

+

is-family-text

+

has-text-weight-light

has-text-weight-normal

-

has-text-weight-bold

+

has-text-weight-bold

-

is-family-title

-

has-text-weight-light

-

has-text-weight-normal

-

has-text-weight-bold

+

is-family-title

+

has-text-weight-light

+

has-text-weight-normal

+

has-text-weight-bold

-

has-text-centered

-

has-text-justified

-

has-text-left

-

has-text-right

+

has-text-centered

+

has-text-justified

+

has-text-left

+

has-text-right

has-text-centered

has-text-justified

diff --git a/packages/tailwindcss/todo.md b/packages/tailwindcss/todo.md index 9362b43c01..27b84ab411 100644 --- a/packages/tailwindcss/todo.md +++ b/packages/tailwindcss/todo.md @@ -1,8 +1,10 @@ -- generate utilities - tests - ci - docs - spacing respinsive -- check gap what we have and they dont - migration script - align fraction from half to 1/2 +- check gap what we have and they dont + +- static styles + https://tailwindcss.com/docs/detecting-classes-in-source-files#safelisting-specific-utilities From af7bfb0c220c495b8578a8c590664d8b54190ac8 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Sun, 11 May 2025 11:08:58 +0200 Subject: [PATCH 14/18] chore: add static css utils sets --- .../executors/build-tailwindcss/executor.ts | 10 +- .../build-tailwindcss/generators/border.ts | 25 +- .../generators/line-height.ts | 4 +- .../build-tailwindcss/generators/spacing.ts | 10 +- .../generators/typography.ts | 4 +- .../build-tailwindcss/generators/z-index.ts | 4 +- packages/tailwindcss/bin/index.mjs | 16 + packages/tailwindcss/src/base.css | 9 + packages/tailwindcss/src/index.css | 11 +- packages/tailwindcss/src/sets/all.css | 8 + .../tailwindcss/src/sets/background.set.css | 86 ++++++ packages/tailwindcss/src/sets/border.set.css | 43 +++ packages/tailwindcss/src/sets/display.set.css | 292 ++++++++++++++++++ .../tailwindcss/src/sets/elevation.set.css | 12 + packages/tailwindcss/src/sets/flex.set.css | 53 ++++ .../tailwindcss/src/sets/interactions.set.css | 13 + packages/tailwindcss/src/sets/sizing.set.css | 38 +++ .../tailwindcss/src/sets/typography.set.css | 49 +++ packages/tailwindcss/src/theme.css | 1 - packages/tailwindcss/src/utilities.css | 98 +++--- 20 files changed, 702 insertions(+), 84 deletions(-) create mode 100644 packages/tailwindcss/src/base.css create mode 100644 packages/tailwindcss/src/sets/all.css create mode 100644 packages/tailwindcss/src/sets/background.set.css create mode 100644 packages/tailwindcss/src/sets/border.set.css create mode 100644 packages/tailwindcss/src/sets/display.set.css create mode 100644 packages/tailwindcss/src/sets/elevation.set.css create mode 100644 packages/tailwindcss/src/sets/flex.set.css create mode 100644 packages/tailwindcss/src/sets/interactions.set.css create mode 100644 packages/tailwindcss/src/sets/sizing.set.css create mode 100644 packages/tailwindcss/src/sets/typography.set.css diff --git a/libs/nx/src/executors/build-tailwindcss/executor.ts b/libs/nx/src/executors/build-tailwindcss/executor.ts index 2592c8a57b..b84edc3ff6 100644 --- a/libs/nx/src/executors/build-tailwindcss/executor.ts +++ b/libs/nx/src/executors/build-tailwindcss/executor.ts @@ -10,13 +10,13 @@ import { BuildTailwindcssExecutorSchema } from './schema' export default async function runExecutor(options: BuildTailwindcssExecutorSchema) { try { - let content = `@layer utilities {${NEWLINE}${NEWLINE}` - content += await generateSpacing(options) - content += await generateZIndex(options) + let content = `` content += await generateBorder(options) - content += await generateTypography(options) content += await generateLineHeight(options) - content += `}${NEWLINE}${NEWLINE}` + content += await generateSpacing(options) + content += await generateTypography(options) + content += await generateZIndex(options) + content += `${NEWLINE}${NEWLINE}` // create css output await rm(join(options.projectRoot, 'css'), { recursive: true, force: true }) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/border.ts b/libs/nx/src/executors/build-tailwindcss/generators/border.ts index eb9d2eb42f..88c2150e2c 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/border.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/border.ts @@ -7,13 +7,11 @@ export const generateBorder = async (options: BuildTailwindcssExecutorSchema) => const borderWidth = Object.entries(borderWidthTokens) .map(([key, token]) => { - const className = `.border-${key}` + const className = `border-${key}` const variableName = `--${token.name}` - return ` ${className} {${NEWLINE} border-width: var(${variableName});${NEWLINE} }` + return `@utility ${className} {${NEWLINE} border-width: var(${variableName});${NEWLINE}}` }) - .join(NEWLINE) + - NEWLINE + - NEWLINE + .join(NEWLINE) + NEWLINE const borderColorTokens = await getTokens({ token: 'color.border', ...options }) @@ -27,19 +25,16 @@ export const generateBorder = async (options: BuildTailwindcssExecutorSchema) => return '' } const name = key === 'default' ? '' : `-${key}` - const className = `.border${position}${name}` + const className = `border${position}${name}` const variableName = `--${token.name}` - return ` - ${className} { - border${position}-color: var(${variableName}); - border${position}-width: var(--bal-border-width-normal); - }` + return `@utility ${className} { + border${position}-color: var(${variableName}); + border${position}-width: var(--bal-border-width-normal); +}` }) - .join(NEWLINE) + - NEWLINE + - NEWLINE, + .join(NEWLINE), ) }) - return [borderWidth, content.join(NEWLINE + NEWLINE)].join(NEWLINE + NEWLINE) + NEWLINE + NEWLINE + return [borderWidth, content.join('')].join('') + NEWLINE } diff --git a/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts b/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts index 351e7c1330..bd3cdcaa61 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts @@ -11,9 +11,9 @@ export const generateLineHeight = async (options: BuildTailwindcssExecutorSchema return ( Object.entries(tokens) .map(([key, token]) => { - const className = `.text-${key}` + const className = `text-${key}` const value = ['x-small', 'small', 'normal', 'medium'].includes(token.mobile.name) ? 1.5 : 1.3 - return ` ${className} {${NEWLINE} line-height: ${value};${NEWLINE} }` + return `@utility ${className} {${NEWLINE} line-height: ${value};${NEWLINE}}` }) .join(NEWLINE) + NEWLINE + diff --git a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts index 996127f7c4..f235c9e4d8 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts @@ -10,8 +10,8 @@ const MARGINS = ['m', 'mx', 'my', 'mt', 'mr', 'mb', 'ml'] export const generateSpacing = async (options: BuildTailwindcssExecutorSchema) => { const tokens = (await getTokens({ token: 'size.space', ...options })) as any as SpacingTokens - const paddings = PADDINGS.map(prefix => generateSpacingWithPrefix(prefix, tokens)) - const margins = MARGINS.map(prefix => generateSpacingWithPrefix(prefix, tokens)) + const paddings = PADDINGS.map(prefix => generateSpacingWithPrefix(prefix, tokens)).join(NEWLINE) + const margins = MARGINS.map(prefix => generateSpacingWithPrefix(prefix, tokens)).join(NEWLINE) const gaps = generateSpacingWithPrefix('gap', tokens) return [paddings, margins, gaps].join(NEWLINE + NEWLINE) + NEWLINE + NEWLINE @@ -24,9 +24,11 @@ const generateSpacingWithPrefix = (prefix, tokens) => { ([breakpoint, token]) => `${getBreakPointPrefix(breakpoint)}${prefix}-(--${token.name})`, ) - return ` .${prefix}-${sizeKey} {${NEWLINE} @apply ${classParts.join(' ')};${NEWLINE} }` + return `@utility ${prefix}-${sizeKey} { + @apply ${classParts.join(' ')}; +}` }) - .join(NEWLINE + NEWLINE) + .join(NEWLINE) } const getBreakPointPrefix = (breakpoint: string): string => (breakpoint !== 'mobile' ? breakpoint + ':' : '') diff --git a/libs/nx/src/executors/build-tailwindcss/generators/typography.ts b/libs/nx/src/executors/build-tailwindcss/generators/typography.ts index 4da6675f7e..6fce0da94a 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/typography.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/typography.ts @@ -11,8 +11,8 @@ export const generateTypography = async (options: BuildTailwindcssExecutorSchema return ( Object.entries(tokens) .map(([key, token]) => { - const className = `.text-${key}` - return ` ${className} {${NEWLINE} @apply text-(--${token.mobile.name}) tablet:text-(--${token.tablet.name}) desktop:text-(--${token.desktop.name});${NEWLINE} }` + const className = `text-${key}` + return `@utility ${className} {${NEWLINE} @apply text-(--${token.mobile.name}) tablet:text-(--${token.tablet.name}) desktop:text-(--${token.desktop.name});${NEWLINE}}` }) .join(NEWLINE) + NEWLINE + diff --git a/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts b/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts index 2d22120585..96e42fd4fd 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts +++ b/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts @@ -7,9 +7,9 @@ export const generateZIndex = async (options: BuildTailwindcssExecutorSchema) => return ( Object.entries(tokens) .map(([key, token]) => { - const className = `.z-index-${key}` + const className = `z-index-${key}` const variableName = `--${token.name}` - return ` ${className} {${NEWLINE} z-index: var(${variableName});${NEWLINE} }` + return `@utility ${className} {${NEWLINE} z-index: var(${variableName});${NEWLINE}}` }) .join(NEWLINE) + NEWLINE + diff --git a/packages/tailwindcss/bin/index.mjs b/packages/tailwindcss/bin/index.mjs index 61c5a4df81..c03a1197bd 100755 --- a/packages/tailwindcss/bin/index.mjs +++ b/packages/tailwindcss/bin/index.mjs @@ -339,6 +339,12 @@ function filterReplacers({ utils }) { from.push(replacementsWhiteSpace.from) to.push(replacementsWhiteSpace.to) + from.push(replacementsRadius.from) + to.push(replacementsRadius.to) + + from.push(replacementsBorderWidth.from) + to.push(replacementsBorderWidth.to) + return { from: from.flat(), to: to.flat() } } @@ -625,4 +631,14 @@ const replacementsWhiteSpace = { to: ['whitespace-normal', 'whitespace-nowrap'], } +const replacementsRadius = { + from: [/^radius-none$/g, /^radius-normal$/g, /^radius-large$/g, /^radius-rounded$/g], + to: ['rounded-none', 'rounded-normal', 'rounded-large', 'rounded-full'], +} + +const replacementsBorderWidth = { + from: [/^border-none$/g, /^border-width-small$/g, /^border-width-normal$/g, /^border-width-large$/g], + to: ['border-none', 'border-small', 'border-normal', 'border-large'], +} + main() diff --git a/packages/tailwindcss/src/base.css b/packages/tailwindcss/src/base.css new file mode 100644 index 0000000000..0a1e205ed6 --- /dev/null +++ b/packages/tailwindcss/src/base.css @@ -0,0 +1,9 @@ +@import '@baloise/ds-fonts/css/fonts.css'; +@import '@baloise/ds-styles/css/structure'; +@import '@baloise/ds-styles/css/core'; + +@import 'tailwindcss'; +@import './theme'; +@import './variant'; +@import './layer'; +@import './utilities'; diff --git a/packages/tailwindcss/src/index.css b/packages/tailwindcss/src/index.css index 0a1e205ed6..f84f7e069c 100644 --- a/packages/tailwindcss/src/index.css +++ b/packages/tailwindcss/src/index.css @@ -1,9 +1,2 @@ -@import '@baloise/ds-fonts/css/fonts.css'; -@import '@baloise/ds-styles/css/structure'; -@import '@baloise/ds-styles/css/core'; - -@import 'tailwindcss'; -@import './theme'; -@import './variant'; -@import './layer'; -@import './utilities'; +@import './base'; +@import './sets/all'; diff --git a/packages/tailwindcss/src/sets/all.css b/packages/tailwindcss/src/sets/all.css new file mode 100644 index 0000000000..fe7b0e1cda --- /dev/null +++ b/packages/tailwindcss/src/sets/all.css @@ -0,0 +1,8 @@ +@import './background.set'; +@import './border.set'; +@import './elevation.set'; +@import './flex.set'; +@import './interaction.set'; +@import './display.set'; +@import './sizing.set'; +@import './typography.set.css'; diff --git a/packages/tailwindcss/src/sets/background.set.css b/packages/tailwindcss/src/sets/background.set.css new file mode 100644 index 0000000000..1614bd9052 --- /dev/null +++ b/packages/tailwindcss/src/sets/background.set.css @@ -0,0 +1,86 @@ +@source inline("{hover:,focus:,active:,}bg-primary"); +@source inline("{hover:,focus:,active:,}bg-green-light"); +@source inline("{hover:,focus:,active:,}bg-green"); +@source inline("{hover:,focus:,active:,}bg-purple-light"); +@source inline("{hover:,focus:,active:,}bg-purple"); +@source inline("{hover:,focus:,active:,}bg-yellow-light"); +@source inline("{hover:,focus:,active:,}bg-yellow"); +@source inline("{hover:,focus:,active:,}bg-red-light"); +@source inline("{hover:,focus:,active:,}bg-red"); +@source inline("{hover:,focus:,active:,}bg-white"); +@source inline("{hover:,focus:,active:,}bg-grey-light"); +@source inline("{hover:,focus:,active:,}bg-grey"); +@source inline("{hover:,focus:,active:,}bg-disabled"); +@source inline("{hover:,focus:,active:,}bg-info"); +@source inline("{hover:,focus:,active:,}bg-success"); +@source inline("{hover:,focus:,active:,}bg-warning"); +@source inline("{hover:,focus:,active:,}bg-danger"); +@source inline("{hover:,focus:,active:,}bg-light-blue"); +@source inline("{hover:,focus:,active:,}bg-primary-1"); +@source inline("{hover:,focus:,active:,}bg-primary-2"); +@source inline("{hover:,focus:,active:,}bg-primary-3"); +@source inline("{hover:,focus:,active:,}bg-primary-4"); +@source inline("{hover:,focus:,active:,}bg-primary-5"); +@source inline("{hover:,focus:,active:,}bg-primary-6"); +@source inline("{hover:,focus:,active:,}bg-green-1"); +@source inline("{hover:,focus:,active:,}bg-green-2"); +@source inline("{hover:,focus:,active:,}bg-green-3"); +@source inline("{hover:,focus:,active:,}bg-green-4"); +@source inline("{hover:,focus:,active:,}bg-green-5"); +@source inline("{hover:,focus:,active:,}bg-green-6"); +@source inline("{hover:,focus:,active:,}bg-purple-1"); +@source inline("{hover:,focus:,active:,}bg-purple-2"); +@source inline("{hover:,focus:,active:,}bg-purple-3"); +@source inline("{hover:,focus:,active:,}bg-purple-4"); +@source inline("{hover:,focus:,active:,}bg-purple-5"); +@source inline("{hover:,focus:,active:,}bg-purple-6"); +@source inline("{hover:,focus:,active:,}bg-yellow-1"); +@source inline("{hover:,focus:,active:,}bg-yellow-2"); +@source inline("{hover:,focus:,active:,}bg-yellow-3"); +@source inline("{hover:,focus:,active:,}bg-yellow-4"); +@source inline("{hover:,focus:,active:,}bg-yellow-5"); +@source inline("{hover:,focus:,active:,}bg-yellow-6"); +@source inline("{hover:,focus:,active:,}bg-red-1"); +@source inline("{hover:,focus:,active:,}bg-red-2"); +@source inline("{hover:,focus:,active:,}bg-red-3"); +@source inline("{hover:,focus:,active:,}bg-red-4"); +@source inline("{hover:,focus:,active:,}bg-red-5"); +@source inline("{hover:,focus:,active:,}bg-red-6"); +@source inline("{hover:,focus:,active:,}bg-grey-1"); +@source inline("{hover:,focus:,active:,}bg-grey-2"); +@source inline("{hover:,focus:,active:,}bg-grey-3"); +@source inline("{hover:,focus:,active:,}bg-grey-4"); +@source inline("{hover:,focus:,active:,}bg-grey-5"); +@source inline("{hover:,focus:,active:,}bg-grey-6"); +@source inline("{hover:,focus:,active:,}bg-black"); +@source inline("{hover:,focus:,active:,}bg-light-blue-1"); +@source inline("{hover:,focus:,active:,}bg-light-blue-2"); +@source inline("{hover:,focus:,active:,}bg-light-blue-3"); +@source inline("{hover:,focus:,active:,}bg-light-blue-4"); +@source inline("{hover:,focus:,active:,}bg-light-blue-5"); +@source inline("{hover:,focus:,active:,}bg-light-blue-6"); +@source inline("{hover:,focus:,active:,}bg-info-1"); +@source inline("{hover:,focus:,active:,}bg-info-2"); +@source inline("{hover:,focus:,active:,}bg-info-3"); +@source inline("{hover:,focus:,active:,}bg-info-4"); +@source inline("{hover:,focus:,active:,}bg-info-5"); +@source inline("{hover:,focus:,active:,}bg-info-6"); +@source inline("{hover:,focus:,active:,}bg-success-1"); +@source inline("{hover:,focus:,active:,}bg-success-2"); +@source inline("{hover:,focus:,active:,}bg-success-3"); +@source inline("{hover:,focus:,active:,}bg-success-4"); +@source inline("{hover:,focus:,active:,}bg-success-5"); +@source inline("{hover:,focus:,active:,}bg-success-6"); +@source inline("{hover:,focus:,active:,}bg-warning-1"); +@source inline("{hover:,focus:,active:,}bg-warning-2"); +@source inline("{hover:,focus:,active:,}bg-warning-3"); +@source inline("{hover:,focus:,active:,}bg-warning-4"); +@source inline("{hover:,focus:,active:,}bg-warning-5"); +@source inline("{hover:,focus:,active:,}bg-warning-6"); +@source inline("{hover:,focus:,active:,}bg-danger-1"); +@source inline("{hover:,focus:,active:,}bg-danger-2"); +@source inline("{hover:,focus:,active:,}bg-danger-3"); +@source inline("{hover:,focus:,active:,}bg-danger-4"); +@source inline("{hover:,focus:,active:,}bg-danger-5"); +@source inline("{hover:,focus:,active:,}bg-danger-6"); +@source inline("{hover:,focus:,active:,}bg-transparent"); diff --git a/packages/tailwindcss/src/sets/border.set.css b/packages/tailwindcss/src/sets/border.set.css new file mode 100644 index 0000000000..8c8cbd1461 --- /dev/null +++ b/packages/tailwindcss/src/sets/border.set.css @@ -0,0 +1,43 @@ +@source inline("{hover:,focus:,active:,}border-primary"); +@source inline("{hover:,focus:,active:,}border-primary-light"); +@source inline("{hover:,focus:,active:,}border-grey-light"); +@source inline("{hover:,focus:,active:,}border-grey"); +@source inline("{hover:,focus:,active:,}border-grey-dark"); +@source inline("{hover:,focus:,active:,}border-white"); +@source inline("{hover:,focus:,active:,}border-info"); +@source inline("{hover:,focus:,active:,}border-success"); +@source inline("{hover:,focus:,active:,}border-warning"); +@source inline("{hover:,focus:,active:,}border-danger"); +@source inline("{hover:,focus:,active:,}border-info-hovered"); +@source inline("{hover:,focus:,active:,}border-info-pressed"); +@source inline("{hover:,focus:,active:,}border-primary-hovered"); +@source inline("{hover:,focus:,active:,}border-primary-pressed"); +@source inline("{hover:,focus:,active:,}border-success-hovered"); +@source inline("{hover:,focus:,active:,}border-success-pressed"); +@source inline("{hover:,focus:,active:,}border-warning-hovered"); +@source inline("{hover:,focus:,active:,}border-warning-pressed"); +@source inline("{hover:,focus:,active:,}border-danger-hovered"); +@source inline("{hover:,focus:,active:,}border-danger-pressed"); +@source inline("{hover:,focus:,active:,}border-green-hovered"); +@source inline("{hover:,focus:,active:,}border-green-pressed"); +@source inline("{hover:,focus:,active:,}border-purple-hovered"); +@source inline("{hover:,focus:,active:,}border-purple-pressed"); +@source inline("{hover:,focus:,active:,}border-red-hovered"); +@source inline("{hover:,focus:,active:,}border-red-pressed"); +@source inline("{hover:,focus:,active:,}border-yellow-hovered"); +@source inline("{hover:,focus:,active:,}border-yellow-pressed"); +@source inline("{hover:,focus:,active:,}border-inverted"); +@source inline("{hover:,focus:,active:,}border-inverted-disabled"); +@source inline("{hover:,focus:,active:,}border-inverted-primary"); +@source inline("{hover:,focus:,active:,}border-inverted-primary-hovered"); +@source inline("{hover:,focus:,active:,}border-inverted-primary-pressed"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}rounded-none"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}rounded-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}rounded-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}rounded-full"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}border-none"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}border-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}border-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}border-large"); diff --git a/packages/tailwindcss/src/sets/display.set.css b/packages/tailwindcss/src/sets/display.set.css new file mode 100644 index 0000000000..9d2ad85993 --- /dev/null +++ b/packages/tailwindcss/src/sets/display.set.css @@ -0,0 +1,292 @@ +@source inline("{mobile:,tablet:,desktop:,widescreen:,}hidden"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}block"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}inline"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}inline-block"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}inline-flex"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-hidden"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-visible"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-scroll"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-x-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-x-hidden"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-x-visible"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-x-scroll"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-y-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-y-hidden"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-y-visible"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}overflow-y-scroll"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}static"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}fixed"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}relative"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}absolute"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}sticky"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}align-top"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}align-middle"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}align-bottom"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-deep"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-masked"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-mask"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-sticky"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-navigation"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-popup"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-modal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-toast"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}z-index-tooltip"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}top-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}top-4"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}top-2"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}top-1"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}top-0"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}top-1/2"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}top-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}right-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}right-4"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}right-0"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}right-1/2"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}right-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}bottom-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}bottom-4"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}bottom-0"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}bottom-1/2"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}bottom-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}left-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}left-4"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}left-0"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}left-1/2"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}left-full"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-screen"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-min"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-max"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-fit"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-4"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-8"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-12"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-16"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-20"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-24"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-28"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-32"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-36"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-40"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-44"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-48"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-52"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-56"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-60"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-64"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-68"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-72"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-76"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-80"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-84"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-88"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-92"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-96"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-100"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-104"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-108"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-112"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-116"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-120"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-screen"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-min"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-max"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-fit"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-11/12"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-5/6"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-3/4"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-2/3"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-7/12"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-1/2"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-5/12"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-1/3"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-1/4"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-1/6"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-1/12"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-4"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-8"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-12"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-16"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-20"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-24"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-28"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-32"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-36"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-40"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-44"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-48"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-52"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-56"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-60"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-64"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-68"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-72"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-76"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-80"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-84"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-88"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-92"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-96"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-100"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-104"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-108"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-112"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-116"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}w-120"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}m-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mx-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}my-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mt-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mr-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}mb-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}ml-xxxx-large"); + +/** Padding */ + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}p-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}px-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}py-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pt-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pr-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pb-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}pl-xxxx-large"); diff --git a/packages/tailwindcss/src/sets/elevation.set.css b/packages/tailwindcss/src/sets/elevation.set.css new file mode 100644 index 0000000000..31cede8315 --- /dev/null +++ b/packages/tailwindcss/src/sets/elevation.set.css @@ -0,0 +1,12 @@ +@source inline("opacity-0"); +@source inline("opacity-30"); +@source inline("opacity-40"); +@source inline("opacity-50"); +@source inline("opacity-60"); +@source inline("opacity-80"); +@source inline("opacity-100"); + +@source inline("{hover:,focus:,active:,mobile:,tablet:,desktop:,widescreen:,}shadow-small"); +@source inline("{hover:,focus:,active:,mobile:,tablet:,desktop:,widescreen:,}shadow-normal"); +@source inline("{hover:,focus:,active:,mobile:,tablet:,desktop:,widescreen:,}shadow-large"); +@source inline("{hover:,focus:,active:,mobile:,tablet:,desktop:,widescreen:,}text-shadow-normal"); diff --git a/packages/tailwindcss/src/sets/flex.set.css b/packages/tailwindcss/src/sets/flex.set.css new file mode 100644 index 0000000000..3feeaf5765 --- /dev/null +++ b/packages/tailwindcss/src/sets/flex.set.css @@ -0,0 +1,53 @@ +@source inline("{mobile:,tablet:,desktop:,widescreen:,}content-start"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}content-end"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}content-center"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}content-baseline"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}content-between"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}content-around"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}content-evenly"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}items-start"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}items-end"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}items-center"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}items-stretch"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}items-baseline"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}self-start"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}self-end"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}self-center"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}self-stretch"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}self-baseline"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-row"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-row-reverse"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-col"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-col-reverse"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-1"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-initial"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-none"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-none"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-xx-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}gap-xxxx-large"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}justify-start"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}justify-end"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}justify-center"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}justify-between"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}justify-around"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}justify-evenly"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-nowrap"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-wrap"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}flex-wrap-reverse"); diff --git a/packages/tailwindcss/src/sets/interactions.set.css b/packages/tailwindcss/src/sets/interactions.set.css new file mode 100644 index 0000000000..fbae02712d --- /dev/null +++ b/packages/tailwindcss/src/sets/interactions.set.css @@ -0,0 +1,13 @@ +@source inline("cursor-auto"); +@source inline("cursor-pointer"); +@source inline("cursor-wait"); +@source inline("cursor-move"); +@source inline("cursor-not-allowed"); + +@source inline("pointer-events-auto"); +@source inline("pointer-events-none"); + +@source inline("select-none"); +@source inline("select-text"); +@source inline("select-all"); +@source inline("select-auto"); diff --git a/packages/tailwindcss/src/sets/sizing.set.css b/packages/tailwindcss/src/sets/sizing.set.css new file mode 100644 index 0000000000..f2c013dacb --- /dev/null +++ b/packages/tailwindcss/src/sets/sizing.set.css @@ -0,0 +1,38 @@ +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-h-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-h-0"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-h-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-h-screen"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-h-min"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-h-max"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-h-fit"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-h-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-h-0"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-h-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-h-screen"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-h-min"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-h-max"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-h-fit"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-w-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-w-0"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-w-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-w-screen"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-w-min"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-w-max"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}max-w-fit"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-w-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-w-0"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-w-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-w-screen"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-w-min"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-w-max"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}min-w-fit"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-full"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-screen"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-auto"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-min"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-max"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}h-fit"); diff --git a/packages/tailwindcss/src/sets/typography.set.css b/packages/tailwindcss/src/sets/typography.set.css new file mode 100644 index 0000000000..6be8051f8c --- /dev/null +++ b/packages/tailwindcss/src/sets/typography.set.css @@ -0,0 +1,49 @@ +@source inline("{hover:,focus:,active:,}text-primary"); +@source inline("{hover:,focus:,active:,}text-primary-light"); +@source inline("{hover:,focus:,active:,}text-white"); +@source inline("{hover:,focus:,active:,}text-grey-light"); +@source inline("{hover:,focus:,active:,}text-grey"); +@source inline("{hover:,focus:,active:,}text-grey-dark"); +@source inline("{hover:,focus:,active:,}text-info"); +@source inline("{hover:,focus:,active:,}text-warning"); +@source inline("{hover:,focus:,active:,}text-success"); +@source inline("{hover:,focus:,active:,}text-danger"); +@source inline("{hover:,focus:,active:,}text-black"); +@source inline("{hover:,focus:,active:,}text-primary-hovered"); +@source inline("{hover:,focus:,active:,}text-primary-pressed"); +@source inline("{hover:,focus:,active:,}text-danger-hovered"); +@source inline("{hover:,focus:,active:,}text-danger-pressed"); +@source inline("{hover:,focus:,active:,}text-inverted"); +@source inline("{hover:,focus:,active:,}text-inverted-disabled"); +@source inline("{hover:,focus:,active:,}text-inverted-hovered"); +@source inline("{hover:,focus:,active:,}text-inverted-pressed"); + +@source inline("font-text"); +@source inline("font-tittle"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-x-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-small"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-normal"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-medium"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-x-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-xx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-xxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-xxxx-large"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-xxxxx-large"); + +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-center"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-left"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-right"); +@source inline("{mobile:,tablet:,desktop:,widescreen:,}text-justify"); + +@source inline("lowercase"); +@source inline("uppercase"); +@source inline("capitalize"); + +@source inline("font-bold"); +@source inline("font-normal"); +@source inline("font-light"); + +@source inline("whitespace-normal"); +@source inline("whitespace-nowrap"); diff --git a/packages/tailwindcss/src/theme.css b/packages/tailwindcss/src/theme.css index 4be1467a3a..744fb3a6ea 100644 --- a/packages/tailwindcss/src/theme.css +++ b/packages/tailwindcss/src/theme.css @@ -175,7 +175,6 @@ --radius-small: 0.125rem; --radius-normal: var(--bal-radius-normal); --radius-large: var(--bal-radius-large); - --radius-rounded: var(--bal-radius-rounded); --shadow-small: var(--bal-shadow-small); --shadow-normal: var(--bal-shadow-normal); diff --git a/packages/tailwindcss/src/utilities.css b/packages/tailwindcss/src/utilities.css index 3e05de916b..5883041bbe 100644 --- a/packages/tailwindcss/src/utilities.css +++ b/packages/tailwindcss/src/utilities.css @@ -1,47 +1,57 @@ @import '../css/utilities'; -@layer utilities { - .border-none { - border: none !important; - } - - .border-top-none { - border-top: none !important; - } - - .border-bottom-none { - border-bottom: none !important; - } - - .border-left-none { - border-left: none !important; - } - - .border-right-none { - border-right: none !important; - } - - .gap-none { - gap: 0 !important; - } - - .gap-auto { - gap: auto; - } - - .max-h-auto { - max-height: auto; - } - - .min-h-auto { - min-height: auto; - } - - .max-w-auto { - max-width: auto; - } - - .min-w-auto { - min-width: auto; - } +@utility border-none { + border: none !important; +} + +@utility border-small { + border-width: var(--bal-border-width-small); +} + +@utility border-normal { + border-width: var(--bal-border-width-normal); +} + +@utility border-large { + border-width: var(--bal-border-width-large); +} + +@utility border-top-none { + border-top: none !important; +} + +@utility border-bottom-none { + border-bottom: none !important; +} + +@utility border-left-none { + border-left: none !important; +} + +@utility border-right-none { + border-right: none !important; +} + +@utility gap-none { + gap: 0 !important; +} + +@utility gap-auto { + gap: auto; +} + +@utility max-h-auto { + max-height: auto; +} + +@utility min-h-auto { + min-height: auto; +} + +@utility max-w-auto { + max-width: auto; +} + +@utility min-w-auto { + min-width: auto; } From e58f94965a4b9331818224ba5dfff87eef3e0525 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Sun, 11 May 2025 11:22:08 +0200 Subject: [PATCH 15/18] chore: fix entry paths --- package-lock.json | 732 ++++++++++++++++++++++++++ packages/tailwindcss/package.json | 8 +- packages/tailwindcss/src/base.css | 4 - packages/tailwindcss/src/index.css | 1 - packages/tailwindcss/src/sets/all.css | 2 +- packages/tailwindcss/src/static.css | 2 + 6 files changed, 740 insertions(+), 9 deletions(-) create mode 100644 packages/tailwindcss/src/static.css diff --git a/package-lock.json b/package-lock.json index 664a30a02b..28b24ba2b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6706,6 +6706,19 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -10816,6 +10829,335 @@ "dev": true, "license": "0BSD" }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@phenomnomnominal/tsquery": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz", @@ -15997,6 +16339,395 @@ "node": ">=10" } }, + "node_modules/@tailwindcss/cli": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/cli/-/cli-4.1.6.tgz", + "integrity": "sha512-wHPVC3omlI0izhkaWFy+lXZ0tst2XcbrIWqrlSwAQ+UOluA7q4+OXLH/yElu8oZga2sQ9adutjRaKWrlnfOuMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/watcher": "^2.5.1", + "@tailwindcss/node": "4.1.6", + "@tailwindcss/oxide": "4.1.6", + "enhanced-resolve": "^5.18.1", + "mri": "^1.2.0", + "picocolors": "^1.1.1", + "tailwindcss": "4.1.6" + }, + "bin": { + "tailwindcss": "dist/index.mjs" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/node": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.6.tgz", + "integrity": "sha512-ed6zQbgmKsjsVvodAS1q1Ld2BolEuxJOSyyNc+vhkjdmfNUDCmQnlXBfQkHrlzNmslxHsQU/bFmzcEbv4xXsLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.29.2", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.6" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.6.tgz", + "integrity": "sha512-0bpEBQiGx+227fW4G0fLQ8vuvyy5rsB1YIYNapTq3aRsJ9taF3f5cCaovDjN5pUGKKzcpMrZst/mhNaKAPOHOA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.6", + "@tailwindcss/oxide-darwin-arm64": "4.1.6", + "@tailwindcss/oxide-darwin-x64": "4.1.6", + "@tailwindcss/oxide-freebsd-x64": "4.1.6", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.6", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.6", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.6", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.6", + "@tailwindcss/oxide-linux-x64-musl": "4.1.6", + "@tailwindcss/oxide-wasm32-wasi": "4.1.6", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.6", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.6" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.6.tgz", + "integrity": "sha512-VHwwPiwXtdIvOvqT/0/FLH/pizTVu78FOnI9jQo64kSAikFSZT7K4pjyzoDpSMaveJTGyAKvDjuhxJxKfmvjiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.6.tgz", + "integrity": "sha512-weINOCcqv1HVBIGptNrk7c6lWgSFFiQMcCpKM4tnVi5x8OY2v1FrV76jwLukfT6pL1hyajc06tyVmZFYXoxvhQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.6.tgz", + "integrity": "sha512-3FzekhHG0ww1zQjQ1lPoq0wPrAIVXAbUkWdWM8u5BnYFZgb9ja5ejBqyTgjpo5mfy0hFOoMnMuVDI+7CXhXZaQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.6.tgz", + "integrity": "sha512-4m5F5lpkBZhVQJq53oe5XgJ+aFYWdrgkMwViHjRsES3KEu2m1udR21B1I77RUqie0ZYNscFzY1v9aDssMBZ/1w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.6.tgz", + "integrity": "sha512-qU0rHnA9P/ZoaDKouU1oGPxPWzDKtIfX7eOGi5jOWJKdxieUJdVV+CxWZOpDWlYTd4N3sFQvcnVLJWJ1cLP5TA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.6.tgz", + "integrity": "sha512-jXy3TSTrbfgyd3UxPQeXC3wm8DAgmigzar99Km9Sf6L2OFfn/k+u3VqmpgHQw5QNfCpPe43em6Q7V76Wx7ogIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.6.tgz", + "integrity": "sha512-8kjivE5xW0qAQ9HX9reVFmZj3t+VmljDLVRJpVBEoTR+3bKMnvC7iLcoSGNIUJGOZy1mLVq7x/gerVg0T+IsYw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.6.tgz", + "integrity": "sha512-A4spQhwnWVpjWDLXnOW9PSinO2PTKJQNRmL/aIl2U/O+RARls8doDfs6R41+DAXK0ccacvRyDpR46aVQJJCoCg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.6.tgz", + "integrity": "sha512-YRee+6ZqdzgiQAHVSLfl3RYmqeeaWVCk796MhXhLQu2kJu2COHBkqlqsqKYx3p8Hmk5pGCQd2jTAoMWWFeyG2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.6.tgz", + "integrity": "sha512-qAp4ooTYrBQ5pk5jgg54/U1rCJ/9FLYOkkQ/nTE+bVMseMfB6O7J8zb19YTpWuu4UdfRf5zzOrNKfl6T64MNrQ==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@emnapi/wasi-threads": "^1.0.2", + "@napi-rs/wasm-runtime": "^0.2.9", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.6.tgz", + "integrity": "sha512-nqpDWk0Xr8ELO/nfRUDjk1pc9wDJ3ObeDdNMHLaymc4PJBWj11gdPCWZFKSK2AVKjJQC7J2EfmSmf47GN7OuLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.6.tgz", + "integrity": "sha512-5k9xF33xkfKpo9wCvYcegQ21VwIBU1/qEbYlVukfEIyQbEA47uK8AAwS7NVjNE3vHzcmxMYwd0l6L4pPjjm1rQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/cli/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@tailwindcss/cli/node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/@tailwindcss/cli/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/@tailwindcss/cli/node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@tailwindcss/cli/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tailwindcss/cli/node_modules/tailwindcss": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.6.tgz", + "integrity": "sha512-j0cGLTreM6u4OWzBeLBpycK0WIh8w7kSwcUsQZoGLHZ7xDTdM69lN64AgoIEEwFi0tnhs4wSykUa5YWxAzgFYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tailwindcss/cli/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@tailwindcss/cli/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/@tailwindcss/node": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.5.tgz", @@ -49858,6 +50589,7 @@ "ds-tailwindcss-migrate": "bin/index.mjs" }, "devDependencies": { + "@tailwindcss/cli": "^4.1.6", "@tailwindcss/vite": "^4.1.5", "vite": "^6.3.5" } diff --git a/packages/tailwindcss/package.json b/packages/tailwindcss/package.json index 98fc4d3f3c..e7e1ffa1c3 100644 --- a/packages/tailwindcss/package.json +++ b/packages/tailwindcss/package.json @@ -18,7 +18,8 @@ "scripts": { "dev": "vite", "build": "vite build", - "preview": "vite preview" + "preview": "vite preview", + "static": "npx @tailwindcss/cli -i ./src/static.css -o ./css/static.css" }, "main": "src/index.css", "style": "src/index.css", @@ -30,14 +31,15 @@ "dependencies": { "@baloise/ds-fonts": "18.3.0", "@baloise/ds-tokens": "18.3.0", - "tailwindcss": "^4.1.5", "@phenomnomnominal/tsquery": "6.1.3", "cheerio": "1.0.0-rc.12", "glob": "10.3.10", "prompts": "2.4.2", - "replace-in-file": "7.1.0" + "replace-in-file": "7.1.0", + "tailwindcss": "^4.1.5" }, "devDependencies": { + "@tailwindcss/cli": "^4.1.6", "@tailwindcss/vite": "^4.1.5", "vite": "^6.3.5" }, diff --git a/packages/tailwindcss/src/base.css b/packages/tailwindcss/src/base.css index 0a1e205ed6..5da9e3f4c1 100644 --- a/packages/tailwindcss/src/base.css +++ b/packages/tailwindcss/src/base.css @@ -1,7 +1,3 @@ -@import '@baloise/ds-fonts/css/fonts.css'; -@import '@baloise/ds-styles/css/structure'; -@import '@baloise/ds-styles/css/core'; - @import 'tailwindcss'; @import './theme'; @import './variant'; diff --git a/packages/tailwindcss/src/index.css b/packages/tailwindcss/src/index.css index f84f7e069c..c8567498b4 100644 --- a/packages/tailwindcss/src/index.css +++ b/packages/tailwindcss/src/index.css @@ -1,2 +1 @@ @import './base'; -@import './sets/all'; diff --git a/packages/tailwindcss/src/sets/all.css b/packages/tailwindcss/src/sets/all.css index fe7b0e1cda..29b70a6556 100644 --- a/packages/tailwindcss/src/sets/all.css +++ b/packages/tailwindcss/src/sets/all.css @@ -2,7 +2,7 @@ @import './border.set'; @import './elevation.set'; @import './flex.set'; -@import './interaction.set'; +@import './interactions.set'; @import './display.set'; @import './sizing.set'; @import './typography.set.css'; diff --git a/packages/tailwindcss/src/static.css b/packages/tailwindcss/src/static.css new file mode 100644 index 0000000000..f84f7e069c --- /dev/null +++ b/packages/tailwindcss/src/static.css @@ -0,0 +1,2 @@ +@import './base'; +@import './sets/all'; From 5bfa5985e4addb1fa25d9458e9c9e9dab2f57bde Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Fri, 16 May 2025 21:15:19 +0200 Subject: [PATCH 16/18] chore: rename package --- .gitignore | 2 +- docs/.storybook/preview.js | 2 +- libs/nx/executors.json | 8 +- libs/nx/src/executors/build-docs/executor.ts | 1 - .../executor.ts | 4 +- .../generators/border.ts | 4 +- .../generators/line-height.ts | 4 +- .../generators/spacing.ts | 4 +- .../generators/typography.ts | 4 +- .../generators/utils.ts | 0 .../generators/z-index.ts | 4 +- .../schema.d.ts | 2 +- .../schema.json | 2 +- package-lock.json | 994 +++++++++++------- .../{tailwindcss => tailwind}/.eslintignore | 0 packages/{tailwindcss => tailwind}/.npmignore | 0 .../{tailwindcss => tailwind}/bin/index.mjs | 2 +- packages/{tailwindcss => tailwind}/index.html | 0 .../{tailwindcss => tailwind}/package.json | 8 +- .../{tailwindcss => tailwind}/project.json | 10 +- .../src/static.css => tailwind/src/all.css} | 0 packages/tailwind/src/base.css | 10 + .../{tailwindcss => tailwind}/src/index.css | 0 .../{tailwindcss => tailwind}/src/layer.css | 0 .../src/sets/all.css | 0 .../src/sets/background.set.css | 0 .../src/sets/border.set.css | 0 .../src/sets/display.set.css | 0 .../src/sets/elevation.set.css | 0 .../src/sets/flex.set.css | 0 .../src/sets/interactions.set.css | 0 .../src/sets/sizing.set.css | 0 .../src/sets/typography.set.css | 0 .../{tailwindcss => tailwind}/src/theme.css | 0 .../src/utilities.css | 0 .../{tailwindcss => tailwind}/src/variant.css | 0 .../test/css-border.visual.html | 0 .../test/css-color.visual.html | 0 .../test/css-core.visual.html | 0 .../test/css-display.visual.html | 0 .../test/css-flex.visual.html | 0 .../test/css-grid.visual.html | 0 .../test/css-inheritance.visual.html | 0 .../test/css-opacity.visual.html | 0 .../test/css-radius.visual.html | 0 .../test/css-shadow.visual.html | 0 .../test/css-spacing.visual.html | 0 .../test/css-structure.visual.html | 0 .../test/css-typography.visual.html | 0 packages/{tailwindcss => tailwind}/todo.md | 0 .../{tailwindcss => tailwind}/vite.config.ts | 0 packages/tailwindcss/src/base.css | 5 - 52 files changed, 681 insertions(+), 389 deletions(-) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/executor.ts (93%) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/generators/border.ts (89%) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/generators/line-height.ts (82%) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/generators/spacing.ts (89%) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/generators/typography.ts (82%) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/generators/utils.ts (100%) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/generators/z-index.ts (75%) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/schema.d.ts (57%) rename libs/nx/src/executors/{build-tailwindcss => build-tailwind}/schema.json (83%) rename packages/{tailwindcss => tailwind}/.eslintignore (100%) rename packages/{tailwindcss => tailwind}/.npmignore (100%) rename packages/{tailwindcss => tailwind}/bin/index.mjs (99%) mode change 100755 => 100644 rename packages/{tailwindcss => tailwind}/index.html (100%) rename packages/{tailwindcss => tailwind}/package.json (84%) rename packages/{tailwindcss => tailwind}/project.json (76%) rename packages/{tailwindcss/src/static.css => tailwind/src/all.css} (100%) create mode 100644 packages/tailwind/src/base.css rename packages/{tailwindcss => tailwind}/src/index.css (100%) rename packages/{tailwindcss => tailwind}/src/layer.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/all.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/background.set.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/border.set.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/display.set.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/elevation.set.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/flex.set.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/interactions.set.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/sizing.set.css (100%) rename packages/{tailwindcss => tailwind}/src/sets/typography.set.css (100%) rename packages/{tailwindcss => tailwind}/src/theme.css (100%) rename packages/{tailwindcss => tailwind}/src/utilities.css (100%) rename packages/{tailwindcss => tailwind}/src/variant.css (100%) rename packages/{tailwindcss => tailwind}/test/css-border.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-color.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-core.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-display.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-flex.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-grid.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-inheritance.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-opacity.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-radius.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-shadow.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-spacing.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-structure.visual.html (100%) rename packages/{tailwindcss => tailwind}/test/css-typography.visual.html (100%) rename packages/{tailwindcss => tailwind}/todo.md (100%) rename packages/{tailwindcss => tailwind}/vite.config.ts (100%) delete mode 100644 packages/tailwindcss/src/base.css diff --git a/.gitignore b/.gitignore index 0b82e74250..cc72be6318 100644 --- a/.gitignore +++ b/.gitignore @@ -57,7 +57,7 @@ packages/core/**/theming.md packages/core/**/testing.md packages/core/**/api.md packages/css/css -packages/tailwindcss/css +packages/tailwind/css packages/styles/css packages/styles/docs packages/styles/src/generated diff --git a/docs/.storybook/preview.js b/docs/.storybook/preview.js index 0558288127..a0f2df1c07 100644 --- a/docs/.storybook/preview.js +++ b/docs/.storybook/preview.js @@ -1,5 +1,5 @@ /** @type { import('@storybook/html').Decorator } */ -export const decorators = [Story => `${Story().outerHTML || Story()}`] +export const decorators = [Story => `< >${Story().outerHTML || Story()}`] /** @type { import('@storybook/html').Preview } */ const preview = { diff --git a/libs/nx/executors.json b/libs/nx/executors.json index 16811d8f7b..12f8e4ce1d 100644 --- a/libs/nx/executors.json +++ b/libs/nx/executors.json @@ -5,10 +5,10 @@ "schema": "./src/executors/build-styles/schema.json", "description": "build-styles executor" }, - "build-tailwindcss": { - "implementation": "./src/executors/build-tailwindcss/executor", - "schema": "./src/executors/build-tailwindcss/schema.json", - "description": "build-tailwindcss executor" + "build-tailwind": { + "implementation": "./src/executors/build-tailwind/executor", + "schema": "./src/executors/build-tailwind/schema.json", + "description": "build-tailwind executor" }, "build-core": { "implementation": "./src/executors/build-core/executor", diff --git a/libs/nx/src/executors/build-docs/executor.ts b/libs/nx/src/executors/build-docs/executor.ts index b6bc43fbf1..b3339bbd2f 100644 --- a/libs/nx/src/executors/build-docs/executor.ts +++ b/libs/nx/src/executors/build-docs/executor.ts @@ -69,7 +69,6 @@ async function copyResources(options: BuildDocsExecutorSchema) { await copyToAsset(join(resourceRoot, 'tags.json'), 'data/tags.json') await copyToPublic(join(packageRoot, 'core/www/build'), 'build') - // await copyToPublic(join(packageRoot, 'table/css/design-system-table.css'), 'assets/css/design-system-table.css') await copyToPublic( join(packageRoot, 'styles/css/baloise-design-system.min.css'), 'assets/css/baloise-design-system.min.css', diff --git a/libs/nx/src/executors/build-tailwindcss/executor.ts b/libs/nx/src/executors/build-tailwind/executor.ts similarity index 93% rename from libs/nx/src/executors/build-tailwindcss/executor.ts rename to libs/nx/src/executors/build-tailwind/executor.ts index b84edc3ff6..3253e107e6 100644 --- a/libs/nx/src/executors/build-tailwindcss/executor.ts +++ b/libs/nx/src/executors/build-tailwind/executor.ts @@ -6,9 +6,9 @@ import { generateSpacing } from './generators/spacing' import { generateTypography } from './generators/typography' import { NEWLINE } from './generators/utils' import { generateZIndex } from './generators/z-index' -import { BuildTailwindcssExecutorSchema } from './schema' +import { BuildTailwindExecutorSchema } from './schema' -export default async function runExecutor(options: BuildTailwindcssExecutorSchema) { +export default async function runExecutor(options: BuildTailwindExecutorSchema) { try { let content = `` content += await generateBorder(options) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/border.ts b/libs/nx/src/executors/build-tailwind/generators/border.ts similarity index 89% rename from libs/nx/src/executors/build-tailwindcss/generators/border.ts rename to libs/nx/src/executors/build-tailwind/generators/border.ts index 88c2150e2c..fc087f39cb 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/border.ts +++ b/libs/nx/src/executors/build-tailwind/generators/border.ts @@ -1,7 +1,7 @@ -import { BuildTailwindcssExecutorSchema } from '../schema' +import { BuildTailwindExecutorSchema } from '../schema' import { getTokens, NEWLINE } from './utils' -export const generateBorder = async (options: BuildTailwindcssExecutorSchema) => { +export const generateBorder = async (options: BuildTailwindExecutorSchema) => { const borderWidthTokens = await getTokens({ token: 'size.border.width', ...options }) const borderWidth = diff --git a/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts b/libs/nx/src/executors/build-tailwind/generators/line-height.ts similarity index 82% rename from libs/nx/src/executors/build-tailwindcss/generators/line-height.ts rename to libs/nx/src/executors/build-tailwind/generators/line-height.ts index bd3cdcaa61..fa81ea0d5f 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/line-height.ts +++ b/libs/nx/src/executors/build-tailwind/generators/line-height.ts @@ -1,11 +1,11 @@ -import { BuildTailwindcssExecutorSchema } from '../schema' +import { BuildTailwindExecutorSchema } from '../schema' import { getTokens, NEWLINE } from './utils' type Token = { name: string; value: string } type ResponsiveToken = { mobile: Token; tablet: Token; desktop: Token } type ResponsiveTokens = { [size: string]: ResponsiveToken } -export const generateLineHeight = async (options: BuildTailwindcssExecutorSchema) => { +export const generateLineHeight = async (options: BuildTailwindExecutorSchema) => { const tokens = (await getTokens({ token: 'size.text.size', ...options })) as any as ResponsiveTokens return ( diff --git a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts b/libs/nx/src/executors/build-tailwind/generators/spacing.ts similarity index 89% rename from libs/nx/src/executors/build-tailwindcss/generators/spacing.ts rename to libs/nx/src/executors/build-tailwind/generators/spacing.ts index f235c9e4d8..f3bcf4edb4 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/spacing.ts +++ b/libs/nx/src/executors/build-tailwind/generators/spacing.ts @@ -1,4 +1,4 @@ -import { BuildTailwindcssExecutorSchema } from '../schema' +import { BuildTailwindExecutorSchema } from '../schema' import { getTokens, NEWLINE } from './utils' type Token = { name: string; value: string } @@ -7,7 +7,7 @@ type SpacingTokens = { [key: string]: { [breakpoint: string]: Token } } const PADDINGS = ['p', 'px', 'py', 'pt', 'pr', 'pb', 'pl'] const MARGINS = ['m', 'mx', 'my', 'mt', 'mr', 'mb', 'ml'] -export const generateSpacing = async (options: BuildTailwindcssExecutorSchema) => { +export const generateSpacing = async (options: BuildTailwindExecutorSchema) => { const tokens = (await getTokens({ token: 'size.space', ...options })) as any as SpacingTokens const paddings = PADDINGS.map(prefix => generateSpacingWithPrefix(prefix, tokens)).join(NEWLINE) diff --git a/libs/nx/src/executors/build-tailwindcss/generators/typography.ts b/libs/nx/src/executors/build-tailwind/generators/typography.ts similarity index 82% rename from libs/nx/src/executors/build-tailwindcss/generators/typography.ts rename to libs/nx/src/executors/build-tailwind/generators/typography.ts index 6fce0da94a..8b112c211f 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/typography.ts +++ b/libs/nx/src/executors/build-tailwind/generators/typography.ts @@ -1,11 +1,11 @@ -import { BuildTailwindcssExecutorSchema } from '../schema' +import { BuildTailwindExecutorSchema } from '../schema' import { getTokens, NEWLINE } from './utils' type Token = { name: string; value: string } type ResponsiveToken = { mobile: Token; tablet: Token; desktop: Token } type ResponsiveTokens = { [size: string]: ResponsiveToken } -export const generateTypography = async (options: BuildTailwindcssExecutorSchema) => { +export const generateTypography = async (options: BuildTailwindExecutorSchema) => { const tokens = (await getTokens({ token: 'size.text.size', ...options })) as any as ResponsiveTokens return ( diff --git a/libs/nx/src/executors/build-tailwindcss/generators/utils.ts b/libs/nx/src/executors/build-tailwind/generators/utils.ts similarity index 100% rename from libs/nx/src/executors/build-tailwindcss/generators/utils.ts rename to libs/nx/src/executors/build-tailwind/generators/utils.ts diff --git a/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts b/libs/nx/src/executors/build-tailwind/generators/z-index.ts similarity index 75% rename from libs/nx/src/executors/build-tailwindcss/generators/z-index.ts rename to libs/nx/src/executors/build-tailwind/generators/z-index.ts index 96e42fd4fd..cf7d9e40e1 100644 --- a/libs/nx/src/executors/build-tailwindcss/generators/z-index.ts +++ b/libs/nx/src/executors/build-tailwind/generators/z-index.ts @@ -1,7 +1,7 @@ -import { BuildTailwindcssExecutorSchema } from '../schema' +import { BuildTailwindExecutorSchema } from '../schema' import { getTokens, NEWLINE } from './utils' -export const generateZIndex = async (options: BuildTailwindcssExecutorSchema) => { +export const generateZIndex = async (options: BuildTailwindExecutorSchema) => { const tokens = await getTokens({ token: 'size.z-index', ...options }) return ( diff --git a/libs/nx/src/executors/build-tailwindcss/schema.d.ts b/libs/nx/src/executors/build-tailwind/schema.d.ts similarity index 57% rename from libs/nx/src/executors/build-tailwindcss/schema.d.ts rename to libs/nx/src/executors/build-tailwind/schema.d.ts index f15a48b09b..c0b5e8f08b 100644 --- a/libs/nx/src/executors/build-tailwindcss/schema.d.ts +++ b/libs/nx/src/executors/build-tailwind/schema.d.ts @@ -1,4 +1,4 @@ -export interface BuildTailwindcssExecutorSchema { +export interface BuildTailwindExecutorSchema { projectRoot: string tokensRoot: string } // eslint-disable-line diff --git a/libs/nx/src/executors/build-tailwindcss/schema.json b/libs/nx/src/executors/build-tailwind/schema.json similarity index 83% rename from libs/nx/src/executors/build-tailwindcss/schema.json rename to libs/nx/src/executors/build-tailwind/schema.json index 23fe42ae7f..6a8239257e 100644 --- a/libs/nx/src/executors/build-tailwindcss/schema.json +++ b/libs/nx/src/executors/build-tailwind/schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/schema", "version": 2, - "title": "BuildTailwindcss executor", + "title": "Build Tailwind Executor", "description": "", "type": "object", "properties": { diff --git a/package-lock.json b/package-lock.json index 28b24ba2b6..2d3ed07cde 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4530,8 +4530,8 @@ "resolved": "packages/table", "link": true }, - "node_modules/@baloise/ds-tailwindcss": { - "resolved": "packages/tailwindcss", + "node_modules/@baloise/ds-tailwind": { + "resolved": "packages/tailwind", "link": true }, "node_modules/@baloise/ds-testing": { @@ -16728,277 +16728,6 @@ "node": ">=18" } }, - "node_modules/@tailwindcss/node": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.5.tgz", - "integrity": "sha512-CBhSWo0vLnWhXIvpD0qsPephiaUYfHUX3U9anwDaHZAeuGpTiB3XmsxPAN6qX7bFhipyGBqOa1QYQVVhkOUGxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "lightningcss": "1.29.2", - "tailwindcss": "4.1.5" - } - }, - "node_modules/@tailwindcss/node/node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/@tailwindcss/node/node_modules/tailwindcss": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.5.tgz", - "integrity": "sha512-nYtSPfWGDiWgCkwQG/m+aX83XCwf62sBgg3bIlNiiOcggnS1x3uVRDAuyelBFL+vJdOPPCGElxv9DjHJjRHiVA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.5.tgz", - "integrity": "sha512-1n4br1znquEvyW/QuqMKQZlBen+jxAbvyduU87RS8R3tUSvByAkcaMTkJepNIrTlYhD+U25K4iiCIxE6BGdRYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.5", - "@tailwindcss/oxide-darwin-arm64": "4.1.5", - "@tailwindcss/oxide-darwin-x64": "4.1.5", - "@tailwindcss/oxide-freebsd-x64": "4.1.5", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.5", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.5", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.5", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.5", - "@tailwindcss/oxide-linux-x64-musl": "4.1.5", - "@tailwindcss/oxide-wasm32-wasi": "4.1.5", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.5", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.5" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.5.tgz", - "integrity": "sha512-LVvM0GirXHED02j7hSECm8l9GGJ1RfgpWCW+DRn5TvSaxVsv28gRtoL4aWKGnXqwvI3zu1GABeDNDVZeDPOQrw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.5.tgz", - "integrity": "sha512-//TfCA3pNrgnw4rRJOqavW7XUk8gsg9ddi8cwcsWXp99tzdBAZW0WXrD8wDyNbqjW316Pk2hiN/NJx/KWHl8oA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.5.tgz", - "integrity": "sha512-XQorp3Q6/WzRd9OalgHgaqgEbjP3qjHrlSUb5k1EuS1Z9NE9+BbzSORraO+ecW432cbCN7RVGGL/lSnHxcd+7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.5.tgz", - "integrity": "sha512-bPrLWbxo8gAo97ZmrCbOdtlz/Dkuy8NK97aFbVpkJ2nJ2Jo/rsCbu0TlGx8joCuA3q6vMWTSn01JY46iwG+clg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.5.tgz", - "integrity": "sha512-1gtQJY9JzMAhgAfvd/ZaVOjh/Ju/nCoAsvOVJenWZfs05wb8zq+GOTnZALWGqKIYEtyNpCzvMk+ocGpxwdvaVg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.5.tgz", - "integrity": "sha512-dtlaHU2v7MtdxBXoqhxwsWjav7oim7Whc6S9wq/i/uUMTWAzq/gijq1InSgn2yTnh43kR+SFvcSyEF0GCNu1PQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.5.tgz", - "integrity": "sha512-fg0F6nAeYcJ3CriqDT1iVrqALMwD37+sLzXs8Rjy8Z1ZHshJoYceodfyUwGJEsQoTyWbliFNRs2wMQNXtT7MVA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.5.tgz", - "integrity": "sha512-SO+F2YEIAHa1AITwc8oPwMOWhgorPzzcbhWEb+4oLi953h45FklDmM8dPSZ7hNHpIk9p/SCZKUYn35t5fjGtHA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.5.tgz", - "integrity": "sha512-6UbBBplywkk/R+PqqioskUeXfKcBht3KU7juTi1UszJLx0KPXUo10v2Ok04iBJIaDPkIFkUOVboXms5Yxvaz+g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.5.tgz", - "integrity": "sha512-hwALf2K9FHuiXTPqmo1KeOb83fTRNbe9r/Ixv9ZNQ/R24yw8Ge1HOWDDgTdtzntIaIUJG5dfXCf4g9AD4RiyhQ==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@emnapi/wasi-threads": "^1.0.2", - "@napi-rs/wasm-runtime": "^0.2.9", - "@tybys/wasm-util": "^0.9.0", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.5.tgz", - "integrity": "sha512-oDKncffWzaovJbkuR7/OTNFRJQVdiw/n8HnzaCItrNQUeQgjy7oUiYpsm9HUBgpmvmDpSSbGaCa2Evzvk3eFmA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.5.tgz", - "integrity": "sha512-WiR4dtyrFdbb+ov0LK+7XsFOsG+0xs0PKZKkt41KDn9jYpO7baE3bXiudPVkTqUEwNfiglCygQHl2jklvSBi7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@tokenizer/token": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", @@ -50571,8 +50300,7 @@ "ag-grid-community": ">=29.3.0" } }, - "packages/tailwindcss": { - "name": "@baloise/ds-tailwindcss", + "packages/tailwind": { "version": "18.3.0", "license": "Apache-2.0", "dependencies": { @@ -50586,7 +50314,7 @@ "tailwindcss": "^4.1.5" }, "bin": { - "ds-tailwindcss-migrate": "bin/index.mjs" + "ds-tailwind-migrate": "bin/index.mjs" }, "devDependencies": { "@tailwindcss/cli": "^4.1.6", @@ -50594,19 +50322,30 @@ "vite": "^6.3.5" } }, - "packages/tailwindcss/node_modules/@baloise/ds-fonts": { + "packages/tailwind/node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "packages/tailwind/node_modules/@baloise/ds-fonts": { "version": "18.3.0", "resolved": "https://registry.npmjs.org/@baloise/ds-fonts/-/ds-fonts-18.3.0.tgz", - "integrity": "sha512-pV+px6VLPmEc85FklzQE+3zqdmvDQNnMGUtcIUOly/ykLaK9TCYE1R71+TA5L29dtYgE9cWhYDAYeBGa9J9w8g==", - "license": "Apache-2.0" + "integrity": "sha512-pV+px6VLPmEc85FklzQE+3zqdmvDQNnMGUtcIUOly/ykLaK9TCYE1R71+TA5L29dtYgE9cWhYDAYeBGa9J9w8g==" }, - "packages/tailwindcss/node_modules/@baloise/ds-tokens": { + "packages/tailwind/node_modules/@baloise/ds-tokens": { "version": "18.3.0", "resolved": "https://registry.npmjs.org/@baloise/ds-tokens/-/ds-tokens-18.3.0.tgz", - "integrity": "sha512-n8rUOmKEsB+CcIBeOXpgP7KeDuATaJZc//8Vv05dhKxBgsjzSn1B0T1wwN2ZVOSrW1RsjfEE8W1qlWjG6VLSSQ==", - "license": "Apache-2.0" + "integrity": "sha512-n8rUOmKEsB+CcIBeOXpgP7KeDuATaJZc//8Vv05dhKxBgsjzSn1B0T1wwN2ZVOSrW1RsjfEE8W1qlWjG6VLSSQ==" }, - "packages/tailwindcss/node_modules/@esbuild/android-arm": { + "packages/tailwind/node_modules/@esbuild/android-arm": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", @@ -50614,7 +50353,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -50623,7 +50361,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/android-arm64": { + "packages/tailwind/node_modules/@esbuild/android-arm64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", @@ -50631,7 +50369,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -50640,7 +50377,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/android-x64": { + "packages/tailwind/node_modules/@esbuild/android-x64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", @@ -50648,7 +50385,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -50657,7 +50393,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/darwin-arm64": { + "packages/tailwind/node_modules/@esbuild/darwin-arm64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", @@ -50665,7 +50401,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -50674,7 +50409,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/darwin-x64": { + "packages/tailwind/node_modules/@esbuild/darwin-x64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", @@ -50682,7 +50417,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -50691,7 +50425,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/freebsd-arm64": { + "packages/tailwind/node_modules/@esbuild/freebsd-arm64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", @@ -50699,7 +50433,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -50708,7 +50441,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/freebsd-x64": { + "packages/tailwind/node_modules/@esbuild/freebsd-x64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", @@ -50716,7 +50449,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -50725,7 +50457,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-arm": { + "packages/tailwind/node_modules/@esbuild/linux-arm": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", @@ -50733,7 +50465,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50742,7 +50473,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-arm64": { + "packages/tailwind/node_modules/@esbuild/linux-arm64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", @@ -50750,7 +50481,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50759,7 +50489,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-ia32": { + "packages/tailwind/node_modules/@esbuild/linux-ia32": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", @@ -50767,7 +50497,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50776,7 +50505,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-loong64": { + "packages/tailwind/node_modules/@esbuild/linux-loong64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", @@ -50784,7 +50513,6 @@ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50793,7 +50521,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-mips64el": { + "packages/tailwind/node_modules/@esbuild/linux-mips64el": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", @@ -50801,7 +50529,6 @@ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50810,7 +50537,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-ppc64": { + "packages/tailwind/node_modules/@esbuild/linux-ppc64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", @@ -50818,7 +50545,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50827,7 +50553,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-riscv64": { + "packages/tailwind/node_modules/@esbuild/linux-riscv64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", @@ -50835,7 +50561,6 @@ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50844,7 +50569,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-s390x": { + "packages/tailwind/node_modules/@esbuild/linux-s390x": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", @@ -50852,7 +50577,6 @@ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50861,7 +50585,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/linux-x64": { + "packages/tailwind/node_modules/@esbuild/linux-x64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", @@ -50869,7 +50593,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -50878,7 +50601,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/netbsd-x64": { + "packages/tailwind/node_modules/@esbuild/netbsd-x64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", @@ -50886,7 +50609,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -50895,7 +50617,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/openbsd-x64": { + "packages/tailwind/node_modules/@esbuild/openbsd-x64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", @@ -50903,7 +50625,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -50912,7 +50633,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/sunos-x64": { + "packages/tailwind/node_modules/@esbuild/sunos-x64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", @@ -50920,7 +50641,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -50929,7 +50649,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/win32-arm64": { + "packages/tailwind/node_modules/@esbuild/win32-arm64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", @@ -50937,7 +50657,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -50946,7 +50665,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/win32-ia32": { + "packages/tailwind/node_modules/@esbuild/win32-ia32": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", @@ -50954,7 +50673,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -50963,7 +50681,7 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@esbuild/win32-x64": { + "packages/tailwind/node_modules/@esbuild/win32-x64": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", @@ -50971,7 +50689,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -50980,11 +50697,10 @@ "node": ">=18" } }, - "packages/tailwindcss/node_modules/@phenomnomnominal/tsquery": { + "packages/tailwind/node_modules/@phenomnomnominal/tsquery": { "version": "6.1.3", "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-6.1.3.tgz", "integrity": "sha512-CEqpJ872StsxRmwv9ePCZ4BCisrJSlREUC5XxIRYxhvODt4aQoJFFmjTgaP6meyKiiXxxN/VWPZ58j4yHXRkmw==", - "license": "MIT", "dependencies": { "@types/esquery": "^1.5.0", "esquery": "^1.5.0" @@ -50993,28 +50709,283 @@ "typescript": "^3 || ^4 || ^5" } }, - "packages/tailwindcss/node_modules/@tailwindcss/vite": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.5.tgz", - "integrity": "sha512-FE1stRoqdHSb7RxesMfCXE8icwI1W6zGE/512ae3ZDrpkQYTTYeSyUJPRCjZd8CwVAhpDUbi1YR8pcZioFJQ/w==", + "packages/tailwind/node_modules/@tailwindcss/node": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.7.tgz", + "integrity": "sha512-9rsOpdY9idRI2NH6CL4wORFY0+Q6fnx9XP9Ju+iq/0wJwGD5IByIgFmwVbyy4ymuyprj8Qh4ErxMKTUL4uNh3g==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.30.1", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.7" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.7.tgz", + "integrity": "sha512-5SF95Ctm9DFiUyjUPnDGkoKItPX/k+xifcQhcqX5RA85m50jw1pT/KzjdvlqxRja45Y52nR4MR9fD1JYd7f8NQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.7", + "@tailwindcss/oxide-darwin-arm64": "4.1.7", + "@tailwindcss/oxide-darwin-x64": "4.1.7", + "@tailwindcss/oxide-freebsd-x64": "4.1.7", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.7", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.7", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.7", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.7", + "@tailwindcss/oxide-linux-x64-musl": "4.1.7", + "@tailwindcss/oxide-wasm32-wasi": "4.1.7", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.7", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.7" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.7.tgz", + "integrity": "sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.7.tgz", + "integrity": "sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.7.tgz", + "integrity": "sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.7.tgz", + "integrity": "sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.7.tgz", + "integrity": "sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.7.tgz", + "integrity": "sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.7.tgz", + "integrity": "sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.7.tgz", + "integrity": "sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.7.tgz", + "integrity": "sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.7.tgz", + "integrity": "sha512-ANaSKt74ZRzE2TvJmUcbFQ8zS201cIPxUDm5qez5rLEwWkie2SkGtA4P+GPTj+u8N6JbPrC8MtY8RmJA35Oo+A==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@emnapi/wasi-threads": "^1.0.2", + "@napi-rs/wasm-runtime": "^0.2.9", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.7.tgz", + "integrity": "sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.7.tgz", + "integrity": "sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "packages/tailwind/node_modules/@tailwindcss/vite": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.7.tgz", + "integrity": "sha512-tYa2fO3zDe41I7WqijyVbRd8oWT0aEID1Eokz5hMT6wShLIHj3yvwj9XbfuloHP9glZ6H+aG2AN/+ZrxJ1Y5RQ==", "dev": true, - "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.1.5", - "@tailwindcss/oxide": "4.1.5", - "tailwindcss": "4.1.5" + "@tailwindcss/node": "4.1.7", + "@tailwindcss/oxide": "4.1.7", + "tailwindcss": "4.1.7" }, "peerDependencies": { "vite": "^5.2.0 || ^6" } }, - "packages/tailwindcss/node_modules/esbuild": { + "packages/tailwind/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "packages/tailwind/node_modules/esbuild": { "version": "0.25.4", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -51049,11 +51020,10 @@ "@esbuild/win32-x64": "0.25.4" } }, - "packages/tailwindcss/node_modules/glob": { + "packages/tailwind/node_modules/glob": { "version": "10.3.10", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.3.5", @@ -51071,11 +51041,10 @@ "url": "https://github.com/sponsors/isaacs" } }, - "packages/tailwindcss/node_modules/jackspeak": { + "packages/tailwind/node_modules/jackspeak": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -51089,12 +51058,284 @@ "@pkgjs/parseargs": "^0.11.0" } }, - "packages/tailwindcss/node_modules/picomatch": { + "packages/tailwind/node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "packages/tailwind/node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "packages/tailwind/node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "packages/tailwind/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "packages/tailwind/node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "packages/tailwind/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "packages/tailwind/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -51102,7 +51343,7 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "packages/tailwindcss/node_modules/postcss": { + "packages/tailwind/node_modules/postcss": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", @@ -51121,7 +51362,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -51131,18 +51371,33 @@ "node": "^10 || ^12 || >=14" } }, - "packages/tailwindcss/node_modules/tailwindcss": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.5.tgz", - "integrity": "sha512-nYtSPfWGDiWgCkwQG/m+aX83XCwf62sBgg3bIlNiiOcggnS1x3uVRDAuyelBFL+vJdOPPCGElxv9DjHJjRHiVA==", - "license": "MIT" + "packages/tailwind/node_modules/tailwindcss": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.7.tgz", + "integrity": "sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==" + }, + "packages/tailwind/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } }, - "packages/tailwindcss/node_modules/vite": { + "packages/tailwind/node_modules/vite": { "version": "6.3.5", "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, - "license": "MIT", "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -51212,6 +51467,39 @@ } } }, + "packages/tailwind/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "packages/tailwindcss": { + "name": "@baloise/ds-tailwindcss", + "version": "18.3.0", + "extraneous": true, + "license": "Apache-2.0", + "dependencies": { + "@baloise/ds-fonts": "18.3.0", + "@baloise/ds-tokens": "18.3.0", + "@phenomnomnominal/tsquery": "6.1.3", + "cheerio": "1.0.0-rc.12", + "glob": "10.3.10", + "prompts": "2.4.2", + "replace-in-file": "7.1.0", + "tailwindcss": "^4.1.5" + }, + "bin": { + "ds-tailwindcss-migrate": "bin/index.mjs" + }, + "devDependencies": { + "@tailwindcss/cli": "^4.1.6", + "@tailwindcss/vite": "^4.1.5", + "vite": "^6.3.5" + } + }, "packages/testing": { "name": "@baloise/ds-testing", "version": "19.0.0", diff --git a/packages/tailwindcss/.eslintignore b/packages/tailwind/.eslintignore similarity index 100% rename from packages/tailwindcss/.eslintignore rename to packages/tailwind/.eslintignore diff --git a/packages/tailwindcss/.npmignore b/packages/tailwind/.npmignore similarity index 100% rename from packages/tailwindcss/.npmignore rename to packages/tailwind/.npmignore diff --git a/packages/tailwindcss/bin/index.mjs b/packages/tailwind/bin/index.mjs old mode 100755 new mode 100644 similarity index 99% rename from packages/tailwindcss/bin/index.mjs rename to packages/tailwind/bin/index.mjs index c03a1197bd..72f3a492d8 --- a/packages/tailwindcss/bin/index.mjs +++ b/packages/tailwind/bin/index.mjs @@ -9,7 +9,7 @@ import replace from 'replace-in-file' // MAIN // ================================================================================ const main = async () => { - const log = logger('Tailwindcss Migration') + const log = logger('Tailwind CSS Migration') const response = await prompts([ { type: 'multiselect', diff --git a/packages/tailwindcss/index.html b/packages/tailwind/index.html similarity index 100% rename from packages/tailwindcss/index.html rename to packages/tailwind/index.html diff --git a/packages/tailwindcss/package.json b/packages/tailwind/package.json similarity index 84% rename from packages/tailwindcss/package.json rename to packages/tailwind/package.json index e7e1ffa1c3..751e38dfb9 100644 --- a/packages/tailwindcss/package.json +++ b/packages/tailwind/package.json @@ -1,5 +1,5 @@ { - "name": "@baloise/ds-tailwindcss", + "name": "@baloise/ds-tailwind", "version": "18.3.0", "description": "The Baloise Design-System is an open source project for styling awesome web applications that follow the Baloise corporate styling guidelines.", "repository": { @@ -13,13 +13,13 @@ "license": "Apache-2.0", "type": "module", "bin": { - "ds-tailwindcss-migrate": "./bin/index.mjs" + "ds-tailwind-migrate": "./bin/index.mjs" }, "scripts": { "dev": "vite", "build": "vite build", - "preview": "vite preview", - "static": "npx @tailwindcss/cli -i ./src/static.css -o ./css/static.css" + "build:all": "npx @tailwindcss/cli -i ./src/all.css -o ./css/all.css", + "preview": "vite preview" }, "main": "src/index.css", "style": "src/index.css", diff --git a/packages/tailwindcss/project.json b/packages/tailwind/project.json similarity index 76% rename from packages/tailwindcss/project.json rename to packages/tailwind/project.json index 1c6e8ada2e..604a395575 100644 --- a/packages/tailwindcss/project.json +++ b/packages/tailwind/project.json @@ -1,12 +1,12 @@ { - "name": "tailwindcss", + "name": "tailwind", "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "packages/tailwindcss/src", + "sourceRoot": "packages/tailwind/src", "projectType": "library", "targets": { "build": { - "dependsOn": ["^prepare"], - "executor": "@baloise/ds-nx:build-tailwindcss", + "dependsOn": ["prepare"], + "executor": "@baloise/ds-nx:build-tailwind", "outputs": ["{projectRoot}/css"], "options": { "projectRoot": "{projectRoot}", @@ -17,7 +17,7 @@ "executor": "nx:run-commands", "options": { "cwd": "{projectRoot}", - "command": "npm run build" + "command": "npm run build && npm run build:all" } }, "link": { diff --git a/packages/tailwindcss/src/static.css b/packages/tailwind/src/all.css similarity index 100% rename from packages/tailwindcss/src/static.css rename to packages/tailwind/src/all.css diff --git a/packages/tailwind/src/base.css b/packages/tailwind/src/base.css new file mode 100644 index 0000000000..8a0c79c56e --- /dev/null +++ b/packages/tailwind/src/base.css @@ -0,0 +1,10 @@ +@import '@baloise/ds-fonts/css/fonts.css'; +@import '@baloise/ds-styles/css/structure'; +@import '@baloise/ds-styles/css/core'; + +@import 'tailwindcss'; + +@import './theme'; +@import './variant'; +@import './layer'; +@import './utilities'; diff --git a/packages/tailwindcss/src/index.css b/packages/tailwind/src/index.css similarity index 100% rename from packages/tailwindcss/src/index.css rename to packages/tailwind/src/index.css diff --git a/packages/tailwindcss/src/layer.css b/packages/tailwind/src/layer.css similarity index 100% rename from packages/tailwindcss/src/layer.css rename to packages/tailwind/src/layer.css diff --git a/packages/tailwindcss/src/sets/all.css b/packages/tailwind/src/sets/all.css similarity index 100% rename from packages/tailwindcss/src/sets/all.css rename to packages/tailwind/src/sets/all.css diff --git a/packages/tailwindcss/src/sets/background.set.css b/packages/tailwind/src/sets/background.set.css similarity index 100% rename from packages/tailwindcss/src/sets/background.set.css rename to packages/tailwind/src/sets/background.set.css diff --git a/packages/tailwindcss/src/sets/border.set.css b/packages/tailwind/src/sets/border.set.css similarity index 100% rename from packages/tailwindcss/src/sets/border.set.css rename to packages/tailwind/src/sets/border.set.css diff --git a/packages/tailwindcss/src/sets/display.set.css b/packages/tailwind/src/sets/display.set.css similarity index 100% rename from packages/tailwindcss/src/sets/display.set.css rename to packages/tailwind/src/sets/display.set.css diff --git a/packages/tailwindcss/src/sets/elevation.set.css b/packages/tailwind/src/sets/elevation.set.css similarity index 100% rename from packages/tailwindcss/src/sets/elevation.set.css rename to packages/tailwind/src/sets/elevation.set.css diff --git a/packages/tailwindcss/src/sets/flex.set.css b/packages/tailwind/src/sets/flex.set.css similarity index 100% rename from packages/tailwindcss/src/sets/flex.set.css rename to packages/tailwind/src/sets/flex.set.css diff --git a/packages/tailwindcss/src/sets/interactions.set.css b/packages/tailwind/src/sets/interactions.set.css similarity index 100% rename from packages/tailwindcss/src/sets/interactions.set.css rename to packages/tailwind/src/sets/interactions.set.css diff --git a/packages/tailwindcss/src/sets/sizing.set.css b/packages/tailwind/src/sets/sizing.set.css similarity index 100% rename from packages/tailwindcss/src/sets/sizing.set.css rename to packages/tailwind/src/sets/sizing.set.css diff --git a/packages/tailwindcss/src/sets/typography.set.css b/packages/tailwind/src/sets/typography.set.css similarity index 100% rename from packages/tailwindcss/src/sets/typography.set.css rename to packages/tailwind/src/sets/typography.set.css diff --git a/packages/tailwindcss/src/theme.css b/packages/tailwind/src/theme.css similarity index 100% rename from packages/tailwindcss/src/theme.css rename to packages/tailwind/src/theme.css diff --git a/packages/tailwindcss/src/utilities.css b/packages/tailwind/src/utilities.css similarity index 100% rename from packages/tailwindcss/src/utilities.css rename to packages/tailwind/src/utilities.css diff --git a/packages/tailwindcss/src/variant.css b/packages/tailwind/src/variant.css similarity index 100% rename from packages/tailwindcss/src/variant.css rename to packages/tailwind/src/variant.css diff --git a/packages/tailwindcss/test/css-border.visual.html b/packages/tailwind/test/css-border.visual.html similarity index 100% rename from packages/tailwindcss/test/css-border.visual.html rename to packages/tailwind/test/css-border.visual.html diff --git a/packages/tailwindcss/test/css-color.visual.html b/packages/tailwind/test/css-color.visual.html similarity index 100% rename from packages/tailwindcss/test/css-color.visual.html rename to packages/tailwind/test/css-color.visual.html diff --git a/packages/tailwindcss/test/css-core.visual.html b/packages/tailwind/test/css-core.visual.html similarity index 100% rename from packages/tailwindcss/test/css-core.visual.html rename to packages/tailwind/test/css-core.visual.html diff --git a/packages/tailwindcss/test/css-display.visual.html b/packages/tailwind/test/css-display.visual.html similarity index 100% rename from packages/tailwindcss/test/css-display.visual.html rename to packages/tailwind/test/css-display.visual.html diff --git a/packages/tailwindcss/test/css-flex.visual.html b/packages/tailwind/test/css-flex.visual.html similarity index 100% rename from packages/tailwindcss/test/css-flex.visual.html rename to packages/tailwind/test/css-flex.visual.html diff --git a/packages/tailwindcss/test/css-grid.visual.html b/packages/tailwind/test/css-grid.visual.html similarity index 100% rename from packages/tailwindcss/test/css-grid.visual.html rename to packages/tailwind/test/css-grid.visual.html diff --git a/packages/tailwindcss/test/css-inheritance.visual.html b/packages/tailwind/test/css-inheritance.visual.html similarity index 100% rename from packages/tailwindcss/test/css-inheritance.visual.html rename to packages/tailwind/test/css-inheritance.visual.html diff --git a/packages/tailwindcss/test/css-opacity.visual.html b/packages/tailwind/test/css-opacity.visual.html similarity index 100% rename from packages/tailwindcss/test/css-opacity.visual.html rename to packages/tailwind/test/css-opacity.visual.html diff --git a/packages/tailwindcss/test/css-radius.visual.html b/packages/tailwind/test/css-radius.visual.html similarity index 100% rename from packages/tailwindcss/test/css-radius.visual.html rename to packages/tailwind/test/css-radius.visual.html diff --git a/packages/tailwindcss/test/css-shadow.visual.html b/packages/tailwind/test/css-shadow.visual.html similarity index 100% rename from packages/tailwindcss/test/css-shadow.visual.html rename to packages/tailwind/test/css-shadow.visual.html diff --git a/packages/tailwindcss/test/css-spacing.visual.html b/packages/tailwind/test/css-spacing.visual.html similarity index 100% rename from packages/tailwindcss/test/css-spacing.visual.html rename to packages/tailwind/test/css-spacing.visual.html diff --git a/packages/tailwindcss/test/css-structure.visual.html b/packages/tailwind/test/css-structure.visual.html similarity index 100% rename from packages/tailwindcss/test/css-structure.visual.html rename to packages/tailwind/test/css-structure.visual.html diff --git a/packages/tailwindcss/test/css-typography.visual.html b/packages/tailwind/test/css-typography.visual.html similarity index 100% rename from packages/tailwindcss/test/css-typography.visual.html rename to packages/tailwind/test/css-typography.visual.html diff --git a/packages/tailwindcss/todo.md b/packages/tailwind/todo.md similarity index 100% rename from packages/tailwindcss/todo.md rename to packages/tailwind/todo.md diff --git a/packages/tailwindcss/vite.config.ts b/packages/tailwind/vite.config.ts similarity index 100% rename from packages/tailwindcss/vite.config.ts rename to packages/tailwind/vite.config.ts diff --git a/packages/tailwindcss/src/base.css b/packages/tailwindcss/src/base.css deleted file mode 100644 index 5da9e3f4c1..0000000000 --- a/packages/tailwindcss/src/base.css +++ /dev/null @@ -1,5 +0,0 @@ -@import 'tailwindcss'; -@import './theme'; -@import './variant'; -@import './layer'; -@import './utilities'; From e1adf293f4dbf0962c4fa6b0d5d27dc652725ad2 Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Sun, 18 May 2025 14:31:52 +0200 Subject: [PATCH 17/18] chore: update core --- libs/nx/src/executors/build-docs/executor.ts | 5 +- .../src/executors/build-tailwind/executor.ts | 9 +- .../test/bal-dropdown.visual.html | 2 +- .../bal-list/test/bal-list.native.html | 14 +-- .../test/bal-notification.visual.html | 4 +- .../test/bal-progress-bar.visual.html | 4 +- .../bal-shape/test/bal-shape.visual.html | 8 +- .../bal-sheet/test/bal-sheet.cy.html | 8 +- .../bal-sheet/test/bal-sheet.visual.html | 2 +- .../test/bal-snackbar.visual.html | 4 +- .../bal-toast/test/bal-toast.visual.html | 4 +- .../test/bal-tooltip-positions.visual.html | 6 +- packages/core/src/test/css-core.visual.html | 38 ++++---- packages/core/src/test/css-flex.visual.html | 86 ++++++++--------- packages/core/src/test/css-grid.visual.html | 96 +++++++++---------- packages/core/src/test/css-radius.visual.html | 8 +- .../core/src/test/css-typography.visual.html | 28 +++--- packages/core/stencil.config.ts | 11 +-- packages/tailwind/package.json | 2 +- 19 files changed, 167 insertions(+), 172 deletions(-) diff --git a/libs/nx/src/executors/build-docs/executor.ts b/libs/nx/src/executors/build-docs/executor.ts index b3339bbd2f..c893838538 100644 --- a/libs/nx/src/executors/build-docs/executor.ts +++ b/libs/nx/src/executors/build-docs/executor.ts @@ -69,10 +69,7 @@ async function copyResources(options: BuildDocsExecutorSchema) { await copyToAsset(join(resourceRoot, 'tags.json'), 'data/tags.json') await copyToPublic(join(packageRoot, 'core/www/build'), 'build') - await copyToPublic( - join(packageRoot, 'styles/css/baloise-design-system.min.css'), - 'assets/css/baloise-design-system.min.css', - ) + await copyToPublic(join(packageRoot, 'tailwind/css/all.min.css'), 'assets/css/baloise-design-system.min.css') await copyToPublic(join(packageRoot, 'icons/src/assets'), 'assets/images/icons') await copyToPublic(join(packageRoot, 'brand-icons/src/assets'), 'assets/images/brand-icons') await copyToPublic(join(packageRoot, 'fonts/assets'), 'assets/fonts') diff --git a/libs/nx/src/executors/build-tailwind/executor.ts b/libs/nx/src/executors/build-tailwind/executor.ts index 3253e107e6..e0d3e17c7f 100644 --- a/libs/nx/src/executors/build-tailwind/executor.ts +++ b/libs/nx/src/executors/build-tailwind/executor.ts @@ -1,4 +1,4 @@ -import { mkdir, rm, writeFile } from 'fs/promises' +import { mkdir, writeFile } from 'fs/promises' import { join } from 'path' import { generateBorder } from './generators/border' import { generateLineHeight } from './generators/line-height' @@ -19,8 +19,11 @@ export default async function runExecutor(options: BuildTailwindExecutorSchema) content += `${NEWLINE}${NEWLINE}` // create css output - await rm(join(options.projectRoot, 'css'), { recursive: true, force: true }) - await mkdir(join(options.projectRoot, 'css')) + try { + await mkdir(join(options.projectRoot, 'css'), { recursive: true }) + } catch (_e) { + // ignore error if directory already exists + } await writeFile(join(options.projectRoot, 'css', `utilities.css`), content) } catch (error) { console.error(error) diff --git a/packages/core/src/components/bal-dropdown/test/bal-dropdown.visual.html b/packages/core/src/components/bal-dropdown/test/bal-dropdown.visual.html index ba83a66fb9..bc5ac02edb 100644 --- a/packages/core/src/components/bal-dropdown/test/bal-dropdown.visual.html +++ b/packages/core/src/components/bal-dropdown/test/bal-dropdown.visual.html @@ -206,7 +206,7 @@

Form Field

Small Purple Theme

-
+
100 PS With a long label diff --git a/packages/core/src/components/bal-list/test/bal-list.native.html b/packages/core/src/components/bal-list/test/bal-list.native.html index 0fa178e0b1..48df49f13c 100644 --- a/packages/core/src/components/bal-list/test/bal-list.native.html +++ b/packages/core/src/components/bal-list/test/bal-list.native.html @@ -21,7 +21,7 @@

Basic

  • Item 4
  • -
    +
    • Item 1
    • Item 2
    • @@ -37,7 +37,7 @@

      Basic

    • Item 4
    -
    +
    1. Item 1
    2. Item 2
    3. @@ -54,7 +54,7 @@

      Bullet Circle

    4. Item 4
    -
    +
    • Item 1
    • Item 2
    • @@ -71,7 +71,7 @@

      Bullet Check

    • Item 4
    -
    +
    • Item 1
    • Item 2
    • @@ -88,7 +88,7 @@

      Bullet Check Circle

    • Item 4
    -
    +
    • Item 1
    • Item 2
    • @@ -105,7 +105,7 @@

      Bullet Close

    • Item 4
    -
    +
    • Item 1
    • Item 2
    • @@ -122,7 +122,7 @@

      Bullet Arrow Down

    • Item 4
    -
    +
    • Item 1
    • Item 2
    • diff --git a/packages/core/src/components/bal-notification/test/bal-notification.visual.html b/packages/core/src/components/bal-notification/test/bal-notification.visual.html index 25e8910f97..08e2812d95 100644 --- a/packages/core/src/components/bal-notification/test/bal-notification.visual.html +++ b/packages/core/src/components/bal-notification/test/bal-notification.visual.html @@ -20,7 +20,7 @@

      -
      +
      Strong Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. @@ -49,7 +49,7 @@

      -
      +
      Strong Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. diff --git a/packages/core/src/components/bal-progress-bar/test/bal-progress-bar.visual.html b/packages/core/src/components/bal-progress-bar/test/bal-progress-bar.visual.html index 9ee24c834a..29172e342c 100644 --- a/packages/core/src/components/bal-progress-bar/test/bal-progress-bar.visual.html +++ b/packages/core/src/components/bal-progress-bar/test/bal-progress-bar.visual.html @@ -39,14 +39,14 @@
      -
      +
      -
      +
      diff --git a/packages/core/src/components/bal-shape/test/bal-shape.visual.html b/packages/core/src/components/bal-shape/test/bal-shape.visual.html index c3b42a5c27..dc4902f5dd 100644 --- a/packages/core/src/components/bal-shape/test/bal-shape.visual.html +++ b/packages/core/src/components/bal-shape/test/bal-shape.visual.html @@ -18,7 +18,7 @@

      -
      +
      @@ -31,7 +31,7 @@

      -
      +
      @@ -40,7 +40,7 @@

      -
      +
      @@ -49,7 +49,7 @@

      -
      +
      diff --git a/packages/core/src/components/bal-sheet/test/bal-sheet.cy.html b/packages/core/src/components/bal-sheet/test/bal-sheet.cy.html index 7f23c14650..dbe89e1184 100644 --- a/packages/core/src/components/bal-sheet/test/bal-sheet.cy.html +++ b/packages/core/src/components/bal-sheet/test/bal-sheet.cy.html @@ -20,16 +20,16 @@

      Basic

      -
      +

      1'234 CHF

      -
      +

      Lorem, ipsum dolor sit amet consectetur adipisicing elit.

      -
      +
      Back
      -
      +
      Next
      diff --git a/packages/core/src/components/bal-sheet/test/bal-sheet.visual.html b/packages/core/src/components/bal-sheet/test/bal-sheet.visual.html index 1b94df9e52..7a3f691cee 100644 --- a/packages/core/src/components/bal-sheet/test/bal-sheet.visual.html +++ b/packages/core/src/components/bal-sheet/test/bal-sheet.visual.html @@ -17,7 +17,7 @@ Continue with 1'234 CHF Back
      -
      +

      1'234 CHF

      Lorem ipsum dolor

      diff --git a/packages/core/src/components/bal-snackbar/test/bal-snackbar.visual.html b/packages/core/src/components/bal-snackbar/test/bal-snackbar.visual.html index c4bee62df2..710b299947 100644 --- a/packages/core/src/components/bal-snackbar/test/bal-snackbar.visual.html +++ b/packages/core/src/components/bal-snackbar/test/bal-snackbar.visual.html @@ -10,7 +10,7 @@ -
      +
      Toast Message with a bold @@ -41,7 +41,7 @@
      -
      +
      Toast Message Toast Message Toast Message diff --git a/packages/core/src/components/bal-toast/test/bal-toast.visual.html b/packages/core/src/components/bal-toast/test/bal-toast.visual.html index d2e934dd12..6269ffc355 100644 --- a/packages/core/src/components/bal-toast/test/bal-toast.visual.html +++ b/packages/core/src/components/bal-toast/test/bal-toast.visual.html @@ -10,7 +10,7 @@ -
      +
      Toast Title @@ -35,7 +35,7 @@
      -
      +
      Toast Message Toast Message Toast Message diff --git a/packages/core/src/components/bal-tooltip/test/bal-tooltip-positions.visual.html b/packages/core/src/components/bal-tooltip/test/bal-tooltip-positions.visual.html index 95216b52a3..95157f7d0c 100644 --- a/packages/core/src/components/bal-tooltip/test/bal-tooltip-positions.visual.html +++ b/packages/core/src/components/bal-tooltip/test/bal-tooltip-positions.visual.html @@ -16,13 +16,13 @@
      -
      +
      TOP

      -
      +
      LEFT
      @@ -32,7 +32,7 @@

      -
      +
      BOTTOM
      diff --git a/packages/core/src/test/css-core.visual.html b/packages/core/src/test/css-core.visual.html index fc1dd38e20..f516ada8f1 100644 --- a/packages/core/src/test/css-core.visual.html +++ b/packages/core/src/test/css-core.visual.html @@ -11,7 +11,7 @@
      -
      +

      Grid

      1
      @@ -19,7 +19,7 @@

      Grid

      AUTO
      -
      +

      Text Colors

      Default - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

      Light-Blue / Hover - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

      @@ -30,13 +30,13 @@

      Text Colors

      Warning - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

      Danger / Valid - Lorem ipsum dolor sit, amet consectetur adipisicing elit.

      -
      +

      Shadow Text & Button

      Title

      Paragraph

      -
      +

      List

      • List Item 1
      • @@ -90,18 +90,18 @@

        List

      -
      +

      Border & Radius

      -
      Blue / None
      +
      Blue / None
      Normal / Small
      -
      Hover / Normal
      -
      Active / Large
      -
      Valid / Rounded
      -
      Invalid / Rounded
      -
      Warning / Rounded
      -
      Disabled / Rounded
      +
      Hover / Normal
      +
      Active / Large
      +
      Valid / Rounded
      +
      Invalid / Rounded
      +
      Warning / Rounded
      +
      Disabled / Rounded
      -
      +

      Typography

      @@ -140,12 +140,12 @@
      Subtitle 5

      x-small-text

      -

      bold

      +

      bold

      Link
      -
      +

      Table

      @@ -160,7 +160,7 @@

      Table

      -
      +

      Form

      @@ -290,7 +290,7 @@

      Form

      -
      +
      -
      +

      Button

      Colors

      @@ -544,7 +544,7 @@

      Modifiers

      -
      +

      Colors

      1
      diff --git a/packages/core/src/test/css-flex.visual.html b/packages/core/src/test/css-flex.visual.html index 2d70f4dc55..dd8debe740 100644 --- a/packages/core/src/test/css-flex.visual.html +++ b/packages/core/src/test/css-flex.visual.html @@ -24,19 +24,19 @@
      -
      +
      Flex direction row 1
      Flex direction row 2
      -
      +
      Flex direction row reverse 1
      Flex direction row reverse 2
      -
      +
      Flex direction column 1
      Flex direction column 2
      -
      +
      Flex direction column reverse 1
      Flex direction column reverse 2
      @@ -67,68 +67,68 @@
      -
      +
      Justify content flex start
      -
      +
      Justify content flex end
      -
      +
      Justify content center
      -
      +
      Justify content space between
      Justify content space between
      -
      +
      Justify content space around
      Justify content space around
      -
      +
      Justify content space evenly
      Justify content space evenly
      -
      +
      Justify content start
      -
      +
      Justify content end
      -
      +
      Justify content left
      -
      +
      Justify content right
      -
      +
      Align content flex start 1
      Align content flex start 2
      Align content flex start 3
      -
      +
      Align content flex end 1
      Align content flex end 2
      Align content flex end 3
      -
      +
      Align content center 1
      Align content center 2
      Align content center 3
      -
      +
      Align content space between 1
      Align content space between 2
      Align content space between 3
      -
      +
      Align content space around 1
      Align content space around 2
      Align content space around 3
      -
      +
      Align content space evenly 1
      Align content space evenly 2
      Align content space evenly 3
      @@ -136,84 +136,84 @@
      Align content stretch
      -
      +
      Align content start 1
      Align content start 2
      -
      +
      Align content end 1
      Align content end 2
      -
      +
      Align content baseline
      -
      +
      Align items flex start 1
      Align items flex start 2
      Align items flex start 3
      -
      +
      Align items flex end 1
      Align items flex end 2
      Align items flex end 3
      -
      +
      Align items center
      -
      +
      Align items self start 1
      Align items self start 2
      -
      +
      Align items self end 1
      Align items self end 2
      -
      +
      Align items stretch
      -
      +
      Align items start 1
      Align items start 2
      -
      +
      Align items end 1
      Align items end 2
      -
      +
      Align items baseline
      -
      +
      Align self auto 1
      Align items flex end 2
      Align items flex end 3
      -
      -
      Align self flex start 1
      +
      +
      Align self flex start 1
      Align items flex end 2
      Align items flex end 3
      -
      -
      Align self flex end 1
      +
      +
      Align self flex end 1
      Align items flex start 2
      Align items flex start 3
      -
      -
      Align self center 1
      +
      +
      Align self center 1
      Align items flex start 2
      -
      -
      Align self baseline 1
      +
      +
      Align self baseline 1
      Align items flex end 2
      Align items flex end 3
      -
      -
      Align self stretch 1
      +
      +
      Align self stretch 1
      Align items flex end 2
      Align items flex end 3
      diff --git a/packages/core/src/test/css-grid.visual.html b/packages/core/src/test/css-grid.visual.html index 163b37b54c..d1b70aa74b 100644 --- a/packages/core/src/test/css-grid.visual.html +++ b/packages/core/src/test/css-grid.visual.html @@ -20,16 +20,16 @@
      -
      First column
      +
      First column
      -
      Second column
      +
      Second column
      -
      Third column
      +
      Third column
      -
      Fourth column
      +
      Fourth column
      @@ -37,71 +37,71 @@
      -
      Full column
      +
      Full column
      -
      Half column
      +
      Half column
      -
      Half column
      +
      Half column
      -
      1 Third column
      +
      1 Third column
      -
      2 Thirds column
      +
      2 Thirds column
      -
      1 quarter column
      +
      1 quarter column
      -
      3 quarters column
      +
      3 quarters column
      -
      1 fifth column
      +
      1 fifth column
      -
      4 fifth column
      +
      4 fifth column
      -
      12
      +
      12
      -
      11
      +
      11
      -
      1
      +
      1
      -
      10
      +
      10
      -
      2
      +
      2
      -
      9
      +
      9
      -
      3
      +
      3
      -
      8
      +
      8
      -
      4
      +
      4
      -
      7
      +
      7
      -
      5
      +
      5
      -
      6
      +
      6
      -
      6
      +
      6
      @@ -109,10 +109,10 @@
      -
      1 Third column
      +
      1 Third column
      -
      3 quarters offset
      +
      3 quarters offset
      @@ -120,10 +120,10 @@
      -
      First row
      +
      First row
      -
      Second row
      +
      Second row
      @@ -131,15 +131,15 @@
      -
      Half
      +
      Half
      -
      Half
      +
      Half
      -
      Half
      +
      Half
      @@ -149,16 +149,16 @@
      -
      First column
      +
      First column
      -
      Second column
      +
      Second column
      -
      Third column
      +
      Third column
      -
      Fourth column
      +
      Fourth column
      @@ -168,7 +168,7 @@
      -
      +
      is-three-quarters-mobile
      is-two-thirds-tablet
      is-half-desktop
      @@ -177,20 +177,20 @@
      -
      auto
      +
      auto
      -
      auto
      -
      auto
      +
      auto
      +
      auto
      -
      First column
      +
      First column
      -
      +
      Second column with some random large text to make a good case here. Unfortunately, we need more content to make it visible that the first column is now vertically centered.
      @@ -201,7 +201,7 @@
      -
      My centered column
      +
      My centered column
      @@ -209,22 +209,22 @@
      -
      Stretches to the full height of the row
      +
      Stretches to the full height of the row
      -
      +
      Second column with some random large text to make a good case here. Unfortunately, we need more content to make it visible that the first column is now vertically centered.
      -
      +
      Second column with some random large text to make a good case here. Unfortunately, we need more content to make it visible that the first column is now vertically centered.
      -
      Stretches to the full height of the row
      +
      Stretches to the full height of the row
      diff --git a/packages/core/src/test/css-radius.visual.html b/packages/core/src/test/css-radius.visual.html index c6acbba0d6..3b90a0390e 100644 --- a/packages/core/src/test/css-radius.visual.html +++ b/packages/core/src/test/css-radius.visual.html @@ -31,7 +31,7 @@
      Default
      -
      None
      +
      None
      Top none
      Left none
      Right none
      @@ -40,7 +40,7 @@
      Default
      -
      Normal
      +
      Normal
      Top normal
      Left normal
      Right normal
      @@ -49,7 +49,7 @@
      Default
      -
      Large
      +
      Large
      Top large
      Left large
      Right large
      @@ -58,7 +58,7 @@
      Default
      -
      Rounded
      +
      Rounded
      Top rounded
      Left rounded
      Right rounded
      diff --git a/packages/core/src/test/css-typography.visual.html b/packages/core/src/test/css-typography.visual.html index e465b3e51c..d76eeb6c07 100644 --- a/packages/core/src/test/css-typography.visual.html +++ b/packages/core/src/test/css-typography.visual.html @@ -35,7 +35,7 @@

      Title 2

      Title 3

      Title 4

      Title 5
      - +

      Subtitle 1

      @@ -56,7 +56,7 @@
      Subtitle 5

      x-small-text

      -

      bold

      +

      bold

      Link
      @@ -82,7 +82,7 @@
      Subtitle 5
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus perferendis officia minus voluptatum deserunt excepturi eius doloribus atque fuga, soluta, culpa cum maiores hic quos id sunt!

      -

      +

      has-no-wrap Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus perferendis officia minus voluptatum deserunt excepturi eius doloribus atque fuga, soluta, culpa cum maiores hic quos id sunt! Lorem ipsum dolor sit amet consectetur adipisicing elit. Ratione tempora beatae, accusamus @@ -93,21 +93,21 @@

      Subtitle 5

      is-lowercase

      is-uppercase

      -

      is-family-text

      -

      has-text-weight-light

      +

      is-family-text

      +

      has-text-weight-light

      has-text-weight-normal

      -

      has-text-weight-bold

      +

      has-text-weight-bold

      -

      is-family-title

      -

      has-text-weight-light

      -

      has-text-weight-normal

      -

      has-text-weight-bold

      +

      is-family-title

      +

      has-text-weight-light

      +

      has-text-weight-normal

      +

      has-text-weight-bold

      -

      has-text-centered

      -

      has-text-justified

      -

      has-text-left

      -

      has-text-right

      +

      has-text-centered

      +

      has-text-justified

      +

      has-text-left

      +

      has-text-right

      has-text-centered

      has-text-justified

      diff --git a/packages/core/stencil.config.ts b/packages/core/stencil.config.ts index 30a84e62d0..6bd277ae66 100644 --- a/packages/core/stencil.config.ts +++ b/packages/core/stencil.config.ts @@ -3,10 +3,10 @@ import { sass } from '@stencil/sass' import fg from 'fast-glob' import { join, parse, resolve } from 'path' +import { webOutputTarget } from '@baloise/output-target-web' +import { CustomDocumentationGenerator } from './config/doc-output-target' import { AngularGenerator, AngularModuleGenerator } from './config/stencil.bindings.angular' import { ReactGenerator } from './config/stencil.bindings.react' -import { CustomDocumentationGenerator } from './config/doc-output-target' -import { webOutputTarget } from '@baloise/output-target-web' const IS_BAL_DS_RELEASE = process.env.BAL_DS_RELEASE === 'true' const IS_BAL_DOCUMENTATION = process.env.BAL_DOCUMENTATION === 'true' @@ -111,15 +111,10 @@ export const config: Config = { warn: true, }, { - src: join(packagesDir, 'styles', 'css', 'all.css'), + src: join(packagesDir, 'tailwind', 'css', 'all.min.css'), dest: 'assets/all.css', warn: true, }, - { - src: join(packagesDir, 'styles', 'css', 'basic.min.css'), - dest: 'assets/basic.min.css', - warn: true, - }, { src: join(packagesDir, 'maps', 'dist', 'index.esm.js'), dest: 'assets/maps.js', diff --git a/packages/tailwind/package.json b/packages/tailwind/package.json index 751e38dfb9..4d0beb3a4c 100644 --- a/packages/tailwind/package.json +++ b/packages/tailwind/package.json @@ -18,7 +18,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "build:all": "npx @tailwindcss/cli -i ./src/all.css -o ./css/all.css", + "build:all": "npx @tailwindcss/cli --optimize -i ./src/all.css -o ./css/all.css && npx @tailwindcss/cli --minify -i ./src/all.css -o ./css/all.min.css", "preview": "vite preview" }, "main": "src/index.css", From 57dc69fa0fb82b0df16ba7badb786564ebbcb41c Mon Sep 17 00:00:00 2001 From: Gery Hirschfeld Date: Sun, 18 May 2025 14:40:50 +0200 Subject: [PATCH 18/18] chore: prepare docs for tailwind --- .gitignore | 4 +- .../assets/data/styles/background.json | 523 +++++++ docs/stories/assets/data/styles/border.json | 1302 +++++++++++++++++ .../stories/assets/data/styles/elevation.json | 80 + docs/stories/assets/data/styles/flex.json | 310 ++++ .../assets/data/styles/interaction.json | 64 + docs/stories/assets/data/styles/layout.json | 350 +++++ docs/stories/assets/data/styles/sizing.json | 698 +++++++++ docs/stories/assets/data/styles/spacing.json | 1 + .../assets/data/styles/typography.json | 638 ++++++++ libs/nx/src/executors/build-docs/executor.ts | 1 - 11 files changed, 3969 insertions(+), 2 deletions(-) create mode 100644 docs/stories/assets/data/styles/background.json create mode 100644 docs/stories/assets/data/styles/border.json create mode 100644 docs/stories/assets/data/styles/elevation.json create mode 100644 docs/stories/assets/data/styles/flex.json create mode 100644 docs/stories/assets/data/styles/interaction.json create mode 100644 docs/stories/assets/data/styles/layout.json create mode 100644 docs/stories/assets/data/styles/sizing.json create mode 100644 docs/stories/assets/data/styles/spacing.json create mode 100644 docs/stories/assets/data/styles/typography.json diff --git a/.gitignore b/.gitignore index cc72be6318..37826a518a 100644 --- a/.gitignore +++ b/.gitignore @@ -97,7 +97,9 @@ docs/public/build/ docs/public/assets/images/map-markers docs/public/assets/images/brand-icons docs/public/assets/images/icons -docs/stories/assets/data +docs/stories/assets/data/* +!docs/stories/assets/data/styles/ +!docs/stories/assets/data/styles/** docs/stories/components/**/api.md docs/dist diff --git a/docs/stories/assets/data/styles/background.json b/docs/stories/assets/data/styles/background.json new file mode 100644 index 0000000000..5f7dde7f64 --- /dev/null +++ b/docs/stories/assets/data/styles/background.json @@ -0,0 +1,523 @@ +[ + + { + "background": [ + { + "class": "bg-primary", + "css": "background: var(--bal-color-background-primary);", + "property": "background", + "value": "var(--bal-color-background-primary)" + }, + { + "class": "bg-green-light", + "css": "background: var(--bal-color-background-green-light);", + "property": "background", + "value": "var(--bal-color-background-green-light)" + }, + { + "class": "bg-green", + "css": "background: var(--bal-color-background-green);", + "property": "background", + "value": "var(--bal-color-background-green)" + }, + { + "class": "bg-purple-light", + "css": "background: var(--bal-color-background-purple-light);", + "property": "background", + "value": "var(--bal-color-background-purple-light)" + }, + { + "class": "bg-purple", + "css": "background: var(--bal-color-background-purple);", + "property": "background", + "value": "var(--bal-color-background-purple)" + }, + { + "class": "bg-yellow-light", + "css": "background: var(--bal-color-background-yellow-light);", + "property": "background", + "value": "var(--bal-color-background-yellow-light)" + }, + { + "class": "bg-yellow", + "css": "background: var(--bal-color-background-yellow);", + "property": "background", + "value": "var(--bal-color-background-yellow)" + }, + { + "class": "bg-red-light", + "css": "background: var(--bal-color-background-red-light);", + "property": "background", + "value": "var(--bal-color-background-red-light)" + }, + { + "class": "bg-red", + "css": "background: var(--bal-color-background-red);", + "property": "background", + "value": "var(--bal-color-background-red)" + }, + { + "class": "bg-white", + "css": "background: var(--bal-color-background-white);", + "property": "background", + "value": "var(--bal-color-background-white)" + }, + { + "class": "bg-grey-light", + "css": "background: var(--bal-color-background-grey-light);", + "property": "background", + "value": "var(--bal-color-background-grey-light)" + }, + { + "class": "bg-grey", + "css": "background: var(--bal-color-background-grey);", + "property": "background", + "value": "var(--bal-color-background-grey)" + }, + { + "class": "bg-disabled", + "css": "background: var(--bal-color-background-disabled);", + "property": "background", + "value": "var(--bal-color-background-disabled)" + }, + { + "class": "bg-info", + "css": "background: var(--bal-color-background-info);", + "property": "background", + "value": "var(--bal-color-background-info)" + }, + { + "class": "bg-success", + "css": "background: var(--bal-color-background-success);", + "property": "background", + "value": "var(--bal-color-background-success)" + }, + { + "class": "bg-warning", + "css": "background: var(--bal-color-background-warning);", + "property": "background", + "value": "var(--bal-color-background-warning)" + }, + { + "class": "bg-danger", + "css": "background: var(--bal-color-background-danger);", + "property": "background", + "value": "var(--bal-color-background-danger)" + }, + { + "class": "bg-light-blue", + "css": "background: var(--bal-color-light-blue);", + "property": "background", + "value": "var(--bal-color-light-blue)" + }, + { + "class": "bg-primary-1", + "css": "background: var(--bal-color-primary-1);", + "property": "background", + "value": "var(--bal-color-primary-1)" + }, + { + "class": "bg-primary-2", + "css": "background: var(--bal-color-primary-2);", + "property": "background", + "value": "var(--bal-color-primary-2)" + }, + { + "class": "bg-primary-3", + "css": "background: var(--bal-color-primary-3);", + "property": "background", + "value": "var(--bal-color-primary-3)" + }, + { + "class": "bg-primary-4", + "css": "background: var(--bal-color-primary-4);", + "property": "background", + "value": "var(--bal-color-primary-4)" + }, + { + "class": "bg-primary-5", + "css": "background: var(--bal-color-primary-5);", + "property": "background", + "value": "var(--bal-color-primary-5)" + }, + { + "class": "bg-primary-6", + "css": "background: var(--bal-color-primary-6);", + "property": "background", + "value": "var(--bal-color-primary-6)" + }, + { + "class": "bg-green-1", + "css": "background: var(--bal-color-green-1);", + "property": "background", + "value": "var(--bal-color-green-1)" + }, + { + "class": "bg-green-2", + "css": "background: var(--bal-color-green-2);", + "property": "background", + "value": "var(--bal-color-green-2)" + }, + { + "class": "bg-green-3", + "css": "background: var(--bal-color-green-3);", + "property": "background", + "value": "var(--bal-color-green-3)" + }, + { + "class": "bg-green-4", + "css": "background: var(--bal-color-green-4);", + "property": "background", + "value": "var(--bal-color-green-4)" + }, + { + "class": "bg-green-5", + "css": "background: var(--bal-color-green-5);", + "property": "background", + "value": "var(--bal-color-green-5)" + }, + { + "class": "bg-green-6", + "css": "background: var(--bal-color-green-6);", + "property": "background", + "value": "var(--bal-color-green-6)" + }, + { + "class": "bg-purple-1", + "css": "background: var(--bal-color-purple-1);", + "property": "background", + "value": "var(--bal-color-purple-1)" + }, + { + "class": "bg-purple-2", + "css": "background: var(--bal-color-purple-2);", + "property": "background", + "value": "var(--bal-color-purple-2)" + }, + { + "class": "bg-purple-3", + "css": "background: var(--bal-color-purple-3);", + "property": "background", + "value": "var(--bal-color-purple-3)" + }, + { + "class": "bg-purple-4", + "css": "background: var(--bal-color-purple-4);", + "property": "background", + "value": "var(--bal-color-purple-4)" + }, + { + "class": "bg-purple-5", + "css": "background: var(--bal-color-purple-5);", + "property": "background", + "value": "var(--bal-color-purple-5)" + }, + { + "class": "bg-purple-6", + "css": "background: var(--bal-color-purple-6);", + "property": "background", + "value": "var(--bal-color-purple-6)" + }, + { + "class": "bg-yellow-1", + "css": "background: var(--bal-color-yellow-1);", + "property": "background", + "value": "var(--bal-color-yellow-1)" + }, + { + "class": "bg-yellow-2", + "css": "background: var(--bal-color-yellow-2);", + "property": "background", + "value": "var(--bal-color-yellow-2)" + }, + { + "class": "bg-yellow-3", + "css": "background: var(--bal-color-yellow-3);", + "property": "background", + "value": "var(--bal-color-yellow-3)" + }, + { + "class": "bg-yellow-4", + "css": "background: var(--bal-color-yellow-4);", + "property": "background", + "value": "var(--bal-color-yellow-4)" + }, + { + "class": "bg-yellow-5", + "css": "background: var(--bal-color-yellow-5);", + "property": "background", + "value": "var(--bal-color-yellow-5)" + }, + { + "class": "bg-yellow-6", + "css": "background: var(--bal-color-yellow-6);", + "property": "background", + "value": "var(--bal-color-yellow-6)" + }, + { + "class": "bg-red-1", + "css": "background: var(--bal-color-red-1);", + "property": "background", + "value": "var(--bal-color-red-1)" + }, + { + "class": "bg-red-2", + "css": "background: var(--bal-color-red-2);", + "property": "background", + "value": "var(--bal-color-red-2)" + }, + { + "class": "bg-red-3", + "css": "background: var(--bal-color-red-3);", + "property": "background", + "value": "var(--bal-color-red-3)" + }, + { + "class": "bg-red-4", + "css": "background: var(--bal-color-red-4);", + "property": "background", + "value": "var(--bal-color-red-4)" + }, + { + "class": "bg-red-5", + "css": "background: var(--bal-color-red-5);", + "property": "background", + "value": "var(--bal-color-red-5)" + }, + { + "class": "bg-red-6", + "css": "background: var(--bal-color-red-6);", + "property": "background", + "value": "var(--bal-color-red-6)" + }, + { + "class": "bg-grey-1", + "css": "background: var(--bal-color-grey-1);", + "property": "background", + "value": "var(--bal-color-grey-1)" + }, + { + "class": "bg-grey-2", + "css": "background: var(--bal-color-grey-2);", + "property": "background", + "value": "var(--bal-color-grey-2)" + }, + { + "class": "bg-grey-3", + "css": "background: var(--bal-color-grey-3);", + "property": "background", + "value": "var(--bal-color-grey-3)" + }, + { + "class": "bg-grey-4", + "css": "background: var(--bal-color-grey-4);", + "property": "background", + "value": "var(--bal-color-grey-4)" + }, + { + "class": "bg-grey-5", + "css": "background: var(--bal-color-grey-5);", + "property": "background", + "value": "var(--bal-color-grey-5)" + }, + { + "class": "bg-grey-6", + "css": "background: var(--bal-color-grey-6);", + "property": "background", + "value": "var(--bal-color-grey-6)" + }, + { + "class": "bg-black", + "css": "background: var(--bal-color-black);", + "property": "background", + "value": "var(--bal-color-black)" + }, + { + "class": "bg-light-blue-1", + "css": "background: var(--bal-color-light-blue-1);", + "property": "background", + "value": "var(--bal-color-light-blue-1)" + }, + { + "class": "bg-light-blue-2", + "css": "background: var(--bal-color-light-blue-2);", + "property": "background", + "value": "var(--bal-color-light-blue-2)" + }, + { + "class": "bg-light-blue-3", + "css": "background: var(--bal-color-light-blue-3);", + "property": "background", + "value": "var(--bal-color-light-blue-3)" + }, + { + "class": "bg-light-blue-4", + "css": "background: var(--bal-color-light-blue-4);", + "property": "background", + "value": "var(--bal-color-light-blue-4)" + }, + { + "class": "bg-light-blue-5", + "css": "background: var(--bal-color-light-blue-5);", + "property": "background", + "value": "var(--bal-color-light-blue-5)" + }, + { + "class": "bg-light-blue-6", + "css": "background: var(--bal-color-light-blue-6);", + "property": "background", + "value": "var(--bal-color-light-blue-6)" + }, + { + "class": "bg-info-1", + "css": "background: var(--bal-color-info-1);", + "property": "background", + "value": "var(--bal-color-info-1)" + }, + { + "class": "bg-info-2", + "css": "background: var(--bal-color-info-2);", + "property": "background", + "value": "var(--bal-color-info-2)" + }, + { + "class": "bg-info-3", + "css": "background: var(--bal-color-info-3);", + "property": "background", + "value": "var(--bal-color-info-3)" + }, + { + "class": "bg-info-4", + "css": "background: var(--bal-color-info-4);", + "property": "background", + "value": "var(--bal-color-info-4)" + }, + { + "class": "bg-info-5", + "css": "background: var(--bal-color-info-5);", + "property": "background", + "value": "var(--bal-color-info-5)" + }, + { + "class": "bg-info-6", + "css": "background: var(--bal-color-info-6);", + "property": "background", + "value": "var(--bal-color-info-6)" + }, + { + "class": "bg-success-1", + "css": "background: var(--bal-color-success-1);", + "property": "background", + "value": "var(--bal-color-success-1)" + }, + { + "class": "bg-success-2", + "css": "background: var(--bal-color-success-2);", + "property": "background", + "value": "var(--bal-color-success-2)" + }, + { + "class": "bg-success-3", + "css": "background: var(--bal-color-success-3);", + "property": "background", + "value": "var(--bal-color-success-3)" + }, + { + "class": "bg-success-4", + "css": "background: var(--bal-color-success-4);", + "property": "background", + "value": "var(--bal-color-success-4)" + }, + { + "class": "bg-success-5", + "css": "background: var(--bal-color-success-5);", + "property": "background", + "value": "var(--bal-color-success-5)" + }, + { + "class": "bg-success-6", + "css": "background: var(--bal-color-success-6);", + "property": "background", + "value": "var(--bal-color-success-6)" + }, + { + "class": "bg-warning-1", + "css": "background: var(--bal-color-warning-1);", + "property": "background", + "value": "var(--bal-color-warning-1)" + }, + { + "class": "bg-warning-2", + "css": "background: var(--bal-color-warning-2);", + "property": "background", + "value": "var(--bal-color-warning-2)" + }, + { + "class": "bg-warning-3", + "css": "background: var(--bal-color-warning-3);", + "property": "background", + "value": "var(--bal-color-warning-3)" + }, + { + "class": "bg-warning-4", + "css": "background: var(--bal-color-warning-4);", + "property": "background", + "value": "var(--bal-color-warning-4)" + }, + { + "class": "bg-warning-5", + "css": "background: var(--bal-color-warning-5);", + "property": "background", + "value": "var(--bal-color-warning-5)" + }, + { + "class": "bg-warning-6", + "css": "background: var(--bal-color-warning-6);", + "property": "background", + "value": "var(--bal-color-warning-6)" + }, + { + "class": "bg-danger-1", + "css": "background: var(--bal-color-danger-1);", + "property": "background", + "value": "var(--bal-color-danger-1)" + }, + { + "class": "bg-danger-2", + "css": "background: var(--bal-color-danger-2);", + "property": "background", + "value": "var(--bal-color-danger-2)" + }, + { + "class": "bg-danger-3", + "css": "background: var(--bal-color-danger-3);", + "property": "background", + "value": "var(--bal-color-danger-3)" + }, + { + "class": "bg-danger-4", + "css": "background: var(--bal-color-danger-4);", + "property": "background", + "value": "var(--bal-color-danger-4)" + }, + { + "class": "bg-danger-5", + "css": "background: var(--bal-color-danger-5);", + "property": "background", + "value": "var(--bal-color-danger-5)" + }, + { + "class": "bg-danger-6", + "css": "background: var(--bal-color-danger-6);", + "property": "background", + "value": "var(--bal-color-danger-6)" + }, + { + "class": "bg-transparent", + "css": "background: transparent;", + "property": "background", + "value": "transparent" + } + ] + } +] \ No newline at end of file diff --git a/docs/stories/assets/data/styles/border.json b/docs/stories/assets/data/styles/border.json new file mode 100644 index 0000000000..949a42cabf --- /dev/null +++ b/docs/stories/assets/data/styles/border.json @@ -0,0 +1,1302 @@ +[ + { + "border-width": [ + { + "class": "border-none", + "css": "border-width: 0;", + "property": "border-width", + "value": "0" + } + ] + }, + { + "border-top-width": [ + { + "class": "border-top-none", + "css": "border-top-width: 0;", + "property": "border-top-width", + "value": "0" + } + ] + }, + { + "border-right-width": [ + { + "class": "border-right-none", + "css": "border-right-width: 0;", + "property": "border-right-width", + "value": "0" + } + ] + }, + { + "border-bottom-width": [ + { + "class": "border-bottom-none", + "css": "border-bottom-width: 0;", + "property": "border-bottom-width", + "value": "0" + } + ] + }, + { + "border-left-width": [ + { + "class": "border-left-none", + "css": "border-left-width: 0;", + "property": "border-left-width", + "value": "0" + } + ] + }, + { + "border-color": [ + { + "class": "border", + "css": "border-color: var(--bal-color-border);", + "property": "border-color", + "value": "var(--bal-color-border)" + }, + { + "class": "border-primary", + "css": "border-color: var(--bal-color-border-primary);", + "property": "border-color", + "value": "var(--bal-color-border-primary)" + }, + { + "class": "border-primary-light", + "css": "border-color: var(--bal-color-border-primary-light);", + "property": "border-color", + "value": "var(--bal-color-border-primary-light)" + }, + { + "class": "border-grey-light", + "css": "border-color: var(--bal-color-border-grey-light);", + "property": "border-color", + "value": "var(--bal-color-border-grey-light)" + }, + { + "class": "border-grey", + "css": "border-color: var(--bal-color-border-grey);", + "property": "border-color", + "value": "var(--bal-color-border-grey)" + }, + { + "class": "border-grey-dark", + "css": "border-color: var(--bal-color-border-grey-dark);", + "property": "border-color", + "value": "var(--bal-color-border-grey-dark)" + }, + { + "class": "border-white", + "css": "border-color: var(--bal-color-border-white);", + "property": "border-color", + "value": "var(--bal-color-border-white)" + }, + { + "class": "border-info", + "css": "border-color: var(--bal-color-border-info);", + "property": "border-color", + "value": "var(--bal-color-border-info)" + }, + { + "class": "border-success", + "css": "border-color: var(--bal-color-border-success);", + "property": "border-color", + "value": "var(--bal-color-border-success)" + }, + { + "class": "border-warning", + "css": "border-color: var(--bal-color-border-warning);", + "property": "border-color", + "value": "var(--bal-color-border-warning)" + }, + { + "class": "border-danger", + "css": "border-color: var(--bal-color-border-danger);", + "property": "border-color", + "value": "var(--bal-color-border-danger)" + }, + { + "class": "border-info-hovered", + "css": "border-color: var(--bal-color-border-info-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-info-hovered)" + }, + { + "class": "border-info-pressed", + "css": "border-color: var(--bal-color-border-info-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-info-pressed)" + }, + { + "class": "border-primary-hovered", + "css": "border-color: var(--bal-color-border-primary-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-primary-hovered)" + }, + { + "class": "border-primary-pressed", + "css": "border-color: var(--bal-color-border-primary-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-primary-pressed)" + }, + { + "class": "border-success-hovered", + "css": "border-color: var(--bal-color-border-success-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-success-hovered)" + }, + { + "class": "border-success-pressed", + "css": "border-color: var(--bal-color-border-success-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-success-pressed)" + }, + { + "class": "border-warning-hovered", + "css": "border-color: var(--bal-color-border-warning-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-warning-hovered)" + }, + { + "class": "border-warning-pressed", + "css": "border-color: var(--bal-color-border-warning-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-warning-pressed)" + }, + { + "class": "border-danger-hovered", + "css": "border-color: var(--bal-color-border-danger-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-danger-hovered)" + }, + { + "class": "border-danger-pressed", + "css": "border-color: var(--bal-color-border-danger-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-danger-pressed)" + }, + { + "class": "border-green-hovered", + "css": "border-color: var(--bal-color-border-green-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-green-hovered)" + }, + { + "class": "border-green-pressed", + "css": "border-color: var(--bal-color-border-green-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-green-pressed)" + }, + { + "class": "border-purple-hovered", + "css": "border-color: var(--bal-color-border-purple-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-purple-hovered)" + }, + { + "class": "border-purple-pressed", + "css": "border-color: var(--bal-color-border-purple-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-purple-pressed)" + }, + { + "class": "border-red-hovered", + "css": "border-color: var(--bal-color-border-red-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-red-hovered)" + }, + { + "class": "border-red-pressed", + "css": "border-color: var(--bal-color-border-red-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-red-pressed)" + }, + { + "class": "border-yellow-hovered", + "css": "border-color: var(--bal-color-border-yellow-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-yellow-hovered)" + }, + { + "class": "border-yellow-pressed", + "css": "border-color: var(--bal-color-border-yellow-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-yellow-pressed)" + }, + { + "class": "border-inverted", + "css": "border-color: var(--bal-color-border-inverted);", + "property": "border-color", + "value": "var(--bal-color-border-inverted)" + }, + { + "class": "border-inverted-disabled", + "css": "border-color: var(--bal-color-border-inverted-disabled);", + "property": "border-color", + "value": "var(--bal-color-border-inverted-disabled)" + }, + { + "class": "border-inverted-primary", + "css": "border-color: var(--bal-color-border-inverted-primary);", + "property": "border-color", + "value": "var(--bal-color-border-inverted-primary)" + }, + { + "class": "border-inverted-primary-hovered", + "css": "border-color: var(--bal-color-border-inverted-primary-hovered);", + "property": "border-color", + "value": "var(--bal-color-border-inverted-primary-hovered)" + }, + { + "class": "border-inverted-primary-pressed", + "css": "border-color: var(--bal-color-border-inverted-primary-pressed);", + "property": "border-color", + "value": "var(--bal-color-border-inverted-primary-pressed)" + } + ] + }, + { + "border-top-color": [ + { + "class": "border-top", + "css": "border-top-color: var(--bal-color-border);", + "property": "border-top-color", + "value": "var(--bal-color-border)" + }, + { + "class": "border-top-primary", + "css": "border-top-color: var(--bal-color-border-primary);", + "property": "border-top-color", + "value": "var(--bal-color-border-primary)" + }, + { + "class": "border-top-primary-light", + "css": "border-top-color: var(--bal-color-border-primary-light);", + "property": "border-top-color", + "value": "var(--bal-color-border-primary-light)" + }, + { + "class": "border-top-grey-light", + "css": "border-top-color: var(--bal-color-border-grey-light);", + "property": "border-top-color", + "value": "var(--bal-color-border-grey-light)" + }, + { + "class": "border-top-grey", + "css": "border-top-color: var(--bal-color-border-grey);", + "property": "border-top-color", + "value": "var(--bal-color-border-grey)" + }, + { + "class": "border-top-grey-dark", + "css": "border-top-color: var(--bal-color-border-grey-dark);", + "property": "border-top-color", + "value": "var(--bal-color-border-grey-dark)" + }, + { + "class": "border-top-white", + "css": "border-top-color: var(--bal-color-border-white);", + "property": "border-top-color", + "value": "var(--bal-color-border-white)" + }, + { + "class": "border-top-info", + "css": "border-top-color: var(--bal-color-border-info);", + "property": "border-top-color", + "value": "var(--bal-color-border-info)" + }, + { + "class": "border-top-success", + "css": "border-top-color: var(--bal-color-border-success);", + "property": "border-top-color", + "value": "var(--bal-color-border-success)" + }, + { + "class": "border-top-warning", + "css": "border-top-color: var(--bal-color-border-warning);", + "property": "border-top-color", + "value": "var(--bal-color-border-warning)" + }, + { + "class": "border-top-danger", + "css": "border-top-color: var(--bal-color-border-danger);", + "property": "border-top-color", + "value": "var(--bal-color-border-danger)" + }, + { + "class": "border-top-info-hovered", + "css": "border-top-color: var(--bal-color-border-info-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-info-hovered)" + }, + { + "class": "border-top-info-pressed", + "css": "border-top-color: var(--bal-color-border-info-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-info-pressed)" + }, + { + "class": "border-top-primary-hovered", + "css": "border-top-color: var(--bal-color-border-primary-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-primary-hovered)" + }, + { + "class": "border-top-primary-pressed", + "css": "border-top-color: var(--bal-color-border-primary-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-primary-pressed)" + }, + { + "class": "border-top-success-hovered", + "css": "border-top-color: var(--bal-color-border-success-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-success-hovered)" + }, + { + "class": "border-top-success-pressed", + "css": "border-top-color: var(--bal-color-border-success-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-success-pressed)" + }, + { + "class": "border-top-warning-hovered", + "css": "border-top-color: var(--bal-color-border-warning-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-warning-hovered)" + }, + { + "class": "border-top-warning-pressed", + "css": "border-top-color: var(--bal-color-border-warning-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-warning-pressed)" + }, + { + "class": "border-top-danger-hovered", + "css": "border-top-color: var(--bal-color-border-danger-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-danger-hovered)" + }, + { + "class": "border-top-danger-pressed", + "css": "border-top-color: var(--bal-color-border-danger-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-danger-pressed)" + }, + { + "class": "border-top-green-hovered", + "css": "border-top-color: var(--bal-color-border-green-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-green-hovered)" + }, + { + "class": "border-top-green-pressed", + "css": "border-top-color: var(--bal-color-border-green-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-green-pressed)" + }, + { + "class": "border-top-purple-hovered", + "css": "border-top-color: var(--bal-color-border-purple-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-purple-hovered)" + }, + { + "class": "border-top-purple-pressed", + "css": "border-top-color: var(--bal-color-border-purple-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-purple-pressed)" + }, + { + "class": "border-top-red-hovered", + "css": "border-top-color: var(--bal-color-border-red-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-red-hovered)" + }, + { + "class": "border-top-red-pressed", + "css": "border-top-color: var(--bal-color-border-red-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-red-pressed)" + }, + { + "class": "border-top-yellow-hovered", + "css": "border-top-color: var(--bal-color-border-yellow-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-yellow-hovered)" + }, + { + "class": "border-top-yellow-pressed", + "css": "border-top-color: var(--bal-color-border-yellow-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-yellow-pressed)" + }, + { + "class": "border-top-inverted", + "css": "border-top-color: var(--bal-color-border-inverted);", + "property": "border-top-color", + "value": "var(--bal-color-border-inverted)" + }, + { + "class": "border-top-inverted-disabled", + "css": "border-top-color: var(--bal-color-border-inverted-disabled);", + "property": "border-top-color", + "value": "var(--bal-color-border-inverted-disabled)" + }, + { + "class": "border-top-inverted-primary", + "css": "border-top-color: var(--bal-color-border-inverted-primary);", + "property": "border-top-color", + "value": "var(--bal-color-border-inverted-primary)" + }, + { + "class": "border-top-inverted-primary-hovered", + "css": "border-top-color: var(--bal-color-border-inverted-primary-hovered);", + "property": "border-top-color", + "value": "var(--bal-color-border-inverted-primary-hovered)" + }, + { + "class": "border-top-inverted-primary-pressed", + "css": "border-top-color: var(--bal-color-border-inverted-primary-pressed);", + "property": "border-top-color", + "value": "var(--bal-color-border-inverted-primary-pressed)" + } + ] + }, + { + "border-right-color": [ + { + "class": "border-right", + "css": "border-right-color: var(--bal-color-border);", + "property": "border-right-color", + "value": "var(--bal-color-border)" + }, + { + "class": "border-right-primary", + "css": "border-right-color: var(--bal-color-border-primary);", + "property": "border-right-color", + "value": "var(--bal-color-border-primary)" + }, + { + "class": "border-right-primary-light", + "css": "border-right-color: var(--bal-color-border-primary-light);", + "property": "border-right-color", + "value": "var(--bal-color-border-primary-light)" + }, + { + "class": "border-right-grey-light", + "css": "border-right-color: var(--bal-color-border-grey-light);", + "property": "border-right-color", + "value": "var(--bal-color-border-grey-light)" + }, + { + "class": "border-right-grey", + "css": "border-right-color: var(--bal-color-border-grey);", + "property": "border-right-color", + "value": "var(--bal-color-border-grey)" + }, + { + "class": "border-right-grey-dark", + "css": "border-right-color: var(--bal-color-border-grey-dark);", + "property": "border-right-color", + "value": "var(--bal-color-border-grey-dark)" + }, + { + "class": "border-right-white", + "css": "border-right-color: var(--bal-color-border-white);", + "property": "border-right-color", + "value": "var(--bal-color-border-white)" + }, + { + "class": "border-right-info", + "css": "border-right-color: var(--bal-color-border-info);", + "property": "border-right-color", + "value": "var(--bal-color-border-info)" + }, + { + "class": "border-right-success", + "css": "border-right-color: var(--bal-color-border-success);", + "property": "border-right-color", + "value": "var(--bal-color-border-success)" + }, + { + "class": "border-right-warning", + "css": "border-right-color: var(--bal-color-border-warning);", + "property": "border-right-color", + "value": "var(--bal-color-border-warning)" + }, + { + "class": "border-right-danger", + "css": "border-right-color: var(--bal-color-border-danger);", + "property": "border-right-color", + "value": "var(--bal-color-border-danger)" + }, + { + "class": "border-right-info-hovered", + "css": "border-right-color: var(--bal-color-border-info-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-info-hovered)" + }, + { + "class": "border-right-info-pressed", + "css": "border-right-color: var(--bal-color-border-info-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-info-pressed)" + }, + { + "class": "border-right-primary-hovered", + "css": "border-right-color: var(--bal-color-border-primary-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-primary-hovered)" + }, + { + "class": "border-right-primary-pressed", + "css": "border-right-color: var(--bal-color-border-primary-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-primary-pressed)" + }, + { + "class": "border-right-success-hovered", + "css": "border-right-color: var(--bal-color-border-success-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-success-hovered)" + }, + { + "class": "border-right-success-pressed", + "css": "border-right-color: var(--bal-color-border-success-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-success-pressed)" + }, + { + "class": "border-right-warning-hovered", + "css": "border-right-color: var(--bal-color-border-warning-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-warning-hovered)" + }, + { + "class": "border-right-warning-pressed", + "css": "border-right-color: var(--bal-color-border-warning-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-warning-pressed)" + }, + { + "class": "border-right-danger-hovered", + "css": "border-right-color: var(--bal-color-border-danger-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-danger-hovered)" + }, + { + "class": "border-right-danger-pressed", + "css": "border-right-color: var(--bal-color-border-danger-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-danger-pressed)" + }, + { + "class": "border-right-green-hovered", + "css": "border-right-color: var(--bal-color-border-green-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-green-hovered)" + }, + { + "class": "border-right-green-pressed", + "css": "border-right-color: var(--bal-color-border-green-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-green-pressed)" + }, + { + "class": "border-right-purple-hovered", + "css": "border-right-color: var(--bal-color-border-purple-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-purple-hovered)" + }, + { + "class": "border-right-purple-pressed", + "css": "border-right-color: var(--bal-color-border-purple-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-purple-pressed)" + }, + { + "class": "border-right-red-hovered", + "css": "border-right-color: var(--bal-color-border-red-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-red-hovered)" + }, + { + "class": "border-right-red-pressed", + "css": "border-right-color: var(--bal-color-border-red-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-red-pressed)" + }, + { + "class": "border-right-yellow-hovered", + "css": "border-right-color: var(--bal-color-border-yellow-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-yellow-hovered)" + }, + { + "class": "border-right-yellow-pressed", + "css": "border-right-color: var(--bal-color-border-yellow-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-yellow-pressed)" + }, + { + "class": "border-right-inverted", + "css": "border-right-color: var(--bal-color-border-inverted);", + "property": "border-right-color", + "value": "var(--bal-color-border-inverted)" + }, + { + "class": "border-right-inverted-disabled", + "css": "border-right-color: var(--bal-color-border-inverted-disabled);", + "property": "border-right-color", + "value": "var(--bal-color-border-inverted-disabled)" + }, + { + "class": "border-right-inverted-primary", + "css": "border-right-color: var(--bal-color-border-inverted-primary);", + "property": "border-right-color", + "value": "var(--bal-color-border-inverted-primary)" + }, + { + "class": "border-right-inverted-primary-hovered", + "css": "border-right-color: var(--bal-color-border-inverted-primary-hovered);", + "property": "border-right-color", + "value": "var(--bal-color-border-inverted-primary-hovered)" + }, + { + "class": "border-right-inverted-primary-pressed", + "css": "border-right-color: var(--bal-color-border-inverted-primary-pressed);", + "property": "border-right-color", + "value": "var(--bal-color-border-inverted-primary-pressed)" + } + ] + }, + { + "border-bottom-color": [ + { + "class": "border-bottom", + "css": "border-bottom-color: var(--bal-color-border);", + "property": "border-bottom-color", + "value": "var(--bal-color-border)" + }, + { + "class": "border-bottom-primary", + "css": "border-bottom-color: var(--bal-color-border-primary);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-primary)" + }, + { + "class": "border-bottom-primary-light", + "css": "border-bottom-color: var(--bal-color-border-primary-light);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-primary-light)" + }, + { + "class": "border-bottom-grey-light", + "css": "border-bottom-color: var(--bal-color-border-grey-light);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-grey-light)" + }, + { + "class": "border-bottom-grey", + "css": "border-bottom-color: var(--bal-color-border-grey);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-grey)" + }, + { + "class": "border-bottom-grey-dark", + "css": "border-bottom-color: var(--bal-color-border-grey-dark);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-grey-dark)" + }, + { + "class": "border-bottom-white", + "css": "border-bottom-color: var(--bal-color-border-white);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-white)" + }, + { + "class": "border-bottom-info", + "css": "border-bottom-color: var(--bal-color-border-info);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-info)" + }, + { + "class": "border-bottom-success", + "css": "border-bottom-color: var(--bal-color-border-success);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-success)" + }, + { + "class": "border-bottom-warning", + "css": "border-bottom-color: var(--bal-color-border-warning);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-warning)" + }, + { + "class": "border-bottom-danger", + "css": "border-bottom-color: var(--bal-color-border-danger);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-danger)" + }, + { + "class": "border-bottom-info-hovered", + "css": "border-bottom-color: var(--bal-color-border-info-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-info-hovered)" + }, + { + "class": "border-bottom-info-pressed", + "css": "border-bottom-color: var(--bal-color-border-info-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-info-pressed)" + }, + { + "class": "border-bottom-primary-hovered", + "css": "border-bottom-color: var(--bal-color-border-primary-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-primary-hovered)" + }, + { + "class": "border-bottom-primary-pressed", + "css": "border-bottom-color: var(--bal-color-border-primary-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-primary-pressed)" + }, + { + "class": "border-bottom-success-hovered", + "css": "border-bottom-color: var(--bal-color-border-success-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-success-hovered)" + }, + { + "class": "border-bottom-success-pressed", + "css": "border-bottom-color: var(--bal-color-border-success-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-success-pressed)" + }, + { + "class": "border-bottom-warning-hovered", + "css": "border-bottom-color: var(--bal-color-border-warning-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-warning-hovered)" + }, + { + "class": "border-bottom-warning-pressed", + "css": "border-bottom-color: var(--bal-color-border-warning-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-warning-pressed)" + }, + { + "class": "border-bottom-danger-hovered", + "css": "border-bottom-color: var(--bal-color-border-danger-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-danger-hovered)" + }, + { + "class": "border-bottom-danger-pressed", + "css": "border-bottom-color: var(--bal-color-border-danger-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-danger-pressed)" + }, + { + "class": "border-bottom-green-hovered", + "css": "border-bottom-color: var(--bal-color-border-green-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-green-hovered)" + }, + { + "class": "border-bottom-green-pressed", + "css": "border-bottom-color: var(--bal-color-border-green-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-green-pressed)" + }, + { + "class": "border-bottom-purple-hovered", + "css": "border-bottom-color: var(--bal-color-border-purple-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-purple-hovered)" + }, + { + "class": "border-bottom-purple-pressed", + "css": "border-bottom-color: var(--bal-color-border-purple-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-purple-pressed)" + }, + { + "class": "border-bottom-red-hovered", + "css": "border-bottom-color: var(--bal-color-border-red-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-red-hovered)" + }, + { + "class": "border-bottom-red-pressed", + "css": "border-bottom-color: var(--bal-color-border-red-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-red-pressed)" + }, + { + "class": "border-bottom-yellow-hovered", + "css": "border-bottom-color: var(--bal-color-border-yellow-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-yellow-hovered)" + }, + { + "class": "border-bottom-yellow-pressed", + "css": "border-bottom-color: var(--bal-color-border-yellow-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-yellow-pressed)" + }, + { + "class": "border-bottom-inverted", + "css": "border-bottom-color: var(--bal-color-border-inverted);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-inverted)" + }, + { + "class": "border-bottom-inverted-disabled", + "css": "border-bottom-color: var(--bal-color-border-inverted-disabled);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-inverted-disabled)" + }, + { + "class": "border-bottom-inverted-primary", + "css": "border-bottom-color: var(--bal-color-border-inverted-primary);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-inverted-primary)" + }, + { + "class": "border-bottom-inverted-primary-hovered", + "css": "border-bottom-color: var(--bal-color-border-inverted-primary-hovered);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-inverted-primary-hovered)" + }, + { + "class": "border-bottom-inverted-primary-pressed", + "css": "border-bottom-color: var(--bal-color-border-inverted-primary-pressed);", + "property": "border-bottom-color", + "value": "var(--bal-color-border-inverted-primary-pressed)" + } + ] + }, + { + "border-left-color": [ + { + "class": "border-left", + "css": "border-left-color: var(--bal-color-border);", + "property": "border-left-color", + "value": "var(--bal-color-border)" + }, + { + "class": "border-left-primary", + "css": "border-left-color: var(--bal-color-border-primary);", + "property": "border-left-color", + "value": "var(--bal-color-border-primary)" + }, + { + "class": "border-left-primary-light", + "css": "border-left-color: var(--bal-color-border-primary-light);", + "property": "border-left-color", + "value": "var(--bal-color-border-primary-light)" + }, + { + "class": "border-left-grey-light", + "css": "border-left-color: var(--bal-color-border-grey-light);", + "property": "border-left-color", + "value": "var(--bal-color-border-grey-light)" + }, + { + "class": "border-left-grey", + "css": "border-left-color: var(--bal-color-border-grey);", + "property": "border-left-color", + "value": "var(--bal-color-border-grey)" + }, + { + "class": "border-left-grey-dark", + "css": "border-left-color: var(--bal-color-border-grey-dark);", + "property": "border-left-color", + "value": "var(--bal-color-border-grey-dark)" + }, + { + "class": "border-left-white", + "css": "border-left-color: var(--bal-color-border-white);", + "property": "border-left-color", + "value": "var(--bal-color-border-white)" + }, + { + "class": "border-left-info", + "css": "border-left-color: var(--bal-color-border-info);", + "property": "border-left-color", + "value": "var(--bal-color-border-info)" + }, + { + "class": "border-left-success", + "css": "border-left-color: var(--bal-color-border-success);", + "property": "border-left-color", + "value": "var(--bal-color-border-success)" + }, + { + "class": "border-left-warning", + "css": "border-left-color: var(--bal-color-border-warning);", + "property": "border-left-color", + "value": "var(--bal-color-border-warning)" + }, + { + "class": "border-left-danger", + "css": "border-left-color: var(--bal-color-border-danger);", + "property": "border-left-color", + "value": "var(--bal-color-border-danger)" + }, + { + "class": "border-left-info-hovered", + "css": "border-left-color: var(--bal-color-border-info-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-info-hovered)" + }, + { + "class": "border-left-info-pressed", + "css": "border-left-color: var(--bal-color-border-info-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-info-pressed)" + }, + { + "class": "border-left-primary-hovered", + "css": "border-left-color: var(--bal-color-border-primary-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-primary-hovered)" + }, + { + "class": "border-left-primary-pressed", + "css": "border-left-color: var(--bal-color-border-primary-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-primary-pressed)" + }, + { + "class": "border-left-success-hovered", + "css": "border-left-color: var(--bal-color-border-success-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-success-hovered)" + }, + { + "class": "border-left-success-pressed", + "css": "border-left-color: var(--bal-color-border-success-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-success-pressed)" + }, + { + "class": "border-left-warning-hovered", + "css": "border-left-color: var(--bal-color-border-warning-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-warning-hovered)" + }, + { + "class": "border-left-warning-pressed", + "css": "border-left-color: var(--bal-color-border-warning-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-warning-pressed)" + }, + { + "class": "border-left-danger-hovered", + "css": "border-left-color: var(--bal-color-border-danger-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-danger-hovered)" + }, + { + "class": "border-left-danger-pressed", + "css": "border-left-color: var(--bal-color-border-danger-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-danger-pressed)" + }, + { + "class": "border-left-green-hovered", + "css": "border-left-color: var(--bal-color-border-green-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-green-hovered)" + }, + { + "class": "border-left-green-pressed", + "css": "border-left-color: var(--bal-color-border-green-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-green-pressed)" + }, + { + "class": "border-left-purple-hovered", + "css": "border-left-color: var(--bal-color-border-purple-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-purple-hovered)" + }, + { + "class": "border-left-purple-pressed", + "css": "border-left-color: var(--bal-color-border-purple-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-purple-pressed)" + }, + { + "class": "border-left-red-hovered", + "css": "border-left-color: var(--bal-color-border-red-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-red-hovered)" + }, + { + "class": "border-left-red-pressed", + "css": "border-left-color: var(--bal-color-border-red-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-red-pressed)" + }, + { + "class": "border-left-yellow-hovered", + "css": "border-left-color: var(--bal-color-border-yellow-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-yellow-hovered)" + }, + { + "class": "border-left-yellow-pressed", + "css": "border-left-color: var(--bal-color-border-yellow-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-yellow-pressed)" + }, + { + "class": "border-left-inverted", + "css": "border-left-color: var(--bal-color-border-inverted);", + "property": "border-left-color", + "value": "var(--bal-color-border-inverted)" + }, + { + "class": "border-left-inverted-disabled", + "css": "border-left-color: var(--bal-color-border-inverted-disabled);", + "property": "border-left-color", + "value": "var(--bal-color-border-inverted-disabled)" + }, + { + "class": "border-left-inverted-primary", + "css": "border-left-color: var(--bal-color-border-inverted-primary);", + "property": "border-left-color", + "value": "var(--bal-color-border-inverted-primary)" + }, + { + "class": "border-left-inverted-primary-hovered", + "css": "border-left-color: var(--bal-color-border-inverted-primary-hovered);", + "property": "border-left-color", + "value": "var(--bal-color-border-inverted-primary-hovered)" + }, + { + "class": "border-left-inverted-primary-pressed", + "css": "border-left-color: var(--bal-color-border-inverted-primary-pressed);", + "property": "border-left-color", + "value": "var(--bal-color-border-inverted-primary-pressed)" + } + ] + }, + { + "border-width": [ + { + "class": "border-width-small", + "css": "border-width: var(--bal-border-width-small);", + "property": "border-width", + "value": "var(--bal-border-width-small)" + }, + { + "class": "border-width-normal", + "css": "border-width: var(--bal-border-width-normal);", + "property": "border-width", + "value": "var(--bal-border-width-normal)" + }, + { + "class": "border-width-large", + "css": "border-width: var(--bal-border-width-large);", + "property": "border-width", + "value": "var(--bal-border-width-large)" + } + ] + }, + { + "border-radius": [ + { + "class": "radius-none", + "css": "border-radius: 0;", + "property": "border-radius", + "value": "0" + }, + { + "class": "radius-normal", + "css": "border-radius: var(--bal-radius-normal);", + "property": "border-radius", + "value": "var(--bal-radius-normal)" + }, + { + "class": "radius-large", + "css": "border-radius: var(--bal-radius-large);", + "property": "border-radius", + "value": "var(--bal-radius-large)" + }, + { + "class": "radius-rounded", + "css": "border-radius: var(--bal-radius-rounded);", + "property": "border-radius", + "value": "var(--bal-radius-rounded)" + } + ] + }, + { + "border-top-left-radius,border-top-right-radius": [ + { + "class": "radius-top-none", + "css": "border-top-left-radius,border-top-right-radius: 0;", + "property": [ + "border-top-left-radius", + "border-top-right-radius" + ], + "value": "0" + }, + { + "class": "radius-top-normal", + "css": "border-top-left-radius,border-top-right-radius: var(--bal-radius-normal);", + "property": [ + "border-top-left-radius", + "border-top-right-radius" + ], + "value": "var(--bal-radius-normal)" + }, + { + "class": "radius-top-large", + "css": "border-top-left-radius,border-top-right-radius: var(--bal-radius-large);", + "property": [ + "border-top-left-radius", + "border-top-right-radius" + ], + "value": "var(--bal-radius-large)" + }, + { + "class": "radius-top-rounded", + "css": "border-top-left-radius,border-top-right-radius: var(--bal-radius-rounded);", + "property": [ + "border-top-left-radius", + "border-top-right-radius" + ], + "value": "var(--bal-radius-rounded)" + } + ] + }, + { + "border-top-left-radius,border-bottom-left-radius": [ + { + "class": "radius-left-none", + "css": "border-top-left-radius,border-bottom-left-radius: 0;", + "property": [ + "border-top-left-radius", + "border-bottom-left-radius" + ], + "value": "0" + }, + { + "class": "radius-left-normal", + "css": "border-top-left-radius,border-bottom-left-radius: var(--bal-radius-normal);", + "property": [ + "border-top-left-radius", + "border-bottom-left-radius" + ], + "value": "var(--bal-radius-normal)" + }, + { + "class": "radius-left-large", + "css": "border-top-left-radius,border-bottom-left-radius: var(--bal-radius-large);", + "property": [ + "border-top-left-radius", + "border-bottom-left-radius" + ], + "value": "var(--bal-radius-large)" + }, + { + "class": "radius-left-rounded", + "css": "border-top-left-radius,border-bottom-left-radius: var(--bal-radius-rounded);", + "property": [ + "border-top-left-radius", + "border-bottom-left-radius" + ], + "value": "var(--bal-radius-rounded)" + } + ] + }, + { + "border-top-right-radius,border-bottom-right-radius": [ + { + "class": "radius-right-none", + "css": "border-top-right-radius,border-bottom-right-radius: 0;", + "property": [ + "border-top-right-radius", + "border-bottom-right-radius" + ], + "value": "0" + }, + { + "class": "radius-right-normal", + "css": "border-top-right-radius,border-bottom-right-radius: var(--bal-radius-normal);", + "property": [ + "border-top-right-radius", + "border-bottom-right-radius" + ], + "value": "var(--bal-radius-normal)" + }, + { + "class": "radius-right-large", + "css": "border-top-right-radius,border-bottom-right-radius: var(--bal-radius-large);", + "property": [ + "border-top-right-radius", + "border-bottom-right-radius" + ], + "value": "var(--bal-radius-large)" + }, + { + "class": "radius-right-rounded", + "css": "border-top-right-radius,border-bottom-right-radius: var(--bal-radius-rounded);", + "property": [ + "border-top-right-radius", + "border-bottom-right-radius" + ], + "value": "var(--bal-radius-rounded)" + } + ] + }, + { + "border-bottom-left-radius,border-bottom-right-radius": [ + { + "class": "radius-bottom-none", + "css": "border-bottom-left-radius,border-bottom-right-radius: 0;", + "property": [ + "border-bottom-left-radius", + "border-bottom-right-radius" + ], + "value": "0" + }, + { + "class": "radius-bottom-normal", + "css": "border-bottom-left-radius,border-bottom-right-radius: var(--bal-radius-normal);", + "property": [ + "border-bottom-left-radius", + "border-bottom-right-radius" + ], + "value": "var(--bal-radius-normal)" + }, + { + "class": "radius-bottom-large", + "css": "border-bottom-left-radius,border-bottom-right-radius: var(--bal-radius-large);", + "property": [ + "border-bottom-left-radius", + "border-bottom-right-radius" + ], + "value": "var(--bal-radius-large)" + }, + { + "class": "radius-bottom-rounded", + "css": "border-bottom-left-radius,border-bottom-right-radius: var(--bal-radius-rounded);", + "property": [ + "border-bottom-left-radius", + "border-bottom-right-radius" + ], + "value": "var(--bal-radius-rounded)" + } + ] + } +] \ No newline at end of file diff --git a/docs/stories/assets/data/styles/elevation.json b/docs/stories/assets/data/styles/elevation.json new file mode 100644 index 0000000000..78d529c79e --- /dev/null +++ b/docs/stories/assets/data/styles/elevation.json @@ -0,0 +1,80 @@ +[ + { + "opacity": [ + { + "class": "opacity-0", + "css": "opacity: var(--bal-opacity-0);", + "property": "opacity", + "value": "var(--bal-opacity-0)" + }, + { + "class": "opacity-30", + "css": "opacity: var(--bal-opacity-30);", + "property": "opacity", + "value": "var(--bal-opacity-30)" + }, + { + "class": "opacity-40", + "css": "opacity: var(--bal-opacity-40);", + "property": "opacity", + "value": "var(--bal-opacity-40)" + }, + { + "class": "opacity-50", + "css": "opacity: var(--bal-opacity-50);", + "property": "opacity", + "value": "var(--bal-opacity-50)" + }, + { + "class": "opacity-60", + "css": "opacity: var(--bal-opacity-60);", + "property": "opacity", + "value": "var(--bal-opacity-60)" + }, + { + "class": "opacity-80", + "css": "opacity: var(--bal-opacity-80);", + "property": "opacity", + "value": "var(--bal-opacity-80)" + }, + { + "class": "opacity-100", + "css": "opacity: var(--bal-opacity-100);", + "property": "opacity", + "value": "var(--bal-opacity-100)" + } + ] + }, + { + "box-shadow": [ + { + "class": "shadow-small", + "css": "box-shadow: var(--bal-shadow-small);", + "property": "box-shadow", + "value": "var(--bal-shadow-small)" + }, + { + "class": "shadow-normal", + "css": "box-shadow: var(--bal-shadow-normal);", + "property": "box-shadow", + "value": "var(--bal-shadow-normal)" + }, + { + "class": "shadow-large", + "css": "box-shadow: var(--bal-shadow-large);", + "property": "box-shadow", + "value": "var(--bal-shadow-large)" + } + ] + }, + { + "text-shadow": [ + { + "class": "text-shadow-normal", + "css": "text-shadow: var(--bal-text-shadow-normal);", + "property": "text-shadow", + "value": "var(--bal-text-shadow-normal)" + } + ] + } +] \ No newline at end of file diff --git a/docs/stories/assets/data/styles/flex.json b/docs/stories/assets/data/styles/flex.json new file mode 100644 index 0000000000..08b5452ff1 --- /dev/null +++ b/docs/stories/assets/data/styles/flex.json @@ -0,0 +1,310 @@ +[ + { + "align-content": [ + { + "class": "align-content-start", + "css": "align-content: flex-start;", + "property": "align-content", + "value": "flex-start" + }, + { + "class": "align-content-end", + "css": "align-content: flex-end;", + "property": "align-content", + "value": "flex-end" + }, + { + "class": "align-content-center", + "css": "align-content: center;", + "property": "align-content", + "value": "center" + }, + { + "class": "align-content-baseline", + "css": "align-content: baseline;", + "property": "align-content", + "value": "baseline" + }, + { + "class": "align-content-space-between", + "css": "align-content: space-between;", + "property": "align-content", + "value": "space-between" + }, + { + "class": "align-content-space-around", + "css": "align-content: space-around;", + "property": "align-content", + "value": "space-around" + }, + { + "class": "align-content-space-evenly", + "css": "align-content: space-evenly;", + "property": "align-content", + "value": "space-evenly" + } + ] + }, + { + "align-items": [ + { + "class": "align-items-start", + "css": "align-items: flex-start;", + "property": "align-items", + "value": "flex-start" + }, + { + "class": "align-items-end", + "css": "align-items: flex-end;", + "property": "align-items", + "value": "flex-end" + }, + { + "class": "align-items-center", + "css": "align-items: center;", + "property": "align-items", + "value": "center" + }, + { + "class": "align-items-stretch", + "css": "align-items: stretch;", + "property": "align-items", + "value": "stretch" + }, + { + "class": "align-items-baseline", + "css": "align-items: baseline;", + "property": "align-items", + "value": "baseline" + } + ] + }, + { + "align-self": [ + { + "class": "align-self-start", + "css": "align-self: flex-start;", + "property": "align-self", + "value": "flex-start" + }, + { + "class": "align-self-end", + "css": "align-self: flex-end;", + "property": "align-self", + "value": "flex-end" + }, + { + "class": "align-self-center", + "css": "align-self: center;", + "property": "align-self", + "value": "center" + }, + { + "class": "align-self-stretch", + "css": "align-self: stretch;", + "property": "align-self", + "value": "stretch" + }, + { + "class": "align-self-baseline", + "css": "align-self: baseline;", + "property": "align-self", + "value": "baseline" + } + ] + }, + { + "flex-direction": [ + { + "class": "flex-direction-row", + "css": "flex-direction: row;", + "property": "flex-direction", + "value": "row" + }, + { + "class": "flex-direction-row-reverse", + "css": "flex-direction: row-reverse;", + "property": "flex-direction", + "value": "row-reverse" + }, + { + "class": "flex-direction-column", + "css": "flex-direction: column;", + "property": "flex-direction", + "value": "column" + }, + { + "class": "flex-direction-column-reverse", + "css": "flex-direction: column-reverse;", + "property": "flex-direction", + "value": "column-reverse" + } + ] + }, + { + "flex": [ + { + "class": "flex-1", + "css": "flex: 1 1 0%;", + "property": "flex", + "value": "1 1 0%" + }, + { + "class": "flex-auto", + "css": "flex: 1 1 auto;", + "property": "flex", + "value": "1 1 auto" + }, + { + "class": "flex-initial", + "css": "flex: 0 1 auto;", + "property": "flex", + "value": "0 1 auto" + }, + { + "class": "flex-none", + "css": "flex: none;", + "property": "flex", + "value": "none" + } + ] + }, + { + "justify-content": [ + { + "class": "justify-content-start", + "css": "justify-content: flex-start;", + "property": "justify-content", + "value": "flex-start" + }, + { + "class": "justify-content-end", + "css": "justify-content: flex-end;", + "property": "justify-content", + "value": "flex-end" + }, + { + "class": "justify-content-center", + "css": "justify-content: center;", + "property": "justify-content", + "value": "center" + }, + { + "class": "justify-content-space-between", + "css": "justify-content: space-between;", + "property": "justify-content", + "value": "space-between" + }, + { + "class": "justify-content-space-around", + "css": "justify-content: space-around;", + "property": "justify-content", + "value": "space-around" + }, + { + "class": "justify-content-space-evenly", + "css": "justify-content: space-evenly;", + "property": "justify-content", + "value": "space-evenly" + } + ] + }, + { + "flex-wrap": [ + { + "class": "flex-nowrap", + "css": "flex-wrap: nowrap;", + "property": "flex-wrap", + "value": "nowrap" + }, + { + "class": "flex-wrap", + "css": "flex-wrap: wrap;", + "property": "flex-wrap", + "value": "wrap" + }, + { + "class": "flex-wrap-reverse", + "css": "flex-wrap: wrap-reverse;", + "property": "flex-wrap", + "value": "wrap-reverse" + } + ] + }, + { + "gap": [ + { + "class": "gap-none", + "css": "gap: 0;", + "property": "gap", + "value": "0" + }, + { + "class": "gap-auto", + "css": "gap: auto;", + "property": "gap", + "value": "auto" + }, + { + "class": "gap-xx-small", + "css": "gap: var(--bal-space-xx-small);", + "property": "gap", + "value": "var(--bal-space-xx-small)" + }, + { + "class": "gap-x-small", + "css": "gap: var(--bal-space-x-small);", + "property": "gap", + "value": "var(--bal-space-x-small)" + }, + { + "class": "gap-small", + "css": "gap: var(--bal-space-small);", + "property": "gap", + "value": "var(--bal-space-small)" + }, + { + "class": "gap-normal", + "css": "gap: var(--bal-space-normal);", + "property": "gap", + "value": "var(--bal-space-normal)" + }, + { + "class": "gap-medium", + "css": "gap: var(--bal-space-medium);", + "property": "gap", + "value": "var(--bal-space-medium)" + }, + { + "class": "gap-large", + "css": "gap: var(--bal-space-large);", + "property": "gap", + "value": "var(--bal-space-large)" + }, + { + "class": "gap-x-large", + "css": "gap: var(--bal-space-x-large);", + "property": "gap", + "value": "var(--bal-space-x-large)" + }, + { + "class": "gap-xx-large", + "css": "gap: var(--bal-space-xx-large);", + "property": "gap", + "value": "var(--bal-space-xx-large)" + }, + { + "class": "gap-xxx-large", + "css": "gap: var(--bal-space-xxx-large);", + "property": "gap", + "value": "var(--bal-space-xxx-large)" + }, + { + "class": "gap-xxxx-large", + "css": "gap: var(--bal-space-xxxx-large);", + "property": "gap", + "value": "var(--bal-space-xxxx-large)" + } + ] + } +] \ No newline at end of file diff --git a/docs/stories/assets/data/styles/interaction.json b/docs/stories/assets/data/styles/interaction.json new file mode 100644 index 0000000000..fb7301282b --- /dev/null +++ b/docs/stories/assets/data/styles/interaction.json @@ -0,0 +1,64 @@ +[ + { + "user-select": [ + { + "class": "select-none", + "css": "user-select: none;", + "property": "user-select", + "value": "none" + }, + { + "class": "select-text", + "css": "user-select: text;", + "property": "user-select", + "value": "text" + }, + { + "class": "select-all", + "css": "user-select: all;", + "property": "user-select", + "value": "all" + }, + { + "class": "select-auto", + "css": "user-select: auto;", + "property": "user-select", + "value": "auto" + } + ] + }, + { + "cursor": [ + { + "class": "cursor-auto", + "css": "cursor: auto;", + "property": "cursor", + "value": "auto" + }, + { + "class": "cursor-pointer", + "css": "cursor: pointer;", + "property": "cursor", + "value": "pointer" + }, + { + "class": "cursor-wait", + "css": "cursor: wait;", + "property": "cursor", + "value": "wait" + }, + { + "class": "cursor-move", + "css": "cursor: move;", + "property": "cursor", + "value": "move" + }, + { + "class": "cursor-not-allowed", + "css": "cursor: not-allowed;", + "property": "cursor", + "value": "not-allowed" + } + ] + } +] \ No newline at end of file diff --git a/docs/stories/assets/data/styles/layout.json b/docs/stories/assets/data/styles/layout.json new file mode 100644 index 0000000000..b017d94a07 --- /dev/null +++ b/docs/stories/assets/data/styles/layout.json @@ -0,0 +1,350 @@ +[ + { + "display": [ + { + "class": "hidden", + "css": "display: none;", + "property": "display", + "value": "none" + }, + { + "class": "block", + "css": "display: block;", + "property": "display", + "value": "block" + }, + { + "class": "inline", + "css": "display: inline;", + "property": "display", + "value": "inline" + }, + { + "class": "inline-block", + "css": "display: inline-block;", + "property": "display", + "value": "inline-block" + }, + { + "class": "flex", + "css": "display: flex;", + "property": "display", + "value": "flex" + }, + { + "class": "inline-flex", + "css": "display: inline-flex;", + "property": "display", + "value": "inline-flex" + } + ] + }, + { + "overflow": [ + { + "class": "overflow-auto", + "css": "overflow: auto;", + "property": "overflow", + "value": "auto" + }, + { + "class": "overflow-hidden", + "css": "overflow: hidden;", + "property": "overflow", + "value": "hidden" + }, + { + "class": "overflow-visible", + "css": "overflow: visible;", + "property": "overflow", + "value": "visible" + }, + { + "class": "overflow-scroll", + "css": "overflow: scroll;", + "property": "overflow", + "value": "scroll" + }, + { + "class": "overflow-x-auto", + "css": "overflow: auto;", + "property": "overflow", + "value": "auto" + }, + { + "class": "overflow-x-hidden", + "css": "overflow: hidden;", + "property": "overflow", + "value": "hidden" + }, + { + "class": "overflow-x-visible", + "css": "overflow: visible;", + "property": "overflow", + "value": "visible" + }, + { + "class": "overflow-x-scroll", + "css": "overflow: scroll;", + "property": "overflow", + "value": "scroll" + }, + { + "class": "overflow-y-auto", + "css": "overflow: auto;", + "property": "overflow", + "value": "auto" + }, + { + "class": "overflow-y-hidden", + "css": "overflow: hidden;", + "property": "overflow", + "value": "hidden" + }, + { + "class": "overflow-y-visible", + "css": "overflow: visible;", + "property": "overflow", + "value": "visible" + }, + { + "class": "overflow-y-scroll", + "css": "overflow: scroll;", + "property": "overflow", + "value": "scroll" + } + ] + }, + { + "position": [ + { + "class": "static", + "css": "position: static;", + "property": "position", + "value": "static" + }, + { + "class": "fixed", + "css": "position: fixed;", + "property": "position", + "value": "fixed" + }, + { + "class": "relative", + "css": "position: relative;", + "property": "position", + "value": "relative" + }, + { + "class": "absolute", + "css": "position: absolute;", + "property": "position", + "value": "absolute" + }, + { + "class": "sticky", + "css": "position: sticky;", + "property": "position", + "value": "sticky" + } + ] + }, + { + "top": [ + { + "class": "top-auto", + "css": "top: auto;", + "property": "top", + "value": "auto" + }, + { + "class": "top-0", + "css": "top: 0;", + "property": "top", + "value": "0" + }, + { + "class": "top-50", + "css": "top: 50%;", + "property": "top", + "value": "50%" + }, + { + "class": "top-100", + "css": "top: 100%;", + "property": "top", + "value": "100%" + } + ] + }, + { + "right": [ + { + "class": "right-auto", + "css": "right: auto;", + "property": "right", + "value": "auto" + }, + { + "class": "right-0", + "css": "right: 0;", + "property": "right", + "value": "0" + }, + { + "class": "right-50", + "css": "right: 50%;", + "property": "right", + "value": "50%" + }, + { + "class": "right-100", + "css": "right: 100%;", + "property": "right", + "value": "100%" + } + ] + }, + { + "bottom": [ + { + "class": "bottom-auto", + "css": "bottom: auto;", + "property": "bottom", + "value": "auto" + }, + { + "class": "bottom-0", + "css": "bottom: 0;", + "property": "bottom", + "value": "0" + }, + { + "class": "bottom-50", + "css": "bottom: 50%;", + "property": "bottom", + "value": "50%" + }, + { + "class": "bottom-100", + "css": "bottom: 100%;", + "property": "bottom", + "value": "100%" + } + ] + }, + { + "left": [ + { + "class": "left-auto", + "css": "left: auto;", + "property": "left", + "value": "auto" + }, + { + "class": "left-0", + "css": "left: 0;", + "property": "left", + "value": "0" + }, + { + "class": "left-50", + "css": "left: 50%;", + "property": "left", + "value": "50%" + }, + { + "class": "left-100", + "css": "left: 100%;", + "property": "left", + "value": "100%" + } + ] + }, + { + "z-index": [ + { + "class": "z-index-deep", + "css": "z-index: var(--bal-z-index-deep);", + "property": "z-index", + "value": "var(--bal-z-index-deep)" + }, + { + "class": "z-index", + "css": "z-index: var(--bal-z-index);", + "property": "z-index", + "value": "var(--bal-z-index)" + }, + { + "class": "z-index-masked", + "css": "z-index: var(--bal-z-index-masked);", + "property": "z-index", + "value": "var(--bal-z-index-masked)" + }, + { + "class": "z-index-mask", + "css": "z-index: var(--bal-z-index-mask);", + "property": "z-index", + "value": "var(--bal-z-index-mask)" + }, + { + "class": "z-index-sticky", + "css": "z-index: var(--bal-z-index-sticky);", + "property": "z-index", + "value": "var(--bal-z-index-sticky)" + }, + { + "class": "z-index-navigation", + "css": "z-index: var(--bal-z-index-navigation);", + "property": "z-index", + "value": "var(--bal-z-index-navigation)" + }, + { + "class": "z-index-popup", + "css": "z-index: var(--bal-z-index-popup);", + "property": "z-index", + "value": "var(--bal-z-index-popup)" + }, + { + "class": "z-index-modal", + "css": "z-index: var(--bal-z-index-modal);", + "property": "z-index", + "value": "var(--bal-z-index-modal)" + }, + { + "class": "z-index-toast", + "css": "z-index: var(--bal-z-index-toast);", + "property": "z-index", + "value": "var(--bal-z-index-toast)" + }, + { + "class": "z-index-tooltip", + "css": "z-index: var(--bal-z-index-tooltip);", + "property": "z-index", + "value": "var(--bal-z-index-tooltip)" + } + ] + }, + { + "vertical-align": [ + { + "class": "vertical-align-top", + "css": "vertical-align: top;", + "property": "vertical-align", + "value": "top" + }, + { + "class": "vertical-align-middle", + "css": "vertical-align: middle;", + "property": "vertical-align", + "value": "middle" + }, + { + "class": "vertical-align-bottom", + "css": "vertical-align: bottom;", + "property": "vertical-align", + "value": "bottom" + } + ] + } +] \ No newline at end of file diff --git a/docs/stories/assets/data/styles/sizing.json b/docs/stories/assets/data/styles/sizing.json new file mode 100644 index 0000000000..96593272f9 --- /dev/null +++ b/docs/stories/assets/data/styles/sizing.json @@ -0,0 +1,698 @@ +[ + { + "height": [ + { + "class": "h-full", + "css": "height: 100%;", + "property": "height", + "value": "100%" + }, + { + "class": "h-screen", + "css": "height: 100vh;", + "property": "height", + "value": "100vh" + }, + { + "class": "h-auto", + "css": "height: auto;", + "property": "height", + "value": "auto" + }, + { + "class": "h-min", + "css": "height: min-content;", + "property": "height", + "value": "min-content" + }, + { + "class": "h-max", + "css": "height: max-content;", + "property": "height", + "value": "max-content" + }, + { + "class": "h-fit", + "css": "height: fit-content;", + "property": "height", + "value": "fit-content" + }, + { + "class": "h-1rem", + "css": "height: 1rem;", + "property": "height", + "value": "1rem" + }, + { + "class": "h-2rem", + "css": "height: 2rem;", + "property": "height", + "value": "2rem" + }, + { + "class": "h-3rem", + "css": "height: 3rem;", + "property": "height", + "value": "3rem" + }, + { + "class": "h-4rem", + "css": "height: 4rem;", + "property": "height", + "value": "4rem" + }, + { + "class": "h-5rem", + "css": "height: 5rem;", + "property": "height", + "value": "5rem" + }, + { + "class": "h-6rem", + "css": "height: 6rem;", + "property": "height", + "value": "6rem" + }, + { + "class": "h-7rem", + "css": "height: 7rem;", + "property": "height", + "value": "7rem" + }, + { + "class": "h-8rem", + "css": "height: 8rem;", + "property": "height", + "value": "8rem" + }, + { + "class": "h-9rem", + "css": "height: 9rem;", + "property": "height", + "value": "9rem" + }, + { + "class": "h-10rem", + "css": "height: 10rem;", + "property": "height", + "value": "10rem" + }, + { + "class": "h-11rem", + "css": "height: 11rem;", + "property": "height", + "value": "11rem" + }, + { + "class": "h-12rem", + "css": "height: 12rem;", + "property": "height", + "value": "12rem" + }, + { + "class": "h-13rem", + "css": "height: 13rem;", + "property": "height", + "value": "13rem" + }, + { + "class": "h-14rem", + "css": "height: 14rem;", + "property": "height", + "value": "14rem" + }, + { + "class": "h-15rem", + "css": "height: 15rem;", + "property": "height", + "value": "15rem" + }, + { + "class": "h-16rem", + "css": "height: 16rem;", + "property": "height", + "value": "16rem" + }, + { + "class": "h-17rem", + "css": "height: 17rem;", + "property": "height", + "value": "17rem" + }, + { + "class": "h-18rem", + "css": "height: 18rem;", + "property": "height", + "value": "18rem" + }, + { + "class": "h-19rem", + "css": "height: 19rem;", + "property": "height", + "value": "19rem" + }, + { + "class": "h-20rem", + "css": "height: 20rem;", + "property": "height", + "value": "20rem" + }, + { + "class": "h-21rem", + "css": "height: 21rem;", + "property": "height", + "value": "21rem" + }, + { + "class": "h-22rem", + "css": "height: 22rem;", + "property": "height", + "value": "22rem" + }, + { + "class": "h-23rem", + "css": "height: 23rem;", + "property": "height", + "value": "23rem" + }, + { + "class": "h-24rem", + "css": "height: 24rem;", + "property": "height", + "value": "24rem" + }, + { + "class": "h-25rem", + "css": "height: 25rem;", + "property": "height", + "value": "25rem" + }, + { + "class": "h-26rem", + "css": "height: 26rem;", + "property": "height", + "value": "26rem" + }, + { + "class": "h-27rem", + "css": "height: 27rem;", + "property": "height", + "value": "27rem" + }, + { + "class": "h-28rem", + "css": "height: 28rem;", + "property": "height", + "value": "28rem" + }, + { + "class": "h-29rem", + "css": "height: 29rem;", + "property": "height", + "value": "29rem" + }, + { + "class": "h-30rem", + "css": "height: 30rem;", + "property": "height", + "value": "30rem" + } + ] + }, + { + "width": [ + { + "class": "w-full", + "css": "width: 100%;", + "property": "width", + "value": "100%" + }, + { + "class": "w-screen", + "css": "width: 100vw;", + "property": "width", + "value": "100vw" + }, + { + "class": "w-auto", + "css": "width: auto;", + "property": "width", + "value": "auto" + }, + { + "class": "w-min", + "css": "width: min-content;", + "property": "width", + "value": "min-content" + }, + { + "class": "w-max", + "css": "width: max-content;", + "property": "width", + "value": "max-content" + }, + { + "class": "w-fit", + "css": "width: fit-content;", + "property": "width", + "value": "fit-content" + }, + { + "class": "w-1", + "css": "width: 8.3333%;", + "property": "width", + "value": "8.3333%" + }, + { + "class": "w-2", + "css": "width: 16.6667%;", + "property": "width", + "value": "16.6667%" + }, + { + "class": "w-3", + "css": "width: 25%;", + "property": "width", + "value": "25%" + }, + { + "class": "w-4", + "css": "width: 33.3333%;", + "property": "width", + "value": "33.3333%" + }, + { + "class": "w-5", + "css": "width: 41.6667%;", + "property": "width", + "value": "41.6667%" + }, + { + "class": "w-6", + "css": "width: 50%;", + "property": "width", + "value": "50%" + }, + { + "class": "w-7", + "css": "width: 58.3333%;", + "property": "width", + "value": "58.3333%" + }, + { + "class": "w-8", + "css": "width: 66.6667%;", + "property": "width", + "value": "66.6667%" + }, + { + "class": "w-9", + "css": "width: 75%;", + "property": "width", + "value": "75%" + }, + { + "class": "w-10", + "css": "width: 83.3333%;", + "property": "width", + "value": "83.3333%" + }, + { + "class": "w-11", + "css": "width: 91.6667%;", + "property": "width", + "value": "91.6667%" + }, + { + "class": "w-12", + "css": "width: 100%;", + "property": "width", + "value": "100%" + }, + { + "class": "w-1rem", + "css": "width: 1rem;", + "property": "width", + "value": "1rem" + }, + { + "class": "w-2rem", + "css": "width: 2rem;", + "property": "width", + "value": "2rem" + }, + { + "class": "w-3rem", + "css": "width: 3rem;", + "property": "width", + "value": "3rem" + }, + { + "class": "w-4rem", + "css": "width: 4rem;", + "property": "width", + "value": "4rem" + }, + { + "class": "w-5rem", + "css": "width: 5rem;", + "property": "width", + "value": "5rem" + }, + { + "class": "w-6rem", + "css": "width: 6rem;", + "property": "width", + "value": "6rem" + }, + { + "class": "w-7rem", + "css": "width: 7rem;", + "property": "width", + "value": "7rem" + }, + { + "class": "w-8rem", + "css": "width: 8rem;", + "property": "width", + "value": "8rem" + }, + { + "class": "w-9rem", + "css": "width: 9rem;", + "property": "width", + "value": "9rem" + }, + { + "class": "w-10rem", + "css": "width: 10rem;", + "property": "width", + "value": "10rem" + }, + { + "class": "w-11rem", + "css": "width: 11rem;", + "property": "width", + "value": "11rem" + }, + { + "class": "w-12rem", + "css": "width: 12rem;", + "property": "width", + "value": "12rem" + }, + { + "class": "w-13rem", + "css": "width: 13rem;", + "property": "width", + "value": "13rem" + }, + { + "class": "w-14rem", + "css": "width: 14rem;", + "property": "width", + "value": "14rem" + }, + { + "class": "w-15rem", + "css": "width: 15rem;", + "property": "width", + "value": "15rem" + }, + { + "class": "w-16rem", + "css": "width: 16rem;", + "property": "width", + "value": "16rem" + }, + { + "class": "w-17rem", + "css": "width: 17rem;", + "property": "width", + "value": "17rem" + }, + { + "class": "w-18rem", + "css": "width: 18rem;", + "property": "width", + "value": "18rem" + }, + { + "class": "w-19rem", + "css": "width: 19rem;", + "property": "width", + "value": "19rem" + }, + { + "class": "w-20rem", + "css": "width: 20rem;", + "property": "width", + "value": "20rem" + }, + { + "class": "w-21rem", + "css": "width: 21rem;", + "property": "width", + "value": "21rem" + }, + { + "class": "w-22rem", + "css": "width: 22rem;", + "property": "width", + "value": "22rem" + }, + { + "class": "w-23rem", + "css": "width: 23rem;", + "property": "width", + "value": "23rem" + }, + { + "class": "w-24rem", + "css": "width: 24rem;", + "property": "width", + "value": "24rem" + }, + { + "class": "w-25rem", + "css": "width: 25rem;", + "property": "width", + "value": "25rem" + }, + { + "class": "w-26rem", + "css": "width: 26rem;", + "property": "width", + "value": "26rem" + }, + { + "class": "w-27rem", + "css": "width: 27rem;", + "property": "width", + "value": "27rem" + }, + { + "class": "w-28rem", + "css": "width: 28rem;", + "property": "width", + "value": "28rem" + }, + { + "class": "w-29rem", + "css": "width: 29rem;", + "property": "width", + "value": "29rem" + }, + { + "class": "w-30rem", + "css": "width: 30rem;", + "property": "width", + "value": "30rem" + } + ] + }, + { + "min-height": [ + { + "class": "min-h-auto", + "css": "min-height: auto;", + "property": "min-height", + "value": "auto" + }, + { + "class": "min-h-0", + "css": "min-height: 0px;", + "property": "min-height", + "value": "0px" + }, + { + "class": "min-h-full", + "css": "min-height: 100%;", + "property": "min-height", + "value": "100%" + }, + { + "class": "min-h-screen", + "css": "min-height: 100vh;", + "property": "min-height", + "value": "100vh" + }, + { + "class": "min-h-min", + "css": "min-height: min-content;", + "property": "min-height", + "value": "min-content" + }, + { + "class": "min-h-max", + "css": "min-height: max-content;", + "property": "min-height", + "value": "max-content" + }, + { + "class": "min-h-fit", + "css": "min-height: fit-content;", + "property": "min-height", + "value": "fit-content" + } + ] + }, + { + "min-width": [ + { + "class": "min-w-auto", + "css": "min-width: auto;", + "property": "min-width", + "value": "auto" + }, + { + "class": "min-w-0", + "css": "min-width: 0px;", + "property": "min-width", + "value": "0px" + }, + { + "class": "min-w-full", + "css": "min-width: 100%;", + "property": "min-width", + "value": "100%" + }, + { + "class": "min-w-screen", + "css": "min-width: 100vw;", + "property": "min-width", + "value": "100vw" + }, + { + "class": "min-w-min", + "css": "min-width: min-content;", + "property": "min-width", + "value": "min-content" + }, + { + "class": "min-w-max", + "css": "min-width: max-content;", + "property": "min-width", + "value": "max-content" + }, + { + "class": "min-w-fit", + "css": "min-width: fit-content;", + "property": "min-width", + "value": "fit-content" + } + ] + }, + { + "max-height": [ + { + "class": "max-h-auto", + "css": "max-height: auto;", + "property": "max-height", + "value": "auto" + }, + { + "class": "max-h-0", + "css": "max-height: 0px;", + "property": "max-height", + "value": "0px" + }, + { + "class": "max-h-full", + "css": "max-height: 100%;", + "property": "max-height", + "value": "100%" + }, + { + "class": "max-h-screen", + "css": "max-height: 100vh;", + "property": "max-height", + "value": "100vh" + }, + { + "class": "min-h-min", + "css": "max-height: min-content;", + "property": "max-height", + "value": "min-content" + }, + { + "class": "min-h-max", + "css": "max-height: max-content;", + "property": "max-height", + "value": "max-content" + }, + { + "class": "min-h-fit", + "css": "max-height: fit-content;", + "property": "max-height", + "value": "fit-content" + } + ] + }, + { + "max-width": [ + { + "class": "max-w-auto", + "css": "max-width: auto;", + "property": "max-width", + "value": "auto" + }, + { + "class": "max-w-0", + "css": "max-width: 0px;", + "property": "max-width", + "value": "0px" + }, + { + "class": "max-w-full", + "css": "max-width: 100%;", + "property": "max-width", + "value": "100%" + }, + { + "class": "max-w-screen", + "css": "max-width: 100vw;", + "property": "max-width", + "value": "100vw" + }, + { + "class": "max-w-min", + "css": "max-width: min-content;", + "property": "max-width", + "value": "min-content" + }, + { + "class": "max-w-max", + "css": "max-width: max-content;", + "property": "max-width", + "value": "max-content" + }, + { + "class": "max-w-fit", + "css": "max-width: fit-content;", + "property": "max-width", + "value": "fit-content" + } + ] + } +] \ No newline at end of file diff --git a/docs/stories/assets/data/styles/spacing.json b/docs/stories/assets/data/styles/spacing.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/docs/stories/assets/data/styles/spacing.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/docs/stories/assets/data/styles/typography.json b/docs/stories/assets/data/styles/typography.json new file mode 100644 index 0000000000..a7ff5e27cb --- /dev/null +++ b/docs/stories/assets/data/styles/typography.json @@ -0,0 +1,638 @@ +[ + { + "color": [ + { + "class": "text-primary", + "css": "color: var(--bal-color-text-primary);", + "property": "color", + "value": "var(--bal-color-text-primary)" + }, + { + "class": "text-primary-light", + "css": "color: var(--bal-color-text-primary-light);", + "property": "color", + "value": "var(--bal-color-text-primary-light)" + }, + { + "class": "text-white", + "css": "color: var(--bal-color-text-white);", + "property": "color", + "value": "var(--bal-color-text-white)" + }, + { + "class": "text-grey-light", + "css": "color: var(--bal-color-text-grey-light);", + "property": "color", + "value": "var(--bal-color-text-grey-light)" + }, + { + "class": "text-grey", + "css": "color: var(--bal-color-text-grey);", + "property": "color", + "value": "var(--bal-color-text-grey)" + }, + { + "class": "text-grey-dark", + "css": "color: var(--bal-color-text-grey-dark);", + "property": "color", + "value": "var(--bal-color-text-grey-dark)" + }, + { + "class": "text-info", + "css": "color: var(--bal-color-text-info);", + "property": "color", + "value": "var(--bal-color-text-info)" + }, + { + "class": "text-warning", + "css": "color: var(--bal-color-text-warning);", + "property": "color", + "value": "var(--bal-color-text-warning)" + }, + { + "class": "text-success", + "css": "color: var(--bal-color-text-success);", + "property": "color", + "value": "var(--bal-color-text-success)" + }, + { + "class": "text-danger", + "css": "color: var(--bal-color-text-danger);", + "property": "color", + "value": "var(--bal-color-text-danger)" + }, + { + "class": "text-black", + "css": "color: var(--bal-color-text-black);", + "property": "color", + "value": "var(--bal-color-text-black)" + }, + { + "class": "text-primary-hovered", + "css": "color: var(--bal-color-text-primary-hovered);", + "property": "color", + "value": "var(--bal-color-text-primary-hovered)" + }, + { + "class": "text-primary-pressed", + "css": "color: var(--bal-color-text-primary-pressed);", + "property": "color", + "value": "var(--bal-color-text-primary-pressed)" + }, + { + "class": "text-danger-hovered", + "css": "color: var(--bal-color-text-danger-hovered);", + "property": "color", + "value": "var(--bal-color-text-danger-hovered)" + }, + { + "class": "text-danger-pressed", + "css": "color: var(--bal-color-text-danger-pressed);", + "property": "color", + "value": "var(--bal-color-text-danger-pressed)" + }, + { + "class": "text-inverted", + "css": "color: var(--bal-color-text-inverted);", + "property": "color", + "value": "var(--bal-color-text-inverted)" + }, + { + "class": "text-inverted-disabled", + "css": "color: var(--bal-color-text-inverted-disabled);", + "property": "color", + "value": "var(--bal-color-text-inverted-disabled)" + }, + { + "class": "text-inverted-hovered", + "css": "color: var(--bal-color-text-inverted-hovered);", + "property": "color", + "value": "var(--bal-color-text-inverted-hovered)" + }, + { + "class": "text-inverted-pressed", + "css": "color: var(--bal-color-text-inverted-pressed);", + "property": "color", + "value": "var(--bal-color-text-inverted-pressed)" + } + ] + }, + { + "font-family": [ + { + "class": "font-family-title", + "css": "font-family: var(--bal-font-family-title);", + "property": "font-family", + "value": "var(--bal-font-family-title)" + }, + { + "class": "font-family-text", + "css": "font-family: var(--bal-font-family-text);", + "property": "font-family", + "value": "var(--bal-font-family-text)" + } + ] + }, + { + "rules": [ + { + "selectors": [ + ".text-x-small" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-x-small)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-small" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-small)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-normal" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-normal)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-medium" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-medium)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-large)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-x-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-x-large)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xx-large)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxx-large)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxxx-large)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxxxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxxxx-large)", + "important": true + } + ] + } + ] + }, + { + "rules": [ + { + "rules": [ + { + "selectors": [ + ".text-x-small" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-x-small-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-small" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-small-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-normal" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-normal-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-medium" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-medium-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-large-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-x-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-x-large-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xx-large-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxx-large-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxxx-large-tablet)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxxxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxxxx-large-tablet)", + "important": true + } + ] + } + ] + } + ], + "breakpoint": "tablet" + }, + { + "rules": [ + { + "rules": [ + { + "selectors": [ + ".text-x-small" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-x-small-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-small" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-small-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-normal" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-normal-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-medium" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-medium-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-large-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-x-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-x-large-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xx-large-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxx-large-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxxx-large-desktop)", + "important": true + } + ] + }, + { + "selectors": [ + ".text-xxxxx-large" + ], + "values": [ + { + "prop": "font-size", + "value": "var(--bal-text-size-xxxxx-large-desktop)", + "important": true + } + ] + } + ] + } + ], + "breakpoint": "desktop" + }, + { + "text-align": [ + { + "class": "text-align-center", + "css": "text-align: center;", + "property": "text-align", + "value": "center" + }, + { + "class": "text-align-left", + "css": "text-align: left;", + "property": "text-align", + "value": "left" + }, + { + "class": "text-align-right", + "css": "text-align: right;", + "property": "text-align", + "value": "right" + }, + { + "class": "text-align-justify", + "css": "text-align: justify;", + "property": "text-align", + "value": "justify" + } + ] + }, + { + "text-transform": [ + { + "class": "lowercase", + "css": "text-transform: lowercase;", + "property": "text-transform", + "value": "lowercase" + }, + { + "class": "uppercase", + "css": "text-transform: uppercase;", + "property": "text-transform", + "value": "uppercase" + }, + { + "class": "capitalize", + "css": "text-transform: capitalize;", + "property": "text-transform", + "value": "capitalize" + } + ] + }, + { + "font-weight": [ + { + "class": "font-weight-bold", + "css": "font-weight: var(--bal-font-weight-bold);", + "property": "font-weight", + "value": "var(--bal-font-weight-bold)" + }, + { + "class": "font-weight-regular", + "css": "font-weight: var(--bal-font-weight-regular);", + "property": "font-weight", + "value": "var(--bal-font-weight-regular)" + }, + { + "class": "font-weight-light", + "css": "font-weight: var(--bal-font-weight-light);", + "property": "font-weight", + "value": "var(--bal-font-weight-light)" + } + ] + }, + { + "white-space": [ + { + "class": "white-space-normal", + "css": "white-space: normal;", + "property": "white-space", + "value": "normal" + }, + { + "class": "white-space-nowrap", + "css": "white-space: nowrap;", + "property": "white-space", + "value": "nowrap" + } + ] + }, + { + "line-height": [ + { + "class": "line-height-title", + "css": "line-height: var(--bal-text-line-height-title);", + "property": "line-height", + "value": "var(--bal-text-line-height-title)" + }, + { + "class": "line-height-text", + "css": "line-height: var(--bal-text-line-height-text);", + "property": "line-height", + "value": "var(--bal-text-line-height-text)" + } + ] + }, + { + "text-overflow": [ + { + "class": "text-overflow-clip", + "css": "text-overflow: clip;", + "property": "text-overflow", + "value": "clip" + }, + { + "class": "text-overflow-ellipsis", + "css": "text-overflow: ellipsis;", + "property": "text-overflow", + "value": "ellipsis" + } + ] + } +] \ No newline at end of file diff --git a/libs/nx/src/executors/build-docs/executor.ts b/libs/nx/src/executors/build-docs/executor.ts index c893838538..57c441288a 100644 --- a/libs/nx/src/executors/build-docs/executor.ts +++ b/libs/nx/src/executors/build-docs/executor.ts @@ -58,7 +58,6 @@ async function copyResources(options: BuildDocsExecutorSchema) { await copyToAsset(join(packageRoot, 'maps/src/assets'), 'images/map-markers') await copyToAsset(join(packageRoot, 'icons/src/icons.json'), 'data/icons.json') await copyToAsset(join(packageRoot, 'brand-icons/src/icons.json'), 'data/brand-icons.json') - await copyToAsset(join(packageRoot, 'styles/docs'), 'data/styles') const resourceRoot = join(options.projectRoot, '..', 'resources', 'data') await copyToAsset(join(resourceRoot, 'commands.json'), 'data/commands.json')