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;
- },
- }),
- ],
-};