diff --git a/README.md b/README.md index 2528f837b..3d74447e2 100644 --- a/README.md +++ b/README.md @@ -408,7 +408,7 @@ Only appointed team members may release versions. [Core Portal Deployments]: https://github.com/TACC/Core-Portal-Deployments [Camino]: https://github.com/TACC/Camino [Core CMS]: https://github.com/TACC/Core-CMS -[Core Styles]: https://github.com/TACC/tup-ui/tree/main/libs/core-styles +[Core Styles]: https://github.com/TACC/Core-Styles [Core CMS Resources]: https://github.com/TACC/Core-CMS-Resources [Core CMS Custom]: https://github.com/TACC/Core-CMS-Custom [Core Portal]: https://github.com/TACC/Core-Portal diff --git a/bin/build-css.js b/bin/build-css.js index bd9d99ac7..ce9dcc487 100755 --- a/bin/build-css.js +++ b/bin/build-css.js @@ -17,13 +17,11 @@ const BUILD_ID = ARGS['build-id'] || ''; (() => { // Get style paths const corePath = _getPath('taccsite_cms', 'site_cms'); - const demoPath = 'node_modules/@tacc/core-styles'; const projPath = _getPath(`taccsite_custom/${PROJECT_NAME}`, PROJECT_NAME ); const hasProject = ( PROJECT_NAME && PROJECT_NAME !== CORE_NAME ); // Get config paths const coreConfPath = `${ROOT}/${corePath}/.postcssrc.yml`; - const demoConfPath = coreConfPath; const projConfPath = `${ROOT}/${projPath}/.postcssrc.yml`; const confPaths = [coreConfPath]; @@ -47,14 +45,6 @@ const BUILD_ID = ARGS['build-id'] || ''; customConfigs: confPaths }} }); - _build('Demo', { - input: `${ROOT}/${demoPath}/src/**/*.css`, - output: `${ROOT}/${demoPath}/build`, - opts: {...defaultOpts, ...{ - customConfigs: [demoConfPath], - baseMirrorDir: `${ROOT}/${demoPath}/src/lib/_imports` - }} - }); if ( hasProject ) { _build( PROJECT_NAME, { input: `${ROOT}/${projPath}/src/**/*.css`, diff --git a/package-lock.json b/package-lock.json index d47380579..5593405fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "devDependencies": { "@frctl/fractal": "^1.5.14", "@frctl/mandelbrot": "^1.10.1", - "@tacc/core-styles": "^0.13.0", + "@tacc/core-styles": "^2.9.0", "minimist": "^1.2.6" }, "engines": { @@ -317,20 +317,19 @@ } }, "node_modules/@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", "dev": true, "peer": true, "engines": { - "node": "^12 || ^14 || >=16" + "node": "^14 || ^16 || >=18" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "postcss": "^8.2", "postcss-selector-parser": "^6.0.10" } }, @@ -510,9 +509,9 @@ } }, "node_modules/@tacc/core-styles": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@tacc/core-styles/-/core-styles-0.13.0.tgz", - "integrity": "sha512-0+7++lPsq2ncRAneVMZXXn7jTP93tv0EE4tAeY/xP0mJucB3zWp33cLfnao+zTwnNYyFKGfTr2e3zSzuACq0iw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@tacc/core-styles/-/core-styles-2.9.0.tgz", + "integrity": "sha512-lExRZWuOfTFevjwBGvbrQQpIVPiMyRiL5m98ahCDyeRUzilVRw6kKDiYV8546jJ2xrpHA6vMPW2vgxLn0cFLxQ==", "dev": true, "bin": { "core-styles": "src/cli.js" @@ -527,13 +526,12 @@ "js-yaml": "^4.1.0", "merge-lite": "^1.0.2", "node-cmd": "^5.0.0", - "npm-watch": "^0.11.0", "postcss": "^8.4.18", "postcss-banner": "^4.0.1", "postcss-cli": "^10.0.0", "postcss-extend": "^1.0.5", "postcss-import": "^15.0.0", - "postcss-preset-env": "^7.8.2", + "postcss-preset-env": "^7.8.3", "postcss-replace": "^2.0.0" } }, @@ -793,9 +791,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", "dev": true, "funding": [ { @@ -809,8 +807,8 @@ ], "peer": true, "dependencies": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -1160,9 +1158,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, "funding": [ { @@ -1176,10 +1174,10 @@ ], "peer": true, "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "bin": { "browserslist": "cli.js" @@ -1307,9 +1305,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001429", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz", - "integrity": "sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg==", + "version": "1.0.30001489", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", + "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", "dev": true, "funding": [ { @@ -1319,6 +1317,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "peer": true @@ -1703,9 +1705,9 @@ } }, "node_modules/commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, "peer": true, "engines": { @@ -1890,9 +1892,9 @@ } }, "node_modules/css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", + "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", "dev": true, "peer": true, "engines": { @@ -1982,15 +1984,21 @@ } }, "node_modules/cssdb": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.0.2.tgz", - "integrity": "sha512-Vm4b6P/PifADu0a76H0DKRNVWq3Rq9xa/Nx6oEMUBJlwTUuZoZ3dkZxo8Gob3UEL53Cq+Ma1GBgISed6XEBs3w==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz", + "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==", "dev": true, - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "peer": true }, "node_modules/cssesc": { "version": "3.0.0", @@ -2006,13 +2014,13 @@ } }, "node_modules/cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", "dev": true, "peer": true, "dependencies": { - "cssnano-preset-default": "^5.2.13", + "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, @@ -2028,23 +2036,23 @@ } }, "node_modules/cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", "dev": true, "peer": true, "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", + "postcss-colormin": "^5.3.1", "postcss-convert-values": "^5.1.3", "postcss-discard-comments": "^5.1.2", "postcss-discard-duplicates": "^5.1.0", "postcss-discard-empty": "^5.1.1", "postcss-discard-overridden": "^5.1.0", "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", + "postcss-merge-rules": "^5.1.4", "postcss-minify-font-values": "^5.1.0", "postcss-minify-gradients": "^5.1.1", "postcss-minify-params": "^5.1.4", @@ -2059,7 +2067,7 @@ "postcss-normalize-url": "^5.1.0", "postcss-normalize-whitespace": "^5.1.1", "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-initial": "^5.1.2", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", "postcss-unique-selectors": "^5.1.1" @@ -2145,13 +2153,6 @@ "node": ">=4.0.0" } }, - "node_modules/deep-get-set": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-get-set/-/deep-get-set-1.1.1.tgz", - "integrity": "sha512-dBrY4GeR55KfyF9Ipswif/Et4muInKpXkf3ro9hFT/8OdPMVsEGNSfuGzfBv/dJKKwKSqInoZGKV5f40bA7TJA==", - "dev": true, - "peer": true - }, "node_modules/defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -2395,9 +2396,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "version": "1.4.408", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", + "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", "dev": true, "peer": true }, @@ -3799,13 +3800,6 @@ "node": ">= 4" } }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true, - "peer": true - }, "node_modules/immutable": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", @@ -4330,9 +4324,9 @@ } }, "node_modules/lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, "peer": true, "engines": { @@ -4763,10 +4757,16 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "peer": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -4857,91 +4857,12 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true, - "peer": true - }, - "node_modules/nodemon": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz", - "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==", - "dev": true, - "peer": true, - "dependencies": { - "chokidar": "^3.5.2", - "debug": "^3.2.7", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.1.2", - "pstree.remy": "^1.1.8", - "semver": "^5.7.1", - "simple-update-notifier": "^1.0.7", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5" - }, - "bin": { - "nodemon": "bin/nodemon.js" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" - } - }, - "node_modules/nodemon/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/nodemon/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/nodemon/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true, "peer": true }, - "node_modules/nodemon/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/nodemon/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", @@ -5001,20 +4922,6 @@ "node": ">=8" } }, - "node_modules/npm-watch": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.11.0.tgz", - "integrity": "sha512-wAOd0moNX2kSA2FNvt8+7ORwYaJpQ1ZoWjUYdb1bBCxq4nkWuU0IiJa9VpVxrj5Ks+FGXQd62OC/Bjk0aSr+dg==", - "dev": true, - "peer": true, - "dependencies": { - "nodemon": "^2.0.7", - "through2": "^4.0.2" - }, - "bin": { - "npm-watch": "cli.js" - } - }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -5174,6 +5081,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 10.12.0" + } + }, "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -5476,9 +5393,9 @@ } }, "node_modules/postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, "funding": [ { @@ -5488,11 +5405,15 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "peer": true, "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -5561,15 +5482,15 @@ } }, "node_modules/postcss-cli": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz", - "integrity": "sha512-Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.1.0.tgz", + "integrity": "sha512-Zu7PLORkE9YwNdvOeOVKPmWghprOtjFQU3srMUGbdz3pHJiFh7yZ4geiZFMkjMfB0mtTFR3h8RemR62rPkbOPA==", "dev": true, "peer": true, "dependencies": { "chokidar": "^3.3.0", "dependency-graph": "^0.11.0", - "fs-extra": "^10.0.0", + "fs-extra": "^11.0.0", "get-stdin": "^9.0.0", "globby": "^13.0.0", "picocolors": "^1.0.0", @@ -5577,7 +5498,7 @@ "postcss-reporter": "^7.0.0", "pretty-hrtime": "^1.0.3", "read-cache": "^1.0.0", - "slash": "^4.0.0", + "slash": "^5.0.0", "yargs": "^17.0.0" }, "bin": { @@ -5591,9 +5512,9 @@ } }, "node_modules/postcss-cli/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "peer": true, "dependencies": { @@ -5602,13 +5523,13 @@ "universalify": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.14" } }, "node_modules/postcss-cli/node_modules/globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", "dev": true, "peer": true, "dependencies": { @@ -5625,7 +5546,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-cli/node_modules/slash": { + "node_modules/postcss-cli/node_modules/globby/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", @@ -5638,6 +5559,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/postcss-cli/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/postcss-color-functional-notation": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", @@ -5699,13 +5633,13 @@ } }, "node_modules/postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", "dev": true, "peer": true, "dependencies": { - "browserslist": "^4.16.6", + "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" @@ -5755,9 +5689,9 @@ } }, "node_modules/postcss-custom-properties": { - "version": "12.1.10", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.10.tgz", - "integrity": "sha512-U3BHdgrYhCrwTVcByFHs9EOBoqcKq4Lf3kXwbTi4hhq0qWhl/pDWq2THbv/ICX/Fl9KqeHBb8OVrTf2OaYF07A==", + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", "dev": true, "peer": true, "dependencies": { @@ -6102,9 +6036,9 @@ } }, "node_modules/postcss-import": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.0.0.tgz", - "integrity": "sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "peer": true, "dependencies": { @@ -6181,13 +6115,14 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", - "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.0.tgz", + "integrity": "sha512-8/1wgzdKc7bc9E6my5wZjmdavHLvO/QOmLG1FBugblEvY4IXrLjlViIOmL24HthU042lWTDRO90Fz1Yp66UnMw==", "dev": true, "peer": true, "engines": { - "node": ">= 14" + "node": ">= 14", + "npm": ">= 7" } }, "node_modules/postcss-logical": { @@ -6234,9 +6169,9 @@ } }, "node_modules/postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", "dev": true, "peer": true, "dependencies": { @@ -6485,9 +6420,9 @@ } }, "node_modules/postcss-opacity-percentage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", - "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", "dev": true, "funding": [ { @@ -6502,6 +6437,9 @@ "peer": true, "engines": { "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" } }, "node_modules/postcss-ordered-values": { @@ -6572,13 +6510,13 @@ } }, "node_modules/postcss-preset-env": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz", - "integrity": "sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", "dev": true, "peer": true, "dependencies": { - "@csstools/postcss-cascade-layers": "^1.1.0", + "@csstools/postcss-cascade-layers": "^1.1.1", "@csstools/postcss-color-function": "^1.1.1", "@csstools/postcss-font-format-keywords": "^1.0.1", "@csstools/postcss-hwb-function": "^1.0.2", @@ -6592,19 +6530,19 @@ "@csstools/postcss-text-decoration-shorthand": "^1.0.0", "@csstools/postcss-trigonometric-functions": "^1.0.2", "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.11", - "browserslist": "^4.21.3", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", "css-blank-pseudo": "^3.0.3", "css-has-pseudo": "^3.0.4", "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.0.1", + "cssdb": "^7.1.0", "postcss-attribute-case-insensitive": "^5.0.2", "postcss-clamp": "^4.1.0", "postcss-color-functional-notation": "^4.2.4", "postcss-color-hex-alpha": "^8.0.4", "postcss-color-rebeccapurple": "^7.1.1", "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.9", + "postcss-custom-properties": "^12.1.10", "postcss-custom-selectors": "^6.0.3", "postcss-dir-pseudo-class": "^6.0.5", "postcss-double-position-gradients": "^3.1.2", @@ -6660,9 +6598,9 @@ } }, "node_modules/postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", "dev": true, "peer": true, "dependencies": { @@ -6693,14 +6631,14 @@ } }, "node_modules/postcss-replace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace/-/postcss-replace-2.0.0.tgz", - "integrity": "sha512-8d64/c/dJL2/zjnQvCD1/eH04xMreXFHdC9F0APl/M7Cg0KyLvN+f/HCb87jbyG1dyIbR4zD7sxl/W4JIp9ppQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-replace/-/postcss-replace-2.0.1.tgz", + "integrity": "sha512-T83GVovCkBQkFCTmuid0B2bWNu/O0Bh/HDMeEGFC62EwMvVBLZQFYM7iBbcGT48QDXSNSX6e/X1Q7/Syh5NFng==", "dev": true, "peer": true, "dependencies": { - "deep-get-set": "^1.1.1", - "kind-of": "^6.0.3" + "kind-of": "^6.0.3", + "object-path": "^0.11.8" }, "engines": { "node": "^12 || ^14 || >=16" @@ -6761,9 +6699,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "peer": true, "dependencies": { @@ -6876,13 +6814,6 @@ "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true, - "peer": true - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -7678,29 +7609,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/simple-update-notifier": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", - "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==", - "dev": true, - "peer": true, - "dependencies": { - "semver": "~7.0.0" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/simple-update-notifier/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -8465,16 +8373,6 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "peer": true, - "dependencies": { - "readable-stream": "3" - } - }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -8581,35 +8479,6 @@ "node": ">=0.6" } }, - "node_modules/touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "peer": true, - "dependencies": { - "nopt": "~1.0.10" - }, - "bin": { - "nodetouch": "bin/nodetouch.js" - } - }, - "node_modules/touch/node_modules/nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", - "dev": true, - "peer": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -8704,13 +8573,6 @@ "node": ">=0.10.0" } }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true, - "peer": true - }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -8805,9 +8667,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -8817,6 +8679,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "peer": true, @@ -8825,7 +8691,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -9478,9 +9344,9 @@ "requires": {} }, "@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", "dev": true, "peer": true, "requires": {} @@ -9634,9 +9500,9 @@ } }, "@tacc/core-styles": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@tacc/core-styles/-/core-styles-0.13.0.tgz", - "integrity": "sha512-0+7++lPsq2ncRAneVMZXXn7jTP93tv0EE4tAeY/xP0mJucB3zWp33cLfnao+zTwnNYyFKGfTr2e3zSzuACq0iw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@tacc/core-styles/-/core-styles-2.9.0.tgz", + "integrity": "sha512-lExRZWuOfTFevjwBGvbrQQpIVPiMyRiL5m98ahCDyeRUzilVRw6kKDiYV8546jJ2xrpHA6vMPW2vgxLn0cFLxQ==", "dev": true, "requires": {} }, @@ -9833,14 +9699,14 @@ "dev": true }, "autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", "dev": true, "peer": true, "requires": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -10128,16 +9994,16 @@ } }, "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, "peer": true, "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" } }, "bs-recipes": { @@ -10237,9 +10103,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001429", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz", - "integrity": "sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg==", + "version": "1.0.30001489", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", + "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", "dev": true, "peer": true }, @@ -10541,9 +10407,9 @@ } }, "commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, "peer": true }, @@ -10684,9 +10550,9 @@ } }, "css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", + "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", "dev": true, "peer": true, "requires": {} @@ -10742,9 +10608,9 @@ "peer": true }, "cssdb": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.0.2.tgz", - "integrity": "sha512-Vm4b6P/PifADu0a76H0DKRNVWq3Rq9xa/Nx6oEMUBJlwTUuZoZ3dkZxo8Gob3UEL53Cq+Ma1GBgISed6XEBs3w==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.6.0.tgz", + "integrity": "sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==", "dev": true, "peer": true }, @@ -10756,35 +10622,35 @@ "peer": true }, "cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", "dev": true, "peer": true, "requires": { - "cssnano-preset-default": "^5.2.13", + "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", "yaml": "^1.10.2" } }, "cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", "dev": true, "peer": true, "requires": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", + "postcss-colormin": "^5.3.1", "postcss-convert-values": "^5.1.3", "postcss-discard-comments": "^5.1.2", "postcss-discard-duplicates": "^5.1.0", "postcss-discard-empty": "^5.1.1", "postcss-discard-overridden": "^5.1.0", "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", + "postcss-merge-rules": "^5.1.4", "postcss-minify-font-values": "^5.1.0", "postcss-minify-gradients": "^5.1.1", "postcss-minify-params": "^5.1.4", @@ -10799,7 +10665,7 @@ "postcss-normalize-url": "^5.1.0", "postcss-normalize-whitespace": "^5.1.1", "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-initial": "^5.1.2", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", "postcss-unique-selectors": "^5.1.1" @@ -10862,13 +10728,6 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, - "deep-get-set": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-get-set/-/deep-get-set-1.1.1.tgz", - "integrity": "sha512-dBrY4GeR55KfyF9Ipswif/Et4muInKpXkf3ro9hFT/8OdPMVsEGNSfuGzfBv/dJKKwKSqInoZGKV5f40bA7TJA==", - "dev": true, - "peer": true - }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -11055,9 +10914,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "version": "1.4.408", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.408.tgz", + "integrity": "sha512-vjeaj0u/UYnzA/CIdGXzzcxRLCqRwREYc9YfaWInjIEr7/XPttZ6ShpyqapchEy0S2r6LpLjDBTnNj7ZxnxJKg==", "dev": true, "peer": true }, @@ -12139,13 +11998,6 @@ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, - "ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true, - "peer": true - }, "immutable": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", @@ -12542,9 +12394,9 @@ } }, "lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, "peer": true }, @@ -12879,9 +12731,9 @@ "dev": true }, "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true, "peer": true }, @@ -12951,74 +12803,12 @@ "dev": true }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", "dev": true, "peer": true }, - "nodemon": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz", - "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==", - "dev": true, - "peer": true, - "requires": { - "chokidar": "^3.5.2", - "debug": "^3.2.7", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.1.2", - "pstree.remy": "^1.1.8", - "semver": "^5.7.1", - "simple-update-notifier": "^1.0.7", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "^2.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "peer": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "nopt": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", @@ -13057,17 +12847,6 @@ "path-key": "^3.0.0" } }, - "npm-watch": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/npm-watch/-/npm-watch-0.11.0.tgz", - "integrity": "sha512-wAOd0moNX2kSA2FNvt8+7ORwYaJpQ1ZoWjUYdb1bBCxq4nkWuU0IiJa9VpVxrj5Ks+FGXQd62OC/Bjk0aSr+dg==", - "dev": true, - "peer": true, - "requires": { - "nodemon": "^2.0.7", - "through2": "^4.0.2" - } - }, "nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -13183,6 +12962,13 @@ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true }, + "object-path": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", + "integrity": "sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==", + "dev": true, + "peer": true + }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -13408,13 +13194,13 @@ "dev": true }, "postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, "peer": true, "requires": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -13461,15 +13247,15 @@ } }, "postcss-cli": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.0.0.tgz", - "integrity": "sha512-Wjy/00wBBEgQqnSToznxLWDnATznokFGXsHtF/3G8glRZpz5KYlfHcBW/VMJmWAeF2x49zjgy4izjM3/Wx1dKA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.1.0.tgz", + "integrity": "sha512-Zu7PLORkE9YwNdvOeOVKPmWghprOtjFQU3srMUGbdz3pHJiFh7yZ4geiZFMkjMfB0mtTFR3h8RemR62rPkbOPA==", "dev": true, "peer": true, "requires": { "chokidar": "^3.3.0", "dependency-graph": "^0.11.0", - "fs-extra": "^10.0.0", + "fs-extra": "^11.0.0", "get-stdin": "^9.0.0", "globby": "^13.0.0", "picocolors": "^1.0.0", @@ -13477,14 +13263,14 @@ "postcss-reporter": "^7.0.0", "pretty-hrtime": "^1.0.3", "read-cache": "^1.0.0", - "slash": "^4.0.0", + "slash": "^5.0.0", "yargs": "^17.0.0" }, "dependencies": { "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "peer": true, "requires": { @@ -13494,9 +13280,9 @@ } }, "globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", "dev": true, "peer": true, "requires": { @@ -13505,12 +13291,21 @@ "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^4.0.0" + }, + "dependencies": { + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "peer": true + } } }, "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "peer": true } @@ -13547,13 +13342,13 @@ } }, "postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", "dev": true, "peer": true, "requires": { - "browserslist": "^4.16.6", + "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" @@ -13581,9 +13376,9 @@ } }, "postcss-custom-properties": { - "version": "12.1.10", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.10.tgz", - "integrity": "sha512-U3BHdgrYhCrwTVcByFHs9EOBoqcKq4Lf3kXwbTi4hhq0qWhl/pDWq2THbv/ICX/Fl9KqeHBb8OVrTf2OaYF07A==", + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", "dev": true, "peer": true, "requires": { @@ -13806,9 +13601,9 @@ } }, "postcss-import": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.0.0.tgz", - "integrity": "sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "peer": true, "requires": { @@ -13848,9 +13643,9 @@ }, "dependencies": { "yaml": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.3.tgz", - "integrity": "sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.0.tgz", + "integrity": "sha512-8/1wgzdKc7bc9E6my5wZjmdavHLvO/QOmLG1FBugblEvY4IXrLjlViIOmL24HthU042lWTDRO90Fz1Yp66UnMw==", "dev": true, "peer": true } @@ -13884,9 +13679,9 @@ } }, "postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", "dev": true, "peer": true, "requires": { @@ -14042,11 +13837,12 @@ } }, "postcss-opacity-percentage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", - "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", "dev": true, - "peer": true + "peer": true, + "requires": {} }, "postcss-ordered-values": { "version": "5.1.3", @@ -14088,13 +13884,13 @@ } }, "postcss-preset-env": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz", - "integrity": "sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", "dev": true, "peer": true, "requires": { - "@csstools/postcss-cascade-layers": "^1.1.0", + "@csstools/postcss-cascade-layers": "^1.1.1", "@csstools/postcss-color-function": "^1.1.1", "@csstools/postcss-font-format-keywords": "^1.0.1", "@csstools/postcss-hwb-function": "^1.0.2", @@ -14108,19 +13904,19 @@ "@csstools/postcss-text-decoration-shorthand": "^1.0.0", "@csstools/postcss-trigonometric-functions": "^1.0.2", "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.11", - "browserslist": "^4.21.3", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", "css-blank-pseudo": "^3.0.3", "css-has-pseudo": "^3.0.4", "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.0.1", + "cssdb": "^7.1.0", "postcss-attribute-case-insensitive": "^5.0.2", "postcss-clamp": "^4.1.0", "postcss-color-functional-notation": "^4.2.4", "postcss-color-hex-alpha": "^8.0.4", "postcss-color-rebeccapurple": "^7.1.1", "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.9", + "postcss-custom-properties": "^12.1.10", "postcss-custom-selectors": "^6.0.3", "postcss-dir-pseudo-class": "^6.0.5", "postcss-double-position-gradients": "^3.1.2", @@ -14156,9 +13952,9 @@ } }, "postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", "dev": true, "peer": true, "requires": { @@ -14177,14 +13973,14 @@ } }, "postcss-replace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace/-/postcss-replace-2.0.0.tgz", - "integrity": "sha512-8d64/c/dJL2/zjnQvCD1/eH04xMreXFHdC9F0APl/M7Cg0KyLvN+f/HCb87jbyG1dyIbR4zD7sxl/W4JIp9ppQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-replace/-/postcss-replace-2.0.1.tgz", + "integrity": "sha512-T83GVovCkBQkFCTmuid0B2bWNu/O0Bh/HDMeEGFC62EwMvVBLZQFYM7iBbcGT48QDXSNSX6e/X1Q7/Syh5NFng==", "dev": true, "peer": true, "requires": { - "deep-get-set": "^1.1.1", - "kind-of": "^6.0.3" + "kind-of": "^6.0.3", + "object-path": "^0.11.8" } }, "postcss-replace-overflow-wrap": { @@ -14217,9 +14013,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "peer": true, "requires": { @@ -14305,13 +14101,6 @@ "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, - "pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true, - "peer": true - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -14925,25 +14714,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "simple-update-notifier": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", - "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==", - "dev": true, - "peer": true, - "requires": { - "semver": "~7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "peer": true - } - } - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -15542,16 +15312,6 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dev": true, - "peer": true, - "requires": { - "readable-stream": "3" - } - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -15635,28 +15395,6 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, - "touch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", - "dev": true, - "peer": true, - "requires": { - "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", - "dev": true, - "peer": true, - "requires": { - "abbrev": "1" - } - } - } - }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -15713,13 +15451,6 @@ "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true }, - "undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true, - "peer": true - }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -15794,9 +15525,9 @@ } }, "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "peer": true, "requires": { diff --git a/package.json b/package.json index e93684e69..62a2b73cb 100644 --- a/package.json +++ b/package.json @@ -11,15 +11,17 @@ "devDependencies": { "@frctl/fractal": "^1.5.14", "@frctl/mandelbrot": "^1.10.1", - "@tacc/core-styles": "^0.13.0", + "@tacc/core-styles": "^2.9.0", "minimist": "^1.2.6" }, "repository": "git@github.com:TACC/Core-CMS.git", "scripts": { "build": "npm run build:css && npm run build:css-demo", "build:css": "bin/build-css.js --project=$npm_config_project --build-id=$npm_config_build_id", - "postbuild": "cp -r node_modules/@tacc/core-styles/src/lib/fonts/* taccsite_cms/static/site_cms/fonts", - "build:css-demo": "cd taccsite_ui && fractal build --project=$npm_config_project" + "postbuild:css": "cp -r node_modules/@tacc/core-styles/src/lib/fonts/* taccsite_cms/static/site_cms/fonts", + "build:css-demo": "cd taccsite_ui && fractal build --project=$npm_config_project", + "prebuild:css-demo": "cp -r node_modules/@tacc/core-styles/src/lib/_imports/_preview.hbs taccsite_cms/static/site_cms/css/src/_imports/", + "postbuild:css-demo": "rm taccsite_cms/static/site_cms/css/src/_imports/_preview.hbs" }, "homepage": "https://github.com/TACC/Core-CMS" } diff --git a/taccsite_cms/contrib/taccsite_system_specs/templates/system_specs.html b/taccsite_cms/contrib/taccsite_system_specs/templates/system_specs.html index 5590501f0..36aea2fa7 100644 --- a/taccsite_cms/contrib/taccsite_system_specs/templates/system_specs.html +++ b/taccsite_cms/contrib/taccsite_system_specs/templates/system_specs.html @@ -1,6 +1,6 @@ {% load cms_tags static %} - +
diff --git a/taccsite_cms/settings.py b/taccsite_cms/settings.py index 9aa95a21e..7f23a22c6 100644 --- a/taccsite_cms/settings.py +++ b/taccsite_cms/settings.py @@ -268,6 +268,14 @@ def gettext(s): return s +######################## +# TACC: CORE STYLES +######################## + +# Only use integer numbers (not "v1", not "0.11.0"), +# so templates can load based on simple comparisons +TACC_CORE_STYLES_VERSION = 0 + ######################## # CLIENT BUILD SETTINGS ######################## @@ -541,15 +549,24 @@ def get_subdirs_as_module_names(path): # https://github.com/django-cms/djangocms-style DJANGOCMS_STYLE_CHOICES = [ - # https://cep.tacc.utexas.edu/design-system/ui-patterns/o-section/ + 'card', + 'card--plain', + 'card--standard', + 'card--image-top', + 'card--image-bottom', + 'card--image-right', + 'card--image-left', + 'section', + 'section--light', + 'section--muted', + 'section--dark', + 'o-section', 'o-section o-section--style-light', + 'o-section o-section--style-muted', 'o-section o-section--style-dark', - # https://cep.tacc.utexas.edu/design-system/ui-patterns/c-callout/ 'c-callout', - # https://cep.tacc.utexas.edu/design-system/ui-patterns/c-recognition/ 'c-recognition c-recognition--style-light', 'c-recognition c-recognition--style-dark', - # https://cep.tacc.utexas.edu/design-system/ui-patterns/c-nav/ 'c-nav', # bare-bones instance 'c-nav c-nav--boxed', ] @@ -582,6 +599,7 @@ def get_subdirs_as_module_names(path): # https://github.com/django-cms/djangocms-video DJANGOCMS_VIDEO_TEMPLATES = [ + ('responsive-auto', _('Responsive - Automatic')), ('responsive-16by9', _('Responsive - 16 by 9')), ('responsive-4by3', _('Responsive - 4 by 3')), ('responsive-1by1', _('Responsive - 1 by 1')), @@ -648,6 +666,7 @@ def get_subdirs_as_module_names(path): 'GOOGLE_ANALYTICS_PRELOAD', 'TACC_BLOG_SHOW_CATEGORIES', 'TACC_BLOG_SHOW_TAGS', + 'TACC_CORE_STYLES_VERSION', 'TACC_BLOG_CUSTOM_MEDIA_POST_CATEGORY', 'TACC_BLOG_SHOW_ABSTRACT_TAG', 'SEARCH_QUERY_PARAM_NAME', diff --git a/taccsite_cms/static/djangocms_forms/css/djangocms_forms.css b/taccsite_cms/static/djangocms_forms/css/djangocms_forms.css index 3ebd6d84e..2b7999195 100644 --- a/taccsite_cms/static/djangocms_forms/css/djangocms_forms.css +++ b/taccsite_cms/static/djangocms_forms/css/djangocms_forms.css @@ -1,3 +1,3 @@ -/* SEE: ../../site_cms/css/src/_imports/django.cms.forms.css */ +/* SEE: ../../site_cms/css/src/_imports/django-cms-forms.css */ /* FAQ: We uses future syntax that must be processed to work in the present; and the process does not support outputting files to this directory */ diff --git a/taccsite_cms/static/site_cms/css/.postcssrc.yml b/taccsite_cms/static/site_cms/css/.postcssrc.yml index 1d1bf99ed..6326a95ff 100644 --- a/taccsite_cms/static/site_cms/css/.postcssrc.yml +++ b/taccsite_cms/static/site_cms/css/.postcssrc.yml @@ -2,12 +2,20 @@ # SEE: https://github.com/TACC/Core-Styles/blob/main/.postcssrc.base.yml plugins: postcss-import: + # HELP: Do not use implicit load ever, and then remove it + # NOTE: Last found use was in taccsite_custom/…/migrate.v1_v2.css + # via repo-wide regex `@import url\("(?!./|../|http|@tacc|\{%)` + # on 2023-05-08 @ 11:45 am on TACC/Core-CMS-Resources#177 # In any source file, every @import path, not prepended with "./" nor "../", # is relative to only one of these directories in this order. path: - 'taccsite_cms/static/site_cms/css/src' # Core-CMS CSS source files - 'node_modules/@tacc/core-styles/src/lib' # Core-Styles CSS source files postcss-replace: - pattern: ../../fonts/ + # @tacc/core-styles 'src/' uses `("../../fonts/` or `('../../fonts/` + # @tacc/core-styles 'dist/' uses `(fonts/` + # Core-CMS 'src/site.…' uses `(fonts/` + # Core-CMS 'dist/' is not parsed + pattern: (?<="|'|\()(..\/..\/fonts\/|fonts\/) data: replaceAll: /static/site_cms/fonts/ diff --git a/taccsite_cms/static/site_cms/css/README.md b/taccsite_cms/static/site_cms/css/README.md index 75302de77..242345c1a 100644 --- a/taccsite_cms/static/site_cms/css/README.md +++ b/taccsite_cms/static/site_cms/css/README.md @@ -17,4 +17,4 @@ See [repo `README.md` at "Static Files"](/README.md#static-files). [Core CMS]: https://github.com/TACC/Core-CMS [Core CMS Resources]: https://github.com/TACC/Core-CMS-Resources -[Core Styles]: https://github.com/TACC/tup-ui/tree/main/libs/core-styles +[Core Styles]: https://github.com/TACC/Core-Styles diff --git a/taccsite_cms/static/site_cms/css/src/README.md b/taccsite_cms/static/site_cms/css/src/README.md index 31d5260e1..7121afe27 100644 --- a/taccsite_cms/static/site_cms/css/src/README.md +++ b/taccsite_cms/static/site_cms/css/src/README.md @@ -6,7 +6,7 @@ AUTHOR STYLESHEETS HERE! - Import stylesheet partials into entry point files here at `./`. - Built stylesheets are compiled to `../build/`. -See project `README.md` at ["Static Files"](/README.md#static-files). +See project `README.md` at ["Static Files"](/README.md#static-files) and [CMS UI Organization]. _This directory exists in `static/` __only__ because it is customary, using Django, for CSS to be authored in this directory._ @@ -52,4 +52,5 @@ _This directory exists in `static/` __only__ because it is customary, using Djan -[Core Styles]: https://github.com/TACC/tup-ui/tree/main/libs/core-styles +[Core Styles]: https://github.com/TACC/Core-Styles +[CMS UI Organization]: https://confluence.tacc.utexas.edu/x/54AZCg diff --git a/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.base.css b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.base.css new file mode 100644 index 000000000..d5755141a --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.base.css @@ -0,0 +1,2 @@ +/* TODO: Host Core-Styles static files on a CDN */ +@import url("@tacc/core-styles/dist/core-styles.base.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.cms.css b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.cms.css new file mode 100644 index 000000000..bedb02ade --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.cms.css @@ -0,0 +1,2 @@ +/* TODO: Host Core-Styles static files on a CDN */ +@import url("@tacc/core-styles/dist/core-styles.cms.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.demo.css b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.demo.css new file mode 100644 index 000000000..3434459aa --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.demo.css @@ -0,0 +1,2 @@ +/* TODO: Host Core-Styles static files on a CDN */ +@import url("@tacc/core-styles/dist/core-styles.demo.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.docs.css b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.docs.css new file mode 100644 index 000000000..52128d775 --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.docs.css @@ -0,0 +1,2 @@ +/* TODO: Host Core-Styles static files on a CDN */ +@import url("@tacc/core-styles/dist/core-styles.docs.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.header.css b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.header.css new file mode 100644 index 000000000..2ad5d14e7 --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.header.css @@ -0,0 +1,2 @@ +/* TODO: Host Core-Styles static files on a CDN */ +@import url("@tacc/core-styles/dist/core-styles.header.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.portal.css b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.portal.css new file mode 100644 index 000000000..35af97c81 --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.portal.css @@ -0,0 +1,2 @@ +/* TODO: Host Core-Styles static files on a CDN */ +@import url("@tacc/core-styles/dist/core-styles.portal.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.theme.default.css b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.theme.default.css new file mode 100644 index 000000000..f64e071d5 --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.theme.default.css @@ -0,0 +1,2 @@ +/* TODO: Host Core-Styles static files on a CDN */ +@import url("@tacc/core-styles/dist/core-styles.theme.default.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.theme.has-dark-logo.css b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.theme.has-dark-logo.css new file mode 100644 index 000000000..3f6e79dbf --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_core-styles/core-styles.theme.has-dark-logo.css @@ -0,0 +1,2 @@ +/* TODO: Host Core-Styles static files on a CDN */ +@import url("@tacc/core-styles/dist/core-styles.theme.has-dark-logo.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/c-button.css b/taccsite_cms/static/site_cms/css/src/_imports/components/c-button.css index e2c563c20..3139b962b 100644 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/c-button.css +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/c-button.css @@ -1,6 +1,9 @@ -@import url("@tacc/core-styles/src/lib/_imports/components/c-button.css"); -@import url("../settings/font.css"); +.c-button--primary, +.c-button--secondary, +.c-button--tertiary, +.c-button--is-active { + padding: 10px 20px; -.c-button:not(.c-button--as-link) { font-size: var(--global-font-size--small); + text-transform: uppercase; } diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms--errors-via-c-message.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms--errors-via-c-message.css new file mode 100644 index 000000000..2437996c0 --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms--errors-via-c-message.css @@ -0,0 +1,23 @@ +@import url("@tacc/core-styles/src/lib/_imports/components/c-message.css"); +@import url("@tacc/core-styles/src/lib/_imports/components/c-message--expanded.css"); + + + +/* Errors */ + +.form-errors { + @extend :--c-message; + @extend :--c-message--type; + @extend :--c-message--type-error; + @extend :--c-message--scope; + @extend :--c-message--scope-section; + @extend :--c-message--type-error:--c-message--scope-section; +} +.field-errors li { + @extend :--c-message; + @extend :--c-message--type; + @extend :--c-message--type-error; + @extend :--c-message--scope; + @extend :--c-message--scope-inline; + @extend :--c-message--type-error:--c-message--scope-inline; +} diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.forms.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms.css similarity index 74% rename from taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.forms.css rename to taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms.css index 782e5f9fc..daad3f6a9 100644 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.forms.css +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms.css @@ -1,17 +1,7 @@ -/* -Django CMS Form Components - -These styles are only for forms created by the Django CMS Form plugin. - -Reference: - -- [Django CMS Form Default Template](https://github.com/avryhof/djangocms-forms/blob/master/djangocms_forms/templates/djangocms_forms/form_template/default.html) -- [TACC's Django CMS Form Default Template](https://github.com/TACC/Core-CMS/blob/master/taccsite_cms/templates/djangocms_forms/form_template/default.html) - -Styleguide Components.DjangoCMS.Forms -*/ @import url("@tacc/core-styles/src/lib/_imports/components/c-button.css"); -@import url("./django.cms.forms.hacks.css"); + +@import url("./django-cms-forms.hacks.css"); +@import url("./django-cms-forms--errors-via-c-message.css"); @@ -82,6 +72,7 @@ ul.checkboxselectmultiple label { display: flex; gap: 0.5em; align-items: center; + font-weight: revert; /* undo html-elements.cms.css */ } ul.radioselect li:last-child label, ul.checkboxselectmultiple li:last-child label { @@ -90,20 +81,6 @@ ul.checkboxselectmultiple li:last-child label { /* Field: Required, Asterisk, Important */ -.field-wrapper.required > label { - font-weight: var(--bold); -} -.field-wrapper.required > label .asterisk { - font-weight: var(--regular); -} - -/* To not render space from markup between label and asterisk */ -/* FAQ: The `:has(sup, sub)` prevents a 7 from being too high/low */ -.field-wrapper.required:has(label .asterisk) label:has(sub, sup) { - display: flex; - align-items: center; -} - .field-wrapper .asterisk { margin-left: 0.5em; } @@ -137,13 +114,22 @@ ul.checkboxselectmultiple li:last-child label { /* Errors */ -.field-errors { - font-size: var(--global-font-size--small); -} .field-errors ul { margin-top: 1rem; /* mimic ul margin-bottom */ +} +.form-errors ul, +.field-errors ul { margin-bottom: 0; /* overwrite ul margin-bottom */ } +.form-errors { + margin-bottom: 1rem; /* mimic ul margin-bottom */ +} + +.form-errors ul, +.field-errors ul { + list-style: none; + padding-inline: 0; +} @@ -168,8 +154,21 @@ ul.checkboxselectmultiple { /* Button */ -.form-button, +/* To style obvious buttons that neglect class */ .button-wrapper button[type="submit"] { - @extend .c-button; - @extend .c-button--primary; + @extend :--c-button; + @extend :--c-button--primary; +} + +.form-button { + @extend :--c-button; +} +.form-button[type="submit"] { + @extend :--c-button--primary; +} +.form-button:where(:not([type="submit"], [type="reset"])) { + @extend :--c-button--secondary; +} +.form-button[type="reset"] { + @extend :--c-button--tertiary; } diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.forms.hacks.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms.hacks.css similarity index 62% rename from taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.forms.hacks.css rename to taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms.hacks.css index 2dc40f254..f388dad1c 100644 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.forms.hacks.css +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms.hacks.css @@ -9,47 +9,40 @@ Reference: Styleguide Components.DjangoCMS.Forms.Hacks */ -@import url("_imports/tools/selectors.css"); +@import url("../tools/selectors.css"); /* TACC/Core-CMS#531: When merged, import and extend `.c-message(...)` */ /* @import url("@tacc/core-styles/src/lib/_imports/components/c-message.css"); */ @custom-selector :--problem-field .field-wrapper.checkboxselectmultiple.required; -/* HACK: Messages about a required multi-checkbox field */ +/* To inform user or admin about unsupported required multi-checkbox field */ +/* HACK: This does not solve the problem; it just announces it */ +/* NOTE: Were we to @extend :--c-message, generated selectors become messy */ :--problem-field > label::after { display: block; margin-top: 0.5em; - /* To mimic c-message */ - /* https://github.com/TACC/tup-ui/blob/main/libs/core-styles/src/lib/_imports/components/c-message.css */ + /* To override styles inherited from `django-cms-forms.css` */ + font-weight: normal; + padding: 15px 20px; border: var(--global-border--thick); font-size: var(--global-font-size--small); - /* TACC/Core-CMS#531: When merged, import and extend `.c-message(...)` */ - /* @extend .c-message; */ } /* To give error to admin */ html:--cms-edit-mode :--problem-field > label::after { content: 'A multi checkbox field that is required is not well implemented. Do not require this field or replace it with multiple required Yes/No radio fields.'; - /* To mimic c-message c-message-error */ - /* https://github.com/TACC/tup-ui/blob/main/libs/core-styles/src/lib/_imports/components/c-message.css */ color: var(--global-color-danger--dark); background-color: var(--global-color-danger--weak); border-color: var(--global-color-danger--normal); - /* TACC/Core-CMS#531: When merged, import and extend `.c-message(...)` */ - /* @extend .c-message--error; */ } /* To give warning to user */ html:not(:--cms-edit-mode) :--problem-field > label::after { content: 'This field is not well implemented. Select all boxes to bypass the error with this field.'; - /* To mimic c-message c-message-warning */ - /* https://github.com/TACC/tup-ui/blob/main/libs/core-styles/src/lib/_imports/components/c-message.css */ color: var(--global-color-warning--dark); background-color: var(--global-color-warning--weak); border-color: var(--global-color-warning--normal); - /* TACC/Core-CMS#531: When merged, import and extend `.c-message(...)` */ - /* @extend .c-message--warning; */ } diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/config.yml b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/config.yml new file mode 100644 index 000000000..75f29a120 --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/config.yml @@ -0,0 +1,4 @@ +label: Django CMS Forms +context: + shouldLoadCMS: true + shouldLoadBootstrap: true diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/django-cms-forms.hbs b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/django-cms-forms.hbs new file mode 100644 index 000000000..fe739c42c --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/django-cms-forms.hbs @@ -0,0 +1,407 @@ +

+ This component is maintained simuiltaneously with C Form and should look identical. Eventually, the two should have a single source of truth. To learn more, read (Confluence) APCD - Form Markup & Styles. +

+
+ +

Title of Form

+
+ I describe the form, but not very well. +
+ +
+
+ + +
+ + + + + + +
+ We use this to identify your submission. +
+
+ +
+ + + + + + +
+ Choose your favorite fruit. +
+
+ +
+ + + + + + +
+ We use this to know when to wake you up. +
+
+ +
+ + + + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+ +
+ Which radio stations do you prefer? +
+
+ +
+ + + + + + +
+ Are you checking out today? +
+
+ +
+ + + + +
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+ +
+ + + + + + +
+ At which time of day do you get hangry? +
+
+ +
+ + + + + + +
+ Go on, tell me everything. +
+
+ +
+ + + + + + +
+ Please enter today's date. +
+
+ +
+ + + + + + +
+ Upload your favorite image. + + Supported types: + .jpeg,.jpg,.gif,.png + +
+
+ +
+ + + + + + +
+
+ +
+ + + +
+
+
+ +
+ + + + diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/readme.md b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/readme.md new file mode 100644 index 000000000..795968004 --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-forms/readme.md @@ -0,0 +1,20 @@ +To style forms built by [Django CMS forms][djcms-forms]. + +> **⚠️ Important** +> +> **Only** intended for [Django CMS forms][djcms-forms]. To style a form **not** using that plugin, use [TACC form component]({{path './c-form' }}). + +> **ⓘ Notice** +> +> Most of the markup can be seen at [template][djcms-forms-tpl]. Some of the classes and markup come from [Django form field widgets][django-form-widgets]. + +[djcms-forms]: https://pypi.org/project/djangocms-forms-maintained/ "DjangoCMS-Forms (Maintained)" +[djcms-forms-tpl]: https://github.com/avryhof/djangocms-forms/blob/ab38b22/djangocms_forms/templates/djangocms_forms/form_template/default.html "DjangoCMS Forms (Maintained) Template" +[django-form-widgets]: https://docs.djangoproject.com/en/2.2/ref/forms/widgets/ "Django Form Widgets" + + diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-video.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-video.css new file mode 100644 index 000000000..e56f7c7af --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django-cms-video.css @@ -0,0 +1,10 @@ +/* Let us control size of video without dimension */ +/* FAQ: Select any content within embed wrapper that has no dimension class */ +.embed-responsive:not([class*="embed-responsive-"]) +:is(.embed-responsive-item, embed, iframe, object, video) { + /* To undo Bootstrap _embed.css */ + position: unset; + top: unset; + bottom: unset; + left: unset; +} diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.css index 70db82b45..fbd49629d 100644 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.css +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.css @@ -37,6 +37,15 @@ Styleguide Components.DjangoCMS.Blog.App +/* Generic */ + +.app-blog { + /* To control absolute position of descendants e.g. `.blog-visual` */ + position: relative; +} + + + /* Header */ .blog-list > header { diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.item.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.item.css index 29e1ad6cd..ba43af062 100644 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.item.css +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.item.css @@ -10,8 +10,8 @@ Styleguide Components.DjangoCMS.Blog.App.Item @import url("@tacc/core-styles/src/lib/_imports/tools/x-article-link.css"); @import url("@tacc/core-styles/src/lib/_imports/tools/x-truncate.css"); -@import url("_imports/tools/media-queries.css"); -@import url("_imports/tools/selectors.css"); +@import url("../tools/media-queries.css"); +@import url("../tools/selectors.css"); diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.page.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.page.css index 3ff285594..4171d8e52 100644 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.page.css +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.app.page.css @@ -7,6 +7,8 @@ Reference: Styleguide Components.DjangoCMS.Blog.App.Page */ +@import url("@tacc/core-styles/src/lib/_imports/objects/o-offset-content.css"); + @import url("./django.cms.blog.app.page.multimedia.css"); @@ -110,3 +112,47 @@ Styleguide Components.DjangoCMS.Blog.App.Page :--article-page .blog-content li + li { margin-top: 0.5em; } + + + +/* Media & Content - Alignment */ + +:--article-page .blog-content .align-left { + @extend .o-offset-content--left; +} +:--article-page .blog-content .align-right { + @extend .o-offset-content--right; +} +:--article-page .blog-content .align-center { + max-width: 100%; /* overwrite @tacc/core-styles/…/components/align.css */ +} + +/* To remove margin on narrow screens */ +/* To overwrite @tacc/core-styles/…/components/align.css */ +@media (--narrow-and-below) { + :--article-page .blog-content .align-center, + :--article-page .blog-content .align-right, + :--article-page .blog-content .align-left { + max-width: unset; + } + :--article-page .blog-content .align-right, + :--article-page .blog-content .align-left { + float: unset; + margin-bottom: unset; + } + :--article-page .blog-content .align-right { + margin-left: unset; + } + :--article-page .blog-content .align-left { + margin-right: unset; + } +} + +/* To reduce image width on medium screens */ +@media (--narrow-and-above) and (--medium-and-below) { + :--article-page .blog-content .align-center, + :--article-page .blog-content .align-right, + :--article-page .blog-content .align-left { + max-width: 50%; + } +} diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.css deleted file mode 100644 index a0d19b6f9..000000000 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.blog.css +++ /dev/null @@ -1,14 +0,0 @@ -/* -Django CMS Blog Components - -Components for [Django CMS Blog](https://djangocms-blog.readthedocs.io) UI. These classes are authored in templates of third-party origin that offers no styles. These styles are split between app page UI and plugin UI. - -Reference: - -- [Django CMS Blog](https://github.com/nephila/djangocms-blog/tree/1.1.1/djangocms_blog) - -Styleguide Components.DjangoCMS.Blog -*/ - -/* NOTE: Author styles in relevant prefixed stylsheets */ -/* FAQ: This file is just KSS-format CSS documentation */ diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.picture.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.picture.css index 1ff909456..d65dc581f 100644 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.picture.css +++ b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.picture.css @@ -1,37 +1,41 @@ -/* -Django CMS Picture - -Classes from [Django CMS Picture](https://github.com/django-cms/djangocms-picture#readme). - -Reference: - -- [Django CMS Picture `.align-` Classes](https://github.com/django-cms/djangocms-picture/blob/2.3.0/djangocms_picture/models.py#L24-L34) +/* To support djangocms-picture plugin unstyled default alignment classes */ +/* SEE: https://github.com/django-cms/djangocms-picture/blob/2.3.0/djangocms_picture/models.py#L24-L34 */ +@import url("@tacc/core-styles/src/lib/_imports/components/align.css"); -Styleguide Components.DjangoCMS.Picture +/* Try to auto-clear image floats */ +/* WARNING: The commented solution clears float BUT also negates float */ +/* +.align-right + *:not(img) { clear: right } +.align-left + *:not(img) { clear: left } */ - - -/* Default Values */ - -/* Support default alignment classes */ -.align-right, -.align-left { - margin-bottom: var(--global-space--grid-gap); +/* To apply djangocms-bootstrap4/…_picture class styles from parent to image */ +/* FAQ: TACC/Core-CMS moves (side effect) Picture classes to
or */ +/* SEE: taccsite_cms/templates/djangocms_picture/default/picture.html */ +:is(figure, a).img-fluid img { + max-width: 100%; + height: auto; } -.align-right { - float: right; - margin-left: var(--global-space--grid-gap); +:is(figure, a).img-thumbnail img { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 1rem; /* NOTE: Bootstrap used 0.25rem */ + max-width: 100%; + height: auto; } -.align-left { - float: left; - margin-right: var(--global-space--grid-gap); +:is(figure, a).rounded { + /* NOTE: Bootstrap used 0.25rem */ + border-radius: 1rem !important; /* overwrite Bootstrap (uses !important) */ } -.align-center { - display: block; - margin-inline: auto; +/* To undo some djangocms-bootstrap4/…_picture class styles on parent */ +/* FAQ: The duplicate styles on parent tags look odd or are unnecessary */ +:is(figure, a).img-thumbnail { + padding: unset; + background-color: unset; + border: unset; + border-radius: unset; +} +:is(figure, a).rounded { + border-radius: unset !important; /* overwrite Bootstrap (uses !important) */ } - -/* Try to auto clear image floats */ -.align-right + *:not(img) { clear: right } -.align-left + *:not(img) { clear: left } diff --git a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.post.css b/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.post.css deleted file mode 100644 index e29a57a38..000000000 --- a/taccsite_cms/static/site_cms/css/src/_imports/components/django.cms.post.css +++ /dev/null @@ -1,11 +0,0 @@ -/* -Django CMS Blog Post Components - -Components for [Django CMS Blog Post](https://djangocms-blog.readthedocs.io) UI. These classes are authored in templates of third-party origin, and expanded by us, but they have no third-party styles. - -Reference: - -- [Django CMS Blog `.post-` Class Components](https://github.com/TACC/CORE-cms/tree/main/taccsite_cms/templates/djangocms_blog) - -Styleguide Components.DjangoCMS.Post -*/ diff --git a/taccsite_cms/static/site_cms/css/src/_imports/config.yml b/taccsite_cms/static/site_cms/css/src/_imports/config.yml new file mode 100644 index 000000000..6a03334ee --- /dev/null +++ b/taccsite_cms/static/site_cms/css/src/_imports/config.yml @@ -0,0 +1,4 @@ +# This file configures CMS-specific pattern demo directory +label: Core CMS +context: + shouldLoadCMS: true diff --git a/taccsite_cms/static/site_cms/css/src/_imports/elements/irregular-link.css b/taccsite_cms/static/site_cms/css/src/_imports/elements/irregular-link.css index d0524f51d..55bfc1442 100644 --- a/taccsite_cms/static/site_cms/css/src/_imports/elements/irregular-link.css +++ b/taccsite_cms/static/site_cms/css/src/_imports/elements/irregular-link.css @@ -2,7 +2,7 @@ /* FAQ: Only included by a project as client wants it */ /* SEE: https://ecepalliance.org/ ( diff --git a/taccsite_cms/templates/assets_core.md b/taccsite_cms/templates/assets_core.md new file mode 100644 index 000000000..0e1cef0a3 --- /dev/null +++ b/taccsite_cms/templates/assets_core.md @@ -0,0 +1,3 @@ +# TACC CMS - Templates - Core + +The `assets_core(…).html` templates are "the new way" (since Core-Styles v1.0.0) to load assets. diff --git a/taccsite_cms/templates/assets_core_cms.html b/taccsite_cms/templates/assets_core_cms.html new file mode 100644 index 000000000..83c3e6b0d --- /dev/null +++ b/taccsite_cms/templates/assets_core_cms.html @@ -0,0 +1,11 @@ +{# SEE: ./assets_core.md #} +{% load staticfiles %} + + diff --git a/taccsite_cms/templates/assets_core_delayed.html b/taccsite_cms/templates/assets_core_delayed.html new file mode 100644 index 000000000..20f7c81ec --- /dev/null +++ b/taccsite_cms/templates/assets_core_delayed.html @@ -0,0 +1,21 @@ +{# SEE: ./assets_core.md #} +{% load staticfiles %} + +{# FAQ: Bootstrap can use jQuery, Popper, then its own script #} +{# SEE: https://getbootstrap.com/docs/4.0/getting-started/introduction/#starter-template #} + + + + diff --git a/taccsite_cms/templates/assets_site.html b/taccsite_cms/templates/assets_site.html index 884377e33..0f9a37212 100644 --- a/taccsite_cms/templates/assets_site.html +++ b/taccsite_cms/templates/assets_site.html @@ -1,5 +1,4 @@ {% load staticfiles %} -{# @var settings #} {# Load assets as external files, to cache independently of markup. #} {% comment %} @@ -13,6 +12,7 @@ + {# CAVEAT: Requires `npm run build` step before running the Django project. #} @@ -21,7 +21,7 @@ -{# Portal & Docs #} +{# Impacts the clients "CEPv2" Portal & Frontera Docs #} {# FAQ: Websites that load CMS header should load these assets in this order #} {% comment %} {# To load externally-hosted font which is in the font stack of CMS styles #} diff --git a/taccsite_cms/templates/base.html b/taccsite_cms/templates/base.html index f1a975ae8..aa09f745a 100755 --- a/taccsite_cms/templates/base.html +++ b/taccsite_cms/templates/base.html @@ -28,6 +28,8 @@ {% with path="djangocms_page_meta.html" %}{% include path %}{% endwith %} {% endblock meta %} +{% if settings.TACC_CORE_STYLES_VERSION == 0 %} + {# The core site font (can be replaced or accompanied by custom font/s) #} {% block assets_font %} @@ -38,8 +40,17 @@ {# The core site assets (can NOT be replaced by custom assets) #} {% include 'assets_site.html' %} +{% elif settings.TACC_CORE_STYLES_VERSION >= 1 %} + + + {% include 'assets_core.html' %} + {% block assets_core_project %} + {% include 'assets_core_cms.html' %} + {% endblock assets_core_project %} + +{% endif %} + - {# Placeholder for custom assets #} {% block assets_custom %} {% include 'assets_custom.html' %} {% endblock assets_custom %} @@ -82,9 +93,18 @@ {% endblock footer %} +{% if settings.TACC_CORE_STYLES_VERSION == 0 %} + {% include 'assets_site_delayed.html' %} +{% elif settings.TACC_CORE_STYLES_VERSION >= 1 %} + + + {% include 'assets_core_delayed.html' %} + +{% endif %} + {% block assets_custom_delayed %} {% include 'assets_custom_delayed.html' %} diff --git a/taccsite_cms/templates/djangocms_blog/base.html b/taccsite_cms/templates/djangocms_blog/base.html index d6dc09ba3..b2ee8ca68 100644 --- a/taccsite_cms/templates/djangocms_blog/base.html +++ b/taccsite_cms/templates/djangocms_blog/base.html @@ -14,13 +14,21 @@ {% endblock meta %} {% block content %} + +{% if settings.TACC_CORE_STYLES_VERSION == 0 %} + +{% elif settings.TACC_CORE_STYLES_VERSION >= 1 %} +{% endif %} +
+ {% include './tacc/layout-choice-form.html' %} {% block content_blog %}{% endblock %}
+ {% endblock content %} diff --git a/taccsite_cms/templates/djangocms_blog/tacc/layout-choice-form.html b/taccsite_cms/templates/djangocms_blog/tacc/layout-choice-form.html new file mode 100644 index 000000000..09f8781f3 --- /dev/null +++ b/taccsite_cms/templates/djangocms_blog/tacc/layout-choice-form.html @@ -0,0 +1,22 @@ +{# To support user changing layout of news list #} +{# FAQ: The form is hidden, because styles are not complete #} +{# FAQ: The script is active, so new styles can be tested on a server #} + + diff --git a/taccsite_cms/templates/djangocms_forms/form_template/default.html.md b/taccsite_cms/templates/djangocms_forms/form_template/default.html.md index a4501efc8..5b1bffe06 100644 --- a/taccsite_cms/templates/djangocms_forms/form_template/default.html.md +++ b/taccsite_cms/templates/djangocms_forms/form_template/default.html.md @@ -11,4 +11,4 @@ But, to avoid that[^1], the two changes have been performed other ways: [original template]: https://github.com/avryhof/djangocms-forms/blob/ab38b22/djangocms_forms/templates/djangocms_forms/form_template/default.html [1]: https://github.com/avryhof/djangocms-forms/pull/12 -[2]: ../../../static/site_cms/css/src/_imports/components/django.cms.forms.css#L103 +[2]: ../../../static/site_cms/css/src/_imports/components/django-cms-forms.css#L167 diff --git a/taccsite_cms/templates/djangocms_picture/default/picture.html b/taccsite_cms/templates/djangocms_picture/default/picture.html new file mode 100644 index 000000000..5e37562fc --- /dev/null +++ b/taccsite_cms/templates/djangocms_picture/default/picture.html @@ -0,0 +1,115 @@ +{# https://github.com/django-cms/djangocms-picture/blob/3.0.0/djangocms_picture/templates/djangocms_picture/default/picture.html #} +{# TACC (mimic v3.0.0 to v4.0.0 changes): #} +{# TACC (support children as caption content): #} +{# {% load thumbnail %} #} +{% load thumbnail l10n cms_tags %} +{# /TACC #} +{# /TACC #} + +{% if picture_link %} +
+{% endif %} + +{# start render figure/figcaption #} +{# TACC (support children as caption content): #} +{# {% if instance.caption_text %} #} +{% if instance.caption_text or instance.child_plugin_instances %} + {# TACC (assign attributes to parent): #} + {#
#} +
+ {# /TACC #} +{% endif %} +{# /TACC #} +{# end render figure/figcaption #} + + +{# TACC (mimic v3.0.0 to v4.0.0 changes): #} +{% localize off %} +{# /TACC #} +{% if instance.attributes.alt %}{{ instance.attributes.alt }}{% elif instance.picture.default_alt_text %}{{ instance.picture.default_alt_text }}{% endif %} +{# TACC (mimic v3.0.0 to v4.0.0 changes): #} +{% endlocalize %} +{# /TACC #} + +{# start render figure/figcaption #} +{# {% if instance.caption_text %} #} +{% if instance.caption_text or instance.child_plugin_instances %} + {# TACC (support children as caption content): #} + {#
{{ instance.caption_text }}
#} +
+ {{ instance.caption_text }} + {% for plugin in instance.child_plugin_instances %} + {% render_plugin plugin %} + {% endfor %} +
+ {# /TACC #} +
+{% endif %} +{# end render figure/figcaption #} + +{% if picture_link %} +
+{% endif %} + +{% comment %} + # https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img + # https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure + # https://github.com/divio/django-filer/blob/master/filer/models/imagemodels.py + # http://easy-thumbnails.readthedocs.io/en/2.1/usage/#templates + {{ instance.picture }} + # Available variables: + {{ instance.img_src }} + {{ instance.width }} + {{ instance.height }} + {{ instance.alignment }} + {{ instance.caption_text }} + {{ instance.img_srcset_data }} or {{ img_srcset_data }} + {{ instance.attributes_str }} + # picture helper + {{ instance.get_size }} or {{ picture_size }} + # link settings + {{ instance.link_url }} + {{ instance.link_page }} + {{ instance.link_target }} + {{ instance.link_attributes_str }} + # link helper + {{ instance.get_link }} or {{ picture_link }} + # cropping settings + {{ instance.use_automatic_scaling }} + {{ instance.use_no_cropping }} + {{ instance.use_crop }} + {{ instance.use_upscale }} + {{ instance.thumbnail_options }} + # activate DJANGOCMS_PICTURE_NESTING to enable nested plugins: + {% for plugin in instance.child_plugin_instances %} + {% render_plugin plugin %} + {% endfor %} +{% endcomment %} diff --git a/taccsite_cms/templates/djangocms_video/responsive-auto/video_player.html b/taccsite_cms/templates/djangocms_video/responsive-auto/video_player.html new file mode 100644 index 000000000..f8b46938d --- /dev/null +++ b/taccsite_cms/templates/djangocms_video/responsive-auto/video_player.html @@ -0,0 +1,7 @@ +{% extends "djangocms_video/default/video_player.html" %} + +{% block content_video %} +
+ {{ block.super }} +
+{% endblock content_video %} diff --git a/taccsite_cms/templates/guide.html b/taccsite_cms/templates/guide.html index 8615cae77..716a47bab 100644 --- a/taccsite_cms/templates/guide.html +++ b/taccsite_cms/templates/guide.html @@ -4,10 +4,11 @@ {% block assets_custom %} {{ block.super }} - + {% if settings.TACC_CORE_STYLES_VERSION == 0 %} + + {% elif settings.TACC_CORE_STYLES_VERSION >= 1 %} + + {% endif %} {% endblock assets_custom %} {% block content %} diff --git a/taccsite_cms/templates/home_portal.html b/taccsite_cms/templates/home_portal.html index 66727ff09..8ac214742 100644 --- a/taccsite_cms/templates/home_portal.html +++ b/taccsite_cms/templates/home_portal.html @@ -4,10 +4,11 @@ {% block assets_custom %} {{ block.super }} - + {% if settings.TACC_CORE_STYLES_VERSION == 0 %} + + {% elif settings.TACC_CORE_STYLES_VERSION >= 1 %} + + {% endif %} {% endblock assets_custom %} {% block content %} diff --git a/taccsite_cms/templates/nav_search.html b/taccsite_cms/templates/nav_search.html index 66ea6d8a3..bdc9707c8 100644 --- a/taccsite_cms/templates/nav_search.html +++ b/taccsite_cms/templates/nav_search.html @@ -13,12 +13,16 @@ import * as registerCustomElement from '/static/site_cms/js/modules/registerCustomElement.js'; const template = document.getElementById('s-search-bar').firstElementChild; + + {% if settings.TACC_CORE_STYLES_VERSION == 0 %} /* Load necessary Bootstrap outside raw markup so CMS */ /* FAQ: CMS, Portal, User Guide each use a different Bootstrap file */ /* TODO: After CMS redesign, use only one Bootstrap version (Portal's) */ template.content.prepend( document.getElementById('css-bootstrap').cloneNode(true) ); + {% endif %} + registerCustomElement.fromTemplate(template, 'tacc-search-bar'); diff --git a/taccsite_cms/templates/nav_search.raw.html b/taccsite_cms/templates/nav_search.raw.html index d7b9c434b..87f9cb136 100644 --- a/taccsite_cms/templates/nav_search.raw.html +++ b/taccsite_cms/templates/nav_search.raw.html @@ -8,7 +8,11 @@ /* SEE: https://github.com/TACC/Core-Styles/blob/main/source/_imports/elements/tacc-search-bar.md */ :host { visibility: hidden; height: 0; } +{% if settings.TACC_CORE_STYLES_VERSION == 0 %} +{% elif settings.TACC_CORE_STYLES_VERSION >= 1 %} + +{% endif %}