diff --git a/package-lock.json b/package-lock.json index 22dd1db03..1a3578a0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,9 @@ "packages/*", "packages-node/*" ], + "dependencies": { + "lit": "^3.2.1" + }, "devDependencies": { "@astrojs/lit": "^4.3.0", "@astrojs/mdx": "^4.0.8", @@ -64,7 +67,6 @@ "gray-matter": "^4.0.3", "husky": "^9.1.6", "lint-staged": "^15.2.10", - "lit": "^3.2.1", "looks-same": "^9.0.1", "markdownlint-cli": "^0.42.0", "mocha": "^10.7.3", @@ -1550,6 +1552,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/@astrojs/markdown-remark/node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@astrojs/markdown-remark/node_modules/remark-stringify": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", @@ -2868,6 +2887,23 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/@astrojs/mdx/node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@astrojs/mdx/node_modules/remark-stringify": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", @@ -7022,6 +7058,22 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/@mdjs/core/node_modules/remark-parse": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", + "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@mdjs/core/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -7184,6 +7236,16 @@ "@types/unist": "*" } }, + "node_modules/@mdx-js/mdx/node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, "node_modules/@mdx-js/mdx/node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -7225,6 +7287,525 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@mdx-js/mdx/node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@mdx-js/mdx/node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/@mdx-js/mdx/node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@mdx-js/mdx/node_modules/trough": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", @@ -35125,6 +35706,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/remark/node_modules/remark-parse": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", + "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remark/node_modules/remark-stringify": { "version": "10.0.3", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz", diff --git a/package.json b/package.json index 0d7e18916..9863f9c2d 100644 --- a/package.json +++ b/package.json @@ -204,7 +204,6 @@ "@mdjs/core": "^0.21.1", "@mdjs/mdjs-story": "^0.4.0", "remark-rehype": "^8", - "remark-parse": "9", "@mdjs/mdjs-preview": { ".": "^0.6.0", "@lion/ui": "^0.15.0" diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/remarkExtendLionDocsTransformJs.test.js b/packages-node/rocket-preset-extend-lion-docs/test-node/remarkExtendLionDocsTransformJs.test.js index b860a2bf2..3cdae2edb 100644 --- a/packages-node/rocket-preset-extend-lion-docs/test-node/remarkExtendLionDocsTransformJs.test.js +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/remarkExtendLionDocsTransformJs.test.js @@ -2,9 +2,14 @@ import path from 'path'; import { fileURLToPath } from 'url'; import { expect } from 'chai'; -import { mdjsProcess } from '@mdjs/core'; +// we need to have "defaultMetaPlugins" because node can install +// packages as sub node_modules +// in this case, even if the version is the same (which is not in our case) +// it won't be able to detect plugin +// accessing the plugins by index is dangerous +// @mdjs/core needs to export all the package it uses as plugins +import { mdjsProcess, defaultMetaPlugins } from '@mdjs/core'; import { addPlugin } from 'plugins-manager'; -import markdownPkg from 'remark-parse'; import { remarkExtendLionDocsTransformJs } from '../src/remarkExtendLionDocsTransformJs.js'; @@ -57,7 +62,7 @@ async function execute(input) { // @ts-ignore { extendDocsConfig }, { - location: markdownPkg, + location: defaultMetaPlugins[0].plugin, }, ), ], diff --git a/patches/@mdjs+core+0.21.1.patch b/patches/@mdjs+core+0.21.1.patch new file mode 100644 index 000000000..b88326695 --- /dev/null +++ b/patches/@mdjs+core+0.21.1.patch @@ -0,0 +1,27 @@ +diff --git a/node_modules/@mdjs/core/index.js b/node_modules/@mdjs/core/index.js +index d1b2d32..5575106 100644 +--- a/node_modules/@mdjs/core/index.js ++++ b/node_modules/@mdjs/core/index.js +@@ -6,7 +6,7 @@ import { mdjsParse } from './src/mdjsParse.js'; + import { mdjsSetupCode } from './src/mdjsSetupCode.js'; + import { mdjsStoryParse } from './src/mdjsStoryParse.js'; + import { mdjsDocPage } from './src/mdjsDocPage.js'; +-import { mdjsProcess } from './src/mdjsProcess.js'; ++import { mdjsProcess, defaultMetaPlugins } from './src/mdjsProcess.js'; + import { isMdjsContent } from './src/isMdjsContent.js'; + +-export { mdjsParse, mdjsStoryParse, mdjsDocPage, mdjsProcess, isMdjsContent, mdjsSetupCode }; ++export { mdjsParse, mdjsStoryParse, mdjsDocPage, mdjsProcess, isMdjsContent, mdjsSetupCode, defaultMetaPlugins }; +diff --git a/node_modules/@mdjs/core/src/mdjsProcess.js b/node_modules/@mdjs/core/src/mdjsProcess.js +index 26806e8..e40637e 100644 +--- a/node_modules/@mdjs/core/src/mdjsProcess.js ++++ b/node_modules/@mdjs/core/src/mdjsProcess.js +@@ -24,7 +24,7 @@ import { mdjsStoryParse } from './mdjsStoryParse.js'; + import { mdjsSetupCode } from './mdjsSetupCode.js'; + + /** @type {MdjsProcessPlugin[]} */ +-const defaultMetaPlugins = [ ++export const defaultMetaPlugins = [ + { plugin: markdown, options: {} }, + { plugin: gfm, options: {} }, + { plugin: mdjsParse, options: {} }, diff --git a/public/blog/images/accessibility.png b/public/blog/images/accessibility.png new file mode 100644 index 000000000..367cca509 Binary files /dev/null and b/public/blog/images/accessibility.png differ diff --git a/public/blog/images/controlling-exports-cover-image.jpg b/public/blog/images/controlling-exports-cover-image.jpg new file mode 100644 index 000000000..ed90497ba Binary files /dev/null and b/public/blog/images/controlling-exports-cover-image.jpg differ diff --git a/public/blog/images/ing-open-sources-lion-side-by-side.png b/public/blog/images/ing-open-sources-lion-side-by-side.png new file mode 100644 index 000000000..1dca156cb Binary files /dev/null and b/public/blog/images/ing-open-sources-lion-side-by-side.png differ diff --git a/public/blog/images/introducing-lions-website-cover-image.jpg b/public/blog/images/introducing-lions-website-cover-image.jpg new file mode 100644 index 000000000..82cadc685 Binary files /dev/null and b/public/blog/images/introducing-lions-website-cover-image.jpg differ diff --git a/public/logo.svg b/public/logo.svg new file mode 100644 index 000000000..ddc79a9a7 --- /dev/null +++ b/public/logo.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/styles/Inter/Inter-VariableFont_slnt,wght.ttf b/public/styles/Inter/Inter-VariableFont_slnt,wght.ttf new file mode 100644 index 000000000..e72470871 Binary files /dev/null and b/public/styles/Inter/Inter-VariableFont_slnt,wght.ttf differ diff --git a/public/styles/Inter/OFL.txt b/public/styles/Inter/OFL.txt new file mode 100644 index 000000000..b525cbf3a --- /dev/null +++ b/public/styles/Inter/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/public/styles/Inter/README.txt b/public/styles/Inter/README.txt new file mode 100644 index 000000000..3078f199c --- /dev/null +++ b/public/styles/Inter/README.txt @@ -0,0 +1,72 @@ +Inter Variable Font +=================== + +This download contains Inter as both a variable font and static fonts. + +Inter is a variable font with these axes: + slnt + wght + +This means all the styles are contained in a single file: + Inter-VariableFont_slnt,wght.ttf + +If your app fully supports variable fonts, you can now pick intermediate styles +that aren’t available as static fonts. Not all apps support variable fonts, and +in those cases you can use the static font files for Inter: + static/Inter-Thin.ttf + static/Inter-ExtraLight.ttf + static/Inter-Light.ttf + static/Inter-Regular.ttf + static/Inter-Medium.ttf + static/Inter-SemiBold.ttf + static/Inter-Bold.ttf + static/Inter-ExtraBold.ttf + static/Inter-Black.ttf + +Get started +----------- + +1. Install the font files you want to use + +2. Use your app's font picker to view the font family and all the +available styles + +Learn more about variable fonts +------------------------------- + + https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts + https://variablefonts.typenetwork.com + https://medium.com/variable-fonts + +In desktop apps + + https://theblog.adobe.com/can-variable-fonts-illustrator-cc + https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts + +Online + + https://developers.google.com/fonts/docs/getting_started + https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide + https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts + +Installing fonts + + MacOS: https://support.apple.com/en-us/HT201749 + Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux + Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows + +Android Apps + + https://developers.google.com/fonts/docs/android + https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts + +License +------- +Please read the full license text (OFL.txt) to understand the permissions, +restrictions and requirements for usage, redistribution, and modification. + +You can use them in your products & projects – print or digital, +commercial or otherwise. + +This isn't legal advice, please consider consulting a lawyer and see the full +license for all details. diff --git a/public/styles/Inter/static/Inter-Black.ttf b/public/styles/Inter/static/Inter-Black.ttf new file mode 100644 index 000000000..b27822bae Binary files /dev/null and b/public/styles/Inter/static/Inter-Black.ttf differ diff --git a/public/styles/Inter/static/Inter-Bold.ttf b/public/styles/Inter/static/Inter-Bold.ttf new file mode 100644 index 000000000..fe23eeb9c Binary files /dev/null and b/public/styles/Inter/static/Inter-Bold.ttf differ diff --git a/public/styles/Inter/static/Inter-ExtraBold.ttf b/public/styles/Inter/static/Inter-ExtraBold.ttf new file mode 100644 index 000000000..874b1b0dd Binary files /dev/null and b/public/styles/Inter/static/Inter-ExtraBold.ttf differ diff --git a/public/styles/Inter/static/Inter-ExtraLight.ttf b/public/styles/Inter/static/Inter-ExtraLight.ttf new file mode 100644 index 000000000..c993e8221 Binary files /dev/null and b/public/styles/Inter/static/Inter-ExtraLight.ttf differ diff --git a/public/styles/Inter/static/Inter-Light.ttf b/public/styles/Inter/static/Inter-Light.ttf new file mode 100644 index 000000000..71188f5cb Binary files /dev/null and b/public/styles/Inter/static/Inter-Light.ttf differ diff --git a/public/styles/Inter/static/Inter-Medium.ttf b/public/styles/Inter/static/Inter-Medium.ttf new file mode 100644 index 000000000..a01f3777a Binary files /dev/null and b/public/styles/Inter/static/Inter-Medium.ttf differ diff --git a/public/styles/Inter/static/Inter-Regular.ttf b/public/styles/Inter/static/Inter-Regular.ttf new file mode 100644 index 000000000..5e4851f0a Binary files /dev/null and b/public/styles/Inter/static/Inter-Regular.ttf differ diff --git a/public/styles/Inter/static/Inter-SemiBold.ttf b/public/styles/Inter/static/Inter-SemiBold.ttf new file mode 100644 index 000000000..ecc7041e2 Binary files /dev/null and b/public/styles/Inter/static/Inter-SemiBold.ttf differ diff --git a/public/styles/Inter/static/Inter-Thin.ttf b/public/styles/Inter/static/Inter-Thin.ttf new file mode 100644 index 000000000..fe77243fc Binary files /dev/null and b/public/styles/Inter/static/Inter-Thin.ttf differ diff --git a/public/styles/Roboto/LICENSE.txt b/public/styles/Roboto/LICENSE.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/public/styles/Roboto/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/public/styles/Roboto/Roboto-Black.ttf b/public/styles/Roboto/Roboto-Black.ttf new file mode 100644 index 000000000..0112e7da6 Binary files /dev/null and b/public/styles/Roboto/Roboto-Black.ttf differ diff --git a/public/styles/Roboto/Roboto-BlackItalic.ttf b/public/styles/Roboto/Roboto-BlackItalic.ttf new file mode 100644 index 000000000..b2c6aca57 Binary files /dev/null and b/public/styles/Roboto/Roboto-BlackItalic.ttf differ diff --git a/public/styles/Roboto/Roboto-Bold.ttf b/public/styles/Roboto/Roboto-Bold.ttf new file mode 100644 index 000000000..43da14d84 Binary files /dev/null and b/public/styles/Roboto/Roboto-Bold.ttf differ diff --git a/public/styles/Roboto/Roboto-BoldItalic.ttf b/public/styles/Roboto/Roboto-BoldItalic.ttf new file mode 100644 index 000000000..bcfdab431 Binary files /dev/null and b/public/styles/Roboto/Roboto-BoldItalic.ttf differ diff --git a/public/styles/Roboto/Roboto-Italic.ttf b/public/styles/Roboto/Roboto-Italic.ttf new file mode 100644 index 000000000..1b5eaa361 Binary files /dev/null and b/public/styles/Roboto/Roboto-Italic.ttf differ diff --git a/public/styles/Roboto/Roboto-Light.ttf b/public/styles/Roboto/Roboto-Light.ttf new file mode 100644 index 000000000..e7307e72c Binary files /dev/null and b/public/styles/Roboto/Roboto-Light.ttf differ diff --git a/public/styles/Roboto/Roboto-LightItalic.ttf b/public/styles/Roboto/Roboto-LightItalic.ttf new file mode 100644 index 000000000..2d277afb2 Binary files /dev/null and b/public/styles/Roboto/Roboto-LightItalic.ttf differ diff --git a/public/styles/Roboto/Roboto-Medium.ttf b/public/styles/Roboto/Roboto-Medium.ttf new file mode 100644 index 000000000..ac0f908b9 Binary files /dev/null and b/public/styles/Roboto/Roboto-Medium.ttf differ diff --git a/public/styles/Roboto/Roboto-MediumItalic.ttf b/public/styles/Roboto/Roboto-MediumItalic.ttf new file mode 100644 index 000000000..fc36a4785 Binary files /dev/null and b/public/styles/Roboto/Roboto-MediumItalic.ttf differ diff --git a/public/styles/Roboto/Roboto-Regular.ttf b/public/styles/Roboto/Roboto-Regular.ttf new file mode 100644 index 000000000..ddf4bfacb Binary files /dev/null and b/public/styles/Roboto/Roboto-Regular.ttf differ diff --git a/public/styles/Roboto/Roboto-Thin.ttf b/public/styles/Roboto/Roboto-Thin.ttf new file mode 100644 index 000000000..2e0dee6a8 Binary files /dev/null and b/public/styles/Roboto/Roboto-Thin.ttf differ diff --git a/public/styles/Roboto/Roboto-ThinItalic.ttf b/public/styles/Roboto/Roboto-ThinItalic.ttf new file mode 100644 index 000000000..084f9c0f5 Binary files /dev/null and b/public/styles/Roboto/Roboto-ThinItalic.ttf differ diff --git a/public/styles/global.css b/public/styles/global.css new file mode 100644 index 000000000..c1c65dcff --- /dev/null +++ b/public/styles/global.css @@ -0,0 +1,27 @@ +@font-face { + font-family: 'Inter'; + src: url('Inter/Inter-VariableFont_slnt,wght.ttf'); +} + +body { + margin: 0; + font-family: Inter; +} + +/* Default light background */ +.astro-code, +.astro-code span { + background-color: #f6f8fa !important; +} + +@media (prefers-color-scheme: dark) { + .astro-code, + .astro-code span { + color: var(--shiki-dark) !important; + background-color: var(--shiki-dark-bg) !important; + /* Optional, if you also want font styles */ + font-style: var(--shiki-dark-font-style) !important; + font-weight: var(--shiki-dark-font-weight) !important; + text-decoration: var(--shiki-dark-text-decoration) !important; + } +} diff --git a/public/styles/lion/layout.css b/public/styles/lion/layout.css index e942ac682..65a1595dd 100644 --- a/public/styles/lion/layout.css +++ b/public/styles/lion/layout.css @@ -11,7 +11,7 @@ body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 16px; - color: var(--primary-text-color); + color: var(--text-color); background-color: var(--page-background); display: flex; flex-flow: column; @@ -149,14 +149,14 @@ body[data-layout='layout-home'] #main-header { #main-header a { text-decoration: none; - color: var(--primary-text-color); + color: var(--text-color); transition: color 0.3s ease-in-out; font-weight: bold; order: 2; } #main-header a:hover { - color: var(--primary-color); + color: var(--secondary-color-lighter); } body[data-layout='layout-home'] #main-header a:hover { @@ -274,7 +274,7 @@ rocket-navigation .light-dark-switch::part(label) { rocket-navigation a { text-decoration: none; - color: var(--primary-text-color); + color: var(--text-color); } rocket-navigation a:hover { @@ -286,7 +286,7 @@ rocket-navigation > ul > li > ul li.current ul li.anchor.current::before { content: ''; height: 1.6em; width: 3px; - background: var(--primary-color); + background: var(--secondary-color); position: absolute; left: 0; margin-top: -2px; @@ -358,7 +358,7 @@ rocket-navigation > ul { /* same as header */ box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); - color: var(--primary-text-color); + color: var(--text-color); font-weight: bold; } @@ -511,7 +511,6 @@ main > * { font-weight: bold; vertical-align: middle; padding: 8px 24px; - border: 1px solid var(--primary-color); border-radius: 24px; background: var(--contrast-color-dark); color: var(--contrast-color-light, #fff); @@ -569,7 +568,7 @@ body[data-layout='layout-home'] section { body[data-layout='layout-home'] .banner { display: flex; flex-direction: column; - background-color: var(--primary-color); + background-color: var(--secondary-color); padding-block-start: 96px; } @@ -581,7 +580,7 @@ body[data-layout='layout-home'] .page-title--container { } body[data-layout='layout-home'] .page-title { - color: var(--primary-text-color); + color: var(--text-color); font-size: 64px; } @@ -597,6 +596,10 @@ body[data-layout='layout-home'] .page-logo { align-self: flex-end; } +html.dark body[data-layout='layout-home'] .page-logo { + filter: brightness(0.8); +} + body[data-layout='layout-home'] .page-title, body[data-layout='layout-home'] .reason-header, body[data-layout='layout-home'] .page-slogan { diff --git a/public/styles/lion/markdown.css b/public/styles/lion/markdown.css index a68dd4c18..209076d03 100644 --- a/public/styles/lion/markdown.css +++ b/public/styles/lion/markdown.css @@ -354,6 +354,7 @@ .markdown-body h4, .markdown-body h5, .markdown-body h6 { + color: var(--text-color); font-weight: 600; line-height: 1.25; margin-bottom: 1rem; @@ -366,7 +367,7 @@ .markdown-body h1, .markdown-body h2 { - border-bottom: 1px solid #eaecef; + border-bottom: 1px solid var(--primary-lines-color); padding-bottom: 0.3em; } diff --git a/public/styles/lion/style.css b/public/styles/lion/style.css new file mode 100644 index 000000000..87875f58b --- /dev/null +++ b/public/styles/lion/style.css @@ -0,0 +1,15 @@ +/* feel free to override this file for your page - add a file docs/_assets/style.css */ + +body[layout^='layout-home'] .markdown-body .call-to-action:nth-of-type(2) { + --primary-color: #222; + --primary-color-lighter: #333; + --primary-color-darker: #000; +} + +@media screen and (min-width: 1024px) { + body[layout='layout-home-background'] .page-background { + top: -210px; + right: -463px; + transform: rotate(45deg); + } +} diff --git a/public/styles/lion/variables.css b/public/styles/lion/variables.css index ed6a42c94..b1352afe6 100644 --- a/public/styles/lion/variables.css +++ b/public/styles/lion/variables.css @@ -1,14 +1,18 @@ html { /* Base colors */ - --dandilion-100: #fff6cc; - --dandilion-300: #ffe366; - --dandilion-500: #ffd100; - --dandilion-700: #997d00; - --dandilion-900: #332a00; + --dandelion-100: #fff6cc; + --dandelion-300: #ffe366; + --dandelion-500: #ffd100; + --dandelion-700: #997d00; + --dandelion-900: #332a00; + --blue-100: #b4c1ff; + --blue-300: #8197ff; --blue-500: #002eff; + --blue-700: #0025cc; + --blue-900: #0020b3; - --green-500: #00ff51; + --green-700: #8bcc00; --black: #080700; --white: #ffffff; @@ -17,27 +21,33 @@ html { --gray-300: #b3b3b3; --gray-500: #808080; --gray-700: #4d4d4d; + --gray-800: #282828; --gray-900: #1a1a1a; /* Alias tokens */ - --primary-color: var(--dandilion-500); - --secondary-color: var(--blue-500); - --primary-color-lighter: var(--dandilion-300); - --primary-color-darker: var(--dandilion-700); - --primary-text-color: var(--black); - --primary-icon-color: var(--dandilion-900); - --primary-lines-color: var(--gray-300); + --primary-color: var(--blue-500); + --primary-color-lighter: var(--blue-300); + --primary-color-darker: var(--blue-700); + --secondary-color: var(--dandelion-500); + --secondary-color-lighter: var(--dandelion-300); + --secondary-color-darker: var(--dandelion-700); + --neutral-color: var(--gray-500); + --neutral-color-lightest: var(--gray-100); + --neutral-color-lighter: var(--gray-300); + --neutral-color-darker: var(--gray-700); + --neutral-color-darkest: var(--gray-900); + --primary-icon-color: var(--dandelion-900); + --primary-lines-color: var(--gray-100); --primary-text-inverse-color: var(--gray-100); - --markdown-link-color: var(--blue-500); /* Contrast colors */ --contrast-color-light: var(--white); - --contrast-color-dark: var(--dandilion-900); + --contrast-color-dark: var(--dandelion-900); /* background-colors */ --page-background: var(--white); --secondary-background: var(--gray-100); - --footer-background: rgba(0, 0, 0, 0.1); + --footer-background: var(--neutral-color-lighter); /* typography */ --text-color: var(--black); @@ -47,15 +57,36 @@ html { 'SFMono-Regular', 'Consolas', 'Liberation Mono', 'Menlo', 'Courier', monospace; /* controls */ - --switch-unselected-color: var(--gray-500); - --switch-selected-color: var(--green-500); + --switch-unselected-color: var(--neutral-color); + --switch-selected-color: var(--green-700); + + --sidebar-tag-background-color: var(--secondary-color); + --sidebar-tag-color: var(--text-color); + + /* markdown */ + --markdown-body: var(--text-color); + --markdown-link-color: var(--primary-color); + --markdown-octicon-link: var(--primary-color); + --markdown-syntax-background-color: var(--neutral-color); + --markdown-link-color: var(--primary-color); + --markdown-blockquote-color: var(--secondary-color-darker); } html.dark { - --primary-color: #e63946; - --primary-color-lighter: #e25761; - --primary-color-darker: #a22831; - --primary-text-color: var(--white); + --primary-color: var(--blue-100); + --primary-color-lighter: var(--blue-300); + --primary-color-darker: var(--blue-100); + --secondary-color: var(--dandelion-700); + --secondary-color-lighter: var(--dandelion-900); + --secondary-color-darker: var(--dandelion-500); + --neutral-color: var(--gray-700); + --neutral-color-lightest: var(--gray-900); + --neutral-color-lighter: var(--gray-800); + --neutral-color-darker: var(--gray-500); + --neutral-color-darkest: var(--gray-300); + + --text-color: var(--white); + --primary-icon-color: var(--dandelion-100); --primary-text-inverse-color: #2c3e50; /* Contrast colors */ @@ -63,19 +94,11 @@ html.dark { --contrast-color-dark: #1d3557; /* background-colors */ - --page-background: #333; - --footer-background: #4f4f4f; - + --page-background: var(--gray-700); + --footer-background: var(--gray-900); /* typography */ --text-color: white; /* controls */ --switch-unselected-color: #808080; - --switch-selected-color: #42b983; - - /* markdown */ - --markdown-octicon-link: white; - --markdown-syntax-background-color: #a0a0a0; - --markdown-link-color: #fb7881; - --markdown-blockquote-color: #c9e3ff; } diff --git a/public/styles/open-props@1.6.11.min.css b/public/styles/open-props@1.6.11.min.css new file mode 100644 index 000000000..766c49bb2 --- /dev/null +++ b/public/styles/open-props@1.6.11.min.css @@ -0,0 +1,1141 @@ +:where(html) { + --font-sans: + system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, Segoe UI, + Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif; + --font-serif: ui-serif, serif; + --font-mono: + Dank Mono, Operator Mono, Inconsolata, Fira Mono, ui-monospace, SF Mono, Monaco, + Droid Sans Mono, Source Code Pro, monospace; + --font-weight-1: 100; + --font-weight-2: 200; + --font-weight-3: 300; + --font-weight-4: 400; + --font-weight-5: 500; + --font-weight-6: 600; + --font-weight-7: 700; + --font-weight-8: 800; + --font-weight-9: 900; + --font-lineheight-00: 0.95; + --font-lineheight-0: 1.1; + --font-lineheight-1: 1.25; + --font-lineheight-2: 1.375; + --font-lineheight-3: 1.5; + --font-lineheight-4: 1.75; + --font-lineheight-5: 2; + --font-letterspacing-0: -0.05em; + --font-letterspacing-1: 0.025em; + --font-letterspacing-2: 0.05em; + --font-letterspacing-3: 0.075em; + --font-letterspacing-4: 0.15em; + --font-letterspacing-5: 0.5em; + --font-letterspacing-6: 0.75em; + --font-letterspacing-7: 1em; + --font-size-00: 0.5rem; + --font-size-0: 0.75rem; + --font-size-1: 1rem; + --font-size-2: 1.1rem; + --font-size-3: 1.25rem; + --font-size-4: 1.5rem; + --font-size-5: 2rem; + --font-size-6: 2.5rem; + --font-size-7: 3rem; + --font-size-8: 3.5rem; + --font-size-fluid-0: clamp(0.75rem, 2vw, 1rem); + --font-size-fluid-1: clamp(1rem, 4vw, 1.5rem); + --font-size-fluid-2: clamp(1.5rem, 6vw, 2.5rem); + --font-size-fluid-3: clamp(2rem, 9vw, 3.5rem); + --size-000: -0.5rem; + --size-00: -0.25rem; + --size-1: 0.25rem; + --size-2: 0.5rem; + --size-3: 1rem; + --size-4: 1.25rem; + --size-5: 1.5rem; + --size-6: 1.75rem; + --size-7: 2rem; + --size-8: 3rem; + --size-9: 4rem; + --size-10: 5rem; + --size-11: 7.5rem; + --size-12: 10rem; + --size-13: 15rem; + --size-14: 20rem; + --size-15: 30rem; + --size-fluid-1: clamp(0.5rem, 1vw, 1rem); + --size-fluid-2: clamp(1rem, 2vw, 1.5rem); + --size-fluid-3: clamp(1.5rem, 3vw, 2rem); + --size-fluid-4: clamp(2rem, 4vw, 3rem); + --size-fluid-5: clamp(4rem, 5vw, 5rem); + --size-fluid-6: clamp(5rem, 7vw, 7.5rem); + --size-fluid-7: clamp(7.5rem, 10vw, 10rem); + --size-fluid-8: clamp(10rem, 20vw, 15rem); + --size-fluid-9: clamp(15rem, 30vw, 20rem); + --size-fluid-10: clamp(20rem, 40vw, 30rem); + --size-content-1: 20ch; + --size-content-2: 45ch; + --size-content-3: 60ch; + --size-header-1: 20ch; + --size-header-2: 25ch; + --size-header-3: 35ch; + --size-xxs: 240px; + --size-xs: 360px; + --size-sm: 480px; + --size-md: 768px; + --size-lg: 1024px; + --size-xl: 1440px; + --size-xxl: 1920px; + --size-relative-000: -0.5ch; + --size-relative-00: -0.25ch; + --size-relative-1: 0.25ch; + --size-relative-2: 0.5ch; + --size-relative-3: 1ch; + --size-relative-4: 1.25ch; + --size-relative-5: 1.5ch; + --size-relative-6: 1.75ch; + --size-relative-7: 2ch; + --size-relative-8: 3ch; + --size-relative-9: 4ch; + --size-relative-10: 5ch; + --size-relative-11: 7.5ch; + --size-relative-12: 10ch; + --size-relative-13: 15ch; + --size-relative-14: 20ch; + --size-relative-15: 30ch; + --ease-1: cubic-bezier(0.25, 0, 0.5, 1); + --ease-2: cubic-bezier(0.25, 0, 0.4, 1); + --ease-3: cubic-bezier(0.25, 0, 0.3, 1); + --ease-4: cubic-bezier(0.25, 0, 0.2, 1); + --ease-5: cubic-bezier(0.25, 0, 0.1, 1); + --ease-in-1: cubic-bezier(0.25, 0, 1, 1); + --ease-in-2: cubic-bezier(0.5, 0, 1, 1); + --ease-in-3: cubic-bezier(0.7, 0, 1, 1); + --ease-in-4: cubic-bezier(0.9, 0, 1, 1); + --ease-in-5: cubic-bezier(1, 0, 1, 1); + --ease-out-1: cubic-bezier(0, 0, 0.75, 1); + --ease-out-2: cubic-bezier(0, 0, 0.5, 1); + --ease-out-3: cubic-bezier(0, 0, 0.3, 1); + --ease-out-4: cubic-bezier(0, 0, 0.1, 1); + --ease-out-5: cubic-bezier(0, 0, 0, 1); + --ease-in-out-1: cubic-bezier(0.1, 0, 0.9, 1); + --ease-in-out-2: cubic-bezier(0.3, 0, 0.7, 1); + --ease-in-out-3: cubic-bezier(0.5, 0, 0.5, 1); + --ease-in-out-4: cubic-bezier(0.7, 0, 0.3, 1); + --ease-in-out-5: cubic-bezier(0.9, 0, 0.1, 1); + --ease-elastic-out-1: cubic-bezier(0.5, 0.75, 0.75, 1.25); + --ease-elastic-out-2: cubic-bezier(0.5, 1, 0.75, 1.25); + --ease-elastic-out-3: cubic-bezier(0.5, 1.25, 0.75, 1.25); + --ease-elastic-out-4: cubic-bezier(0.5, 1.5, 0.75, 1.25); + --ease-elastic-out-5: cubic-bezier(0.5, 1.75, 0.75, 1.25); + --ease-elastic-in-1: cubic-bezier(0.5, -0.25, 0.75, 1); + --ease-elastic-in-2: cubic-bezier(0.5, -0.5, 0.75, 1); + --ease-elastic-in-3: cubic-bezier(0.5, -0.75, 0.75, 1); + --ease-elastic-in-4: cubic-bezier(0.5, -1, 0.75, 1); + --ease-elastic-in-5: cubic-bezier(0.5, -1.25, 0.75, 1); + --ease-elastic-in-out-1: cubic-bezier(0.5, -0.1, 0.1, 1.5); + --ease-elastic-in-out-2: cubic-bezier(0.5, -0.3, 0.1, 1.5); + --ease-elastic-in-out-3: cubic-bezier(0.5, -0.5, 0.1, 1.5); + --ease-elastic-in-out-4: cubic-bezier(0.5, -0.7, 0.1, 1.5); + --ease-elastic-in-out-5: cubic-bezier(0.5, -0.9, 0.1, 1.5); + --ease-step-1: steps(2); + --ease-step-2: steps(3); + --ease-step-3: steps(4); + --ease-step-4: steps(7); + --ease-step-5: steps(10); + --ease-elastic-1: var(--ease-elastic-out-1); + --ease-elastic-2: var(--ease-elastic-out-2); + --ease-elastic-3: var(--ease-elastic-out-3); + --ease-elastic-4: var(--ease-elastic-out-4); + --ease-elastic-5: var(--ease-elastic-out-5); + --ease-squish-1: var(--ease-elastic-in-out-1); + --ease-squish-2: var(--ease-elastic-in-out-2); + --ease-squish-3: var(--ease-elastic-in-out-3); + --ease-squish-4: var(--ease-elastic-in-out-4); + --ease-squish-5: var(--ease-elastic-in-out-5); + --ease-spring-1: linear( + 0, + 0.006, + 0.025 2.8%, + 0.101 6.1%, + 0.539 18.9%, + 0.721 25.3%, + 0.849 31.5%, + 0.937 38.1%, + 0.968 41.8%, + 0.991 45.7%, + 1.006 50.1%, + 1.015 55%, + 1.017 63.9%, + 1.001 + ); + --ease-spring-2: linear( + 0, + 0.007, + 0.029 2.2%, + 0.118 4.7%, + 0.625 14.4%, + 0.826 19%, + 0.902, + 0.962, + 1.008 26.1%, + 1.041 28.7%, + 1.064 32.1%, + 1.07 36%, + 1.061 40.5%, + 1.015 53.4%, + 0.999 61.6%, + 0.995 71.2%, + 1 + ); + --ease-spring-3: linear( + 0, + 0.009, + 0.035 2.1%, + 0.141 4.4%, + 0.723 12.9%, + 0.938 16.7%, + 1.017, + 1.077, + 1.121, + 1.149 24.3%, + 1.159, + 1.163, + 1.161, + 1.154 29.9%, + 1.129 32.8%, + 1.051 39.6%, + 1.017 43.1%, + 0.991, + 0.977 51%, + 0.974 53.8%, + 0.975 57.1%, + 0.997 69.8%, + 1.003 76.9%, + 1 + ); + --ease-spring-4: linear( + 0, + 0.009, + 0.037 1.7%, + 0.153 3.6%, + 0.776 10.3%, + 1.001, + 1.142 16%, + 1.185, + 1.209 19%, + 1.215 19.9% 20.8%, + 1.199, + 1.165 25%, + 1.056 30.3%, + 1.008 33%, + 0.973, + 0.955 39.2%, + 0.953 41.1%, + 0.957 43.3%, + 0.998 53.3%, + 1.009 59.1% 63.7%, + 0.998 78.9%, + 1 + ); + --ease-spring-5: linear( + 0, + 0.01, + 0.04 1.6%, + 0.161 3.3%, + 0.816 9.4%, + 1.046, + 1.189 14.4%, + 1.231, + 1.254 17%, + 1.259, + 1.257 18.6%, + 1.236, + 1.194 22.3%, + 1.057 27%, + 0.999 29.4%, + 0.955 32.1%, + 0.942, + 0.935 34.9%, + 0.933, + 0.939 38.4%, + 1 47.3%, + 1.011, + 1.017 52.6%, + 1.016 56.4%, + 1 65.2%, + 0.996 70.2%, + 1.001 87.2%, + 1 + ); + --ease-bounce-1: linear( + 0, + 0.004, + 0.016, + 0.035, + 0.063, + 0.098, + 0.141, + 0.191, + 0.25, + 0.316, + 0.391 36.8%, + 0.563, + 0.766, + 1 58.8%, + 0.946, + 0.908 69.1%, + 0.895, + 0.885, + 0.879, + 0.878, + 0.879, + 0.885, + 0.895, + 0.908 89.7%, + 0.946, + 1 + ); + --ease-bounce-2: linear( + 0, + 0.004, + 0.016, + 0.035, + 0.063, + 0.098, + 0.141 15.1%, + 0.25, + 0.391, + 0.562, + 0.765, + 1, + 0.892 45.2%, + 0.849, + 0.815, + 0.788, + 0.769, + 0.757, + 0.753, + 0.757, + 0.769, + 0.788, + 0.815, + 0.85, + 0.892 75.2%, + 1 80.2%, + 0.973, + 0.954, + 0.943, + 0.939, + 0.943, + 0.954, + 0.973, + 1 + ); + --ease-bounce-3: linear( + 0, + 0.004, + 0.016, + 0.035, + 0.062, + 0.098, + 0.141 11.4%, + 0.25, + 0.39, + 0.562, + 0.764, + 1 30.3%, + 0.847 34.8%, + 0.787, + 0.737, + 0.699, + 0.672, + 0.655, + 0.65, + 0.656, + 0.672, + 0.699, + 0.738, + 0.787, + 0.847 61.7%, + 1 66.2%, + 0.946, + 0.908, + 0.885 74.2%, + 0.879, + 0.878, + 0.879, + 0.885 79.5%, + 0.908, + 0.946, + 1 87.4%, + 0.981, + 0.968, + 0.96, + 0.957, + 0.96, + 0.968, + 0.981, + 1 + ); + --ease-bounce-4: linear( + 0, + 0.004, + 0.016 3%, + 0.062, + 0.141, + 0.25, + 0.391, + 0.562 18.2%, + 1 24.3%, + 0.81, + 0.676 32.3%, + 0.629, + 0.595, + 0.575, + 0.568, + 0.575, + 0.595, + 0.629, + 0.676 48.2%, + 0.811, + 1 56.2%, + 0.918, + 0.86, + 0.825, + 0.814, + 0.825, + 0.86, + 0.918, + 1 77.2%, + 0.94 80.6%, + 0.925, + 0.92, + 0.925, + 0.94 87.5%, + 1 90.9%, + 0.974, + 0.965, + 0.974, + 1 + ); + --ease-bounce-5: linear( + 0, + 0.004, + 0.016 2.5%, + 0.063, + 0.141, + 0.25 10.1%, + 0.562, + 1 20.2%, + 0.783, + 0.627, + 0.534 30.9%, + 0.511, + 0.503, + 0.511, + 0.534 38%, + 0.627, + 0.782, + 1 48.7%, + 0.892, + 0.815, + 0.769 56.3%, + 0.757, + 0.753, + 0.757, + 0.769 61.3%, + 0.815, + 0.892, + 1 68.8%, + 0.908 72.4%, + 0.885, + 0.878, + 0.885, + 0.908 79.4%, + 1 83%, + 0.954 85.5%, + 0.943, + 0.939, + 0.943, + 0.954 90.5%, + 1 93%, + 0.977, + 0.97, + 0.977, + 1 + ); + --layer-1: 1; + --layer-2: 2; + --layer-3: 3; + --layer-4: 4; + --layer-5: 5; + --layer-important: 2147483647; + --shadow-color: 220 3% 15%; + --shadow-strength: 1%; + --inner-shadow-highlight: inset 0 -0.5px 0 0 #fff, inset 0 0.5px 0 0 rgba(0, 0, 0, 0.067); + --shadow-1: 0 1px 2px -1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)); + --shadow-2: + 0 3px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), + 0 7px 14px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)); + --shadow-3: + 0 -1px 3px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), + 0 1px 2px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), + 0 2px 5px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), + 0 4px 12px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), + 0 12px 15px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%)); + --shadow-4: + 0 -2px 5px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), + 0 1px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), + 0 2px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), + 0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), + 0 9px 9px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), + 0 16px 16px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%)); + --shadow-5: + 0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), + 0 2px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), + 0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), + 0 10px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), + 0 20px 20px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), + 0 40px 40px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%)); + --shadow-6: + 0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)), + 0 3px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), + 0 7px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)), + 0 12px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)), + 0 22px 18px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)), + 0 41px 33px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%)), + 0 100px 80px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%)); + --inner-shadow-0: inset 0 0 0 1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)); + --inner-shadow-1: + inset 0 1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)), + var(--inner-shadow-highlight); + --inner-shadow-2: + inset 0 1px 4px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)), + var(--inner-shadow-highlight); + --inner-shadow-3: + inset 0 2px 8px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)), + var(--inner-shadow-highlight); + --inner-shadow-4: + inset 0 2px 14px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%)), + var(--inner-shadow-highlight); + --ratio-square: 1; + --ratio-landscape: 4/3; + --ratio-portrait: 3/4; + --ratio-widescreen: 16/9; + --ratio-ultrawide: 18/5; + --ratio-golden: 1.618/1; + --gray-0: #f8f9fa; + --gray-1: #f1f3f5; + --gray-2: #e9ecef; + --gray-3: #dee2e6; + --gray-4: #ced4da; + --gray-5: #adb5bd; + --gray-6: #868e96; + --gray-7: #495057; + --gray-8: #343a40; + --gray-9: #212529; + --gray-10: #16191d; + --gray-11: #0d0f12; + --gray-12: #030507; + --stone-0: #f8fafb; + --stone-1: #f2f4f6; + --stone-2: #ebedef; + --stone-3: #e0e4e5; + --stone-4: #d1d6d8; + --stone-5: #b1b6b9; + --stone-6: #979b9d; + --stone-7: #7e8282; + --stone-8: #666968; + --stone-9: #50514f; + --stone-10: #3a3a37; + --stone-11: #252521; + --stone-12: #121210; + --red-0: #fff5f5; + --red-1: #ffe3e3; + --red-2: #ffc9c9; + --red-3: #ffa8a8; + --red-4: #ff8787; + --red-5: #ff6b6b; + --red-6: #fa5252; + --red-7: #f03e3e; + --red-8: #e03131; + --red-9: #c92a2a; + --red-10: #b02525; + --red-11: #962020; + --red-12: #7d1a1a; + --pink-0: #fff0f6; + --pink-1: #ffdeeb; + --pink-2: #fcc2d7; + --pink-3: #faa2c1; + --pink-4: #f783ac; + --pink-5: #f06595; + --pink-6: #e64980; + --pink-7: #d6336c; + --pink-8: #c2255c; + --pink-9: #a61e4d; + --pink-10: #8c1941; + --pink-11: #731536; + --pink-12: #59102a; + --purple-0: #f8f0fc; + --purple-1: #f3d9fa; + --purple-2: #eebefa; + --purple-3: #e599f7; + --purple-4: #da77f2; + --purple-5: #cc5de8; + --purple-6: #be4bdb; + --purple-7: #ae3ec9; + --purple-8: #9c36b5; + --purple-9: #862e9c; + --purple-10: #702682; + --purple-11: #5a1e69; + --purple-12: #44174f; + --violet-0: #f3f0ff; + --violet-1: #e5dbff; + --violet-2: #d0bfff; + --violet-3: #b197fc; + --violet-4: #9775fa; + --violet-5: #845ef7; + --violet-6: #7950f2; + --violet-7: #7048e8; + --violet-8: #6741d9; + --violet-9: #5f3dc4; + --violet-10: #5235ab; + --violet-11: #462d91; + --violet-12: #3a2578; + --indigo-0: #edf2ff; + --indigo-1: #dbe4ff; + --indigo-2: #bac8ff; + --indigo-3: #91a7ff; + --indigo-4: #748ffc; + --indigo-5: #5c7cfa; + --indigo-6: #4c6ef5; + --indigo-7: #4263eb; + --indigo-8: #3b5bdb; + --indigo-9: #364fc7; + --indigo-10: #2f44ad; + --indigo-11: #283a94; + --indigo-12: #21307a; + --blue-0: #e7f5ff; + --blue-1: #d0ebff; + --blue-2: #a5d8ff; + --blue-3: #74c0fc; + --blue-4: #4dabf7; + --blue-5: #339af0; + --blue-6: #228be6; + --blue-7: #1c7ed6; + --blue-8: #1971c2; + --blue-9: #1864ab; + --blue-10: #145591; + --blue-11: #114678; + --blue-12: #0d375e; + --cyan-0: #e3fafc; + --cyan-1: #c5f6fa; + --cyan-2: #99e9f2; + --cyan-3: #66d9e8; + --cyan-4: #3bc9db; + --cyan-5: #22b8cf; + --cyan-6: #15aabf; + --cyan-7: #1098ad; + --cyan-8: #0c8599; + --cyan-9: #0b7285; + --cyan-10: #095c6b; + --cyan-11: #074652; + --cyan-12: #053038; + --teal-0: #e6fcf5; + --teal-1: #c3fae8; + --teal-2: #96f2d7; + --teal-3: #63e6be; + --teal-4: #38d9a9; + --teal-5: #20c997; + --teal-6: #12b886; + --teal-7: #0ca678; + --teal-8: #099268; + --teal-9: #087f5b; + --teal-10: #066649; + --teal-11: #054d37; + --teal-12: #033325; + --green-0: #ebfbee; + --green-1: #d3f9d8; + --green-2: #b2f2bb; + --green-3: #8ce99a; + --green-4: #69db7c; + --green-5: #51cf66; + --green-6: #40c057; + --green-7: #37b24d; + --green-8: #2f9e44; + --green-9: #2b8a3e; + --green-10: #237032; + --green-11: #1b5727; + --green-12: #133d1b; + --lime-0: #f4fce3; + --lime-1: #e9fac8; + --lime-2: #d8f5a2; + --lime-3: #c0eb75; + --lime-4: #a9e34b; + --lime-5: #94d82d; + --lime-6: #82c91e; + --lime-7: #74b816; + --lime-8: #66a80f; + --lime-9: #5c940d; + --lime-10: #4c7a0b; + --lime-11: #3c6109; + --lime-12: #2c4706; + --yellow-0: #fff9db; + --yellow-1: #fff3bf; + --yellow-2: #ffec99; + --yellow-3: #ffe066; + --yellow-4: #ffd43b; + --yellow-5: #fcc419; + --yellow-6: #fab005; + --yellow-7: #f59f00; + --yellow-8: #f08c00; + --yellow-9: #e67700; + --yellow-10: #b35c00; + --yellow-11: #804200; + --yellow-12: #663500; + --orange-0: #fff4e6; + --orange-1: #ffe8cc; + --orange-2: #ffd8a8; + --orange-3: #ffc078; + --orange-4: #ffa94d; + --orange-5: #ff922b; + --orange-6: #fd7e14; + --orange-7: #f76707; + --orange-8: #e8590c; + --orange-9: #d9480f; + --orange-10: #bf400d; + --orange-11: #99330b; + --orange-12: #802b09; + --choco-0: #fff8dc; + --choco-1: #fce1bc; + --choco-2: #f7ca9e; + --choco-3: #f1b280; + --choco-4: #e99b62; + --choco-5: #df8545; + --choco-6: #d46e25; + --choco-7: #bd5f1b; + --choco-8: #a45117; + --choco-9: #8a4513; + --choco-10: #703a13; + --choco-11: #572f12; + --choco-12: #3d210d; + --brown-0: #faf4eb; + --brown-1: #ede0d1; + --brown-2: #e0cab7; + --brown-3: #d3b79e; + --brown-4: #c5a285; + --brown-5: #b78f6d; + --brown-6: #a87c56; + --brown-7: #956b47; + --brown-8: #825b3a; + --brown-9: #6f4b2d; + --brown-10: #5e3a21; + --brown-11: #4e2b15; + --brown-12: #422412; + --sand-0: #f8fafb; + --sand-1: #e6e4dc; + --sand-2: #d5cfbd; + --sand-3: #c2b9a0; + --sand-4: #aea58c; + --sand-5: #9a9178; + --sand-6: #867c65; + --sand-7: #736a53; + --sand-8: #5f5746; + --sand-9: #4b4639; + --sand-10: #38352d; + --sand-11: #252521; + --sand-12: #121210; + --camo-0: #f9fbe7; + --camo-1: #e8ed9c; + --camo-2: #d2df4e; + --camo-3: #c2ce34; + --camo-4: #b5bb2e; + --camo-5: #a7a827; + --camo-6: #999621; + --camo-7: #8c851c; + --camo-8: #7e7416; + --camo-9: #6d6414; + --camo-10: #5d5411; + --camo-11: #4d460e; + --camo-12: #36300a; + --jungle-0: #ecfeb0; + --jungle-1: #def39a; + --jungle-2: #d0e884; + --jungle-3: #c2dd6e; + --jungle-4: #b5d15b; + --jungle-5: #a8c648; + --jungle-6: #9bbb36; + --jungle-7: #8fb024; + --jungle-8: #84a513; + --jungle-9: #7a9908; + --jungle-10: #658006; + --jungle-11: #516605; + --jungle-12: #3d4d04; + --gradient-1: linear-gradient( + to bottom right, + #1f005c, + #5b0060, + #870160, + #ac255e, + #ca485c, + #e16b5c, + #f39060, + #ffb56b + ); + --gradient-2: linear-gradient(to bottom right, #48005c, #8300e2, #a269ff); + --gradient-3: + radial-gradient(circle at top right, #0ff, rgba(0, 255, 255, 0)), + radial-gradient(circle at bottom left, #ff1492, rgba(255, 20, 146, 0)); + --gradient-4: linear-gradient(to bottom right, #00f5a0, #00d9f5); + --gradient-5: conic-gradient(from -270deg at 75% 110%, #f0f, #fffaf0); + --gradient-6: conic-gradient(from -90deg at top left, #000, #fff); + --gradient-7: linear-gradient(to bottom right, #72c6ef, #004e8f); + --gradient-8: conic-gradient(from 90deg at 50% 0%, #111, 50%, #222, #111); + --gradient-9: conic-gradient(from 0.5turn at bottom center, #add8e6, #fff); + --gradient-10: conic-gradient( + from 90deg at 40% -25%, + gold, + #f79d03, + #ee6907, + #e6390a, + #de0d0d, + #d61039, + #cf1261, + #c71585, + #cf1261, + #d61039, + #de0d0d, + #ee6907, + #f79d03, + gold, + gold, + gold + ); + --gradient-11: conic-gradient(at bottom left, #ff1493, cyan); + --gradient-12: conic-gradient( + from 90deg at 25% -10%, + #ff4500, + #d3f340, + #7bee85, + #afeeee, + #7bee85 + ); + --gradient-13: radial-gradient( + circle at 50% 200%, + #000142, + #3b0083, + #b300c3, + #ff059f, + #ff4661, + #ffad86, + #fff3c7 + ); + --gradient-14: conic-gradient(at top right, lime, cyan); + --gradient-15: linear-gradient(to bottom right, #c7d2fe, #fecaca, #fef3c7); + --gradient-16: radial-gradient(circle at 50% -250%, #374151, #111827, #000); + --gradient-17: conic-gradient(from -90deg at 50% -25%, blue, #8a2be2); + --gradient-18: + linear-gradient(0deg, rgba(255, 0, 0, 0.8), rgba(255, 0, 0, 0) 75%), + linear-gradient(60deg, rgba(255, 255, 0, 0.8), rgba(255, 255, 0, 0) 75%), + linear-gradient(120deg, rgba(0, 255, 0, 0.8), rgba(0, 255, 0, 0) 75%), + linear-gradient(180deg, rgba(0, 255, 255, 0.8), rgba(0, 255, 255, 0) 75%), + linear-gradient(240deg, rgba(0, 0, 255, 0.8), rgba(0, 0, 255, 0) 75%), + linear-gradient(300deg, rgba(255, 0, 255, 0.8), rgba(255, 0, 255, 0) 75%); + --gradient-19: linear-gradient(to bottom right, #ffe259, #ffa751); + --gradient-20: conic-gradient( + from -135deg at -10% center, + orange, + #ff7715, + #ff522a, + #ff3f47, + #ff5482, + #ff69b4 + ); + --gradient-21: conic-gradient( + from -90deg at 25% 115%, + red, + #f06, + #f0c, + #c0f, + #60f, + #00f, + #00f, + #00f, + #00f + ); + --gradient-22: linear-gradient(to bottom right, #acb6e5, #86fde8); + --gradient-23: linear-gradient(to bottom right, #536976, #292e49); + --gradient-24: conic-gradient(from 0.5turn at 0% 0%, #00c476, 10%, #82b0ff, 90%, #00c476); + --gradient-25: conic-gradient(at 125% 50%, #b78cf7, #ff7c94, #ffcf0d, #ff7c94, #b78cf7); + --gradient-26: linear-gradient(to bottom right, #9796f0, #fbc7d4); + --gradient-27: conic-gradient(from 0.5turn at bottom left, #ff1493, #639); + --gradient-28: conic-gradient(from -90deg at 50% 105%, #fff, orchid); + --gradient-29: + radial-gradient(circle at top right, #bfb3ff, rgba(191, 179, 255, 0)), + radial-gradient(circle at bottom left, #86acf9, rgba(134, 172, 249, 0)); + --gradient-30: + radial-gradient(circle at top right, #00ff80, rgba(0, 255, 128, 0)), + radial-gradient(circle at bottom left, #adffd6, rgba(173, 255, 214, 0)); + --noise-1: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.005' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E"); + --noise-2: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.05' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E"); + --noise-3: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.25' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E"); + --noise-4: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 2056 2056' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E"); + --noise-5: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 2056 2056' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E"); + --noise-filter-1: contrast(300%) brightness(100%); + --noise-filter-2: contrast(200%) brightness(150%); + --noise-filter-3: contrast(200%) brightness(250%); + --noise-filter-4: contrast(200%) brightness(500%); + --noise-filter-5: contrast(200%) brightness(1000%); + --animation-fade-in: fade-in 0.5s var(--ease-3); + --animation-fade-in-bloom: fade-in-bloom 2s var(--ease-3); + --animation-fade-out: fade-out 0.5s var(--ease-3); + --animation-fade-out-bloom: fade-out-bloom 2s var(--ease-3); + --animation-scale-up: scale-up 0.5s var(--ease-3); + --animation-scale-down: scale-down 0.5s var(--ease-3); + --animation-slide-out-up: slide-out-up 0.5s var(--ease-3); + --animation-slide-out-down: slide-out-down 0.5s var(--ease-3); + --animation-slide-out-right: slide-out-right 0.5s var(--ease-3); + --animation-slide-out-left: slide-out-left 0.5s var(--ease-3); + --animation-slide-in-up: slide-in-up 0.5s var(--ease-3); + --animation-slide-in-down: slide-in-down 0.5s var(--ease-3); + --animation-slide-in-right: slide-in-right 0.5s var(--ease-3); + --animation-slide-in-left: slide-in-left 0.5s var(--ease-3); + --animation-shake-x: shake-x 0.75s var(--ease-out-5); + --animation-shake-y: shake-y 0.75s var(--ease-out-5); + --animation-spin: spin 2s linear infinite; + --animation-ping: ping 5s var(--ease-out-3) infinite; + --animation-blink: blink 1s var(--ease-out-3) infinite; + --animation-float: float 3s var(--ease-in-out-3) infinite; + --animation-bounce: bounce 2s var(--ease-squish-2) infinite; + --animation-pulse: pulse 2s var(--ease-out-3) infinite; + --border-size-1: 1px; + --border-size-2: 2px; + --border-size-3: 5px; + --border-size-4: 10px; + --border-size-5: 25px; + --radius-1: 2px; + --radius-2: 5px; + --radius-3: 1rem; + --radius-4: 2rem; + --radius-5: 4rem; + --radius-6: 8rem; + --radius-round: 1e5px; + --radius-blob-1: 30% 70% 70% 30%/53% 30% 70% 47%; + --radius-blob-2: 53% 47% 34% 66%/63% 46% 54% 37%; + --radius-blob-3: 37% 63% 56% 44%/49% 56% 44% 51%; + --radius-blob-4: 63% 37% 37% 63%/43% 37% 63% 57%; + --radius-blob-5: 49% 51% 48% 52%/57% 44% 56% 43%; + --radius-conditional-1: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-1)); + --radius-conditional-2: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-2)); + --radius-conditional-3: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-3)); + --radius-conditional-4: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-4)); + --radius-conditional-5: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-5)); + --radius-conditional-6: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-6)); +} +@media (prefers-color-scheme: dark) { + :where(html) { + --shadow-color: 220 40% 2%; + --shadow-strength: 25%; + --inner-shadow-highlight: + inset 0 -0.5px 0 0 hsla(0, 0%, 100%, 0.067), inset 0 0.5px 0 0 rgba(0, 0, 0, 0.467); + } +} +@keyframes fade-in { + to { + opacity: 1; + } +} +@keyframes fade-in-bloom { + 0% { + filter: brightness(1) blur(20px); + opacity: 0; + } + 10% { + filter: brightness(2) blur(10px); + opacity: 1; + } + to { + filter: brightness(1) blur(0); + opacity: 1; + } +} +@keyframes fade-out { + to { + opacity: 0; + } +} +@keyframes fade-out-bloom { + to { + filter: brightness(1) blur(20px); + opacity: 0; + } + 10% { + filter: brightness(2) blur(10px); + opacity: 1; + } + 0% { + filter: brightness(1) blur(0); + opacity: 1; + } +} +@keyframes scale-up { + to { + transform: scale(1.25); + } +} +@keyframes scale-down { + to { + transform: scale(0.75); + } +} +@keyframes slide-out-up { + to { + transform: translateY(-100%); + } +} +@keyframes slide-out-down { + to { + transform: translateY(100%); + } +} +@keyframes slide-out-right { + to { + transform: translateX(100%); + } +} +@keyframes slide-out-left { + to { + transform: translateX(-100%); + } +} +@keyframes slide-in-up { + 0% { + transform: translateY(100%); + } +} +@keyframes slide-in-down { + 0% { + transform: translateY(-100%); + } +} +@keyframes slide-in-right { + 0% { + transform: translateX(-100%); + } +} +@keyframes slide-in-left { + 0% { + transform: translateX(100%); + } +} +@keyframes shake-x { + 0%, + to { + transform: translateX(0); + } + 20% { + transform: translateX(-5%); + } + 40% { + transform: translateX(5%); + } + 60% { + transform: translateX(-5%); + } + 80% { + transform: translateX(5%); + } +} +@keyframes shake-y { + 0%, + to { + transform: translateY(0); + } + 20% { + transform: translateY(-5%); + } + 40% { + transform: translateY(5%); + } + 60% { + transform: translateY(-5%); + } + 80% { + transform: translateY(5%); + } +} +@keyframes spin { + to { + transform: rotate(1turn); + } +} +@keyframes ping { + 90%, + to { + opacity: 0; + transform: scale(2); + } +} +@keyframes blink { + 0%, + to { + opacity: 1; + } + 50% { + opacity: 0.5; + } +} +@keyframes float { + 50% { + transform: translateY(-25%); + } +} +@keyframes bounce { + 25% { + transform: translateY(-20%); + } + 40% { + transform: translateY(-3%); + } + 0%, + 60%, + to { + transform: translateY(0); + } +} +@keyframes pulse { + 50% { + transform: scale(0.9); + } +} +@media (prefers-color-scheme: dark) { + @keyframes fade-in-bloom { + 0% { + filter: brightness(1) blur(20px); + opacity: 0; + } + 10% { + filter: brightness(0.5) blur(10px); + opacity: 1; + } + to { + filter: brightness(1) blur(0); + opacity: 1; + } + } +} +@media (prefers-color-scheme: dark) { + @keyframes fade-out-bloom { + to { + filter: brightness(1) blur(20px); + opacity: 0; + } + 10% { + filter: brightness(0.5) blur(10px); + opacity: 1; + } + 0% { + filter: brightness(1) blur(0); + opacity: 1; + } + } +} diff --git a/src/components/iconset-portal/icons/architecture_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/architecture_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..e2773ed9a --- /dev/null +++ b/src/components/iconset-portal/icons/architecture_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/architecture_FILL1_wght400_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/architecture_FILL1_wght400_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..47b073cf2 --- /dev/null +++ b/src/components/iconset-portal/icons/architecture_FILL1_wght400_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/breaking_news_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/breaking_news_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..28ae09dcd --- /dev/null +++ b/src/components/iconset-portal/icons/breaking_news_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/breaking_news_FILL1_wght400_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/breaking_news_FILL1_wght400_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..39815cde1 --- /dev/null +++ b/src/components/iconset-portal/icons/breaking_news_FILL1_wght400_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/campaign_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/campaign_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..3f62dec72 --- /dev/null +++ b/src/components/iconset-portal/icons/campaign_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/campaign_FILL1_wght400_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/campaign_FILL1_wght400_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..43a797be9 --- /dev/null +++ b/src/components/iconset-portal/icons/campaign_FILL1_wght400_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/code_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/code_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..bda9b8845 --- /dev/null +++ b/src/components/iconset-portal/icons/code_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/code_blocks_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/code_blocks_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..f8ba01991 --- /dev/null +++ b/src/components/iconset-portal/icons/code_blocks_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/deployed_code_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/deployed_code_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..72e802df9 --- /dev/null +++ b/src/components/iconset-portal/icons/deployed_code_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/deployed_code_account_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/deployed_code_account_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..3c660f694 --- /dev/null +++ b/src/components/iconset-portal/icons/deployed_code_account_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/design_services_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/design_services_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..a78967a2f --- /dev/null +++ b/src/components/iconset-portal/icons/design_services_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/draw_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/draw_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..994274450 --- /dev/null +++ b/src/components/iconset-portal/icons/draw_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/extension_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/extension_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..a2deb9310 --- /dev/null +++ b/src/components/iconset-portal/icons/extension_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/foundation_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/foundation_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..9e8a140db --- /dev/null +++ b/src/components/iconset-portal/icons/foundation_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/home_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/home_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..53498f5a9 --- /dev/null +++ b/src/components/iconset-portal/icons/home_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/lightbulb_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/lightbulb_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..7316f9c3b --- /dev/null +++ b/src/components/iconset-portal/icons/lightbulb_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/newsmode_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/newsmode_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..490278b19 --- /dev/null +++ b/src/components/iconset-portal/icons/newsmode_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/sdk_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/sdk_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..3892a25b0 --- /dev/null +++ b/src/components/iconset-portal/icons/sdk_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/icons/stylus_note_FILL0_wght700_GRAD0_opsz48.svg.js b/src/components/iconset-portal/icons/stylus_note_FILL0_wght700_GRAD0_opsz48.svg.js new file mode 100644 index 000000000..a08fff859 --- /dev/null +++ b/src/components/iconset-portal/icons/stylus_note_FILL0_wght700_GRAD0_opsz48.svg.js @@ -0,0 +1,12 @@ +import { html } from 'lit'; + +export default html` + +`; diff --git a/src/components/iconset-portal/iconset-portal.js b/src/components/iconset-portal/iconset-portal.js new file mode 100644 index 000000000..d3b138846 --- /dev/null +++ b/src/components/iconset-portal/iconset-portal.js @@ -0,0 +1,36 @@ +// https://fonts.google.com/icons?selected=Material+Symbols+Outlined:newsmode:FILL@0;wght@700;GRAD@0;opsz@48&icon.query=news&icon.platform=web +export { default as architecture } from './icons/architecture_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as breakingNews } from './icons/breaking_news_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as campaign } from './icons/campaign_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as codeBlocks } from './icons/code_blocks_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as code } from './icons/code_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as deployedCodeAccount } from './icons/deployed_code_account_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as deployedCode } from './icons/deployed_code_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as designServices } from './icons/design_services_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as draw } from './icons/draw_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as extension } from './icons/extension_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as foundation } from './icons/foundation_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as home } from './icons/home_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as lightbulb } from './icons/lightbulb_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as newsmode } from './icons/newsmode_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as sdk } from './icons/sdk_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as stylusNote } from './icons/stylus_note_FILL0_wght700_GRAD0_opsz48.svg.js'; +export { default as search } from './icons/search_FILL0_wght400_GRAD0_opsz48.svg.js'; + +export { default as architectureFilled } from './icons/architecture_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as breakingNewsFilled } from './icons/breaking_news_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as campaignFilled } from './icons/campaign_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as codeBlocksFilled } from './icons/code_blocks_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as codeFilled } from './icons/code_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as deployedCodeAccountFilled } from './icons/deployed_code_account_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as deployedCodeFilled } from './icons/deployed_code_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as designServicesFilled } from './icons/design_services_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as drawFilled } from './icons/draw_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as extensionFilled } from './icons/extension_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as foundationFilled } from './icons/foundation_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as homeFilled } from './icons/home_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as lightbulbFilled } from './icons/lightbulb_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as newsmodeFilled } from './icons/newsmode_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as sdkFilled } from './icons/sdk_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as stylusNoteFilled } from './icons/stylus_note_FILL1_wght400_GRAD0_opsz48.svg.js'; +export { default as searchFilled } from './icons/search_FILL1_wght400_GRAD0_opsz48.svg.js'; diff --git a/src/components/ui-portal-footer.js b/src/components/ui-portal-footer.js index 9a6488d38..63c483eb7 100644 --- a/src/components/ui-portal-footer.js +++ b/src/components/ui-portal-footer.js @@ -29,7 +29,7 @@ export class UIPortalFooter extends LitElement { #main-footer { padding-inline: 96px; } - + #footer-menu .content-area { flex-direction: row; text-align: left; @@ -43,10 +43,14 @@ export class UIPortalFooter extends LitElement { #footer-menu a { text-decoration: none; - color: var(--primary-text-color); + color: var(--text-color); padding: 5px 0; display: block; } + + #footer-menu a:hover { + text-decoration: underline; + } `, ]; diff --git a/src/components/ui-portal-main-nav.js b/src/components/ui-portal-main-nav.js index a560069ed..55325eb39 100644 --- a/src/components/ui-portal-main-nav.js +++ b/src/components/ui-portal-main-nav.js @@ -3,9 +3,14 @@ import { css, html, nothing } from 'lit'; import '@lion/ui/define/lion-icon.js'; import { UIBaseElement } from './shared/UIBaseElement.js'; import { addIconResolverForPortal } from './iconset-portal/addIconResolverForPortal.js'; -import { navItemDirective } from '../directives/nav-item.js'; +import uiPortalMainNavBurgerCss from './ui-portal-main-nav-burger.css.js'; -addIconResolverForPortal(); +try { + addIconResolverForPortal(); +} catch (e) { + // do nothing + // icons can be registered by somebody else? +} // TODO: apply https://web.dev/website-navigation/ (aria-current="page" etc.) @@ -23,13 +28,31 @@ export class UIPortalMainNav extends UIBaseElement { * @type {NavItem[]} */ this.navData = []; - this.layoutWide = false; + this.getLink = item => + html`${item.name}`; + } + + connectedCallback() { + super.connectedCallback(); + if (window) { + // only on the client + window.setTimeout(() => { + // remove the second navigation + // its rendered twice due to lack of lit/ssr + // https://github.com/lit/lit/issues/4472 + const $navs = this.renderRoot.querySelectorAll('[data-part="nav"]'); + if ($navs.length > 1) { + $navs[1].remove(); + } + }); + } } get templateContext() { return { ...super.templateContext, - directives: { navItem: navItemDirective }, data: { navData: this.navData }, }; } @@ -41,7 +64,7 @@ export class UIPortalMainNav extends UIBaseElement { return html` `; }, navLevel(context, { children }) { - const { templates, directives } = context; + const { templates } = context; return html`