diff --git a/package-lock.json b/package-lock.json index 95afb59..56b3069 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2218,81 +2218,29 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@cobalt-ui/cli": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@cobalt-ui/cli/-/cli-1.11.2.tgz", - "integrity": "sha512-X4RG2VcetT+hyyjsRZWWrN/lRLxB8q2IySgcnfVQJb481yMbFksRkzkFuaDLRsZa5MMbFQFh6ekgWWCePQ2Png==", - "dev": true, - "dependencies": { - "@cobalt-ui/core": "^1.11.2", - "@cobalt-ui/utils": "^1.2.6", - "chokidar": "^3.6.0", - "culori": "^4.0.1", - "dotenv": "^16.4.5", - "parse-json": "^8.1.0", - "svgo": "^3.3.2", - "yaml": "^2.4.2", - "yargs-parser": "^21.1.1" - }, - "bin": { - "co": "bin/cli.js", - "cobalt": "bin/cli.js" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@cobalt-ui/cli/node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/@cobalt-ui/core": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@cobalt-ui/core/-/core-1.11.2.tgz", - "integrity": "sha512-46UIsnxwKfB+aioMAKgXJHqGGwEfap1r3VfpavY2AxortKpAJ06MojQuBDcef0mVThnDm23voFvCdyBTTIxJyw==", + "node_modules/@clack/core": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.3.5.tgz", + "integrity": "sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==", "dev": true, + "license": "MIT", "dependencies": { - "@cobalt-ui/utils": "^1.2.6", - "@types/culori": "^2.1.0", - "@types/deep-equal": "^1.0.4", - "culori": "^4.0.1", - "deep-equal": "^2.2.3", - "parse-json": "^8.1.0", - "scule": "^1.3.0", - "yaml": "^2.4.2" + "picocolors": "^1.0.0", + "sisteransi": "^1.0.5" } }, - "node_modules/@cobalt-ui/plugin-css": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@cobalt-ui/plugin-css/-/plugin-css-1.7.4.tgz", - "integrity": "sha512-gF28KlyU9Y/VBUA/0Iaev6wSNH396Nf9VWGf30ckBMzCof6x88WJ1FxsVafSL3YMDDBNPrrSuHk7P5qGnmpqBQ==", + "node_modules/@clack/prompts": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.8.2.tgz", + "integrity": "sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==", "dev": true, + "license": "MIT", "dependencies": { - "@cobalt-ui/utils": "^1.2.6", - "@types/culori": "^2.1.0", - "@types/mime": "^3.0.4", - "culori": "^4.0.1", - "mime": "^3.0.0", - "svgo": "^3.3.2" - }, - "peerDependencies": { - "@cobalt-ui/cli": "^1.11.0" + "@clack/core": "0.3.5", + "picocolors": "^1.0.0", + "sisteransi": "^1.0.5" } }, - "node_modules/@cobalt-ui/utils": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@cobalt-ui/utils/-/utils-1.2.6.tgz", - "integrity": "sha512-dlSU76WAUTUDt1nA1qAFb9tDSNMsPvBcPeL/oRFYDVK91auxB8SlncsAasOSILfRe4waSvYJAy5wWYanrzf25A==", - "dev": true - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -2814,6 +2762,16 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@humanwhocodes/momoa": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-3.3.5.tgz", + "integrity": "sha512-NI9codbQNjw9g4SS/cOizi8JDZ93B3oGVko8M3y0XF3gITaGDSQqea35V8fswWehnRQBLxPfZY5TJnuNhNCEzA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, "node_modules/@humanwhocodes/retry": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", @@ -3959,15 +3917,111 @@ } } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/@terrazzo/cli": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@terrazzo/cli/-/cli-0.2.8.tgz", + "integrity": "sha512-U/zS3xWd7DCXxoQTyTF5gAtKQ0zZAKKXlNtXy0lFyoYUSZswx+VT4BKbyRG1DqleeugL3+J02TI3jWi5e0xfEg==", "dev": true, + "license": "MIT", + "dependencies": { + "@clack/prompts": "^0.8.2", + "@humanwhocodes/momoa": "^3.3.4", + "@terrazzo/parser": "^0.2.8", + "@terrazzo/token-tools": "^0.2.8", + "@types/escodegen": "^0.0.10", + "chokidar": "^3.6.0", + "detect-package-manager": "^3.0.2", + "dotenv": "^16.4.5", + "escodegen": "^2.1.0", + "merge-anything": "^5.1.7", + "meriyah": "^6.0.3", + "picocolors": "^1.1.1", + "yaml-to-momoa": "^0.0.3" + }, + "bin": { + "terrazzo": "bin/cli.js", + "tz": "bin/cli.js" + } + }, + "node_modules/@terrazzo/cli/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=10.13.0" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@terrazzo/parser": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@terrazzo/parser/-/parser-0.2.8.tgz", + "integrity": "sha512-1iqVwjaGG9zpkbKDIMqMLJakaAYCXfar/R9+Q9TFQFI7b/AGhxNg3DtN+4fQ3D3uVYLVKFlSZsutyn1KhLbvvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@humanwhocodes/momoa": "^3.3.4", + "@terrazzo/token-tools": "^0.2.8", + "@types/babel__code-frame": "^7.0.6", + "@types/culori": "^2.1.1", + "culori": "^4.0.1", + "is-what": "^4.1.16", + "merge-anything": "^5.1.7", + "picocolors": "^1.1.1", + "scule": "^1.3.0", + "wildcard-match": "^5.1.3", + "yaml": "^2.6.1" + } + }, + "node_modules/@terrazzo/parser/node_modules/yaml": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@terrazzo/plugin-css": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@terrazzo/plugin-css/-/plugin-css-0.2.0.tgz", + "integrity": "sha512-ONF8qzVekJAY4KuorZJGDoI3C+ToNRvOjRM/QfE/t1S1d5+SC9rQI/XEGwMueK6e3qJq0G39SiEOX3USyIbrvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "scule": "^1.3.0" + }, + "peerDependencies": { + "@terrazzo/cli": "*" + } + }, + "node_modules/@terrazzo/token-tools": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@terrazzo/token-tools/-/token-tools-0.2.8.tgz", + "integrity": "sha512-YDv6VIUbex+ec/9bWqTU6tM8XK8nEIWEPbJ17NL7divee3gvIy6JZowjhdOo2mevDS4HAmsLGWBtxfvuFH8cnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@humanwhocodes/momoa": "^3.3.4", + "culori": "^4.0.1", + "scule": "^1.3.0", + "wildcard-match": "^5.1.3" } }, + "node_modules/@types/babel__code-frame": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.6.tgz", + "integrity": "sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/body-parser": { "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", @@ -4002,18 +4056,19 @@ "integrity": "sha512-NzLYD0vNHLxTdPp8+RlvGbR2NfOZkwxcYGFwxNtm+WH2NuUNV8785zv1h0sulFQ5aFQ9n/jNDUuJeo3Bh7+oFA==", "dev": true }, - "node_modules/@types/deep-equal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.4.tgz", - "integrity": "sha512-tqdiS4otQP4KmY0PR3u6KbZ5EWvhNdUoS/jc93UuK23C220lOZ/9TvjfxdPcKvqwwDVtmtSCrnr0p/2dirAxkA==", - "dev": true - }, "node_modules/@types/emscripten": { "version": "1.39.13", "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.13.tgz", "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==", "dev": true }, + "node_modules/@types/escodegen": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@types/escodegen/-/escodegen-0.0.10.tgz", + "integrity": "sha512-IVvcNLEFbiL17qiGRGzyfx/u9K6lA5w6wcQSIgv2h4JG3ZAFIY1Be9ITTSPuARIxRpzW54s8OvcF6PdonBbDzg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -4078,12 +4133,6 @@ "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", "dev": true }, - "node_modules/@types/mime": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz", - "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==", - "dev": true - }, "node_modules/@types/node": { "version": "12.20.55", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", @@ -4533,22 +4582,6 @@ "sprintf-js": "~1.0.2" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -4754,12 +4787,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5215,80 +5242,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true - }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -5327,38 +5280,6 @@ } } }, - "node_modules/deep-equal": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.5", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.2", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -5394,23 +5315,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/defu": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", @@ -5454,71 +5358,145 @@ "node": ">=8" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/detect-package-manager": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-3.0.2.tgz", + "integrity": "sha512-8JFjJHutStYrfWwzfretQoyNGoZVW1Fsrp4JO9spa7h/fBfwgTMEIy4/LBzRDGsxwVPHU0q+T9YvwLDJoOApLQ==", "dev": true, + "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "execa": "^5.1.1" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "node_modules/detect-package-manager/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "node_modules/detect-package-manager/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-package-manager/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/detect-package-manager/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-package-manager/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/detect-package-manager/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { - "domelementtype": "^2.3.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">= 4" + "node": ">=8" + } + }, + "node_modules/detect-package-manager/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "node_modules/detect-package-manager/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/detect-package-manager/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "path-type": "^4.0.0" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": ">=8" } }, "node_modules/dotenv": { @@ -5570,18 +5548,6 @@ "node": ">=8.6" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/envinfo": { "version": "7.13.0", "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", @@ -5615,26 +5581,6 @@ "node": ">= 0.4" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-module-lexer": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", @@ -5715,6 +5661,28 @@ "node": ">=0.8.0" } }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, "node_modules/eslint": { "version": "9.7.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz", @@ -6468,15 +6436,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -6643,15 +6602,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6884,18 +6834,6 @@ "node": ">=0.8.19" } }, - "node_modules/index-to-position": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", - "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6913,20 +6851,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -6964,34 +6888,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -7004,22 +6900,6 @@ "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -7047,21 +6927,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -7114,21 +6979,9 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/is-number": { @@ -7140,21 +6993,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -7176,49 +7014,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", @@ -7231,21 +7026,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-subdir": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", @@ -7258,21 +7038,6 @@ "node": ">=4" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-typed-array": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", @@ -7300,32 +7065,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=12.13" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/mesqueeb" } }, "node_modules/is-windows": { @@ -7337,12 +7087,6 @@ "node": ">=0.10.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -7982,12 +7726,6 @@ "react": ">= 0.14.0" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true - }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -8006,6 +7744,22 @@ "map-or-similar": "^1.5.0" } }, + "node_modules/merge-anything": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/merge-anything/-/merge-anything-5.1.7.tgz", + "integrity": "sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -8027,6 +7781,16 @@ "node": ">= 8" } }, + "node_modules/meriyah": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/meriyah/-/meriyah-6.0.3.tgz", + "integrity": "sha512-NqUbuQIjIH8dxUBPTMHS1kwIHd6n6nF3F7oeLXGWqBkpVP2lZxVHdab5JxbFBisIB4axZ9b/lT4HLJfZxmFK7Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -8049,18 +7813,6 @@ "node": ">=8.6" } }, - "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -8305,18 +8057,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, "node_modules/nypm": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.9.tgz", @@ -8349,49 +8089,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/ohash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", @@ -8683,35 +8380,6 @@ "node": ">=6" } }, - "node_modules/parse-json": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", - "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-json/node_modules/type-fest": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.22.1.tgz", - "integrity": "sha512-9tHNEa0Ov81YOopiVkcCJVz5TM6AEQ+CHHjFIktqPnE3NV0AHIkx+gh9tiCl58m/66wWxkOC9eltpa75J4lQPA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -8776,10 +8444,11 @@ "dev": true }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -9256,24 +8925,6 @@ "@babel/runtime": "^7.8.4" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/regexpu-core": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", @@ -9649,21 +9300,6 @@ "node": ">= 0.4" } }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -9790,6 +9426,7 @@ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -9889,18 +9526,6 @@ "node": ">= 0.8" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/storybook": { "version": "8.2.4", "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.2.4.tgz", @@ -10415,40 +10040,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, "node_modules/tar": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", @@ -10996,40 +10587,6 @@ "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-pm": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.2.0.tgz", @@ -11062,6 +10619,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/wildcard-match": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/wildcard-match/-/wildcard-match-5.1.3.tgz", + "integrity": "sha512-a95hPUk+BNzSGLntNXYxsjz2Hooi5oL7xOfJR6CKwSsSALh7vUNuTlzsrZowtYy38JNduYFRVhFv19ocqNOZlg==", + "dev": true, + "license": "ISC" + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -11189,13 +10753,28 @@ "node": ">= 14" } }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/yaml-to-momoa": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/yaml-to-momoa/-/yaml-to-momoa-0.0.3.tgz", + "integrity": "sha512-8zEu6HkZO+upPrmEg9kqugEoPC8A11f7zveWv4qwMHJ1+21FYU2bqf2TleMm2IlwRNcdvDLx0yWJUxGlHJm3qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@humanwhocodes/momoa": "^3.3.0", + "yaml": "^2.6.0" + } + }, + "node_modules/yaml-to-momoa/node_modules/yaml": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">=12" + "node": ">= 14" } }, "node_modules/yocto-queue": { @@ -11231,8 +10810,8 @@ "name": "@holisticon/hap-foundation", "version": "0.2.1", "devDependencies": { - "@cobalt-ui/cli": "^1.11.2", - "@cobalt-ui/plugin-css": "^1.7.4" + "@terrazzo/cli": "^0.2.8", + "@terrazzo/plugin-css": "^0.2.0" } } } diff --git a/packages/documentation/src/design_tokens/colors.mdx b/packages/documentation/src/design_tokens/colors.mdx index 961ffe6..1d7fa1d 100644 --- a/packages/documentation/src/design_tokens/colors.mdx +++ b/packages/documentation/src/design_tokens/colors.mdx @@ -109,17 +109,17 @@ Tones of black and whites that are mainly used for typography. diff --git a/packages/documentation/src/foundation/typography.mdx b/packages/documentation/src/foundation/typography.mdx index 85ec9b7..fabdd07 100644 --- a/packages/documentation/src/foundation/typography.mdx +++ b/packages/documentation/src/foundation/typography.mdx @@ -20,8 +20,15 @@ Playfulness. Headings use the ES Klarheit Kurrent. The following heading styles are provided: ## Body Text @@ -31,5 +38,5 @@ provided: diff --git a/packages/foundation/package.json b/packages/foundation/package.json index cef8242..599949e 100644 --- a/packages/foundation/package.json +++ b/packages/foundation/package.json @@ -17,12 +17,12 @@ "./atomic-playfulness.css": "./src/atomic-playfulness.css" }, "scripts": { - "build": "co build", - "check": "co check", - "lint": "eslint ." + "dev": "tz build -w", + "build": "tz build", + "lint": "eslint . && tz lint" }, "devDependencies": { - "@cobalt-ui/cli": "^1.11.2", - "@cobalt-ui/plugin-css": "^1.7.4" + "@terrazzo/cli": "^0.2.8", + "@terrazzo/plugin-css": "^0.2.0" } } diff --git a/packages/foundation/src/elements/button.css b/packages/foundation/src/elements/button.css index 05ede6d..ae84f56 100644 --- a/packages/foundation/src/elements/button.css +++ b/packages/foundation/src/elements/button.css @@ -28,132 +28,132 @@ &.primary { color: light-dark( - var(--hap-color-text-brand-ondark), - var(--hap-color-text-brand-onlight) + var(--hap-color-text-brand-on-dark), + var(--hap-color-text-brand-on-light) ); background-color: light-dark( - var(--hap-color-button-primary-onlight-default), - var(--hap-color-button-primary-ondark-default) + var(--hap-color-button-primary-on-light-default), + var(--hap-color-button-primary-on-dark-default) ); &:hover { color: light-dark( - var(--hap-color-text-brand-ondark), - var(--hap-color-text-brand-onlight) + var(--hap-color-text-brand-on-dark), + var(--hap-color-text-brand-on-light) ); background-color: light-dark( - var(--hap-color-button-primary-onlight-hovered), - var(--hap-color-button-primary-ondark-hovered) + var(--hap-color-button-primary-on-light-hovered), + var(--hap-color-button-primary-on-dark-hovered) ); } &:focus, &:focus-visible { color: light-dark( - var(--hap-color-text-brand-ondark), - var(--hap-color-text-brand-onlight) + var(--hap-color-text-brand-on-dark), + var(--hap-color-text-brand-on-light) ); background-color: light-dark( - var(--hap-color-button-primary-onlight-default), - var(--hap-color-button-primary-ondark-default) + var(--hap-color-button-primary-on-light-default), + var(--hap-color-button-primary-on-dark-default) ); box-shadow: inset 0 0 0 2px light-dark( - var(--hap-color-border-focused-onlight), - var(--hap-color-border-focused-ondark) + var(--hap-color-border-focused-on-light), + var(--hap-color-border-focused-on-dark) ); } &:active { color: light-dark( - var(--hap-color-text-brand-ondark), - var(--hap-color-text-brand-onlight) + var(--hap-color-text-brand-on-dark), + var(--hap-color-text-brand-on-light) ); background-color: light-dark( - var(--hap-color-button-primary-onlight-pressed), - var(--hap-color-button-primary-ondark-pressed) + var(--hap-color-button-primary-on-light-pressed), + var(--hap-color-button-primary-on-dark-pressed) ); } &:disabled { color: light-dark( - var(--hap-color-text-brand-ondark), - var(--hap-color-text-brand-onlight) + var(--hap-color-text-brand-on-dark), + var(--hap-color-text-brand-on-light) ); background-color: light-dark( - var(--hap-color-button-primary-onlight-default), - var(--hap-color-button-primary-ondark-default) + var(--hap-color-button-primary-on-light-default), + var(--hap-color-button-primary-on-dark-default) ); } } &.secondary { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondark) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark) ); background-color: none; box-shadow: inset 0 0 0 1px light-dark( - var(--hap-color-border-brand-onlight), - var(--hap-color-border-brand-ondarkonly) + var(--hap-color-border-brand-on-light), + var(--hap-color-border-brand-on-dark-only) ); &:hover { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondarkonly) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark-only) ); background-color: light-dark( - var(--hap-color-interactions-onlight-hovered), - var(--hap-color-interactions-ondarkonly-hovered) + var(--hap-color-interactions-on-light-hovered), + var(--hap-color-interactions-on-dark-only-hovered) ); box-shadow: inset 0 0 0 1px light-dark( - var(--hap-color-border-brand-onlight), - var(--hap-color-border-brand-ondarkonly) + var(--hap-color-border-brand-on-light), + var(--hap-color-border-brand-on-dark-only) ); } &:focus, &:focus-visible { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondarkonly) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark-only) ); box-shadow: inset 0 0 0 2px light-dark( - var(--hap-color-border-focused-onlight), - var(--hap-color-border-focused-ondark) + var(--hap-color-border-focused-on-light), + var(--hap-color-border-focused-on-dark) ); } &:active { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondarkonly) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark-only) ); background-color: light-dark( - var(--hap-color-interactions-onlight-pressed), - var(--hap-color-interactions-ondarkonly-pressed) + var(--hap-color-interactions-on-light-pressed), + var(--hap-color-interactions-on-dark-only-pressed) ); box-shadow: inset 0 0 0 1px light-dark( - var(--hap-color-border-brand-onlight), - var(--hap-color-border-brand-ondarkonly) + var(--hap-color-border-brand-on-light), + var(--hap-color-border-brand-on-dark-only) ); } &:disabled { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondarkonly) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark-only) ); background-color: none; box-shadow: inset 0 0 0 1px light-dark( - var(--hap-color-border-brand-onlight), - var(--hap-color-border-brand-ondarkonly) + var(--hap-color-border-brand-on-light), + var(--hap-color-border-brand-on-dark-only) ); } } @@ -161,50 +161,50 @@ /* same as secondary but without borders in some states */ &.tertiary { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondark) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark) ); background-color: none; &:hover { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondarkonly) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark-only) ); background-color: light-dark( - var(--hap-color-interactions-onlight-hovered), - var(--hap-color-interactions-ondarkonly-hovered) + var(--hap-color-interactions-on-light-hovered), + var(--hap-color-interactions-on-dark-only-hovered) ); } &:focus, &:focus-visible { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondarkonly) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark-only) ); box-shadow: inset 0 0 0 2px light-dark( - var(--hap-color-border-focused-onlight), - var(--hap-color-border-focused-ondark) + var(--hap-color-border-focused-on-light), + var(--hap-color-border-focused-on-dark) ); } &:active { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondarkonly) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark-only) ); background-color: light-dark( - var(--hap-color-interactions-onlight-pressed), - var(--hap-color-interactions-ondarkonly-pressed) + var(--hap-color-interactions-on-light-pressed), + var(--hap-color-interactions-on-dark-only-pressed) ); } &:disabled { color: light-dark( - var(--hap-color-text-brand-onlight), - var(--hap-color-text-brand-ondarkonly) + var(--hap-color-text-brand-on-light), + var(--hap-color-text-brand-on-dark-only) ); background-color: none; } @@ -216,8 +216,8 @@ var(--hap-color-feedback-critical-light) ); background-color: light-dark( - var(--hap-color-button-destructive-onlight-default), - var(--hap-color-button-destructive-ondark-default) + var(--hap-color-button-destructive-on-light-default), + var(--hap-color-button-destructive-on-dark-default) ); &:hover { @@ -226,8 +226,8 @@ var(--hap-color-feedback-critical-light) ); background-color: light-dark( - var(--hap-color-button-destructive-onlight-hovered), - var(--hap-color-button-destructive-ondark-hovered) + var(--hap-color-button-destructive-on-light-hovered), + var(--hap-color-button-destructive-on-dark-hovered) ); } @@ -238,13 +238,13 @@ var(--hap-color-feedback-critical-light) ); background-color: light-dark( - var(--hap-color-button-destructive-onlight-hovered), - var(--hap-color-button-destructive-ondark-hovered) + var(--hap-color-button-destructive-on-light-hovered), + var(--hap-color-button-destructive-on-dark-hovered) ); box-shadow: inset 0 0 0 2px light-dark( - var(--hap-color-border-focused-onlight), - var(--hap-color-border-focused-ondark) + var(--hap-color-border-focused-on-light), + var(--hap-color-border-focused-on-dark) ); } @@ -254,8 +254,8 @@ var(--hap-color-feedback-critical-light) ); background-color: light-dark( - var(--hap-color-button-destructive-onlight-pressed), - var(--hap-color-button-destructive-ondark-pressed) + var(--hap-color-button-destructive-on-light-pressed), + var(--hap-color-button-destructive-on-dark-pressed) ); } @@ -265,8 +265,8 @@ var(--hap-color-feedback-critical-light) ); background-color: light-dark( - var(--hap-color-button-destructive-onlight-default), - var(--hap-color-button-destructive-ondark-default) + var(--hap-color-button-destructive-on-light-default), + var(--hap-color-button-destructive-on-dark-default) ); } } diff --git a/packages/foundation/src/elements/typography.css b/packages/foundation/src/elements/typography.css index b82cc19..b04f2c8 100644 --- a/packages/foundation/src/elements/typography.css +++ b/packages/foundation/src/elements/typography.css @@ -1,97 +1,97 @@ /* Headings */ -.hap-h1 { - color: var(--hap-color-text-primary-onlight); +.hap-headline-3xl { + color: var(--hap-color-text-primary-on-light); font-family: var(--hap-typography-font-family-heading); - font-size: var(--hap-typography-font-size-h1); - font-weight: var(--hap-typography-font-weight-bold); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-h1); + font-size: var(--hap-typography-font-size-headline-3-xl); + font-weight: var(--hap-typography-font-weight-medium); + letter-spacing: var(--hap-typography-letter-spacing-xs); + line-height: var(--hap-typography-line-height-headline-3-xl); } -.hap-h2 { - color: var(--hap-color-text-primary-onlight); +.hap-headline-2xl { + color: var(--hap-color-text-primary-on-light); font-family: var(--hap-typography-font-family-heading); - font-size: var(--hap-typography-font-size-h2); + font-size: var(--hap-typography-font-size-headline-2-xl); font-weight: var(--hap-typography-font-weight-medium); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-h2); + letter-spacing: var(--hap-typography-letter-spacing-xs); + line-height: var(--hap-typography-line-height-headline-2-xl); } -.hap-h3 { - color: var(--hap-color-text-primary-onlight); +.hap-headline-xl { + color: var(--hap-color-text-primary-on-light); font-family: var(--hap-typography-font-family-heading); - font-size: var(--hap-typography-font-size-h3); + font-size: var(--hap-typography-font-size-headline-xl); font-weight: var(--hap-typography-font-weight-medium); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-h3); + letter-spacing: var(--hap-typography-letter-spacing-s); + line-height: var(--hap-typography-line-height-headline-xl); } -.hap-h4 { - color: var(--hap-color-text-primary-onlight); +.hap-headline-lg { + color: var(--hap-color-text-primary-on-light); font-family: var(--hap-typography-font-family-heading); - font-size: var(--hap-typography-font-size-h4); + font-size: var(--hap-typography-font-size-headline-lg); font-weight: var(--hap-typography-font-weight-medium); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-h4); + letter-spacing: var(--hap-typography-letter-spacing-s); + line-height: var(--hap-typography-line-height-headline-lg); } -.hap-h5 { - color: var(--hap-color-text-primary-onlight); +.hap-headline-md { + color: var(--hap-color-text-primary-on-light); font-family: var(--hap-typography-font-family-heading); - font-size: var(--hap-typography-font-size-h5); + font-size: var(--hap-typography-font-size-headline-md); font-weight: var(--hap-typography-font-weight-medium); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-h5); + letter-spacing: var(--hap-typography-letter-spacing-md); + line-height: var(--hap-typography-line-height-headline-md); } -.hap-h6 { - color: var(--hap-color-text-primary-onlight); +.hap-headline-sm { + color: var(--hap-color-text-primary-on-light); font-family: var(--hap-typography-font-family-heading); - font-size: var(--hap-typography-font-size-h6); + font-size: var(--hap-typography-font-size-headline-sm); font-weight: var(--hap-typography-font-weight-medium); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-h6); + letter-spacing: var(--hap-typography-letter-spacing-lg); + line-height: var(--hap-typography-line-height-headline-sm); } /* Body text */ -.hap-text-large { - color: var(--hap-color-text-primary-onlight); +.hap-text { + color: var(--hap-color-text-primary-on-light); font-family: var(--hap-typography-font-family-body); - font-size: var(--hap-typography-font-size-h5); + font-size: var(--hap-typography-font-size-bodytext-standard); font-weight: var(--hap-typography-font-weight-regular); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-h6); + letter-spacing: var(--hap-typography-letter-spacing-md); + line-height: var(--hap-typography-line-height-bodytext-standard-singleline); } -.hap-text { - color: var(--hap-color-text-primary-onlight); - font-family: var(--hap-typography-font-family-body); +.hap-text-sm { + color: var(--hap-color-text-primary-on-light); + font-family: var(--hap-typography-font-family-bodytext-s); font-size: var(--hap-typography-font-size-body-regular); font-weight: var(--hap-typography-font-weight-regular); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-body-regular-singleline); + letter-spacing: var(--hap-typography-letter-spacing-lg); + line-height: var(--hap-typography-line-height-bodytext-s-singleline); } -.hap-text-small { - color: var(--hap-color-text-primary-onlight); +.hap-text-xs { + color: var(--hap-color-text-primary-on-light); font-family: var(--hap-typography-font-family-body); - font-size: var(--hap-typography-font-size-body-small); + font-size: var(--hap-typography-font-size-bodytext-xs); font-weight: var(--hap-typography-font-weight-regular); - letter-spacing: normal; - line-height: var(--hap-typography-line-height-body-small-singleline); + letter-spacing: var(--hap-typography-letter-spacing-xl); + line-height: var(--hap-typography-line-height-bodytext-xs-singleeline); } /* Rounded Dots for all typography levels */ -.hap-h1, -.hap-h2, -.hap-h3, -.hap-h4, -.hap-h5, -.hap-h6, +.hap-headline-3xl, +.hap-headline-2xl, +.hap-headline-xl, +.hap-headline-lg, +.hap-headline-md, +.hap-headline-sm, .hap-text, -.hap-text-large, -.hap-text-small { +.hap-text-sm, +.hap-text-xs { font-feature-settings: "ss11" 1; } diff --git a/packages/foundation/terrazzo.config.mjs b/packages/foundation/terrazzo.config.mjs new file mode 100644 index 0000000..c123d42 --- /dev/null +++ b/packages/foundation/terrazzo.config.mjs @@ -0,0 +1,18 @@ +import { defineConfig } from "@terrazzo/cli"; +import css from "@terrazzo/plugin-css"; +import { makeCSSVar } from "@terrazzo/token-tools/css"; + +export default defineConfig({ + tokens: ["./atomic-playfulness.tokens.json"], + outDir: "./dist", + plugins: [ + css({ + filename: "tokens.css", + variableName: (id) => { + let name = makeCSSVar(id, { prefix: "hap" }); + name = name.replace("hap-tokens", "hap"); + return name; + }, + }), + ], +}); diff --git a/packages/foundation/tokens.config.mjs b/packages/foundation/tokens.config.mjs deleted file mode 100644 index 378f3ad..0000000 --- a/packages/foundation/tokens.config.mjs +++ /dev/null @@ -1,53 +0,0 @@ -import pluginCSS, { - defaultNameGenerator, - makeNameGenerator, -} from "@cobalt-ui/plugin-css"; - -const prefix = "hap"; - -/** @type {import("@cobalt-ui/core").Config} */ -export default { - tokens: "./atomic-playfulness.tokens.json", - outDir: "./dist", - plugins: [ - pluginCSS({ - generateName: makeNameGenerator((id) => { - // Remove "Tokens" from variable names for better usage and to match Figma's inspector - return defaultNameGenerator(id, prefix) - .toLowerCase() - .replace("hap-tokens", "hap"); - }, prefix), - transform: (token) => { - if (token.$type === "string") { - return token.value; - } - - // opacity values in figma range from 0 to 100 - if ( - token.$type === "dimension" && - token.id.toLowerCase().includes("opacity") - ) { - const sanitizedOpacity = Number( - token.$value.replace(/[^\d,.]+/g, ""), - ).toFixed(2); - - return Number(sanitizedOpacity) / 100; - } - - // letter-spacing values in figma are decimals - if ( - token.$type === "dimension" && - token.id.toLowerCase().includes("letter-spacing") - ) { - const sanitizedLetterSpacing = Number( - token.$value.replace(/[^\d-,.]+/g, ""), - ).toFixed(2); - - return Number(sanitizedLetterSpacing); - } - - return void 0; - }, - }), - ], -};