From 5f3cbf1edd60e8bfd8f2866b50fc658939141bde Mon Sep 17 00:00:00 2001 From: Vincent Massaro Date: Mon, 23 Sep 2024 22:17:30 -0400 Subject: [PATCH 01/26] feat: update semantic-release to ^24 --- package-lock.json | 1004 ++++++++++++++++++--------------------------- package.json | 7 +- 2 files changed, 405 insertions(+), 606 deletions(-) diff --git a/package-lock.json b/package-lock.json index 40a6a2cc7..fb07efac8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@yalesites-org/eslint-config-and-other-formatting": "^1.5.4", - "semantic-release": "^23.0.8" + "semantic-release": "^24.1.1" } }, "node_modules/@babel/code-frame": { @@ -802,15 +802,24 @@ "node": ">=12" } }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, "node_modules/@semantic-release/commit-analyzer": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-12.0.0.tgz", - "integrity": "sha512-qG+md5gdes+xa8zP7lIo1fWE17zRdO8yMCaxh9lyL65TQleoSv8WHHOqRURfghTytUh+NpkSyBprQ5hrkxOKVQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz", + "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==", "dev": true, + "license": "MIT", "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-filter": "^4.0.0", - "conventional-commits-parser": "^5.0.0", + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "import-from-esm": "^1.0.3", "lodash-es": "^4.17.21", @@ -824,75 +833,42 @@ } }, "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", + "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, + "license": "ISC", "dependencies": { "compare-func": "^2.0.0" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", + "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", "dev": true, + "license": "MIT", "dependencies": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" + "meow": "^13.0.0" }, "bin": { - "conventional-commits-parser": "cli.mjs" + "conventional-commits-parser": "dist/cli/index.js" }, "engines": { - "node": ">=16" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", - "dev": true, - "dependencies": { - "text-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" + "node": ">=18" } }, "node_modules/@semantic-release/commit-analyzer/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true, - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/text-extensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", - "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1265,21 +1241,22 @@ } }, "node_modules/@semantic-release/release-notes-generator": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-13.0.0.tgz", - "integrity": "sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz", + "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==", "dev": true, + "license": "MIT", "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-changelog-writer": "^7.0.0", - "conventional-commits-filter": "^4.0.0", - "conventional-commits-parser": "^5.0.0", + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "get-stream": "^7.0.0", "import-from-esm": "^1.0.3", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", - "read-pkg-up": "^11.0.0" + "read-package-up": "^11.0.0" }, "engines": { "node": ">=20.8.1" @@ -1289,33 +1266,32 @@ } }, "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", + "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, + "license": "ISC", "dependencies": { "compare-func": "^2.0.0" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@semantic-release/release-notes-generator/node_modules/conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", + "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", "dev": true, + "license": "MIT", "dependencies": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" + "meow": "^13.0.0" }, "bin": { - "conventional-commits-parser": "cli.mjs" + "conventional-commits-parser": "dist/cli/index.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { @@ -1323,6 +1299,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -1330,113 +1307,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", - "dev": true, - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", - "dev": true, - "dependencies": { - "text-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/@semantic-release/release-notes-generator/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, - "engines": { - "node": ">=16.10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/normalize-package-data": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", - "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", - "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@semantic-release/release-notes-generator/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/@semantic-release/release-notes-generator/node_modules/read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg-up": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-11.0.0.tgz", - "integrity": "sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==", - "deprecated": "Renamed to read-package-up", - "dev": true, - "dependencies": { - "find-up-simple": "^1.0.0", - "read-pkg": "^9.0.0", - "type-fest": "^4.6.0" - }, + "license": "MIT", "engines": { "node": ">=18" }, @@ -1444,39 +1320,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/release-notes-generator/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/text-extensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", - "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/type-fest": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.2.tgz", - "integrity": "sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", @@ -1815,6 +1658,13 @@ "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", "inBundle": true }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/source-list-map": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz", @@ -4607,57 +4457,44 @@ } }, "node_modules/conventional-changelog-writer": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", - "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz", + "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==", "dev": true, + "license": "MIT", "dependencies": { - "conventional-commits-filter": "^4.0.0", + "@types/semver": "^7.5.5", + "conventional-commits-filter": "^5.0.0", "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "meow": "^12.0.1", - "semver": "^7.5.2", - "split2": "^4.0.0" + "meow": "^13.0.0", + "semver": "^7.5.2" }, "bin": { - "conventional-changelog-writer": "cli.mjs" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/conventional-changelog-writer/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" + "conventional-changelog-writer": "dist/cli/index.js" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/conventional-changelog-writer/node_modules/meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=16.10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4665,28 +4502,14 @@ "node": ">=10" } }, - "node_modules/conventional-changelog-writer/node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true, - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/conventional-changelog-writer/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/conventional-commits-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", - "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", + "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/conventional-commits-parser": { @@ -7985,6 +7808,7 @@ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", @@ -9214,6 +9038,7 @@ "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz", "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4", "import-meta-resolve": "^4.0.0" @@ -9236,6 +9061,7 @@ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9328,6 +9154,7 @@ "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", "dev": true, + "license": "MIT", "dependencies": { "from2": "^2.3.0", "p-is-promise": "^3.0.0" @@ -10074,12 +9901,6 @@ "dev": true, "peer": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, "node_modules/json5": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", @@ -10111,13 +9932,15 @@ "dev": true, "engines": [ "node >= 0.2.0" - ] + ], + "peer": true }, "node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, + "peer": true, "dependencies": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -14697,6 +14520,7 @@ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -14878,6 +14702,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -15695,6 +15532,22 @@ "node": ">=6.0.0" } }, + "node_modules/pretty-ms": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", + "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -16627,27 +16480,28 @@ "inBundle": true }, "node_modules/semantic-release": { - "version": "23.0.8", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.8.tgz", - "integrity": "sha512-yZkuWcTTfh5h/DrR4Q4QvJSARJdb6wjwn/sN0qKMYEkvwaVFek8YWfrgtL8oWaRdl0fLte0Y1wWMzLbwoaII1g==", + "version": "24.1.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.1.1.tgz", + "integrity": "sha512-4Ax2GxD411jUe9IdhOjMLuN+6wAj+aKjvOGngByrpD/iKL+UKN/2puQglhyI4gxNyy9XzEBMzBwbqpnEwbXGEg==", "dev": true, + "license": "MIT", "dependencies": { - "@semantic-release/commit-analyzer": "^12.0.0", + "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", "@semantic-release/github": "^10.0.0", "@semantic-release/npm": "^12.0.0", - "@semantic-release/release-notes-generator": "^13.0.0", + "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", "debug": "^4.0.0", "env-ci": "^11.0.0", - "execa": "^8.0.0", + "execa": "^9.0.0", "figures": "^6.0.0", "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", - "hosted-git-info": "^7.0.0", + "hosted-git-info": "^8.0.0", "import-from-esm": "^1.3.1", "lodash-es": "^4.17.21", "marked": "^12.0.0", @@ -16669,6 +16523,19 @@ "node": ">=20.8.1" } }, + "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -16696,35 +16563,44 @@ } }, "node_modules/semantic-release/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.4.0.tgz", + "integrity": "sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==", "dev": true, + "license": "MIT", "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" }, "engines": { - "node": ">=16.17" + "node": "^18.19.0 || >=20.5.0" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -16762,84 +16638,73 @@ } }, "node_modules/semantic-release/node_modules/hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz", + "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^10.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/semantic-release/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=16.17.0" + "node": ">=18.18.0" } }, - "node_modules/semantic-release/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "node_modules/semantic-release/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/semantic-release/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "node_modules/semantic-release/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "node_modules/semantic-release/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "ISC" }, - "node_modules/semantic-release/node_modules/onetime": { + "node_modules/semantic-release/node_modules/npm-run-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, + "license": "MIT", "dependencies": { - "mimic-fn": "^4.0.0" + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -16862,6 +16727,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -16886,6 +16752,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -16894,12 +16761,26 @@ } }, "node_modules/semantic-release/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -19948,10 +19829,11 @@ } }, "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, + "license": "BSD-2-Clause", "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" @@ -20988,7 +20870,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/worker-farm": { "version": "1.7.0", @@ -21202,6 +21085,19 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -21806,15 +21702,22 @@ "config-chain": "^1.1.11" } }, + "@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, "@semantic-release/commit-analyzer": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-12.0.0.tgz", - "integrity": "sha512-qG+md5gdes+xa8zP7lIo1fWE17zRdO8yMCaxh9lyL65TQleoSv8WHHOqRURfghTytUh+NpkSyBprQ5hrkxOKVQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz", + "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==", "dev": true, "requires": { - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-filter": "^4.0.0", - "conventional-commits-parser": "^5.0.0", + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "import-from-esm": "^1.0.3", "lodash-es": "^4.17.21", @@ -21822,51 +21725,27 @@ }, "dependencies": { "conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", + "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, "requires": { "compare-func": "^2.0.0" } }, "conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", - "dev": true, - "requires": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" - } - }, - "is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", + "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", "dev": true, "requires": { - "text-extensions": "^2.0.0" + "meow": "^13.0.0" } }, "meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true - }, - "split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true - }, - "text-extensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", - "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true } } @@ -22115,42 +21994,39 @@ } }, "@semantic-release/release-notes-generator": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-13.0.0.tgz", - "integrity": "sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz", + "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==", "dev": true, "requires": { - "conventional-changelog-angular": "^7.0.0", - "conventional-changelog-writer": "^7.0.0", - "conventional-commits-filter": "^4.0.0", - "conventional-commits-parser": "^5.0.0", + "conventional-changelog-angular": "^8.0.0", + "conventional-changelog-writer": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "get-stream": "^7.0.0", "import-from-esm": "^1.0.3", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", - "read-pkg-up": "^11.0.0" + "read-package-up": "^11.0.0" }, "dependencies": { "conventional-changelog-angular": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", - "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", + "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, "requires": { "compare-func": "^2.0.0" } }, "conventional-commits-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", - "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", + "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", "dev": true, "requires": { - "is-text-path": "^2.0.0", - "JSONStream": "^1.3.5", - "meow": "^12.0.1", - "split2": "^4.0.0" + "meow": "^13.0.0" } }, "get-stream": { @@ -22159,99 +22035,10 @@ "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", "dev": true }, - "hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", - "dev": true, - "requires": { - "lru-cache": "^10.0.1" - } - }, - "is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", - "dev": true, - "requires": { - "text-extensions": "^2.0.0" - } - }, - "lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "dev": true - }, "meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", - "dev": true - }, - "normalize-package-data": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", - "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", - "dev": true, - "requires": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - } - }, - "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, - "requires": { - "@babel/code-frame": "^7.22.13", - "index-to-position": "^0.1.2", - "type-fest": "^4.7.1" - } - }, - "read-pkg": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", - "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.3", - "normalize-package-data": "^6.0.0", - "parse-json": "^8.0.0", - "type-fest": "^4.6.0", - "unicorn-magic": "^0.1.0" - } - }, - "read-pkg-up": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-11.0.0.tgz", - "integrity": "sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==", - "dev": true, - "requires": { - "find-up-simple": "^1.0.0", - "read-pkg": "^9.0.0", - "type-fest": "^4.6.0" - } - }, - "split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true - }, - "text-extensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", - "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", - "dev": true - }, - "type-fest": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.2.tgz", - "integrity": "sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true } } @@ -22520,6 +22307,12 @@ "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, "@types/source-list-map": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz", @@ -24579,61 +24372,36 @@ } }, "conventional-changelog-writer": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz", - "integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz", + "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==", "dev": true, "requires": { - "conventional-commits-filter": "^4.0.0", + "@types/semver": "^7.5.5", + "conventional-commits-filter": "^5.0.0", "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "meow": "^12.0.1", - "semver": "^7.5.2", - "split2": "^4.0.0" + "meow": "^13.0.0", + "semver": "^7.5.2" }, "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "meow": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", - "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true } } }, "conventional-commits-filter": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz", - "integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", + "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", "dev": true }, "conventional-commits-parser": { @@ -28450,12 +28218,6 @@ "dev": true, "peer": true }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, "json5": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", @@ -28478,13 +28240,15 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true + "dev": true, + "peer": true }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, + "peer": true, "requires": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -31780,6 +31544,12 @@ "lines-and-columns": "^1.1.6" } }, + "parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true + }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -32361,6 +32131,15 @@ "fast-diff": "^1.1.2" } }, + "pretty-ms": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", + "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", + "dev": true, + "requires": { + "parse-ms": "^4.0.0" + } + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -33027,27 +32806,27 @@ } }, "semantic-release": { - "version": "23.0.8", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.8.tgz", - "integrity": "sha512-yZkuWcTTfh5h/DrR4Q4QvJSARJdb6wjwn/sN0qKMYEkvwaVFek8YWfrgtL8oWaRdl0fLte0Y1wWMzLbwoaII1g==", + "version": "24.1.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.1.1.tgz", + "integrity": "sha512-4Ax2GxD411jUe9IdhOjMLuN+6wAj+aKjvOGngByrpD/iKL+UKN/2puQglhyI4gxNyy9XzEBMzBwbqpnEwbXGEg==", "dev": true, "requires": { - "@semantic-release/commit-analyzer": "^12.0.0", + "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", "@semantic-release/github": "^10.0.0", "@semantic-release/npm": "^12.0.0", - "@semantic-release/release-notes-generator": "^13.0.0", + "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", "debug": "^4.0.0", "env-ci": "^11.0.0", - "execa": "^8.0.0", + "execa": "^9.0.0", "figures": "^6.0.0", "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", - "hosted-git-info": "^7.0.0", + "hosted-git-info": "^8.0.0", "import-from-esm": "^1.3.1", "lodash-es": "^4.17.21", "marked": "^12.0.0", @@ -33063,6 +32842,12 @@ "yargs": "^17.5.1" }, "dependencies": { + "@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true + }, "cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -33076,27 +32861,34 @@ } }, "execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.4.0.tgz", + "integrity": "sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==", "dev": true, "requires": { + "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" }, "dependencies": { "get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "requires": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + } } } }, @@ -33120,54 +32912,46 @@ } }, "hosted-git-info": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", - "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz", + "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==", "dev": true, "requires": { "lru-cache": "^10.0.1" } }, "human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", "dev": true }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true }, - "lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, "npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, "requires": { - "mimic-fn": "^4.0.0" + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" } }, "p-reduce": { @@ -33195,9 +32979,15 @@ "dev": true }, "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true + }, + "unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true } } @@ -35397,9 +35187,9 @@ "peer": true }, "uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, "optional": true }, @@ -36339,6 +36129,12 @@ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "peer": true + }, + "yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true } } } diff --git a/package.json b/package.json index 0b3317025..747d6713b 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ }, "devDependencies": { "@yalesites-org/eslint-config-and-other-formatting": "^1.5.4", - "semantic-release": "^23.0.8" + "semantic-release": "^24.1.1" }, "lint-staged": { "components/**/*.{js,scss,php}": [ @@ -32,5 +32,8 @@ }, "dependencies": { "@yalesites-org/component-library-twig": "^1.44.0" - } + }, + "bundleDependencies": [ + "@yalesites-org/component-library-twig" + ] } From 07db901872fdb305441affd2e24a2b84a0017718 Mon Sep 17 00:00:00 2001 From: Vincent Massaro Date: Tue, 5 Nov 2024 12:09:13 -0500 Subject: [PATCH 02/26] chore: update to latest semantic-release --- package-lock.json | 205 +++++++++++++++++++++++++++------------------- 1 file changed, 119 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index fb07efac8..9646ef41a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -622,6 +622,7 @@ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 18" } @@ -631,6 +632,7 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", "@octokit/graphql": "^8.0.0", @@ -649,6 +651,7 @@ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/types": "^13.0.0", "universal-user-agent": "^7.0.2" @@ -662,6 +665,7 @@ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/request": "^9.0.0", "@octokit/types": "^13.0.0", @@ -675,15 +679,17 @@ "version": "22.2.0", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.0.tgz", - "integrity": "sha512-n4znWfRinnUQF6TPyxs7EctSAA3yVSP4qlJP2YgI3g9d4Ae2n5F3XDOjbUluKRxPU3rfsgpOboI4O4VtPc6Ilg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.5.tgz", + "integrity": "sha512-cgwIRtKrpwhLoBi0CUNuY83DPGRMaWVjqVI/bGKsLJ4PzyWZNaEmhHroI2xlrVXkk6nFv0IsZpOp+ZWSWUS2AQ==", "dev": true, + "license": "MIT", "dependencies": { - "@octokit/types": "^13.5.0" + "@octokit/types": "^13.6.0" }, "engines": { "node": ">= 18" @@ -693,10 +699,11 @@ } }, "node_modules/@octokit/plugin-retry": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.1.tgz", - "integrity": "sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", + "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/request-error": "^6.0.0", "@octokit/types": "^13.0.0", @@ -710,10 +717,11 @@ } }, "node_modules/@octokit/plugin-throttling": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.0.tgz", - "integrity": "sha512-B5YTToSRTzNSeEyssnrT7WwGhpIdbpV9NKIs3KyTWHX6PhpYn7gqF/+lL3BvsASBM3Sg5BAUYk7KZx5p/Ec77w==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.2.tgz", + "integrity": "sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/types": "^13.0.0", "bottleneck": "^2.15.3" @@ -726,10 +734,11 @@ } }, "node_modules/@octokit/request": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", - "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/endpoint": "^10.0.0", "@octokit/request-error": "^6.0.1", @@ -741,10 +750,11 @@ } }, "node_modules/@octokit/request-error": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", - "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.5.tgz", + "integrity": "sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/types": "^13.0.0" }, @@ -753,10 +763,11 @@ } }, "node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "version": "13.6.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz", + "integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/openapi-types": "^22.2.0" } @@ -884,10 +895,11 @@ } }, "node_modules/@semantic-release/github": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.0.3.tgz", - "integrity": "sha512-nSJQboKrG4xBn7hHpRMrK8lt5DgqJg50ZMz9UbrsfTxuRk55XVoQEadbGZ2L9M0xZAC6hkuwkDhQJKqfPU35Fw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.0.tgz", + "integrity": "sha512-Uon6G6gJD8U1JNvPm7X0j46yxNRJ8Ui6SgK4Zw5Ktu8RgjEft3BGn+l/RX1TTzhhO3/uUcKuqM+/9/ETFxWS/Q==", "dev": true, + "license": "MIT", "dependencies": { "@octokit/core": "^6.0.0", "@octokit/plugin-paginate-rest": "^11.0.0", @@ -910,7 +922,7 @@ "node": ">=20.8.1" }, "peerDependencies": { - "semantic-release": ">=20.1.0" + "semantic-release": ">=24.1.0" } }, "node_modules/@semantic-release/github/node_modules/dir-glob": { @@ -918,6 +930,7 @@ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -926,10 +939,11 @@ } }, "node_modules/@semantic-release/github/node_modules/globby": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", - "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, + "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^2.1.0", "fast-glob": "^3.3.2", @@ -950,6 +964,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -962,6 +977,7 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -1337,6 +1353,7 @@ "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -2036,6 +2053,7 @@ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -2649,7 +2667,8 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/bem-twig-extension": { "version": "0.1.1", @@ -3308,7 +3327,8 @@ "version": "2.19.5", "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -8201,6 +8221,7 @@ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -8216,10 +8237,11 @@ "inBundle": true }, "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, + "license": "MIT", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -9783,10 +9805,11 @@ } }, "node_modules/issue-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.0.tgz", - "integrity": "sha512-jgAw78HO3gs9UrKqJNQvfDj9Ouy8Mhu40fbEJ8yXff4MW8+/Fcn9iFjyWUQ6SKbX8ipPk3X5A3AyfYHRu6uVLw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", + "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, + "license": "MIT", "dependencies": { "lodash.capitalize": "^4.2.1", "lodash.escaperegexp": "^4.1.2", @@ -10288,25 +10311,29 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.map": { "version": "4.6.0", @@ -10332,7 +10359,8 @@ "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-update": { "version": "4.0.0", @@ -11003,13 +11031,14 @@ "inBundle": true }, "node_modules/mime": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.3.tgz", - "integrity": "sha512-KgUb15Oorc0NEKPbvfa0wRU+PItIEZmiv+pyAO2i0oTIVTJhlzMclU7w4RXWQrSOVH5ax/p/CkIO7KI4OyFJTQ==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.4.tgz", + "integrity": "sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==", "dev": true, "funding": [ "https://github.com/sponsors/broofa" ], + "license": "MIT", "bin": { "mime": "bin/cli.js" }, @@ -14484,6 +14513,7 @@ "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dev": true, + "license": "MIT", "dependencies": { "p-map": "^7.0.1" }, @@ -14499,6 +14529,7 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -16480,15 +16511,15 @@ "inBundle": true }, "node_modules/semantic-release": { - "version": "24.1.1", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.1.1.tgz", - "integrity": "sha512-4Ax2GxD411jUe9IdhOjMLuN+6wAj+aKjvOGngByrpD/iKL+UKN/2puQglhyI4gxNyy9XzEBMzBwbqpnEwbXGEg==", + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.0.tgz", + "integrity": "sha512-fQfn6e/aYToRtVJYKqneFM1Rg3KP2gh3wSWtpYsLlz6uaPKlISrTzvYAFn+mYWo07F0X1Cz5ucU89AVE8X1mbg==", "dev": true, "license": "MIT", "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^10.0.0", + "@semantic-release/github": "^11.0.0", "@semantic-release/npm": "^12.0.0", "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", @@ -19964,7 +19995,8 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/universalify": { "version": "2.0.1", @@ -20095,6 +20127,7 @@ "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -21609,18 +21642,18 @@ "dev": true }, "@octokit/plugin-paginate-rest": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.0.tgz", - "integrity": "sha512-n4znWfRinnUQF6TPyxs7EctSAA3yVSP4qlJP2YgI3g9d4Ae2n5F3XDOjbUluKRxPU3rfsgpOboI4O4VtPc6Ilg==", + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.5.tgz", + "integrity": "sha512-cgwIRtKrpwhLoBi0CUNuY83DPGRMaWVjqVI/bGKsLJ4PzyWZNaEmhHroI2xlrVXkk6nFv0IsZpOp+ZWSWUS2AQ==", "dev": true, "requires": { - "@octokit/types": "^13.5.0" + "@octokit/types": "^13.6.0" } }, "@octokit/plugin-retry": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.1.tgz", - "integrity": "sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", + "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", "dev": true, "requires": { "@octokit/request-error": "^6.0.0", @@ -21629,9 +21662,9 @@ } }, "@octokit/plugin-throttling": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.0.tgz", - "integrity": "sha512-B5YTToSRTzNSeEyssnrT7WwGhpIdbpV9NKIs3KyTWHX6PhpYn7gqF/+lL3BvsASBM3Sg5BAUYk7KZx5p/Ec77w==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.2.tgz", + "integrity": "sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw==", "dev": true, "requires": { "@octokit/types": "^13.0.0", @@ -21639,9 +21672,9 @@ } }, "@octokit/request": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", - "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", "dev": true, "requires": { "@octokit/endpoint": "^10.0.0", @@ -21651,18 +21684,18 @@ } }, "@octokit/request-error": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", - "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.5.tgz", + "integrity": "sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==", "dev": true, "requires": { "@octokit/types": "^13.0.0" } }, "@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "version": "13.6.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz", + "integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==", "dev": true, "requires": { "@octokit/openapi-types": "^22.2.0" @@ -21757,9 +21790,9 @@ "dev": true }, "@semantic-release/github": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.0.3.tgz", - "integrity": "sha512-nSJQboKrG4xBn7hHpRMrK8lt5DgqJg50ZMz9UbrsfTxuRk55XVoQEadbGZ2L9M0xZAC6hkuwkDhQJKqfPU35Fw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.0.tgz", + "integrity": "sha512-Uon6G6gJD8U1JNvPm7X0j46yxNRJ8Ui6SgK4Zw5Ktu8RgjEft3BGn+l/RX1TTzhhO3/uUcKuqM+/9/ETFxWS/Q==", "dev": true, "requires": { "@octokit/core": "^6.0.0", @@ -21790,9 +21823,9 @@ } }, "globby": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", - "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", "dev": true, "requires": { "@sindresorhus/merge-streams": "^2.1.0", @@ -27072,9 +27105,9 @@ "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" }, "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dev": true, "requires": { "agent-base": "^7.0.2", @@ -28126,9 +28159,9 @@ } }, "issue-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.0.tgz", - "integrity": "sha512-jgAw78HO3gs9UrKqJNQvfDj9Ouy8Mhu40fbEJ8yXff4MW8+/Fcn9iFjyWUQ6SKbX8ipPk3X5A3AyfYHRu6uVLw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", + "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, "requires": { "lodash.capitalize": "^4.2.1", @@ -29025,9 +29058,9 @@ } }, "mime": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.3.tgz", - "integrity": "sha512-KgUb15Oorc0NEKPbvfa0wRU+PItIEZmiv+pyAO2i0oTIVTJhlzMclU7w4RXWQrSOVH5ax/p/CkIO7KI4OyFJTQ==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.4.tgz", + "integrity": "sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==", "dev": true }, "mime-db": { @@ -32806,14 +32839,14 @@ } }, "semantic-release": { - "version": "24.1.1", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.1.1.tgz", - "integrity": "sha512-4Ax2GxD411jUe9IdhOjMLuN+6wAj+aKjvOGngByrpD/iKL+UKN/2puQglhyI4gxNyy9XzEBMzBwbqpnEwbXGEg==", + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.0.tgz", + "integrity": "sha512-fQfn6e/aYToRtVJYKqneFM1Rg3KP2gh3wSWtpYsLlz6uaPKlISrTzvYAFn+mYWo07F0X1Cz5ucU89AVE8X1mbg==", "dev": true, "requires": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^10.0.0", + "@semantic-release/github": "^11.0.0", "@semantic-release/npm": "^12.0.0", "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", From dee0c7914e22206ffaed07e6c6492c2025eb55fb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 21 Jun 2024 18:45:01 +0000 Subject: [PATCH 03/26] build: commit compiled component library --- .../component-library-twig/README.md | 129 + .../breakpoints/breakpoints.stories.js | 11 + .../00-tokens/breakpoints/breakpoints.twig | 34 + .../00-tokens/colors/_color-basic-themes.scss | 16 + .../colors/_color-component-themes.scss | 17 + .../colors/_color-global-themes.scss | 14 + .../00-tokens/colors/cl-colors.scss | 64 + .../00-tokens/colors/color-basic-themes.twig | 33 + .../color-component-theme-pairings.twig | 144 + .../colors/color-global-theme-pairings.twig | 146 + .../00-tokens/colors/color-global-themes.js | 14 + .../00-tokens/colors/color-global-themes.twig | 43 + .../00-tokens/colors/colors.stories.js | 403 + .../components/00-tokens/colors/colors.twig | 31 + .../00-tokens/effects/_effects.scss | 148 + .../components/00-tokens/effects/borders.twig | 17 + .../00-tokens/effects/cl-effects.scss | 63 + .../00-tokens/effects/effects.stories.js | 32 + .../components/00-tokens/effects/radii.twig | 22 + .../components/00-tokens/effects/shadows.twig | 30 + .../00-tokens/effects/yds-animate.js | 51 + .../components/00-tokens/functions/_map.scss | 19 + .../components/00-tokens/layout/_layout.scss | 138 + .../00-tokens/layout/cl-layout.scss | 3 + .../components/00-tokens/layout/yds-layout.js | 40 + .../00-tokens/spacing/spacing.stories.js | 14 + .../components/00-tokens/spacing/spacing.twig | 22 + .../components/00-tokens/tokens.scss | 9 + .../00-tokens/typography/_typography.scss | 162 + .../00-tokens/typography/body-styles.twig | 19 + .../00-tokens/typography/cl-typography.scss | 13 + .../00-tokens/typography/heading-styles.twig | 25 + .../00-tokens/typography/type-faces.twig | 15 + .../00-tokens/typography/type-faces.yml | 34 + .../00-tokens/typography/type-scale.twig | 14 + .../typography/typography.stories.js | 30 + .../00-tokens/utility/_utility.scss | 37 + .../components/01-atoms/atoms.scss | 18 + .../controls/base/yds-control-icon.twig | 30 + .../01-atoms/controls/base/yds-control.twig | 37 + .../01-atoms/controls/button/_yds-button.scss | 16 + .../01-atoms/controls/control.stories.js | 407 + .../controls/cta/_yds-cta-examples.twig | 5 + .../01-atoms/controls/cta/_yds-cta.scss | 353 + .../01-atoms/controls/cta/yds-cta.twig | 40 + .../_yds-text-copy-button.scss | 51 + .../text-copy-button/yds-text-copy-button.js | 35 + .../yds-text-copy-button.twig | 33 + .../controls/text-link/_yds-text-link.scss | 290 + .../controls/text-link/yds-text-link.js | 49 + .../controls/text-link/yds-text-link.twig | 59 + .../01-atoms/date-time/_yds-date-time.scss | 6 + .../01-atoms/date-time/yds-date-time.twig | 87 + .../01-atoms/divider/_yds-divider.scss | 43 + .../01-atoms/divider/cl-dividers.scss | 4 + .../01-atoms/divider/divider.stories.js | 87 + .../01-atoms/divider/yds-divider.twig | 40 + .../components/01-atoms/forms/_input.twig | 13 + .../components/01-atoms/forms/_textarea.twig | 24 + .../components/01-atoms/forms/_yds-form.scss | 66 + .../forms/checkbox/_yds-checkbox-item.twig | 5 + .../forms/checkbox/_yds-checkbox.scss | 8 + .../01-atoms/forms/checkbox/checkbox.yml | 6 + .../01-atoms/forms/checkbox/yds-checkbox.twig | 15 + .../01-atoms/forms/contact-form-example.twig | 21 + .../01-atoms/forms/forms.stories.js | 26 + .../01-atoms/forms/radio/_yds-radio-item.twig | 5 + .../01-atoms/forms/radio/_yds-radio.scss | 8 + .../components/01-atoms/forms/radio/radio.yml | 6 + .../01-atoms/forms/radio/yds-radio.twig | 15 + .../forms/select/_yds-select-item.twig | 1 + .../01-atoms/forms/select/_yds-select.scss | 89 + .../01-atoms/forms/select/select.yml | 6 + .../01-atoms/forms/select/yds-select.twig | 18 + .../forms/textfields/_yds-textfields.scss | 113 + .../forms/textfields/yds-textfields.twig | 34 + .../images/fa-icons/_yds-fa-icon.twig | 43 + .../images/fa-icons/_yds-fa-icons.scss | 14 + .../01-atoms/images/fa-icons/fa-icons.yml | 9 + .../images/fa-icons/yds-fa-icons.twig | 11 + .../01-atoms/images/icons/_yds-icon.twig | 40 + .../01-atoms/images/icons/_yds-icons.scss | 3 + .../01-atoms/images/icons/cl-icons.scss | 23 + .../01-atoms/images/icons/yds-icons.twig | 10 + .../01-atoms/images/image/_image.twig | 14 + .../01-atoms/images/image/_picture.twig | 13 + .../images/image/_responsive-image.twig | 32 + .../01-atoms/images/image/_yds-image.scss | 47 + .../01-atoms/images/image/cl-image.scss | 18 + .../01-atoms/images/image/figure.yml | 5 + .../01-atoms/images/image/image.yml | 37 + .../01-atoms/images/image/yds-image.twig | 27 + .../01-atoms/images/images.stories.js | 55 + .../01-atoms/lists/_yds-list-item.twig | 35 + .../components/01-atoms/lists/_yds-list.scss | 35 + .../components/01-atoms/lists/list.stories.js | 19 + .../components/01-atoms/lists/list.yml | 10 + .../components/01-atoms/lists/yds-list.twig | 27 + .../components/01-atoms/tables/_table.scss | 59 + .../01-atoms/tables/example-tables.twig | 121 + .../01-atoms/tables/table.stories.js | 9 + .../typography/headings/_yds-headings.scss | 64 + .../typography/headings/yds-heading.twig | 35 + .../01-atoms/typography/text/_yds-text.scss | 116 + .../01-atoms/typography/text/yds-text.js | 78 + .../01-atoms/typography/text/yds-text.twig | 19 + .../video-background.stories.js | 12 + .../video-background/video-background.yml | 1 + .../video-background/yds-video-background.js | 58 + .../yds-video-background.scss | 156 + .../yds-video-background.twig | 39 + .../videos/video-embed/_yds-video-embed.scss | 31 + .../videos/video-embed/video-embed.stories.js | 10 + .../videos/video-embed/video-embed.yml | 1 + .../videos/video-embed/yds-video-embed.twig | 18 + .../accordion/_yds-accordion-item.twig | 48 + .../accordion/_yds-accordion.scss | 125 + .../accordion/accordion.stories.js | 66 + .../02-molecules/accordion/accordion.yml | 3 + .../02-molecules/accordion/yds-accordion.js | 233 + .../02-molecules/accordion/yds-accordion.twig | 76 + .../02-molecules/alert/_yds-alert.scss | 181 + .../02-molecules/alert/alert.stories.js | 115 + .../components/02-molecules/alert/alert.yml | 4 + .../02-molecules/alert/yds-alert.js | 119 + .../02-molecules/alert/yds-alert.twig | 87 + .../banner/action/_yds-action-banner.scss | 352 + .../banner/action/yds-action-banner.twig | 100 + .../02-molecules/banner/banner.stories.js | 128 + .../components/02-molecules/banner/banner.yml | 6 + .../02-molecules/banner/grand-hero.yml | 6 + .../banner/grand-hero/_yds-grand-hero.scss | 279 + .../banner/grand-hero/yds-grand-hero.twig | 105 + .../02-molecules/callout/_yds-callout.scss | 205 + .../02-molecules/callout/_yds-callout.twig | 40 + .../02-molecules/callout/callout.stories.js | 94 + .../02-molecules/callout/callout.yml | 5 + .../02-molecules/callout/yds-callout.twig | 46 + .../cards/custom-card/_yds-custom-card.scss | 176 + .../cards/custom-card/custom-card.stories.js | 59 + .../cards/custom-card/custom-card.yml | 3 + .../cards/custom-card/yds-custom-card.js | 36 + .../cards/custom-card/yds-custom-card.twig | 45 + .../_yds-directory-listing-card.scss | 153 + .../directory-listing-card.stories.js | 82 + .../yds-directory-listing-card.twig | 71 + .../yds-directory-listing-card.yml | 7 + .../reference-card/_yds-reference-card.scss | 408 + .../event/_yds-event-format.twig | 5 + .../examples/_card--examples.twig | 78 + .../reference-card/examples/event-card.yml | 5 + .../reference-card/examples/post-card.yml | 4 + .../reference-card/examples/profile-card.yml | 4 + .../reference-card/reference-card.stories.js | 137 + .../reference-card/yds-reference-card.js | 36 + .../reference-card/yds-reference-card.twig | 62 + .../_yds-content-spotlight-portrait.scss | 220 + .../content-spotlight-portrait.stories.js | 95 + .../content-spotlight-portrait.yml | 6 + .../content-spotlights.js | 35 + .../yds-content-spotlight-portrait.twig | 79 + .../02-molecules/embed/_yds-embed.scss | 41 + .../02-molecules/embed/embed.stories.js | 83 + .../02-molecules/embed/yds-embed.twig | 31 + .../_yds-facts-and-figures.scss | 152 + .../facts-and-figures.stories.js | 102 + .../facts-and-figures/facts-and-figures.yml | 2 + .../yds-facts-and-figures.twig | 50 + .../image/_yds-content-image.scss | 12 + .../02-molecules/image/image.stories.js | 30 + .../02-molecules/image/yds-content-image.twig | 38 + .../link-grid/_yds-link-grid--links.twig | 10 + .../link-grid/_yds-link-grid.scss | 121 + .../link-grid/link-grid.stories.js | 28 + .../02-molecules/link-grid/link-grid.yml | 41 + .../02-molecules/link-grid/yds-link-grid.twig | 69 + .../link-group/_yds-link-group--links.twig | 10 + .../link-group/_yds-link-group.scss | 120 + .../link-group/link-group.stories.js | 23 + .../02-molecules/link-group/link-group.yml | 20 + .../link-group/yds-link-group.twig | 63 + .../link-skip/_yds-link-skip.scss | 22 + .../link-skip/link-skip.stories.js | 15 + .../02-molecules/link-skip/link-skip.yml | 2 + .../02-molecules/link-skip/yds-link-skip.twig | 17 + .../02-molecules/menu/_yds-menu-item.twig | 127 + .../02-molecules/menu/_yds-menu-list.twig | 25 + .../02-molecules/menu/_yds-menu.scss | 22 + .../menu/menu-toggle/_yds-menu-toggle.scss | 75 + .../menu/menu-toggle/yds-menu-toggle.js | 103 + .../menu/menu-toggle/yds-menu-toggle.twig | 17 + .../02-molecules/menu/yds-menu.twig | 60 + .../meta/basic-meta/_yds-basic-meta.scss | 30 + .../meta/basic-meta/yds-basic-meta.twig | 4 + .../meta/event-meta/_yds-event-meta.scss | 47 + .../meta/event-meta/yds-event-meta.twig | 118 + .../02-molecules/meta/meta.stories.js | 131 + .../meta/profile-meta/_yds-profile-meta.scss | 199 + .../meta/profile-meta/yds-profile-meta.twig | 68 + .../components/02-molecules/molecules.scss | 33 + .../page-title/_yds-page-title.scss | 24 + .../02-molecules/page-title/page-title.js | 12 + .../page-title/page-title.stories.js | 36 + .../page-title/yds-page-title.twig | 38 + .../02-molecules/pager/_yds-pager.scss | 96 + .../components/02-molecules/pager/cl-pager.js | 29 + .../pager/pager-first-and-last.yml | 28 + .../02-molecules/pager/pager-first.yml | 20 + .../02-molecules/pager/pager-last.yml | 24 + .../02-molecules/pager/pager.stories.js | 23 + .../components/02-molecules/pager/pager.yml | 18 + .../02-molecules/pager/yds-pager.twig | 79 + .../pull-quote/_yds-pull-quote.scss | 180 + .../pull-quote/pull-quote.stories.js | 60 + .../02-molecules/pull-quote/pull-quote.yml | 2 + .../pull-quote/yds-pull-quote.twig | 40 + .../quick-links/_yds-quick-links--links.twig | 10 + .../quick-links/_yds-quick-links.scss | 232 + .../quick-links/quick-links.stories.js | 42 + .../02-molecules/quick-links/quick-links.yml | 15 + .../quick-links/yds-quick-links.twig | 68 + .../quote-callout/_yds-quote-callout.scss | 298 + .../quote-callout/quote-callout.stories.js | 101 + .../quote-callout/quote-callout.yml | 2 + .../quote-callout/yds-quote-callout.twig | 53 + .../search-result/_yds-search-result.scss | 52 + .../search-result/breadcrumbs.yml | 10 + .../search-result/search-result.yml | 3 + .../yds-search-result.stories.js | 39 + .../search-result/yds-search-result.twig | 42 + .../_yds-social-link__content.twig | 17 + .../social-links/_yds-social-links.scss | 49 + .../social-links/social-links.stories.js | 12 + .../social-links/social-links.yml | 19 + .../social-links/yds-social-links.twig | 24 + .../02-molecules/tabs/_yds-tab-content.twig | 22 + .../02-molecules/tabs/_yds-tab-label.twig | 16 + .../02-molecules/tabs/_yds-tabs.scss | 226 + .../02-molecules/tabs/tabs.stories.js | 15 + .../components/02-molecules/tabs/tabs.yml | 49 + .../components/02-molecules/tabs/yds-tabs.js | 307 + .../02-molecules/tabs/yds-tabs.twig | 76 + .../text-with-image/_yds-text-with-image.scss | 207 + .../text-with-image.stories.js | 97 + .../text-with-image/text-with-image.yml | 6 + .../text-with-image/yds-text-with-image.twig | 79 + .../02-molecules/text/_yds-text-field.scss | 24 + .../02-molecules/text/text-field.yml | 34 + .../02-molecules/text/typography.stories.js | 29 + .../02-molecules/text/yds-text-field.twig | 23 + .../tile-item/_yds-tile-item.scss | 210 + .../tile-item/tile-item.stories.js | 125 + .../02-molecules/tile-item/tile-item.yml | 2 + .../02-molecules/tile-item/yds-tile-item.twig | 71 + .../02-molecules/video/_yds-video.scss | 31 + .../02-molecules/video/video.stories.js | 34 + .../components/02-molecules/video/video.yml | 3 + .../02-molecules/video/yds-video.twig | 49 + .../wrapped-image/_yds-wrapped-image.scss | 122 + .../wrapped-image/wrapped-image.stories.js | 49 + .../wrapped-image/wrapped-image.yml | 2 + .../wrapped-image/yds-wrapped-image.twig | 50 + .../components/03-organisms/_grid-mixins.scss | 113 + .../components/03-organisms/_list-mixins.scss | 23 + .../block-wrapper/_yds-block-wrapper.scss | 15 + .../block-wrapper/block-wrapper.stories.js | 23 + .../block-wrapper/yds-block-wrapper.twig | 23 + .../card-collection/_yds-card-collection.scss | 72 + .../card-collection.stories.js | 155 + .../card-collection/yds-card-collection.twig | 57 + .../_yds-component-wrapper.scss | 22 + .../component-wrapper.stories.js | 25 + .../yds-component-wrapper.twig | 27 + .../_yds-custom-card-collection.scss | 38 + .../custom-card-collection.stories.js | 77 + .../yds-custom-card-collection.twig | 42 + .../_yds-facts-and-figures-group.scss | 212 + .../facts-and-figures-group.stories.js | 123 + .../facts-and-figures-group.yml | 17 + .../yds-facts-and-figures-group.twig | 87 + .../03-organisms/galleries/gallery.stories.js | 45 + .../media-grid/_yds-media-grid-item.twig | 37 + .../_yds-media-grid-modal-item--content.twig | 51 + .../_yds-media-grid-modal-item.twig | 98 + .../media-grid/_yds-media-grid-modal.scss | 389 + .../galleries/media-grid/_yds-media-grid.scss | 137 + .../galleries/media-grid/media-grid.yml | 62 + .../media-grid/yds-media-grid-interactive.js | 417 + .../galleries/media-grid/yds-media-grid.twig | 53 + .../03-organisms/layout/layout.stories.js | 17 + .../two-column/_two-column--example.twig | 9 + .../layout/two-column/_yds-two-column.scss | 54 + .../layout/two-column/yds-two-column.twig | 32 + .../menu/breadcrumbs/_yds-breadcrumbs.scss | 199 + .../menu/breadcrumbs/breadcrumbs.stories.js | 15 + .../menu/breadcrumbs/breadcrumbs.yml | 18 + .../menu/breadcrumbs/yds-breadcrumbs.js | 235 + .../menu/breadcrumbs/yds-breadcrumbs.twig | 88 + .../menu/primary-nav/_yds-primary-nav.scss | 468 + .../menu/primary-nav/primary-nav.stories.js | 42 + .../menu/primary-nav/primary-nav.yml | 93 + .../menu/primary-nav/yds-primary-nav.js | 89 + .../menu/primary-nav/yds-primary-nav.twig | 10 + .../menu/utility-nav/_utility-nav--menu.twig | 7 + .../menu/utility-nav/_yds-utility-nav.scss | 132 + .../menu/utility-nav/utility-nav.stories.js | 12 + .../menu/utility-nav/utility-nav.yml | 11 + .../menu/utility-nav/yds-utility-nav.twig | 46 + .../components/03-organisms/organisms.scss | 14 + .../site-footer/_site-footer--examples.twig | 9 + .../site-footer/_site-footer-basic.twig | 52 + .../site-footer/_site-footer-mega.twig | 81 + .../site-footer/_yds-site-footer.scss | 343 + .../site-footer/site-footer.stories.js | 113 + .../site-footer/yds-site-footer.twig | 34 + .../site-header/_site-header--examples.twig | 9 + .../site-header/_site-header--secondary.twig | 14 + .../site-header/_site-header-default.twig | 13 + .../site-header/_site-header-simple.twig | 1 + .../site-header/_yds-site-header.scss | 519 + .../site-header/site-header.stories.js | 160 + .../site-header/yds-site-header.js | 47 + .../site-header/yds-site-header.twig | 161 + .../03-organisms/tiles/_yds-tiles.scss | 98 + .../03-organisms/tiles/tiles.stories.js | 86 + .../components/03-organisms/tiles/tiles.yml | 21 + .../03-organisms/tiles/yds-tiles.twig | 49 + .../components/04-page-layouts/_yds-base.twig | 42 + .../04-page-layouts/cl-page-args.js | 69 + .../04-page-layouts/page-layouts.scss | 69 + .../04-page-layouts/page-layouts.stories.js | 43 + .../placeholder/cl-placeholder.scss | 23 + .../placeholder/placeholder.stories.js | 8 + .../placeholder/yds-placeholder.twig | 17 + .../04-page-layouts/yds-full-width.twig | 1 + .../_intro-content-examples.twig | 57 + .../events/_event-collection--example.twig | 47 + .../05-page-examples/events/event-grid.twig | 32 + .../05-page-examples/events/event-list.twig | 22 + .../05-page-examples/events/event-page.twig | 49 + .../05-page-examples/events/events.stories.js | 247 + .../miscellaneous/accordion-page.twig | 64 + .../miscellaneous-page.stories.js | 127 + .../miscellaneous/qualtrics-embed.twig | 13 + .../05-page-examples/post/post-article.twig | 86 + .../05-page-examples/post/post-grid.twig | 64 + .../05-page-examples/post/post.stories.js | 93 + .../05-page-examples/profiles/profile.twig | 154 + .../profiles/profiles.stories.js | 112 + .../standard-pages/standard-page-short.twig | 11 + .../standard-page-spotlights.twig | 150 + .../standard-page-with-banner-left-align.twig | 226 + .../standard-page-with-banner.twig | 211 + .../standard-page-with-quicklinks.twig | 16 + .../standard-page-with-sidebar.twig | 53 + .../standard-page-with-video.twig | 46 + .../standard-pages/standard-page.stories.js | 537 + .../standard-pages/standard-page.twig | 89 + .../components/_settings/_config.css | 49 + .../components/_settings/config.js | 40 + .../components/_settings/config.stories.js | 251 + .../components/_settings/config.twig | 48 + .../components/style.scss | 27 + .../component-library-twig/dist/css.js | 1 + .../fonts/fontawesome/css/fontawesome.css | 12940 ++++++++++++++++ .../fonts/fontawesome/css/fontawesome.min.css | 6 + .../dist/fonts/fontawesome/css/regular.css | 19 + .../fonts/fontawesome/css/regular.min.css | 6 + .../dist/fonts/fontawesome/css/solid.css | 19 + .../dist/fonts/fontawesome/css/solid.min.css | 6 + .../fontawesome/webfonts/fa-regular-400.ttf | Bin 0 -> 989124 bytes .../fontawesome/webfonts/fa-regular-400.woff2 | Bin 0 -> 395064 bytes .../fontawesome/webfonts/fa-solid-900.ttf | Bin 0 -> 890704 bytes .../fontawesome/webfonts/fa-solid-900.woff2 | Bin 0 -> 320080 bytes .../component-library-twig/dist/icons.svg | 5 + .../00-tokens/colors/color-global-themes.js | 1 + .../dist/js/00-tokens/effects/yds-animate.js | 1 + .../dist/js/00-tokens/layout/yds-layout.js | 1 + .../text-copy-button/yds-text-copy-button.js | 1 + .../controls/text-link/yds-text-link.js | 1 + .../js/01-atoms/typography/text/yds-text.js | 1 + .../video-background/yds-video-background.js | 1 + .../02-molecules/accordion/yds-accordion.js | 1 + .../dist/js/02-molecules/alert/yds-alert.js | 1 + .../cards/custom-card/yds-custom-card.js | 1 + .../reference-card/yds-reference-card.js | 1 + .../content-spotlights.js | 1 + .../menu/menu-toggle/yds-menu-toggle.js | 1 + .../js/02-molecules/page-title/page-title.js | 1 + .../dist/js/02-molecules/pager/cl-pager.js | 1 + .../dist/js/02-molecules/tabs/yds-tabs.js | 1 + .../media-grid/yds-media-grid-interactive.js | 1 + .../menu/breadcrumbs/yds-breadcrumbs.js | 1 + .../menu/primary-nav/yds-primary-nav.js | 1 + .../site-header/yds-site-header.js | 1 + .../dist/js/04-page-layouts/cl-page-args.js | 1 + .../dist/js/_settings/config.js | 1 + .../component-library-twig/dist/js/ys-link.js | 1 + .../component-library-twig/dist/style.css | 494 + .../component-library-twig/dist/svgSprite.js | 1 + .../node_modules/highlight.js/CHANGES.md | 3340 ++++ .../node_modules/highlight.js/LICENSE | 29 + .../node_modules/highlight.js/README.md | 468 + .../node_modules/highlight.js/SECURITY.md | 19 + .../highlight.js/SUPPORTED_LANGUAGES.md | 264 + .../highlight.js/VERSION_10_UPGRADE.md | 58 + .../highlight.js/VERSION_11_UPGRADE.md | 203 + .../node_modules/highlight.js/es/common.d.ts | 3 + .../node_modules/highlight.js/es/common.js | 4 + .../node_modules/highlight.js/es/core.d.ts | 3 + .../node_modules/highlight.js/es/core.js | 4 + .../node_modules/highlight.js/es/index.js | 4 + .../highlight.js/es/languages/1c.js | 537 + .../highlight.js/es/languages/1c.js.js | 11 + .../highlight.js/es/languages/abnf.js | 82 + .../highlight.js/es/languages/abnf.js.js | 11 + .../highlight.js/es/languages/accesslog.js | 92 + .../highlight.js/es/languages/accesslog.js.js | 11 + .../highlight.js/es/languages/actionscript.js | 153 + .../es/languages/actionscript.js.js | 11 + .../highlight.js/es/languages/ada.js | 265 + .../highlight.js/es/languages/ada.js.js | 11 + .../highlight.js/es/languages/angelscript.js | 178 + .../es/languages/angelscript.js.js | 11 + .../highlight.js/es/languages/apache.js | 101 + .../highlight.js/es/languages/apache.js.js | 11 + .../highlight.js/es/languages/applescript.js | 149 + .../es/languages/applescript.js.js | 11 + .../highlight.js/es/languages/arcade.js | 361 + .../highlight.js/es/languages/arcade.js.js | 11 + .../highlight.js/es/languages/arduino.js | 970 ++ .../highlight.js/es/languages/arduino.js.js | 11 + .../highlight.js/es/languages/armasm.js | 124 + .../highlight.js/es/languages/armasm.js.js | 11 + .../highlight.js/es/languages/asciidoc.js | 261 + .../highlight.js/es/languages/asciidoc.js.js | 11 + .../highlight.js/es/languages/aspectj.js | 230 + .../highlight.js/es/languages/aspectj.js.js | 11 + .../highlight.js/es/languages/autohotkey.js | 75 + .../es/languages/autohotkey.js.js | 11 + .../highlight.js/es/languages/autoit.js | 178 + .../highlight.js/es/languages/autoit.js.js | 11 + .../highlight.js/es/languages/avrasm.js | 78 + .../highlight.js/es/languages/avrasm.js.js | 11 + .../highlight.js/es/languages/awk.js | 67 + .../highlight.js/es/languages/awk.js.js | 11 + .../highlight.js/es/languages/axapta.js | 188 + .../highlight.js/es/languages/axapta.js.js | 11 + .../highlight.js/es/languages/bash.js | 391 + .../highlight.js/es/languages/bash.js.js | 11 + .../highlight.js/es/languages/basic.js | 229 + .../highlight.js/es/languages/basic.js.js | 11 + .../highlight.js/es/languages/bnf.js | 38 + .../highlight.js/es/languages/bnf.js.js | 11 + .../highlight.js/es/languages/brainfuck.js | 54 + .../highlight.js/es/languages/brainfuck.js.js | 11 + .../highlight.js/es/languages/c.js | 318 + .../highlight.js/es/languages/c.js.js | 11 + .../highlight.js/es/languages/cal.js | 159 + .../highlight.js/es/languages/cal.js.js | 11 + .../highlight.js/es/languages/capnproto.js | 99 + .../highlight.js/es/languages/capnproto.js.js | 11 + .../highlight.js/es/languages/ceylon.js | 139 + .../highlight.js/es/languages/ceylon.js.js | 11 + .../highlight.js/es/languages/clean.js | 67 + .../highlight.js/es/languages/clean.js.js | 11 + .../highlight.js/es/languages/clojure-repl.js | 27 + .../es/languages/clojure-repl.js.js | 11 + .../highlight.js/es/languages/clojure.js | 184 + .../highlight.js/es/languages/clojure.js.js | 11 + .../highlight.js/es/languages/cmake.js | 63 + .../highlight.js/es/languages/cmake.js.js | 11 + .../highlight.js/es/languages/coffeescript.js | 366 + .../es/languages/coffeescript.js.js | 11 + .../highlight.js/es/languages/coq.js | 445 + .../highlight.js/es/languages/coq.js.js | 11 + .../highlight.js/es/languages/cos.js | 140 + .../highlight.js/es/languages/cos.js.js | 11 + .../highlight.js/es/languages/cpp.js | 568 + .../highlight.js/es/languages/cpp.js.js | 11 + .../highlight.js/es/languages/crmsh.js | 100 + .../highlight.js/es/languages/crmsh.js.js | 11 + .../highlight.js/es/languages/crystal.js | 311 + .../highlight.js/es/languages/crystal.js.js | 11 + .../highlight.js/es/languages/csharp.js | 400 + .../highlight.js/es/languages/csharp.js.js | 11 + .../highlight.js/es/languages/csp.js | 57 + .../highlight.js/es/languages/csp.js.js | 11 + .../highlight.js/es/languages/css.js | 738 + .../highlight.js/es/languages/css.js.js | 11 + .../highlight.js/es/languages/d.js | 271 + .../highlight.js/es/languages/d.js.js | 11 + .../highlight.js/es/languages/dart.js | 262 + .../highlight.js/es/languages/dart.js.js | 11 + .../highlight.js/es/languages/delphi.js | 230 + .../highlight.js/es/languages/delphi.js.js | 11 + .../highlight.js/es/languages/diff.js | 62 + .../highlight.js/es/languages/diff.js.js | 11 + .../highlight.js/es/languages/django.js | 75 + .../highlight.js/es/languages/django.js.js | 11 + .../highlight.js/es/languages/dns.js | 78 + .../highlight.js/es/languages/dns.js.js | 11 + .../highlight.js/es/languages/dockerfile.js | 44 + .../es/languages/dockerfile.js.js | 11 + .../highlight.js/es/languages/dos.js | 166 + .../highlight.js/es/languages/dos.js.js | 11 + .../highlight.js/es/languages/dsconfig.js | 66 + .../highlight.js/es/languages/dsconfig.js.js | 11 + .../highlight.js/es/languages/dts.js | 157 + .../highlight.js/es/languages/dts.js.js | 11 + .../highlight.js/es/languages/dust.js | 47 + .../highlight.js/es/languages/dust.js.js | 11 + .../highlight.js/es/languages/ebnf.js | 53 + .../highlight.js/es/languages/ebnf.js.js | 11 + .../highlight.js/es/languages/elixir.js | 279 + .../highlight.js/es/languages/elixir.js.js | 11 + .../highlight.js/es/languages/elm.js | 143 + .../highlight.js/es/languages/elm.js.js | 11 + .../highlight.js/es/languages/erb.js | 29 + .../highlight.js/es/languages/erb.js.js | 11 + .../highlight.js/es/languages/erlang-repl.js | 54 + .../es/languages/erlang-repl.js.js | 11 + .../highlight.js/es/languages/erlang.js | 191 + .../highlight.js/es/languages/erlang.js.js | 11 + .../highlight.js/es/languages/excel.js | 544 + .../highlight.js/es/languages/excel.js.js | 11 + .../highlight.js/es/languages/fix.js | 39 + .../highlight.js/es/languages/fix.js.js | 11 + .../highlight.js/es/languages/flix.js | 79 + .../highlight.js/es/languages/flix.js.js | 11 + .../highlight.js/es/languages/fortran.js | 573 + .../highlight.js/es/languages/fortran.js.js | 11 + .../highlight.js/es/languages/fsharp.js | 627 + .../highlight.js/es/languages/fsharp.js.js | 11 + .../highlight.js/es/languages/gams.js | 181 + .../highlight.js/es/languages/gams.js.js | 11 + .../highlight.js/es/languages/gauss.js | 306 + .../highlight.js/es/languages/gauss.js.js | 11 + .../highlight.js/es/languages/gcode.js | 80 + .../highlight.js/es/languages/gcode.js.js | 11 + .../highlight.js/es/languages/gherkin.js | 49 + .../highlight.js/es/languages/gherkin.js.js | 11 + .../highlight.js/es/languages/glsl.js | 128 + .../highlight.js/es/languages/glsl.js.js | 11 + .../highlight.js/es/languages/gml.js | 2816 ++++ .../highlight.js/es/languages/gml.js.js | 11 + .../highlight.js/es/languages/go.js | 141 + .../highlight.js/es/languages/go.js.js | 11 + .../highlight.js/es/languages/golo.js | 80 + .../highlight.js/es/languages/golo.js.js | 11 + .../highlight.js/es/languages/gradle.js | 189 + .../highlight.js/es/languages/gradle.js.js | 11 + .../highlight.js/es/languages/graphql.js | 78 + .../highlight.js/es/languages/graphql.js.js | 11 + .../highlight.js/es/languages/groovy.js | 189 + .../highlight.js/es/languages/groovy.js.js | 11 + .../highlight.js/es/languages/haml.js | 113 + .../highlight.js/es/languages/haml.js.js | 11 + .../highlight.js/es/languages/handlebars.js | 258 + .../es/languages/handlebars.js.js | 11 + .../highlight.js/es/languages/haskell.js | 217 + .../highlight.js/es/languages/haskell.js.js | 11 + .../highlight.js/es/languages/haxe.js | 166 + .../highlight.js/es/languages/haxe.js.js | 11 + .../highlight.js/es/languages/hsp.js | 59 + .../highlight.js/es/languages/hsp.js.js | 11 + .../highlight.js/es/languages/http.js | 97 + .../highlight.js/es/languages/http.js.js | 11 + .../highlight.js/es/languages/hy.js | 137 + .../highlight.js/es/languages/hy.js.js | 11 + .../highlight.js/es/languages/inform7.js | 69 + .../highlight.js/es/languages/inform7.js.js | 11 + .../highlight.js/es/languages/ini.js | 121 + .../highlight.js/es/languages/ini.js.js | 11 + .../highlight.js/es/languages/irpf90.js | 107 + .../highlight.js/es/languages/irpf90.js.js | 11 + .../highlight.js/es/languages/isbl.js | 3205 ++++ .../highlight.js/es/languages/isbl.js.js | 11 + .../highlight.js/es/languages/java.js | 289 + .../highlight.js/es/languages/java.js.js | 11 + .../highlight.js/es/languages/javascript.js | 766 + .../es/languages/javascript.js.js | 11 + .../highlight.js/es/languages/jboss-cli.js | 63 + .../highlight.js/es/languages/jboss-cli.js.js | 11 + .../highlight.js/es/languages/json.js | 53 + .../highlight.js/es/languages/json.js.js | 11 + .../highlight.js/es/languages/julia-repl.js | 50 + .../es/languages/julia-repl.js.js | 11 + .../highlight.js/es/languages/julia.js | 441 + .../highlight.js/es/languages/julia.js.js | 11 + .../highlight.js/es/languages/kotlin.js | 286 + .../highlight.js/es/languages/kotlin.js.js | 11 + .../highlight.js/es/languages/lasso.js | 170 + .../highlight.js/es/languages/lasso.js.js | 11 + .../highlight.js/es/languages/latex.js | 278 + .../highlight.js/es/languages/latex.js.js | 11 + .../highlight.js/es/languages/ldif.js | 31 + .../highlight.js/es/languages/ldif.js.js | 11 + .../highlight.js/es/languages/leaf.js | 97 + .../highlight.js/es/languages/leaf.js.js | 11 + .../highlight.js/es/languages/less.js | 839 + .../highlight.js/es/languages/less.js.js | 11 + .../highlight.js/es/languages/lisp.js | 139 + .../highlight.js/es/languages/lisp.js.js | 11 + .../es/languages/livecodeserver.js | 173 + .../es/languages/livecodeserver.js.js | 11 + .../highlight.js/es/languages/livescript.js | 378 + .../es/languages/livescript.js.js | 11 + .../highlight.js/es/languages/llvm.js | 132 + .../highlight.js/es/languages/llvm.js.js | 11 + .../highlight.js/es/languages/lsl.js | 76 + .../highlight.js/es/languages/lsl.js.js | 11 + .../highlight.js/es/languages/lua.js | 80 + .../highlight.js/es/languages/lua.js.js | 11 + .../highlight.js/es/languages/makefile.js | 86 + .../highlight.js/es/languages/makefile.js.js | 11 + .../highlight.js/es/languages/markdown.js | 241 + .../highlight.js/es/languages/markdown.js.js | 11 + .../highlight.js/es/languages/mathematica.js | 7359 +++++++++ .../es/languages/mathematica.js.js | 11 + .../highlight.js/es/languages/matlab.js | 107 + .../highlight.js/es/languages/matlab.js.js | 11 + .../highlight.js/es/languages/maxima.js | 414 + .../highlight.js/es/languages/maxima.js.js | 11 + .../highlight.js/es/languages/mel.js | 235 + .../highlight.js/es/languages/mel.js.js | 11 + .../highlight.js/es/languages/mercury.js | 107 + .../highlight.js/es/languages/mercury.js.js | 11 + .../highlight.js/es/languages/mipsasm.js | 104 + .../highlight.js/es/languages/mipsasm.js.js | 11 + .../highlight.js/es/languages/mizar.js | 27 + .../highlight.js/es/languages/mizar.js.js | 11 + .../highlight.js/es/languages/mojolicious.js | 36 + .../es/languages/mojolicious.js.js | 11 + .../highlight.js/es/languages/monkey.js | 183 + .../highlight.js/es/languages/monkey.js.js | 11 + .../highlight.js/es/languages/moonscript.js | 141 + .../es/languages/moonscript.js.js | 11 + .../highlight.js/es/languages/n1ql.js | 364 + .../highlight.js/es/languages/n1ql.js.js | 11 + .../highlight.js/es/languages/nestedtext.js | 83 + .../es/languages/nestedtext.js.js | 11 + .../highlight.js/es/languages/nginx.js | 153 + .../highlight.js/es/languages/nginx.js.js | 11 + .../highlight.js/es/languages/nim.js | 185 + .../highlight.js/es/languages/nim.js.js | 11 + .../highlight.js/es/languages/nix.js | 94 + .../highlight.js/es/languages/nix.js.js | 11 + .../highlight.js/es/languages/node-repl.js | 33 + .../highlight.js/es/languages/node-repl.js.js | 11 + .../highlight.js/es/languages/nsis.js | 556 + .../highlight.js/es/languages/nsis.js.js | 11 + .../highlight.js/es/languages/objectivec.js | 253 + .../es/languages/objectivec.js.js | 11 + .../highlight.js/es/languages/ocaml.js | 83 + .../highlight.js/es/languages/ocaml.js.js | 11 + .../highlight.js/es/languages/openscad.js | 77 + .../highlight.js/es/languages/openscad.js.js | 11 + .../highlight.js/es/languages/oxygene.js | 86 + .../highlight.js/es/languages/oxygene.js.js | 11 + .../highlight.js/es/languages/parser3.js | 55 + .../highlight.js/es/languages/parser3.js.js | 11 + .../highlight.js/es/languages/perl.js | 471 + .../highlight.js/es/languages/perl.js.js | 11 + .../highlight.js/es/languages/pf.js | 60 + .../highlight.js/es/languages/pf.js.js | 11 + .../highlight.js/es/languages/pgsql.js | 524 + .../highlight.js/es/languages/pgsql.js.js | 11 + .../highlight.js/es/languages/php-template.js | 54 + .../es/languages/php-template.js.js | 11 + .../highlight.js/es/languages/php.js | 613 + .../highlight.js/es/languages/php.js.js | 11 + .../highlight.js/es/languages/plaintext.js | 19 + .../highlight.js/es/languages/plaintext.js.js | 11 + .../highlight.js/es/languages/pony.js | 89 + .../highlight.js/es/languages/pony.js.js | 11 + .../highlight.js/es/languages/powershell.js | 316 + .../es/languages/powershell.js.js | 11 + .../highlight.js/es/languages/processing.js | 434 + .../es/languages/processing.js.js | 11 + .../highlight.js/es/languages/profile.js | 43 + .../highlight.js/es/languages/profile.js.js | 11 + .../highlight.js/es/languages/prolog.js | 96 + .../highlight.js/es/languages/prolog.js.js | 11 + .../highlight.js/es/languages/properties.js | 68 + .../es/languages/properties.js.js | 11 + .../highlight.js/es/languages/protobuf.js | 79 + .../highlight.js/es/languages/protobuf.js.js | 11 + .../highlight.js/es/languages/puppet.js | 146 + .../highlight.js/es/languages/puppet.js.js | 11 + .../highlight.js/es/languages/purebasic.js | 99 + .../highlight.js/es/languages/purebasic.js.js | 11 + .../highlight.js/es/languages/python-repl.js | 32 + .../es/languages/python-repl.js.js | 11 + .../highlight.js/es/languages/python.js | 434 + .../highlight.js/es/languages/python.js.js | 11 + .../highlight.js/es/languages/q.js | 37 + .../highlight.js/es/languages/q.js.js | 11 + .../highlight.js/es/languages/qml.js | 189 + .../highlight.js/es/languages/qml.js.js | 11 + .../highlight.js/es/languages/r.js | 257 + .../highlight.js/es/languages/r.js.js | 11 + .../highlight.js/es/languages/reasonml.js | 142 + .../highlight.js/es/languages/reasonml.js.js | 11 + .../highlight.js/es/languages/rib.js | 37 + .../highlight.js/es/languages/rib.js.js | 11 + .../highlight.js/es/languages/roboconf.js | 82 + .../highlight.js/es/languages/roboconf.js.js | 11 + .../highlight.js/es/languages/routeros.js | 163 + .../highlight.js/es/languages/routeros.js.js | 11 + .../highlight.js/es/languages/rsl.js | 149 + .../highlight.js/es/languages/rsl.js.js | 11 + .../highlight.js/es/languages/ruby.js | 448 + .../highlight.js/es/languages/ruby.js.js | 11 + .../es/languages/ruleslanguage.js | 76 + .../es/languages/ruleslanguage.js.js | 11 + .../highlight.js/es/languages/rust.js | 305 + .../highlight.js/es/languages/rust.js.js | 11 + .../highlight.js/es/languages/sas.js | 556 + .../highlight.js/es/languages/sas.js.js | 11 + .../highlight.js/es/languages/scala.js | 214 + .../highlight.js/es/languages/scala.js.js | 11 + .../highlight.js/es/languages/scheme.js | 196 + .../highlight.js/es/languages/scheme.js.js | 11 + .../highlight.js/es/languages/scilab.js | 73 + .../highlight.js/es/languages/scilab.js.js | 11 + .../highlight.js/es/languages/scss.js | 728 + .../highlight.js/es/languages/scss.js.js | 11 + .../highlight.js/es/languages/shell.js | 33 + .../highlight.js/es/languages/shell.js.js | 11 + .../highlight.js/es/languages/smali.js | 125 + .../highlight.js/es/languages/smali.js.js | 11 + .../highlight.js/es/languages/smalltalk.js | 68 + .../highlight.js/es/languages/smalltalk.js.js | 11 + .../highlight.js/es/languages/sml.js | 75 + .../highlight.js/es/languages/sml.js.js | 11 + .../highlight.js/es/languages/sqf.js | 2662 ++++ .../highlight.js/es/languages/sqf.js.js | 11 + .../highlight.js/es/languages/sql.js | 682 + .../highlight.js/es/languages/sql.js.js | 11 + .../highlight.js/es/languages/stan.js | 521 + .../highlight.js/es/languages/stan.js.js | 11 + .../highlight.js/es/languages/stata.js | 53 + .../highlight.js/es/languages/stata.js.js | 11 + .../highlight.js/es/languages/step21.js | 66 + .../highlight.js/es/languages/step21.js.js | 11 + .../highlight.js/es/languages/stylus.js | 788 + .../highlight.js/es/languages/stylus.js.js | 11 + .../highlight.js/es/languages/subunit.js | 43 + .../highlight.js/es/languages/subunit.js.js | 11 + .../highlight.js/es/languages/swift.js | 920 ++ .../highlight.js/es/languages/swift.js.js | 11 + .../highlight.js/es/languages/taggerscript.js | 58 + .../es/languages/taggerscript.js.js | 11 + .../highlight.js/es/languages/tap.js | 47 + .../highlight.js/es/languages/tap.js.js | 11 + .../highlight.js/es/languages/tcl.js | 190 + .../highlight.js/es/languages/tcl.js.js | 11 + .../highlight.js/es/languages/thrift.js | 77 + .../highlight.js/es/languages/thrift.js.js | 11 + .../highlight.js/es/languages/tp.js | 171 + .../highlight.js/es/languages/tp.js.js | 11 + .../highlight.js/es/languages/twig.js | 260 + .../highlight.js/es/languages/twig.js.js | 11 + .../highlight.js/es/languages/typescript.js | 880 ++ .../es/languages/typescript.js.js | 11 + .../highlight.js/es/languages/vala.js | 60 + .../highlight.js/es/languages/vala.js.js | 11 + .../highlight.js/es/languages/vbnet.js | 157 + .../highlight.js/es/languages/vbnet.js.js | 11 + .../es/languages/vbscript-html.js | 24 + .../es/languages/vbscript-html.js.js | 11 + .../highlight.js/es/languages/vbscript.js | 220 + .../highlight.js/es/languages/vbscript.js.js | 11 + .../highlight.js/es/languages/verilog.js | 549 + .../highlight.js/es/languages/verilog.js.js | 11 + .../highlight.js/es/languages/vhdl.js | 215 + .../highlight.js/es/languages/vhdl.js.js | 11 + .../highlight.js/es/languages/vim.js | 129 + .../highlight.js/es/languages/vim.js.js | 11 + .../highlight.js/es/languages/wasm.js | 139 + .../highlight.js/es/languages/wasm.js.js | 11 + .../highlight.js/es/languages/wren.js | 302 + .../highlight.js/es/languages/wren.js.js | 11 + .../highlight.js/es/languages/x86asm.js | 153 + .../highlight.js/es/languages/x86asm.js.js | 11 + .../highlight.js/es/languages/xl.js | 205 + .../highlight.js/es/languages/xl.js.js | 11 + .../highlight.js/es/languages/xml.js | 241 + .../highlight.js/es/languages/xml.js.js | 11 + .../highlight.js/es/languages/xquery.js | 360 + .../highlight.js/es/languages/xquery.js.js | 11 + .../highlight.js/es/languages/yaml.js | 194 + .../highlight.js/es/languages/yaml.js.js | 11 + .../highlight.js/es/languages/zephir.js | 128 + .../highlight.js/es/languages/zephir.js.js | 11 + .../node_modules/highlight.js/es/package.json | 1 + .../highlight.js/es/utils/regex.js | 155 + .../node_modules/highlight.js/lib/common.d.ts | 3 + .../node_modules/highlight.js/lib/common.js | 42 + .../node_modules/highlight.js/lib/core.d.ts | 3 + .../node_modules/highlight.js/lib/core.js | 2597 ++++ .../node_modules/highlight.js/lib/index.js | 198 + .../highlight.js/lib/languages/1c.js | 537 + .../highlight.js/lib/languages/1c.js.js | 10 + .../highlight.js/lib/languages/abnf.js | 82 + .../highlight.js/lib/languages/abnf.js.js | 10 + .../highlight.js/lib/languages/accesslog.js | 92 + .../lib/languages/accesslog.js.js | 10 + .../lib/languages/actionscript.js | 153 + .../lib/languages/actionscript.js.js | 10 + .../highlight.js/lib/languages/ada.js | 265 + .../highlight.js/lib/languages/ada.js.js | 10 + .../highlight.js/lib/languages/angelscript.js | 178 + .../lib/languages/angelscript.js.js | 10 + .../highlight.js/lib/languages/apache.js | 101 + .../highlight.js/lib/languages/apache.js.js | 10 + .../highlight.js/lib/languages/applescript.js | 149 + .../lib/languages/applescript.js.js | 10 + .../highlight.js/lib/languages/arcade.js | 361 + .../highlight.js/lib/languages/arcade.js.js | 10 + .../highlight.js/lib/languages/arduino.js | 970 ++ .../highlight.js/lib/languages/arduino.js.js | 10 + .../highlight.js/lib/languages/armasm.js | 124 + .../highlight.js/lib/languages/armasm.js.js | 10 + .../highlight.js/lib/languages/asciidoc.js | 261 + .../highlight.js/lib/languages/asciidoc.js.js | 10 + .../highlight.js/lib/languages/aspectj.js | 230 + .../highlight.js/lib/languages/aspectj.js.js | 10 + .../highlight.js/lib/languages/autohotkey.js | 75 + .../lib/languages/autohotkey.js.js | 10 + .../highlight.js/lib/languages/autoit.js | 178 + .../highlight.js/lib/languages/autoit.js.js | 10 + .../highlight.js/lib/languages/avrasm.js | 78 + .../highlight.js/lib/languages/avrasm.js.js | 10 + .../highlight.js/lib/languages/awk.js | 67 + .../highlight.js/lib/languages/awk.js.js | 10 + .../highlight.js/lib/languages/axapta.js | 188 + .../highlight.js/lib/languages/axapta.js.js | 10 + .../highlight.js/lib/languages/bash.js | 391 + .../highlight.js/lib/languages/bash.js.js | 10 + .../highlight.js/lib/languages/basic.js | 229 + .../highlight.js/lib/languages/basic.js.js | 10 + .../highlight.js/lib/languages/bnf.js | 38 + .../highlight.js/lib/languages/bnf.js.js | 10 + .../highlight.js/lib/languages/brainfuck.js | 54 + .../lib/languages/brainfuck.js.js | 10 + .../highlight.js/lib/languages/c.js | 318 + .../highlight.js/lib/languages/c.js.js | 10 + .../highlight.js/lib/languages/cal.js | 159 + .../highlight.js/lib/languages/cal.js.js | 10 + .../highlight.js/lib/languages/capnproto.js | 99 + .../lib/languages/capnproto.js.js | 10 + .../highlight.js/lib/languages/ceylon.js | 139 + .../highlight.js/lib/languages/ceylon.js.js | 10 + .../highlight.js/lib/languages/clean.js | 67 + .../highlight.js/lib/languages/clean.js.js | 10 + .../lib/languages/clojure-repl.js | 27 + .../lib/languages/clojure-repl.js.js | 10 + .../highlight.js/lib/languages/clojure.js | 184 + .../highlight.js/lib/languages/clojure.js.js | 10 + .../highlight.js/lib/languages/cmake.js | 63 + .../highlight.js/lib/languages/cmake.js.js | 10 + .../lib/languages/coffeescript.js | 366 + .../lib/languages/coffeescript.js.js | 10 + .../highlight.js/lib/languages/coq.js | 445 + .../highlight.js/lib/languages/coq.js.js | 10 + .../highlight.js/lib/languages/cos.js | 140 + .../highlight.js/lib/languages/cos.js.js | 10 + .../highlight.js/lib/languages/cpp.js | 568 + .../highlight.js/lib/languages/cpp.js.js | 10 + .../highlight.js/lib/languages/crmsh.js | 100 + .../highlight.js/lib/languages/crmsh.js.js | 10 + .../highlight.js/lib/languages/crystal.js | 311 + .../highlight.js/lib/languages/crystal.js.js | 10 + .../highlight.js/lib/languages/csharp.js | 400 + .../highlight.js/lib/languages/csharp.js.js | 10 + .../highlight.js/lib/languages/csp.js | 57 + .../highlight.js/lib/languages/csp.js.js | 10 + .../highlight.js/lib/languages/css.js | 738 + .../highlight.js/lib/languages/css.js.js | 10 + .../highlight.js/lib/languages/d.js | 271 + .../highlight.js/lib/languages/d.js.js | 10 + .../highlight.js/lib/languages/dart.js | 262 + .../highlight.js/lib/languages/dart.js.js | 10 + .../highlight.js/lib/languages/delphi.js | 230 + .../highlight.js/lib/languages/delphi.js.js | 10 + .../highlight.js/lib/languages/diff.js | 62 + .../highlight.js/lib/languages/diff.js.js | 10 + .../highlight.js/lib/languages/django.js | 75 + .../highlight.js/lib/languages/django.js.js | 10 + .../highlight.js/lib/languages/dns.js | 78 + .../highlight.js/lib/languages/dns.js.js | 10 + .../highlight.js/lib/languages/dockerfile.js | 44 + .../lib/languages/dockerfile.js.js | 10 + .../highlight.js/lib/languages/dos.js | 166 + .../highlight.js/lib/languages/dos.js.js | 10 + .../highlight.js/lib/languages/dsconfig.js | 66 + .../highlight.js/lib/languages/dsconfig.js.js | 10 + .../highlight.js/lib/languages/dts.js | 157 + .../highlight.js/lib/languages/dts.js.js | 10 + .../highlight.js/lib/languages/dust.js | 47 + .../highlight.js/lib/languages/dust.js.js | 10 + .../highlight.js/lib/languages/ebnf.js | 53 + .../highlight.js/lib/languages/ebnf.js.js | 10 + .../highlight.js/lib/languages/elixir.js | 279 + .../highlight.js/lib/languages/elixir.js.js | 10 + .../highlight.js/lib/languages/elm.js | 143 + .../highlight.js/lib/languages/elm.js.js | 10 + .../highlight.js/lib/languages/erb.js | 29 + .../highlight.js/lib/languages/erb.js.js | 10 + .../highlight.js/lib/languages/erlang-repl.js | 54 + .../lib/languages/erlang-repl.js.js | 10 + .../highlight.js/lib/languages/erlang.js | 191 + .../highlight.js/lib/languages/erlang.js.js | 10 + .../highlight.js/lib/languages/excel.js | 544 + .../highlight.js/lib/languages/excel.js.js | 10 + .../highlight.js/lib/languages/fix.js | 39 + .../highlight.js/lib/languages/fix.js.js | 10 + .../highlight.js/lib/languages/flix.js | 79 + .../highlight.js/lib/languages/flix.js.js | 10 + .../highlight.js/lib/languages/fortran.js | 573 + .../highlight.js/lib/languages/fortran.js.js | 10 + .../highlight.js/lib/languages/fsharp.js | 627 + .../highlight.js/lib/languages/fsharp.js.js | 10 + .../highlight.js/lib/languages/gams.js | 181 + .../highlight.js/lib/languages/gams.js.js | 10 + .../highlight.js/lib/languages/gauss.js | 306 + .../highlight.js/lib/languages/gauss.js.js | 10 + .../highlight.js/lib/languages/gcode.js | 80 + .../highlight.js/lib/languages/gcode.js.js | 10 + .../highlight.js/lib/languages/gherkin.js | 49 + .../highlight.js/lib/languages/gherkin.js.js | 10 + .../highlight.js/lib/languages/glsl.js | 128 + .../highlight.js/lib/languages/glsl.js.js | 10 + .../highlight.js/lib/languages/gml.js | 2816 ++++ .../highlight.js/lib/languages/gml.js.js | 10 + .../highlight.js/lib/languages/go.js | 141 + .../highlight.js/lib/languages/go.js.js | 10 + .../highlight.js/lib/languages/golo.js | 80 + .../highlight.js/lib/languages/golo.js.js | 10 + .../highlight.js/lib/languages/gradle.js | 189 + .../highlight.js/lib/languages/gradle.js.js | 10 + .../highlight.js/lib/languages/graphql.js | 78 + .../highlight.js/lib/languages/graphql.js.js | 10 + .../highlight.js/lib/languages/groovy.js | 189 + .../highlight.js/lib/languages/groovy.js.js | 10 + .../highlight.js/lib/languages/haml.js | 113 + .../highlight.js/lib/languages/haml.js.js | 10 + .../highlight.js/lib/languages/handlebars.js | 258 + .../lib/languages/handlebars.js.js | 10 + .../highlight.js/lib/languages/haskell.js | 217 + .../highlight.js/lib/languages/haskell.js.js | 10 + .../highlight.js/lib/languages/haxe.js | 166 + .../highlight.js/lib/languages/haxe.js.js | 10 + .../highlight.js/lib/languages/hsp.js | 59 + .../highlight.js/lib/languages/hsp.js.js | 10 + .../highlight.js/lib/languages/http.js | 97 + .../highlight.js/lib/languages/http.js.js | 10 + .../highlight.js/lib/languages/hy.js | 137 + .../highlight.js/lib/languages/hy.js.js | 10 + .../highlight.js/lib/languages/inform7.js | 69 + .../highlight.js/lib/languages/inform7.js.js | 10 + .../highlight.js/lib/languages/ini.js | 121 + .../highlight.js/lib/languages/ini.js.js | 10 + .../highlight.js/lib/languages/irpf90.js | 107 + .../highlight.js/lib/languages/irpf90.js.js | 10 + .../highlight.js/lib/languages/isbl.js | 3205 ++++ .../highlight.js/lib/languages/isbl.js.js | 10 + .../highlight.js/lib/languages/java.js | 289 + .../highlight.js/lib/languages/java.js.js | 10 + .../highlight.js/lib/languages/javascript.js | 766 + .../lib/languages/javascript.js.js | 10 + .../highlight.js/lib/languages/jboss-cli.js | 63 + .../lib/languages/jboss-cli.js.js | 10 + .../highlight.js/lib/languages/json.js | 53 + .../highlight.js/lib/languages/json.js.js | 10 + .../highlight.js/lib/languages/julia-repl.js | 50 + .../lib/languages/julia-repl.js.js | 10 + .../highlight.js/lib/languages/julia.js | 441 + .../highlight.js/lib/languages/julia.js.js | 10 + .../highlight.js/lib/languages/kotlin.js | 286 + .../highlight.js/lib/languages/kotlin.js.js | 10 + .../highlight.js/lib/languages/lasso.js | 170 + .../highlight.js/lib/languages/lasso.js.js | 10 + .../highlight.js/lib/languages/latex.js | 278 + .../highlight.js/lib/languages/latex.js.js | 10 + .../highlight.js/lib/languages/ldif.js | 31 + .../highlight.js/lib/languages/ldif.js.js | 10 + .../highlight.js/lib/languages/leaf.js | 97 + .../highlight.js/lib/languages/leaf.js.js | 10 + .../highlight.js/lib/languages/less.js | 839 + .../highlight.js/lib/languages/less.js.js | 10 + .../highlight.js/lib/languages/lisp.js | 139 + .../highlight.js/lib/languages/lisp.js.js | 10 + .../lib/languages/livecodeserver.js | 173 + .../lib/languages/livecodeserver.js.js | 10 + .../highlight.js/lib/languages/livescript.js | 378 + .../lib/languages/livescript.js.js | 10 + .../highlight.js/lib/languages/llvm.js | 132 + .../highlight.js/lib/languages/llvm.js.js | 10 + .../highlight.js/lib/languages/lsl.js | 76 + .../highlight.js/lib/languages/lsl.js.js | 10 + .../highlight.js/lib/languages/lua.js | 80 + .../highlight.js/lib/languages/lua.js.js | 10 + .../highlight.js/lib/languages/makefile.js | 86 + .../highlight.js/lib/languages/makefile.js.js | 10 + .../highlight.js/lib/languages/markdown.js | 241 + .../highlight.js/lib/languages/markdown.js.js | 10 + .../highlight.js/lib/languages/mathematica.js | 7359 +++++++++ .../lib/languages/mathematica.js.js | 10 + .../highlight.js/lib/languages/matlab.js | 107 + .../highlight.js/lib/languages/matlab.js.js | 10 + .../highlight.js/lib/languages/maxima.js | 414 + .../highlight.js/lib/languages/maxima.js.js | 10 + .../highlight.js/lib/languages/mel.js | 235 + .../highlight.js/lib/languages/mel.js.js | 10 + .../highlight.js/lib/languages/mercury.js | 107 + .../highlight.js/lib/languages/mercury.js.js | 10 + .../highlight.js/lib/languages/mipsasm.js | 104 + .../highlight.js/lib/languages/mipsasm.js.js | 10 + .../highlight.js/lib/languages/mizar.js | 27 + .../highlight.js/lib/languages/mizar.js.js | 10 + .../highlight.js/lib/languages/mojolicious.js | 36 + .../lib/languages/mojolicious.js.js | 10 + .../highlight.js/lib/languages/monkey.js | 183 + .../highlight.js/lib/languages/monkey.js.js | 10 + .../highlight.js/lib/languages/moonscript.js | 141 + .../lib/languages/moonscript.js.js | 10 + .../highlight.js/lib/languages/n1ql.js | 364 + .../highlight.js/lib/languages/n1ql.js.js | 10 + .../highlight.js/lib/languages/nestedtext.js | 83 + .../lib/languages/nestedtext.js.js | 10 + .../highlight.js/lib/languages/nginx.js | 153 + .../highlight.js/lib/languages/nginx.js.js | 10 + .../highlight.js/lib/languages/nim.js | 185 + .../highlight.js/lib/languages/nim.js.js | 10 + .../highlight.js/lib/languages/nix.js | 94 + .../highlight.js/lib/languages/nix.js.js | 10 + .../highlight.js/lib/languages/node-repl.js | 33 + .../lib/languages/node-repl.js.js | 10 + .../highlight.js/lib/languages/nsis.js | 556 + .../highlight.js/lib/languages/nsis.js.js | 10 + .../highlight.js/lib/languages/objectivec.js | 253 + .../lib/languages/objectivec.js.js | 10 + .../highlight.js/lib/languages/ocaml.js | 83 + .../highlight.js/lib/languages/ocaml.js.js | 10 + .../highlight.js/lib/languages/openscad.js | 77 + .../highlight.js/lib/languages/openscad.js.js | 10 + .../highlight.js/lib/languages/oxygene.js | 86 + .../highlight.js/lib/languages/oxygene.js.js | 10 + .../highlight.js/lib/languages/parser3.js | 55 + .../highlight.js/lib/languages/parser3.js.js | 10 + .../highlight.js/lib/languages/perl.js | 471 + .../highlight.js/lib/languages/perl.js.js | 10 + .../highlight.js/lib/languages/pf.js | 60 + .../highlight.js/lib/languages/pf.js.js | 10 + .../highlight.js/lib/languages/pgsql.js | 524 + .../highlight.js/lib/languages/pgsql.js.js | 10 + .../lib/languages/php-template.js | 54 + .../lib/languages/php-template.js.js | 10 + .../highlight.js/lib/languages/php.js | 613 + .../highlight.js/lib/languages/php.js.js | 10 + .../highlight.js/lib/languages/plaintext.js | 19 + .../lib/languages/plaintext.js.js | 10 + .../highlight.js/lib/languages/pony.js | 89 + .../highlight.js/lib/languages/pony.js.js | 10 + .../highlight.js/lib/languages/powershell.js | 316 + .../lib/languages/powershell.js.js | 10 + .../highlight.js/lib/languages/processing.js | 434 + .../lib/languages/processing.js.js | 10 + .../highlight.js/lib/languages/profile.js | 43 + .../highlight.js/lib/languages/profile.js.js | 10 + .../highlight.js/lib/languages/prolog.js | 96 + .../highlight.js/lib/languages/prolog.js.js | 10 + .../highlight.js/lib/languages/properties.js | 68 + .../lib/languages/properties.js.js | 10 + .../highlight.js/lib/languages/protobuf.js | 79 + .../highlight.js/lib/languages/protobuf.js.js | 10 + .../highlight.js/lib/languages/puppet.js | 146 + .../highlight.js/lib/languages/puppet.js.js | 10 + .../highlight.js/lib/languages/purebasic.js | 99 + .../lib/languages/purebasic.js.js | 10 + .../highlight.js/lib/languages/python-repl.js | 32 + .../lib/languages/python-repl.js.js | 10 + .../highlight.js/lib/languages/python.js | 434 + .../highlight.js/lib/languages/python.js.js | 10 + .../highlight.js/lib/languages/q.js | 37 + .../highlight.js/lib/languages/q.js.js | 10 + .../highlight.js/lib/languages/qml.js | 189 + .../highlight.js/lib/languages/qml.js.js | 10 + .../highlight.js/lib/languages/r.js | 257 + .../highlight.js/lib/languages/r.js.js | 10 + .../highlight.js/lib/languages/reasonml.js | 142 + .../highlight.js/lib/languages/reasonml.js.js | 10 + .../highlight.js/lib/languages/rib.js | 37 + .../highlight.js/lib/languages/rib.js.js | 10 + .../highlight.js/lib/languages/roboconf.js | 82 + .../highlight.js/lib/languages/roboconf.js.js | 10 + .../highlight.js/lib/languages/routeros.js | 163 + .../highlight.js/lib/languages/routeros.js.js | 10 + .../highlight.js/lib/languages/rsl.js | 149 + .../highlight.js/lib/languages/rsl.js.js | 10 + .../highlight.js/lib/languages/ruby.js | 448 + .../highlight.js/lib/languages/ruby.js.js | 10 + .../lib/languages/ruleslanguage.js | 76 + .../lib/languages/ruleslanguage.js.js | 10 + .../highlight.js/lib/languages/rust.js | 305 + .../highlight.js/lib/languages/rust.js.js | 10 + .../highlight.js/lib/languages/sas.js | 556 + .../highlight.js/lib/languages/sas.js.js | 10 + .../highlight.js/lib/languages/scala.js | 214 + .../highlight.js/lib/languages/scala.js.js | 10 + .../highlight.js/lib/languages/scheme.js | 196 + .../highlight.js/lib/languages/scheme.js.js | 10 + .../highlight.js/lib/languages/scilab.js | 73 + .../highlight.js/lib/languages/scilab.js.js | 10 + .../highlight.js/lib/languages/scss.js | 728 + .../highlight.js/lib/languages/scss.js.js | 10 + .../highlight.js/lib/languages/shell.js | 33 + .../highlight.js/lib/languages/shell.js.js | 10 + .../highlight.js/lib/languages/smali.js | 125 + .../highlight.js/lib/languages/smali.js.js | 10 + .../highlight.js/lib/languages/smalltalk.js | 68 + .../lib/languages/smalltalk.js.js | 10 + .../highlight.js/lib/languages/sml.js | 75 + .../highlight.js/lib/languages/sml.js.js | 10 + .../highlight.js/lib/languages/sqf.js | 2662 ++++ .../highlight.js/lib/languages/sqf.js.js | 10 + .../highlight.js/lib/languages/sql.js | 682 + .../highlight.js/lib/languages/sql.js.js | 10 + .../highlight.js/lib/languages/stan.js | 521 + .../highlight.js/lib/languages/stan.js.js | 10 + .../highlight.js/lib/languages/stata.js | 53 + .../highlight.js/lib/languages/stata.js.js | 10 + .../highlight.js/lib/languages/step21.js | 66 + .../highlight.js/lib/languages/step21.js.js | 10 + .../highlight.js/lib/languages/stylus.js | 788 + .../highlight.js/lib/languages/stylus.js.js | 10 + .../highlight.js/lib/languages/subunit.js | 43 + .../highlight.js/lib/languages/subunit.js.js | 10 + .../highlight.js/lib/languages/swift.js | 920 ++ .../highlight.js/lib/languages/swift.js.js | 10 + .../lib/languages/taggerscript.js | 58 + .../lib/languages/taggerscript.js.js | 10 + .../highlight.js/lib/languages/tap.js | 47 + .../highlight.js/lib/languages/tap.js.js | 10 + .../highlight.js/lib/languages/tcl.js | 190 + .../highlight.js/lib/languages/tcl.js.js | 10 + .../highlight.js/lib/languages/thrift.js | 77 + .../highlight.js/lib/languages/thrift.js.js | 10 + .../highlight.js/lib/languages/tp.js | 171 + .../highlight.js/lib/languages/tp.js.js | 10 + .../highlight.js/lib/languages/twig.js | 260 + .../highlight.js/lib/languages/twig.js.js | 10 + .../highlight.js/lib/languages/typescript.js | 880 ++ .../lib/languages/typescript.js.js | 10 + .../highlight.js/lib/languages/vala.js | 60 + .../highlight.js/lib/languages/vala.js.js | 10 + .../highlight.js/lib/languages/vbnet.js | 157 + .../highlight.js/lib/languages/vbnet.js.js | 10 + .../lib/languages/vbscript-html.js | 24 + .../lib/languages/vbscript-html.js.js | 10 + .../highlight.js/lib/languages/vbscript.js | 220 + .../highlight.js/lib/languages/vbscript.js.js | 10 + .../highlight.js/lib/languages/verilog.js | 549 + .../highlight.js/lib/languages/verilog.js.js | 10 + .../highlight.js/lib/languages/vhdl.js | 215 + .../highlight.js/lib/languages/vhdl.js.js | 10 + .../highlight.js/lib/languages/vim.js | 129 + .../highlight.js/lib/languages/vim.js.js | 10 + .../highlight.js/lib/languages/wasm.js | 139 + .../highlight.js/lib/languages/wasm.js.js | 10 + .../highlight.js/lib/languages/wren.js | 302 + .../highlight.js/lib/languages/wren.js.js | 10 + .../highlight.js/lib/languages/x86asm.js | 153 + .../highlight.js/lib/languages/x86asm.js.js | 10 + .../highlight.js/lib/languages/xl.js | 205 + .../highlight.js/lib/languages/xl.js.js | 10 + .../highlight.js/lib/languages/xml.js | 241 + .../highlight.js/lib/languages/xml.js.js | 10 + .../highlight.js/lib/languages/xquery.js | 360 + .../highlight.js/lib/languages/xquery.js.js | 10 + .../highlight.js/lib/languages/yaml.js | 194 + .../highlight.js/lib/languages/yaml.js.js | 10 + .../highlight.js/lib/languages/zephir.js | 128 + .../highlight.js/lib/languages/zephir.js.js | 10 + .../node_modules/highlight.js/package.json | 119 + .../highlight.js/scss/a11y-dark.scss | 94 + .../highlight.js/scss/a11y-light.scss | 94 + .../node_modules/highlight.js/scss/agate.scss | 127 + .../highlight.js/scss/an-old-hope.scss | 75 + .../highlight.js/scss/androidstudio.scss | 60 + .../highlight.js/scss/arduino-light.scss | 78 + .../node_modules/highlight.js/scss/arta.scss | 66 + .../highlight.js/scss/ascetic.scss | 45 + .../scss/atom-one-dark-reasonable.scss | 105 + .../highlight.js/scss/atom-one-dark.scss | 90 + .../highlight.js/scss/atom-one-light.scss | 90 + .../highlight.js/scss/base16/3024.scss | 163 + .../highlight.js/scss/base16/apathy.scss | 163 + .../highlight.js/scss/base16/apprentice.scss | 163 + .../highlight.js/scss/base16/ashes.scss | 163 + .../scss/base16/atelier-cave-light.scss | 163 + .../scss/base16/atelier-cave.scss | 163 + .../scss/base16/atelier-dune-light.scss | 163 + .../scss/base16/atelier-dune.scss | 163 + .../scss/base16/atelier-estuary-light.scss | 163 + .../scss/base16/atelier-estuary.scss | 163 + .../scss/base16/atelier-forest-light.scss | 163 + .../scss/base16/atelier-forest.scss | 163 + .../scss/base16/atelier-heath-light.scss | 163 + .../scss/base16/atelier-heath.scss | 163 + .../scss/base16/atelier-lakeside-light.scss | 163 + .../scss/base16/atelier-lakeside.scss | 163 + .../scss/base16/atelier-plateau-light.scss | 163 + .../scss/base16/atelier-plateau.scss | 163 + .../scss/base16/atelier-savanna-light.scss | 163 + .../scss/base16/atelier-savanna.scss | 163 + .../scss/base16/atelier-seaside-light.scss | 163 + .../scss/base16/atelier-seaside.scss | 163 + .../base16/atelier-sulphurpool-light.scss | 163 + .../scss/base16/atelier-sulphurpool.scss | 163 + .../highlight.js/scss/base16/atlas.scss | 163 + .../highlight.js/scss/base16/bespin.scss | 163 + .../scss/base16/black-metal-bathory.scss | 163 + .../scss/base16/black-metal-burzum.scss | 163 + .../scss/base16/black-metal-dark-funeral.scss | 163 + .../scss/base16/black-metal-gorgoroth.scss | 163 + .../scss/base16/black-metal-immortal.scss | 163 + .../scss/base16/black-metal-khold.scss | 163 + .../scss/base16/black-metal-marduk.scss | 163 + .../scss/base16/black-metal-mayhem.scss | 163 + .../scss/base16/black-metal-nile.scss | 163 + .../scss/base16/black-metal-venom.scss | 163 + .../highlight.js/scss/base16/black-metal.scss | 163 + .../highlight.js/scss/base16/brewer.scss | 163 + .../highlight.js/scss/base16/bright.scss | 163 + .../highlight.js/scss/base16/brogrammer.scss | 163 + .../scss/base16/brush-trees-dark.scss | 163 + .../highlight.js/scss/base16/brush-trees.scss | 163 + .../highlight.js/scss/base16/chalk.scss | 163 + .../highlight.js/scss/base16/circus.scss | 163 + .../scss/base16/classic-dark.scss | 163 + .../scss/base16/classic-light.scss | 163 + .../highlight.js/scss/base16/codeschool.scss | 163 + .../highlight.js/scss/base16/colors.scss | 163 + .../highlight.js/scss/base16/cupcake.scss | 163 + .../highlight.js/scss/base16/cupertino.scss | 163 + .../highlight.js/scss/base16/danqing.scss | 163 + .../highlight.js/scss/base16/darcula.scss | 163 + .../highlight.js/scss/base16/dark-violet.scss | 163 + .../highlight.js/scss/base16/darkmoss.scss | 163 + .../highlight.js/scss/base16/darktooth.scss | 163 + .../highlight.js/scss/base16/decaf.scss | 163 + .../scss/base16/default-dark.scss | 163 + .../scss/base16/default-light.scss | 163 + .../highlight.js/scss/base16/dirtysea.scss | 163 + .../highlight.js/scss/base16/dracula.scss | 163 + .../highlight.js/scss/base16/edge-dark.scss | 163 + .../highlight.js/scss/base16/edge-light.scss | 163 + .../highlight.js/scss/base16/eighties.scss | 163 + .../highlight.js/scss/base16/embers.scss | 163 + .../scss/base16/equilibrium-dark.scss | 163 + .../scss/base16/equilibrium-gray-dark.scss | 163 + .../scss/base16/equilibrium-gray-light.scss | 163 + .../scss/base16/equilibrium-light.scss | 163 + .../highlight.js/scss/base16/espresso.scss | 163 + .../highlight.js/scss/base16/eva-dim.scss | 163 + .../highlight.js/scss/base16/eva.scss | 163 + .../highlight.js/scss/base16/flat.scss | 163 + .../highlight.js/scss/base16/framer.scss | 163 + .../highlight.js/scss/base16/fruit-soda.scss | 163 + .../highlight.js/scss/base16/gigavolt.scss | 163 + .../highlight.js/scss/base16/github.scss | 163 + .../highlight.js/scss/base16/google-dark.scss | 163 + .../scss/base16/google-light.scss | 163 + .../scss/base16/grayscale-dark.scss | 163 + .../scss/base16/grayscale-light.scss | 163 + .../scss/base16/green-screen.scss | 163 + .../scss/base16/gruvbox-dark-hard.scss | 163 + .../scss/base16/gruvbox-dark-medium.scss | 163 + .../scss/base16/gruvbox-dark-pale.scss | 163 + .../scss/base16/gruvbox-dark-soft.scss | 163 + .../scss/base16/gruvbox-light-hard.scss | 163 + .../scss/base16/gruvbox-light-medium.scss | 163 + .../scss/base16/gruvbox-light-soft.scss | 163 + .../highlight.js/scss/base16/hardcore.scss | 163 + .../scss/base16/harmonic16-dark.scss | 163 + .../scss/base16/harmonic16-light.scss | 163 + .../highlight.js/scss/base16/heetch-dark.scss | 163 + .../scss/base16/heetch-light.scss | 163 + .../highlight.js/scss/base16/helios.scss | 163 + .../highlight.js/scss/base16/hopscotch.scss | 163 + .../scss/base16/horizon-dark.scss | 163 + .../scss/base16/horizon-light.scss | 163 + .../scss/base16/humanoid-dark.scss | 163 + .../scss/base16/humanoid-light.scss | 163 + .../highlight.js/scss/base16/ia-dark.scss | 163 + .../highlight.js/scss/base16/ia-light.scss | 163 + .../highlight.js/scss/base16/icy-dark.scss | 163 + .../highlight.js/scss/base16/ir-black.scss | 163 + .../highlight.js/scss/base16/isotope.scss | 163 + .../highlight.js/scss/base16/kimber.scss | 163 + .../highlight.js/scss/base16/london-tube.scss | 163 + .../highlight.js/scss/base16/macintosh.scss | 163 + .../highlight.js/scss/base16/marrakesh.scss | 163 + .../highlight.js/scss/base16/materia.scss | 163 + .../scss/base16/material-darker.scss | 163 + .../scss/base16/material-lighter.scss | 163 + .../scss/base16/material-palenight.scss | 163 + .../scss/base16/material-vivid.scss | 163 + .../highlight.js/scss/base16/material.scss | 163 + .../scss/base16/mellow-purple.scss | 163 + .../scss/base16/mexico-light.scss | 163 + .../highlight.js/scss/base16/mocha.scss | 163 + .../highlight.js/scss/base16/monokai.scss | 163 + .../highlight.js/scss/base16/nebula.scss | 163 + .../highlight.js/scss/base16/nord.scss | 163 + .../highlight.js/scss/base16/nova.scss | 163 + .../highlight.js/scss/base16/ocean.scss | 163 + .../highlight.js/scss/base16/oceanicnext.scss | 163 + .../highlight.js/scss/base16/one-light.scss | 163 + .../highlight.js/scss/base16/onedark.scss | 163 + .../highlight.js/scss/base16/outrun-dark.scss | 163 + .../scss/base16/papercolor-dark.scss | 163 + .../scss/base16/papercolor-light.scss | 163 + .../highlight.js/scss/base16/paraiso.scss | 163 + .../highlight.js/scss/base16/pasque.scss | 163 + .../highlight.js/scss/base16/phd.scss | 163 + .../highlight.js/scss/base16/pico.scss | 163 + .../highlight.js/scss/base16/pop.scss | 163 + .../highlight.js/scss/base16/porple.scss | 163 + .../highlight.js/scss/base16/qualia.scss | 163 + .../highlight.js/scss/base16/railscasts.scss | 163 + .../highlight.js/scss/base16/rebecca.scss | 163 + .../scss/base16/ros-pine-dawn.scss | 163 + .../scss/base16/ros-pine-moon.scss | 163 + .../highlight.js/scss/base16/ros-pine.scss | 163 + .../highlight.js/scss/base16/sagelight.scss | 163 + .../highlight.js/scss/base16/sandcastle.scss | 163 + .../highlight.js/scss/base16/seti-ui.scss | 163 + .../scss/base16/shapeshifter.scss | 163 + .../highlight.js/scss/base16/silk-dark.scss | 163 + .../highlight.js/scss/base16/silk-light.scss | 163 + .../highlight.js/scss/base16/snazzy.scss | 163 + .../scss/base16/solar-flare-light.scss | 163 + .../highlight.js/scss/base16/solar-flare.scss | 163 + .../scss/base16/solarized-dark.scss | 163 + .../scss/base16/solarized-light.scss | 163 + .../highlight.js/scss/base16/spacemacs.scss | 163 + .../highlight.js/scss/base16/summercamp.scss | 163 + .../scss/base16/summerfruit-dark.scss | 163 + .../scss/base16/summerfruit-light.scss | 163 + .../base16/synth-midnight-terminal-dark.scss | 163 + .../base16/synth-midnight-terminal-light.scss | 163 + .../highlight.js/scss/base16/tango.scss | 163 + .../highlight.js/scss/base16/tender.scss | 163 + .../scss/base16/tomorrow-night.scss | 163 + .../highlight.js/scss/base16/tomorrow.scss | 163 + .../highlight.js/scss/base16/twilight.scss | 163 + .../scss/base16/unikitty-dark.scss | 163 + .../scss/base16/unikitty-light.scss | 163 + .../highlight.js/scss/base16/vulcan.scss | 163 + .../scss/base16/windows-10-light.scss | 163 + .../highlight.js/scss/base16/windows-10.scss | 163 + .../scss/base16/windows-95-light.scss | 163 + .../highlight.js/scss/base16/windows-95.scss | 163 + .../base16/windows-high-contrast-light.scss | 163 + .../scss/base16/windows-high-contrast.scss | 163 + .../scss/base16/windows-nt-light.scss | 163 + .../highlight.js/scss/base16/windows-nt.scss | 163 + .../highlight.js/scss/base16/woodland.scss | 163 + .../highlight.js/scss/base16/xcode-dusk.scss | 163 + .../highlight.js/scss/base16/zenburn.scss | 163 + .../highlight.js/scss/brown-paper.scss | 63 + .../highlight.js/scss/codepen-embed.scss | 57 + .../highlight.js/scss/color-brewer.scss | 66 + .../node_modules/highlight.js/scss/dark.scss | 62 + .../highlight.js/scss/default.scss | 117 + .../highlight.js/scss/devibeans.scss | 90 + .../node_modules/highlight.js/scss/docco.scss | 83 + .../node_modules/highlight.js/scss/far.scss | 67 + .../highlight.js/scss/felipec.scss | 94 + .../highlight.js/scss/foundation.scss | 80 + .../highlight.js/scss/github-dark-dimmed.scss | 117 + .../highlight.js/scss/github-dark.scss | 118 + .../highlight.js/scss/github.scss | 118 + .../node_modules/highlight.js/scss/gml.scss | 72 + .../highlight.js/scss/googlecode.scss | 79 + .../highlight.js/scss/gradient-dark.scss | 90 + .../highlight.js/scss/gradient-light.scss | 90 + .../highlight.js/scss/grayscale.scss | 89 + .../highlight.js/scss/hybrid.scss | 88 + .../node_modules/highlight.js/scss/idea.scss | 86 + .../highlight.js/scss/intellij-light.scss | 107 + .../highlight.js/scss/ir-black.scss | 66 + .../highlight.js/scss/isbl-editor-dark.scss | 94 + .../highlight.js/scss/isbl-editor-light.scss | 93 + .../highlight.js/scss/kimbie-dark.scss | 69 + .../highlight.js/scss/kimbie-light.scss | 69 + .../highlight.js/scss/lightfair.scss | 81 + .../highlight.js/scss/lioshi.scss | 76 + .../highlight.js/scss/magula.scss | 66 + .../highlight.js/scss/mono-blue.scss | 56 + .../highlight.js/scss/monokai-sublime.scss | 76 + .../highlight.js/scss/monokai.scss | 68 + .../highlight.js/scss/night-owl.scss | 174 + .../highlight.js/scss/nnfx-dark.scss | 104 + .../highlight.js/scss/nnfx-light.scss | 104 + .../node_modules/highlight.js/scss/nord.scss | 275 + .../highlight.js/scss/obsidian.scss | 79 + .../highlight.js/scss/panda-syntax-dark.scss | 92 + .../highlight.js/scss/panda-syntax-light.scss | 89 + .../highlight.js/scss/paraiso-dark.scss | 67 + .../highlight.js/scss/paraiso-light.scss | 67 + .../highlight.js/scss/pojoaque.scss | 76 + .../highlight.js/scss/purebasic.scss | 103 + .../highlight.js/scss/qtcreator-dark.scss | 76 + .../highlight.js/scss/qtcreator-light.scss | 74 + .../highlight.js/scss/rainbow.scss | 77 + .../highlight.js/scss/routeros.scss | 86 + .../highlight.js/scss/school-book.scss | 62 + .../highlight.js/scss/shades-of-purple.scss | 84 + .../highlight.js/scss/srcery.scss | 89 + .../highlight.js/scss/stackoverflow-dark.scss | 117 + .../scss/stackoverflow-light.scss | 117 + .../highlight.js/scss/sunburst.scss | 89 + .../highlight.js/scss/tokyo-night-dark.scss | 114 + .../highlight.js/scss/tokyo-night-light.scss | 114 + .../scss/tomorrow-night-blue.scss | 69 + .../scss/tomorrow-night-bright.scss | 68 + .../node_modules/highlight.js/scss/vs.scss | 63 + .../highlight.js/scss/vs2015.scss | 100 + .../node_modules/highlight.js/scss/xcode.scss | 90 + .../node_modules/highlight.js/scss/xt256.scss | 79 + .../highlight.js/styles/a11y-dark.css | 94 + .../highlight.js/styles/a11y-dark.min.css | 7 + .../highlight.js/styles/a11y-light.css | 94 + .../highlight.js/styles/a11y-light.min.css | 7 + .../highlight.js/styles/agate.css | 127 + .../highlight.js/styles/agate.min.css | 20 + .../highlight.js/styles/an-old-hope.css | 75 + .../highlight.js/styles/an-old-hope.min.css | 9 + .../highlight.js/styles/androidstudio.css | 60 + .../highlight.js/styles/androidstudio.min.css | 1 + .../highlight.js/styles/arduino-light.css | 78 + .../highlight.js/styles/arduino-light.min.css | 1 + .../node_modules/highlight.js/styles/arta.css | 66 + .../highlight.js/styles/arta.min.css | 1 + .../highlight.js/styles/ascetic.css | 45 + .../highlight.js/styles/ascetic.min.css | 1 + .../styles/atom-one-dark-reasonable.css | 105 + .../styles/atom-one-dark-reasonable.min.css | 1 + .../highlight.js/styles/atom-one-dark.css | 90 + .../highlight.js/styles/atom-one-dark.min.css | 1 + .../highlight.js/styles/atom-one-light.css | 90 + .../styles/atom-one-light.min.css | 1 + .../highlight.js/styles/base16/3024.css | 163 + .../highlight.js/styles/base16/3024.min.css | 7 + .../highlight.js/styles/base16/apathy.css | 163 + .../highlight.js/styles/base16/apathy.min.css | 7 + .../highlight.js/styles/base16/apprentice.css | 163 + .../styles/base16/apprentice.min.css | 7 + .../highlight.js/styles/base16/ashes.css | 163 + .../highlight.js/styles/base16/ashes.min.css | 7 + .../styles/base16/atelier-cave-light.css | 163 + .../styles/base16/atelier-cave-light.min.css | 7 + .../styles/base16/atelier-cave.css | 163 + .../styles/base16/atelier-cave.min.css | 7 + .../styles/base16/atelier-dune-light.css | 163 + .../styles/base16/atelier-dune-light.min.css | 7 + .../styles/base16/atelier-dune.css | 163 + .../styles/base16/atelier-dune.min.css | 7 + .../styles/base16/atelier-estuary-light.css | 163 + .../base16/atelier-estuary-light.min.css | 7 + .../styles/base16/atelier-estuary.css | 163 + .../styles/base16/atelier-estuary.min.css | 7 + .../styles/base16/atelier-forest-light.css | 163 + .../base16/atelier-forest-light.min.css | 7 + .../styles/base16/atelier-forest.css | 163 + .../styles/base16/atelier-forest.min.css | 7 + .../styles/base16/atelier-heath-light.css | 163 + .../styles/base16/atelier-heath-light.min.css | 7 + .../styles/base16/atelier-heath.css | 163 + .../styles/base16/atelier-heath.min.css | 7 + .../styles/base16/atelier-lakeside-light.css | 163 + .../base16/atelier-lakeside-light.min.css | 7 + .../styles/base16/atelier-lakeside.css | 163 + .../styles/base16/atelier-lakeside.min.css | 7 + .../styles/base16/atelier-plateau-light.css | 163 + .../base16/atelier-plateau-light.min.css | 7 + .../styles/base16/atelier-plateau.css | 163 + .../styles/base16/atelier-plateau.min.css | 7 + .../styles/base16/atelier-savanna-light.css | 163 + .../base16/atelier-savanna-light.min.css | 7 + .../styles/base16/atelier-savanna.css | 163 + .../styles/base16/atelier-savanna.min.css | 7 + .../styles/base16/atelier-seaside-light.css | 163 + .../base16/atelier-seaside-light.min.css | 7 + .../styles/base16/atelier-seaside.css | 163 + .../styles/base16/atelier-seaside.min.css | 7 + .../base16/atelier-sulphurpool-light.css | 163 + .../base16/atelier-sulphurpool-light.min.css | 7 + .../styles/base16/atelier-sulphurpool.css | 163 + .../styles/base16/atelier-sulphurpool.min.css | 7 + .../highlight.js/styles/base16/atlas.css | 163 + .../highlight.js/styles/base16/atlas.min.css | 7 + .../highlight.js/styles/base16/bespin.css | 163 + .../highlight.js/styles/base16/bespin.min.css | 7 + .../styles/base16/black-metal-bathory.css | 163 + .../styles/base16/black-metal-bathory.min.css | 7 + .../styles/base16/black-metal-burzum.css | 163 + .../styles/base16/black-metal-burzum.min.css | 7 + .../base16/black-metal-dark-funeral.css | 163 + .../base16/black-metal-dark-funeral.min.css | 7 + .../styles/base16/black-metal-gorgoroth.css | 163 + .../base16/black-metal-gorgoroth.min.css | 7 + .../styles/base16/black-metal-immortal.css | 163 + .../base16/black-metal-immortal.min.css | 7 + .../styles/base16/black-metal-khold.css | 163 + .../styles/base16/black-metal-khold.min.css | 7 + .../styles/base16/black-metal-marduk.css | 163 + .../styles/base16/black-metal-marduk.min.css | 7 + .../styles/base16/black-metal-mayhem.css | 163 + .../styles/base16/black-metal-mayhem.min.css | 7 + .../styles/base16/black-metal-nile.css | 163 + .../styles/base16/black-metal-nile.min.css | 7 + .../styles/base16/black-metal-venom.css | 163 + .../styles/base16/black-metal-venom.min.css | 7 + .../styles/base16/black-metal.css | 163 + .../styles/base16/black-metal.min.css | 7 + .../highlight.js/styles/base16/brewer.css | 163 + .../highlight.js/styles/base16/brewer.min.css | 7 + .../highlight.js/styles/base16/bright.css | 163 + .../highlight.js/styles/base16/bright.min.css | 7 + .../highlight.js/styles/base16/brogrammer.css | 163 + .../styles/base16/brogrammer.min.css | 7 + .../styles/base16/brush-trees-dark.css | 163 + .../styles/base16/brush-trees-dark.min.css | 7 + .../styles/base16/brush-trees.css | 163 + .../styles/base16/brush-trees.min.css | 7 + .../highlight.js/styles/base16/chalk.css | 163 + .../highlight.js/styles/base16/chalk.min.css | 7 + .../highlight.js/styles/base16/circus.css | 163 + .../highlight.js/styles/base16/circus.min.css | 7 + .../styles/base16/classic-dark.css | 163 + .../styles/base16/classic-dark.min.css | 7 + .../styles/base16/classic-light.css | 163 + .../styles/base16/classic-light.min.css | 7 + .../highlight.js/styles/base16/codeschool.css | 163 + .../styles/base16/codeschool.min.css | 7 + .../highlight.js/styles/base16/colors.css | 163 + .../highlight.js/styles/base16/colors.min.css | 7 + .../highlight.js/styles/base16/cupcake.css | 163 + .../styles/base16/cupcake.min.css | 7 + .../highlight.js/styles/base16/cupertino.css | 163 + .../styles/base16/cupertino.min.css | 7 + .../highlight.js/styles/base16/danqing.css | 163 + .../styles/base16/danqing.min.css | 7 + .../highlight.js/styles/base16/darcula.css | 163 + .../styles/base16/darcula.min.css | 7 + .../styles/base16/dark-violet.css | 163 + .../styles/base16/dark-violet.min.css | 7 + .../highlight.js/styles/base16/darkmoss.css | 163 + .../styles/base16/darkmoss.min.css | 7 + .../highlight.js/styles/base16/darktooth.css | 163 + .../styles/base16/darktooth.min.css | 7 + .../highlight.js/styles/base16/decaf.css | 163 + .../highlight.js/styles/base16/decaf.min.css | 7 + .../styles/base16/default-dark.css | 163 + .../styles/base16/default-dark.min.css | 7 + .../styles/base16/default-light.css | 163 + .../styles/base16/default-light.min.css | 7 + .../highlight.js/styles/base16/dirtysea.css | 163 + .../styles/base16/dirtysea.min.css | 7 + .../highlight.js/styles/base16/dracula.css | 163 + .../styles/base16/dracula.min.css | 7 + .../highlight.js/styles/base16/edge-dark.css | 163 + .../styles/base16/edge-dark.min.css | 7 + .../highlight.js/styles/base16/edge-light.css | 163 + .../styles/base16/edge-light.min.css | 7 + .../highlight.js/styles/base16/eighties.css | 163 + .../styles/base16/eighties.min.css | 7 + .../highlight.js/styles/base16/embers.css | 163 + .../highlight.js/styles/base16/embers.min.css | 7 + .../styles/base16/equilibrium-dark.css | 163 + .../styles/base16/equilibrium-dark.min.css | 7 + .../styles/base16/equilibrium-gray-dark.css | 163 + .../base16/equilibrium-gray-dark.min.css | 7 + .../styles/base16/equilibrium-gray-light.css | 163 + .../base16/equilibrium-gray-light.min.css | 7 + .../styles/base16/equilibrium-light.css | 163 + .../styles/base16/equilibrium-light.min.css | 7 + .../highlight.js/styles/base16/espresso.css | 163 + .../styles/base16/espresso.min.css | 7 + .../highlight.js/styles/base16/eva-dim.css | 163 + .../styles/base16/eva-dim.min.css | 7 + .../highlight.js/styles/base16/eva.css | 163 + .../highlight.js/styles/base16/eva.min.css | 7 + .../highlight.js/styles/base16/flat.css | 163 + .../highlight.js/styles/base16/flat.min.css | 7 + .../highlight.js/styles/base16/framer.css | 163 + .../highlight.js/styles/base16/framer.min.css | 7 + .../highlight.js/styles/base16/fruit-soda.css | 163 + .../styles/base16/fruit-soda.min.css | 7 + .../highlight.js/styles/base16/gigavolt.css | 163 + .../styles/base16/gigavolt.min.css | 7 + .../highlight.js/styles/base16/github.css | 163 + .../highlight.js/styles/base16/github.min.css | 7 + .../styles/base16/google-dark.css | 163 + .../styles/base16/google-dark.min.css | 7 + .../styles/base16/google-light.css | 163 + .../styles/base16/google-light.min.css | 7 + .../styles/base16/grayscale-dark.css | 163 + .../styles/base16/grayscale-dark.min.css | 7 + .../styles/base16/grayscale-light.css | 163 + .../styles/base16/grayscale-light.min.css | 7 + .../styles/base16/green-screen.css | 163 + .../styles/base16/green-screen.min.css | 7 + .../styles/base16/gruvbox-dark-hard.css | 163 + .../styles/base16/gruvbox-dark-hard.min.css | 7 + .../styles/base16/gruvbox-dark-medium.css | 163 + .../styles/base16/gruvbox-dark-medium.min.css | 7 + .../styles/base16/gruvbox-dark-pale.css | 163 + .../styles/base16/gruvbox-dark-pale.min.css | 7 + .../styles/base16/gruvbox-dark-soft.css | 163 + .../styles/base16/gruvbox-dark-soft.min.css | 7 + .../styles/base16/gruvbox-light-hard.css | 163 + .../styles/base16/gruvbox-light-hard.min.css | 7 + .../styles/base16/gruvbox-light-medium.css | 163 + .../base16/gruvbox-light-medium.min.css | 7 + .../styles/base16/gruvbox-light-soft.css | 163 + .../styles/base16/gruvbox-light-soft.min.css | 7 + .../highlight.js/styles/base16/hardcore.css | 163 + .../styles/base16/hardcore.min.css | 7 + .../styles/base16/harmonic16-dark.css | 163 + .../styles/base16/harmonic16-dark.min.css | 7 + .../styles/base16/harmonic16-light.css | 163 + .../styles/base16/harmonic16-light.min.css | 7 + .../styles/base16/heetch-dark.css | 163 + .../styles/base16/heetch-dark.min.css | 7 + .../styles/base16/heetch-light.css | 163 + .../styles/base16/heetch-light.min.css | 7 + .../highlight.js/styles/base16/helios.css | 163 + .../highlight.js/styles/base16/helios.min.css | 7 + .../highlight.js/styles/base16/hopscotch.css | 163 + .../styles/base16/hopscotch.min.css | 7 + .../styles/base16/horizon-dark.css | 163 + .../styles/base16/horizon-dark.min.css | 7 + .../styles/base16/horizon-light.css | 163 + .../styles/base16/horizon-light.min.css | 7 + .../styles/base16/humanoid-dark.css | 163 + .../styles/base16/humanoid-dark.min.css | 7 + .../styles/base16/humanoid-light.css | 163 + .../styles/base16/humanoid-light.min.css | 7 + .../highlight.js/styles/base16/ia-dark.css | 163 + .../styles/base16/ia-dark.min.css | 7 + .../highlight.js/styles/base16/ia-light.css | 163 + .../styles/base16/ia-light.min.css | 7 + .../highlight.js/styles/base16/icy-dark.css | 163 + .../styles/base16/icy-dark.min.css | 7 + .../highlight.js/styles/base16/ir-black.css | 163 + .../styles/base16/ir-black.min.css | 7 + .../highlight.js/styles/base16/isotope.css | 163 + .../styles/base16/isotope.min.css | 7 + .../highlight.js/styles/base16/kimber.css | 163 + .../highlight.js/styles/base16/kimber.min.css | 7 + .../styles/base16/london-tube.css | 163 + .../styles/base16/london-tube.min.css | 7 + .../highlight.js/styles/base16/macintosh.css | 163 + .../styles/base16/macintosh.min.css | 7 + .../highlight.js/styles/base16/marrakesh.css | 163 + .../styles/base16/marrakesh.min.css | 7 + .../highlight.js/styles/base16/materia.css | 163 + .../styles/base16/materia.min.css | 7 + .../styles/base16/material-darker.css | 163 + .../styles/base16/material-darker.min.css | 7 + .../styles/base16/material-lighter.css | 163 + .../styles/base16/material-lighter.min.css | 7 + .../styles/base16/material-palenight.css | 163 + .../styles/base16/material-palenight.min.css | 7 + .../styles/base16/material-vivid.css | 163 + .../styles/base16/material-vivid.min.css | 7 + .../highlight.js/styles/base16/material.css | 163 + .../styles/base16/material.min.css | 7 + .../styles/base16/mellow-purple.css | 163 + .../styles/base16/mellow-purple.min.css | 7 + .../styles/base16/mexico-light.css | 163 + .../styles/base16/mexico-light.min.css | 7 + .../highlight.js/styles/base16/mocha.css | 163 + .../highlight.js/styles/base16/mocha.min.css | 7 + .../highlight.js/styles/base16/monokai.css | 163 + .../styles/base16/monokai.min.css | 7 + .../highlight.js/styles/base16/nebula.css | 163 + .../highlight.js/styles/base16/nebula.min.css | 7 + .../highlight.js/styles/base16/nord.css | 163 + .../highlight.js/styles/base16/nord.min.css | 7 + .../highlight.js/styles/base16/nova.css | 163 + .../highlight.js/styles/base16/nova.min.css | 7 + .../highlight.js/styles/base16/ocean.css | 163 + .../highlight.js/styles/base16/ocean.min.css | 7 + .../styles/base16/oceanicnext.css | 163 + .../styles/base16/oceanicnext.min.css | 7 + .../highlight.js/styles/base16/one-light.css | 163 + .../styles/base16/one-light.min.css | 7 + .../highlight.js/styles/base16/onedark.css | 163 + .../styles/base16/onedark.min.css | 7 + .../styles/base16/outrun-dark.css | 163 + .../styles/base16/outrun-dark.min.css | 7 + .../styles/base16/papercolor-dark.css | 163 + .../styles/base16/papercolor-dark.min.css | 7 + .../styles/base16/papercolor-light.css | 163 + .../styles/base16/papercolor-light.min.css | 7 + .../highlight.js/styles/base16/paraiso.css | 163 + .../styles/base16/paraiso.min.css | 7 + .../highlight.js/styles/base16/pasque.css | 163 + .../highlight.js/styles/base16/pasque.min.css | 7 + .../highlight.js/styles/base16/phd.css | 163 + .../highlight.js/styles/base16/phd.min.css | 7 + .../highlight.js/styles/base16/pico.css | 163 + .../highlight.js/styles/base16/pico.min.css | 7 + .../highlight.js/styles/base16/pop.css | 163 + .../highlight.js/styles/base16/pop.min.css | 7 + .../highlight.js/styles/base16/porple.css | 163 + .../highlight.js/styles/base16/porple.min.css | 7 + .../highlight.js/styles/base16/qualia.css | 163 + .../highlight.js/styles/base16/qualia.min.css | 7 + .../highlight.js/styles/base16/railscasts.css | 163 + .../styles/base16/railscasts.min.css | 7 + .../highlight.js/styles/base16/rebecca.css | 163 + .../styles/base16/rebecca.min.css | 7 + .../styles/base16/ros-pine-dawn.css | 163 + .../styles/base16/ros-pine-dawn.min.css | 7 + .../styles/base16/ros-pine-moon.css | 163 + .../styles/base16/ros-pine-moon.min.css | 7 + .../highlight.js/styles/base16/ros-pine.css | 163 + .../styles/base16/ros-pine.min.css | 7 + .../highlight.js/styles/base16/sagelight.css | 163 + .../styles/base16/sagelight.min.css | 7 + .../highlight.js/styles/base16/sandcastle.css | 163 + .../styles/base16/sandcastle.min.css | 7 + .../highlight.js/styles/base16/seti-ui.css | 163 + .../styles/base16/seti-ui.min.css | 7 + .../styles/base16/shapeshifter.css | 163 + .../styles/base16/shapeshifter.min.css | 7 + .../highlight.js/styles/base16/silk-dark.css | 163 + .../styles/base16/silk-dark.min.css | 7 + .../highlight.js/styles/base16/silk-light.css | 163 + .../styles/base16/silk-light.min.css | 7 + .../highlight.js/styles/base16/snazzy.css | 163 + .../highlight.js/styles/base16/snazzy.min.css | 7 + .../styles/base16/solar-flare-light.css | 163 + .../styles/base16/solar-flare-light.min.css | 7 + .../styles/base16/solar-flare.css | 163 + .../styles/base16/solar-flare.min.css | 7 + .../styles/base16/solarized-dark.css | 163 + .../styles/base16/solarized-dark.min.css | 7 + .../styles/base16/solarized-light.css | 163 + .../styles/base16/solarized-light.min.css | 7 + .../highlight.js/styles/base16/spacemacs.css | 163 + .../styles/base16/spacemacs.min.css | 7 + .../highlight.js/styles/base16/summercamp.css | 163 + .../styles/base16/summercamp.min.css | 7 + .../styles/base16/summerfruit-dark.css | 163 + .../styles/base16/summerfruit-dark.min.css | 7 + .../styles/base16/summerfruit-light.css | 163 + .../styles/base16/summerfruit-light.min.css | 7 + .../base16/synth-midnight-terminal-dark.css | 163 + .../synth-midnight-terminal-dark.min.css | 7 + .../base16/synth-midnight-terminal-light.css | 163 + .../synth-midnight-terminal-light.min.css | 7 + .../highlight.js/styles/base16/tango.css | 163 + .../highlight.js/styles/base16/tango.min.css | 7 + .../highlight.js/styles/base16/tender.css | 163 + .../highlight.js/styles/base16/tender.min.css | 7 + .../styles/base16/tomorrow-night.css | 163 + .../styles/base16/tomorrow-night.min.css | 7 + .../highlight.js/styles/base16/tomorrow.css | 163 + .../styles/base16/tomorrow.min.css | 7 + .../highlight.js/styles/base16/twilight.css | 163 + .../styles/base16/twilight.min.css | 7 + .../styles/base16/unikitty-dark.css | 163 + .../styles/base16/unikitty-dark.min.css | 7 + .../styles/base16/unikitty-light.css | 163 + .../styles/base16/unikitty-light.min.css | 7 + .../highlight.js/styles/base16/vulcan.css | 163 + .../highlight.js/styles/base16/vulcan.min.css | 7 + .../styles/base16/windows-10-light.css | 163 + .../styles/base16/windows-10-light.min.css | 7 + .../highlight.js/styles/base16/windows-10.css | 163 + .../styles/base16/windows-10.min.css | 7 + .../styles/base16/windows-95-light.css | 163 + .../styles/base16/windows-95-light.min.css | 7 + .../highlight.js/styles/base16/windows-95.css | 163 + .../styles/base16/windows-95.min.css | 7 + .../base16/windows-high-contrast-light.css | 163 + .../windows-high-contrast-light.min.css | 7 + .../styles/base16/windows-high-contrast.css | 163 + .../base16/windows-high-contrast.min.css | 7 + .../styles/base16/windows-nt-light.css | 163 + .../styles/base16/windows-nt-light.min.css | 7 + .../highlight.js/styles/base16/windows-nt.css | 163 + .../styles/base16/windows-nt.min.css | 7 + .../highlight.js/styles/base16/woodland.css | 163 + .../styles/base16/woodland.min.css | 7 + .../highlight.js/styles/base16/xcode-dusk.css | 163 + .../styles/base16/xcode-dusk.min.css | 7 + .../highlight.js/styles/base16/zenburn.css | 163 + .../styles/base16/zenburn.min.css | 7 + .../highlight.js/styles/brown-paper.css | 63 + .../highlight.js/styles/brown-paper.min.css | 1 + .../highlight.js/styles/brown-papersq.png | Bin 0 -> 18198 bytes .../highlight.js/styles/codepen-embed.css | 57 + .../highlight.js/styles/codepen-embed.min.css | 1 + .../highlight.js/styles/color-brewer.css | 66 + .../highlight.js/styles/color-brewer.min.css | 1 + .../node_modules/highlight.js/styles/dark.css | 62 + .../highlight.js/styles/dark.min.css | 1 + .../highlight.js/styles/default.css | 117 + .../highlight.js/styles/default.min.css | 9 + .../highlight.js/styles/devibeans.css | 90 + .../highlight.js/styles/devibeans.min.css | 7 + .../highlight.js/styles/docco.css | 83 + .../highlight.js/styles/docco.min.css | 1 + .../node_modules/highlight.js/styles/far.css | 67 + .../highlight.js/styles/far.min.css | 1 + .../highlight.js/styles/felipec.css | 94 + .../highlight.js/styles/felipec.min.css | 7 + .../highlight.js/styles/foundation.css | 80 + .../highlight.js/styles/foundation.min.css | 1 + .../styles/github-dark-dimmed.css | 117 + .../styles/github-dark-dimmed.min.css | 9 + .../highlight.js/styles/github-dark.css | 118 + .../highlight.js/styles/github-dark.min.css | 10 + .../highlight.js/styles/github.css | 118 + .../highlight.js/styles/github.min.css | 10 + .../node_modules/highlight.js/styles/gml.css | 72 + .../highlight.js/styles/gml.min.css | 1 + .../highlight.js/styles/googlecode.css | 79 + .../highlight.js/styles/googlecode.min.css | 1 + .../highlight.js/styles/gradient-dark.css | 90 + .../highlight.js/styles/gradient-dark.min.css | 1 + .../highlight.js/styles/gradient-light.css | 90 + .../styles/gradient-light.min.css | 1 + .../highlight.js/styles/grayscale.css | 89 + .../highlight.js/styles/grayscale.min.css | 1 + .../highlight.js/styles/hybrid.css | 88 + .../highlight.js/styles/hybrid.min.css | 1 + .../node_modules/highlight.js/styles/idea.css | 86 + .../highlight.js/styles/idea.min.css | 1 + .../highlight.js/styles/intellij-light.css | 107 + .../styles/intellij-light.min.css | 1 + .../highlight.js/styles/ir-black.css | 66 + .../highlight.js/styles/ir-black.min.css | 1 + .../highlight.js/styles/isbl-editor-dark.css | 94 + .../styles/isbl-editor-dark.min.css | 1 + .../highlight.js/styles/isbl-editor-light.css | 93 + .../styles/isbl-editor-light.min.css | 1 + .../highlight.js/styles/kimbie-dark.css | 69 + .../highlight.js/styles/kimbie-dark.min.css | 1 + .../highlight.js/styles/kimbie-light.css | 69 + .../highlight.js/styles/kimbie-light.min.css | 1 + .../highlight.js/styles/lightfair.css | 81 + .../highlight.js/styles/lightfair.min.css | 1 + .../highlight.js/styles/lioshi.css | 76 + .../highlight.js/styles/lioshi.min.css | 1 + .../highlight.js/styles/magula.css | 66 + .../highlight.js/styles/magula.min.css | 1 + .../highlight.js/styles/mono-blue.css | 56 + .../highlight.js/styles/mono-blue.min.css | 1 + .../highlight.js/styles/monokai-sublime.css | 76 + .../styles/monokai-sublime.min.css | 1 + .../highlight.js/styles/monokai.css | 68 + .../highlight.js/styles/monokai.min.css | 1 + .../highlight.js/styles/night-owl.css | 174 + .../highlight.js/styles/night-owl.min.css | 1 + .../highlight.js/styles/nnfx-dark.css | 104 + .../highlight.js/styles/nnfx-dark.min.css | 10 + .../highlight.js/styles/nnfx-light.css | 104 + .../highlight.js/styles/nnfx-light.min.css | 10 + .../node_modules/highlight.js/styles/nord.css | 275 + .../highlight.js/styles/nord.min.css | 1 + .../highlight.js/styles/obsidian.css | 79 + .../highlight.js/styles/obsidian.min.css | 1 + .../highlight.js/styles/panda-syntax-dark.css | 92 + .../styles/panda-syntax-dark.min.css | 1 + .../styles/panda-syntax-light.css | 89 + .../styles/panda-syntax-light.min.css | 1 + .../highlight.js/styles/paraiso-dark.css | 67 + .../highlight.js/styles/paraiso-dark.min.css | 1 + .../highlight.js/styles/paraiso-light.css | 67 + .../highlight.js/styles/paraiso-light.min.css | 1 + .../highlight.js/styles/pojoaque.css | 76 + .../highlight.js/styles/pojoaque.jpg | Bin 0 -> 1186 bytes .../highlight.js/styles/pojoaque.min.css | 1 + .../highlight.js/styles/purebasic.css | 103 + .../highlight.js/styles/purebasic.min.css | 1 + .../highlight.js/styles/qtcreator-dark.css | 76 + .../styles/qtcreator-dark.min.css | 1 + .../highlight.js/styles/qtcreator-light.css | 74 + .../styles/qtcreator-light.min.css | 1 + .../highlight.js/styles/rainbow.css | 77 + .../highlight.js/styles/rainbow.min.css | 1 + .../highlight.js/styles/routeros.css | 86 + .../highlight.js/styles/routeros.min.css | 1 + .../highlight.js/styles/school-book.css | 62 + .../highlight.js/styles/school-book.min.css | 1 + .../highlight.js/styles/shades-of-purple.css | 84 + .../styles/shades-of-purple.min.css | 1 + .../highlight.js/styles/srcery.css | 89 + .../highlight.js/styles/srcery.min.css | 1 + .../styles/stackoverflow-dark.css | 117 + .../styles/stackoverflow-dark.min.css | 13 + .../styles/stackoverflow-light.css | 117 + .../styles/stackoverflow-light.min.css | 13 + .../highlight.js/styles/sunburst.css | 89 + .../highlight.js/styles/sunburst.min.css | 1 + .../highlight.js/styles/tokyo-night-dark.css | 114 + .../styles/tokyo-night-dark.min.css | 8 + .../highlight.js/styles/tokyo-night-light.css | 114 + .../styles/tokyo-night-light.min.css | 8 + .../styles/tomorrow-night-blue.css | 69 + .../styles/tomorrow-night-blue.min.css | 1 + .../styles/tomorrow-night-bright.css | 68 + .../styles/tomorrow-night-bright.min.css | 1 + .../node_modules/highlight.js/styles/vs.css | 63 + .../highlight.js/styles/vs.min.css | 1 + .../highlight.js/styles/vs2015.css | 100 + .../highlight.js/styles/vs2015.min.css | 1 + .../highlight.js/styles/xcode.css | 90 + .../highlight.js/styles/xcode.min.css | 1 + .../highlight.js/styles/xt256.css | 79 + .../highlight.js/styles/xt256.min.css | 1 + .../highlight.js/types/index.d.ts | 272 + .../component-library-twig/package.json | 83 + 1936 files changed, 232269 insertions(+) create mode 100644 node_modules/@yalesites-org/component-library-twig/README.md create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/breakpoints/breakpoints.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/breakpoints/breakpoints.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-basic-themes.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-component-themes.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-global-themes.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/cl-colors.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-basic-themes.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-component-theme-pairings.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-theme-pairings.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-themes.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-themes.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/colors.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/colors.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/_effects.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/borders.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/cl-effects.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/effects.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/radii.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/shadows.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/yds-animate.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/functions/_map.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/_layout.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/cl-layout.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/yds-layout.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/spacing/spacing.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/spacing/spacing.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/tokens.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/_typography.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/body-styles.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/cl-typography.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/heading-styles.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-faces.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-faces.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-scale.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/typography.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/00-tokens/utility/_utility.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/atoms.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/base/yds-control-icon.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/base/yds-control.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/button/_yds-button.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/control.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/_yds-cta-examples.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/_yds-cta.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/yds-cta.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/_yds-text-copy-button.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/yds-text-copy-button.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/yds-text-copy-button.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/_yds-text-link.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/yds-text-link.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/yds-text-link.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/date-time/_yds-date-time.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/date-time/yds-date-time.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/_yds-divider.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/cl-dividers.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/divider.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/yds-divider.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_input.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_textarea.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_yds-form.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/_yds-checkbox-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/_yds-checkbox.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/checkbox.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/yds-checkbox.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/contact-form-example.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/forms.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/_yds-radio-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/_yds-radio.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/radio.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/yds-radio.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/_yds-select-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/_yds-select.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/select.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/yds-select.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/textfields/_yds-textfields.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/textfields/yds-textfields.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/_yds-fa-icon.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/_yds-fa-icons.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/fa-icons.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/yds-fa-icons.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/_yds-icon.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/_yds-icons.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/cl-icons.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/yds-icons.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_image.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_picture.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_responsive-image.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_yds-image.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/cl-image.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/figure.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/image.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/yds-image.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/images.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/_yds-list-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/_yds-list.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/list.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/list.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/yds-list.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/_table.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/example-tables.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/table.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/headings/_yds-headings.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/headings/yds-heading.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/_yds-text.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/yds-text.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/yds-text.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/video-background.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/video-background.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/_yds-video-embed.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/video-embed.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/video-embed.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/yds-video-embed.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/_yds-accordion-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/_yds-accordion.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/accordion.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/accordion.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/yds-accordion.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/yds-accordion.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/alert/_yds-alert.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/alert/alert.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/alert/alert.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/alert/yds-alert.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/alert/yds-alert.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/banner/action/_yds-action-banner.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/banner/action/yds-action-banner.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/banner/banner.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/banner/banner.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/banner/grand-hero.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/banner/grand-hero/_yds-grand-hero.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/banner/grand-hero/yds-grand-hero.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/callout/_yds-callout.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/callout/_yds-callout.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/callout/callout.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/callout/callout.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/callout/yds-callout.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/custom-card/_yds-custom-card.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/custom-card/custom-card.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/custom-card/custom-card.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/custom-card/yds-custom-card.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/custom-card/yds-custom-card.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/directory-listing-card/_yds-directory-listing-card.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/directory-listing-card/directory-listing-card.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/directory-listing-card/yds-directory-listing-card.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/directory-listing-card/yds-directory-listing-card.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/_yds-reference-card.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/event/_yds-event-format.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/examples/_card--examples.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/examples/event-card.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/examples/post-card.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/examples/profile-card.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/reference-card.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/yds-reference-card.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/cards/reference-card/yds-reference-card.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/content-spotlight-portrait/_yds-content-spotlight-portrait.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/content-spotlight-portrait/content-spotlight-portrait.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/content-spotlight-portrait/content-spotlight-portrait.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/content-spotlight-portrait/content-spotlights.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/content-spotlight-portrait/yds-content-spotlight-portrait.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/embed/_yds-embed.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/embed/embed.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/embed/yds-embed.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/facts-and-figures/_yds-facts-and-figures.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/facts-and-figures/facts-and-figures.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/facts-and-figures/facts-and-figures.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/facts-and-figures/yds-facts-and-figures.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/image/_yds-content-image.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/image/image.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/image/yds-content-image.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-grid/_yds-link-grid--links.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-grid/_yds-link-grid.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-grid/link-grid.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-grid/link-grid.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-grid/yds-link-grid.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-group/_yds-link-group--links.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-group/_yds-link-group.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-group/link-group.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-group/link-group.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-group/yds-link-group.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-skip/_yds-link-skip.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-skip/link-skip.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-skip/link-skip.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/link-skip/yds-link-skip.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/menu/_yds-menu-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/menu/_yds-menu-list.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/menu/_yds-menu.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/menu/menu-toggle/_yds-menu-toggle.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/menu/menu-toggle/yds-menu-toggle.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/menu/menu-toggle/yds-menu-toggle.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/menu/yds-menu.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/meta/basic-meta/_yds-basic-meta.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/meta/basic-meta/yds-basic-meta.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/meta/event-meta/_yds-event-meta.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/meta/event-meta/yds-event-meta.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/meta/meta.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/meta/profile-meta/_yds-profile-meta.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/meta/profile-meta/yds-profile-meta.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/molecules.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/page-title/_yds-page-title.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/page-title/page-title.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/page-title/page-title.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/page-title/yds-page-title.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pager/_yds-pager.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pager/cl-pager.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pager/pager-first-and-last.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pager/pager-first.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pager/pager-last.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pager/pager.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pager/pager.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pager/yds-pager.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pull-quote/_yds-pull-quote.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pull-quote/pull-quote.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pull-quote/pull-quote.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/pull-quote/yds-pull-quote.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quick-links/_yds-quick-links--links.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quick-links/_yds-quick-links.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quick-links/quick-links.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quick-links/quick-links.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quick-links/yds-quick-links.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quote-callout/_yds-quote-callout.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quote-callout/quote-callout.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quote-callout/quote-callout.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/quote-callout/yds-quote-callout.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/search-result/_yds-search-result.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/search-result/breadcrumbs.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/search-result/search-result.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/search-result/yds-search-result.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/search-result/yds-search-result.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/social-links/_yds-social-link__content.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/social-links/_yds-social-links.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/social-links/social-links.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/social-links/social-links.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/social-links/yds-social-links.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tabs/_yds-tab-content.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tabs/_yds-tab-label.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tabs/_yds-tabs.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tabs/tabs.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tabs/tabs.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tabs/yds-tabs.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tabs/yds-tabs.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/text-with-image/_yds-text-with-image.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/text-with-image/text-with-image.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/text-with-image/text-with-image.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/text-with-image/yds-text-with-image.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/text/_yds-text-field.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/text/text-field.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/text/typography.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/text/yds-text-field.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tile-item/_yds-tile-item.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tile-item/tile-item.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tile-item/tile-item.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/tile-item/yds-tile-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/video/_yds-video.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/video/video.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/video/video.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/video/yds-video.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/wrapped-image/_yds-wrapped-image.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/wrapped-image/wrapped-image.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/wrapped-image/wrapped-image.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/02-molecules/wrapped-image/yds-wrapped-image.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/_grid-mixins.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/_list-mixins.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/block-wrapper/_yds-block-wrapper.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/block-wrapper/block-wrapper.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/block-wrapper/yds-block-wrapper.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/card-collection/_yds-card-collection.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/card-collection/card-collection.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/card-collection/yds-card-collection.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/component-wrapper/_yds-component-wrapper.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/component-wrapper/component-wrapper.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/component-wrapper/yds-component-wrapper.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/custom-card-collection/_yds-custom-card-collection.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/custom-card-collection/custom-card-collection.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/custom-card-collection/yds-custom-card-collection.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/facts-and-figures-group/_yds-facts-and-figures-group.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/facts-and-figures-group/facts-and-figures-group.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/facts-and-figures-group/facts-and-figures-group.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/facts-and-figures-group/yds-facts-and-figures-group.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/gallery.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/media-grid/_yds-media-grid-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/media-grid/_yds-media-grid-modal-item--content.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/media-grid/_yds-media-grid-modal-item.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/media-grid/_yds-media-grid-modal.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/media-grid/_yds-media-grid.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/media-grid/media-grid.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/media-grid/yds-media-grid-interactive.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/galleries/media-grid/yds-media-grid.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/layout/layout.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/layout/two-column/_two-column--example.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/layout/two-column/_yds-two-column.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/layout/two-column/yds-two-column.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/breadcrumbs/_yds-breadcrumbs.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/breadcrumbs/breadcrumbs.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/breadcrumbs/breadcrumbs.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/breadcrumbs/yds-breadcrumbs.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/breadcrumbs/yds-breadcrumbs.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/primary-nav/_yds-primary-nav.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/primary-nav/primary-nav.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/primary-nav/primary-nav.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/primary-nav/yds-primary-nav.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/primary-nav/yds-primary-nav.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/utility-nav/_utility-nav--menu.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/utility-nav/_yds-utility-nav.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/utility-nav/utility-nav.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/utility-nav/utility-nav.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/menu/utility-nav/yds-utility-nav.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/organisms.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-footer/_site-footer--examples.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-footer/_site-footer-basic.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-footer/_site-footer-mega.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-footer/_yds-site-footer.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-footer/site-footer.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-footer/yds-site-footer.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-header/_site-header--examples.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-header/_site-header--secondary.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-header/_site-header-default.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-header/_site-header-simple.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-header/_yds-site-header.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-header/site-header.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-header/yds-site-header.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/site-header/yds-site-header.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/tiles/_yds-tiles.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/tiles/tiles.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/tiles/tiles.yml create mode 100644 node_modules/@yalesites-org/component-library-twig/components/03-organisms/tiles/yds-tiles.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/04-page-layouts/_yds-base.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/04-page-layouts/cl-page-args.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/04-page-layouts/page-layouts.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/04-page-layouts/page-layouts.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/04-page-layouts/placeholder/cl-placeholder.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/components/04-page-layouts/placeholder/placeholder.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/04-page-layouts/placeholder/yds-placeholder.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/04-page-layouts/yds-full-width.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/_intro-content-examples.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/events/_event-collection--example.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/events/event-grid.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/events/event-list.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/events/event-page.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/events/events.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/miscellaneous/accordion-page.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/miscellaneous/miscellaneous-page.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/miscellaneous/qualtrics-embed.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/post/post-article.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/post/post-grid.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/post/post.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/profiles/profile.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/profiles/profiles.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page-short.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page-spotlights.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page-with-banner-left-align.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page-with-banner.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page-with-quicklinks.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page-with-sidebar.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page-with-video.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/05-page-examples/standard-pages/standard-page.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/_settings/_config.css create mode 100644 node_modules/@yalesites-org/component-library-twig/components/_settings/config.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/_settings/config.stories.js create mode 100644 node_modules/@yalesites-org/component-library-twig/components/_settings/config.twig create mode 100644 node_modules/@yalesites-org/component-library-twig/components/style.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/css.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/css/fontawesome.css create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/css/fontawesome.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/css/regular.css create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/css/regular.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/css/solid.css create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/css/solid.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/webfonts/fa-regular-400.ttf create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/webfonts/fa-regular-400.woff2 create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/webfonts/fa-solid-900.ttf create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/fonts/fontawesome/webfonts/fa-solid-900.woff2 create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/icons.svg create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/00-tokens/colors/color-global-themes.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/00-tokens/effects/yds-animate.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/00-tokens/layout/yds-layout.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/01-atoms/controls/text-copy-button/yds-text-copy-button.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/01-atoms/controls/text-link/yds-text-link.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/01-atoms/typography/text/yds-text.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/01-atoms/videos/video-background/yds-video-background.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/accordion/yds-accordion.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/alert/yds-alert.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/cards/custom-card/yds-custom-card.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/cards/reference-card/yds-reference-card.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/content-spotlight-portrait/content-spotlights.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/menu/menu-toggle/yds-menu-toggle.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/page-title/page-title.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/pager/cl-pager.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/02-molecules/tabs/yds-tabs.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/03-organisms/galleries/media-grid/yds-media-grid-interactive.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/03-organisms/menu/breadcrumbs/yds-breadcrumbs.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/03-organisms/menu/primary-nav/yds-primary-nav.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/03-organisms/site-header/yds-site-header.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/04-page-layouts/cl-page-args.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/_settings/config.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/js/ys-link.js create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/style.css create mode 100644 node_modules/@yalesites-org/component-library-twig/dist/svgSprite.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/CHANGES.md create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/LICENSE create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/README.md create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/SECURITY.md create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/SUPPORTED_LANGUAGES.md create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/VERSION_10_UPGRADE.md create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/VERSION_11_UPGRADE.md create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/common.d.ts create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/common.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/core.d.ts create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/core.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/index.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/1c.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/1c.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/abnf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/abnf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/accesslog.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/accesslog.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/actionscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/actionscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ada.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ada.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/angelscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/angelscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/apache.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/apache.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/applescript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/applescript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/arcade.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/arcade.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/arduino.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/arduino.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/armasm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/armasm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/asciidoc.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/asciidoc.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/aspectj.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/aspectj.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/autohotkey.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/autohotkey.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/autoit.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/autoit.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/avrasm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/avrasm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/awk.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/awk.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/axapta.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/axapta.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/bash.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/bash.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/basic.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/basic.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/bnf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/bnf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/brainfuck.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/brainfuck.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/c.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/c.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/cal.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/cal.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/capnproto.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/capnproto.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ceylon.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ceylon.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/clean.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/clean.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/clojure-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/clojure-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/clojure.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/clojure.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/cmake.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/cmake.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/coffeescript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/coffeescript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/coq.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/coq.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/cos.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/cos.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/cpp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/cpp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/crmsh.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/crmsh.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/crystal.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/crystal.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/csharp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/csharp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/csp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/csp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/css.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/css.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/d.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/d.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dart.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dart.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/delphi.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/delphi.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/diff.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/diff.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/django.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/django.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dns.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dns.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dockerfile.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dockerfile.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dos.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dos.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dsconfig.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dsconfig.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dts.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dts.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dust.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/dust.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ebnf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ebnf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/elixir.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/elixir.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/elm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/elm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/erb.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/erb.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/erlang-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/erlang-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/erlang.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/erlang.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/excel.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/excel.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/fix.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/fix.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/flix.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/flix.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/fortran.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/fortran.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/fsharp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/fsharp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gams.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gams.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gauss.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gauss.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gcode.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gcode.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gherkin.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gherkin.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/glsl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/glsl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/go.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/go.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/golo.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/golo.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gradle.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/gradle.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/graphql.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/graphql.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/groovy.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/groovy.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/haml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/haml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/handlebars.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/handlebars.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/haskell.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/haskell.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/haxe.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/haxe.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/hsp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/hsp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/http.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/http.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/hy.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/hy.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/inform7.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/inform7.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ini.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ini.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/irpf90.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/irpf90.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/isbl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/isbl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/java.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/java.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/javascript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/javascript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/jboss-cli.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/jboss-cli.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/json.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/json.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/julia-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/julia-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/julia.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/julia.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/kotlin.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/kotlin.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/lasso.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/lasso.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/latex.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/latex.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ldif.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ldif.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/leaf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/leaf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/less.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/less.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/lisp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/lisp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/livecodeserver.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/livecodeserver.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/livescript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/livescript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/llvm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/llvm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/lsl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/lsl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/lua.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/lua.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/makefile.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/makefile.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/markdown.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/markdown.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mathematica.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mathematica.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/matlab.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/matlab.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/maxima.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/maxima.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mel.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mel.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mercury.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mercury.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mipsasm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mipsasm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mizar.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mizar.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mojolicious.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/mojolicious.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/monkey.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/monkey.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/moonscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/moonscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/n1ql.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/n1ql.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nestedtext.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nestedtext.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nginx.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nginx.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nim.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nim.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nix.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nix.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/node-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/node-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nsis.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/nsis.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/objectivec.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/objectivec.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ocaml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ocaml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/openscad.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/openscad.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/oxygene.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/oxygene.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/parser3.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/parser3.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/perl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/perl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/pf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/pf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/pgsql.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/pgsql.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/php-template.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/php-template.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/php.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/php.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/plaintext.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/plaintext.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/pony.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/pony.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/powershell.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/powershell.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/processing.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/processing.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/profile.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/profile.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/prolog.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/prolog.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/properties.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/properties.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/protobuf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/protobuf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/puppet.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/puppet.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/purebasic.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/purebasic.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/python-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/python-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/python.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/python.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/q.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/q.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/qml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/qml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/r.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/r.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/reasonml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/reasonml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/rib.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/rib.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/roboconf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/roboconf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/routeros.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/routeros.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/rsl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/rsl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ruby.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ruby.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ruleslanguage.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/ruleslanguage.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/rust.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/rust.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/sas.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/sas.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/scala.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/scala.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/scheme.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/scheme.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/scilab.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/scilab.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/scss.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/scss.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/shell.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/shell.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/smali.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/smali.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/smalltalk.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/smalltalk.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/sml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/sml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/sqf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/sqf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/sql.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/sql.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/stan.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/stan.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/stata.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/stata.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/step21.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/step21.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/stylus.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/stylus.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/subunit.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/subunit.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/swift.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/swift.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/taggerscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/taggerscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/tap.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/tap.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/tcl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/tcl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/thrift.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/thrift.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/tp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/tp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/twig.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/twig.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/typescript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/typescript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vala.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vala.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vbnet.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vbnet.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vbscript-html.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vbscript-html.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vbscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vbscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/verilog.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/verilog.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vhdl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vhdl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vim.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/vim.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/wasm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/wasm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/wren.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/wren.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/x86asm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/x86asm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/xl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/xl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/xml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/xml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/xquery.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/xquery.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/yaml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/yaml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/zephir.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/languages/zephir.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/package.json create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/es/utils/regex.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/common.d.ts create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/common.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/core.d.ts create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/core.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/index.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/1c.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/1c.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/abnf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/abnf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/accesslog.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/accesslog.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/actionscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/actionscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ada.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ada.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/angelscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/angelscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/apache.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/apache.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/applescript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/applescript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/arcade.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/arcade.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/arduino.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/arduino.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/armasm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/armasm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/asciidoc.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/asciidoc.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/aspectj.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/aspectj.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/autohotkey.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/autohotkey.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/autoit.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/autoit.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/avrasm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/avrasm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/awk.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/awk.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/axapta.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/axapta.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/bash.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/bash.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/basic.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/basic.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/bnf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/bnf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/brainfuck.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/brainfuck.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/c.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/c.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/cal.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/cal.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/capnproto.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/capnproto.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ceylon.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ceylon.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/clean.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/clean.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/clojure-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/clojure-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/clojure.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/clojure.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/cmake.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/cmake.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/coffeescript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/coffeescript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/coq.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/coq.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/cos.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/cos.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/cpp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/cpp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/crmsh.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/crmsh.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/crystal.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/crystal.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/csharp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/csharp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/csp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/csp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/css.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/css.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/d.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/d.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dart.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dart.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/delphi.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/delphi.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/diff.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/diff.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/django.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/django.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dns.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dns.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dockerfile.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dockerfile.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dos.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dos.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dsconfig.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dsconfig.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dts.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dts.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dust.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/dust.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ebnf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ebnf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/elixir.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/elixir.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/elm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/elm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/erb.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/erb.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/erlang-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/erlang-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/erlang.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/erlang.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/excel.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/excel.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/fix.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/fix.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/flix.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/flix.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/fortran.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/fortran.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/fsharp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/fsharp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gams.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gams.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gauss.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gauss.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gcode.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gcode.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gherkin.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gherkin.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/glsl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/glsl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/go.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/go.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/golo.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/golo.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gradle.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/gradle.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/graphql.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/graphql.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/groovy.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/groovy.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/haml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/haml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/handlebars.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/handlebars.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/haskell.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/haskell.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/haxe.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/haxe.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/hsp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/hsp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/http.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/http.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/hy.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/hy.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/inform7.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/inform7.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ini.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ini.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/irpf90.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/irpf90.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/isbl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/isbl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/java.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/java.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/javascript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/javascript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/jboss-cli.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/jboss-cli.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/json.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/json.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/julia-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/julia-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/julia.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/julia.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/kotlin.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/kotlin.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/lasso.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/lasso.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/latex.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/latex.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ldif.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ldif.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/leaf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/leaf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/less.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/less.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/lisp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/lisp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/livecodeserver.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/livecodeserver.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/livescript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/livescript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/llvm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/llvm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/lsl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/lsl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/lua.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/lua.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/makefile.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/makefile.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/markdown.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/markdown.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mathematica.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mathematica.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/matlab.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/matlab.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/maxima.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/maxima.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mel.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mel.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mercury.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mercury.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mipsasm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mipsasm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mizar.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mizar.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mojolicious.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/mojolicious.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/monkey.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/monkey.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/moonscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/moonscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/n1ql.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/n1ql.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nestedtext.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nestedtext.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nginx.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nginx.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nim.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nim.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nix.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nix.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/node-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/node-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nsis.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/nsis.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/objectivec.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/objectivec.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ocaml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ocaml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/openscad.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/openscad.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/oxygene.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/oxygene.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/parser3.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/parser3.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/perl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/perl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/pf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/pf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/pgsql.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/pgsql.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/php-template.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/php-template.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/php.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/php.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/plaintext.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/plaintext.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/pony.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/pony.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/powershell.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/powershell.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/processing.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/processing.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/profile.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/profile.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/prolog.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/prolog.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/properties.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/properties.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/protobuf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/protobuf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/puppet.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/puppet.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/purebasic.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/purebasic.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/python-repl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/python-repl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/python.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/python.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/q.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/q.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/qml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/qml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/r.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/r.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/reasonml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/reasonml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/rib.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/rib.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/roboconf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/roboconf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/routeros.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/routeros.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/rsl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/rsl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ruby.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ruby.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ruleslanguage.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/ruleslanguage.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/rust.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/rust.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/sas.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/sas.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/scala.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/scala.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/scheme.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/scheme.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/scilab.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/scilab.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/scss.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/scss.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/shell.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/shell.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/smali.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/smali.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/smalltalk.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/smalltalk.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/sml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/sml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/sqf.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/sqf.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/sql.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/sql.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/stan.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/stan.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/stata.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/stata.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/step21.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/step21.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/stylus.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/stylus.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/subunit.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/subunit.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/swift.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/swift.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/taggerscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/taggerscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/tap.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/tap.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/tcl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/tcl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/thrift.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/thrift.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/tp.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/tp.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/twig.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/twig.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/typescript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/typescript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vala.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vala.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vbnet.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vbnet.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vbscript-html.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vbscript-html.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vbscript.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vbscript.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/verilog.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/verilog.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vhdl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vhdl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vim.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/vim.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/wasm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/wasm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/wren.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/wren.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/x86asm.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/x86asm.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/xl.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/xl.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/xml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/xml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/xquery.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/xquery.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/yaml.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/yaml.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/zephir.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/lib/languages/zephir.js.js create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/package.json create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/a11y-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/a11y-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/agate.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/an-old-hope.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/androidstudio.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/arduino-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/arta.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/ascetic.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/atom-one-dark-reasonable.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/atom-one-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/atom-one-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/3024.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/apathy.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/apprentice.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/ashes.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-cave-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-cave.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-dune-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-dune.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-estuary-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-estuary.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-forest-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-forest.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-heath-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-heath.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-lakeside-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-lakeside.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-plateau-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-plateau.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-savanna-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-savanna.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-seaside-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-seaside.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-sulphurpool-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atelier-sulphurpool.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/atlas.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/bespin.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-bathory.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-burzum.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-dark-funeral.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-gorgoroth.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-immortal.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-khold.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-marduk.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-mayhem.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-nile.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal-venom.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/black-metal.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/brewer.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/bright.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/brogrammer.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/brush-trees-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/brush-trees.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/chalk.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/circus.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/classic-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/classic-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/codeschool.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/colors.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/cupcake.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/cupertino.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/danqing.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/darcula.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/dark-violet.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/darkmoss.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/darktooth.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/decaf.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/default-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/default-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/dirtysea.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/dracula.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/edge-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/edge-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/eighties.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/embers.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/equilibrium-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/equilibrium-gray-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/equilibrium-gray-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/equilibrium-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/espresso.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/eva-dim.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/eva.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/flat.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/framer.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/fruit-soda.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/gigavolt.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/github.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/google-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/google-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/grayscale-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/grayscale-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/green-screen.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/gruvbox-dark-hard.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/gruvbox-dark-medium.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/gruvbox-dark-pale.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/gruvbox-dark-soft.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/gruvbox-light-hard.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/gruvbox-light-medium.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/gruvbox-light-soft.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/hardcore.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/harmonic16-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/harmonic16-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/heetch-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/heetch-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/helios.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/hopscotch.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/horizon-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/horizon-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/humanoid-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/humanoid-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/ia-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/ia-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/icy-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/ir-black.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/isotope.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/kimber.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/london-tube.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/macintosh.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/marrakesh.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/materia.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/material-darker.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/material-lighter.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/material-palenight.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/material-vivid.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/material.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/mellow-purple.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/mexico-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/mocha.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/monokai.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/nebula.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/nord.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/nova.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/ocean.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/oceanicnext.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/one-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/onedark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/outrun-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/papercolor-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/papercolor-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/paraiso.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/pasque.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/phd.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/pico.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/pop.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/porple.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/qualia.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/railscasts.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/rebecca.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/ros-pine-dawn.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/ros-pine-moon.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/ros-pine.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/sagelight.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/sandcastle.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/seti-ui.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/shapeshifter.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/silk-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/silk-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/snazzy.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/solar-flare-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/solar-flare.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/solarized-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/solarized-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/spacemacs.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/summercamp.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/summerfruit-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/summerfruit-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/synth-midnight-terminal-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/synth-midnight-terminal-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/tango.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/tender.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/tomorrow-night.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/tomorrow.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/twilight.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/unikitty-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/unikitty-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/vulcan.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/windows-10-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/windows-10.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/windows-95-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/windows-95.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/windows-high-contrast-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/windows-high-contrast.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/windows-nt-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/windows-nt.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/woodland.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/xcode-dusk.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/base16/zenburn.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/brown-paper.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/codepen-embed.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/color-brewer.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/default.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/devibeans.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/docco.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/far.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/felipec.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/foundation.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/github-dark-dimmed.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/github-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/github.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/gml.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/googlecode.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/gradient-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/gradient-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/grayscale.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/hybrid.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/idea.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/intellij-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/ir-black.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/isbl-editor-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/isbl-editor-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/kimbie-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/kimbie-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/lightfair.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/lioshi.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/magula.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/mono-blue.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/monokai-sublime.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/monokai.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/night-owl.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/nnfx-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/nnfx-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/nord.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/obsidian.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/panda-syntax-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/panda-syntax-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/paraiso-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/paraiso-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/pojoaque.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/purebasic.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/qtcreator-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/qtcreator-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/rainbow.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/routeros.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/school-book.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/shades-of-purple.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/srcery.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/stackoverflow-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/stackoverflow-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/sunburst.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/tokyo-night-dark.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/tokyo-night-light.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/tomorrow-night-blue.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/tomorrow-night-bright.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/vs.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/vs2015.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/xcode.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/scss/xt256.scss create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/a11y-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/a11y-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/a11y-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/a11y-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/agate.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/agate.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/an-old-hope.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/an-old-hope.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/androidstudio.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/androidstudio.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/arduino-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/arduino-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/arta.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/arta.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/ascetic.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/ascetic.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/atom-one-dark-reasonable.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/atom-one-dark-reasonable.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/atom-one-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/atom-one-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/atom-one-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/atom-one-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/3024.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/3024.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/apathy.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/apathy.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/apprentice.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/apprentice.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ashes.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ashes.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-cave-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-cave-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-cave.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-cave.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-dune-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-dune-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-dune.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-dune.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-estuary-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-estuary-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-estuary.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-estuary.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-forest-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-forest-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-forest.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-forest.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-heath-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-heath-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-heath.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-heath.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-lakeside-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-lakeside-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-lakeside.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-lakeside.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-plateau-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-plateau-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-plateau.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-plateau.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-savanna-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-savanna-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-savanna.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-savanna.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-seaside-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-seaside-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-seaside.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-seaside.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-sulphurpool-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-sulphurpool-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-sulphurpool.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atelier-sulphurpool.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atlas.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/atlas.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/bespin.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/bespin.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-bathory.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-bathory.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-burzum.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-burzum.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-dark-funeral.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-dark-funeral.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-gorgoroth.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-gorgoroth.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-immortal.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-immortal.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-khold.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-khold.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-marduk.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-marduk.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-mayhem.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-mayhem.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-nile.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-nile.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-venom.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal-venom.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/black-metal.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/brewer.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/brewer.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/bright.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/bright.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/brogrammer.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/brogrammer.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/brush-trees-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/brush-trees-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/brush-trees.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/brush-trees.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/chalk.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/chalk.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/circus.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/circus.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/classic-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/classic-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/classic-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/classic-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/codeschool.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/codeschool.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/colors.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/colors.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/cupcake.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/cupcake.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/cupertino.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/cupertino.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/danqing.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/danqing.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/darcula.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/darcula.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/dark-violet.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/dark-violet.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/darkmoss.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/darkmoss.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/darktooth.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/darktooth.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/decaf.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/decaf.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/default-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/default-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/default-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/default-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/dirtysea.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/dirtysea.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/dracula.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/dracula.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/edge-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/edge-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/edge-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/edge-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/eighties.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/eighties.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/embers.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/embers.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/equilibrium-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/equilibrium-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/equilibrium-gray-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/equilibrium-gray-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/equilibrium-gray-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/equilibrium-gray-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/equilibrium-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/equilibrium-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/espresso.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/espresso.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/eva-dim.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/eva-dim.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/eva.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/eva.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/flat.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/flat.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/framer.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/framer.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/fruit-soda.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/fruit-soda.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gigavolt.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gigavolt.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/github.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/github.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/google-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/google-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/google-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/google-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/grayscale-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/grayscale-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/grayscale-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/grayscale-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/green-screen.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/green-screen.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-dark-hard.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-dark-hard.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-dark-medium.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-dark-medium.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-dark-pale.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-dark-pale.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-dark-soft.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-dark-soft.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-light-hard.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-light-hard.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-light-medium.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-light-medium.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-light-soft.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/gruvbox-light-soft.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/hardcore.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/hardcore.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/harmonic16-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/harmonic16-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/harmonic16-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/harmonic16-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/heetch-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/heetch-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/heetch-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/heetch-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/helios.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/helios.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/hopscotch.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/hopscotch.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/horizon-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/horizon-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/horizon-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/horizon-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/humanoid-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/humanoid-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/humanoid-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/humanoid-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ia-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ia-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ia-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ia-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/icy-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/icy-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ir-black.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ir-black.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/isotope.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/isotope.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/kimber.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/kimber.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/london-tube.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/london-tube.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/macintosh.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/macintosh.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/marrakesh.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/marrakesh.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/materia.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/materia.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material-darker.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material-darker.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material-lighter.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material-lighter.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material-palenight.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material-palenight.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material-vivid.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material-vivid.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/material.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/mellow-purple.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/mellow-purple.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/mexico-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/mexico-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/mocha.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/mocha.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/monokai.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/monokai.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/nebula.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/nebula.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/nord.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/nord.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/nova.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/nova.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ocean.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ocean.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/oceanicnext.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/oceanicnext.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/one-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/one-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/onedark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/onedark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/outrun-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/outrun-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/papercolor-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/papercolor-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/papercolor-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/papercolor-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/paraiso.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/paraiso.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/pasque.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/pasque.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/phd.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/phd.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/pico.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/pico.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/pop.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/pop.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/porple.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/porple.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/qualia.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/qualia.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/railscasts.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/railscasts.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/rebecca.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/rebecca.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ros-pine-dawn.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ros-pine-dawn.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ros-pine-moon.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ros-pine-moon.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ros-pine.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/ros-pine.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/sagelight.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/sagelight.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/sandcastle.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/sandcastle.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/seti-ui.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/seti-ui.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/shapeshifter.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/shapeshifter.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/silk-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/silk-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/silk-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/silk-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/snazzy.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/snazzy.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/solar-flare-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/solar-flare-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/solar-flare.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/solar-flare.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/solarized-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/solarized-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/solarized-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/solarized-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/spacemacs.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/spacemacs.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/summercamp.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/summercamp.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/summerfruit-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/summerfruit-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/summerfruit-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/summerfruit-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/synth-midnight-terminal-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/synth-midnight-terminal-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/synth-midnight-terminal-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/synth-midnight-terminal-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/tango.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/tango.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/tender.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/tender.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/tomorrow-night.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/tomorrow-night.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/tomorrow.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/tomorrow.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/twilight.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/twilight.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/unikitty-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/unikitty-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/unikitty-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/unikitty-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/vulcan.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/vulcan.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-10-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-10-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-10.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-10.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-95-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-95-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-95.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-95.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-high-contrast-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-high-contrast-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-high-contrast.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-high-contrast.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-nt-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-nt-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-nt.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/windows-nt.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/woodland.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/woodland.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/xcode-dusk.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/xcode-dusk.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/zenburn.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/base16/zenburn.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/brown-paper.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/brown-paper.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/brown-papersq.png create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/codepen-embed.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/codepen-embed.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/color-brewer.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/color-brewer.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/default.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/default.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/devibeans.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/devibeans.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/docco.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/docco.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/far.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/far.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/felipec.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/felipec.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/foundation.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/foundation.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/github-dark-dimmed.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/github-dark-dimmed.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/github-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/github-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/github.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/github.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/gml.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/gml.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/googlecode.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/googlecode.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/gradient-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/gradient-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/gradient-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/gradient-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/grayscale.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/grayscale.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/hybrid.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/hybrid.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/idea.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/idea.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/intellij-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/intellij-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/ir-black.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/ir-black.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/isbl-editor-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/isbl-editor-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/isbl-editor-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/isbl-editor-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/kimbie-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/kimbie-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/kimbie-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/kimbie-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/lightfair.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/lightfair.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/lioshi.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/lioshi.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/magula.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/magula.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/mono-blue.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/mono-blue.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/monokai-sublime.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/monokai-sublime.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/monokai.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/monokai.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/night-owl.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/night-owl.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/nnfx-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/nnfx-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/nnfx-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/nnfx-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/nord.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/nord.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/obsidian.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/obsidian.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/panda-syntax-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/panda-syntax-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/panda-syntax-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/panda-syntax-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/paraiso-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/paraiso-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/paraiso-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/paraiso-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/pojoaque.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/pojoaque.jpg create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/pojoaque.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/purebasic.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/purebasic.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/qtcreator-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/qtcreator-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/qtcreator-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/qtcreator-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/rainbow.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/rainbow.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/routeros.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/routeros.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/school-book.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/school-book.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/shades-of-purple.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/shades-of-purple.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/srcery.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/srcery.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/stackoverflow-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/stackoverflow-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/stackoverflow-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/stackoverflow-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/sunburst.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/sunburst.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/tokyo-night-dark.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/tokyo-night-dark.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/tokyo-night-light.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/tokyo-night-light.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/tomorrow-night-blue.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/tomorrow-night-blue.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/tomorrow-night-bright.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/tomorrow-night-bright.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/vs.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/vs.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/vs2015.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/vs2015.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/xcode.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/xcode.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/xt256.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/styles/xt256.min.css create mode 100644 node_modules/@yalesites-org/component-library-twig/node_modules/highlight.js/types/index.d.ts create mode 100644 node_modules/@yalesites-org/component-library-twig/package.json diff --git a/node_modules/@yalesites-org/component-library-twig/README.md b/node_modules/@yalesites-org/component-library-twig/README.md new file mode 100644 index 000000000..829bca125 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/README.md @@ -0,0 +1,129 @@ +# YaleSites Twig Component Library + +All YaleSites projects have access to components in the YaleSites component library. Themes may choose which variations of components to implement, and options are available. + +## Installation + +
Prerequisites + +Each environment that needs to pull @yalesites-org packages from GitHub needs to be authenticated using a "Personal Access Token". This only needs to be done once per-environment. + +- Go to `https://github.com/settings/tokens/new` + - In the "Note" field add something like "YaleSites GitHub Packages" + - Choose an expiration value + - Check the box for "write:packages" (this will automatically check all of the "repo" boxes as well) + - Click "Generate token" +- On your local machine, create an environment variable. This process varies depending on the shell and operating system you use. It will be something similar to this though: `export KEY=value`. + - The `key` for YaleSites projects needs to be `YALESITES_BUILD_TOKEN` + - The `value` is the token you created above +- Done! + +- [Here's a stack overflow post showing how to set persistent environment variables for various shells](https://unix.stackexchange.com/questions/117467/how-to-permanently-set-environmental-variables) + +
+ +### Installing the component library locally + +If you want to work directly on the component library locally, you can clone this repo and install the dependencies as described below. + +1. Clone the repository `git clone git@github.com:yalesites-org/component-library-twig.git` +2. Change directories into the repo `cd component-library-twig` +3. Verify you're using the correct version of node `nvm use` +4. Install dependencies `npm install` +5. Run the develop script `npm run develop` +6. Make your changes and commit them! + +### Installing the package in another project + +There must be a `.npmrc` file in the project root that tells npm to get `@yalesites-org` packages from GitHub rather than npm. + +- Create a `.npmrc` file in your project root (or modify an existing one) and add the following: + +```bash +@yalesites-org:registry=https://npm.pkg.github.com +``` + +Then you can install the package like any other npm dependency. + +```bash +npm install @yalesites-org/component-library-twig +``` + +## Releases + +Any time something is pushed to the `main` branch on GitHub, a [GitHub Action](.github/workflows/release.yml) is run to determine whether a new release is needed (via semantic-release.) + +This is an entirely automated process, so whether changes are pushed directly to `main` or if they go through the preferred PR workflow the release process will be run. + +## Live Component Library + +You can view the latest version of the component library at any time by visiting the [Deployed Storybook](https://yalesites-org.github.io/component-library-twig). All new commits to the `main` branch trigger a rebuild and deploy of the component library, so it will always be up-to-date with the latest released code. + +## Development Component Libraries + +The `develop` branch also has an auto-deployed component library. This will contain all of the work that will go out in the next release. It is [deployed to netlify](https://dev-component-library-twig.netlify.app). + +PRs also have auto-deployed component libraries, which allow reviewers to load the latest state of a PR at any given time without having to fiddle with local tooling. Each PR will have a link posted to the PR comments by the "netlify bot" when the link is ready. See screenshot below. + +![PR preview link is the last link in the Netlify bot comment](./.github/docs/pr-preview-link.png) + +## Visual Regression Testing + +This project uses Percy's StoryBook integration to visually test and verify components during Pull Requests in GitHub. + +View the status of any build here: https://percy.io/95144ff9/component-library-twig + +### Running Visreg Tests + +**NOTE:** Percy is temporarily auto-approving all branches for now. (Original was only auto-approving `main`) This will be reverted once we have a better handle on how to manage the visreg tests. + +Visual regression tests are automatically run on Percy any time a PR is changed from "Draft" state to "Ready for Review". So there are a few things to keep in mind when creating PRs. + +- When you initially create a PR that needs visreg tests, click the "Create draft PR" button instead of the "Create Pull Request" button. + +![Click the Create draft PR button](./.github/docs/draft-pr.png) + +- Then, when the PR is ready for review, you can click the "Ready for Review" button at the bottom of the page. This will trigger the visual regression tests to be run. + +![Click the Ready for Review button when the PR is complete](./.gihub/docs/../../.github/docs/ready-for-review.png) + +- If you've already created a PR and need forgot to create a draft first, or you need to re-run the visual regression tests after changes were made, you can click the "Convert to draft" link at the bottom of the page. + +![Click the Convert to draft button](./.github/docs/convert-to-draft.png) + +- Then click the "Ready for Review" button mentioned above to trigger visual regression tests. + +### Configuring Percy Tests + +Official Docs: https://docs.percy.io/docs/storybook + +By default all new Stories are tested, but stories can be excluded if a test does not provide value in isolation. + +In the project root, there is a `.percyrc` file that can be used to modify Percy's configuration, including custom css, and which Stories to skip when testing. + +#### Percy-specific CSS + +For example, we use the following percy-specific css to hide images from screenshots (since we use a random image service, which would otherwise cause regressions on every test that includes an image.) + +```css +img { + visibility: hidden; +} +``` + +#### Excluding Stories from Testing + +Since Percy bills by the screenshot, it's best to only test the Stories that provide value when tested visually. Some reasons stories should be excluded include: + +- Anything that is simply a representation of a base or "primitive" token. These will be represented in the larger components that implement them, so in isolation they don't provide significant value to visual testing. +- Dynamic stories that automatically update when new tokens are added upstream. e.g. The colors story. Since colors aren't really a concern at this level (they're defined in Figma by a designer) we don't really need to test them in isolation here. +- "Playground" types of stories. e.g. The site "Header" story. Since there are a number of choices, or props, that can affect how the site header looks, we have a "playground" story that allows a visitor to toggle all of the controls to see what can be generated with the design system options. What SHOULD be tested is one or more examples of the component with various decisions selected. That is why we have a "Header Examples" story that demonstrates the allowed color combinations. + +To exclude stories, add an item to the `exclude` array in a regex format. Some examples of what we currently exclude are: + +```yml +storybook: + exclude: + - 'Tokens/Breakpoints: Breakpoints' # This specific story (must match exactly) + - 'Tokens/Effects: [a-zA-Z]+' # Any story in the `Tokens/Effects` section, since they are dynamically generated. +``` diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/breakpoints/breakpoints.stories.js b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/breakpoints/breakpoints.stories.js new file mode 100644 index 000000000..782f02e39 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/breakpoints/breakpoints.stories.js @@ -0,0 +1,11 @@ +import tokens from '@yalesites-org/tokens/build/json/tokens.json'; + +import breakpointsTwig from './breakpoints.twig'; + +const breakpointsData = { breakpoints: tokens.break }; + +export default { + title: 'Tokens/Breakpoints', +}; + +export const breakpoints = () => breakpointsTwig(breakpointsData); diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/breakpoints/breakpoints.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/breakpoints/breakpoints.twig new file mode 100644 index 000000000..94576a174 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/breakpoints/breakpoints.twig @@ -0,0 +1,34 @@ +{% set breakpoints__base_class = 'cl-table' %} +{% set breakpoint_names = { + 's': 'Small', + 'm': 'Medium', + 'l': 'Large', + 'xl': 'X-Large', + '2xl': 'XX-Large', + 'max-width': 'Max-Width', + 'mobile': 'Mobile (targets larger screens)', + 'mobile-max': 'Mobile Max (targets smaller screens)', +} %} + + + + + + + + + + + {% for breakpoint, value in _context.breakpoints %} + + {% for breakpoint_short, breakpoint_name in breakpoint_names %} + {% if breakpoint_short == breakpoint %} + + {% endif %} + {% endfor %} + + + + {% endfor %} + +
Breakpoint(SCSS) VariableWidth
{{ breakpoint_name }}$break-{{ breakpoint }}{{ value }}
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-basic-themes.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-basic-themes.scss new file mode 100644 index 000000000..de20d2416 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-basic-themes.scss @@ -0,0 +1,16 @@ +@use '~@yalesites-org/tokens/build/scss/tokens'; +@use '../functions/map'; + +$basic-themes: map.deep-get(tokens.$tokens, 'basic-themes'); + +@each $basicTheme, $value in $basic-themes { + [data-basic-theme='#{$basicTheme}'] { + --color-background: var(--basic-themes-#{$basicTheme}-background); + --color-text: var(--basic-themes-#{$basicTheme}-text); + --color-heading: var(--basic-themes-#{$basicTheme}-heading); + --color-text-shadow: var(--basic-themes-#{$basicTheme}-background); + + background-color: var(--color-background); + color: var(--color-text); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-component-themes.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-component-themes.scss new file mode 100644 index 000000000..f1d86dbff --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-component-themes.scss @@ -0,0 +1,17 @@ +@use '~@yalesites-org/tokens/build/scss/tokens'; +@use '../functions/map'; + +$themes: map.deep-get(tokens.$tokens, 'component-themes'); + +@each $theme, $value in $themes { + [data-component-theme='#{$theme}'] { + --color-slot-one: var(--component-themes-#{$theme}-slot-one); + --color-slot-two: var(--component-themes-#{$theme}-slot-two); + --color-slot-three: var(--component-themes-#{$theme}-slot-three); + --color-slot-four: var(--component-themes-#{$theme}-slot-four); + --color-slot-five: var(--component-themes-#{$theme}-slot-five); + --color-background: var(--component-themes-#{$theme}-background); + --color-text: var(--component-themes-#{$theme}-text); + --color-heading: var(--component-themes-#{$theme}-heading); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-global-themes.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-global-themes.scss new file mode 100644 index 000000000..881bf47e5 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/_color-global-themes.scss @@ -0,0 +1,14 @@ +@use '~@yalesites-org/tokens/build/scss/tokens'; +@use '../functions/map'; + +$global-themes: map.deep-get(tokens.$tokens, 'global-themes'); + +@each $globalTheme, $value in $global-themes { + [data-global-theme='#{$globalTheme}'] { + --color-slot-one: var(--global-themes-#{$globalTheme}-colors-slot-one); + --color-slot-two: var(--global-themes-#{$globalTheme}-colors-slot-two); + --color-slot-three: var(--global-themes-#{$globalTheme}-colors-slot-three); + --color-slot-four: var(--global-themes-#{$globalTheme}-colors-slot-four); + --color-slot-five: var(--global-themes-#{$globalTheme}-colors-slot-five); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/cl-colors.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/cl-colors.scss new file mode 100644 index 000000000..a6fe2503b --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/cl-colors.scss @@ -0,0 +1,64 @@ +.cl-colors__list { + display: flex; + flex-wrap: wrap; + margin: 0 0 var(--size-spacing-7); + padding: 0; +} + +.cl-colors__item { + list-style: none; + padding: var(--size-spacing-5) var(--size-spacing-7); + flex: 1 1 20%; + min-width: 150px; + min-height: 150px; + display: flex; + justify-content: center; + align-items: flex-end; +} + +.cl-colors__title { + background: hsl(0deg 0% 100% / 80%); + padding: 0.5rem; +} + +[data-global-theme] { + .global-theme-title { + position: sticky; + top: 0; + z-index: 10; + padding: var(--site-spacing-5); + background-color: var(--color-basic-white); + border-bottom: 0.25rem solid var(--color-gray-700); + margin-bottom: var(--size-spacing-6); + } +} + +.cl-basic-themes-pairing { + padding: var(--size-spacing-5); + margin-bottom: var(--size-spacing-6); + + .text-field a { + --color-text-shadow: var(--color-background); + + color: var(--color-text); + + &:hover { + text-decoration: none; + } + } +} + +.cl-color-pairing { + margin-bottom: var(--size-spacing-6); + width: 100%; + max-width: 100%; +} + +.cl-color-global-themes { + margin-bottom: var(--size-spacing-10); + padding-top: var(--size-spacing-10); + + + .cl-color-global-themes { + border-top: 0.25rem dotted var(--color-gray-300); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-basic-themes.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-basic-themes.twig new file mode 100644 index 000000000..217107bd8 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-basic-themes.twig @@ -0,0 +1,33 @@ +{% set color_pairing__base_class = 'cl-basic-themes-pairing' %} + +{% for theme, value in _context.themes %} +
+

Basic Theme: {{ theme }}

+

Here's a paragraph with some text. And links can go here too. Isn't that cool?

+
+ {% include "@atoms/controls/cta/yds-cta.twig" with { + cta__content: 'Cta Link', + cta__href: '#', + } %} + {% include "@atoms/controls/cta/yds-cta.twig" with { + cta__content: 'Outline', + cta__style: 'outline', + cta__href: '#', + } %} +
+ {% include "@molecules/social-links/yds-social-links.twig" with { + icons: { + 1: { + name: 'Facebook', + icon: 'facebook', + url: 'https://www.facebook.com', + }, + 2: { + name: 'X', + icon: 'x-twitter', + url: 'https://www.twitter.com', + } + } + } %} +
+{% endfor %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-component-theme-pairings.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-component-theme-pairings.twig new file mode 100644 index 000000000..cf74d848a --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-component-theme-pairings.twig @@ -0,0 +1,144 @@ +{% set color_pairing__base_class = 'cl-color-pairing' %} + +
+
+
+
+

Component themes (dials)

+ +

This page outlines all components which have dial/component theme options. Each component below has control options to view and change each component's default component color theme.

+ +

Each component theme is defined in the tokens repository: atomic/_yale-packages/tokens/tokens/base/color.yml. Each theme has a generic numerical name. If you were to add another component theme, it should follow the same naming convention. For example: four or seven.

+ +

The header and footer themes have their own yml configuration files.

+
    +
  • atomic/_yale-packages/tokens/tokens/organisms/site-header.yml
  • +
  • atomic/_yale-packages/tokens/tokens/organisms/site-footer.yml
  • +
+
+
+
+
+ +
+
+
+ {% include "@organisms/site-header/yds-site-header.twig" with { + site_header__theme: site_header__theme, + } %} +
+
+ +
+ {% include "@molecules/banner/action/yds-action-banner.twig" %} +
+ +
+ {% include "@molecules/text/yds-text-field.twig" with { + text_field__alignment: 'left', + text_field__content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A lacus vestibulum sed arcu non odio euismod lacinia. Varius sit amet mattis vulputate enim nulla. Sit amet justo donec enim diam vulputate ut pharetra sit. Ipsum dolor sit amet consectetur adipiscing elit ut aliquam purus. Lorem ipsum dolor sit amet consectetur adipiscing elit pellentesque. Vitae congue mauris rhoncus aenean vel elit scelerisque. Vulputate odio ut enim blandit volutpat maecenas volutpat blandit aliquam. Turpis massa sed elementum tempus egestas sed sed risus. A erat nam at lectus urna duis convallis convallis. Sollicitudin nibh sit amet commodo nulla. Iaculis urna id volutpat lacus.', + } %} + + {% embed "@organisms/component-wrapper/yds-component-wrapper.twig" with { + component_wrapper__width: 'site', + component_wrapper__alignment: 'left', + component__modifiers: ['no-top-margin', 'no-bottom-margin'] + }%} + {% block component_wrapper_inner %} + {% include "@atoms/controls/cta/yds-cta.twig" with { + cta__content: 'Button link', + cta__href: 'javascript:;', + cta__blockname: callout__base_class, + cta__component_theme: cta_button__component_theme, + } %} + {% endblock %} + {% endembed %} +
+ + +
+ {% include "@molecules/quick-links/yds-quick-links.twig" with { + quick_links__heading: 'Heading for Quick Links', + quick_links__description: '

This is a Quick Links description.

', + quick_links__image: true, + quick_links__background_color: quick_links__background_color|default('one'), + quick_links__links:[ + { + quick_links__link__url: '#', + quick_links__link__content: 'This is a link', + }, + { quick_links__link__url: '#', + quick_links__link__content: 'This is another link', + }, + { quick_links__link__url: '#', + quick_links__link__content: 'Link #3', + }, + { quick_links__link__url: '#', + quick_links__link__content: 'This is a long link that will wrap lines', + } + ] + }%} +
+ +
+ {% include "@molecules/pull-quote/yds-pull-quote.twig" with { + pull_quote__width: 'site', + pull_quote__alignment: 'left', + pull_quote__quote: 'Our platform will transform our ability to study metabolic filaments and, coupled with biochemical and biophysical tools, manipulate enzyme structures and metabolic activity in cells.', + } %} +
+ +
+ {% include "@molecules/callout/yds-callout.twig" with { + callouts: [ + { + callout__heading: 'Degree Programs', + callout__text: 'Designed for those who intend to pursue graduate and those who wish to immediately enter a career in which broad scientific training is beneficial.', + callout__link__content: 'Programs', + callout__link__url: '#', + }, + { + callout__heading: 'Preference Selection', + callout__text: 'Preference Selection system is now open and will close again on Monday, January 10, 2022.', + callout__link__content: 'Select preferences', + callout__link__url: '#', + }, + ], + } %} +
+ + +
+ {% embed "@organisms/component-wrapper/yds-component-wrapper.twig" %} + {% block component_wrapper_inner %} + {% include "@molecules/tabs/yds-tabs.twig" %} + {% endblock %} + {% endembed %} +
+ +
+ {% include "@molecules/quote-callout/yds-quote-callout.twig" with { + standalone_quote__width: 'site', + standalone_quote__alignment: 'left', + standalone_quote__quote_alignment: 'left', + standalone_quote__style: 'bar', + standalone_quote__quote: 'Our platform will transform our ability to study metabolic filaments and, coupled with biochemical and biophysical tools, manipulate enzyme structures and metabolic activity in cells.', + } %} +
+ +
+ {% include "@molecules/text/yds-text-field.twig" with { + text_field__alignment: 'left', + text_field__content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A lacus vestibulum sed arcu non odio euismod lacinia. Varius sit amet mattis vulputate enim nulla. Sit amet justo donec enim diam vulputate ut pharetra sit. Ipsum dolor sit amet consectetur adipiscing elit ut aliquam purus. Lorem ipsum dolor sit amet consectetur adipiscing elit pellentesque. Vitae congue mauris rhoncus aenean vel elit scelerisque. Vulputate odio ut enim blandit volutpat maecenas volutpat blandit aliquam. Turpis massa sed elementum tempus egestas sed sed risus. A erat nam at lectus urna duis convallis convallis. Sollicitudin nibh sit amet commodo nulla. Iaculis urna id volutpat lacus.', + } %} +
+ +
+
+ {% include "@organisms/site-footer/yds-site-footer.twig" with { + site_footer__theme: site_footer__theme, + site_footer__border_thickness: '8', + } %} +
+
+
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-theme-pairings.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-theme-pairings.twig new file mode 100644 index 000000000..4ed9df5ab --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-theme-pairings.twig @@ -0,0 +1,146 @@ +{% set color_global_theme__base_class = 'cl-color-global-themes' %} + +
+
+
+
+

Global Themes (levers)

+

This page outlines all components which have component theme (dial) options. Each component below is housed within a global theme application. Global themes define the color palette from which each component theme gets its color slot assignments.

+ +

Each global theme is defined in the tokens repository: atomic/_yale-packages/tokens/tokens/base/color.yml. Each theme has a generic numerical name. If you were to add another global theme, it should follow the same naming convention. For example: six or seven. Each global themes has a label value. While each is referenced in code by its numerical name, the label is surfaced to users, as it's more user-friendly.

+ +

The controls panel in storybook allow you to select which global theme (lever) to apply for all components on the page. After selecting a global theme, you can scroll down the page to see how the global change affects individual components, and, optionally change each component's dial theme option to see how each dial change affects each component.

+
+
+
+
+ +
+

Global Theme: {{ site_global__theme }}

+
+
+ {% include "@organisms/site-header/yds-site-header.twig" with { + site_header__theme: site_header__theme, + site_header__accent: site_header__accent, + } %} +
+
+
+ {% include "@molecules/banner/action/yds-action-banner.twig" with { + banner__width: 'site', + }%} +
+ +
+ {% include "@molecules/text/yds-text-field.twig" with { + text_field__alignment: 'left', + text_field__content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A lacus vestibulum sed arcu non odio euismod lacinia. Varius sit amet mattis vulputate enim nulla. Sit amet justo donec enim diam vulputate ut pharetra sit. Ipsum dolor sit amet consectetur adipiscing elit ut aliquam purus. Lorem ipsum dolor sit amet consectetur adipiscing elit pellentesque. Vitae congue mauris rhoncus aenean vel elit scelerisque. Vulputate odio ut enim blandit volutpat maecenas volutpat blandit aliquam. Turpis massa sed elementum tempus egestas sed sed risus. A erat nam at lectus urna duis convallis convallis. Sollicitudin nibh sit amet commodo nulla. Iaculis urna id volutpat lacus.', + } %} + + {% embed "@organisms/component-wrapper/yds-component-wrapper.twig" with { + component_wrapper__width: 'site', + component_wrapper__alignment: 'left', + component__modifiers: ['no-top-margin', 'no-bottom-margin'] + }%} + {% block component_wrapper_inner %} + {% include "@atoms/controls/cta/yds-cta.twig" with { + cta__content: 'Button link', + cta__href: 'javascript:;', + cta__blockname: callout__base_class, + cta__component_theme: cta_button__component_theme, + } %} + {% endblock %} + {% endembed %} +
+ +
+ {% include "@molecules/quick-links/yds-quick-links.twig" with { + quick_links__heading: 'Heading for Quick Links', + quick_links__description: '

This is a Quick Links description.

', + quick_links__image: true, + quick_links__background_color: quick_links__background_color|default('one'), + quick_links__links:[ + { + quick_links__link__url: '#', + quick_links__link__content: 'This is a link', + }, + { quick_links__link__url: '#', + quick_links__link__content: 'This is another link', + }, + { quick_links__link__url: '#', + quick_links__link__content: 'Link #3', + }, + { quick_links__link__url: '#', + quick_links__link__content: 'This is a long link that will wrap lines', + } + ] + }%} +
+ +
+ {% include "@molecules/pull-quote/yds-pull-quote.twig" with { + pull_quote__width: 'site', + pull_quote__alignment: 'left', + pull_quote__quote: 'Our platform will transform our ability to study metabolic filaments and, coupled with biochemical and biophysical tools, manipulate enzyme structures and metabolic activity in cells.', + } %} +
+ +
+ {% include "@molecules/callout/yds-callout.twig" with { + callouts: [ + { + callout__heading: 'Degree Programs', + callout__text: 'Designed for those who intend to pursue graduate and those who wish to immediately enter a career in which broad scientific training is beneficial.', + callout__link__content: 'Programs', + callout__link__url: '#', + }, + { + callout__heading: 'Preference Selection', + callout__text: 'Preference Selection system is now open and will close again on Monday, January 10, 2022.', + callout__link__content: 'Select preferences', + callout__link__url: '#', + }, + ], + } %} +
+ + +
+ {% embed "@organisms/component-wrapper/yds-component-wrapper.twig" with { + component_wrapper__width: 'site', + component_wrapper__alignment: 'left', + }%} + {% block component_wrapper_inner %} + {% include "@molecules/tabs/yds-tabs.twig" %} + {% endblock %} + {% endembed %} +
+ +
+ {% include "@molecules/quote-callout/yds-quote-callout.twig" with { + standalone_quote__width: 'site', + standalone_quote__alignment: 'left', + standalone_quote__quote_alignment: 'left', + standalone_quote__style: 'bar', + standalone_quote__quote: 'Our platform will transform our ability to study metabolic filaments and, coupled with biochemical and biophysical tools, manipulate enzyme structures and metabolic activity in cells.', + } %} +
+ +
+ {% include "@molecules/text/yds-text-field.twig" with { + text_field__alignment: 'left', + text_field__content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. A lacus vestibulum sed arcu non odio euismod lacinia. Varius sit amet mattis vulputate enim nulla. Sit amet justo donec enim diam vulputate ut pharetra sit. Ipsum dolor sit amet consectetur adipiscing elit ut aliquam purus. Lorem ipsum dolor sit amet consectetur adipiscing elit pellentesque. Vitae congue mauris rhoncus aenean vel elit scelerisque. Vulputate odio ut enim blandit volutpat maecenas volutpat blandit aliquam. Turpis massa sed elementum tempus egestas sed sed risus. A erat nam at lectus urna duis convallis convallis. Sollicitudin nibh sit amet commodo nulla. Iaculis urna id volutpat lacus.', + } %} +
+ + +
+
+ {% include "@organisms/site-footer/yds-site-footer.twig" with { + site_footer__theme: site_footer__theme, + site_footer__accent: site_footer__accent, + site_footer__border_thickness: '8', + } %} +
+
+
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-themes.js b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-themes.js new file mode 100644 index 000000000..9abecb925 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-themes.js @@ -0,0 +1,14 @@ +// Function to take an object and push each key into a new array. +// return the array as `label` : `key` to use in storybook options. +const getGlobalThemes = (globalThemeTokens) => { + const globalThemeOptions = {}; + const tempArr = Object.keys(globalThemeTokens); + + tempArr.forEach((element) => { + globalThemeOptions[globalThemeTokens[element].label] = element; + }); + + return globalThemeOptions; +}; + +export default getGlobalThemes; diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-themes.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-themes.twig new file mode 100644 index 000000000..73963fd53 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/color-global-themes.twig @@ -0,0 +1,43 @@ +{% set color_global_theme__base_class = 'cl-color-global-themes' %} +{% set colors__base_class = "cl-colors" %} + +
+
+
+
+

These are global themes.

+

+ Each theme is defined in the tokens repository: atomic/_yale-packages/tokens/tokens/base/color.yml. Each theme has a generic numerical name. If you were to add another global theme, it should follow the same naming convention. For example: six - "Purple Dream". Following this example, each theme's non-numerical name (e.g. "Purple Dream") is added in this color-global-themes.twig file. The text label is stored in a label key value for each theme. +

+

+ Each theme defines "color slots", which get mapped to color slots to be used by component themes (dials). +

+
+
+
+
+ +{% for globalTheme, values in _context.globalThemes %} +
+

{{globalTheme|capitalize}}: "{{values.label}}"

+
+
    + {% for colors in values %} + {% for color, colorset in colors %} + {% if colorset is iterable %} + {% for nested_color, nested_value in colorset %} +
  • + --global-themes-{{globalTheme}}-colors-{{ nested_color }} +
  • + {% endfor %} + {% else %} +
  • + --global-themes-{{globalTheme}}-colors-{{ color }} +
  • + {% endif %} + {% endfor %} + {% endfor %} +
+
+
+{% endfor %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/colors.stories.js b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/colors.stories.js new file mode 100644 index 000000000..fc234e408 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/colors.stories.js @@ -0,0 +1,403 @@ +import tokens from '@yalesites-org/tokens/build/json/tokens.json'; +import getGlobalThemes from './color-global-themes'; + +import colorsTwig from './colors.twig'; +import colorComponentThemeTwig from './color-component-theme-pairings.twig'; +import colorGlobalThemeTwig from './color-global-themes.twig'; +import colorGlobalThemePairingTwig from './color-global-theme-pairings.twig'; +import colorBasicThemesTwig from './color-basic-themes.twig'; + +import utilityNavData from '../../03-organisms/menu/utility-nav/utility-nav.yml'; +import primaryNavData from '../../03-organisms/menu/primary-nav/primary-nav.yml'; + +// JavaScript to handle size +import '../../03-organisms/site-header/yds-site-header'; +import '../../02-molecules/menu/menu-toggle/yds-menu-toggle'; +import '../../02-molecules/tabs/yds-tabs'; + +import quickLinksData from '../../02-molecules/quick-links/quick-links.yml'; +import imageData from '../../01-atoms/images/image/image.yml'; +import tabData from '../../02-molecules/tabs/tabs.yml'; +import bannerData from '../../02-molecules/banner/banner.yml'; + +const colorsData = { + colors: { + blue: tokens.color.blue, + green: tokens.color.green, + orange: tokens.color.orange, + yellow: tokens.color.yellow, + basic: tokens.color.basic, + gray: tokens.color.gray, + }, +}; + +const colorComponentThemeData = { themes: tokens['component-themes'] }; +const colorBasicThemeData = { themes: tokens['basic-themes'] }; +const colorGlobalThemeData = { globalThemes: tokens['global-themes'] }; +const siteHeaderThemes = { themes: tokens['site-header-themes'] }; +const siteHeaderThemeOptions = Object.keys(tokens['site-header-themes']); +const siteFooterThemes = { themes: tokens['site-footer-themes'] }; +const siteFooterThemeOptions = Object.keys(tokens['site-footer-themes']); +const siteHeaderAccents = [ + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', +]; +const siteFooterAccents = [ + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', +]; + +const ctaButtonThemeOptions = Object.keys(tokens['button-cta-themes']); + +// get global themes as `label` : `key` values to pass into options as array. +const siteGlobalThemeOptions = getGlobalThemes(tokens['global-themes']); + +export default { + title: 'Tokens/Colors', +}; + +export const Colors = () => colorsTwig(colorsData); +export const ColorGlobalThemes = () => + colorGlobalThemeTwig(colorGlobalThemeData); + +export const ColorBasicThemes = () => ` +

These pairings are selected to support accessibility standards.

+

This page is useful to check the accessibility of various components against the available background colors.

+ + ${colorBasicThemesTwig(colorBasicThemeData)} +`; + +export const ComponentThemeColorPairings = ({ + heading, + description, + image, + calloutTheme, + ctaButtonTheme, + qlTheme, + quoteTheme, + standaloneQuoteTheme, + tabTheme, + bannerTheme, + primaryNavPosition, + menuVariation, + siteHeaderImage, + siteHeaderSiteNameImage, + siteHeaderTwig, + siteHeaderTheme, + siteFooterTheme, + siteHeaderAccent, + siteFooterAccent, + siteFooterVariation, +}) => + colorComponentThemeTwig({ + ...imageData.responsive_images['16x9'], + ...tabData, + ...bannerData, + ...siteHeaderTwig, + ...siteHeaderThemes, + ...siteFooterThemes, + ...colorComponentThemeData, + ...utilityNavData, + ...primaryNavData, + ...siteHeaderAccents, + ...siteFooterAccents, + ...ctaButtonThemeOptions, + site_name: 'Department of Chemistry', + site_header__border_thickness: '8', + site_header__nav_position: primaryNavPosition, + site_header__menu__variation: menuVariation, + site_header__theme: siteHeaderTheme, + site_header__background_image: siteHeaderImage, + site_header__site_name_is_image: siteHeaderSiteNameImage, + site_header__accent: siteHeaderAccent, + utility_nav__items: utilityNavData.items, + primary_nav__items: primaryNavData.items, + quick_links__heading: heading, + quick_links__description: description, + quick_links__image: image, + quick_links__background_color: qlTheme, + callout__background_color: calloutTheme, + cta_button__component_theme: ctaButtonTheme, + quick_links__links: quickLinksData.quick_links__links, + tabs__theme: tabTheme, + banner__content__background: bannerTheme, + pull_quote__accent_theme: quoteTheme, + standalone_quote__accent_theme: standaloneQuoteTheme, + site_footer__theme: siteFooterTheme, + site_footer__accent: siteFooterAccent, + site_footer__variation: siteFooterVariation, + }); +ComponentThemeColorPairings.argTypes = { + primaryNavPosition: { + name: 'Header: Navigation Position', + options: ['left', 'center', 'right'], + type: 'select', + defaultValue: 'left', + }, + menuVariation: { + name: 'Header: Menu Variation', + options: ['basic', 'mega', 'focus'], + type: 'select', + defaultValue: 'basic', + }, + siteHeaderTheme: { + name: 'Header: Theme (dial)', + options: siteHeaderThemeOptions, + type: 'select', + defaultValue: 'one', + }, + siteHeaderAccent: { + name: 'Header: Accent Color (dial)', + options: siteHeaderAccents, + type: 'select', + defaultValue: 'one', + }, + siteHeaderImage: { + name: 'Header: With image', + type: 'boolean', + defaultValue: false, + }, + siteHeaderSiteNameImage: { + name: 'Header: Site Name is an Image', + type: 'boolean', + defaultValue: false, + }, + bannerTheme: { + name: 'Banner Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + ctaButtonTheme: { + name: 'Button CTA Theme (dial)', + type: 'select', + options: ctaButtonThemeOptions, + defaultValue: 'one', + }, + qlTheme: { + name: 'Quick Links Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + quoteTheme: { + name: 'Quote Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + standaloneQuoteTheme: { + name: 'Standalone Quote Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + calloutTheme: { + name: 'Callout Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + tabTheme: { + name: 'Tabs Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + siteFooterTheme: { + name: 'Footer: Theme (dial)', + options: siteFooterThemeOptions, + type: 'select', + defaultValue: 'one', + }, + siteFooterAccent: { + name: 'Footer: Accent Color (dial)', + options: siteFooterAccents, + type: 'select', + defaultValue: 'one', + }, + siteFooterVariation: { + name: 'Footer: Variation (dial)', + options: ['basic', 'mega'], + type: 'select', + defaultValue: 'basic', + }, +}; + +export const GlobalThemeColorPairings = ({ + heading, + description, + image, + globalTheme, + calloutTheme, + ctaButtonTheme, + qlTheme, + quoteTheme, + standaloneQuoteTheme, + tabTheme, + bannerTheme, + primaryNavPosition, + menuVariation, + siteHeaderTwig, + siteHeaderTheme, + siteHeaderAccent, + siteHeaderImage, + siteHeaderSiteNameImage, + siteFooterTheme, + siteFooterAccent, + siteFooterVariation, +}) => + colorGlobalThemePairingTwig({ + ...imageData.responsive_images['16x9'], + ...colorGlobalThemeData, + ...colorGlobalThemeTwig, + ...tabData, + ...bannerData, + ...siteHeaderTwig, + ...siteHeaderThemes, + ...siteFooterThemes, + ...utilityNavData, + ...primaryNavData, + ...siteHeaderAccents, + ...siteFooterAccents, + site_global__theme: globalTheme, + site_name: 'Department of Chemistry', + site_header__border_thickness: '8', + site_header__nav_position: primaryNavPosition, + site_header__menu__variation: menuVariation, + site_header__theme: siteHeaderTheme, + site_header__background_image: siteHeaderImage, + site_header__site_name_is_image: siteHeaderSiteNameImage, + site_header__accent: siteHeaderAccent, + utility_nav__items: utilityNavData.items, + primary_nav__items: primaryNavData.items, + quick_links__heading: heading, + quick_links__description: description, + quick_links__image: image, + quick_links__background_color: qlTheme, + callout__background_color: calloutTheme, + cta_button__component_theme: ctaButtonTheme, + quick_links__links: quickLinksData.quick_links__links, + tabs__theme: tabTheme, + banner__content__background: bannerTheme, + pull_quote__accent_theme: quoteTheme, + standalone_quote__accent_theme: standaloneQuoteTheme, + site_footer__theme: siteFooterTheme, + site_footer__accent: siteFooterAccent, + site_footer__variation: siteFooterVariation, + }); + +GlobalThemeColorPairings.argTypes = { + globalTheme: { + name: 'Site: Global Theme (lever)', + options: siteGlobalThemeOptions, + type: 'select', + defaultValue: 'one', + }, + primaryNavPosition: { + name: 'Header: Navigation Position', + options: ['left', 'center', 'right'], + type: 'select', + defaultValue: 'left', + }, + menuVariation: { + name: 'Header: Menu Variation', + options: ['basic', 'mega', 'focus'], + type: 'select', + defaultValue: 'basic', + }, + siteHeaderTheme: { + name: 'Header: Theme (dial)', + options: siteHeaderThemeOptions, + type: 'select', + defaultValue: 'one', + }, + siteHeaderAccent: { + name: 'Header: Accent Color (dial)', + options: siteHeaderAccents, + type: 'select', + defaultValue: 'one', + }, + siteHeaderImage: { + name: 'Header: With Image', + type: 'boolean', + defaultValue: false, + }, + siteHeaderSiteNameImage: { + name: 'Header: Site Name Is An Image', + type: 'boolean', + defaultValue: false, + }, + bannerTheme: { + name: 'Banner Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + ctaButtonTheme: { + name: 'Button CTA Theme (dial)', + type: 'select', + options: ctaButtonThemeOptions, + defaultValue: 'one', + }, + qlTheme: { + name: 'Quick Links Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + quoteTheme: { + name: 'Quote Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + standaloneQuoteTheme: { + name: 'Standalone Quote Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + calloutTheme: { + name: 'Callout Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + tabTheme: { + name: 'Tabs Theme (dial)', + type: 'select', + options: ['one', 'two', 'three'], + defaultValue: 'one', + }, + siteFooterTheme: { + name: 'Footer: Theme (dial)', + options: siteFooterThemeOptions, + type: 'select', + defaultValue: 'one', + }, + siteFooterAccent: { + name: 'Footer: Accent Color (dial)', + options: siteFooterAccents, + type: 'select', + defaultValue: 'one', + }, + siteFooterVariation: { + name: 'Footer: Variation (dial)', + options: ['basic', 'mega'], + type: 'select', + defaultValue: 'basic', + }, +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/colors.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/colors.twig new file mode 100644 index 000000000..540882edc --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/colors/colors.twig @@ -0,0 +1,31 @@ +{% set colors__base_class = "cl-colors" %} + +
+
+
+
+

All available color options are outlined here.

+

Each color is defined in the tokens repository: atomic/_yale-packages/tokens/tokens/figma-export/tokens.json.

+
+
+
+
+ +{% for color, colorset in _context.colors %} +
+

{{ color }}

+
    + {% if colorset is iterable %} + {% for nested_color, nested_value in colorset %} +
  • + --color-{{ color }}-{{ nested_color }} +
  • + {% endfor %} + {% else %} +
  • + --color-{{ color }} +
  • + {% endif %} +
+
+{% endfor %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/_effects.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/_effects.scss new file mode 100644 index 000000000..f1c4f6853 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/_effects.scss @@ -0,0 +1,148 @@ +@use '~@yalesites-org/tokens/build/scss/tokens'; + +@mixin animate( + $property: all, + $duration: var(--animation-speed-default), + $function: ease-in-out, + $delay: 0ms +) { + @media (prefers-reduced-motion: no-preference) { + transition: #{$property} #{$duration} #{$function} #{$delay}; + } +} + +// This animation is to remove hidden items from screen readers and +// keyboard navigation, while maintaining the slow "close" effect. +// Apply this mixin to a selector that indicates the "hidden" state (not just. +// the element base class. It must specifically indicate "hidden".) +@mixin animate-hidden($speed: var(--animation-speed-default)) { + visibility: hidden; + animation: #{$speed} fade-out; + animation-fill-mode: forwards; + + @keyframes fade-out { + // Start visible at 0% to avoid an occasional "flash" when closing. + 0% { + visibility: visible; + z-index: 0; + } + + 99% { + visibility: visible; + z-index: 0; + } + + 100% { + visibility: hidden; + z-index: -1; + } + } +} + +:root { + --underline-thick: var(--size-thickness-4); + + @media (min-width: tokens.$break-mobile) { + --underline-thick: var(--size-thickness-8); + } +} + +@mixin underline-slide-start($variation: default, $size: 'thin') { + @if $size == 'thick' { + --thickness: var(--underline-thick); + --position: 0 100%; + + // When using the 'thick' variation, add some space between the text and the + // underline. + padding-bottom: calc(var(--thickness) + var(--size-spacing-3)); + } @else { + --thickness: var(--link-underline-size-default); + --position: 0 1.15em; + } + + // Add the decorative bar under links. + background-image: linear-gradient(currentcolor, currentcolor); + background-position: var(--position); + background-repeat: no-repeat; + + @media (prefers-reduced-motion: no-preference) { + transition: background-size var(--animation-speed-default) linear, + color var(--animation-speed-default) ease-in-out; + } + + @if $variation == 'no-underline' { + background-size: 0 var(--thickness); + } @else { + background-size: 100% var(--thickness); + } +} + +@mixin underline-slide-end($variation: default, $size: 'thin') { + --thickness: var(--link-underline-size-default); + + @if $size == 'thick' { + --thickness: var(--underline-thick); + } + + @if $variation == 'no-underline' { + background-size: 100% var(--thickness); + } @else { + background-size: 0 var(--thickness); + } +} + +@mixin underline-slide-none($size: 'thin') { + --thickness: var(--link-underline-size-default); + + @if $size == 'thick' { + --thickness: var(--underline-thick); + } + + background-size: 0 var(--thickness); +} + +// Animate upward on hover: cards +@mixin rise-effect($amount: -0.25em) { + @media (prefers-reduced-motion: no-preference) { + transform: translateY(0); + + &:hover { + transform: translateY($amount); + color: var(--color-cta-text); + background-color: var(--color-cta-bg); + } + } +} + +// Animate center outwards: divider +@mixin expand-out { + // only set scale to 0 if animation can run + @media (prefers-reduced-motion: no-preference) { + transform: scaleX(0); + + &.animate { + transform: scaleX(1); + } + } +} + +// Animate and fade-in upwards: pull quote +@mixin fade-in-up { + // only run animation if animation can run + @media (prefers-reduced-motion: no-preference) { + opacity: 0; + transform: translate3d(0, 100%, 0); + + &.animate { + opacity: 1; + transform: translate3d(0, 0, 0); + } + } +} + +@mixin expand-height($height: 100%) { + // only run animation if animation can run + @media (prefers-reduced-motion: no-preference) { + height: $height; + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/borders.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/borders.twig new file mode 100644 index 000000000..89f356e95 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/borders.twig @@ -0,0 +1,17 @@ +{% set borders__base_class = "cl-borders" %} + +
+
    + {% for border, value in _context.borders %} + {% set variable = prefix ~ border|lower|replace({' ': '-'}) %} +
  • + Border {{ border }}
    +
    + Border Details + variable: {{ variable }}
    + value: {{ value }} +
    +
  • + {% endfor %} +
+
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/cl-effects.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/cl-effects.scss new file mode 100644 index 000000000..8bc2d070a --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/cl-effects.scss @@ -0,0 +1,63 @@ +@use '~@yalesites-org/tokens/build/scss/tokens.scss' as break; + +$effects-gap: var(--size-spacing-6); +$shadow-levels: 'level-1', 'level-1-bottom-shadow-only', 'level-2', 'level-3', + 'level-4'; + +.cl-shadows__list, +.cl-radii__list, +.cl-borders__list { + display: flex; + flex-wrap: wrap; + margin: 0; + padding: 0; +} + +@mixin cl-list-item { + list-style: none; + padding: var(--size-spacing-7); + margin: 0 $effects-gap $effects-gap; + flex: 1 1 calc(50% - calc($effects-gap * 5)); + min-width: 100px; + min-height: 100px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + + @media (min-width: break.$break-l) { + flex-basis: 20%; + } +} + +.cl-shadows__item { + @include cl-list-item; + + &:last-child { + max-width: 20%; + } + + @each $level in $shadow-levels { + &[data-shadow-level='#{$level}'] { + &:hover { + box-shadow: var(--drop-shadow-#{$level}); + } + } + } +} + +.cl-radii__item { + @include cl-list-item; +} + +.cl-borders__item { + @include cl-list-item; + + @media (min-width: break.$break-l) { + flex-basis: 25%; + } + + @media (min-width: break.$break-xl) { + flex-basis: 10%; + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/effects.stories.js b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/effects.stories.js new file mode 100644 index 000000000..eb3808b40 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/effects.stories.js @@ -0,0 +1,32 @@ +import tokens from '@yalesites-org/tokens/build/json/tokens.json'; + +import shadowsTwig from './shadows.twig'; +import radiiTwig from './radii.twig'; +import bordersTwig from './borders.twig'; + +const shadowsData = { shadows: tokens.dropShadow, prefix: '--drop-shadow-' }; +const radiiData = { radii: tokens.radius, prefix: '--radius-' }; +const bordersData = { + borders: tokens.border.thickness, + prefix: '--border-thickness-', +}; + +export default { + title: 'Tokens/Effects', +}; + +export const Shadows = () => ` +

Shadows should only be used as hover or interaction effect

+

The five levels are displayed below. Hover over each box to see the shadow effect.

+ ${shadowsTwig(shadowsData)} +`; + +export const Radius = () => ` +

Radius selection will affect the appearance of cards and list groups

+ ${radiiTwig(radiiData)} +`; + +export const Borders = () => ` +

Thick borders should be reserved for dividers on headers and footers and not appear on cards or other components.

+ ${bordersTwig(bordersData)} +`; diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/radii.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/radii.twig new file mode 100644 index 000000000..4d0afe029 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/radii.twig @@ -0,0 +1,22 @@ +{% set radii__base_class = "cl-radii" %} + +
+
    + {% for radius, value in _context.radii %} + {% set variable = prefix ~ radius|lower|replace({' ': '-'}) %} + {% set radii_item__attributes = { + class: bem("item", [], radii__base_class), + style: 'border-radius: var(' ~ variable ~ ')', + 'data-basic-theme': 'gray-700', + } %} +
  • + Radius {{ radius }}
    +
    + Radius Details + variable: {{ variable }}
    + value: {{ value }} +
    +
  • + {% endfor %} +
+
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/shadows.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/shadows.twig new file mode 100644 index 000000000..e9086edbf --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/shadows.twig @@ -0,0 +1,30 @@ +{% set shadows__base_class = "cl-shadows" %} + + +
+
    + {% for shadow, value in _context.shadows %} + + {% set tempShadowVariable = shadow|lower|replace({' ': '-'}) %} + + {# For those variables with names in this way: "Level Number - Variant" #} + {% set shadowVariable = tempShadowVariable|replace({'---': '-'}) %} + + {% set variable = prefix ~ shadowVariable %} + + {% set shadow_item__attributes = { + class: bem("item", [], shadows__base_class), + 'data-shadow-level': shadowVariable, + 'data-basic-theme': 'blue-yale', + } %} +
  • + {{ shadow }}
    +
    + Shadow Details + variable: {{ variable }}
    + value: {{ value }} +
    +
  • + {% endfor %} +
+
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/yds-animate.js b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/yds-animate.js new file mode 100644 index 000000000..17b4a58ad --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/effects/yds-animate.js @@ -0,0 +1,51 @@ +Drupal.behaviors.animateItems = { + attach(context) { + // Check if animation is active in site settings. + const siteAnimationTheme = context.querySelector('[data-site-animation]'); + + // Set variable to check that the animation theme isn't the default. + const siteAnimationEnabled = siteAnimationTheme + ? siteAnimationTheme.getAttribute('data-site-animation') !== 'default' + : false; + + // Select all elements with [data-animate-item] attribute + const elementsToAnimate = context.querySelectorAll( + '[data-animate-item="enabled"]', + ); + + // Check if the user prefers reduced motion + const prefersReducedMotionNoPref = window.matchMedia( + '(prefers-reduced-motion: no-preference)', + ).matches; + + // Create a new Intersection Observer + const observer = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + const animatedElement = entry.target; + + if (entry.isIntersecting) { + // If the element is in the viewport, add the 'animate' class + animatedElement.classList.add('animate'); + } + }); + }); + // Only add observer if siteAnimationEnabled, there are elements to animate, + // and if user hasn't enabled reduced motion. + if ( + elementsToAnimate && + siteAnimationEnabled && + prefersReducedMotionNoPref + ) { + // Observe each .divider element + elementsToAnimate.forEach((animatedElement) => { + observer.observe(animatedElement); + }); + } + // Set each component to data-animate-item false if prefers reduced motion. + if (!prefersReducedMotionNoPref) { + elementsToAnimate.forEach((reducedMotionElement) => { + reducedMotionElement.setAttribute('data-animate-item', 'disabled'); + }); + } + }, +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/functions/_map.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/functions/_map.scss new file mode 100644 index 000000000..a4c2077ee --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/functions/_map.scss @@ -0,0 +1,19 @@ +@use 'sass:list'; +@use 'sass:map'; +@use 'sass:meta'; + +/// Map deep get +/// Reference: https://stackoverflow.com/a/66004582/17322403 +/// @param {Map} $map - Map +/// @param {Arglist} $keys - Key chain +/// @return {*} - Desired value +@function deep-get($map, $keys...) { + $scope: $map; + $i: 1; + // stylelint-disable-next-line + @while (meta.type-of($scope) == map) and ($i <= list.length($keys)) { + $scope: map.get($scope, list.nth($keys, $i)); + $i: $i + 1; + } + @return $scope; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/_layout.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/_layout.scss new file mode 100644 index 000000000..d2b24b1a9 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/_layout.scss @@ -0,0 +1,138 @@ +@use '~@yalesites-org/tokens/build/scss/tokens'; +@use '../../00-tokens/functions/map'; + +:root { + --size-spacing-site-gutter: var(--size-spacing-5); + + /* The `--spacing-page-section` variable is the larger spacing that is + * used between "section" components. Components that are "standalone" content + * like a card grid, or a callout should use this. */ + --spacing-page-section: var(--size-spacing-8); + + /* The `--spacing-page-inner` variable is the smaller spacing that is used + * between "content-like" components. It is used between components within a + * logical section. */ + --spacing-page-inner: var(--size-spacing-7); + + /* The `--spacing-component-banner` variable is assigned to components which + * need more space above and below. + * these include: banners, quick links, callouts, quote spotlight */ + --spacing-component-banner: var(--size-spacing-9); + + @media (min-width: tokens.$break-m) { + --size-spacing-site-gutter: var(--size-spacing-6); + } + + @media (min-width: tokens.$break-l) { + --size-spacing-site-gutter: var(--size-spacing-7); + --spacing-page-section: var(--size-spacing-10); + --spacing-component-banner: var(--size-spacing-10); + } + + @media (min-width: tokens.$break-xl) { + --size-spacing-site-gutter: var(--size-spacing-8); + --spacing-component-banner: var(--size-spacing-11); + } + + @media (min-width: tokens.$break-2xl) { + --size-spacing-site-gutter: var(--size-spacing-10); + --spacing-component-banner: var(--size-spacing-12); + } + + height: 100%; +} + +//////// +// sticky footer +body, +html { + height: 100%; +} + +.layout-container { + display: flex; + flex-direction: column; + height: 100%; +} + +.dialog-off-canvas-main-canvas { + height: 100%; +} + +/////// + +$layout-widths: map.deep-get(tokens.$tokens, size, component-layout, width); + +[data-component-width] { + &:not([data-embedded-components] [data-component-width]) { + padding-inline-start: var(--size-spacing-site-gutter); + padding-inline-end: var(--size-spacing-site-gutter); + } +} + +[class*='__inner'] { + width: 100%; + max-width: var(--component-width); + margin-inline-start: auto; + margin-inline-end: auto; + + @each $width, $value in $layout-widths { + [data-component-width='#{$width}'] & { + --component-width: var(--size-component-layout-width-#{$width}); + } + } +} + +// The spacing-page-inner mixin should be applied to components that are +// "content-like." They generally accompany other components within a "section." +@mixin spacing-page-inner { + --font-spacing-paragraph-extra: 2em; + + .no-page-spacing + & { + margin-top: var(--font-spacing-paragraph-extra); + } + + &:not(.no-page-spacing) { + margin-bottom: var(--spacing-page-inner); + } +} + +// The spacing-page-section mixin should be applied to components that are +// intended to "stand out" from the components around them. A callout, or a card +// grid, for example, may relate to the text around them, but they're not "part" +// of the text. +@mixin spacing-page-section( + $flush-bottom: false, + $flush-top: false, + $banner-spacing: false +) { + margin-block-start: var(--spacing-page-section); + margin-block-end: var(--spacing-page-section); + + @if $flush-top == true { + &:first-child { + --main-content-top-margin: 0; + + margin-bottom: var(--size-spacing-7); + } + } + + @if $flush-bottom == true { + &:last-child { + --main-content-bottom-margin: 0; + } + } + + @if $banner-spacing == true { + margin-block-start: var(--spacing-component-banner); + margin-block-end: var(--spacing-component-banner); + + @if $flush-top == true { + &:first-child { + --main-content-top-margin: 0; + + margin-bottom: var(--spacing-component-banner); + } + } + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/cl-layout.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/cl-layout.scss new file mode 100644 index 000000000..69487a7a7 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/cl-layout.scss @@ -0,0 +1,3 @@ +#root { + height: 100%; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/yds-layout.js b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/yds-layout.js new file mode 100644 index 000000000..eea9d6e6c --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/layout/yds-layout.js @@ -0,0 +1,40 @@ +Drupal.behaviors.layout = { + attach(context) { + // Classes. + // This array of classes should not have the preceding `.` so that we can + // check for them in `classList.contains` below. + const classesToCheck = ['text-field', 'wrapped-image']; + // Generate a string of the above classes with preceding `.` for the + // querySelectorAll below. + const bodyCopyClasses = classesToCheck.map((i) => `.${i}`); + // Selectors. + const bodyCopyComponents = context.querySelectorAll(bodyCopyClasses); + + // tables + const tableElement = context.querySelectorAll('table'); + + bodyCopyComponents.forEach((component) => { + const nextElement = component.nextElementSibling; + + if ( + // If there is a next element. + nextElement && + // And the next element contains one of the classesToCheck + classesToCheck.some((className) => + nextElement.classList.contains(className), + ) + ) { + // Add the `no-page-spacing` class to the component. + component.classList.add('no-page-spacing'); + } + }); + + // Wrap table elements in a wrapping div to control overflow + tableElement.forEach((table) => { + const wrapper = document.createElement('div'); + wrapper.classList.add('table-wrapper'); + table.parentNode.insertBefore(wrapper, table); + wrapper.appendChild(table); + }); + }, +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/spacing/spacing.stories.js b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/spacing/spacing.stories.js new file mode 100644 index 000000000..7152acf14 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/spacing/spacing.stories.js @@ -0,0 +1,14 @@ +import tokens from '@yalesites-org/tokens/build/json/tokens.json'; + +import spacingTwig from './spacing.twig'; + +const spacingData = { + spacing_options: tokens.size.spacing, + prefix: 'size-spacing', +}; + +export default { + title: 'Tokens/Spacing', +}; + +export const Spacing = () => spacingTwig(spacingData); diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/spacing/spacing.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/spacing/spacing.twig new file mode 100644 index 000000000..e58da53f7 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/spacing/spacing.twig @@ -0,0 +1,22 @@ +{% set spacing__base_class = 'cl-table' %} + + + + + + + + + + + + {% for key, value in _context.spacing_options %} + + + + + + + {% endfor %} + +
variablerempxexample
--{{ prefix }}-{{ key }}{{ value|trim('rem') }}{{ value * 16 }}
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/tokens.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/tokens.scss new file mode 100644 index 000000000..b479ef06d --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/tokens.scss @@ -0,0 +1,9 @@ +@forward '~@yalesites-org/tokens/build/scss/tokens'; +@forward 'functions/map'; +@forward 'colors/color-global-themes'; +@forward 'colors/color-component-themes'; +@forward 'colors/color-basic-themes'; +@forward 'typography/typography'; +@forward 'layout/layout'; +@forward 'utility/utility'; +@forward 'effects/effects'; diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/_typography.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/_typography.scss new file mode 100644 index 000000000..649ae34b6 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/_typography.scss @@ -0,0 +1,162 @@ +body { + background-color: var(--color-background); + color: var(--color-text); + font: var(--font-style-body-default); +} + +code { + --color-code-border: var(--color-gray-200); + --color-code-background: var(--color-gray-100); + + border: var(--border-thickness-1) solid var(--color-code-border); + border-radius: var(--radius-4); + padding: 0 var(--size-spacing-3); + background-color: var(--color-code-background); + + [data-component-theme='one'] &, + [data-component-theme='three'] &, + [data-basic-theme='blue-yale'] &, + [data-basic-theme='gray-700'] & { + --color-code-border: var(--color-gray-800); + --color-code-background: var(--color-gray-600); + } +} + +// Heading mixins +@mixin h1-yale-new { + font: var(--font-style-heading-h1-yale-new); + font-variant-numeric: oldstyle-nums; +} + +@mixin h2-yale-new { + font: var(--font-style-heading-h2-yale-new); + font-variant-numeric: oldstyle-nums; +} + +@mixin h3-yale-new { + font: var(--font-style-heading-h3-yale-new); + font-variant-numeric: oldstyle-nums; +} + +@mixin h4-yale-new { + font: var(--font-style-heading-h4-yale-new); + font-variant-numeric: oldstyle-nums; +} + +@mixin h5-yale-new { + font: var(--font-style-heading-h5-yale-new); + font-variant-numeric: oldstyle-nums; +} + +@mixin h6-yale-new { + font: var(--font-style-heading-h6-yale-new); + text-transform: var(--font-text-transform-h6-yale-new); + font-variant-numeric: oldstyle-nums; +} + +@mixin h1-mallory-compact-medium { + font: var(--font-style-heading-h1-mallory-compact-medium); + letter-spacing: var(--font-letter-spacing-h1-mallory-compact-medium); + font-variant-numeric: oldstyle-nums; +} + +@mixin h2-mallory-compact-medium { + font: var(--font-style-heading-h2-mallory-compact-medium); + letter-spacing: var(--font-letter-spacing-h2-mallory-compact-medium); + font-variant-numeric: oldstyle-nums; +} + +@mixin h3-mallory-compact-medium { + font: var(--font-style-heading-h3-mallory-compact-medium); + font-variant-numeric: oldstyle-nums; +} + +@mixin h4-mallory-compact-medium { + font: var(--font-style-heading-h4-mallory-compact-medium); + font-variant-numeric: oldstyle-nums; +} + +@mixin h5-mallory-compact-medium { + font: var(--font-style-heading-h5-mallory-compact-medium); + font-variant-numeric: oldstyle-nums; +} + +@mixin h6-mallory-compact-medium { + font: var(--font-style-heading-h6-mallory-compact-medium); + letter-spacing: var(--font-letter-spacing-h6-mallory-compact-medium); + text-transform: var(--font-text-transform-h6-mallory-compact-medium); + font-variant-numeric: oldstyle-nums; +} + +@mixin h1-mallory-compact-book { + font: var(--font-style-heading-h1-mallory-compact-book); + letter-spacing: var(--font-letter-spacing-h1-mallory-compact-book); + font-variant-numeric: oldstyle-nums; +} + +@mixin h2-mallory-compact-book { + font: var(--font-style-heading-h2-mallory-compact-book); + letter-spacing: var(--font-letter-spacing-h2-mallory-compact-book); + font-variant-numeric: oldstyle-nums; +} + +@mixin h3-mallory-compact-book { + font: var(--font-style-heading-h3-mallory-compact-book); + font-variant-numeric: oldstyle-nums; +} + +@mixin h4-mallory-compact-book { + font: var(--font-style-heading-h4-mallory-compact-book); + font-variant-numeric: oldstyle-nums; +} + +@mixin h5-mallory-compact-book { + font: var(--font-style-heading-h5-mallory-compact-book); + font-variant-numeric: oldstyle-nums; +} + +@mixin h6-mallory-compact-book { + font: var(--font-style-heading-h6-mallory-compact-book); + letter-spacing: var(--font-letter-spacing-h6-mallory-compact-book); + text-transform: var(--font-text-transform-h6-mallory-compact-book); + font-variant-numeric: oldstyle-nums; +} + +// Body mixins +@mixin body-xl { + font: var(--font-style-body-xl); +} + +@mixin body-l { + font: var(--font-style-body-l); +} + +@mixin body-default { + font: var(--font-style-body-default); +} + +@mixin body-default-condensed { + font: var(--font-style-body-default-condensed); +} + +@mixin body-s { + font: var(--font-style-body-s); +} + +@mixin body-s-condensed { + font: var(--font-style-body-s-condensed); +} + +@mixin body-xs { + font: var(--font-style-body-xs); +} + +@mixin truncate-text($lines: 1) { + max-width: 100%; + text-overflow: ellipsis; + width: fit-content; + white-space: nowrap; + line-clamp: $lines; + -webkit-line-clamp: $lines; + overflow: hidden; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/body-styles.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/body-styles.twig new file mode 100644 index 000000000..ba69fb13f --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/body-styles.twig @@ -0,0 +1,19 @@ +{% set type__base_class = 'cl-type' %} + +

Type Styles use SASS Mixins to capture their entire style

+

Like heading styles, body styles may include only a font attribute. However, in order to keep implementation consistent, all typography definitions across the codebase must implement the relevant sass mixin and not mix or omit parts of any typography style.

+ +
    + {% for style, value in body_styles %} +
  • +
    + Body {{ style }}

    Acconvallis volutpat tempus elementum viverra. Eu ultrices laoreet eu nunc, tortor mi porttitor. Scelerisque euismod et nisl, tempor senectus. Vitae mi purus placerat nibh purus faucibus imperdiet quisque diam. Elementum urna feugiat rhoncus purus. Consectetur neque auctor commodo consequat.

    +
    +
    + Font Details + variable: @include body-{{ style }} +
    font: {{ value }} +
    +
  • + {% endfor %} +
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/cl-typography.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/cl-typography.scss new file mode 100644 index 000000000..4e482326b --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/cl-typography.scss @@ -0,0 +1,13 @@ +.cl-type { + list-style: none; + padding: 0; + margin: 0; + + &__item { + margin-bottom: var(--size-spacing-5); + } + + &__family { + margin: 0 0 var(--size-spacing-6); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/heading-styles.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/heading-styles.twig new file mode 100644 index 000000000..5e680beb2 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/heading-styles.twig @@ -0,0 +1,25 @@ +{% set type__base_class = 'cl-type' %} + +

Type Styles use SASS Mixins to capture their entire style

+

Heading styles all include a font attribute, but some also include the letter-spacing and/or text-transform attributes. So, in order to keep implementation consistent, all typography definitions across the codebase must implement the relevant sass mixin and not mix or omit parts of any typography style.

+ +
    + {% for style, value in heading_styles %} +
  • +
    + Heading in {{ style }} +
    +
    + Font Details + mixin @include {{ style }} +
    font: {{ value }} + {%- for spacing, spacing_value in letter_spacing %}{% if spacing == style -%}
    letter-spacing: {{ spacing_value }}{%- endif %}{% endfor %} + {%- for transform, transform_value in text_transforms %}{% if transform == style -%}
    text-transform: {{ transform_value }}{%- endif %}{% endfor %} +
    +
  • + {% endfor %} +
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-faces.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-faces.twig new file mode 100644 index 000000000..3f908e047 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-faces.twig @@ -0,0 +1,15 @@ +{% set type__base_class = 'cl-type' %} + +
    + {% for family in families %} +
  • + {% for style in family.styles %} +
    + {{ family.name }} + - + {{ style.name }} +
    + {% endfor %} +
  • + {% endfor %} +
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-faces.yml b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-faces.yml new file mode 100644 index 000000000..bb6f5c160 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-faces.yml @@ -0,0 +1,34 @@ +families: + - name: YaleNew + id: 'YaleNew, serif' + styles: + - name: Bold + weight: 700 + style: normal + - name: Roman + weight: 400 + style: normal + - name: Mallory + id: 'Mallory, sans-serif' + styles: + - name: Bold + weight: 700 + style: normal + - name: Medium + weight: 500 + style: normal + - name: Book + weight: 400 + style: normal + - name: Mallory Compact + id: "'Mallory Compact', sans-serif" + styles: + - name: Bold + weight: 700 + style: normal + - name: Medium + weight: 500 + style: normal + - name: Book + weight: 400 + style: normal diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-scale.twig b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-scale.twig new file mode 100644 index 000000000..9f723a24a --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/type-scale.twig @@ -0,0 +1,14 @@ +{% set type__base_class = 'cl-type' %} + +
    + {% for key, value in font_scale %} +
  • +
    + The quick brown fox jumps over the lazy dog. +
    +
    + --font-scale-{{ key }} +
    +
  • + {% endfor %} +
diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/typography.stories.js b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/typography.stories.js new file mode 100644 index 000000000..a81ac8365 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/typography/typography.stories.js @@ -0,0 +1,30 @@ +import tokens from '@yalesites-org/tokens/build/json/tokens.json'; + +// Twig templates +import typeFaces from './type-faces.twig'; +import typeScale from './type-scale.twig'; +import headingStyles from './heading-styles.twig'; +import bodyStyles from './body-styles.twig'; + +// Data files +import typeFacesData from './type-faces.yml'; + +const scaleData = { font_scale: tokens.font.scale }; +const headingStyleData = { heading_styles: tokens.font.style.heading }; +const bodyStyleData = { body_styles: tokens.font.style.body }; +const letterSpacing = { letter_spacing: tokens.font.letterSpacing }; +const textTransforms = { text_transforms: tokens.font.textTransform }; + +/** + * Storybook Definition. + */ +export default { title: 'Tokens/Typography' }; + +export const TypeFaces = () => typeFaces(typeFacesData); + +export const TypeScale = () => typeScale(scaleData); + +export const HeadingStyles = () => + headingStyles({ ...headingStyleData, ...letterSpacing, ...textTransforms }); + +export const BodyStyles = () => bodyStyles(bodyStyleData); diff --git a/node_modules/@yalesites-org/component-library-twig/components/00-tokens/utility/_utility.scss b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/utility/_utility.scss new file mode 100644 index 000000000..3e6545d24 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/00-tokens/utility/_utility.scss @@ -0,0 +1,37 @@ +@mixin visually-hidden { + position: absolute !important; + clip: rect(1px, 1px, 1px, 1px); + overflow: hidden; + height: 1px; + width: 1px; + word-wrap: normal; +} + +.visually-hidden { + @include visually-hidden; +} + +// These are abstracted from the general use `focus` mixin below to support +// use-cases like `focus-within` that apply to an "outer" element when something +// "inside" has focus. e.g. The utility nav search box. +@mixin focus-styles { + outline: var(--size-thickness-2) solid var(--color-link-base); + outline-offset: var(--size-thickness-2); +} + +@mixin focus { + &:focus-visible { + @include focus-styles; + } + + // Remove browser focus indicator from browsers that support `:focus-visible` + // This allows older browsers (e.g. Safari) to show default styles, while + // modern browsers use our focus designs. + &:focus:not(:focus-visible) { + outline: none; + } +} + +* { + @include focus; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/atoms.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/atoms.scss new file mode 100644 index 000000000..2bdddbd3f --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/atoms.scss @@ -0,0 +1,18 @@ +@forward './controls/button/yds-button' as button-*; +@forward './controls/cta/yds-cta'; +@forward './controls/text-link/yds-text-link'; +@forward './controls/text-copy-button/yds-text-copy-button'; +@forward './date-time/yds-date-time'; +@forward './divider/yds-divider'; +@forward './forms/yds-form' as forms-*; +@forward './forms/textfields/yds-textfields'; +@forward './forms/select/yds-select'; +@forward './images/icons/yds-icons'; +@forward './images/fa-icons/yds-fa-icons'; +@forward './images/image/yds-image'; +@forward './lists/yds-list' as list-*; +@forward './tables/table'; +@forward './typography/headings/yds-headings'; +@forward './typography/text/yds-text'; +@forward './videos/video-embed/yds-video-embed'; +@forward './videos/video-background/yds-video-background'; diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/base/yds-control-icon.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/base/yds-control-icon.twig new file mode 100644 index 000000000..c65d1010e --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/base/yds-control-icon.twig @@ -0,0 +1,30 @@ +{% set control_icon__names = { + 'external': { + fa_icon__title: 'Arrow Up Right', + fa_icon__extra_class: ['fa-solid fa-arrow-up-right fa-fw'], + fa_icon__decorative: true, + fa_icon__sr_title: '(link is external)', + }, + 'download': { + fa_icon__title: 'Circle Down', + fa_icon__extra_class: ['fa-regular fa-circle-down fa-fw'], + fa_icon__decorative: true, + fa_icon__sr_title: '(file download)', + }, + 'target-blank': { + fa_icon__title: 'Up Right', + fa_icon__extra_class: ['fa-solid fa-arrow-up-right-from-square fa-fw'], + fa_icon__decorative: true, + fa_icon__sr_title: '(opens in a new window/tab)', + }, + 'chevron': { + fa_icon__title: 'Angle Right', + fa_icon__extra_class: ['fa-solid fa-angle-right fa-fw'], + fa_icon__decorative: true, + fa_icon__sr_title: '', + } +} %} + +{%- if control_icon__url_type is defined and control_icon__url_type != 'internal' %} + {%- include "@atoms/images/fa-icons/_yds-fa-icon.twig" with control_icon__names[control_icon__url_type] %} +{% endif %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/base/yds-control.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/base/yds-control.twig new file mode 100644 index 000000000..c04b6d660 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/base/yds-control.twig @@ -0,0 +1,37 @@ +{# + # Available Variables: + # - control__url: If provided, sets the element to 'a' and adds `href` + # - control__content + #} + +{% set control__attributes = control__attributes|default({}) %} + +{% if control__url|length > 0 %} + {% set control__url_type = control__url_type|default(getUrlType(control__url, control__attributes)) %} + {% set control__base_class = control__base_class|default('link') %} + {% set control__element = 'a' %} + {% set control__attributes = control__attributes|merge({ + href: control__url, + }) %} +{% else %} + {% set control__url_type = control__url_type|default("internal") %} + {% set control__base_class = control__base_class|default('button') %} + {% set control__element = control__element|default('button') %} + + {% if aria_expanded %} + {% set control__attributes = control__attributes|merge({ + 'aria-expanded': aria_expanded, + }) %} + {% endif %} +{% endif %} + +{% set control__attributes = control__attributes|merge({ + class: bem(control__base_class, control__modifiers, control__blockname), +}) %} + +<{{ control__element }} {{ add_attributes(control__attributes) }}> + {{- control__content -}} + {%- include "@atoms/controls/base/yds-control-icon.twig" with { + control_icon__url_type: control__url_type, + } %} + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/button/_yds-button.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/button/_yds-button.scss new file mode 100644 index 000000000..dad75b214 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/button/_yds-button.scss @@ -0,0 +1,16 @@ +@use '../../../00-tokens/tokens'; + +// This reset mixin is used to remove browser default styles for button +// elements that shouldn't look like a traditional "button". +@mixin reset { + border: 0; + background: transparent; + padding: 0; + color: inherit; +} + +// In FireFox, button:focus-visible is picking up the normalize.css styles +// and making outlines dotted. This makes sure it uses our styles. +button:focus-visible { + @include tokens.focus-styles; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/control.stories.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/control.stories.js new file mode 100644 index 000000000..6df73af9a --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/control.stories.js @@ -0,0 +1,407 @@ +import tokens from '@yalesites-org/tokens/build/json/tokens.json'; +import getGlobalThemes from '../../00-tokens/colors/color-global-themes'; +import ctaTwig from './cta/yds-cta.twig'; +import linkTwig from './text-link/yds-text-link.twig'; + +import textCopyButton from './text-copy-button/yds-text-copy-button.twig'; + +import './text-link/yds-text-link'; +import './text-copy-button/yds-text-copy-button'; + +import themeExamplesTwig from './cta/_yds-cta-examples.twig'; + +const siteGlobalThemes = { themes: tokens['global-themes'] }; +const componentThemes = { themes: tokens['button-cta-themes'] }; +const componentThemeOptions = Object.keys(tokens['button-cta-themes']); +const siteGlobalThemeOptions = getGlobalThemes(tokens['global-themes']); + +/** + * Storybook Definition. + */ +export default { + title: 'Atoms/Controls', +}; + +const ctaText = 'Call to action'; +export const Cta = ({ componentTheme }) => ` +

Filled

+
+ ${ctaTwig({ + cta__content: ctaText, + cta__href: 'https://google.com', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__radius: 'soft', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: 'https://google.com/test.pdf', + cta__radius: 'pill', + cta__component_theme: componentTheme, + })} +
+

Outline

+
+ ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__style: 'outline', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__radius: 'soft', + cta__style: 'outline', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__radius: 'pill', + cta__style: 'outline', + cta__component_theme: componentTheme, + })} +
+

Outline Weights

+
+ ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__style: 'outline', + cta__outline_weight: '1', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__style: 'outline', + cta__outline_weight: '2', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__style: 'outline', + cta__outline_weight: '4', + cta__component_theme: componentTheme, + })} +
+

Hover Effects

+
+ ${ctaTwig({ + cta__content: 'Fade', + cta__href: '#', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: 'Rise', + cta__hover_style: 'rise', + cta__href: '#', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: 'Wipe', + cta__hover_style: 'wipe', + cta__href: '#', + cta__component_theme: componentTheme, + })} +
+
+ ${ctaTwig({ + cta__content: 'Fade', + cta__style: 'outline', + cta__href: '#', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: 'Rise', + cta__style: 'outline', + cta__hover_style: 'rise', + cta__href: '#', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: 'Wipe', + cta__style: 'outline', + cta__hover_style: 'wipe', + cta__href: '#', + cta__component_theme: componentTheme, + })} +
+`; + +Cta.argTypes = { + componentTheme: { + name: 'Component Theme (dial)', + options: componentThemeOptions, + type: 'select', + defaultValue: 'one', + }, +}; + +export const textLink = () => ` + ${linkTwig({ + link__url: 'http://localhost:6006', + link__content: 'This is a default link', + })}
+ ${linkTwig({ + link__url: '#', + link__content: 'This is a "no-underline" link', + link__style: 'no-underline', + link__type: 'normal', + })}
+ ${linkTwig({ + link__url: 'https://google.com', + link__content: 'This is an "external" link', + link__style: 'underline-with-icon', + link__type: 'external', + })} + ${linkTwig({ + link__url: '#', + link__content: 'This is a "new target" link', + link__style: 'underline-with-icon', + link__type: 'target-blank', + link__attributes: { + target: '_blank', + }, + })} + ${linkTwig({ + link__url: 'https://google.com/download.pdf', + link__content: 'This is a "download" link', + link__style: 'underline-with-icon', + link__type: 'download', + })} + ${linkTwig({ + link__url: '#', + link__content: 'This is a link with chevron', + link__style: 'underline-with-icon', + link__type: 'with-chevron', + link__url_type: 'chevron', + })} + ${linkTwig({ + link__url: '#', + link__content: 'This is a long link without animated underlines', + link__style: 'no-underline-animation', + })}
+`; + +export const CtaExamples = ({ globalTheme, componentTheme }) => + themeExamplesTwig({ + ...siteGlobalThemes, + ...componentThemes, + site_global__theme: globalTheme, + example_content: ` +

Filled

+
+ ${ctaTwig({ + cta__content: ctaText, + cta__href: 'https://google.com', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: 'https://google.com/download.pdf', + cta__radius: 'soft', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__radius: 'pill', + cta__component_theme: componentTheme, + })} +
+

Outline

+
+ ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__style: 'outline', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__radius: 'soft', + cta__style: 'outline', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__radius: 'pill', + cta__style: 'outline', + cta__component_theme: componentTheme, + })} +
+

Outline Weights

+
+ ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__style: 'outline', + cta__outline_weight: '1', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__style: 'outline', + cta__outline_weight: '2', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: ctaText, + cta__href: '#', + cta__style: 'outline', + cta__outline_weight: '4', + cta__component_theme: componentTheme, + })} +
+

Hover Effects

+
+ ${ctaTwig({ + cta__content: 'Fade', + cta__href: '#', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: 'Rise', + cta__hover_style: 'rise', + cta__href: '#', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: 'Wipe', + cta__hover_style: 'wipe', + cta__href: '#', + cta__component_theme: componentTheme, + })} +
+
+ ${ctaTwig({ + cta__content: 'Fade', + cta__style: 'outline', + cta__href: '#', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: 'Rise', + cta__style: 'outline', + cta__hover_style: 'rise', + cta__href: '#', + cta__component_theme: componentTheme, + })} + ${ctaTwig({ + cta__content: 'Wipe', + cta__style: 'outline', + cta__hover_style: 'wipe', + cta__href: '#', + cta__component_theme: componentTheme, + })} +
+ `, + }); + +CtaExamples.argTypes = { + globalTheme: { + name: 'Global Theme (lever)', + options: siteGlobalThemeOptions, + type: 'select', + defaultValue: 'one', + }, + componentTheme: { + name: 'Component Theme (dial)', + options: componentThemeOptions, + type: 'select', + defaultValue: 'one', + }, +}; + +export const LinkExamples = ({ globalTheme, componentTheme }) => + themeExamplesTwig({ + ...siteGlobalThemes, + ...componentThemes, + site_global__theme: globalTheme, + example_content: ` + + `, + }); + +export const textCopyButtonExamples = ({ globalTheme, componentTheme }) => + themeExamplesTwig({ + ...siteGlobalThemes, + ...componentThemes, + site_global__theme: globalTheme, + example_content: ` + ${textCopyButton({ + text_copy_button__pre_text: 'person@example.com', + text_copy_button__content: '(copy)', + text_copy_button__component_theme: componentTheme, + })} + `, + }); + +textCopyButtonExamples.argTypes = { + globalTheme: { + name: 'Global Theme (lever)', + options: siteGlobalThemeOptions, + type: 'select', + defaultValue: 'one', + }, + componentTheme: { + name: 'Component Theme (dial)', + options: componentThemeOptions, + type: 'select', + defaultValue: 'one', + }, +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/_yds-cta-examples.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/_yds-cta-examples.twig new file mode 100644 index 000000000..25474b541 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/_yds-cta-examples.twig @@ -0,0 +1,5 @@ +
+
+ {{example_content}} +
+
\ No newline at end of file diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/_yds-cta.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/_yds-cta.scss new file mode 100644 index 000000000..42eeb5a11 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/_yds-cta.scss @@ -0,0 +1,353 @@ +@use 'sass:selector'; +@use '~@yalesites-org/tokens/build/scss/tokens' as sass-tokens; +@use '../../../00-tokens/functions/map'; +@use '../../../00-tokens/tokens'; + +$component-cta-themes: map.deep-get(tokens.$tokens, 'button-cta-themes'); +$component-basic-themes: map.deep-get(tokens.$tokens, 'basic-themes'); +$global-cta-themes: map.deep-get(tokens.$tokens, 'global-themes'); +$cta-radii: ( + 'soft': var(--cta-radius-soft), + 'pill': 100vmax, +); +$cta-outline-weights: ( + '1': var(--border-thickness-1), + '2': var(--border-thickness-2), + '4': var(--border-thickness-4), +); + +@mixin cta { + // prettier-ignore + border: var(--border-thickness-cta, var(--border-thickness-2)) solid var(--color-cta-border); + border-radius: var(--border-radius-cta, var(--radius-0)); + background-color: var(--color-cta-bg); + color: var(--color-cta-text); + font-weight: var(--font-weights-mallory-medium); + padding: var(--size-spacing-3) var(--size-spacing-6); + text-decoration: none; + text-align: center; + min-height: var(--size-click-target-minimum); + + &:hover { + background-color: var(--color-cta-bg-hover); + color: var(--color-cta-text-hover); + } + + // Radius options + @each $radius, $value in $cta-radii { + &[data-cta-radius='#{$radius}'] { + --border-radius-cta: #{$value}; + } + } + + // Outline weights options + @each $weight, $value in $cta-outline-weights { + &[data-cta-outline-weight='#{$weight}'] { + --border-thickness-cta: #{$value}; + } + } + + // Component themes defaults: iterate over each component theme to establish + // default variables. + @each $theme, $value in $component-cta-themes { + &[data-cta-theme='#{$theme}'] { + --color-slot-one: var(--button-cta-themes-#{$theme}-slot-one); + --color-slot-two: var(--button-cta-themes-#{$theme}-slot-two); + --color-slot-three: var(--button-cta-themes-#{$theme}-slot-three); + --color-slot-four: var(--button-cta-themes-#{$theme}-slot-four); + --color-slot-five: var(--button-cta-themes-#{$theme}-slot-five); + --color-slot-six: var(--button-cta-themes-#{$theme}-slot-six); + --color-slot-seven: var(--button-cta-themes-#{$theme}-slot-seven); + --color-slot-eight: var(--button-cta-themes-#{$theme}-slot-eight); + --color-action: var(--color-cta-action); + --color-action-secondary: var(--color-cta-action-secondary); + --color-cta-action-secondary: var(--color-basic-white); + --color-cta-action: var(--color-slot-one); + --color-link-base: var(--color-slot-two); + } + } + + @each $theme, $value in $component-basic-themes { + [data-basic-theme='#{$theme}'] & { + --color-action: var(--color-text); + --color-action-secondary: var(--color-background); + } + } + + // Styles + &[data-cta-style='filled'] { + --color-cta-bg: var(--color-action); + --color-cta-bg-hover: transparent; + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-action-secondary); + --color-cta-text-hover: var(--color-action); + } + + &[data-cta-style='outline'] { + --color-cta-bg: transparent; + --color-cta-bg-hover: var(--color-action); + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-action); + --color-cta-text-hover: var(--color-action-secondary); + } + + // Global themes: set color slots for each theme + // This establishes `--color-slot-` variables name-spaced to the selector + // in which it is used. We can map component-level variables to global-level + // `--color-slot-` variables. + @each $globalTheme, $value in $global-cta-themes { + [data-global-theme='#{$globalTheme}'] & { + --color-slot-one: var(--global-themes-#{$globalTheme}-colors-slot-one); + --color-slot-two: var(--global-themes-#{$globalTheme}-colors-slot-two); + --color-slot-three: var( + --global-themes-#{$globalTheme}-colors-slot-three + ); + --color-slot-four: var(--global-themes-#{$globalTheme}-colors-slot-four); + --color-slot-five: var(--global-themes-#{$globalTheme}-colors-slot-five); + --color-slot-six: var(--global-themes-#{$globalTheme}-colors-slot-six); + --color-slot-seven: var( + --global-themes-#{$globalTheme}-colors-slot-seven + ); + --color-slot-eight: var( + --global-themes-#{$globalTheme}-colors-slot-eight + ); + } + } + + // Component theme overrides: set specific component themes overrides + /// define component name spaced variables and map them to global theme slots. + &[data-cta-theme='one'] { + &[data-cta-style='filled'] { + --color-cta-action-secondary: var(--color-slot-eight); + --color-cta-action: var(--color-slot-one); + --color-cta-bg: var(--color-slot-one); + --color-cta-bg-hover: transparent; + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-cta-action-secondary); + --color-cta-text-hover: var(--color-action); + } + + &[data-cta-style='outline'] { + --color-cta-action-secondary: var(--color-slot-eight); + --color-cta-action: var(--color-slot-one); + --color-cta-bg: transparent; + --color-cta-bg-hover: var(--color-action); + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-action); + --color-cta-text-hover: var(--color-cta-action-secondary); + } + } + + &[data-cta-theme='two'] { + &[data-cta-style='filled'] { + --color-cta-action: var(--color-slot-two); + --color-cta-bg: var(--color-slot-two); + --color-cta-bg-hover: transparent; + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-slot-eight); + --color-cta-text-hover: var(--color-action); + } + + &[data-cta-style='outline'] { + --color-cta-action-secondary: var(--color-slot-eight); + --color-cta-action: var(--color-slot-two); + --color-cta-bg: transparent; + --color-cta-bg-hover: var(--color-action); + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-action); + --color-cta-text-hover: var(--color-cta-action-secondary); + } + } + + &[data-cta-theme='three'] { + &[data-cta-style='filled'] { + --color-cta-action: var(--color-slot-three); + --color-cta-bg: var(--color-slot-three); + --color-cta-bg-hover: transparent; + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-slot-seven); + --color-cta-text-hover: var(--color-slot-seven); + } + + &[data-cta-style='outline'] { + --color-cta-action-secondary: var(--color-slot-seven); + --color-action: var(--color-slot-three); + --color-cta-bg: transparent; + --color-cta-bg-hover: var(--color-action); + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-slot-seven); + --color-cta-text-hover: var(--color-cta-action-secondary); + } + } + + &[data-cta-theme='four'] { + &[data-cta-style='filled'] { + --color-cta-action: var(--color-slot-four); + --color-cta-bg: var(--color-slot-four); + --color-cta-bg-hover: transparent; + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-slot-seven); + --color-cta-text-hover: var(--color-slot-seven); + } + + &[data-cta-style='outline'] { + --color-cta-action-secondary: var(--color-slot-seven); + --color-action: var(--color-slot-four); + --color-cta-bg: transparent; + --color-cta-bg-hover: var(--color-action); + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-slot-seven); + --color-cta-text-hover: var(--color-slot-seven); + } + } + + &[data-cta-theme='five'] { + &[data-cta-style='filled'] { + --color-cta-action: var(--color-slot-five); + --color-cta-bg: var(--color-slot-five); + --color-cta-bg-hover: transparent; + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-slot-eight); + --color-cta-text-hover: var(--color-action); + } + + &[data-cta-style='outline'] { + --color-cta-action-secondary: var(--color-slot-eight); + --color-action: var(--color-slot-five); + --color-cta-bg: transparent; + --color-cta-bg-hover: var(--color-action); + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-action); + --color-cta-text-hover: var(--color-cta-action-secondary); + } + } + + &[data-cta-theme='six'] { + &[data-cta-style='filled'] { + --color-cta-action: var(--color-slot-six); + --color-cta-bg: var(--color-slot-six); + --color-cta-bg-hover: transparent; + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-slot-eight); + --color-cta-text-hover: var(--color-action); + } + + &[data-cta-style='outline'] { + --color-cta-action-secondary: var(--color-slot-six); + --color-action: var(--color-slot-six); + --color-cta-bg: transparent; + --color-cta-bg-hover: var(--color-action); + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-action); + --color-cta-text-hover: var(--color-slot-eight); + } + } + + &[data-cta-theme='seven'] { + &[data-cta-style='filled'] { + --color-cta-action: var(--color-slot-seven); + --color-cta-bg: var(--color-slot-seven); + --color-cta-bg-hover: transparent; + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-slot-eight); + --color-cta-text-hover: var(--color-action); + } + + &[data-cta-style='outline'] { + --color-cta-action-secondary: var(--color-slot-seven); + --color-action: var(--color-slot-seven); + --color-cta-bg: transparent; + --color-cta-bg-hover: var(--color-action); + --color-cta-border: var(--color-action); + --color-cta-text: var(--color-action); + --color-cta-text-hover: var(--color-slot-eight); + } + } + + // Hover styles + &[data-cta-hover-style='fade'] { + @include tokens.animate('color, background-color'); + } + + &[data-cta-hover-style='rise'] { + @include tokens.animate($property: 'transform'); + + transform: translateY(0); + + &:hover { + transform: translateY(-0.25em); + color: var(--color-cta-text); + background-color: var(--color-cta-bg); + box-shadow: var(--drop-shadow-level-1); + } + } + + &[data-cta-hover-style='wipe'] { + @include tokens.animate($duration: 400ms); + + &:hover { + &[data-cta-style='outline'] { + box-shadow: inset 6.5em 0 0 0 var(--color-cta-bg-hover); + } + } + + &[data-cta-style='filled'] { + box-shadow: inset -6.5em 0 0 0 var(--color-cta-bg); + + &:hover { + box-shadow: none; + } + } + } + + &:active { + --color-cta-bg-active: var(--color-gray-700); + --color-cta-border-active: var(--color-gray-700); + --color-cta-text-active: var(--color-basic-white); + --cta-box-shadow-active: none; + + // Don't ever use !important!!! + // With that said, these are !important because the active styles below + // should take precedence over any hover styles regardless of specificity. + // We experimented with adding extra specificity to this selector to make it + // "naturally" override the nested data attributes above... but that seemed + // more hacky than adding a few !importants. In this case we want the active + // state to take precedence over the hover state in any/all situations. + background-color: var(--color-cta-bg-active) !important; + border-color: var(--color-cta-border-active); + color: var(--color-cta-text-active) !important; + box-shadow: var(--cta-box-shadow-active) !important; + } + + // @at-root docs: https://sass-lang.com/documentation/at-rules/at-root + @at-root #{selector.unify(&, a)} { + &:hover, + &:focus-visible { + text-decoration: underline; + } + } + + // A cta link with a font-icon should have more padding + &:has(> i.fa-icon) { + padding-right: var(--size-spacing-8); + } +} + +.cta { + @include cta; + + .form--inline & { + height: 100%; + } +} + +// @TODO: Temporary place for this +.cta-group { + display: flex; + gap: var(--size-spacing-7); + margin-bottom: var(--size-spacing-7); + + .component-wrapper--no-bottom-margin & { + margin-bottom: 0; + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/yds-cta.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/yds-cta.twig new file mode 100644 index 000000000..0ebf47846 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/cta/yds-cta.twig @@ -0,0 +1,40 @@ +{# + # Available props + # Reference: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/button_role#associated_aria_roles_states_and_properties + # - aria_expanded: whether the controlled grouping is expanded or not + # - cta__hover_style: fade (default), rise, or swipe + # - cta__radius: none (default), soft, or pill + # - cta__style: filled (default) or outline + # - cta__outline_weight: 1 (default), 2, or 4 + # + # Available variables: + # - cta__content - the content of the cta (typically text) + # - cta__href - the URL the link points to + #} + +{% set cta__base_class = 'cta' %} +{% set cta__element = cta__element|default('button') %} +{% set cta__attributes = cta__attributes|default({}) %} + +{% set cta__attributes = cta__attributes|merge({ + 'data-cta-hover-style': cta__hover_style|default('fade'), + 'data-cta-radius': cta__radius|default('none'), + 'data-cta-style': cta__style|default('filled'), + 'data-cta-outline-weight': cta__outline_weight|default('2'), +}) %} + +{% if cta__component_theme %} + {% set cta__attributes = cta__attributes|merge({ + 'data-cta-theme': cta__component_theme, + }) %} +{% endif %} + +{% include "@atoms/controls/base/yds-control.twig" with { + control__base_class: cta__base_class, + control__modifiers: cta__modifiers, + control__blockname: cta__blockname, + control__attributes: cta__attributes, + control__url: cta__href, + control__content: cta__content, + control__element: cta__element, +} %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/_yds-text-copy-button.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/_yds-text-copy-button.scss new file mode 100644 index 000000000..4cc60204b --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/_yds-text-copy-button.scss @@ -0,0 +1,51 @@ +@use 'sass:selector'; +@use '~@yalesites-org/tokens/build/scss/tokens' as sass-tokens; +@use '../../../00-tokens/functions/map'; +@use '../../../00-tokens/tokens'; +@use '../../../01-atoms/controls/button/yds-button' as button; + +$text-copy-button-themes: map.deep-get(sass-tokens.$tokens, color, link, theme); +$global-text-copy-button-themes: map.deep-get(tokens.$tokens, 'global-themes'); + +.text-copy-button { + // Component themes + @each $theme, $value in $text-copy-button-themes { + [data-basic-theme='#{$theme}'] { + --color-link-base: var(--color-link-theme-#{$theme}-base); + --color-link-hover: var(--color-link-theme-#{$theme}-hover); + } + } + + // Global themes: set color slots for each theme + // This establishes `--color-slot-` variables name-spaced to the selector + // in which it is used. We can map component-level variables to global-level + // `--color-slot-` variables. + @each $globalTheme, $value in $global-text-copy-button-themes { + [data-global-theme='#{$globalTheme}'] & { + --color-slot-one: var(--global-themes-#{$globalTheme}-colors-slot-one); + --color-slot-two: var(--global-themes-#{$globalTheme}-colors-slot-two); + --color-slot-three: var( + --global-themes-#{$globalTheme}-colors-slot-three + ); + --color-slot-four: var(--global-themes-#{$globalTheme}-colors-slot-four); + --color-slot-five: var(--global-themes-#{$globalTheme}-colors-slot-five); + --color-link-hover: var(--color-slot-two); + } + } +} + +.text-copy-button__button { + @include button.reset; + + color: var(--color-link-base); + font-weight: var(--font-weights-mallory-medium); + line-height: normal; + cursor: pointer; + text-underline-offset: 0.22rem; + + &:hover { + color: var(--color-link-hover); + text-decoration: underline; + text-decoration-thickness: 0.1em; + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/yds-text-copy-button.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/yds-text-copy-button.js new file mode 100644 index 000000000..c0ceaa673 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/yds-text-copy-button.js @@ -0,0 +1,35 @@ +Drupal.behaviors.textCopyButton = { + attach(context) { + // Add click event listener for clicking the text + const elems = context.querySelectorAll('.text-copy-button__button'); + elems.forEach((elem) => { + elem.addEventListener( + 'click', + (event) => { + // Only fire if the target has id copy + if (!event.target.matches('.text-copy-button__button')) return; + + if (!navigator.clipboard) { + // Clipboard API not available + return; + } + const text = event.target.parentNode + .querySelector('.pre-text__text') + .textContent.trim(); + try { + navigator.clipboard.writeText(text); + const triggerValue = elem; + triggerValue.innerHTML = 'Copied to clipboard'; + setTimeout(() => { + triggerValue.innerHTML = '(Copy)'; + }, 1200); + } catch (error) { + const triggerValue = elem; + triggerValue.innerHTML = '(error)'; + } + }, + false, + ); + }); + }, +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/yds-text-copy-button.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/yds-text-copy-button.twig new file mode 100644 index 000000000..7c13b0597 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-copy-button/yds-text-copy-button.twig @@ -0,0 +1,33 @@ +{# + # Available variables: + # - text_copy_button__content - the content of the link (typically text) + # - text_copy_button__attributes - array of attribute,value pairs + # + # Available blocks: + # - text_copy_button__content - used to replace the content of the link + # Example: to insert the image component + #} + +{% set text_copy_button__base_class = text_copy_button__base_class|default('text-copy-button') %} +{% set text_copy_button__attributes = text_copy_button__attributes|default({}) %} + +{% set text_copy_button__attributes = text_copy_button__attributes|merge({ + class: bem(text_copy_button__base_class, text_copy_button__modifiers, text_copy_button__blockname, text_copy_button__extra_class), + 'data-cta-theme': text_copy_button__component_theme|default('one'), +}) %} + +
+ {# set these bem classes so that they can't be changed. + the JS in `./yds-text-link.js` is looking for `pre-text__text` #} + {% if text_copy_button__pre_text %} + + {{text_copy_button__pre_text}} + + {% endif %} + + +
diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/_yds-text-link.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/_yds-text-link.scss new file mode 100644 index 000000000..4c0707edb --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/_yds-text-link.scss @@ -0,0 +1,290 @@ +@use '~@yalesites-org/tokens/build/scss/tokens' as sass-tokens; +@use '../../../00-tokens/functions/map'; +@use '../../../00-tokens/tokens'; + +$link-themes: map.deep-get(sass-tokens.$tokens, color, link, theme); +$global-link-themes: map.deep-get(tokens.$tokens, 'global-themes'); + +:root { + // Component themes + @each $theme, $value in $link-themes { + [data-basic-theme='#{$theme}'] { + --color-link-base: var(--color-link-theme-#{$theme}-base); + --color-link-hover: var(--color-link-theme-#{$theme}-hover); + --color-text-shadow: var(--color-background-#{$theme}-background-color); + } + } +} + +// Mixin for generic links. +// Style options are "default" or "no-underline" or "no-animation". +// The style name indicates the initial appearance. +@mixin link($style: default, $family-weight: 'mallory-medium') { + // Global themes: set color slots for each theme + // This establishes `--color-slot-` variables name-spaced to the selector + // in which it is used. We can map component-level variables to global-level + // `--color-slot-` variables. + @each $globalTheme, $value in $global-link-themes { + [data-global-theme='#{$globalTheme}'] & { + --color-slot-one: var(--global-themes-#{$globalTheme}-colors-slot-one); + --color-slot-two: var(--global-themes-#{$globalTheme}-colors-slot-two); + --color-slot-three: var( + --global-themes-#{$globalTheme}-colors-slot-three + ); + --color-slot-four: var(--global-themes-#{$globalTheme}-colors-slot-four); + --color-slot-five: var(--global-themes-#{$globalTheme}-colors-slot-five); + --color-link-hover: var(--color-slot-two); + } + } + + @include tokens.underline-slide-start($variation: #{$style}); + + color: var(--color-link-base); + text-decoration: none; + font-weight: var(--font-weights-#{$family-weight}); + line-height: normal; + + // Global themes: set color slots for each theme + // This establishes `--color-slot-` variables name-spaced to the selector + // in which it is used. We can map component-level variables to global-level + // `--color-slot-` variables. + @each $globalTheme, $value in $global-link-themes { + [data-global-theme='#{$globalTheme}'] & { + --color-slot-one: var(--global-themes-#{$globalTheme}-colors-slot-one); + --color-slot-two: var(--global-themes-#{$globalTheme}-colors-slot-two); + --color-slot-three: var( + --global-themes-#{$globalTheme}-colors-slot-three + ); + --color-slot-four: var(--global-themes-#{$globalTheme}-colors-slot-four); + --color-slot-five: var(--global-themes-#{$globalTheme}-colors-slot-five); + --color-link-hover: var(--color-slot-two); + } + } + + // This text shadow will make the animated underline appear to avoid + // descenders in content. + // inspired by: + // https://github.com/adamschwartz/magic-of-css/commit/35fa2f5ab36aa8c81f053f5a8c7b67b60c79ae5b + + text-shadow: 0.03em 0 var(--color-text-shadow), + -0.03em 0 var(--color-text-shadow), 0 0.03em var(--color-text-shadow), + 0 -0.03em var(--color-text-shadow), 0.06em 0 var(--color-text-shadow), + -0.06em 0 var(--color-text-shadow), 0.09em 0 var(--color-text-shadow), + -0.09em 0 var(--color-text-shadow), 0.12em 0 var(--color-text-shadow), + -0.12em 0 var(--color-text-shadow), 0.15em 0 var(--color-text-shadow), + -0.15em 0 var(--color-text-shadow); + + // Animate the decorative bar when the link is hovered. + &:hover { + @include tokens.underline-slide-end($variation: #{$style}); + + color: var(--color-link-hover); + } + + // Remove underline when focus is visible. + &:focus-visible { + @include tokens.underline-slide-none; + } + + &:visited { + color: var(--color-link-visited-base); + + &:focus, + &:hover { + color: var(--color-link-visited-hover); + } + } + + // Make the underline link encompass the icon as well. + &:has(> i.fa-icon) { + padding-right: var(--size-spacing-6); + } +} + +// This mixin is primarily used in instances in which the link mixin +// (and underline-slide-start) doesn't work. +// Specifically, in instances where we want a plain text link with an underline +// decoration but also want to control the thickness of the underline. +// Currently used in: components/02-molecules/banner/grand-hero/_yds-grand-hero.scss +// and directly referenced at the bottom of this file in: +// &[data-link-style='no-underline-animation'] +@mixin plain-link { + // Global themes: set color slots for each theme + // This establishes `--color-slot-` variables name-spaced to the selector + // in which it is used. We can map component-level variables to global-level + // `--color-slot-` variables. + @each $globalTheme, $value in $global-link-themes { + [data-global-theme='#{$globalTheme}'] & { + --color-slot-one: var(--global-themes-#{$globalTheme}-colors-slot-one); + --color-slot-two: var(--global-themes-#{$globalTheme}-colors-slot-two); + --color-slot-three: var( + --global-themes-#{$globalTheme}-colors-slot-three + ); + --color-slot-four: var(--global-themes-#{$globalTheme}-colors-slot-four); + --color-slot-five: var(--global-themes-#{$globalTheme}-colors-slot-five); + --color-link-hover: var(--color-slot-two); + } + } + + color: var(--color-link-base); + text-decoration: underline; + text-decoration-thickness: 0.1em; + font-weight: var(--font-weights-mallory-medium); + line-height: normal; + + &:hover { + text-decoration: none; + color: var(--color-link-hover); + } + + &:visited { + color: var(--color-link-visited-base); + + &:focus, + &:hover { + color: var(--color-link-visited-hover); + } + } +} + +// This mixin is used to style linked headings in components that should be +// "fully clickable". e.g. When an entire card is clickable, this applies the +// appropriate styles to the heading inside the card. +// NOTES: +// - Apply the mixin to the parent item. e.g.: `.card` and it will affect +// the `.card__heading-link` element inside. +// - The component will likely also need some JS to round out the design and +// functionality desired. Check `reference-card.js` for an example. And/or read +// the Cards chapter here: https://inclusive-components.design/cards. +@mixin clickable-component-heading-link { + // Style the component when it's heading is focused. + &:focus-within { + @include tokens.focus-styles; + } + + // Style the heading link inside the component. + [class*='__heading-link'] { + @include tokens.underline-slide-start('no-underline'); + + // Global themes: set color slots for each theme + // This establishes `--color-slot-` variables name-spaced to the selector + // in which it is used. We can map component-level variables to global-level + // `--color-slot-` variables. + @each $globalTheme, $value in $global-link-themes { + [data-global-theme='#{$globalTheme}'] & { + --color-slot-one: var(--global-themes-#{$globalTheme}-colors-slot-one); + --color-slot-two: var(--global-themes-#{$globalTheme}-colors-slot-two); + --color-slot-three: var( + --global-themes-#{$globalTheme}-colors-slot-three + ); + --color-slot-four: var( + --global-themes-#{$globalTheme}-colors-slot-four + ); + --color-slot-five: var( + --global-themes-#{$globalTheme}-colors-slot-five + ); + --color-link-hover: var(--color-slot-two); + } + } + + color: currentcolor; + text-decoration: none; + font-weight: var(--font-weights-yalenew-bold); + letter-spacing: var(--font-letter-spacing-yalenew-bold); + + // adjust position so the text-shadow aligns nicely with the text. + --position: 0 1.05em; + + // This text shadow will make the animated underline appear to avoid + // descenders in content. + // inspired by: + // https://github.com/adamschwartz/magic-of-css/commit/35fa2f5ab36aa8c81f053f5a8c7b67b60c79ae5b + + text-shadow: 0.03em 0 var(--color-text-shadow), + -0.03em 0 var(--color-text-shadow), 0 0.03em var(--color-text-shadow), + 0 -0.03em var(--color-text-shadow), 0.06em 0 var(--color-text-shadow), + -0.06em 0 var(--color-text-shadow), 0.09em 0 var(--color-text-shadow), + -0.09em 0 var(--color-text-shadow), 0.12em 0 var(--color-text-shadow), + -0.12em 0 var(--color-text-shadow), 0.15em 0 var(--color-text-shadow), + -0.15em 0 var(--color-text-shadow); + + &:focus { + // Setting `outline: none` is generally a huge no-no! In this case, + // however, we're visually and functionally making the entire component + // "clickable", so we've added focus styles to the component itself using + // `:focus-within` above, so we can safely remove this outline, since it + // would otherwise be redundant and create confusion as two different + // elements would appear to be focused at the same time. + outline: none; + } + + &:visited { + color: var(--color-link-visited-base); + } + } + + // Style the heading link when the component is focused. + &:focus-visible [class*='__heading-link'] { + @include tokens.underline-slide-end('no-underline'); + } + + // Style the heading link when the component is hovered. + &:hover [class*='__heading-link'] { + @include tokens.underline-slide-end('no-underline'); + + color: var(--color-link-hover); + + &:visited { + color: var(--color-link-visited-hover); + } + } + + // Make the underline link encompass the icon as well. + & [class*='__heading-link']:has(> i.fa-icon) { + padding-right: var(--size-spacing-5); + } +} + +.link { + &[data-link-style='underline'] { + @include link; + + // set default --color-text-shadow + --color-text-shadow: var(--color-basic-white); + } + + &[data-link-style='underline-with-icon'] { + @include link; + + // set default --color-text-shadow + --color-text-shadow: var(--color-basic-white); + + display: flex; + flex-flow: row nowrap; + align-items: center; + width: fit-content; + background-size: calc(100% - var(--size-spacing-3)) var(--thickness); + + // Footer elements with a dark background can't have white shadows + // so this overrides it to match the current background color of the footer. + .site-footer__secondary & { + --color-text-shadow: var(--color-site-footer-background-color); + } + } + + &[data-link-style='no-underline'] { + @include link(no-underline); + } + + &[data-link-style='no-underline-animation'] { + @include plain-link; + } + + &:visited { + color: var(--color-link-visited-base); + + &:hover { + color: var(--color-link-visited-hover); + } + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/yds-text-link.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/yds-text-link.js new file mode 100644 index 000000000..6fb97a19a --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/yds-text-link.js @@ -0,0 +1,49 @@ +Drupal.behaviors.textLink = { + attach(context) { + // Selectors + const currentURL = window.location.origin; + const links = context.querySelectorAll('a'); + + // Add click event listener for clicking the text + const elems = document.querySelectorAll('.copy-trigger'); + elems.forEach((elem) => { + elem.addEventListener( + 'click', + (event) => { + // Only fire if the target has id copy + if (!event.target.matches('.copy-trigger')) return; + + if (!navigator.clipboard) { + // Clipboard API not available + return; + } + const text = + event.target.parentNode.querySelector( + '.pre-text__text', + ).textContent; + try { + navigator.clipboard.writeText(text); + const triggerValue = elem; + triggerValue.innerHTML = 'Copied to clipboard'; + setTimeout(() => { + triggerValue.innerHTML = '(Copy)'; + }, 1200); + } catch (error) { + const triggerValue = elem; + triggerValue.innerHTML = '(error)'; + } + }, + false, + ); + }); + + // find all external links and add a class + links.forEach((link) => { + const linkHref = link.getAttribute('href'); + + if (linkHref !== currentURL) { + link.classList.add('external-link'); + } + }); + }, +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/yds-text-link.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/yds-text-link.twig new file mode 100644 index 000000000..7012d3b4a --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/controls/text-link/yds-text-link.twig @@ -0,0 +1,59 @@ +{# + # Available props: + # - link__type: + # - normal (default), + # - download + # - external (adds icon), + # - target-blank (adds icon + opens in new window/tab), + # - with-chevron + # - link__style: underline (default), no-underline, no-animation + # + # Available variables: + # - link__content - the content of the link (typically text) + # - link__url - the url this link should poing to + # - link__attributes - array of attribute,value pairs + # + # Available blocks: + # - link__content - used to replace the content of the link + # Example: to insert the image component + #} + +{% set link__base_class = link__base_class|default('link') %} +{% set link__attributes = link__attributes|default({}) %} +{% set link__modifiers = link__modifiers|default([]) %} + +{% if link__url is defined and link__url is not null and link__url|length > 0 %} + {% set link__url_type = link__url_type|default(getUrlType(link__url, link__attributes)) %} +{% else %} + {% set link__url_type = "internal" %} +{% endif %} + +{% set link__type = link__type|default(link__url_type) %} +{% set link__style = link_style|default('underline') %} + +{% if link__type == 'external' or link__type == 'target-blank' or link__type == 'download' or link__type == 'with-chevron' %} + {% set link__modifiers = link__modifiers|merge(['with-icon']) %} + {% set link__style = link__style ~ "-with-icon" %} +{% endif %} + +{% set link__attributes = link__attributes|merge({ + 'data-link-style': link__style|default('underline'), + 'data-link-type': link__type|default('normal'), + class: bem(link__base_class, link__modifiers, link__blockname, link__extra_class), + href: link__url, +}) %} + +{% if link__url_type == 'download' %} + {% set link__attributes = link__attributes|merge({ + download: '', + }) %} +{% endif %} + + + {% block link__content %} + {{- link__content -}} + {% endblock %} + {% include "@atoms/controls/base/yds-control-icon.twig" with { + control_icon__url_type: link__url_type, + } %} + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/date-time/_yds-date-time.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/date-time/_yds-date-time.scss new file mode 100644 index 000000000..6b636b518 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/date-time/_yds-date-time.scss @@ -0,0 +1,6 @@ +.date-time { + font-variant-caps: small-caps; + font-variant-numeric: oldstyle-nums; + text-transform: lowercase; + letter-spacing: 0.5px; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/date-time/yds-date-time.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/date-time/yds-date-time.twig new file mode 100644 index 000000000..1a94db109 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/date-time/yds-date-time.twig @@ -0,0 +1,87 @@ +{# Remove white space caused by all of the new lines in this file. #} +{% apply spaceless %} + +{# + # Logic Variables: + # - date_time__format: 'time', 'date', or null (default. Returns date and time.) + # + # Available Variables: + # - date_time__all_day + # - date_time__start + # - date_time__end + #} + +{# Set the end date to the start date, by default, so that Twig doesn't + # erroneously use "today" like it does when no date is provided. + # In the logic below we filter for "When start and end are the same, which, in + # combination with this, accounts for "no end date provided" as well. #} +{% set date_time__end = date_time__end|default(date_time__start) %} + +{# Date/Time formats used in this file #} +{% set format__iso = 'c' %} {# 2022-04-01T08:34:42+00:00 #} +{% set format__html_date = 'Y-m-d' %} {# 2022-04-01 #} +{% set format__date = 'F j, Y' %} {# April 1, 2022 #} +{% set format__day__full__start = 'l, F j' %} {# Friday, April 1 #} +{% set format__day__full = 'l, F j, Y' %} {# Friday, April 1, 2022 #} +{# If minutes == ":00" don't show them #} +{% if date_time__start|date('i') == '00' %} + {% set format__time__start = 'g-' %} {# 8- #} +{% else %} + {% set format__time__start = 'g:i-' %} {# 8:30- #} +{% endif %} +{% if date_time__end|date('i') == '00' %} + {% set format__time = 'g a T' %} {# 11 pm ET #} +{% else %} + {% set format__time = 'g:i a T' %} {# 11:30 pm ET #} +{% endif %} + + +{% if date_time__all_day == true %} + All Day +{############# + # TIME ONLY # + #############} +{% elseif date_time__format == 'time' %} + {# If start and end times are equal #} + {% if date_time__start|date(format__iso) == date_time__end|date(format__iso) %} + {% set date_time = date_time__start|date(format__time) %} + {# If start and end times are different #} + {% else %} + {% set date_time = date_time__start|date(format__time__start) ~ date_time__end|date(format__time) %} + {% endif %} +{############# + # DATE ONLY # + #############} +{% elseif date_time__format == 'date' %} + {# If start and end date/time are equal. #} + {% if date_time__start|date(format__html_date) == date_time__end|date(format__html_date) %} + {# Specific Date #} + {# Expample: April 1, 2022 #} + {% set date_time = date_time__start|date(format__date) %} + {# If start and end times are different. #} + {% else %} + {% set date_time = date_time__start|date(format__date) ~ '-' ~ date_time__end|date(format__date) %} + {% endif %} +{################ + # DAY AND DATE # + ################} +{% else %} + {# If start and end date/time are equal. #} + {% if date_time__start|date(format__html_date) == date_time__end|date(format__html_date) %} + {# Specific Day #} + {# Expample: Friday, April 1, 2022 #} + {% set date_time = date_time__start|date(format__day__full) %} + {# If start and end times are different. #} + {% else %} + {% set date_time = date_time__start|date(format__day__full__start) ~ ' to ' ~ date_time__end|date(format__day__full) %} + {% endif %} +{% endif %} + +{% set date_time__attribuites = { + datetime: date_time__start|date(format__iso), + class: bem('date-time'), +} %} + + + +{% endapply %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/_yds-divider.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/_yds-divider.scss new file mode 100644 index 000000000..01937cfe2 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/_yds-divider.scss @@ -0,0 +1,43 @@ +@use '../../00-tokens/tokens'; + +$divider-widths: 100, 75, 50, 25; + +@each $divider-width in $divider-widths { + .divider[data-divider-width='#{$divider-width}'] { + --width-divider: var(--layout-width-#{$divider-width}); + } +} + +$divider-positions: left, center; + +@each $divider-position in $divider-positions { + .divider__inner[data-divider-position='#{$divider-position}'] { + --position-divider: var(--layout-flex-position-#{$divider-position}); + } +} + +.divider__wrapper { + @include tokens.spacing-page-section; +} + +.divider__inner { + display: flex; + justify-content: var(--position-divider); +} + +.divider { + background: var(--color-divider); + width: var(--width-divider); + height: var(--thickness-divider); + + // if animation is active + [data-site-animation='artistic'] & { + &[data-animate-item='enabled'] { + @include tokens.animate( + $property: 'transform', + $duration: var(--animation-speed-slow) + ); + @include tokens.expand-out; + } + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/cl-dividers.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/cl-dividers.scss new file mode 100644 index 000000000..854551bb5 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/cl-dividers.scss @@ -0,0 +1,4 @@ +.divider__wrapper { + min-height: 5rem; + margin-block: 2rem; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/divider.stories.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/divider.stories.js new file mode 100644 index 000000000..fb0f1ffae --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/divider.stories.js @@ -0,0 +1,87 @@ +import tokens from '@yalesites-org/tokens/build/json/tokens.json'; + +import dividerTwig from './yds-divider.twig'; + +import './cl-dividers.scss'; +import '../../00-tokens/effects/yds-animate'; + +const layoutOptions = ['left', 'center']; +const thicknessOptions = Object.keys(tokens.border.thickness); +const widths = Object.keys(tokens.layout.width); + +export default { + title: 'Atoms/Divider', + argTypes: { + thickness: { + name: 'Line thickness', + options: thicknessOptions, + type: 'select', + defaultValue: 'hairline', + }, + dividerColor: { + name: 'Line Color', + options: ['gray-500', 'blue-yale', 'basic-brown-gray'], + type: 'select', + defaultValue: 'gray-500', + }, + width: { + name: 'Divider width', + options: [...widths, 'View-All'], + type: 'select', + defaultValue: 'View-All', + }, + position: { + name: 'Divider position', + options: layoutOptions, + type: 'select', + defaultValue: 'center', + }, + }, +}; + +export const Dividers = ({ position, thickness, dividerColor, width }) => { + const customProperties = { + '--thickness-theme-divider': `var(--size-thickness-${thickness})`, + }; + + const root = document.documentElement; + Object.entries(customProperties).forEach((entry) => { + const [key, value] = entry; + root.style.setProperty(key, value); + }); + + const viewAll = width === 'View-All'; + + return ` +
${dividerTwig()}
+
${dividerTwig()}
+
${dividerTwig()}
+
${dividerTwig()}
+
${dividerTwig()}
+
${dividerTwig()}
+
+

Playground

+

Use the StoryBook controls to see the dividers below implement the available positions, thicknesses, and colors.

+ ${dividerTwig({ + divider__width: `${viewAll ? '25' : width}`, + divider__position: `${position}`, + })} + ${dividerTwig({ + divider__width: `${viewAll ? '50' : width}`, + divider__position: `${position}`, + })} + ${dividerTwig({ + divider__width: `${viewAll ? '75' : width}`, + divider__position: `${position}`, + })} + ${dividerTwig({ + divider__width: `${viewAll ? '100' : width}`, + divider__position: `${position}`, + })} +
+
 
+ `; +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/yds-divider.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/yds-divider.twig new file mode 100644 index 000000000..4696a22c0 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/divider/yds-divider.twig @@ -0,0 +1,40 @@ +{# + # Available Props: + # - animate__item: defaults to `enabled`, will only animate if site_animate_components (lever / config) is not `default` + # + # Available Variables: + # - divider__width: available options are 100% (default), 75%, 50%, and 25% + # - divider__thickness: available options are 1 (default), 2, 3, 4, 5, and 6 + # - divider__position: available options are center (default), left, and right + #} + +{% set divider__base_class = 'divider' %} +{% set divider__position = divider__position|default('center')|lower %} +{% set divider__width = divider__width|default('100') %} +{% set divider__component_width = divider__component_width|default('site') %} +{% set divider__attributes = divider__attributes|default({}) %} + +{% set divider__wrapper__attributes = { + 'data-component-width': divider__component_width, + class: bem('wrapper', [], divider__base_class), +} %} + +{% set divider__inner__attributes = { + 'data-divider-position': divider__position, + class: bem('inner', [], divider__base_class), +} %} + +{% set divider__attributes = divider__attributes|merge({ + 'data-animate-item': animate__item|default('enabled'), +}) %} + +{% set divider__attributes = divider__attributes|merge({ + class: bem(divider__base_class), + 'data-divider-width': divider__width, +}) %} + +
{% block prefix_suffix %}{% endblock %} +
+
+
+
diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_input.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_input.twig new file mode 100644 index 000000000..811045fa3 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_input.twig @@ -0,0 +1,13 @@ +{# +/** + * @file + * Theme override for an 'input' #type form element. + * + * Available variables: + * - attributes: A list of HTML attributes for the input element. + * - children: Optional additional rendered elements. + * + * @see template_preprocess_input() + */ +#} +{{ children }} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_textarea.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_textarea.twig new file mode 100644 index 000000000..6afdbc6f2 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_textarea.twig @@ -0,0 +1,24 @@ +{# +/** + * @file + * Theme override for a 'textarea' #type form element. + * + * Available variables + * - wrapper_attributes: A list of HTML attributes for the wrapper element. + * - attributes: A list of HTML attributes for the textarea element. + * - resizable: An indicator for whether the textarea is resizable. + * - required: An indicator for whether the textarea is required. + * - value: The textarea content. + * + * @see template_preprocess_textarea() + */ +#} +{% + set classes = [ + 'form-item__textfield', + 'form-item__textarea', + ] +%} + + {{ value }} + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_yds-form.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_yds-form.scss new file mode 100644 index 000000000..fda6780ee --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/_yds-form.scss @@ -0,0 +1,66 @@ +@use '../../00-tokens/tokens'; + +// the button-submit mixin to emulate yds-button without the HTML attributes. +// use case is specific to submit inputs in Drupal. +// for all other use cases yds-button should be used. +@mixin button-submit { + transition: color, + background-color var(--animation-speed-default) ease-in-out 0ms; + + --color-action-secondary: var(--color-basic-white); + --color-button-bg: var(--color-action); + --color-button-bg-hover: transparent; + --color-button-border: var(--color-action); + --color-button-text: var(--color-action-secondary); + --color-button-text-hover: var(--color-action); + --border-thickness-button: var(--border-thickness-2); + --border-radius-button: 100vmax; + + border: var(--border-thickness-button, var(--border-thickness-2)) solid + var(--color-button-border); + border-radius: var(--border-radius-button, var(--radius-0)); + background-color: var(--color-button-bg); + color: var(--color-button-text); + font-weight: var(--font-weights-mallory-medium); + padding: var(--size-spacing-3) var(--size-spacing-6); + text-decoration: none; + text-align: center; + min-height: var(--size-click-target-minimum); + width: auto; + + &:hover { + background-color: var(--color-button-bg-hover); + color: var(--color-button-text-hover); + } +} + +.webform-submission-form { + max-width: 80rem; +} + +// Used for exposed filter forms +.ys-filter-form, +.content-moderation-entity-moderation-form { + align-items: flex-end; + display: flex; + gap: 1rem; + margin-bottom: var(--size-spacing-8); + flex-flow: row wrap; + + .form-item { + width: 100%; + margin-bottom: 0; + } + + .form-select { + height: 3rem; + } + + .form-submit { + @include button-submit; + + --border-radius-button: var(--radius-0); + + min-height: var(--size-spacing-9); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/_yds-checkbox-item.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/_yds-checkbox-item.twig new file mode 100644 index 000000000..db5a47e96 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/_yds-checkbox-item.twig @@ -0,0 +1,5 @@ +
  • + +
  • diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/_yds-checkbox.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/_yds-checkbox.scss new file mode 100644 index 000000000..bb029a5de --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/_yds-checkbox.scss @@ -0,0 +1,8 @@ +@use '../../../00-tokens/tokens'; + +.form-item--checkboxes, +.form-item--checkbox__item { + list-style: none; + margin: 0; + padding: 0; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/checkbox.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/checkbox.yml new file mode 100644 index 000000000..93a73fddc --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/checkbox.yml @@ -0,0 +1,6 @@ +checkboxes: + - title: 'Option 1' + checked: 'checked' + - title: 'Option 2' + - title: 'Option 3' + - title: 'Option 4' diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/yds-checkbox.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/yds-checkbox.twig new file mode 100644 index 000000000..92413e8a6 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/checkbox/yds-checkbox.twig @@ -0,0 +1,15 @@ +{% if not attributes %} +
    + Options as Checkboxes +
      +{% endif %} + {% for key, checkbox in checkboxes %} + {% include "@atoms/forms/checkbox/_yds-checkbox-item.twig" with { + checkbox_item: checkbox.title, + checkbox_item_checked: checkbox.checked, + } %} + {% endfor %} +{% if not attributes %} +
    +
    +{% endif %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/contact-form-example.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/contact-form-example.twig new file mode 100644 index 000000000..63d43df60 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/contact-form-example.twig @@ -0,0 +1,21 @@ +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    +
    diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/forms.stories.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/forms.stories.js new file mode 100644 index 000000000..c904ff7c6 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/forms.stories.js @@ -0,0 +1,26 @@ +// Checkbox, radio and select elements are commented out because we +// may use these soon, but not yet. +// import checkbox from './checkbox/yds-checkbox.twig'; +// import radio from './radio/yds-radio.twig'; +import select from './select/yds-select.twig'; +import textfields from './textfields/yds-textfields.twig'; +import formExample from './contact-form-example.twig'; + +// import checkboxData from './checkbox/checkbox.yml'; +// import radioData from './radio/radio.yml'; +import selectOptionsData from './select/select.yml'; + +/** + * Storybook Definition. + */ +export default { title: 'Atoms/Forms' }; + +// export const checkboxes = () => checkbox(checkboxData); + +// export const radioButtons = () => radio(radioData); + +export const selectDropdowns = () => select(selectOptionsData); + +export const textfieldsExamples = () => textfields(); + +export const exampleForm = () => formExample(); diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/_yds-radio-item.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/_yds-radio-item.twig new file mode 100644 index 000000000..33b95e79a --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/_yds-radio-item.twig @@ -0,0 +1,5 @@ +
  • + +
  • diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/_yds-radio.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/_yds-radio.scss new file mode 100644 index 000000000..d9733904c --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/_yds-radio.scss @@ -0,0 +1,8 @@ +@use '../../../00-tokens/tokens'; + +.form-item--radios, +.form-item--radio__item { + list-style: none; + margin: 0; + padding: 0; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/radio.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/radio.yml new file mode 100644 index 000000000..278b78ea0 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/radio.yml @@ -0,0 +1,6 @@ +radios: + - title: 'Option 1' + checked: 'checked' + - title: 'Option 2' + - title: 'Option 3' + - title: 'Option 4' diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/yds-radio.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/yds-radio.twig new file mode 100644 index 000000000..392c7fd4e --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/radio/yds-radio.twig @@ -0,0 +1,15 @@ +{% if not attributes %} +
    + Options as Radio Buttons +
      +{% endif %} + {% for key, radio in radios %} + {% include "@atoms/forms/radio/_yds-radio-item.twig" with { + radio_item: radio.title, + radio_item_checked: radio.checked + } %} + {% endfor %} +{% if not attributes %} +
    +
    +{% endif %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/_yds-select-item.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/_yds-select-item.twig new file mode 100644 index 000000000..a38afcbfb --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/_yds-select-item.twig @@ -0,0 +1 @@ + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/_yds-select.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/_yds-select.scss new file mode 100644 index 000000000..90a29caf5 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/_yds-select.scss @@ -0,0 +1,89 @@ +@use '../../../00-tokens/tokens'; + +// CSS-only select styling (from https://github.com/filamentgroup/select-css) +// SVG background-images encoded using https://yoksel.github.io/url-encoder/ +.form-item__dropdown { + --color-dropdown-border: var(--color-gray-400); + --color-dropdown-border-hover: var(--color-blue-horizon); + --color-dropdown-icon: var(--color-gray-400); + --color-dropdown-icon-hover: var(--color-blue-horizon); + + border: var(--border-thickness-1) solid var(--color-dropdown-border); + display: block; + position: relative; + + &::after { + content: ' '; + position: absolute; + top: 35%; + right: 1em; + height: 1rem; + width: 1rem; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' fill='%239C9C9C'%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M360.5 217.5l-152 143.1C203.9 365.8 197.9 368 192 368s-11.88-2.188-16.5-6.562L23.5 217.5C13.87 208.3 13.47 193.1 22.56 183.5C31.69 173.8 46.94 173.5 56.5 182.6L192 310.9l135.5-128.4c9.562-9.094 24.75-8.75 33.94 .9375C370.5 193.1 370.1 208.3 360.5 217.5z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: center; + background-size: 1rem; + z-index: 0; + + /* These hacks make the select behind the arrow clickable in some browsers */ + pointer-events: none; + display: none; + } + + &:hover, + &:focus, + &:focus-visible { + border-color: var(--color-dropdown-border-hover); + + &::after { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' fill=' %23276BBE'%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M360.5 217.5l-152 143.1C203.9 365.8 197.9 368 192 368s-11.88-2.188-16.5-6.562L23.5 217.5C13.87 208.3 13.47 193.1 22.56 183.5C31.69 173.8 46.94 173.5 56.5 182.6L192 310.9l135.5-128.4c9.562-9.094 24.75-8.75 33.94 .9375C370.5 193.1 370.1 208.3 360.5 217.5z'/%3E%3C/svg%3E"); + } + } +} + +.form-item__select { + --color-select-border: var(--color-gray-400); + --color-select-border-hover: var(--color-blue-horizon); + --color-select-background: var(--color-gray-100); + --color-select-icon: var(--color-gray-400); + --color-select-icon-hover: var(--color-blue-horizon); + --color-select-text-color: var(--color-gray-700); + + font-size: 100%; + line-height: 1.4; + margin: 0; + padding: 0.5em 0.8em; + width: 100%; + min-width: 22rem; + color: var(--color-select-text-color); + + :focus { + outline: none; + color: var(--color-select-icon-hover); + } +} + +@supports (-webkit-appearance: none) or (appearance: none) or + ((-moz-appearance: none) and (mask-type: alpha)) { + /* Show custom arrow */ + .form-item__dropdown::after { + display: block; + } + + /* Remove select styling */ + .form-item__select { + padding-right: 2em; /* Match-01 */ + + /* inside @supports so that iOS <= 8 display the native arrow */ + background: none; /* Match-04 */ + + /* inside @supports so that Android <= 4.3 display the native arrow */ + border: 1px solid transparent; /* Match-05 */ + appearance: none; + + &:focus { + border-color: var(--color-select-border-hover); + border-radius: 0; + } + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/select.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/select.yml new file mode 100644 index 000000000..597ac2fc8 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/select.yml @@ -0,0 +1,6 @@ +select: + - title: 'Choose an Option' + - title: 'Option 1' + - title: 'Option 2' + - title: 'Option 3' + - title: 'Option 4' diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/yds-select.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/yds-select.twig new file mode 100644 index 000000000..515c15f5a --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/select/yds-select.twig @@ -0,0 +1,18 @@ +{% if not attributes %} +
    + +
    + +
    +
    +{% endif %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/textfields/_yds-textfields.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/textfields/_yds-textfields.scss new file mode 100644 index 000000000..0611c9957 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/textfields/_yds-textfields.scss @@ -0,0 +1,113 @@ +@use '../../../00-tokens/tokens'; +@use '../yds-form' as forms; + +$form-item-max-width: 25rem; +$form-item-icon-size: 1.7rem; + +.form-item { + --color-form-item-border: var(--color-gray-400); + --color-form-item-border-focus: var(--color-gray-800); + --color-form-item-placeholder: var(--color-gray-600); + --color-form-item-error: var(--color-alert-emergency-background-color); + --color-form-item-description: var(--color-gray-500); + + margin-bottom: var(--size-spacing-7); + max-width: $form-item-max-width; + clear: both; + + .form--inline & { + margin-bottom: unset; + } +} + +.form-item__label { + display: block; + margin-bottom: var(--size-spacing-1); + font-weight: 500; + + &--required::after { + color: var(--color-gray-600); + margin: calc(var(--size-spacing-4) * 1) 0 0 0.2em; + content: '*'; + } +} + +.form-item__textfield { + border: var(--border-thickness-1) solid var(--color-form-item-border); + padding: var(--size-spacing-4); + width: 100%; + max-width: 100%; + + .form--inline & { + height: 100%; + } + + // TODO: change this to token style, when tokens update is merged. + line-height: 1.4; + + &::placeholder { + color: var(--color-form-item-placeholder); + font-style: italic; + opacity: 1; + } + + &:focus { + border-color: var(--color-form-item-border-focus); + } + + &--error { + border-width: var(--border-thickness-2); + border-color: var(--color-form-item-error); + padding-right: calc(var(--size-spacing-4) + $form-item-icon-size); + + &:focus { + border-color: var(--color-form-item-error); + } + } +} + +.form-item__inner--with-icon { + position: relative; + display: flex; + align-items: center; +} + +.form-item__error_icon__icon { + position: absolute; + top: auto; + right: var(--size-spacing-4); + fill: var(--color-alert-emergency-background-color); + width: $form-item-icon-size; + height: $form-item-icon-size; +} + +.form-item__description { + @include tokens.body-xs; + + color: var(--color-form-item-description); + padding-block-start: var(--size-spacing-2); +} + +.form-fieldset { + border: none; + margin-bottom: var(--size-spacing-4); + padding: 0; + + .form-item { + margin-inline-start: var(--size-spacing-4); + margin-inline-end: var(--size-spacing-4); + max-width: $form-item-max-width; + } +} + +.form-item__error-text { + @include tokens.body-s-condensed; + + color: var(--color-form-item-error); +} + +.form-actions { + .webform-button--submit { + @include forms.button-submit; + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/textfields/yds-textfields.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/textfields/yds-textfields.twig new file mode 100644 index 000000000..51d9adbd0 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/forms/textfields/yds-textfields.twig @@ -0,0 +1,34 @@ +
    + + +
    + Please enter your full name. +
    +
    + +
    + +
    + + {% include "@atoms/images/icons/_yds-icon.twig" with { + icon__name: 'circle-exclamation', + icon__blockname: 'form-item__error_icon', + icon__decorative: true, + } + %} +
    +
    + Help text if more content is needed. +
    +
    + Error text about what went wrong. +
    +
    + +
    + + +
    + Do you have a question or comment? +
    +
    diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/_yds-fa-icon.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/_yds-fa-icon.twig new file mode 100644 index 000000000..97af978df --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/_yds-fa-icon.twig @@ -0,0 +1,43 @@ +{# + # Available variables: + # - fa_icon__title: the name of the icon + # - fa_icon__role: a11y role + # - fa_icon__title: a11y title + # - fa_icon__desc: a11y description + # - fa_icon__decorative: "hide" the icon from screen readers + # - fa_icon__class: font awesome classes + #} + +{%- set fa_icon__base_class = fa_icon__base_class|default('fa-icon') %} +{%- set fa_icon__attributes = fa_icon__attributes|default({}) %} + +{%- set fa_icon__attributes = fa_icon__attributes|merge({ + class: bem(fa_icon__base_class, fa_icon__modifiers, fa_icon__blockname, fa_icon__extra_class), +}) %} + +{%- set unique_name = fa_icon__title|lower|replace({' ': '-'}) ~ '-' ~ random() %} + +{%- if fa_icon__sr_title %} + {{fa_icon__sr_title}} +{% endif %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/_yds-fa-icons.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/_yds-fa-icons.scss new file mode 100644 index 000000000..6f3751a37 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/_yds-fa-icons.scss @@ -0,0 +1,14 @@ +.fa-icon { + --fa-display: inline-block; + + font-size: var(--font-scale-15-16); + padding-left: var(--size-spacing-3); + width: 100%; + max-width: calc(1rem - var(--size-spacing-3)); + + &::before { + display: inline-block; + width: 100%; + max-width: calc(1rem + var(--size-spacing-3)); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/fa-icons.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/fa-icons.yml new file mode 100644 index 000000000..7409d181b --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/fa-icons.yml @@ -0,0 +1,9 @@ +fa_icons: + - fa_icon__name: Up Right + fa_icon__extra_class: ['fa-solid fa-arrow-up-right'] + - fa_icon__name: External Link + fa_icon__extra_class: ['fa-solid fa-arrow-up-right-from-square'] + - fa_icon__name: Angle Right + fa_icon__extra_class: ['fa-solid fa-angle-right'] + - fa_icon__name: Circle Down + fa_icon__extra_class: ['fa-regular fa-circle-down'] diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/yds-fa-icons.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/yds-fa-icons.twig new file mode 100644 index 000000000..332df78b8 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/fa-icons/yds-fa-icons.twig @@ -0,0 +1,11 @@ +
    + {% for item in fa_icons %} +
    + {% include "@atoms/images/fa-icons/_yds-fa-icon.twig" with { + fa_icon__title: item.fa_icon__name, + fa_icon__extra_class: item.fa_icon__extra_class, + } %} +
    {{ item.fa_icon__name }}
    {{ item.fa_icon__extra_class }}
    +
    + {% endfor %} +
    diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/_yds-icon.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/_yds-icon.twig new file mode 100644 index 000000000..946052d9c --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/_yds-icon.twig @@ -0,0 +1,40 @@ +{# + # Available variables: + # - icon__name: the name of the icon + # - icon__role: a11y role + # - icon__title: a11y title + # - icon__desc: a11y description + # - icon__decorative: "hide" the icon from screen readers + #} + +{% set icon__base_class = icon__base_class|default('icon') %} +{# If `directory` is defined, set the path relative for Drupal. + # Otherwise, set the path relative to the Component Library. #} +{% set icon__url = directory ? '/' ~ directory ~ '/node_modules/@yalesites-org/component-library-twig/dist/' %} + +{% set unique_name = icon__name ~ '-' ~ random() %} + + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/_yds-icons.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/_yds-icons.scss new file mode 100644 index 000000000..1ca4a6952 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/_yds-icons.scss @@ -0,0 +1,3 @@ +svg { + fill: currentcolor; +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/cl-icons.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/cl-icons.scss new file mode 100644 index 000000000..88b9f37fd --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/cl-icons.scss @@ -0,0 +1,23 @@ +.icons-demo { + display: flex; + flex-wrap: wrap; + text-align: center; + + .icon { + height: 100px; + width: 100px; + padding: var(--size-spacing-5); + } + + pre { + margin: 0; + padding: var(--size-spacing-3); + background-color: var(--color-text); + color: var(--color-background); + } +} + +.icons-demo__item { + border: var(--border-thickness-1) solid; + margin: var(--size-spacing-3); +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/yds-icons.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/yds-icons.twig new file mode 100644 index 000000000..752d864e1 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/icons/yds-icons.twig @@ -0,0 +1,10 @@ +
    + {% for item in icons %} +
    + {% include "@atoms/images/icons/_yds-icon.twig" with { + icon__name: item + } %} +
    {{ item }}
    +
    + {% endfor %} +
    diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_image.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_image.twig new file mode 100644 index 000000000..9833c6d79 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_image.twig @@ -0,0 +1,14 @@ +{% set image__base_class = image__base_class|default('image') %} + +{% if image__src is empty %} + Missing image +{% else %} + +{% endif %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_picture.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_picture.twig new file mode 100644 index 000000000..923b710d1 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_picture.twig @@ -0,0 +1,13 @@ +{% set picture__base_class = picture__base_class|default('picture') %} + + + {% if sources %} + {% for source_attributes in sources %} + + {% endfor %} + {% endif %} + {# The controlling image, with the fallback image in srcset. #} + {% include "@atoms/images/image/_image.twig" with { + image__blockname: picture__image__blockname|default(picture__blockname), + } %} + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_responsive-image.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_responsive-image.twig new file mode 100644 index 000000000..ce398c868 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_responsive-image.twig @@ -0,0 +1,32 @@ +{# + # Available variables: + # - sources: The attributes of the tags for this tag. + # - img_element: The controlling image, with the fallback image in srcset. + # - output_image_tag: Whether or not to output an tag instead of a tag. + #} + +{% set responsive_image__base_class = responsive_image__base_class|default('image') %} + +{% if output_image_tag %} + {% include "@atoms/images/image/_image.twig" with { + image__base_class: responsive_image__base_class, + image__modifiers: responsive_image__modifiers, + image__blockname: responsive_image__blockname, + image__srcset: image__srcset|default(img_element['#attributes'].srcset), + image__sizes: image__sizes|default(img_element['#attributes'].sizes), + image__src: image__src|default(img_element['#uri']), + image__alt: image__alt|default(img_element['#alt']), + image__title: image__title|default(img_element['#title']), + } %} +{% else %} + {% include "@atoms/images/image/_picture.twig" with { + picture__base_class: responsive_image__base_class, + picture__modifiers: responsive_image__modifiers, + picture__blockname: responsive_image__blockname, + image__srcset: image__srcset|default(img_element['#attributes'].srcset), + image__sizes: image__sizes|default(img_element['#attributes'].sizes), + image__src: image__src|default(img_element['#uri']), + image__alt: image__alt|default(img_element['#alt']), + image__title: image__title|default(img_element['#title']), + } %} +{% endif %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_yds-image.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_yds-image.scss new file mode 100644 index 000000000..a4430f5c8 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/_yds-image.scss @@ -0,0 +1,47 @@ +@use '../../../00-tokens/tokens'; +@use '../../controls/text-link/yds-text-link' as link; + +img, +picture { + display: block; + height: auto; + width: 100%; + max-width: 100%; +} + +figure { + margin: 0; /* override normalize */ +} + +.caption { + @include tokens.body-s-condensed; + + color: var(--color-basic-brown-gray); + margin-top: var(--size-spacing-4); + + > p:last-child { + margin-bottom: 0; + } + + a { + @include link.link; + @include link.plain-link; + + // Override hover variable, it shouldn't use global-theme slots. + &:hover { + color: var(--color-gray-800); + } + } +} + +@mixin clickable-component-image { + $selector: &; + + &__image { + @include tokens.animate('box-shadow'); + } + + &:hover #{$selector}__image { + box-shadow: var(--drop-shadow-level-1); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/cl-image.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/cl-image.scss new file mode 100644 index 000000000..6b7a9c65c --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/cl-image.scss @@ -0,0 +1,18 @@ +.cl-image-examples { + display: flex; + flex-wrap: wrap; + gap: var(--size-spacing-6); +} + +.cl-image-example { + flex: 1 0 clamp(10rem, 40%, 20rem); +} + +.sb-show-main { + [data-collection-type='grid'] { + .reference-card__image img { + height: 100%; + object-fit: cover; + } + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/figure.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/figure.yml new file mode 100644 index 000000000..31748d835 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/figure.yml @@ -0,0 +1,5 @@ +output_image_tag: true +image__url: '#' +image__src: 'https://placeimg.com/1200/200/tech' +image__alt: 'This is the alt text' +figure__caption: '

    This is an image caption.

    ' diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/image.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/image.yml new file mode 100644 index 000000000..f2b1c8fdc --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/image.yml @@ -0,0 +1,37 @@ +responsive_images: + 16x9: + output_image_tag: true + image__srcset: 'https://picsum.photos/320/180 320w, https://picsum.photos/480/270 480w, https://picsum.photos/640/360 640w, https://picsum.photos/800/450 800w, https://picsum.photos/960/540 960w, https://picsum.photos/1120/630 1120w, https://picsum.photos/1280/720 1280w, https://picsum.photos/1440/810 1440w, https://picsum.photos/1600/900 1600w, https://picsum.photos/1760/990 1760w, https://picsum.photos/1920/1080 1920w, https://picsum.photos/2080/1170 2080w, https://picsum.photos/2240/1260 2240w, https://picsum.photos/2400/1350 2400w' + image__sizes: '100vw' + image__src: 'https://picsum.photos/320/180' + image__alt: 'A 16 by 9 image' + 3x2: + output_image_tag: true + image__srcset: 'https://picsum.photos/320/213 320w, https://picsum.photos/480/320 480w, https://picsum.photos/640/427 640w, https://picsum.photos/800/533 800w, https://picsum.photos/960/640 960w, https://picsum.photos/1120/747 1120w, https://picsum.photos/1280/853 1280w, https://picsum.photos/1440/960 1440w, https://picsum.photos/1600/1067 1600w, https://picsum.photos/1760/1173 1760w, https://picsum.photos/1920/1280 1920w, https://picsum.photos/2080/1387 2080w, https://picsum.photos/2240/1493 2240w, https://picsum.photos/2400/1600 2400w' + image__sizes: '100vw' + image__src: 'https://picsum.photos/320/213' + image__alt: 'A 3 by 2 image' + 1x1: + output_image_tag: true + image__srcset: 'https://picsum.photos/320 320w, https://picsum.photos/480 480w, https://picsum.photos/640 640w, https://picsum.photos/800 800w, https://picsum.photos/960 960w, https://picsum.photos/1120 1120w, https://picsum.photos/1280 1280w, https://picsum.photos/1440 1440w, https://picsum.photos/1600 1600w, https://picsum.photos/1760 1760w, https://picsum.photos/1920 1920w, https://picsum.photos/2080 2080w, https://picsum.photos/2240 2240w, https://picsum.photos/2400 2400w' + image__sizes: '100vw' + image__src: 'https://picsum.photos/320' + image__alt: 'A 1 by 1 image' + 1x1.6: + output_image_tag: true + image__srcset: 'https://picsum.photos/320/512 320w, https://picsum.photos/480/768 480w, https://picsum.photos/640/1024 640w, https://picsum.photos/800/1280 800w, https://picsum.photos/960/1536 960w, https://picsum.photos/1120/1792 1120w, https://picsum.photos/1280/2048 1280w, https://picsum.photos/1440/2304 1440w, https://picsum.photos/1600/2560 1600w, https://picsum.photos/1760/2816 1760w, https://picsum.photos/1920/3072 1920w, https://picsum.photos/2080/3328 2080w, https://picsum.photos/2240/3584 2240w, https://picsum.photos/2400/3840 2400w' + image__sizes: '100vw' + image__src: 'https://picsum.photos/320/512' + image__alt: 'A 1 by 1.6 image' + 4x3: + output_image_tag: true + image__srcset: 'https://picsum.photos/320/240 320w, https://picsum.photos/480/360 480w, https://picsum.photos/640/480 640w, https://picsum.photos/800/600 800w, https://picsum.photos/960/720 960w, https://picsum.photos/1120/840 1120w, https://picsum.photos/1280/960 1280w, https://picsum.photos/1440/1080 1440w, https://picsum.photos/1600/1200 1600w, https://picsum.photos/1760/1320 1760w, https://picsum.photos/1920/1440 1920w, https://picsum.photos/2080/1560 2080w, https://picsum.photos/2240/1680 2240w, https://picsum.photos/2400/1800 2400w' + image__sizes: '100vw' + image__src: 'https://picsum.photos/320/240' + image__alt: 'A 4 by 3 image' + 2x3: + output_image_tag: true + image__srcset: 'https://picsum.photos/213/320 213w, https://picsum.photos/320/480 320w, https://picsum.photos/427/640 427w, https://picsum.photos/533/800 533w, https://picsum.photos/640/960 640w, https://picsum.photos/747/1120 747w, https://picsum.photos/853/1280 853w, https://picsum.photos/960/1440 960w, https://picsum.photos/1067/1600 1067w, https://picsum.photos/1173/1760 1173w, https://picsum.photos/1280/1920 1280w, https://picsum.photos/1387/2080 1387w, https://picsum.photos/1493/2240 1493w, https://picsum.photos/1600/2400 1600w' + image__sizes: '100vw' + image__src: 'https://picsum.photos/213/320' + image__alt: 'A 2 by 3 image' diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/yds-image.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/yds-image.twig new file mode 100644 index 000000000..f836ad90d --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/image/yds-image.twig @@ -0,0 +1,27 @@ +{# Set this block in a variable so that we can implement it in multiple places below. #} +{% set image__image %} + {% block image__image %} + {% include "@atoms/images/image/_responsive-image.twig" %} + {% endblock %} +{% endset %} + +{# Render the image in a
    if there is a caption provided. #} +{% if figure__caption %} + {% set figure__attributes = { + 'class': bem('figure'), + } %} + +
    + {{ image__image }} + + {% if figure__caption %} +
    + {# We use `|raw` here to accomodate WYSIWYG content #} + {{- figure__caption|raw -}} +
    + {% endif %} +
    +{# Render a standard or directly if there is no caption. #} +{% else %} + {{ image__image}} +{% endif %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/images.stories.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/images.stories.js new file mode 100644 index 000000000..91848075e --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/images/images.stories.js @@ -0,0 +1,55 @@ +import imageTwig from './image/yds-image.twig'; +import iconsTwig from './icons/yds-icons.twig'; +import faIconsTwig from './fa-icons/yds-fa-icons.twig'; + +import imageData from './image/image.yml'; +import figureData from './image/figure.yml'; +import faIconData from './fa-icons/fa-icons.yml'; + +import './image/cl-image.scss'; +import './icons/cl-icons.scss'; + +const svgIcons = require.context('../../../images/icons', true, /\.svg$/); +const icons = []; +svgIcons.keys().forEach((key) => { + const icon = key.split('./')[1].split('.')[0]; + icons.push(icon); +}); + +/** + * Storybook Definition. + */ +export default { title: 'Atoms/Images' }; + +export const Images = () => ` +

    Aspect Ratios

    +

    These are the current aspect ratios that we use in components that require a programmatic crop.

    +
    +
    +

    16:9

    + ${imageTwig(imageData.responsive_images['16x9'])} +
    +
    +

    3:2

    + ${imageTwig(imageData.responsive_images['3x2'])} +
    +
    +

    1:1

    + ${imageTwig(imageData.responsive_images['1x1'])} +
    +
    +

    1:1.6

    + ${imageTwig(imageData.responsive_images['1x1.6'])} +
    +
    +

    4:3

    + ${imageTwig(imageData.responsive_images['4x3'])} +
    +
    +`; + +export const Figures = () => imageTwig(figureData); + +export const Icons = () => iconsTwig({ icons }); + +export const FAIcons = () => faIconsTwig(faIconData); diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/_yds-list-item.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/_yds-list-item.twig new file mode 100644 index 000000000..6b052421d --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/_yds-list-item.twig @@ -0,0 +1,35 @@ +{# + # Available variables: + # - list__item__content - the content of the list_item (typically text) + # + # Available blocks: + # - list__item__content - used to replace the content of the list_item with something other than text + # for example: to insert the image and/or link components + #} + +{% set list__item__base_class = list__item__base_class|default('item') %} +{% set list__item__attributes = list__item__attributes|default({}) %} +{% set list__item__attributes = list__item__attributes|merge({ + class: bem(list__item__base_class, list__item__modifiers, list__item__blockname), +}) %} + + {% if list__item__content__heading %} + {% set list__item__is_heading = true %} + + {# li modifier#} + {% set list__item__content__heading %} + {% include "@atoms/typography/text/yds-text.twig" with { + text__blockname: list__item__blockname, + text__content: list__item__content__heading, + text__base_class: 'heading', + text__attributes: { 'aria-hidden': 'true' } + } %} + {% endset %} +{% endif %} + +
  • + {% block list__item__content %} + {{ list__item__content__heading }} + {{ list__item__content }} + {% endblock %} +
  • diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/_yds-list.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/_yds-list.scss new file mode 100644 index 000000000..976044de0 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/_yds-list.scss @@ -0,0 +1,35 @@ +@mixin reset { + list-style: none; + margin: 0; + padding: 0; +} + +ul { + list-style-type: disc; + + ul { + list-style-type: circle; + + ul { + list-style-type: square; + } + } +} + +ol { + list-style-type: decimal; + + ol { + list-style-type: lower-alpha; + + ol { + list-style-type: lower-roman; + } + } +} + +.text-field { + li { + padding-left: var(--size-spacing-1); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/list.stories.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/list.stories.js new file mode 100644 index 000000000..4025aa97b --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/list.stories.js @@ -0,0 +1,19 @@ +import listTwig from './yds-list.twig'; + +import listData from './list.yml'; + +/** + * Storybook Definition. + */ +export default { title: 'Atoms/Lists' }; + +export const UnorderedList = () => ` +
    + ${listTwig({ list__items: listData.unordered__list__items })} +
    +`; +export const OrderedList = () => ` +
    + ${listTwig({ list__items: listData.ordered__list__items, list__type: 'ol' })} +
    +`; diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/list.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/list.yml new file mode 100644 index 000000000..792043931 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/list.yml @@ -0,0 +1,10 @@ +unordered__list__items: + - list__item__content: "This is a list of items that doesn't need numbers.
    • They may have sub-levels.
      • Here's another level.
    " + - list__item__content: 'Amet consectetur purus justo feugiat mattis sit ultricies odio. Pellentesque pellentesque sit sed porttitor duis interdum.' + - list__item__content: 'Elementum elit est, vitae feugiat enim odio cursus. Enim cum dictum gravida amet id eget.' +ordered__list__items: + - list__item__content: "This is a list of items that benefits from numbers.
    1. They may have sub-levels.
      1. Here's another level
    " + list__item__is_heading: true + list__item__content__heading: 'Heading here' + - list__item__content: 'Amet consectetur purus justo feugiat mattis sit ultricies odio. Pellentesque pellentesque sit sed porttitor duis interdum.' + - list__item__content: 'Elementum elit est, vitae feugiat enim odio cursus. Enim cum dictum gravida amet id eget.' diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/yds-list.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/yds-list.twig new file mode 100644 index 000000000..300e35a4e --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/lists/yds-list.twig @@ -0,0 +1,27 @@ +{# + # Available variables: + # - list__items - the array of list items + # + # Available blocks: + # - list__content + #} +{% set list__base_class = list__base_class|default('list') %} +{% set list__type = list__type|default('ul') %} +{% set list__attributes = list__attributes|default([]) %} +{% set list__attributes = list__attributes|merge({ + class: bem(list__base_class, list__modifiers, list__blockname), +}) %} + +<{{ list__type }} {{ add_attributes(list__attributes) }}> + {% block list__content %} + {% for list__item in list__items %} + {% include "@atoms/lists/_yds-list-item.twig" with { + list__item__content: list__item.list__item__content, + list__item__blockname: list__base_class, + list__item__modifiers: list__item__modifiers, + list__item__content__heading: list__item.list__item__content__heading, + list__item__is_heading: list__item.list__item__is_heading, + } %} + {% endfor %} + {% endblock %} + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/_table.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/_table.scss new file mode 100644 index 000000000..58830c686 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/_table.scss @@ -0,0 +1,59 @@ +@use '../../00-tokens/tokens'; + +table { + @include tokens.body-s-condensed; + + caption-side: bottom; + border-collapse: collapse; + text-align: left; + width: 100%; +} + +.table-wrapper { + overflow-x: auto; +} + +table caption { + text-align: left; + margin-top: var(--size-spacing-4); +} + +tr:nth-child(even) { + background-color: var(--color-gray-100); +} + +th { + background-color: var(--color-gray-200); + padding: var(--size-spacing-3) var(--size-spacing-5); + font-weight: var(--font-weights-mallory-medium); + border: var(--size-thickness-1) solid var(--color-gray-200); + position: sticky; + + thead & { + top: 0; + border-bottom: var(--size-thickness-2) solid var(--color-gray-700); + } + + tbody & { + left: 0; + border-right: var(--size-thickness-2) solid var(--color-gray-700); + } +} + +td { + padding: var(--size-spacing-3) var(--size-spacing-5); + border: var(--size-thickness-1) solid var(--color-gray-300); + min-width: 8rem; + + &:first-child { + border-left: none; + } + + &:last-child { + border-right: none; + } + + tbody tr:last-child & { + border-bottom: var(--size-thickness-2) solid var(--color-gray-700); + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/example-tables.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/example-tables.twig new file mode 100644 index 000000000..e805e6ea4 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/example-tables.twig @@ -0,0 +1,121 @@ +

    Table with Column Headers

    + +{% set table_with_column_headers %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameEmailPhone Number
    Deanna Curtisdeanna.curtis@example.com(316) 555-0116
    Jessica Hansonjessica.hanson@example.com(208) 555-0112
    Michelle Riveramichelle.rivera@example.com(219) 555-0114
    Nathan Robertsnathan.roberts@exxample.com(229) 555-0109
    Optional caption for the table here.
    +{% endset %} + +{% include "@molecules/text/yds-text-field.twig" with { + text_field__content: table_with_column_headers, +} %} + +

    Table with Column and Row Headers

    + +{% set table_with_column_and_row_headers %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    20202021202220222022202220222022
    Freshman130556here's some long text, it's really longhere's some long text, it's really longhere's some long text, it's really longhere's some long text, it's really longhere's some long text, it's really longhere's some long text, it's really long
    Sophomore703740798798798798798798
    Junior423922453453453453453453
    Senior647877583583583583583583
    Graduate357826492492492492492492
    +{% endset %} + +{% include "@molecules/text/yds-text-field.twig" with { + text_field__content: table_with_column_and_row_headers, +} %} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/table.stories.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/table.stories.js new file mode 100644 index 000000000..8899544ee --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/tables/table.stories.js @@ -0,0 +1,9 @@ +// Markup. +import tableTwig from './example-tables.twig'; + +/** + * Storybook Definition. + */ +export default { title: 'Atoms/Table' }; + +export const Table = () => tableTwig(); diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/headings/_yds-headings.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/headings/_yds-headings.scss new file mode 100644 index 000000000..6e9195b25 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/headings/_yds-headings.scss @@ -0,0 +1,64 @@ +@use '../../../00-tokens/tokens'; +@use '../../controls/text-link/yds-text-link'; + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + color: var(--color-heading); +} + +@mixin text-field-header-spacing { + margin-block-end: 0.6em; + + &:not(:first-child) { + margin-top: 1em; + } +} + +// These styles use the `:not([class])` selector which means they will apply to +// any heading that does not also have a class. This accounts for any +// "interface" headings that are not a part of a design system component, as +// well as headings that appear in a wysiwyg without a class. +h1:not([class]) { + @include tokens.h1-yale-new; + @include text-field-header-spacing; +} + +h2:not([class]) { + @include tokens.h2-yale-new; + @include text-field-header-spacing; +} + +h3:not([class]) { + @include tokens.h3-yale-new; + @include text-field-header-spacing; +} + +h4:not([class]) { + @include tokens.h4-yale-new; + @include text-field-header-spacing; +} + +h5:not([class]) { + @include tokens.h5-yale-new; + @include text-field-header-spacing; + + // h5 needs a bit more top margin + &:not(:first-child) { + margin-top: 1.4em; + } +} + +h6:not([class]) { + @include tokens.h6-yale-new; + @include text-field-header-spacing; + + // h6 needs more top margin + &:not(:first-child) { + margin-top: 2em; + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/headings/yds-heading.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/headings/yds-heading.twig new file mode 100644 index 000000000..fa3056859 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/headings/yds-heading.twig @@ -0,0 +1,35 @@ +{# + # Available Props: + # - heading__level - the header level 1-6 (produces h1, h2, etc.) + # + # Available Variables + # - heading - the content of the heading (typically text) + # + # - heading__url - (optional) the url the heading should poing to + # - heading__link__attributes - key/value attributes to pass to link + # - heading__link__base_class - override the link base class + # - heading__link__modifiers - override the link modifiers + # - heading__link__blockname - override the link block name (defaults to heading__base_class) + #} + +{% set heading__base_class = heading__base_class|default('heading') %} + + + {% if heading__prefix %} + + {{ heading__prefix }} + + {% endif %} + {%- if heading__url %} + {% include "@atoms/controls/text-link/yds-text-link.twig" with { + link__content: heading, + link__url: heading__url, + link__attributes: heading__link__attributes, + link__base_class: heading__link__base_class|default('heading-link'), + link__modifiers: heading__link__modifiers, + link__blockname: heading__link__blockname|default(heading__blockname), + } %} + {% else %} + {{- heading -}} + {% endif -%} + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/_yds-text.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/_yds-text.scss new file mode 100644 index 000000000..8fc98f1f8 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/_yds-text.scss @@ -0,0 +1,116 @@ +// Code highlighting color variables + +:root { + --color-hljs-text: #f8f8f2; + --color-hljs-background: #23241f; + --color-hljs-strong: #a8a8a2; + --color-hljs-highlight: #ae81ff; + --color-hljs-code: #a6e22e; + --color-hljs-keyword: #f92672; + --color-hljs-symbol: #66d9ef; + --color-hljs-string: #e6db74; + --color-hljs-comment: #75715e; +} + +p { + margin-block-end: var(--font-spacing-paragraph); +} + +.text { + p:last-child { + margin-bottom: 0; + } + + // Code blocks. + pre code { + display: block; + padding: var(--size-spacing-5); + + // from highlightjs Monokai Sublime + // @see highlight.js/styles/monokai-sublime.css + + /* + Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ + */ + + &.hljs { + background: var(--color-hljs-background); + color: var(--color-hljs-text); + overflow-x: auto; + } + + .hljs-tag, + .hljs-subst { + color: var(--color-hljs-text); + } + + .hljs-strong, + .hljs-emphasis { + color: var(--color-hljs-strong); + } + + .hljs-bullet, + .hljs-quote, + .hljs-number, + .hljs-regexp, + .hljs-literal, + .hljs-link { + color: var(--color-hljs-highlight); + } + + .hljs-code, + .hljs-title, + .hljs-section, + .hljs-selector-class { + color: var(--color-hljs-code); + } + + .hljs-strong { + font-weight: bold; + } + + .hljs-emphasis { + font-style: italic; + } + + .hljs-keyword, + .hljs-selector-tag, + .hljs-name, + .hljs-attr { + color: var(--color-hljs-keyword); + } + + .hljs-symbol, + .hljs-attribute { + color: var(--color-hljs-symbol); + } + + .hljs-params, + .hljs-title.class_, + .hljs-class .hljs-title { + color: var(--color-hljs-text); + } + + .hljs-string, + .hljs-type, + .hljs-built_in, + .hljs-selector-id, + .hljs-selector-attr, + .hljs-selector-pseudo, + .hljs-addition, + .hljs-variable, + .hljs-template-variable { + color: var(--color-hljs-string); + } + + .hljs-comment, + .hljs-deletion, + .hljs-meta { + color: var(--color-hljs-comment); + } + } +} + +strong { + font-weight: var(--font-weights-mallory-medium); +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/yds-text.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/yds-text.js new file mode 100644 index 000000000..5c1d7d4ef --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/yds-text.js @@ -0,0 +1,78 @@ +import hljs from 'highlight.js/lib/core'; +import c from 'highlight.js/lib/languages/c'; +import cpp from 'highlight.js/lib/languages/cpp'; +import csharp from 'highlight.js/lib/languages/csharp'; +import css from 'highlight.js/lib/languages/css'; +import html from 'highlight.js/lib/languages/vbscript-html'; +import java from 'highlight.js/lib/languages/java'; +import javascript from 'highlight.js/lib/languages/javascript'; +import json from 'highlight.js/lib/languages/json'; +import matlab from 'highlight.js/lib/languages/matlab'; +import php from 'highlight.js/lib/languages/php'; +import python from 'highlight.js/lib/languages/python'; +import r from 'highlight.js/lib/languages/r'; +import twig from 'highlight.js/lib/languages/twig'; +import typescript from 'highlight.js/lib/languages/typescript'; +import scss from 'highlight.js/lib/languages/scss'; +import shell from 'highlight.js/lib/languages/shell'; +import sql from 'highlight.js/lib/languages/sql'; +import yaml from 'highlight.js/lib/languages/yaml'; +import vim from 'highlight.js/lib/languages/vim'; + +// Register the languages we need +hljs.registerLanguage('c', c); +hljs.registerLanguage('cpp', cpp); +hljs.registerLanguage('csharp', csharp); +hljs.registerLanguage('css', css); +hljs.registerLanguage('html', html); +hljs.registerLanguage('java', java); +hljs.registerLanguage('javascript', javascript); +hljs.registerLanguage('json', json); +hljs.registerLanguage('matlab', matlab); +hljs.registerLanguage('php', php); +hljs.registerLanguage('python', python); +hljs.registerLanguage('r', r); +hljs.registerLanguage('twig', twig); +hljs.registerLanguage('typescript', typescript); +hljs.registerLanguage('scss', scss); +hljs.registerLanguage('shell', shell); +hljs.registerLanguage('sql', sql); +hljs.registerLanguage('yaml', yaml); +hljs.registerLanguage('vim', vim); + +hljs.configure({ + languages: [ + 'c', + 'cpp', + 'csharp', + 'css', + 'html', + 'java', + 'javascript', + 'json', + 'matlab', + 'php', + 'python', + 'r', + 'twig', + 'typescript', + 'scss', + 'shell', + 'sql', + 'yaml', + 'vim', + ], +}); + +Drupal.behaviors.textHighlight = { + attach(context) { + // Selectors + const codeBlocks = context.querySelectorAll('pre > code'); + + codeBlocks.forEach((codeBlock) => { + if (typeof codeBlock === 'object') { + hljs.highlightBlock(codeBlock); + } + }); + }, +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/yds-text.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/yds-text.twig new file mode 100644 index 000000000..1546187ee --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/typography/text/yds-text.twig @@ -0,0 +1,19 @@ +{# + # Available Props: + # - text__element: div (default), p, pre, etc. + # + # Available Variables: + # - text__content: We're using raw here to support Drupal's wysiwyg editor. + #} + +{% set text__base_class = text__base_class|default('text') %} +{% set text__element = text__element|default('div') %} +{% set text__attributes = text__attributes|default({}) %} + +{% set text__attributes = text__attributes|merge({ + class: bem(text__base_class, text__modifiers, text__blockname, text__extra_class), +}) %} + +<{{ text__element }} {{ add_attributes(text__attributes) }}> + {{- text__content|raw -}} + diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/video-background.stories.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/video-background.stories.js new file mode 100644 index 000000000..fa9426dda --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/video-background.stories.js @@ -0,0 +1,12 @@ +import videoBackgroundTwig from './yds-video-background.twig'; + +import videoBackgroundData from './video-background.yml'; + +import './yds-video-background'; + +/** + * Storybook Definition. + */ +export default { title: 'Atoms/Videos/Video Background' }; + +export const videoBackground = () => videoBackgroundTwig(videoBackgroundData); diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/video-background.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/video-background.yml new file mode 100644 index 000000000..133741d3d --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/video-background.yml @@ -0,0 +1 @@ +video_background__content: 'https://ia800301.us.archive.org/17/items/VjmorphVjLoops4/SequinSparkle02.mp4' diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.js new file mode 100644 index 000000000..d22553130 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.js @@ -0,0 +1,58 @@ +Drupal.behaviors.videoBG = { + attach(context) { + // Selectors + const items = context.querySelectorAll('.video-background'); + const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)'); + + // Classes + const pauseControl = '.video-background__control--pause'; + const playControl = '.video-background__control--play'; + + items.forEach((item) => { + const video = item.querySelector('video'); + const pauseVideo = item.querySelector(pauseControl); + const playVideo = item.querySelector(playControl); + const allowAutoPlay = video.play(); + + // set the background video to autoplay if reduceMotion (os-level) is false + // AND if the browser's built-in autoplay is undefined + if (allowAutoPlay !== undefined && reduceMotion.matches === false) { + allowAutoPlay + .then(() => { + item.setAttribute('is-playing', true); + video.setAttribute('autoplay', ''); + video.setAttribute('loop', ''); + }) + .catch(() => { + item.setAttribute('is-playing', false); + video.removeAttribute('autoplay', ''); + video.removeAttribute('loop', ''); + }); + } else { + item.setAttribute('is-playing', false); + video.pause(); + } + + // manaully control the video + // pause/play by adding and removing autoplay/loop attributes + pauseVideo.addEventListener('click', () => { + video.pause(); + video.removeAttribute('autoplay', ''); + video.removeAttribute('loop', ''); + pauseVideo + .closest('.video-background') + .setAttribute('is-playing', false); + }); + + // play, add playing attributes + playVideo.addEventListener('click', () => { + video.play(); + video.setAttribute('autoplay', ''); + video.setAttribute('loop', ''); + pauseVideo + .closest('.video-background') + .setAttribute('is-playing', true); + }); + }); + }, +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.scss new file mode 100644 index 000000000..3af6373ca --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.scss @@ -0,0 +1,156 @@ +@use '../../../00-tokens/tokens'; +@use '../../../00-tokens/functions/map'; + +$global-video-bg-themes: map.deep-get(tokens.$tokens, 'global-themes'); +$component-video-bg-themes: map.deep-get(tokens.$tokens, 'component-themes'); +$video-background-icon-size: 2rem; +$video-background-icon-size-sm: 1.4rem; +$break-video-banner: tokens.$break-m; +$break-video-banner-max: $break-video-banner - 0.05; + +.video-background { + width: 100%; + height: 100%; + position: relative; + + video { + display: block; + width: 100%; + height: 100%; + object-fit: cover; + } + + // Component themes defaults: iterate over each component theme to establish + // default variables. + @each $theme, $value in $component-video-bg-themes { + &[data-component-theme='#{$theme}'] { + --color-backgound: var(--color-video-background); + --color-video-svg: var(--color-basic-white); + } + } + + // Global themes: set color slots for each theme + // This establishes `--color-slot-` variables name-spaced to the selector + // in which it is used. We can map component-level variables to global-level + // `--color-slot-` variables. + @each $globalTheme, $value in $global-video-bg-themes { + [data-global-theme='#{$globalTheme}'] & { + --color-slot-one: var(--global-themes-#{$globalTheme}-colors-slot-one); + --color-slot-two: var(--global-themes-#{$globalTheme}-colors-slot-two); + --color-slot-three: var( + --global-themes-#{$globalTheme}-colors-slot-three + ); + --color-slot-four: var(--global-themes-#{$globalTheme}-colors-slot-four); + --color-slot-five: var(--global-themes-#{$globalTheme}-colors-slot-five); + } + } + + // Component theme overrides: set specific component themes overrides + /// define component name spaced variables and map them to global theme slots. + &[data-component-theme='one'] { + --color-video-background: var(--color-slot-one); + --color-video-svg: var(--color-basic-white); + } + + &[data-component-theme='two'] { + --color-video-background: var(--color-slot-four); + --color-video-svg: var(--color-gray-800); + } + + &[data-component-theme='three'] { + --color-video-background: var(--color-slot-five); + --color-video-svg: var(--color-basic-white); + } +} + +.video-background__control { + display: flex; + align-items: center; + position: absolute; + bottom: var(--size-spacing-4); + right: var(--size-spacing-4); + border: 0; + background: transparent; + padding: var(--size-spacing-3); + color: inherit; + z-index: 1; + + &:focus-visible { + @include tokens.focus-styles; + } + + [data-grand-hero-overlay-variation='contained'] & { + @media (max-width: $break-video-banner-max) { + top: var(--size-spacing-6); + right: var(--size-spacing-6); + bottom: unset; + } + } + + [data-grand-hero-overlay-variation='full'] & { + border: 1px solid var(--color-basic-white); + } + + [data-body-frozen] & { + z-index: 0; + } + + svg { + fill: var(--color-video-svg); + width: $video-background-icon-size-sm; + height: $video-background-icon-size-sm; + + @media (min-width: $break-video-banner) { + width: $video-background-icon-size; + height: $video-background-icon-size; + + &.video-background__icon--play { + padding-inline-start: var(--size-spacing-3); + padding-inline-end: var(--size-spacing-3); + } + } + } + + &::after { + content: ''; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background-color: var(--color-video-background); + opacity: 0.85; + z-index: -1; + } + + &:hover::after { + opacity: 1; + } + + @media (min-width: $break-video-banner) { + bottom: var(--size-spacing-7); + right: var(--size-spacing-7); + } +} + +.video-background__control--play { + [is-playing='false'] & { + display: flex; + } + + [is-playing='true'] & { + display: none; + } +} + +.video-background__control--pause { + display: none; + + [is-playing='false'] & { + display: none; + } + + [is-playing='true'] & { + display: flex; + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.twig new file mode 100644 index 000000000..6601cb153 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-background/yds-video-background.twig @@ -0,0 +1,39 @@ +{# + # Available variables: + # - video_background__content - the content of the video (typically an iframe) + # the "|raw" filter is applied so that the iframe is rendered instead + # of simply passing the iframe as plain text. + # + # Available blocks: + # - video_background__content - used to replace the content of the video with something other than the typical iframe + # for example: to insert an html5 video component +#} + +{% set video_background__base_class = video_background__base_class|default('video-background') %} +{% set video_background__button__background_color = video_background__button__background_color|default('one') %} + +
    + {% block video_background__content %} + + {% endblock %} + + +
    diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/_yds-video-embed.scss b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/_yds-video-embed.scss new file mode 100644 index 000000000..e87858772 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/_yds-video-embed.scss @@ -0,0 +1,31 @@ +/* Responsive Video using CSS only */ +.video-embed { + aspect-ratio: 16 / 9; + + iframe { + height: 100%; + width: 100%; + + // Safari 14 fix for aspect-ratio + @supports not (aspect-ratio: 16 / 9) { + position: absolute; + } + } + + // Safari 14 fix for aspect-ratio + @supports not (aspect-ratio: 16 / 9) { + position: relative; + + &::before { + float: left; + padding-top: 56.25%; + content: ''; + } + + &::after { + display: block; + content: ''; + clear: both; + } + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/video-embed.stories.js b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/video-embed.stories.js new file mode 100644 index 000000000..3f263ef66 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/video-embed.stories.js @@ -0,0 +1,10 @@ +import videoEmbedTwig from './yds-video-embed.twig'; + +import videoEmbedData from './video-embed.yml'; + +/** + * Storybook Definition. + */ +export default { title: 'Atoms/Videos/Video Embed' }; + +export const videoEmbed = () => videoEmbedTwig(videoEmbedData); diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/video-embed.yml b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/video-embed.yml new file mode 100644 index 000000000..45b1541c0 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/video-embed.yml @@ -0,0 +1 @@ +video_embed__content: diff --git a/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/yds-video-embed.twig b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/yds-video-embed.twig new file mode 100644 index 000000000..20ff23971 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/01-atoms/videos/video-embed/yds-video-embed.twig @@ -0,0 +1,18 @@ +{# + # Available variables: + # - video_embed__content - the content of the video (typically an iframe) + # the "|raw" filter is applied so that the iframe is rendered instead + # of simply passing the iframe as plain text. + # + # Available blocks: + # - video_embed__content - used to replace the content of the video with something other than the typical iframe + # for example: to insert an html5 video component +#} + +{% set video_embed__base_class = video_embed__base_class|default('video-embed') %} + +
    + {% block video_embed__content %} + {{ video_embed__content|raw }} + {% endblock %} +
    diff --git a/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/_yds-accordion-item.twig b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/_yds-accordion-item.twig new file mode 100644 index 000000000..b1deb1cc5 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/_yds-accordion-item.twig @@ -0,0 +1,48 @@ +{# + # Available Variables: + # - accordion__item__heading + # - accordion__item__heading__level (passed down by `accordion.twig`) + # + # Available Blocks: + # - accordion__item__content + #} + +{% set accordion__item__base_class = 'accordion-item' %} + +{% set accordion__item__attributes = { + 'data-accordion-expanded': 'true', + class: bem(accordion__item__base_class), +} %} + +{% set accordion__item__cta__content %} + {{ accordion__item__heading }} + {% include "@atoms/images/icons/_yds-icon.twig" with { + icon__name: 'angle-down', + icon__blockname: accordion__item__base_class, + icon__decorative: true, + } %} +{% endset %} + +{% set accordion__item__heading__content %} + {% include "@atoms/controls/base/yds-control.twig" with { + control__content: accordion__item__cta__content, + control__base_class: 'toggle', + control__blockname: accordion__item__base_class, + aria_expanded: 'true', + } %} +{% endset %} + +
    + {% include "@atoms/typography/headings/yds-heading.twig" with { + heading__level: accordion__item__heading__level|default('2'), + heading__blockname: accordion__item__base_class, + heading: accordion__item__heading__content, + } %} +
    + {% block accordion__item__content %} + {% include "@molecules/text/yds-text-field.twig" with { + text_field__content: accordion__item__content, + } %} + {% endblock %} +
    +
    diff --git a/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/_yds-accordion.scss b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/_yds-accordion.scss new file mode 100644 index 000000000..a21025eec --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/_yds-accordion.scss @@ -0,0 +1,125 @@ +@use '../../00-tokens/tokens'; +@use '../../01-atoms/atoms'; + +// The accordion group. +.accordion { + @include tokens.spacing-page-section; + + --color-text-shadow: var(--color-basic-white); +} + +.accordion__heading { + @include tokens.h2-yale-new; + + margin-bottom: var(--size-spacing-5); +} + +.accordion__controls { + @include atoms.list-reset; + + display: flex; + margin-bottom: var(--size-spacing-5); + + > *:not(:last-child) { + padding-right: var(--size-spacing-5); + margin-right: var(--size-spacing-5); + border-right: var(--border-thickness-1) solid; + } + + [data-component-alignment='left'] & { + max-width: var(--size-component-layout-width-content); + } +} + +.accordion__icon { + height: 1em; + width: 1em; +} + +.accordion__toggle-all { + @include tokens.body-s; + @include atoms.button-reset; + + display: flex; + gap: var(--size-spacing-3); + align-items: center; + + &:hover { + color: var(--color-link-base); + } + + &[aria-expanded='true'] .accordion__icon { + transform: rotate(180deg); + } +} + +// Individual accordion items. +.accordion-item { + border-bottom: var(--border-thickness-1) solid; + padding-top: var(--size-spacing-5); + + [data-component-alignment='left'] & { + max-width: var(--size-component-layout-width-content); + } +} + +.accordion-item__heading { + @include tokens.body-l; + + margin-bottom: var(--size-spacing-5); +} + +.accordion-item__toggle { + @include atoms.button-reset; + + display: flex; + gap: var(--size-spacing-5); + justify-content: space-between; + align-items: center; + width: 100%; + padding: var(--size-spacing-3) var(--size-spacing-4) var(--size-spacing-3) 0; + text-align: left; + + &:hover { + color: var(--color-link-base); + } +} + +.accordion-item__icon { + @include tokens.animate; + + height: 1em; + width: 1em; + flex-shrink: 0; + + [aria-expanded='true'] > & { + transform: rotate(180deg); + } +} + +.accordion-item__content { + @include tokens.animate(all, var(--animation-speed-slow)); + + max-height: var(--accordion-item-height); + overflow: hidden; + + @media (max-width: tokens.$break-mobile-max) { + padding-inline-start: var(--size-spacing-6); + padding-inline-end: var(--size-spacing-6); + } + + @media (min-width: tokens.$break-mobile) { + padding-inline-start: var(--size-spacing-8); + padding-inline-end: var(--size-spacing-8); + } + + [data-accordion-expanded='true'] & { + margin-bottom: var(--size-spacing-6); + } + + [data-accordion-expanded='false'] & { + @include tokens.animate-hidden(var(--animation-speed-slow)); + + max-height: 0; + } +} diff --git a/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/accordion.stories.js b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/accordion.stories.js new file mode 100644 index 000000000..ede56e23f --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/accordion.stories.js @@ -0,0 +1,66 @@ +import accordionTwig from './yds-accordion.twig'; + +import accordionData from './accordion.yml'; + +import './yds-accordion'; + +/** + * Storybook Definition. + */ +export default { + title: 'Molecules/Accordion', + argTypes: { + accordionHeading: { + name: 'Accordion Heading', + type: 'string', + defaultValue: accordionData.accordion__heading, + }, + heading: { + name: 'Heading', + type: 'string', + defaultValue: accordionData.accordion__item__heading, + }, + content: { + name: 'Content', + type: 'string', + defaultValue: accordionData.accordion__item__content, + }, + }, +}; + +export const Accordion = ({ accordionHeading, heading, content }) => { + return ` +

    With multiple items

    +
    + ${accordionTwig({ + accordion__heading: accordionHeading, + accordion__items: [ + { + accordion__item__heading: heading, + accordion__item__content: content, + }, + { + accordion__item__heading: accordionData.accordion__item__heading, + accordion__item__content: accordionData.accordion__item__content, + }, + { + accordion__item__heading: accordionData.accordion__item__heading, + accordion__item__content: accordionData.accordion__item__content, + }, + ], + })} +
    +

    With one item

    +
    + ${accordionTwig({ + accordion__heading: accordionHeading, + accordion__items: [ + { + accordion__item__heading: heading, + accordion__item__content: content, + }, + ], + })} +
    + `; +}; diff --git a/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/accordion.yml b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/accordion.yml new file mode 100644 index 000000000..6424d92b4 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/accordion.yml @@ -0,0 +1,3 @@ +accordion__heading: 'List of Art Collections' +accordion__item__heading: 'Art Collections' +accordion__item__content: '

    The Yale Center for British Art will present Bridget Riley: Perceptual Abstraction from March 3 through July 24, 2022. Born in Britain in 1931, Riley is among the most important and influential painters in Britain and the world. Displayed on two floors, this major survey traces Riley’s oeuvre from the 1960s through the present by featuring over fifty works that were selected by the artist in collaboration with the YCBA.

    Also, revisit an exhibition hosted at the Yale University Art Gallery, On the Basis of Art: 150 Years of Women at Yale, including a related audio guide, publication, and more.

    ' diff --git a/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/yds-accordion.js b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/yds-accordion.js new file mode 100644 index 000000000..85fcaf296 --- /dev/null +++ b/node_modules/@yalesites-org/component-library-twig/components/02-molecules/accordion/yds-accordion.js @@ -0,0 +1,233 @@ +Drupal.behaviors.accordion = { + attach(context) { + // Selectors + const items = context.querySelectorAll('.accordion-item'); + const controls = context.querySelectorAll('.accordion__controls'); + // Classes + const itemContent = '.accordion-item__content'; + const itemState = 'data-accordion-expanded'; + const itemToggle = '.accordion-item__toggle'; + const accordion = '.accordion'; + const accordionControls = '.accordion__controls'; + const accordionToggleAll = '.accordion__toggle-all'; + const accordionItem = '.accordion-item'; + // States + const buttonState = 'aria-expanded'; + const collapseText = 'Collapse'; + const expandText = 'Expand'; + + // Function to expand an accordion item. + const expand = (item) => { + const toggle = item.querySelector(itemToggle); + const content = item.querySelector(itemContent); + + content.style.setProperty( + '--accordion-item-height', + `${content.scrollHeight}px`, + ); + item.setAttribute(itemState, 'true'); + toggle.setAttribute(buttonState, 'true'); + }; + + // Function to collapse an accordion item. + const collapse = (item) => { + const toggle = item.querySelector(itemToggle); + + item.setAttribute(itemState, 'false'); + toggle.setAttribute(buttonState, 'false'); + }; + + // Tests if a value starts with a set of text + const alreadyStartsWith = (value, startsWith) => { + return value.startsWith(startsWith); + }; + + // Replaces the first word of a string with another string + const replaceFirstWord = (original, revised) => { + // Capture the first word of a string + const firstWord = /^[^\s]+/; + + return original.replace(firstWord, revised); + }; + + // Updates the button text and aria-exparnded state + const updateToggleButtonToCollapse = (element) => { + const button = element; + + if (alreadyStartsWith(button.innerHTML, collapseText)) return; + + button.innerHTML = replaceFirstWord(button.innerHTML, collapseText); + + // Set the button state so that arrows and actions take place + button.setAttribute(buttonState, true); + }; + + // Update the toggle button to expand text + const updateToggleButtonToExpand = (element) => { + const button = element; + + if (alreadyStartsWith(button.innerHTML, expandText)) return; + + button.innerHTML = replaceFirstWord(button.innerHTML, expandText); + + // Set the button state so that arrows and actions take place + button.setAttribute(buttonState, false); + }; + + // Returns the number of expanded items + const expandedItemCount = (allItems) => { + const itemsToEvaluate = allItems || []; + + return Array.from(itemsToEvaluate).filter((item) => { + return item.getAttribute(itemState) === 'true'; + }).length; + }; + + // Tests if all of the items have been expanded + const allItemsExpanded = (allItems) => { + const unevalutedItems = allItems || []; + + return expandedItemCount(unevalutedItems) === unevalutedItems.length; + }; + + // Finds all items in a context + const findAllItems = (domContext) => { + return domContext.querySelectorAll(accordionItem); + }; + + // Finds the closest accordion from an item + const findClosestAccordion = (item) => item.closest(accordion); + // Finds the closest accordion controls from an item + const findClosestAccordionControls = (item) => + findClosestAccordion(item).querySelector(accordionControls); + // Finds the closest toggle button from an item + const findClosestToggleButton = (item) => + findClosestAccordionControls(item).querySelector(accordionToggleAll); + + // Finds the toggler from an item + const findTogglerFromItem = (item) => { + return findClosestToggleButton(item); + }; + + // Tells if the expand/collapse button is expanded + const isButtonExpanded = (element) => { + const value = element.getAttribute(buttonState); + + return value === 'true'; + }; + + // Tests if a list of items is empty + const isEmpty = (itemsList) => { + return itemsList.length === 0; + }; + + // Tests if an item is expanded + const isExpanded = (item) => item.getAttribute(buttonState) === 'true'; + + // Given a list of items, run a state function on each item + // Currently, it's recommended to use one of the following: + // collapse + // expand + const setAllItemStates = (allItems, stateFn) => { + allItems.forEach((item) => stateFn(item)); + }; + + // Toggles an item's state to match the toggler + const toggleItemState = (toggler, item) => + isExpanded(toggler) ? collapse(item) : expand(item); + + // Check if all of the items have been expanded or collapsed + const updateToggleButtonState = (allItems) => { + if (isEmpty(allItems)) return; + + const toggler = findTogglerFromItem(allItems[0]); + + if (allItemsExpanded(allItems)) { + updateToggleButtonToCollapse(toggler); + } else { + updateToggleButtonToExpand(toggler); + } + }; + + // Graceful degrading by only collapsing if JavaScript is enabled + const collapseAllItems = (allItems) => { + allItems.forEach((item) => { + collapse(item); + }); + }; + + // Attaches item click events to subitems + const attachItemClickEvent = (allItems) => { + // Toggle accordion content when toggle is activated. + allItems.forEach((item) => { + const toggle = item.querySelector(itemToggle); + const otherAccordionItems = + findClosestAccordion(item).querySelectorAll(accordionItem); + + toggle.addEventListener('click', () => { + toggleItemState(toggle, item); + updateToggleButtonState(otherAccordionItems); + }); + }); + }; + + // Determines if there is only one item + const hasMoreThanOneItem = (allItems) => { + return allItems.length > 1; + }; + + // Hides the toggle button if there is one item + const hideToggleIfOneItem = (parentUl, allItems) => { + if (hasMoreThanOneItem(allItems)) return; + + const ul = parentUl; + ul.style.display = 'none'; + }; + + // Display the toggle button + const showToggleButton = (ul) => { + const control = ul; + control.style.display = ''; + }; + + // Show accordion controls if JavaScript is enabled + const hideOrShowToggleButtons = (ul, allItems) => { + if (hasMoreThanOneItem(allItems)) { + showToggleButton(ul); + } else { + hideToggleIfOneItem(ul, allItems); + } + }; + + // Traverses each control to hide toggles with one item + const hideSingleItemToggles = (allControls) => { + allControls.forEach((parentUl) => { + const allItems = findAllItems(parentUl.parentNode); + hideOrShowToggleButtons(parentUl, allItems); + }); + }; + + // Attaches the toggle button click event to controls + const attachToggleButtonClickEvent = (allControls) => { + allControls.forEach((parentUl) => { + // Get all items relevant to the control. + const allItems = findAllItems(parentUl.parentNode); + // Add click listener on the parent