diff --git a/.changeset/yellow-ravens-stare.md b/.changeset/yellow-ravens-stare.md new file mode 100644 index 0000000..a1579eb --- /dev/null +++ b/.changeset/yellow-ravens-stare.md @@ -0,0 +1,5 @@ +--- +"sqlseal": patch +--- + +chore: splitting styles into separate files for easier maintainance diff --git a/.gitignore b/.gitignore index 164a81a..878c21e 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ docs/.vitepress/dist docs/.vitepress/cache coverage/ dist/ +styles.css diff --git a/esbuild.config.mjs b/esbuild.config.mjs index 775d0b8..a73226b 100644 --- a/esbuild.config.mjs +++ b/esbuild.config.mjs @@ -4,6 +4,7 @@ import builtins from "builtin-modules"; import { readFileSync } from 'fs'; import { join } from 'path'; import { polyfillNode } from 'esbuild-plugin-polyfill-node' +import { sassPlugin } from 'esbuild-sass-plugin' const banner = `/* THIS IS A GENERATED/BUNDLED FILE BY ESBUILD @@ -117,9 +118,26 @@ const context = await esbuild.context({ } }); +const stylesContext = await esbuild.context({ + entryPoints: ['src/styles/main.scss'], + outfile: './styles.css', + bundle: true, + minify: true, + sourcemap: true, + plugins: [sassPlugin({ + sourceMap: true + })], + logLevel: 'info' +}) + + if (prod) { await context.rebuild(); + await stylesContext.rebuild(); process.exit(0); } else { - await context.watch(); + await Promise.all([ + context.watch(), + stylesContext.watch() + ]) } \ No newline at end of file diff --git a/package.json b/package.json index 85485aa..e775a44 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "electron-rebuild": "^3.2.9", "esbuild": "0.25.4", "esbuild-plugin-replace": "^1.4.0", + "esbuild-sass-plugin": "^3.3.1", "jest": "^29.7.0", "obsidian": "^1.8.7", "prettier": "3.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 959cbff..8fced50 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -126,6 +126,9 @@ importers: esbuild-plugin-replace: specifier: ^1.4.0 version: 1.4.0 + esbuild-sass-plugin: + specifier: ^3.3.1 + version: 3.3.1(esbuild@0.25.4)(sass-embedded@1.89.0) jest: specifier: ^29.7.0 version: 29.7.0(@types/node@22.15.18) @@ -146,7 +149,7 @@ importers: version: 5.8.3 vitepress: specifier: ^1.6.3 - version: 1.6.3(@algolia/client-search@5.25.0)(@types/node@22.15.18)(postcss@8.5.3)(search-insights@2.17.3)(typescript@5.8.3) + version: 1.6.3(@algolia/client-search@5.25.0)(@types/node@22.15.18)(postcss@8.5.3)(sass-embedded@1.89.0)(sass@1.89.0)(search-insights@2.17.3)(typescript@5.8.3) vue: specifier: ^3.5.14 version: 3.5.14(typescript@5.8.3) @@ -400,6 +403,9 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@bufbuild/protobuf@2.4.0': + resolution: {integrity: sha512-RN9M76x7N11QRihKovEglEjjVCQEA9PRBVnDgk9xw8JHLrcUrp4FpAVSPSH91cNbcTft3u2vpLN4GMbiKY9PJw==} + '@changesets/apply-release-plan@7.0.12': resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==} @@ -986,6 +992,88 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This functionality has been moved to @npmcli/fs + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + '@rollup/rollup-android-arm-eabi@4.40.2': resolution: {integrity: sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==} cpu: [arm] @@ -1601,6 +1689,9 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + buffer-builder@0.2.0: + resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -1670,6 +1761,10 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -1722,6 +1817,9 @@ packages: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true + colorjs.io@0.5.2: + resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} + comlink@4.4.2: resolution: {integrity: sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==} @@ -1803,6 +1901,11 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + detect-libc@2.0.4: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} @@ -1894,6 +1997,12 @@ packages: esbuild-plugin-replace@1.4.0: resolution: {integrity: sha512-lP3ZAyzyRa5JXoOd59lJbRKNObtK8pJ/RO7o6vdjwLi71GfbL32NR22ZuS7/cLZkr10/L1lutoLma8E4DLngYg==} + esbuild-sass-plugin@3.3.1: + resolution: {integrity: sha512-SnO1ls+d52n6j8gRRpjexXI8MsHEaumS0IdDHaYM29Y6gakzZYMls6i9ql9+AWMSQk/eryndmUpXEgT34QrX1A==} + peerDependencies: + esbuild: '>=0.20.1' + sass-embedded: ^1.71.1 + esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -2244,6 +2353,9 @@ packages: resolution: {integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==} engines: {node: '>= 4'} + immutable@5.1.2: + resolution: {integrity: sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==} + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -2780,6 +2892,9 @@ packages: node-addon-api@3.2.1: resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-api-version@0.1.4: resolution: {integrity: sha512-KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g==} @@ -3033,6 +3148,10 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -3101,12 +3220,18 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + safari-14-idb-fix@1.0.6: resolution: {integrity: sha512-oTEQOdMwRX+uCtWCKT1nx2gAeSdpr8elg/2gcaKUH00SJU2xWESfkx11nmXwTRHy7xfQoj1o4TTQvdmuBosTnA==} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + safe-identifier@0.4.2: + resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} + safe-regex-test@1.1.0: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} @@ -3114,6 +3239,136 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + sass-embedded-android-arm64@1.89.0: + resolution: {integrity: sha512-pr4R3p5R+Ul9ZA5nzYbBJQFJXW6dMGzgpNBhmaToYDgDhmNX5kg0mZAUlGLHvisLdTiR6oEfDDr9QI6tnD2nqA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [android] + + sass-embedded-android-arm@1.89.0: + resolution: {integrity: sha512-s6jxkEZQQrtyIGZX6Sbcu7tEixFG2VkqFgrX11flm/jZex7KaxnZtFace+wnYAgHqzzYpx0kNzJUpT+GXxm8CA==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [android] + + sass-embedded-android-ia32@1.89.0: + resolution: {integrity: sha512-GoNnNGYmp1F0ZMHqQbAurlQsjBMZKtDd5H60Ruq86uQFdnuNqQ9wHKJsJABxMnjfAn60IjefytM5PYTMcAmbfA==} + engines: {node: '>=14.0.0'} + cpu: [ia32] + os: [android] + + sass-embedded-android-riscv64@1.89.0: + resolution: {integrity: sha512-di+i4KkKAWTNksaQYTqBEERv46qV/tvv14TPswEfak7vcTQ2pj2mvV4KGjLYfU2LqRkX/NTXix9KFthrzFN51Q==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [android] + + sass-embedded-android-x64@1.89.0: + resolution: {integrity: sha512-1cRRDAnmAS1wLaxfFf6PCHu9sKW8FNxdM7ZkanwxO9mztrCu/uvfqTmaurY9+RaKvPus7sGYFp46/TNtl/wRjg==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [android] + + sass-embedded-darwin-arm64@1.89.0: + resolution: {integrity: sha512-EUNUzI0UkbQ6dASPyf09S3x7fNT54PjyD594ZGTY14Yh4qTuacIj27ckLmreAJNNu5QxlbhyYuOtz+XN5bMMxA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [darwin] + + sass-embedded-darwin-x64@1.89.0: + resolution: {integrity: sha512-23R8zSuB31Fq/MYpmQ38UR2C26BsYb66VVpJgWmWl/N+sgv/+l9ECuSPMbYNgM3vb9TP9wk9dgL6KkiCS5tAyg==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [darwin] + + sass-embedded-linux-arm64@1.89.0: + resolution: {integrity: sha512-g9Lp57qyx51ttKj0AN/edV43Hu1fBObvD7LpYwVfs6u3I95r0Adi90KujzNrUqXxJVmsfUwseY8kA8zvcRjhYA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + + sass-embedded-linux-arm@1.89.0: + resolution: {integrity: sha512-KAzA1XD74d8/fiJXxVnLfFwfpmD2XqUJZz+DL6ZAPNLH1sb+yCP7brktaOyClDc/MBu61JERdHaJjIZhfX0Yqw==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + + sass-embedded-linux-ia32@1.89.0: + resolution: {integrity: sha512-5fxBeXyvBr3pb+vyrx9V6yd7QDRXkAPbwmFVVhjqshBABOXelLysEFea7xokh/tM8JAAQ4O8Ls3eW3Eojb477g==} + engines: {node: '>=14.0.0'} + cpu: [ia32] + os: [linux] + + sass-embedded-linux-musl-arm64@1.89.0: + resolution: {integrity: sha512-50oelrOtN64u15vJN9uJryIuT0+UPjyeoq0zdWbY8F7LM9294Wf+Idea+nqDUWDCj1MHndyPFmR1mjeuRouJhw==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + + sass-embedded-linux-musl-arm@1.89.0: + resolution: {integrity: sha512-0Q1JeEU4/tzH7fwAwarfIh+Swn3aXG/jPhVsZpbR1c1VzkeaPngmXdmLJcVXsdb35tjk84DuYcFtJlE1HYGw4Q==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + + sass-embedded-linux-musl-ia32@1.89.0: + resolution: {integrity: sha512-ILWqpTd+0RdsSw977iVAJf4CLetIbcQgLQf17ycS1N4StZKVRZs1bBfZhg/f/HU/4p5HondPAwepgJepZZdnFA==} + engines: {node: '>=14.0.0'} + cpu: [ia32] + os: [linux] + + sass-embedded-linux-musl-riscv64@1.89.0: + resolution: {integrity: sha512-n2V+Tdjj7SAuiuElJYhWiHjjB1YU0cuFvL1/m5K+ecdNStfHFWIzvBT6/vzQnBOWjI4eZECNVuQ8GwGWCufZew==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + + sass-embedded-linux-musl-x64@1.89.0: + resolution: {integrity: sha512-KOHJdouBK3SLJKZLnFYzuxs3dn+6jaeO3p4p1JUYAcVfndcvh13Sg2sLGfOfpg7Og6ws2Nnqnx0CyL26jPJ7ag==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + + sass-embedded-linux-riscv64@1.89.0: + resolution: {integrity: sha512-0A/UWeKX6MYhVLWLkdX3NPKHO+mvIwzaf6TxGCy3vS3TODWaeDUeBhHShAr7YlOKv5xRGxf7Gx7FXCPV0mUyMA==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + + sass-embedded-linux-x64@1.89.0: + resolution: {integrity: sha512-dRBoOFPDWctHPYK3hTk3YzyX/icVrXiw7oOjbtpaDr6JooqIWBe16FslkWyvQzdmfOFy80raKVjgoqT7DsznkQ==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + + sass-embedded-win32-arm64@1.89.0: + resolution: {integrity: sha512-RnlVZ14hC/W7ubzvhqnbGfjU5PFNoFP/y5qycgCy+Mezb0IKbWvZ2Lyzux8TbL3OIjOikkNpfXoNQrX706WLAA==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [win32] + + sass-embedded-win32-ia32@1.89.0: + resolution: {integrity: sha512-eFe9VMNG+90nuoE3eXDy+38+uEHGf7xcqalq5+0PVZfR+H9RlaEbvIUNflZV94+LOH8Jb4lrfuekhHgWDJLfSg==} + engines: {node: '>=14.0.0'} + cpu: [ia32] + os: [win32] + + sass-embedded-win32-x64@1.89.0: + resolution: {integrity: sha512-AaGpr5R6MLCuSvkvDdRq49ebifwLcuGPk0/10hbYw9nh3jpy2/CylYubQpIpR4yPcuD1wFwFqufTXC3HJYGb0g==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [win32] + + sass-embedded@1.89.0: + resolution: {integrity: sha512-EDrK1el9zdgJFpocCGlxatDWaP18tJBWoM1hxzo2KJBvjdmBichXI6O6KlQrigvQPO3uJ8DfmFmAAx7s7CG6uw==} + engines: {node: '>=16.0.0'} + hasBin: true + + sass@1.89.0: + resolution: {integrity: sha512-ld+kQU8YTdGNjOLfRWBzewJpU5cwEv/h5yyqlSeJcj6Yh8U4TDA9UA5FPicqDz/xgRPWRSYIQNiFks21TbA9KQ==} + engines: {node: '>=14.0.0'} + hasBin: true + search-insights@2.17.3: resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} @@ -3268,6 +3523,14 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + sync-child-process@1.0.2: + resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} + engines: {node: '>=16.0.0'} + + sync-message-port@1.1.3: + resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==} + engines: {node: '>=16.0.0'} + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -3435,6 +3698,9 @@ packages: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} + varint@6.0.0: + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} @@ -3867,6 +4133,8 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} + '@bufbuild/protobuf@2.4.0': {} + '@changesets/apply-release-plan@7.0.12': dependencies: '@changesets/config': 3.1.1 @@ -4512,6 +4780,67 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + 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 + optional: true + '@rollup/rollup-android-arm-eabi@4.40.2': optional: true @@ -4929,9 +5258,9 @@ snapshots: - eslint - supports-color - '@vitejs/plugin-vue@5.2.4(vite@5.4.19(@types/node@22.15.18))(vue@3.5.14(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@5.4.19(@types/node@22.15.18)(sass-embedded@1.89.0)(sass@1.89.0))(vue@3.5.14(typescript@5.8.3))': dependencies: - vite: 5.4.19(@types/node@22.15.18) + vite: 5.4.19(@types/node@22.15.18)(sass-embedded@1.89.0)(sass@1.89.0) vue: 3.5.14(typescript@5.8.3) '@vue/compiler-core@3.5.14': @@ -5230,6 +5559,8 @@ snapshots: dependencies: node-int64: 0.4.0 + buffer-builder@0.2.0: {} + buffer-from@1.1.2: {} buffer@5.7.1: @@ -5314,6 +5645,10 @@ snapshots: chardet@0.7.0: {} + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + chownr@2.0.0: {} ci-info@3.9.0: {} @@ -5352,6 +5687,8 @@ snapshots: color-support@1.1.3: {} + colorjs.io@0.5.2: {} + comlink@4.4.2: {} comma-separated-tokens@2.0.3: {} @@ -5421,6 +5758,9 @@ snapshots: detect-indent@6.1.0: {} + detect-libc@1.0.3: + optional: true + detect-libc@2.0.4: {} detect-newline@3.1.0: {} @@ -5515,6 +5855,14 @@ snapshots: dependencies: magic-string: 0.25.9 + esbuild-sass-plugin@3.3.1(esbuild@0.25.4)(sass-embedded@1.89.0): + dependencies: + esbuild: 0.25.4 + resolve: 1.22.10 + safe-identifier: 0.4.2 + sass: 1.89.0 + sass-embedded: 1.89.0 + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -5973,6 +6321,8 @@ snapshots: ignore@7.0.4: {} + immutable@5.1.2: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -6681,6 +7031,9 @@ snapshots: node-addon-api@3.2.1: {} + node-addon-api@7.1.1: + optional: true + node-api-version@0.1.4: dependencies: semver: 7.7.2 @@ -6923,6 +7276,8 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 + readdirp@4.1.2: {} + regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -7002,10 +7357,16 @@ snapshots: dependencies: queue-microtask: 1.2.3 + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + safari-14-idb-fix@1.0.6: {} safe-buffer@5.2.1: {} + safe-identifier@0.4.2: {} + safe-regex-test@1.1.0: dependencies: call-bound: 1.0.4 @@ -7014,6 +7375,106 @@ snapshots: safer-buffer@2.1.2: {} + sass-embedded-android-arm64@1.89.0: + optional: true + + sass-embedded-android-arm@1.89.0: + optional: true + + sass-embedded-android-ia32@1.89.0: + optional: true + + sass-embedded-android-riscv64@1.89.0: + optional: true + + sass-embedded-android-x64@1.89.0: + optional: true + + sass-embedded-darwin-arm64@1.89.0: + optional: true + + sass-embedded-darwin-x64@1.89.0: + optional: true + + sass-embedded-linux-arm64@1.89.0: + optional: true + + sass-embedded-linux-arm@1.89.0: + optional: true + + sass-embedded-linux-ia32@1.89.0: + optional: true + + sass-embedded-linux-musl-arm64@1.89.0: + optional: true + + sass-embedded-linux-musl-arm@1.89.0: + optional: true + + sass-embedded-linux-musl-ia32@1.89.0: + optional: true + + sass-embedded-linux-musl-riscv64@1.89.0: + optional: true + + sass-embedded-linux-musl-x64@1.89.0: + optional: true + + sass-embedded-linux-riscv64@1.89.0: + optional: true + + sass-embedded-linux-x64@1.89.0: + optional: true + + sass-embedded-win32-arm64@1.89.0: + optional: true + + sass-embedded-win32-ia32@1.89.0: + optional: true + + sass-embedded-win32-x64@1.89.0: + optional: true + + sass-embedded@1.89.0: + dependencies: + '@bufbuild/protobuf': 2.4.0 + buffer-builder: 0.2.0 + colorjs.io: 0.5.2 + immutable: 5.1.2 + rxjs: 7.8.2 + supports-color: 8.1.1 + sync-child-process: 1.0.2 + varint: 6.0.0 + optionalDependencies: + sass-embedded-android-arm: 1.89.0 + sass-embedded-android-arm64: 1.89.0 + sass-embedded-android-ia32: 1.89.0 + sass-embedded-android-riscv64: 1.89.0 + sass-embedded-android-x64: 1.89.0 + sass-embedded-darwin-arm64: 1.89.0 + sass-embedded-darwin-x64: 1.89.0 + sass-embedded-linux-arm: 1.89.0 + sass-embedded-linux-arm64: 1.89.0 + sass-embedded-linux-ia32: 1.89.0 + sass-embedded-linux-musl-arm: 1.89.0 + sass-embedded-linux-musl-arm64: 1.89.0 + sass-embedded-linux-musl-ia32: 1.89.0 + sass-embedded-linux-musl-riscv64: 1.89.0 + sass-embedded-linux-musl-x64: 1.89.0 + sass-embedded-linux-riscv64: 1.89.0 + sass-embedded-linux-x64: 1.89.0 + sass-embedded-win32-arm64: 1.89.0 + sass-embedded-win32-ia32: 1.89.0 + sass-embedded-win32-x64: 1.89.0 + + sass@1.89.0: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.2 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + search-insights@2.17.3: {} semver@6.3.1: {} @@ -7157,6 +7618,12 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + sync-child-process@1.0.2: + dependencies: + sync-message-port: 1.1.3 + + sync-message-port@1.1.3: {} + tabbable@6.2.0: {} tar@6.2.1: @@ -7309,6 +7776,8 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 + varint@6.0.0: {} + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 @@ -7319,7 +7788,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite@5.4.19(@types/node@22.15.18): + vite@5.4.19(@types/node@22.15.18)(sass-embedded@1.89.0)(sass@1.89.0): dependencies: esbuild: 0.21.5 postcss: 8.5.3 @@ -7327,8 +7796,10 @@ snapshots: optionalDependencies: '@types/node': 22.15.18 fsevents: 2.3.3 + sass: 1.89.0 + sass-embedded: 1.89.0 - vitepress@1.6.3(@algolia/client-search@5.25.0)(@types/node@22.15.18)(postcss@8.5.3)(search-insights@2.17.3)(typescript@5.8.3): + vitepress@1.6.3(@algolia/client-search@5.25.0)(@types/node@22.15.18)(postcss@8.5.3)(sass-embedded@1.89.0)(sass@1.89.0)(search-insights@2.17.3)(typescript@5.8.3): dependencies: '@docsearch/css': 3.8.2 '@docsearch/js': 3.8.2(@algolia/client-search@5.25.0)(search-insights@2.17.3) @@ -7337,7 +7808,7 @@ snapshots: '@shikijs/transformers': 2.5.0 '@shikijs/types': 2.5.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.2.4(vite@5.4.19(@types/node@22.15.18))(vue@3.5.14(typescript@5.8.3)) + '@vitejs/plugin-vue': 5.2.4(vite@5.4.19(@types/node@22.15.18)(sass-embedded@1.89.0)(sass@1.89.0))(vue@3.5.14(typescript@5.8.3)) '@vue/devtools-api': 7.7.6 '@vue/shared': 3.5.14 '@vueuse/core': 12.8.2(typescript@5.8.3) @@ -7346,7 +7817,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.1.2 shiki: 2.5.0 - vite: 5.4.19(@types/node@22.15.18) + vite: 5.4.19(@types/node@22.15.18)(sass-embedded@1.89.0)(sass@1.89.0) vue: 3.5.14(typescript@5.8.3) optionalDependencies: postcss: 8.5.3 diff --git a/src/styles/agGrid.scss b/src/styles/agGrid.scss new file mode 100644 index 0000000..bb16c27 --- /dev/null +++ b/src/styles/agGrid.scss @@ -0,0 +1,4 @@ +/* AG GRID CUSTOMS */ +.ag-checkbox-input { + opacity: 1 !important; +} \ No newline at end of file diff --git a/src/styles/core.scss b/src/styles/core.scss new file mode 100644 index 0000000..ce22f63 --- /dev/null +++ b/src/styles/core.scss @@ -0,0 +1,97 @@ +.sqlseal-table-container { + overflow-y: scroll; +} + +.sqlseal-table-container table { + width: 100%; + border-collapse: collapse; +} + +.sqlseal-grid-wrapper { + height: auto; + position: relative; +} + +.block-language-sqlseal { + overflow-y: auto; +} + +.sqlseal-error { + padding: 1em; + background: #b80f0f; + color: #FFF; +} + +.sqlseal-notice { + padding: 1em; + background: #1f3f98; + color: #FFF; +} + +.sqlseal-grid-error-message { + box-sizing: border-box; + width: 80%; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + text-align: center; + background: #b80f0f; + font-size: 0.8em; + color: #FFF; + padding: 0.5em 2em; + +} + +.sqlseal-grid-error-message-overlay { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.8); + z-index: 5; +} + +.sqlseal-grid-error-message-overlay.hidden { + display: none; +} + +.edit-block-button { + z-index: 1000; +} + +.sqlseal-markdown-table { + font-family: monospace; + white-space: pre-wrap; +} + +.sqlseal-markdown-table.no-wrap { + display: inline-block; + overflow-x: scroll; + width: fit-content; +} + +.sqlseal-parse-error { + background: #b80f0f; + color: #FFF; + padding: 0.2em; + border-radius: 2px; +} + + + +.sqlseal-notice-error { + color: #f26464; +} + +.sqlseal-notice-error::before { + content: ''; + width: 16px; + height: 16px; + display: inline-block; + margin-right: 8px; + transform: translate(0, 3px); + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff0000' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E"); +} \ No newline at end of file diff --git a/src/styles/csvEditor.scss b/src/styles/csvEditor.scss new file mode 100644 index 0000000..2baad88 --- /dev/null +++ b/src/styles/csvEditor.scss @@ -0,0 +1,35 @@ +/* EDITOR */ +.sql-seal-csv-editor { + display: flex; + flex-direction: column; + height: 100%; + gap: var(--size-4-4); +} + +.sql-seal-csv-viewer { + flex: 1; + display: flex; + flex-direction: column; +} + +.sqlseal-grid-wrapper { + height: 100%; + flex: 1; + display: flex; + flex-direction: column; +} + +.ag-theme-quartz { + flex: 1; +} + +.sql-seal-csv-viewer-buttons { + display: flex; + gap: var(--size-4-4); +} + +.sql-seal-modal-code { + width: 100%; + font-family: monospace; + padding: 8px; +} \ No newline at end of file diff --git a/src/styles/inlineQueries.scss b/src/styles/inlineQueries.scss new file mode 100644 index 0000000..1a99a5e --- /dev/null +++ b/src/styles/inlineQueries.scss @@ -0,0 +1,15 @@ +/* INLINE QUERIES */ +.sqlseal-inline-result { + display: inline-block; + padding: 0 4px; + margin: 0 2px; + background-color: var(--background-secondary); + border-radius: 4px; + font-size: 0.9em; + cursor: pointer; +} + +.sqlseal-inline-result .error { + color: var(--text-error); + font-style: italic; +} \ No newline at end of file diff --git a/src/styles/listView.scss b/src/styles/listView.scss new file mode 100644 index 0000000..71162a0 --- /dev/null +++ b/src/styles/listView.scss @@ -0,0 +1,15 @@ +.sqlseal-list-element-single .sqlseal-column-name { + display: none; +} + +.sqlseal-list-element-single .sqlseal-column-name::after { + content: ': '; +} + +.sqlseal-list.show-column-names .sqlseal-list-element-single .sqlseal-column-name { + display: inline; +} + +.sqlseal-element-inline-list { + display: inline-block; +} \ No newline at end of file diff --git a/src/styles/main.scss b/src/styles/main.scss new file mode 100644 index 0000000..cde0305 --- /dev/null +++ b/src/styles/main.scss @@ -0,0 +1,7 @@ +@use 'core'; +@use 'csvEditor'; +@use 'inlineQueries'; +@use 'listView'; +@use 'syntaxHighlight'; +@use 'obsidianMinimal'; +@use 'agGrid'; \ No newline at end of file diff --git a/src/styles/obsidianMinimal.scss b/src/styles/obsidianMinimal.scss new file mode 100644 index 0000000..d715d15 --- /dev/null +++ b/src/styles/obsidianMinimal.scss @@ -0,0 +1,8 @@ +/** +These styles are to keep compatibility with Obsidian Minimal when adding "dataview" class to the table +**/ + +.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>:has(>.block-language-sqlseal table.dataview) { + width: var(--container-dataview-table-width); + max-width: var(--container-table-max-width); +} \ No newline at end of file diff --git a/src/styles/syntaxHighlight.scss b/src/styles/syntaxHighlight.scss new file mode 100644 index 0000000..af42d9a --- /dev/null +++ b/src/styles/syntaxHighlight.scss @@ -0,0 +1,113 @@ +/* COLOURING */ + +.cm-sqlseal-block-query { + --color: #297f30; +} + +.cm-sqlseal-block-view { + --color: #c834dd; +} + +.cm-sqlseal-block-flag { + --color: #d08306; + font-weight: bold; + color: var(--color); +} + +.cm-sqlseal-block-table { + --color: #4985af; +} + +.cm-sqlseal-identifier { + color: #2d7b33; +} + +.cm-sqlseal-function { + color: #2c0e9b; +} + +.cm-sqlseal-parameter { + color: #2c0e9b; +} + +.cm-sqlseal-comment { + color: #7a7a7a; + font-style: italic; +} + +.cm-sqlseal-keyword { + color: var(--color); + font-weight: bold; +} + +.cm-sqlseal-literal { + color: rgb(0, 51, 255); +} + +.cm-sqlseal-error { + color: rgb(235, 47, 47); + font-style: italic; +} + +.cm-sqlseal-template-keyword { + color: #e3ab53; +} + +.theme-dark .cm-sqlseal-template-keyword { + color: #dd8e10; +} + +.theme-dark .cm-sqlseal-block-error { + color: red; +} + +.theme-dark .cm-sqlseal-block-query { + --color: #5eff6a; +} + +.theme-dark .cm-sqlseal-comment { + color: #898787; +} + +.theme-dark .cm-sqlseal-parameter { + color: #95ed22; +} + +.theme-dark .cm-sqlseal-literal { + color: yellow; +} + +.theme-dark .cm-sqlseal-block-view { + --color: #e945ff; +} + +.theme-dark .cm-sqlseal-block-flag { + --color: #e3ab53; +} + +.theme-dark .cm-sqlseal-block-table { + --color: #56b5fa; +} + +.theme-dark .cm-sqlseal-function { + color: #c4b8ef; +} + +.theme-dark .cm-sqlseal-identifier { + color: #6ff77a; +} + +:is(.cm-sqlseal-block-query, .cm-sqlseal-block-view, .cm-sqlseal-block-flag, .cm-sqlseal-block-table)::before { + background-color: var(--color); + width: 5px; + top: -3px; + bottom: -3px; + left: 0; + content: ''; + display: block; + position: absolute; +} + +.cm-indent + :is(.cm-sqlseal-block-query, .cm-sqlseal-block-view, .cm-sqlseal-block-flag, .cm-sqlseal-block-table)::before { + display: none; +} diff --git a/styles.css b/styles.css index 86fbd52..e6a7e2b 100644 --- a/styles.css +++ b/styles.css @@ -1,304 +1,2 @@ -.sqlseal-table-container { - overflow-y: scroll; -} - -.sqlseal-table-container table { - width: 100%; - border-collapse: collapse; -} - -.sqlseal-grid-wrapper { - height: auto; - position: relative; -} - -.block-language-sqlseal { - overflow-y: auto; -} - -.sqlseal-error { - padding: 1em; - background: #b80f0f; - color: #FFF; -} - -.sqlseal-notice { - padding: 1em; - background: #1f3f98; - color: #FFF; -} - -.sqlseal-grid-error-message { - box-sizing: border-box; - width: 80%; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - text-align: center; - background: #b80f0f; - font-size: 0.8em; - color: #FFF; - padding: 0.5em 2em; - -} - -.sqlseal-grid-error-message-overlay { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: rgba(255, 255, 255, 0.8); - z-index: 5; -} - -.sqlseal-grid-error-message-overlay.hidden { - display: none; -} - -.edit-block-button { - z-index: 1000; -} - -.sqlseal-markdown-table { - font-family: monospace; - white-space: pre-wrap; -} - -.sqlseal-markdown-table.no-wrap { - display: inline-block; - overflow-x: scroll; - width: fit-content; -} - - -/* EDITOR */ -.sql-seal-csv-editor { - display: flex; - flex-direction: column; - height: 100%; - gap: var(--size-4-4); -} - -.sql-seal-csv-viewer { - flex: 1; - display: flex; - flex-direction: column; -} - -.sqlseal-grid-wrapper { - height: 100%; - flex: 1; - display: flex; - flex-direction: column; -} - -.ag-theme-quartz { - flex: 1; -} - -.sql-seal-csv-viewer-buttons { - display: flex; - gap: var(--size-4-4); -} - -.sql-seal-modal-code { - width: 100%; - font-family: monospace; - padding: 8px; -} - - -/* INLINE QUERIES */ -.sqlseal-inline-result { - display: inline-block; - padding: 0 4px; - margin: 0 2px; - background-color: var(--background-secondary); - border-radius: 4px; - font-size: 0.9em; - cursor: pointer; -} - -.sqlseal-inline-result .error { - color: var(--text-error); - font-style: italic; -} - -.sqlseal-list-element-single .sqlseal-column-name { - display: none; -} - -.sqlseal-list-element-single .sqlseal-column-name::after { - content: ': '; -} - -.sqlseal-list.show-column-names .sqlseal-list-element-single .sqlseal-column-name { - display: inline; -} - -.sqlseal-parse-error { - background: #b80f0f; - color: #FFF; - padding: 0.2em; - border-radius: 2px; -} - -.sqlseal-element-inline-list { - display: inline-block; -} - -.sqlseal-notice-error { - color: #f26464; -} - -.sqlseal-notice-error::before { - content: ''; - width: 16px; - height: 16px; - display: inline-block; - margin-right: 8px; - transform: translate(0, 3px); - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff0000' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E"); -} - - -.sqlseal-icon { - width: 16px; - height: 16px; -} - - - -/* COLOURING */ - -.cm-sqlseal-block-query { - --color: #297f30; -} - -.cm-sqlseal-block-view { - --color: #c834dd; -} - -.cm-sqlseal-block-flag { - --color: #d08306; - font-weight: bold; - color: var(--color); -} - -.cm-sqlseal-block-table { - --color: #4985af; -} - -.cm-sqlseal-identifier { - color: #2d7b33; -} - -.cm-sqlseal-function { - color: #2c0e9b; -} - -.cm-sqlseal-parameter { - color: #2c0e9b; -} - -.cm-sqlseal-comment { - color: #7a7a7a; - font-style: italic; -} - -.cm-sqlseal-keyword { - color: var(--color); - font-weight: bold; -} - -.cm-sqlseal-literal { - color: rgb(0, 51, 255); -} - -.cm-sqlseal-error { - color: rgb(235, 47, 47); - font-style: italic; -} - -.cm-sqlseal-template-keyword { - color: #e3ab53; -} - -.theme-dark .cm-sqlseal-template-keyword { - color: #dd8e10; -} - -.theme-dark .cm-sqlseal-block-error { - color: red; -} - -.theme-dark .cm-sqlseal-block-query { - --color: #5eff6a; -} - -.theme-dark .cm-sqlseal-comment { - color: #898787; -} - -.theme-dark .cm-sqlseal-parameter { - color: #95ed22; -} - -.theme-dark .cm-sqlseal-literal { - color: yellow; -} - -.theme-dark .cm-sqlseal-block-view { - --color: #e945ff; -} - -.theme-dark .cm-sqlseal-block-flag { - --color: #e3ab53; -} - -.theme-dark .cm-sqlseal-block-table { - --color: #56b5fa; -} - -.theme-dark .cm-sqlseal-function { - color: #c4b8ef; -} - -.theme-dark .cm-sqlseal-identifier { - color: #6ff77a; -} - -:is(.cm-sqlseal-block-query, .cm-sqlseal-block-view, .cm-sqlseal-block-flag, .cm-sqlseal-block-table) { - /* background-color: var(--color); */ -} - -:is(.cm-sqlseal-block-query, .cm-sqlseal-block-view, .cm-sqlseal-block-flag, .cm-sqlseal-block-table)::before { - background-color: var(--color); - width: 5px; - top: -3px; - bottom: -3px; - left: 0; - content: ''; - display: block; - position: absolute; -} - -.cm-indent + :is(.cm-sqlseal-block-query, .cm-sqlseal-block-view, .cm-sqlseal-block-flag, .cm-sqlseal-block-table)::before { - display: none; -} - - -/* Obsidian Minimal Styles */ -.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>:has(>.block-language-sqlseal table.dataview) { - width: var(--container-dataview-table-width); - max-width: var(--container-table-max-width); -} - - -/* AG GRID CUSTOMS */ -.ag-checkbox-input { - opacity: 1 !important; -} \ No newline at end of file +.sqlseal-table-container{overflow-y:scroll}.sqlseal-table-container table{width:100%;border-collapse:collapse}.sqlseal-grid-wrapper{height:auto;position:relative}.block-language-sqlseal{overflow-y:auto}.sqlseal-error{padding:1em;background:#b80f0f;color:#fff}.sqlseal-notice{padding:1em;background:#1f3f98;color:#fff}.sqlseal-grid-error-message{box-sizing:border-box;width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#b80f0f;font-size:.8em;color:#fff;padding:.5em 2em}.sqlseal-grid-error-message-overlay{content:"";position:absolute;inset:0;background:#fffc;z-index:5}.sqlseal-grid-error-message-overlay.hidden{display:none}.edit-block-button{z-index:1000}.sqlseal-markdown-table{font-family:monospace;white-space:pre-wrap}.sqlseal-markdown-table.no-wrap{display:inline-block;overflow-x:scroll;width:fit-content}.sqlseal-parse-error{background:#b80f0f;color:#fff;padding:.2em;border-radius:2px}.sqlseal-notice-error{color:#f26464}.sqlseal-notice-error:before{content:"";width:16px;height:16px;display:inline-block;margin-right:8px;transform:translateY(3px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff0000' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E")}.sql-seal-csv-editor{display:flex;flex-direction:column;height:100%;gap:var(--size-4-4)}.sql-seal-csv-viewer{flex:1;display:flex;flex-direction:column}.sqlseal-grid-wrapper{height:100%;flex:1;display:flex;flex-direction:column}.ag-theme-quartz{flex:1}.sql-seal-csv-viewer-buttons{display:flex;gap:var(--size-4-4)}.sql-seal-modal-code{width:100%;font-family:monospace;padding:8px}.sqlseal-inline-result{display:inline-block;padding:0 4px;margin:0 2px;background-color:var(--background-secondary);border-radius:4px;font-size:.9em;cursor:pointer}.sqlseal-inline-result .error{color:var(--text-error);font-style:italic}.sqlseal-list-element-single .sqlseal-column-name{display:none}.sqlseal-list-element-single .sqlseal-column-name:after{content:": "}.sqlseal-list.show-column-names .sqlseal-list-element-single .sqlseal-column-name{display:inline}.sqlseal-element-inline-list{display:inline-block}.cm-sqlseal-block-query{--color: #297f30}.cm-sqlseal-block-view{--color: #c834dd}.cm-sqlseal-block-flag{--color: #d08306;font-weight:700;color:var(--color)}.cm-sqlseal-block-table{--color: #4985af}.cm-sqlseal-identifier{color:#2d7b33}.cm-sqlseal-function,.cm-sqlseal-parameter{color:#2c0e9b}.cm-sqlseal-comment{color:#7a7a7a;font-style:italic}.cm-sqlseal-keyword{color:var(--color);font-weight:700}.cm-sqlseal-literal{color:#03f}.cm-sqlseal-error{color:#eb2f2f;font-style:italic}.cm-sqlseal-template-keyword{color:#e3ab53}.theme-dark .cm-sqlseal-template-keyword{color:#dd8e10}.theme-dark .cm-sqlseal-block-error{color:red}.theme-dark .cm-sqlseal-block-query{--color: #5eff6a}.theme-dark .cm-sqlseal-comment{color:#898787}.theme-dark .cm-sqlseal-parameter{color:#95ed22}.theme-dark .cm-sqlseal-literal{color:#ff0}.theme-dark .cm-sqlseal-block-view{--color: #e945ff}.theme-dark .cm-sqlseal-block-flag{--color: #e3ab53}.theme-dark .cm-sqlseal-block-table{--color: #56b5fa}.theme-dark .cm-sqlseal-function{color:#c4b8ef}.theme-dark .cm-sqlseal-identifier{color:#6ff77a}:is(.cm-sqlseal-block-query,.cm-sqlseal-block-view,.cm-sqlseal-block-flag,.cm-sqlseal-block-table):before{background-color:var(--color);width:5px;top:-3px;bottom:-3px;left:0;content:"";display:block;position:absolute}.cm-indent+:is(.cm-sqlseal-block-query,.cm-sqlseal-block-view,.cm-sqlseal-block-flag,.cm-sqlseal-block-table):before{display:none}.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>:has(>.block-language-sqlseal table.dataview){width:var(--container-dataview-table-width);max-width:var(--container-table-max-width)}.ag-checkbox-input{opacity:1!important} +/*# sourceMappingURL=styles.css.map */