From 8eace5233477ff05d0a74c5d39e3d05f19cf32c0 Mon Sep 17 00:00:00 2001 From: Huong Nguyen Date: Mon, 23 Feb 2026 08:55:16 +0700 Subject: [PATCH] MDL-87730 library: Integrate Moodle Design System tokens Co-authored-by: Andrew Nicols --- npm-shrinkwrap.json | 605 ++------------- package.json | 7 +- public/theme/boost/scss/design-system.scss | 4 + .../scss/design-system/readme_moodle.txt | 1 + .../design-system/tokens/scss/_borders.scss | 15 + .../design-system/tokens/scss/_colors.scss | 65 ++ .../tokens/scss/_index.legacy.scss | 11 + .../design-system/tokens/scss/_index.scss | 10 + .../tokens/scss/_primitives.scss | 159 ++++ .../design-system/tokens/scss/_shadows.scss | 12 + .../design-system/tokens/scss/_sizes.scss | 10 + .../design-system/tokens/scss/_spacing.scss | 11 + .../tokens/scss/_typography.scss | 44 ++ public/theme/boost/scss/preset/default.scss | 46 +- public/theme/boost/style/moodle.css | 700 +++++++++--------- public/theme/boost/thirdpartylibs.xml | 11 + scripts/update-design-system.mjs | 51 ++ 17 files changed, 828 insertions(+), 934 deletions(-) create mode 100644 public/theme/boost/scss/design-system.scss create mode 100644 public/theme/boost/scss/design-system/readme_moodle.txt create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_borders.scss create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_colors.scss create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_index.legacy.scss create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_index.scss create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_primitives.scss create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_shadows.scss create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_sizes.scss create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_spacing.scss create mode 100644 public/theme/boost/scss/design-system/tokens/scss/_typography.scss create mode 100644 scripts/update-design-system.mjs diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index c278456da3c..d6d701e4b03 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -7,6 +7,7 @@ "name": "Moodle", "hasInstallScript": true, "dependencies": { + "@moodlehq/design-system": "^2.1", "react": "^19.1", "react-dom": "^19.1" }, @@ -64,75 +65,6 @@ "node": ">=22.11.0 <23" } }, - "../../../../git/moodlehq/design-system": { - "name": "@moodlehq/design-system", - "version": "1.0.0", - "extraneous": true, - "license": "GPL-3.0-only", - "dependencies": { - "bootstrap": "^5.3.8" - }, - "devDependencies": { - "@chromatic-com/storybook": "^5.0.0", - "@commitlint/cli": "^20.1.0", - "@commitlint/config-conventional": "^20.0.0", - "@eslint/compat": "^2.0.0", - "@eslint/eslintrc": "^3.3.3", - "@eslint/js": "^9.39.1", - "@storybook/addon-a11y": "^10.1.2", - "@storybook/addon-coverage": "^3.0.0", - "@storybook/addon-docs": "^10.1.2", - "@storybook/addon-themes": "^10.1.2", - "@storybook/addon-vitest": "^10.1.2", - "@storybook/react-vite": "^10.1.2", - "@testing-library/jest-dom": "^6.9.1", - "@testing-library/react": "^16.3.0", - "@types/node": "^25.0.2", - "@types/react": "^19.2.7", - "@types/react-dom": "^19.2.3", - "@typescript-eslint/eslint-plugin": "^8.48.0", - "@typescript-eslint/parser": "^8.48.0", - "@vitejs/plugin-react": "^5.1.0", - "@vitest/browser-playwright": "^4.0.14", - "@vitest/coverage-istanbul": "^4.0.14", - "bootstrap": "^5.3.8", - "eslint": "^9.39.1", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-prettier": "^5.5.4", - "eslint-plugin-react": "^7.37.5", - "eslint-plugin-react-hooks": "^7.0.1", - "eslint-plugin-react-refresh": "^0.5.0", - "eslint-plugin-storybook": "^10.1.2", - "fast-check": "^4.5.3", - "globals": "^17.1.0", - "husky": "^9.1.7", - "jsdom": "^28.0.0", - "lint-staged": "^16.2.7", - "playwright": "^1.57.0", - "prettier": "^3.7.3", - "prettier-plugin-organize-imports": "^4.3.0", - "react": "^19.2.4", - "react-bootstrap": "^2.10.10", - "react-docgen": "^8.0.2", - "react-docgen-typescript": "^2.4.0", - "react-dom": "^19.2.4", - "sass": "^1.94.2", - "storybook": "^10.0.5", - "style-dictionary": "^5.1.1", - "tsx": "^4.21.0", - "typescript": "^5.9.3", - "typescript-eslint": "^8.48.0", - "vite": "^7.2.6", - "vite-plugin-dts": "^4.5.4", - "vite-tsconfig-paths": "^6.0.1", - "vitest": "^4.0.4" - }, - "peerDependencies": { - "react": "^19.2.4", - "react-bootstrap": "^2.10.10", - "react-dom": "^19.2.4" - } - }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "dev": true, @@ -1833,78 +1765,8 @@ "node": ">=16" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, "node_modules/@esbuild/darwin-arm64": { "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "cpu": [ "arm64" ], @@ -1918,363 +1780,6 @@ "node": ">=18" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "dev": true, @@ -2388,8 +1893,6 @@ }, "node_modules/@eslint/js": { "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { @@ -2398,9 +1901,6 @@ }, "node_modules/@humanwhocodes/config-array": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2414,8 +1914,6 @@ }, "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -2439,9 +1937,6 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", "dev": true, "license": "BSD-3-Clause" }, @@ -2530,6 +2025,19 @@ "node": ">= 0.4" } }, + "node_modules/@moodlehq/design-system": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@moodlehq/design-system/-/design-system-2.1.0.tgz", + "integrity": "sha512-rBdj7czZineA19nSmN5ogBW8tAoIR9w81I0TezVfIvpGVaKaZoUTwC7CZuNgPNYdVHBoqhUknB5h2KYvvr7GRQ==", + "license": "GPL-3.0-only", + "dependencies": { + "bootstrap": "^5.3.8" + }, + "peerDependencies": { + "react": "^19.2.4", + "react-dom": "^19.2.4" + } + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "dev": true, @@ -2579,6 +2087,17 @@ "node": ">=14" } }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "dev": true, @@ -2692,8 +2211,6 @@ }, "node_modules/@typescript-eslint/parser": { "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", - "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", "dev": true, "license": "MIT", "dependencies": { @@ -2717,8 +2234,6 @@ }, "node_modules/@typescript-eslint/project-service": { "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", - "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2739,8 +2254,6 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", - "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", "dev": true, "license": "MIT", "dependencies": { @@ -2757,8 +2270,6 @@ }, "node_modules/@typescript-eslint/tsconfig-utils": { "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", - "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", "dev": true, "license": "MIT", "engines": { @@ -2774,8 +2285,6 @@ }, "node_modules/@typescript-eslint/types": { "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", - "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", "dev": true, "license": "MIT", "engines": { @@ -2788,8 +2297,6 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", - "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", "dev": true, "license": "MIT", "dependencies": { @@ -2816,8 +2323,6 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "dev": true, "license": "MIT", "engines": { @@ -2826,8 +2331,6 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", "dev": true, "license": "MIT", "dependencies": { @@ -2839,8 +2342,6 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -2855,8 +2356,6 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -2868,8 +2367,6 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", - "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", "dev": true, "license": "MIT", "dependencies": { @@ -2886,8 +2383,6 @@ }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -3602,6 +3097,25 @@ "node": ">=0.8.0" } }, + "node_modules/bootstrap": { + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.8.tgz", + "integrity": "sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "license": "MIT", + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "dev": true, @@ -4528,8 +4042,6 @@ }, "node_modules/debug": { "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { @@ -5005,8 +4517,6 @@ }, "node_modules/esbuild": { "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -5122,9 +4632,6 @@ }, "node_modules/eslint": { "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { @@ -6244,8 +5751,6 @@ }, "node_modules/fs-extra": { "version": "11.3.4", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", - "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", "dev": true, "license": "MIT", "dependencies": { @@ -8708,8 +8213,6 @@ }, "node_modules/jsonfile": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, "license": "MIT", "dependencies": { @@ -9512,8 +9015,6 @@ }, "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==", "dev": true, "license": "MIT" }, @@ -10620,8 +10121,6 @@ }, "node_modules/react": { "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -10629,8 +10128,6 @@ }, "node_modules/react-dom": { "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" @@ -11191,8 +10688,6 @@ }, "node_modules/scheduler": { "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, "node_modules/seek-bzip": { @@ -12198,8 +11693,6 @@ }, "node_modules/tinyglobby": { "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12215,8 +11708,6 @@ }, "node_modules/tinyglobby/node_modules/fdir": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", "engines": { @@ -12233,8 +11724,6 @@ }, "node_modules/tinyglobby/node_modules/picomatch": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -12346,8 +11835,6 @@ }, "node_modules/ts-api-utils": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "license": "MIT", "engines": { @@ -12399,8 +11886,6 @@ }, "node_modules/typescript": { "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -12523,8 +12008,6 @@ }, "node_modules/universalify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index a1736af20bf..07bb6c9fa7b 100644 --- a/package.json +++ b/package.json @@ -3,13 +3,16 @@ "private": true, "description": "Moodle", "scripts": { - "postinstall": "npm run update-react", + "postinstall": "npm run update-packages", + "update-packages": "npm run update-design-system && npm run update-react", "update-react": "node scripts/update-react-bundle.mjs", + "update-design-system": "node scripts/update-design-system.mjs", "upgradenote": "node .grunt/upgradenotes.mjs create" }, "dependencies": { "react": "^19.1", - "react-dom": "^19.1" + "react-dom": "^19.1", + "@moodlehq/design-system": "^2.1" }, "devDependencies": { "@babel/core": "7.17.5", diff --git a/public/theme/boost/scss/design-system.scss b/public/theme/boost/scss/design-system.scss new file mode 100644 index 00000000000..22bc51ecca5 --- /dev/null +++ b/public/theme/boost/scss/design-system.scss @@ -0,0 +1,4 @@ +// Import Design System. +// Do NOT import _index.scss - it uses @forward (incompatible with @import). + +@import "design-system/tokens/scss/_index.legacy"; diff --git a/public/theme/boost/scss/design-system/readme_moodle.txt b/public/theme/boost/scss/design-system/readme_moodle.txt new file mode 100644 index 00000000000..dc6cb872a29 --- /dev/null +++ b/public/theme/boost/scss/design-system/readme_moodle.txt @@ -0,0 +1 @@ +The content of this directory is automatically managed by the `npm install` and `npm update` commands. \ No newline at end of file diff --git a/public/theme/boost/scss/design-system/tokens/scss/_borders.scss b/public/theme/boost/scss/design-system/tokens/scss/_borders.scss new file mode 100644 index 00000000000..69c3984d22e --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_borders.scss @@ -0,0 +1,15 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. + +$mds-border-radius-lg: 0.5rem !default; +$mds-border-radius-md: 0.375rem !default; +$mds-border-radius-none: 0rem !default; +$mds-border-radius-pill: 50rem !default; +$mds-border-radius-sm: 0.25rem !default; +$mds-border-radius-xl: 1rem !default; +$mds-border-radius-xxl: 2rem !default; +$mds-stroke-weight-lg: 0.1875rem !default; +$mds-stroke-weight-md: 0.125rem !default; +$mds-stroke-weight-sm: 0.0625rem !default; +$mds-stroke-weight-xl: 0.25rem !default; +$mds-stroke-weight-xxl: 0.3125rem !default; diff --git a/public/theme/boost/scss/design-system/tokens/scss/_colors.scss b/public/theme/boost/scss/design-system/tokens/scss/_colors.scss new file mode 100644 index 00000000000..c0944b137c3 --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_colors.scss @@ -0,0 +1,65 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. + +$mds-bg-feedback-danger-default: #ca3120 !default; +$mds-bg-feedback-danger-subtle: #f4d6d2 !default; +$mds-bg-feedback-info-default: #008196 !default; +$mds-bg-feedback-info-subtle: #cce6ea !default; +$mds-bg-feedback-primary-default: #0f6cbf !default; +$mds-bg-feedback-primary-subtle: #cfe2f2 !default; +$mds-bg-feedback-secondary-subtle: #f8f9fa !default; +$mds-bg-feedback-success-default: #357a32 !default; +$mds-bg-feedback-success-subtle: #d7e4d6 !default; +$mds-bg-feedback-warning-default: #f0ad4e !default; +$mds-bg-feedback-warning-subtle: #fcefdc !default; +$mds-bg-interactive-danger-active: #791d13 !default; +$mds-bg-interactive-danger-default: #ca3120 !default; +$mds-bg-interactive-danger-disabled: #df8379 !default; +$mds-bg-interactive-danger-hover: #a2271a !default; +$mds-bg-interactive-primary-active: #094173 !default; +$mds-bg-interactive-primary-default: #0f6cbf !default; +$mds-bg-interactive-primary-disabled: #6fa7d9 !default; +$mds-bg-interactive-primary-hover: #0c5699 !default; +$mds-bg-interactive-secondary-active: #ced4da !default; +$mds-bg-interactive-secondary-default: #ced4da !default; +$mds-bg-interactive-secondary-disabled: #e9ecef !default; +$mds-bg-interactive-secondary-hover: #dee2e6 !default; +$mds-bg-surface-default: #ffffff !default; +$mds-bg-surface-strong: #e9ecef !default; +$mds-bg-surface-subtle: #f8f9fa !default; +$mds-border-default: #dee2e6 !default; +$mds-border-feedback-danger: #eaada6 !default; +$mds-border-feedback-info: #99cdd5 !default; +$mds-border-feedback-primary: #9fc4e5 !default; +$mds-border-feedback-secondary: #e9ecef !default; +$mds-border-feedback-success: #aecaad !default; +$mds-border-feedback-warning: #f9deb8 !default; +$mds-border-interactive-danger-active: #a2271a !default; +$mds-border-interactive-danger-default: #ca3120 !default; +$mds-border-interactive-danger-disabled: #df8379 !default; +$mds-border-interactive-danger-hover: #ca3120 !default; +$mds-border-interactive-primary-active: #0c5699 !default; +$mds-border-interactive-primary-default: #0f6cbf !default; +$mds-border-interactive-primary-disabled: #6fa7d9 !default; +$mds-border-interactive-primary-hover: #0f6cbf !default; +$mds-border-interactive-secondary-active: #495057 !default; +$mds-border-interactive-secondary-default: #6a737b !default; +$mds-border-interactive-secondary-disabled: #8f959e !default; +$mds-border-interactive-secondary-hover: #6a737b !default; +$mds-border-subtle: #e9ecef !default; +$mds-border-translucent: rgba(0, 0, 0, 0) !default; +$mds-focus-default: #0f6cbf !default; +$mds-text-danger: #ca3120 !default; +$mds-text-default: #1d2125 !default; +$mds-text-emphasis: #000000 !default; +$mds-text-feedback-danger: #51140d !default; +$mds-text-feedback-info: #00343c !default; +$mds-text-feedback-primary: #062b4c !default; +$mds-text-feedback-secondary: #343a40 !default; +$mds-text-feedback-success: #153114 !default; +$mds-text-feedback-warning: #60451f !default; +$mds-text-inverse: #f8f9fa !default; +$mds-text-link-primary-default: #0f6cbf !default; +$mds-text-link-primary-hover: #0c5699 !default; +$mds-text-muted: #6a737b !default; +$mds-text-subtle: #495057 !default; diff --git a/public/theme/boost/scss/design-system/tokens/scss/_index.legacy.scss b/public/theme/boost/scss/design-system/tokens/scss/_index.legacy.scss new file mode 100644 index 00000000000..bfa21b876e4 --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_index.legacy.scss @@ -0,0 +1,11 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. +// Tags: [MDS_LEGACY_SCSSPHP_COMPAT] + +@import "_borders.scss"; +@import "_colors.scss"; +@import "_primitives.scss"; +@import "_shadows.scss"; +@import "_sizes.scss"; +@import "_spacing.scss"; +@import "_typography.scss"; diff --git a/public/theme/boost/scss/design-system/tokens/scss/_index.scss b/public/theme/boost/scss/design-system/tokens/scss/_index.scss new file mode 100644 index 00000000000..ecc2c828122 --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_index.scss @@ -0,0 +1,10 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. + +@forward "borders"; +@forward "colors"; +@forward "primitives"; +@forward "shadows"; +@forward "sizes"; +@forward "spacing"; +@forward "typography"; diff --git a/public/theme/boost/scss/design-system/tokens/scss/_primitives.scss b/public/theme/boost/scss/design-system/tokens/scss/_primitives.scss new file mode 100644 index 00000000000..03b459b8d1b --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_primitives.scss @@ -0,0 +1,159 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. + +$mds-color-blue-100: #cfe2f2 !default; +$mds-color-blue-200: #9fc4e5 !default; +$mds-color-blue-300: #6fa7d9 !default; +$mds-color-blue-400: #3f89cc !default; +$mds-color-blue-500: #0f6cbf !default; +$mds-color-blue-600: #0c5699 !default; +$mds-color-blue-700: #094173 !default; +$mds-color-blue-800: #062b4c !default; +$mds-color-blue-900: #031626 !default; +$mds-color-cyan-100: #cce6ea !default; +$mds-color-cyan-200: #99cdd5 !default; +$mds-color-cyan-300: #66b3c0 !default; +$mds-color-cyan-400: #339aab !default; +$mds-color-cyan-500: #008196 !default; +$mds-color-cyan-600: #006778 !default; +$mds-color-cyan-700: #004d5a !default; +$mds-color-cyan-800: #00343c !default; +$mds-color-cyan-900: #001a1e !default; +$mds-color-gray-100: #f8f9fa !default; +$mds-color-gray-200: #e9ecef !default; +$mds-color-gray-300: #dee2e6 !default; +$mds-color-gray-400: #ced4da !default; +$mds-color-gray-500: #8f959e !default; +$mds-color-gray-600: #6a737b !default; +$mds-color-gray-700: #495057 !default; +$mds-color-gray-800: #343a40 !default; +$mds-color-gray-900: #1d2125 !default; +$mds-color-gray-black: #000000 !default; +$mds-color-gray-white: #ffffff !default; +$mds-color-green-100: #d7e4d6 !default; +$mds-color-green-200: #aecaad !default; +$mds-color-green-300: #86af84 !default; +$mds-color-green-400: #5d955b !default; +$mds-color-green-500: #357a32 !default; +$mds-color-green-600: #2a6228 !default; +$mds-color-green-700: #20491e !default; +$mds-color-green-800: #153114 !default; +$mds-color-green-900: #0b180a !default; +$mds-color-indigo-100: #e0cffc !default; +$mds-color-indigo-200: #c29ffa !default; +$mds-color-indigo-300: #a370f7 !default; +$mds-color-indigo-400: #8540f5 !default; +$mds-color-indigo-500: #6610f2 !default; +$mds-color-indigo-600: #520dc2 !default; +$mds-color-indigo-700: #3d0a91 !default; +$mds-color-indigo-800: #290661 !default; +$mds-color-indigo-900: #140330 !default; +$mds-color-orange-100: #ffe3d1 !default; +$mds-color-orange-200: #ffc8a3 !default; +$mds-color-orange-300: #ffac74 !default; +$mds-color-orange-400: #ff9146 !default; +$mds-color-orange-500: #ff7518 !default; +$mds-color-orange-600: #cc5e13 !default; +$mds-color-orange-700: #99460e !default; +$mds-color-orange-800: #662f0a !default; +$mds-color-orange-900: #331705 !default; +$mds-color-pink-100: #f8d1e3 !default; +$mds-color-pink-200: #f1a3c7 !default; +$mds-color-pink-300: #e976ac !default; +$mds-color-pink-400: #e24890 !default; +$mds-color-pink-500: #db1a74 !default; +$mds-color-pink-600: #af155d !default; +$mds-color-pink-700: #831046 !default; +$mds-color-pink-800: #580a2e !default; +$mds-color-pink-900: #2c0517 !default; +$mds-color-purple-100: #dfd8e5 !default; +$mds-color-purple-200: #c0b1cb !default; +$mds-color-purple-300: #a08bb0 !default; +$mds-color-purple-400: #816496 !default; +$mds-color-purple-500: #613d7c !default; +$mds-color-purple-600: #4e3163 !default; +$mds-color-purple-700: #3a254a !default; +$mds-color-purple-800: #271832 !default; +$mds-color-purple-900: #130c19 !default; +$mds-color-red-100: #f4d6d2 !default; +$mds-color-red-200: #eaada6 !default; +$mds-color-red-300: #df8379 !default; +$mds-color-red-400: #d55a4d !default; +$mds-color-red-500: #ca3120 !default; +$mds-color-red-600: #a2271a !default; +$mds-color-red-700: #791d13 !default; +$mds-color-red-800: #51140d !default; +$mds-color-red-900: #280a06 !default; +$mds-color-teal-100: #d2f4ea !default; +$mds-color-teal-200: #a6e9d5 !default; +$mds-color-teal-300: #79dfc1 !default; +$mds-color-teal-400: #4dd4ac !default; +$mds-color-teal-500: #20c997 !default; +$mds-color-teal-600: #1aa179 !default; +$mds-color-teal-700: #13795b !default; +$mds-color-teal-800: #0d503c !default; +$mds-color-teal-900: #06281e !default; +$mds-color-yellow-100: #fcefdc !default; +$mds-color-yellow-200: #f9deb8 !default; +$mds-color-yellow-300: #f6ce95 !default; +$mds-color-yellow-400: #f3bd71 !default; +$mds-color-yellow-500: #f0ad4e !default; +$mds-color-yellow-600: #c08a3e !default; +$mds-color-yellow-700: #90682f !default; +$mds-color-yellow-800: #60451f !default; +$mds-color-yellow-900: #302310 !default; +$mds-scale-0: 0rem !default; +$mds-scale-50: 0.125rem !default; +$mds-scale-100: 0.25rem !default; +$mds-scale-200: 0.375rem !default; +$mds-scale-300: 0.5rem !default; +$mds-scale-400: 0.75rem !default; +$mds-scale-500: 0.875rem !default; +$mds-scale-600: 1rem !default; +$mds-scale-700: 1.25rem !default; +$mds-scale-800: 1.5rem !default; +$mds-scale-900: 1.75rem !default; +$mds-scale-1000: 2rem !default; +$mds-scale-1100: 2.5rem !default; +$mds-scale-1200: 3rem !default; +$mds-scale-1300: 3.5rem !default; +$mds-scale-1400: 4rem !default; +$mds-scale-1500: 4.5rem !default; +$mds-scale-1600: 5rem !default; +$mds-scale-1700: 6rem !default; +$mds-scale-1800: 50rem !default; +$mds-typography-font-family-monospace: Menlo !default; +$mds-typography-font-family-sans-serif: Roboto !default; +$mds-typography-font-size-0: 0rem !default; +$mds-typography-font-size-1: 1rem !default; +$mds-typography-font-size-2: 2rem !default; +$mds-typography-font-size-0-875: 0.875rem !default; +$mds-typography-font-size-1-25: 1.25rem !default; +$mds-typography-font-size-1-5: 1.5rem !default; +$mds-typography-font-size-1-75: 1.75rem !default; +$mds-typography-font-size-2-5: 2.5rem !default; +$mds-typography-font-weight-black: 900 !default; +$mds-typography-font-weight-bold: 700 !default; +$mds-typography-font-weight-extrabold: 800 !default; +$mds-typography-font-weight-extralight: 200 !default; +$mds-typography-font-weight-light: 300 !default; +$mds-typography-font-weight-medium: 500 !default; +$mds-typography-font-weight-regular: 400 !default; +$mds-typography-font-weight-semibold: 600 !default; +$mds-typography-font-weight-thin: 100 !default; +$mds-typography-letter-spacing-none: 0rem !default; // Default, no tracking +$mds-typography-line-height-displays-d1: 6rem !default; +$mds-typography-line-height-displays-d2: 5.4rem !default; +$mds-typography-line-height-displays-d3: 4.8rem !default; +$mds-typography-line-height-displays-d4: 4.2rem !default; +$mds-typography-line-height-displays-d5: 3.6rem !default; +$mds-typography-line-height-displays-d6: 3rem !default; +$mds-typography-line-height-headings-h1: 3rem !default; +$mds-typography-line-height-headings-h2: 2.4rem !default; +$mds-typography-line-height-headings-h3: 2.1rem !default; +$mds-typography-line-height-headings-h4: 1.8rem !default; +$mds-typography-line-height-headings-h5: 1.5rem !default; +$mds-typography-line-height-headings-h6: 1.2rem !default; +$mds-typography-line-height-paragraph-base: 1.5rem !default; +$mds-typography-line-height-paragraph-lg: 2.5rem !default; +$mds-typography-line-height-paragraph-sm: 1.0875rem !default; diff --git a/public/theme/boost/scss/design-system/tokens/scss/_shadows.scss b/public/theme/boost/scss/design-system/tokens/scss/_shadows.scss new file mode 100644 index 00000000000..695cbfd6f5f --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_shadows.scss @@ -0,0 +1,12 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. + +$mds-color-lg: rgba(0, 0, 0, 0.2) !default; +$mds-color-md: rgba(0, 0, 0, 0.2) !default; +$mds-color-sm: rgba(0, 0, 0, 0.1) !default; +$mds-blur-lg: 3rem !default; +$mds-blur-md: 1rem !default; +$mds-blur-sm: 0.25rem !default; +$mds-offset-lg: 1rem !default; +$mds-offset-md: 0.5rem !default; +$mds-offset-sm: 0.125rem !default; diff --git a/public/theme/boost/scss/design-system/tokens/scss/_sizes.scss b/public/theme/boost/scss/design-system/tokens/scss/_sizes.scss new file mode 100644 index 00000000000..8d08e21d262 --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_sizes.scss @@ -0,0 +1,10 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. + +$mds-icons-lg: 1.25rem !default; +$mds-icons-md: 1rem !default; +$mds-icons-sm: 0.75rem !default; +$mds-icons-xl: 1.5rem !default; +$mds-icons-xs: 0.5rem !default; +$mds-icons-xxl: 2rem !default; +$mds-icons-xxxl: 3rem !default; diff --git a/public/theme/boost/scss/design-system/tokens/scss/_spacing.scss b/public/theme/boost/scss/design-system/tokens/scss/_spacing.scss new file mode 100644 index 00000000000..fa6fedc1eff --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_spacing.scss @@ -0,0 +1,11 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. + +$mds-spacing-lg: 1.25rem !default; +$mds-spacing-md: 1rem !default; +$mds-spacing-none: 0rem !default; +$mds-spacing-sm: 0.75rem !default; +$mds-spacing-xl: 2rem !default; +$mds-spacing-xs: 0.5rem !default; +$mds-spacing-xxl: 3rem !default; +$mds-spacing-xxs: 0.25rem !default; diff --git a/public/theme/boost/scss/design-system/tokens/scss/_typography.scss b/public/theme/boost/scss/design-system/tokens/scss/_typography.scss new file mode 100644 index 00000000000..7800384e6fb --- /dev/null +++ b/public/theme/boost/scss/design-system/tokens/scss/_typography.scss @@ -0,0 +1,44 @@ + +// THIS FILE IS AUTO-GENERATED BY STYLE DICTIONARY — DO NOT EDIT DIRECTLY. + +$mds-font-family-base: Roboto !default; // Default typeface for all UI text. Ensures global consistency. +$mds-font-family-code: Menlo !default; // Typeface for code, preformatted text, or monospace contexts. +$mds-font-size-displays-1: 5rem !default; // Display style, largest. +$mds-font-size-displays-2: 4.5rem !default; // Display style, extra-large. +$mds-font-size-displays-3: 4rem !default; // Display style, large. +$mds-font-size-displays-4: 3.5rem !default; // Display style, medium-large. +$mds-font-size-displays-5: 3rem !default; // Display style, medium. +$mds-font-size-displays-6: 2.5rem !default; // Display style, smaller display. +$mds-font-size-headings-1: 2.5rem !default; // Font size for H1 headings. +$mds-font-size-headings-2: 2rem !default; // Font size for H2 headings. +$mds-font-size-headings-3: 1.75rem !default; // Font size for H3 headings. +$mds-font-size-headings-4: 1.5rem !default; // Font size for H4 headings. +$mds-font-size-headings-5: 1.25rem !default; // Font size for H5 headings. +$mds-font-size-headings-6: 1rem !default; // Font size for H6 headings. +$mds-font-size-paragraph-default: 1rem !default; // Base size for body text. +$mds-font-size-paragraph-lead: 1.25rem !default; // Slightly larger body text, for lead paragraphs. +$mds-font-size-paragraph-small: 0.875rem !default; // Reduced size for secondary text. +$mds-font-weight-bold: 700 !default; +$mds-font-weight-light: 300 !default; +$mds-font-weight-medium: 500 !default; +$mds-font-weight-regular: 400 !default; +$mds-font-weight-semibold: 600 !default; +$mds-letter-spacing-default: 0rem !default; // Standard tracking for all texts. +$mds-line-height-displays-1: 6rem !default; +$mds-line-height-displays-2: 5.4rem !default; +$mds-line-height-displays-3: 4.8rem !default; +$mds-line-height-displays-4: 4.2rem !default; +$mds-line-height-displays-5: 3.6rem !default; +$mds-line-height-displays-6: 3rem !default; +$mds-line-height-headings-1: 3rem !default; // Tight line height for headings. +$mds-line-height-headings-2: 2.4rem !default; // Tight line height for headings. +$mds-line-height-headings-3: 2.1rem !default; // Tight line height for headings. +$mds-line-height-headings-4: 1.8rem !default; // Tight line height for headings. +$mds-line-height-headings-5: 1.5rem !default; // Tight line height for headings. +$mds-line-height-headings-6: 1.2rem !default; // Tight line height for headings. +$mds-line-height-paragraph-default: 1.5rem !default; // Comfortable line height for paragraphs. +$mds-line-height-paragraph-lead: 2.5rem !default; // Extended line height for large body text. +$mds-line-height-paragraph-small: 1.0875rem !default; // Compact line height for small text. +$mds-margin-bottom-display: 0rem !default; // Default margin below a Displays. +$mds-margin-bottom-heading: 0.5rem !default; // Default margin below a Headings. +$mds-margin-bottom-paragraph: 1rem !default; // Default margin below a paragraph. diff --git a/public/theme/boost/scss/preset/default.scss b/public/theme/boost/scss/preset/default.scss index 3bcb694f683..9b4d28b1170 100644 --- a/public/theme/boost/scss/preset/default.scss +++ b/public/theme/boost/scss/preset/default.scss @@ -2,32 +2,36 @@ // Bootstrap variables // +// Import Moodle Design System tokens. +// Must be imported before Bootstrap so that the design system tokens can be used to override Bootstrap variables. +@import "design-system"; + // Prefix for all CSS variables $prefix: bs- !default; // Colors -$white: #fff !default; -$gray-100: #f8f9fa !default; -$gray-200: #e9ecef !default; -$gray-300: #dee2e6 !default; -$gray-400: #ced4da !default; -$gray-500: #8f959e !default; -$gray-600: #6a737b !default; -$gray-700: #495057 !default; -$gray-800: #343a40 !default; -$gray-900: #1d2125 !default; -$black: #000 !default; +$white: $mds-color-gray-white !default; +$gray-100: $mds-color-gray-100 !default; +$gray-200: $mds-color-gray-200 !default; +$gray-300: $mds-color-gray-300 !default; +$gray-400: $mds-color-gray-400 !default; +$gray-500: $mds-color-gray-500 !default; +$gray-600: $mds-color-gray-600 !default; +$gray-700: $mds-color-gray-700 !default; +$gray-800: $mds-color-gray-800 !default; +$gray-900: $mds-color-gray-900 !default; +$black: $mds-color-gray-black !default; -$blue: #0f6cbf !default; -$indigo: #6610f2 !default; -$purple: #613d7c !default; -$pink: #db1a74 !default; -$red: #ca3120 !default; -$orange: #ff7518 !default; -$yellow: #f0ad4e !default; -$green: #357a32 !default; -$teal: #20c997 !default; -$cyan: #008196 !default; +$blue: $mds-color-blue-500 !default; +$indigo: $mds-color-indigo-500 !default; +$purple: $mds-color-purple-500 !default; +$pink: $mds-color-pink-500 !default; +$red: $mds-color-red-500 !default; +$orange: $mds-color-orange-500 !default; +$yellow: $mds-color-yellow-500 !default; +$green: $mds-color-green-500 !default; +$teal: $mds-color-teal-500 !default; +$cyan: $mds-color-cyan-500 !default; $primary: $blue !default; $secondary: $gray-400 !default; diff --git a/public/theme/boost/style/moodle.css b/public/theme/boost/style/moodle.css index ed7f2924b76..adea61249fa 100644 --- a/public/theme/boost/style/moodle.css +++ b/public/theme/boost/style/moodle.css @@ -13302,8 +13302,8 @@ readers do not read off random characters that represent icons */ --bs-green: #357a32; --bs-teal: #20c997; --bs-cyan: #008196; - --bs-black: #000; - --bs-white: #fff; + --bs-black: #000000; + --bs-white: #ffffff; --bs-gray: #6a737b; --bs-gray-dark: #343a40; --bs-gray-100: #f8f9fa; @@ -13366,9 +13366,9 @@ readers do not read off random characters that represent icons */ --bs-body-line-height: 1.5; --bs-body-color: #1d2125; --bs-body-color-rgb: 29, 33, 37; - --bs-body-bg: #fff; + --bs-body-bg: #ffffff; --bs-body-bg-rgb: 255, 255, 255; - --bs-emphasis-color: #000; + --bs-emphasis-color: #000000; --bs-emphasis-color-rgb: 0, 0, 0; --bs-secondary-color: rgba(29, 33, 37, 0.75); --bs-secondary-color-rgb: 29, 33, 37; @@ -13418,7 +13418,7 @@ readers do not read off random characters that represent icons */ --bs-body-color-rgb: 222, 226, 230; --bs-body-bg: #1d2125; --bs-body-bg-rgb: 29, 33, 37; - --bs-emphasis-color: #fff; + --bs-emphasis-color: #ffffff; --bs-emphasis-color-rgb: 255, 255, 255; --bs-secondary-color: rgba(222, 226, 230, 0.75); --bs-secondary-color-rgb: 222, 226, 230; @@ -15267,113 +15267,113 @@ progress { } .table-primary { - --bs-table-color: #000; + --bs-table-color: #000000; --bs-table-bg: #cfe2f2; --bs-table-border-color: #a6b5c2; --bs-table-striped-bg: #c9dbeb; - --bs-table-striped-color: #000; + --bs-table-striped-color: #000000; --bs-table-active-bg: #bacbda; - --bs-table-active-color: #000; + --bs-table-active-color: #000000; --bs-table-hover-bg: #bfd1e0; - --bs-table-hover-color: #000; + --bs-table-hover-color: #000000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); } .table-secondary { - --bs-table-color: #000; + --bs-table-color: #000000; --bs-table-bg: #f5f6f8; --bs-table-border-color: #c4c5c6; --bs-table-striped-bg: #eeeff1; - --bs-table-striped-color: #000; + --bs-table-striped-color: #000000; --bs-table-active-bg: #dddddf; - --bs-table-active-color: #000; + --bs-table-active-color: #000000; --bs-table-hover-bg: #e3e4e5; - --bs-table-hover-color: #000; + --bs-table-hover-color: #000000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); } .table-success { - --bs-table-color: #000; + --bs-table-color: #000000; --bs-table-bg: #d7e4d6; --bs-table-border-color: #acb6ab; --bs-table-striped-bg: #d1ddd0; - --bs-table-striped-color: #000; + --bs-table-striped-color: #000000; --bs-table-active-bg: #c2cdc1; - --bs-table-active-color: #000; + --bs-table-active-color: #000000; --bs-table-hover-bg: #c7d3c6; - --bs-table-hover-color: #000; + --bs-table-hover-color: #000000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); } .table-info { - --bs-table-color: #000; + --bs-table-color: #000000; --bs-table-bg: #cce6ea; --bs-table-border-color: #a3b8bb; --bs-table-striped-bg: #c6dfe3; - --bs-table-striped-color: #000; + --bs-table-striped-color: #000000; --bs-table-active-bg: #b8cfd3; - --bs-table-active-color: #000; + --bs-table-active-color: #000000; --bs-table-hover-bg: #bdd5d8; - --bs-table-hover-color: #000; + --bs-table-hover-color: #000000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); } .table-warning { - --bs-table-color: #000; + --bs-table-color: #000000; --bs-table-bg: #fcefdc; --bs-table-border-color: #cabfb0; --bs-table-striped-bg: #f4e8d5; - --bs-table-striped-color: #000; + --bs-table-striped-color: #000000; --bs-table-active-bg: #e3d7c6; - --bs-table-active-color: #000; + --bs-table-active-color: #000000; --bs-table-hover-bg: #e9ddcc; - --bs-table-hover-color: #000; + --bs-table-hover-color: #000000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); } .table-danger { - --bs-table-color: #000; + --bs-table-color: #000000; --bs-table-bg: #f4d6d2; --bs-table-border-color: #c3aba8; --bs-table-striped-bg: #edd0cc; - --bs-table-striped-color: #000; + --bs-table-striped-color: #000000; --bs-table-active-bg: #dcc1bd; - --bs-table-active-color: #000; + --bs-table-active-color: #000000; --bs-table-hover-bg: #e2c6c2; - --bs-table-hover-color: #000; + --bs-table-hover-color: #000000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); } .table-light { - --bs-table-color: #000; + --bs-table-color: #000000; --bs-table-bg: #f8f9fa; --bs-table-border-color: #c6c7c8; --bs-table-striped-bg: #f1f2f3; - --bs-table-striped-color: #000; + --bs-table-striped-color: #000000; --bs-table-active-bg: #dfe0e1; - --bs-table-active-color: #000; + --bs-table-active-color: #000000; --bs-table-hover-bg: #e5e6e7; - --bs-table-hover-color: #000; + --bs-table-hover-color: #000000; color: var(--bs-table-color); border-color: var(--bs-table-border-color); } .table-dark { - --bs-table-color: #fff; + --bs-table-color: #ffffff; --bs-table-bg: #1d2125; --bs-table-border-color: #4a4d51; --bs-table-striped-bg: #24282c; - --bs-table-striped-color: #fff; + --bs-table-striped-color: #ffffff; --bs-table-active-bg: #34373b; - --bs-table-active-color: #fff; + --bs-table-active-color: #ffffff; --bs-table-hover-bg: #2e3235; - --bs-table-hover-color: #fff; + --bs-table-hover-color: #ffffff; color: var(--bs-table-color); border-color: var(--bs-table-border-color); } @@ -15710,15 +15710,15 @@ textarea.form-control-lg { border-color: #0f6cbf; } .form-check-input:checked[type=checkbox] { - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); } .form-check-input:checked[type=radio] { - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23ffffff'/%3e%3c/svg%3e"); } .form-check-input[type=checkbox]:indeterminate { background-color: #0f6cbf; border-color: #0f6cbf; - --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); + --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); } .form-check-input:disabled { pointer-events: none; @@ -15752,7 +15752,7 @@ textarea.form-control-lg { } .form-switch .form-check-input:checked { background-position: right center; - --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); + --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e"); } .form-switch.form-check-reverse { padding-right: 2.5em; @@ -15794,10 +15794,10 @@ textarea.form-control-lg { outline: 0; } .form-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); } .form-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); } .form-range::-moz-focus-outer { border: 0; @@ -16305,137 +16305,137 @@ textarea.form-control-lg { } .btn-primary { - --bs-btn-color: #fff; + --bs-btn-color: #ffffff; --bs-btn-bg: #0f6cbf; --bs-btn-border-color: #0f6cbf; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #0d5ca2; --bs-btn-hover-border-color: #0c5699; --bs-btn-focus-shadow-rgb: 51, 130, 201; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #0c5699; --bs-btn-active-border-color: #0b518f; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; + --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #0f6cbf; --bs-btn-disabled-border-color: #0f6cbf; } .btn-secondary { - --bs-btn-color: #000; + --bs-btn-color: #000000; --bs-btn-bg: #ced4da; --bs-btn-border-color: #ced4da; - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: #d5dae0; --bs-btn-hover-border-color: #d3d8de; --bs-btn-focus-shadow-rgb: 175, 180, 185; - --bs-btn-active-color: #000; + --bs-btn-active-color: #000000; --bs-btn-active-bg: #d8dde1; --bs-btn-active-border-color: #d3d8de; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; + --bs-btn-disabled-color: #000000; --bs-btn-disabled-bg: #ced4da; --bs-btn-disabled-border-color: #ced4da; } .btn-success { - --bs-btn-color: #fff; + --bs-btn-color: #ffffff; --bs-btn-bg: #357a32; --bs-btn-border-color: #357a32; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #2d682b; --bs-btn-hover-border-color: #2a6228; --bs-btn-focus-shadow-rgb: 83, 142, 81; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #2a6228; --bs-btn-active-border-color: #285c26; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; + --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #357a32; --bs-btn-disabled-border-color: #357a32; } .btn-info { - --bs-btn-color: #fff; + --bs-btn-color: #ffffff; --bs-btn-bg: #008196; --bs-btn-border-color: #008196; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #006e80; --bs-btn-hover-border-color: #006778; --bs-btn-focus-shadow-rgb: 38, 148, 166; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #006778; --bs-btn-active-border-color: #006171; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; + --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #008196; --bs-btn-disabled-border-color: #008196; } .btn-warning { - --bs-btn-color: #000; + --bs-btn-color: #000000; --bs-btn-bg: #f0ad4e; --bs-btn-border-color: #f0ad4e; - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: #f2b969; --bs-btn-hover-border-color: #f2b560; --bs-btn-focus-shadow-rgb: 204, 147, 66; - --bs-btn-active-color: #000; + --bs-btn-active-color: #000000; --bs-btn-active-bg: #f3bd71; --bs-btn-active-border-color: #f2b560; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; + --bs-btn-disabled-color: #000000; --bs-btn-disabled-bg: #f0ad4e; --bs-btn-disabled-border-color: #f0ad4e; } .btn-danger { - --bs-btn-color: #fff; + --bs-btn-color: #ffffff; --bs-btn-bg: #ca3120; --bs-btn-border-color: #ca3120; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #ac2a1b; --bs-btn-hover-border-color: #a2271a; --bs-btn-focus-shadow-rgb: 210, 80, 65; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #a2271a; --bs-btn-active-border-color: #982518; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; + --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #ca3120; --bs-btn-disabled-border-color: #ca3120; } .btn-light { - --bs-btn-color: #000; + --bs-btn-color: #000000; --bs-btn-bg: #f8f9fa; --bs-btn-border-color: #f8f9fa; - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: #d3d4d5; --bs-btn-hover-border-color: #c6c7c8; --bs-btn-focus-shadow-rgb: 211, 212, 213; - --bs-btn-active-color: #000; + --bs-btn-active-color: #000000; --bs-btn-active-bg: #c6c7c8; --bs-btn-active-border-color: #babbbc; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #000; + --bs-btn-disabled-color: #000000; --bs-btn-disabled-bg: #f8f9fa; --bs-btn-disabled-border-color: #f8f9fa; } .btn-dark { - --bs-btn-color: #fff; + --bs-btn-color: #ffffff; --bs-btn-bg: #1d2125; --bs-btn-border-color: #1d2125; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #3f4246; --bs-btn-hover-border-color: #34373b; --bs-btn-focus-shadow-rgb: 63, 66, 70; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #4a4d51; --bs-btn-active-border-color: #34373b; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; + --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #1d2125; --bs-btn-disabled-border-color: #1d2125; } @@ -16443,11 +16443,11 @@ textarea.form-control-lg { .btn-outline-primary { --bs-btn-color: #0f6cbf; --bs-btn-border-color: #0f6cbf; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #0f6cbf; --bs-btn-hover-border-color: #0f6cbf; --bs-btn-focus-shadow-rgb: 15, 108, 191; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #0f6cbf; --bs-btn-active-border-color: #0f6cbf; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -16460,11 +16460,11 @@ textarea.form-control-lg { .btn-outline-secondary { --bs-btn-color: #ced4da; --bs-btn-border-color: #ced4da; - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: #ced4da; --bs-btn-hover-border-color: #ced4da; --bs-btn-focus-shadow-rgb: 206, 212, 218; - --bs-btn-active-color: #000; + --bs-btn-active-color: #000000; --bs-btn-active-bg: #ced4da; --bs-btn-active-border-color: #ced4da; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -16477,11 +16477,11 @@ textarea.form-control-lg { .btn-outline-success { --bs-btn-color: #357a32; --bs-btn-border-color: #357a32; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #357a32; --bs-btn-hover-border-color: #357a32; --bs-btn-focus-shadow-rgb: 53, 122, 50; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #357a32; --bs-btn-active-border-color: #357a32; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -16494,11 +16494,11 @@ textarea.form-control-lg { .btn-outline-info { --bs-btn-color: #008196; --bs-btn-border-color: #008196; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #008196; --bs-btn-hover-border-color: #008196; --bs-btn-focus-shadow-rgb: 0, 129, 150; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #008196; --bs-btn-active-border-color: #008196; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -16511,11 +16511,11 @@ textarea.form-control-lg { .btn-outline-warning { --bs-btn-color: #f0ad4e; --bs-btn-border-color: #f0ad4e; - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: #f0ad4e; --bs-btn-hover-border-color: #f0ad4e; --bs-btn-focus-shadow-rgb: 240, 173, 78; - --bs-btn-active-color: #000; + --bs-btn-active-color: #000000; --bs-btn-active-bg: #f0ad4e; --bs-btn-active-border-color: #f0ad4e; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -16528,11 +16528,11 @@ textarea.form-control-lg { .btn-outline-danger { --bs-btn-color: #ca3120; --bs-btn-border-color: #ca3120; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #ca3120; --bs-btn-hover-border-color: #ca3120; --bs-btn-focus-shadow-rgb: 202, 49, 32; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #ca3120; --bs-btn-active-border-color: #ca3120; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -16545,11 +16545,11 @@ textarea.form-control-lg { .btn-outline-light { --bs-btn-color: #f8f9fa; --bs-btn-border-color: #f8f9fa; - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: #f8f9fa; --bs-btn-hover-border-color: #f8f9fa; --bs-btn-focus-shadow-rgb: 248, 249, 250; - --bs-btn-active-color: #000; + --bs-btn-active-color: #000000; --bs-btn-active-bg: #f8f9fa; --bs-btn-active-border-color: #f8f9fa; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -16562,11 +16562,11 @@ textarea.form-control-lg { .btn-outline-dark { --bs-btn-color: #1d2125; --bs-btn-border-color: #1d2125; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #1d2125; --bs-btn-hover-border-color: #1d2125; --bs-btn-focus-shadow-rgb: 29, 33, 37; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #1d2125; --bs-btn-active-border-color: #1d2125; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -16695,9 +16695,9 @@ textarea.form-control-lg { --bs-dropdown-divider-margin-y: 0.5rem; --bs-dropdown-box-shadow: var(--bs-box-shadow); --bs-dropdown-link-color: var(--bs-body-color); - --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-link-hover-color: #ffffff; --bs-dropdown-link-hover-bg: #0f6cbf; - --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-color: #ffffff; --bs-dropdown-link-active-bg: #0f6cbf; --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); --bs-dropdown-item-padding-x: 1rem; @@ -16960,10 +16960,10 @@ textarea.form-control-lg { --bs-dropdown-border-color: var(--bs-border-color-translucent); --bs-dropdown-box-shadow: ; --bs-dropdown-link-color: #dee2e6; - --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-link-hover-color: #ffffff; --bs-dropdown-divider-bg: var(--bs-border-color-translucent); --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); - --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-color: #ffffff; --bs-dropdown-link-active-bg: #0f6cbf; --bs-dropdown-link-disabled-color: #8f959e; --bs-dropdown-header-color: #8f959e; @@ -17146,7 +17146,7 @@ textarea.form-control-lg { .nav-pills { --bs-nav-pills-border-radius: var(--bs-border-radius); - --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-color: #ffffff; --bs-nav-pills-link-active-bg: #0f6cbf; } .nav-pills .nav-link { @@ -17620,9 +17620,9 @@ textarea.form-control-lg { --bs-navbar-color: rgba(255, 255, 255, 0.55); --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); - --bs-navbar-active-color: #fff; - --bs-navbar-brand-color: #fff; - --bs-navbar-brand-hover-color: #fff; + --bs-navbar-active-color: #ffffff; + --bs-navbar-brand-color: #ffffff; + --bs-navbar-brand-hover-color: #ffffff; --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } @@ -18006,7 +18006,7 @@ textarea.form-control-lg { --bs-pagination-focus-color: var(--bs-link-hover-color); --bs-pagination-focus-bg: var(--bs-secondary-bg); --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(15, 108, 191, 0.75); - --bs-pagination-active-color: #fff; + --bs-pagination-active-color: #ffffff; --bs-pagination-active-bg: #0f6cbf; --bs-pagination-active-border-color: #0f6cbf; --bs-pagination-disabled-color: var(--bs-secondary-color); @@ -18090,7 +18090,7 @@ textarea.form-control-lg { --bs-badge-padding-y: 0.35em; --bs-badge-font-size: 0.75em; --bs-badge-font-weight: 700; - --bs-badge-color: #fff; + --bs-badge-color: #ffffff; --bs-badge-border-radius: var(--bs-border-radius); display: inline-block; padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); @@ -18219,7 +18219,7 @@ textarea.form-control-lg { --bs-progress-bg: var(--bs-secondary-bg); --bs-progress-border-radius: var(--bs-border-radius); --bs-progress-box-shadow: var(--bs-box-shadow-inset); - --bs-progress-bar-color: #fff; + --bs-progress-bar-color: #ffffff; --bs-progress-bar-bg: #0f6cbf; --bs-progress-bar-transition: width 0.6s ease; display: flex; @@ -18284,7 +18284,7 @@ textarea.form-control-lg { --bs-list-group-action-active-bg: var(--bs-secondary-bg); --bs-list-group-disabled-color: var(--bs-secondary-color); --bs-list-group-disabled-bg: var(--bs-body-bg); - --bs-list-group-active-color: #fff; + --bs-list-group-active-color: #ffffff; --bs-list-group-active-bg: #0f6cbf; --bs-list-group-active-border-color: #0f6cbf; display: flex; @@ -18612,8 +18612,8 @@ textarea.form-control-lg { } .btn-close { - --bs-btn-close-color: #000; - --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); + --bs-btn-close-color: #000000; + --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); --bs-btn-close-opacity: 0.5; --bs-btn-close-hover-opacity: 0.75; --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(15, 108, 191, 0.75); @@ -18810,7 +18810,7 @@ textarea.form-control-lg { .modal-backdrop { --bs-backdrop-zindex: 1050; - --bs-backdrop-bg: #000; + --bs-backdrop-bg: #000000; --bs-backdrop-opacity: 0.5; position: fixed; top: 0; @@ -19355,7 +19355,7 @@ textarea.form-control-lg { justify-content: center; width: 15%; padding: 0; - color: #fff; + color: #ffffff; text-align: center; background: none; border: 0; @@ -19371,7 +19371,7 @@ textarea.form-control-lg { .carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus { - color: #fff; + color: #ffffff; text-decoration: none; outline: 0; opacity: 0.9; @@ -19396,11 +19396,11 @@ textarea.form-control-lg { } .carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/; } .carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/; } .carousel-indicators { @@ -19426,7 +19426,7 @@ textarea.form-control-lg { margin-left: 3px; text-indent: -999px; cursor: pointer; - background-color: #fff; + background-color: #ffffff; background-clip: padding-box; border: 0; border-top: 10px solid transparent; @@ -19450,7 +19450,7 @@ textarea.form-control-lg { left: 15%; padding-top: 1.25rem; padding-bottom: 1.25rem; - color: #fff; + color: #ffffff; text-align: center; } @@ -19459,10 +19459,10 @@ textarea.form-control-lg { filter: invert(1) grayscale(100); } .carousel-dark .carousel-indicators [data-bs-target] { - background-color: #000; + background-color: #000000; } .carousel-dark .carousel-caption { - color: #000; + color: #000000; } [data-bs-theme=dark] .carousel .carousel-control-prev-icon, @@ -19471,10 +19471,10 @@ textarea.form-control-lg { filter: invert(1) grayscale(100); } [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] { - background-color: #000; + background-color: #000000; } [data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption { - color: #000; + color: #000000; } .spinner-grow, @@ -20058,7 +20058,7 @@ textarea.form-control-lg { z-index: 1040; width: 100vw; height: 100vh; - background-color: #000; + background-color: #000000; } .offcanvas-backdrop.fade { opacity: 0; @@ -20123,7 +20123,7 @@ textarea.form-control-lg { } } .placeholder-wave { - mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-image: linear-gradient(130deg, #000000 55%, rgba(0, 0, 0, 0.8) 75%, #000000 95%); mask-size: 200% 100%; animation: placeholder-wave 2s linear infinite; } @@ -20140,42 +20140,42 @@ textarea.form-control-lg { } .text-bg-primary { - color: #fff !important; + color: #ffffff !important; background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important; } .text-bg-secondary { - color: #000 !important; + color: #000000 !important; background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important; } .text-bg-success { - color: #fff !important; + color: #ffffff !important; background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important; } .text-bg-info { - color: #fff !important; + color: #ffffff !important; background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important; } .text-bg-warning { - color: #000 !important; + color: #000000 !important; background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important; } .text-bg-danger { - color: #fff !important; + color: #ffffff !important; background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important; } .text-bg-light { - color: #000 !important; + color: #000000 !important; background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important; } .text-bg-dark { - color: #fff !important; + color: #ffffff !important; background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important; } @@ -25595,7 +25595,7 @@ textarea.form-control-lg { /* core.less */ #region-main { overflow-y: visible; - background-color: #fff; + background-color: #ffffff; } @media (min-width: 576px) { @@ -25902,7 +25902,7 @@ body:not(.jsenabled) .visibleifjs { background-color: #ffee69; border: 1px solid #a6982b; border-top-color: #d4c237; - color: #000; + color: #000000; left: 0; padding: 2px 5px; position: relative; @@ -26489,7 +26489,7 @@ tr.flagged-tag a { */ #webservice-doc-generator td { text-align: left; - border: 0 solid #000; + border: 0 solid #000000; } /** @@ -26686,7 +26686,7 @@ audio.mediaplugin_html5audio { } .moodle-dialogue-base .moodle-dialogue-wrap { - background-color: #fff; + background-color: #ffffff; border: 1px solid #ccc; } @@ -26746,7 +26746,7 @@ audio.mediaplugin_html5audio { padding: 0.5rem; } .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd body { - background-color: #fff; + background-color: #ffffff; } .moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content { @@ -26772,7 +26772,7 @@ audio.mediaplugin_html5audio { .moodle-dialogue-exception .param-stacktrace pre { border: 1px solid #ccc; - background-color: #fff; + background-color: #ffffff; } .moodle-dialogue-exception .param-stacktrace .stacktrace-file { @@ -26854,7 +26854,7 @@ audio.mediaplugin_html5audio { height: 100%; top: 0; left: 0; - background-color: #fff; + background-color: #ffffff; text-align: center; padding: 10% 0; } @@ -26965,7 +26965,7 @@ audio.mediaplugin_html5audio { display: block; margin: 0; padding: 0.5rem 0; - border-bottom: 1px solid #fff; + border-bottom: 1px solid #ffffff; } .choosercontainer #chooseform .option .icon { @@ -26999,7 +26999,7 @@ audio.mediaplugin_html5audio { left: 240px; margin: 0; padding: 1.6em; - background-color: #fff; + background-color: #ffffff; overflow-x: hidden; overflow-y: auto; line-height: 2em; @@ -27012,7 +27012,7 @@ audio.mediaplugin_html5audio { } .choosercontainer #chooseform .selected { - background-color: #fff; + background-color: #ffffff; margin-top: -1px; padding-top: 1px; } @@ -27044,7 +27044,7 @@ audio.mediaplugin_html5audio { position: relative; margin: 15px 0; padding: 1px 19px 14px; - background-color: #fff; + background-color: #ffffff; border: 1px solid #ddd; border-radius: 4px; } @@ -27518,7 +27518,7 @@ dd:after { left: 50%; top: calc(-50% - 5px); transform: translate(-50%, -50%); - background-color: #fff; + background-color: #ffffff; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0.3rem; box-sizing: border-box; @@ -27542,7 +27542,7 @@ dd:after { display: inline-block; border-left: 7px solid transparent; border-right: 7px solid transparent; - border-top: 7px solid #fff; + border-top: 7px solid #ffffff; position: absolute; bottom: -6px; left: calc(50% - 7px); @@ -27570,13 +27570,13 @@ dd:after { } .footer-dark a { - color: #fff; + color: #ffffff; text-decoration: underline; padding-top: 0.25rem; padding-bottom: 0.25rem; } .footer-dark a .icon { - color: #fff; + color: #ffffff; } .footer-dark a:focus .icon { color: #1d2125; @@ -27641,11 +27641,11 @@ dd:after { } } .bg-inverse a { - color: #fff; + color: #ffffff; text-decoration: underline; } .bg-inverse a .icon { - color: #fff; + color: #ffffff; } .sitelink img { @@ -27659,7 +27659,7 @@ dd:after { .visually-hidden-focusable:active, .visually-hidden-focusable:focus { z-index: 1031; position: fixed; - background: #fff; + background: #ffffff; padding: 7px; left: 0; top: 0; @@ -28061,7 +28061,7 @@ input[disabled] { } .nav-tabs:not(.more-nav), .nav-pills { - --bs-nav-tabs-link-active-color: #fff; + --bs-nav-tabs-link-active-color: #ffffff; --bs-nav-tabs-link-active-bg: #0f6cbf; margin: 0; border: 0; @@ -28125,11 +28125,11 @@ input[disabled] { } .visual-scroll-x::-webkit-scrollbar-thumb { background-color: #0f6cbf; - border-right: 1px solid #fff; + border-right: 1px solid #ffffff; } .visual-scroll-x::-webkit-scrollbar-track { background-color: #a2cff8; - border-right: 1px solid #fff; + border-right: 1px solid #ffffff; } body.dragging .drop-zone { @@ -28188,7 +28188,7 @@ body.dragging .dragging { box-shadow: 0 0 0 0.25rem rgba(15, 108, 191, 0.75); z-index: 1070; position: relative; - background: #fff; + background: #ffffff; padding: 7px; } @@ -28215,7 +28215,7 @@ body.dragging .dragging { width: 100%; max-width: 600px; background-color: #0f6cbf; - color: #fff; + color: #ffffff; text-align: center; font-size: 1.25rem; border-radius: 0.5rem; @@ -28381,7 +28381,7 @@ blockquote { .pagelayout-maintenance .page-header-headings, .pagelayout-secure .page-header-headings { - background-color: #fff; + background-color: #ffffff; } /* Prevent long strings exceeding page width */ @@ -28540,7 +28540,7 @@ body.behat-site .action-menu .dropdown-subpanel-content.show { color: #1d2125; } .dropdown-item.active a, .dropdown-item:active a, .dropdown-item:hover a, .dropdown-item:focus a, .dropdown-item:focus-within a { - color: #fff; + color: #ffffff; } .dropdown-item[aria-current=true], .dropdown-item[aria-selected=true] { position: relative; @@ -28748,13 +28748,13 @@ img.icon { text-align: center; max-width: unset; max-height: unset; - color: #000; + color: #000000; } .icon-circle.reversed { background-color: #b7c0c8; } .icon-circle.reversed .icon { - color: #fff; + color: #ffffff; } /* @@ -29514,7 +29514,7 @@ img.icon { .region_main_settings_menu_proxy { width: 4rem; height: 2rem; - background-color: #fff; + background-color: #ffffff; margin-left: 0.5rem; margin-bottom: 0.5rem; border-bottom-left-radius: 0.5rem; @@ -29572,7 +29572,7 @@ img.icon { } .block .block-cards .course-summaryitem { border: 1px solid #dee2e6; - background-color: #fff; + background-color: #ffffff; } .block .block-cards .icon { margin-right: 0; @@ -29991,7 +29991,7 @@ aside[id^=block-region-side-] .block_recentlyaccesseditems .card:nth-of-type(n+4 } .maincalendar .calendarmonth td.today .day-number-circle { border-radius: 50%; - color: #fff; + color: #ffffff; background-color: #0f6cbf; } .maincalendar .calendarmonth .clickable:hover { @@ -30401,7 +30401,7 @@ table.calendartable caption { font-size: 26px; text-align: center; opacity: 0.9; - text-shadow: 0 0 10px #fff; + text-shadow: 0 0 10px #ffffff; } .content-bank-container.view-grid .cb-heading, .content-bank-container.view-grid .cb-uses, @@ -30883,7 +30883,7 @@ body:not(.editing) .activity-item { visibility: hidden; transition: visibility 0.1s; position: absolute; - background: linear-gradient(transparent 40%, #fff 40%, #fff 60%, transparent 60%); + background: linear-gradient(transparent 40%, #ffffff 40%, #ffffff 60%, transparent 60%); } .section.hidden .course-content .divider .divider-content { background: linear-gradient(transparent 40%, #f8f9fa 40%, #f8f9fa 60%, transparent 60%); @@ -30932,7 +30932,7 @@ body:not(.editing) .activity-item { background-color: #cfe2f2; } .course-content .divider .btn.add-content:hover, .course-content .divider .btn.add-content:focus { - color: #fff; + color: #ffffff; background-color: #0f6cbf; } .course-content .divider .btn.add-content .icon { @@ -31040,7 +31040,7 @@ body:not(.editing) .single-section > ul > .course-section .section-item .activit /* Default activity completion page */ .defaultactivitycompletion-item a { - color: #000; + color: #000000; text-decoration: none; } .defaultactivitycompletion-item .activityicon { @@ -31423,7 +31423,7 @@ body:not(.editing) [id^=module-]:target, body.editing [id^=module-]:target .acti display: none; } #course-category-listings .listitem.highlight { - background-color: #fff; + background-color: #ffffff; } #course-category-listings .listitem.highlight > div, #course-category-listings .listitem.highlight > div:hover, #course-category-listings .listitem.highlight[data-selected="1"] > div { @@ -31479,18 +31479,18 @@ body:not(.editing) [id^=module-]:target, body.editing [id^=module-]:target .acti text-align: center; } #course-category-listings .listing-pagination .yui3-button { - --bs-btn-color: #fff; + --bs-btn-color: #ffffff; --bs-btn-bg: #008196; --bs-btn-border-color: #008196; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #006e80; --bs-btn-hover-border-color: #006778; --bs-btn-focus-shadow-rgb: 38, 148, 166; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #006778; --bs-btn-active-border-color: #006171; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; + --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #008196; --bs-btn-disabled-border-color: #008196; border: 0; @@ -31498,18 +31498,18 @@ body:not(.editing) [id^=module-]:target, body.editing [id^=module-]:target .acti font-size: 10.4px; } #course-category-listings .listing-pagination .yui3-button.active-page { - --bs-btn-color: #fff; + --bs-btn-color: #ffffff; --bs-btn-bg: #0f6cbf; --bs-btn-border-color: #0f6cbf; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #0d5ca2; --bs-btn-hover-border-color: #0c5699; --bs-btn-focus-shadow-rgb: 51, 130, 201; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #0c5699; --bs-btn-active-border-color: #0b518f; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - --bs-btn-disabled-color: #fff; + --bs-btn-disabled-color: #ffffff; --bs-btn-disabled-bg: #0f6cbf; --bs-btn-disabled-border-color: #0f6cbf; } @@ -31557,7 +31557,7 @@ body:not(.editing) [id^=module-]:target, body.editing [id^=module-]:target .acti */ @media (min-width: 1200px) and (max-width: 1600px) { #course-category-listings.columns-3 { - background-color: #fff; + background-color: #ffffff; border: 0; } #course-category-listings.columns-3 #category-listing, @@ -31567,7 +31567,7 @@ body:not(.editing) [id^=module-]:target, body.editing [id^=module-]:target .acti #course-category-listings.columns-3 #category-listing > div, #course-category-listings.columns-3 #course-listing > div, #course-category-listings.columns-3 #course-detail > div { - background-color: #fff; + background-color: #ffffff; } #course-category-listings.columns-3 #course-detail { width: 100%; @@ -31936,7 +31936,7 @@ body:not(.editing) [id^=module-]:target, body.editing [id^=module-]:target .acti .modchoosernav { overflow-x: auto; white-space: nowrap; - background-color: #fff !important; /* stylelint-disable-line declaration-no-important */ + background-color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .modchoosernav .nav-link { border: 1px solid #dee2e6 !important; /* stylelint-disable-line declaration-no-important */ @@ -31985,7 +31985,7 @@ body:not(.editing) [id^=module-]:target, body.editing [id^=module-]:target .acti overflow-x: hidden; overflow-y: auto; width: 100%; - background-color: #fff; + background-color: #ffffff; } .modchooser .optionsummary .activitychooser-option-details { min-width: 15rem; @@ -32501,7 +32501,7 @@ body.drawer-ease { } .fp-panel-button { - background: #fff; + background: #ffffff; padding: 3px 20px 2px 20px; text-align: center; margin: 10px; @@ -32527,7 +32527,7 @@ body.drawer-ease { .file-picker .fp-content { border-top: 0; - background: #fff; + background: #ffffff; clear: none; overflow: auto; height: 452px; @@ -32601,7 +32601,7 @@ body.drawer-ease { .fp-viewbar:not(.disabled) a.checked { background-color: #b1bbc4; - color: #000; + color: #000000; border-color: #aab4bf; } @@ -32646,7 +32646,7 @@ body.drawer-ease { min-height: 110px; line-height: 110px; text-align: center; - border: 1px solid #fff; + border: 1px solid #ffffff; display: block; } @@ -32657,7 +32657,7 @@ body.drawer-ease { } .fp-iconview .fp-thumbnail:hover { - background: #fff; + background: #ffffff; border: 1px solid #ddd; } @@ -32682,7 +32682,7 @@ body.drawer-ease { } .fp-iconview .fp-filename-field .fp-filename { - background: #fff; + background: #ffffff; padding-top: 5px; padding-bottom: 12px; min-width: 112px; @@ -32962,7 +32962,7 @@ a.ygtvspacer:hover { line-height: 110px; text-align: center; margin: 10px 20px 0 0; - background: #fff; + background: #ffffff; border: 1px solid #ddd; } @@ -33165,9 +33165,9 @@ a.ygtvspacer:hover { /*rtl:raw: text-align: right; */ - background: #fff !important; + background: #ffffff !important; border-bottom: 1px solid #ccc !important; - border-left: 0 solid #fff !important; + border-left: 0 solid #ffffff !important; color: #555 !important; } .filemanager .yui3-datatable-odd .yui3-datatable-cell { @@ -33175,8 +33175,8 @@ a.ygtvspacer:hover { border-left: 0 solid #f6f6f6; } .filemanager .yui3-datatable-even .yui3-datatable-cell { - background-color: #fff !important; - border-left: 0 solid #fff; + background-color: #ffffff !important; + border-left: 0 solid #ffffff; } /* stylelint-enable */ @@ -33243,7 +33243,7 @@ a.ygtvspacer:hover { .filepicker-filelist .dndupload-target, .filemanager-container .dndupload-target { - background: #fff; + background: #ffffff; position: absolute; top: 10px; bottom: 10px; @@ -33256,7 +33256,7 @@ a.ygtvspacer:hover { .filepicker-filelist.dndupload-over .dndupload-target, .filemanager-container.dndupload-over .dndupload-target { - background: #fff; + background: #ffffff; position: absolute; top: 10px; bottom: 10px; @@ -33899,7 +33899,7 @@ a.ygtvspacer:hover { border-right: 0; } .message-app .list-group .list-group-item:hover { - color: #fff; + color: #ffffff; background-color: #0f6cbf; } .message-app .list-group .list-group-item:first-child { @@ -33921,7 +33921,7 @@ a.ygtvspacer:hover { } .message-app .message.send { background-color: #dee2e6; - color: #000; + color: #000000; } .message-app .message.send .time { color: black; @@ -33932,8 +33932,8 @@ a.ygtvspacer:hover { border-bottom-color: #dee2e6; } .message-app .message.received { - background-color: #fff; - color: #000; + background-color: #ffffff; + color: #000000; } .message-app .message.received .time { color: #4d4d4d; @@ -33941,7 +33941,7 @@ a.ygtvspacer:hover { .message-app .message.received .tail { left: 0; margin-left: -0.5rem; - border-bottom-color: #fff; + border-bottom-color: #ffffff; } .message-app .message .tail { content: ""; @@ -33952,7 +33952,7 @@ a.ygtvspacer:hover { position: relative; } .message-app .day { - color: #000; + color: #000000; } .message-app .lazy-load-list { overflow-y: inherit; @@ -34081,12 +34081,12 @@ a.ygtvspacer:hover { #qtypechoicecontainer.yui-panel .hd { color: #333; letter-spacing: 1px; - text-shadow: 1px 1px 1px #fff; + text-shadow: 1px 1px 1px #ffffff; border-top-left-radius: 10px; border-top-right-radius: 10px; border: 1px solid #ccc; border-bottom: 1px solid #bbb; - background-image: linear-gradient(to bottom, #fff, #ccc); + background-image: linear-gradient(to bottom, #ffffff, #ccc); } #qtypechoicecontainer { @@ -34132,7 +34132,7 @@ a.ygtvspacer:hover { } #chooseqtype .selected { - background-color: #fff; + background-color: #ffffff; } #chooseqtype .instruction, @@ -34147,7 +34147,7 @@ a.ygtvspacer:hover { overflow-x: hidden; overflow-y: auto; padding: 1.5em 1.6em; - background-color: #fff; + background-color: #ffffff; } #chooseqtype .instruction, @@ -34164,7 +34164,7 @@ a.ygtvspacer:hover { table.question-bank-table { margin: 0; - background-color: #fff; + background-color: #ffffff; table-layout: fixed; overflow-x: scroll; width: min-content; @@ -34215,7 +34215,7 @@ table.question-bank-table .header.sortable-list-current-position { background-color: #a2cff8; } table.question-bank-table .header.sortable-list-is-dragged { - background-color: #fff; + background-color: #ffffff; opacity: 0.85; } table.question-bank-table .header .header-text > div { @@ -34414,15 +34414,15 @@ body.path-question-type .fitem .col-form-label.visually-hidden:not(legend):not([ } .que .correctness.correct { - color: #fff; + color: #ffffff; background-color: #357a32; } .que .correctness.partiallycorrect { - color: #000; + color: #000000; background-color: #f0ad4e; } .que .correctness.notanswered, .que .correctness.incorrect { - color: #fff; + color: #ffffff; background-color: #ca3120; } @@ -34584,14 +34584,14 @@ body.jsenabled .questionflag input[type=checkbox] { } #page-mod-quiz-edit div.question div.content div.questioncontrols { - background-color: #fff; + background-color: #ffffff; } #page-mod-quiz-edit div.question div.content div.points { margin-top: -0.5em; padding-bottom: 0; border: none; - background-color: #fff; + background-color: #ffffff; position: static; width: 12.1em; float: right; @@ -34607,7 +34607,7 @@ body.jsenabled .questionflag input[type=checkbox] { } #page-mod-quiz-edit div.quizpage .pagecontent .pagestatus { - background-color: #fff; + background-color: #ffffff; } #page-mod-quiz-edit .quizpagedelete, @@ -34634,7 +34634,7 @@ body.jsenabled .questionflag input[type=checkbox] { } #page-mod-quiz-edit div.editq div.question div.content { - background-color: #fff; + background-color: #ffffff; border: 1px solid #ddd; border-radius: 2px; overflow: hidden; @@ -35063,7 +35063,7 @@ body.path-question-type .mform fieldset.hidden { top: 0; width: 100%; display: flex; - background-color: #fff; + background-color: #ffffff; z-index: 1070; height: 60px; } @@ -35348,7 +35348,7 @@ div#dateselector-calendar-panel { .form-autocomplete-suggestions { position: absolute; - background-color: #fff; + background-color: #ffffff; border: 1px solid var(--bs-gray-500); min-width: 206px; max-height: 20em; @@ -35370,7 +35370,7 @@ div#dateselector-calendar-panel { } .form-autocomplete-suggestions li:hover, .form-autocomplete-suggestions li:focus, .form-autocomplete-suggestions li[aria-selected=true] { background-color: #0f6cbf; - color: #fff; + color: #ffffff; } .form-autocomplete-suggestions li[aria-disabled=true] { pointer-events: none; @@ -35381,7 +35381,7 @@ div#dateselector-calendar-panel { pointer-events: none; font-weight: bold; color: #1d2125; - background-color: #fff; + background-color: #ffffff; padding-left: calc(1rem / 2); } .form-autocomplete-suggestions li::before { @@ -35398,7 +35398,7 @@ div#dateselector-calendar-panel { position: absolute; top: 0; left: 0; - background-color: #fff; + background-color: #ffffff; } /** Undo some bootstrap things */ @@ -35574,7 +35574,7 @@ textarea[data-auto-rows] { } .login-container { - background-color: #fff; + background-color: #ffffff; padding: 3rem; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); margin-bottom: 2rem; @@ -36603,7 +36603,7 @@ div#dock { width: 20px; height: 20px; border: 1px solid #dee2e6; - background-color: #fff; + background-color: #ffffff; font-size: 0.6rem; } .userloggedinas .usermenu .userbutton .avatars .avatar img { @@ -36829,7 +36829,7 @@ img.userpicture { } #quiz-timer-wrapper #quiz-timer { border: 1px solid #ca3120; - background-color: #fff; + background-color: #ffffff; } .pagelayout-embedded #quiz-timer-wrapper { @@ -36838,87 +36838,87 @@ img.userpicture { #quiz-timer-wrapper #quiz-timer.timeleft0 { background-color: #ca3120; - color: #fff; + color: #ffffff; } #quiz-timer-wrapper #quiz-timer.timeleft1 { background-color: #d73422; - color: #fff; + color: #ffffff; } #quiz-timer-wrapper #quiz-timer.timeleft2 { background-color: #dd3d2b; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft3 { background-color: #e04938; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft4 { background-color: #e25546; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft5 { background-color: #e46153; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft6 { background-color: #e66d60; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft7 { background-color: #e8796d; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft8 { background-color: #ea867a; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft9 { background-color: #ec9288; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft10 { background-color: #ee9e95; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft11 { background-color: #f0aaa2; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft12 { background-color: #f2b6af; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft13 { background-color: #f4c2bc; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft14 { background-color: #f7ceca; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft15 { background-color: #f9dad7; - color: #000; + color: #000000; } #quiz-timer-wrapper #quiz-timer.timeleft16 { background-color: #fbe6e4; - color: #000; + color: #000000; } .path-mod-assign [data-region=grade-actions-panel] [data-region=grade-actions] .collapse-buttons { @@ -37114,7 +37114,7 @@ img.userpicture { .path-mod-feedback #feedback_edit_form .feedback_itemlist.sortable-list-is-dragged { padding: 1rem; border: 1px solid #dee2e6; - background-color: #fff; + background-color: #ffffff; position: relative; border-radius: 0.5rem; } @@ -37224,7 +37224,7 @@ img.userpicture { } #page-report-outline-index #outlinereport tbody tr { - background-color: #fff; + background-color: #ffffff; } #page-report-outline-index #outlinereport tbody tr.section { padding-left: 2rem; @@ -37416,15 +37416,15 @@ img.userpicture { background-color: #f4d6d2; } #page-backup-restore .filealiasesfailures .aliaseslist { - background-color: #fff; + background-color: #ffffff; } .path-backup .wibbler { width: 500px; margin: 0 auto 10px; - border-bottom: 1px solid #000; - border-right: 1px solid #000; - border-left: 1px solid #000; + border-bottom: 1px solid #000000; + border-right: 1px solid #000000; + border-left: 1px solid #000000; position: relative; min-height: 4px; } @@ -37595,47 +37595,47 @@ p.arrow_button { */ .btn:focus-visible, .btn.focus { outline: 0.25rem solid #5f6e7d; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-primary:focus-visible, .btn-primary.focus { outline: 0.25rem solid #000102; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-secondary:focus-visible, .btn-secondary.focus { outline: 0.25rem solid #5f6e7d; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-success:focus-visible, .btn-success.focus { outline: 0.25rem solid black; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-info:focus-visible, .btn-info.focus { outline: 0.25rem solid black; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-warning:focus-visible, .btn-warning.focus { outline: 0.25rem solid #694109; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-danger:focus-visible, .btn-danger.focus { outline: 0.25rem solid #1a0604; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-light:focus-visible, .btn-light.focus { outline: 0.25rem solid #8193a5; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-dark:focus-visible, .btn-dark.focus { outline: 0.25rem solid black; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-outline-primary:focus-visible, .btn-outline-primary.focus { @@ -37695,7 +37695,7 @@ p.arrow_button { } .btn-icon:focus-visible, .btn-icon.focus { outline: 0.25rem solid #5f6e7d; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-icon .icon { margin: 0; @@ -37759,7 +37759,7 @@ p.arrow_button { } .btn-icon.icons-collapse-expand:focus-visible, .btn-icon.icons-collapse-expand.focus { outline: 0.25rem solid #3481c1; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } /** @@ -37771,13 +37771,13 @@ p.arrow_button { --bs-btn-bg: var(--bs-primary-bg-subtle); --bs-btn-active-color: var(--bs-primary-text-emphasis); --bs-btn-active-bg: var(--bs-primary-bg-subtle); - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--bs-primary); --bs-btn-focus-shadow-rgb: 15, 108, 191; } .btn-subtle-primary:focus-visible, .btn-subtle-primary.focus { outline: 0.25rem solid #000102; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-subtle-secondary { @@ -37786,13 +37786,13 @@ p.arrow_button { --bs-btn-bg: var(--bs-secondary-bg-subtle); --bs-btn-active-color: var(--bs-secondary-text-emphasis); --bs-btn-active-bg: var(--bs-secondary-bg-subtle); - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: var(--bs-secondary); --bs-btn-focus-shadow-rgb: 206, 212, 218; } .btn-subtle-secondary:focus-visible, .btn-subtle-secondary.focus { outline: 0.25rem solid #5f6e7d; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-subtle-success { @@ -37801,13 +37801,13 @@ p.arrow_button { --bs-btn-bg: var(--bs-success-bg-subtle); --bs-btn-active-color: var(--bs-success-text-emphasis); --bs-btn-active-bg: var(--bs-success-bg-subtle); - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--bs-success); --bs-btn-focus-shadow-rgb: 53, 122, 50; } .btn-subtle-success:focus-visible, .btn-subtle-success.focus { outline: 0.25rem solid black; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-subtle-info { @@ -37816,13 +37816,13 @@ p.arrow_button { --bs-btn-bg: var(--bs-info-bg-subtle); --bs-btn-active-color: var(--bs-info-text-emphasis); --bs-btn-active-bg: var(--bs-info-bg-subtle); - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--bs-info); --bs-btn-focus-shadow-rgb: 0, 129, 150; } .btn-subtle-info:focus-visible, .btn-subtle-info.focus { outline: 0.25rem solid black; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-subtle-warning { @@ -37831,13 +37831,13 @@ p.arrow_button { --bs-btn-bg: var(--bs-warning-bg-subtle); --bs-btn-active-color: var(--bs-warning-text-emphasis); --bs-btn-active-bg: var(--bs-warning-bg-subtle); - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: var(--bs-warning); --bs-btn-focus-shadow-rgb: 240, 173, 78; } .btn-subtle-warning:focus-visible, .btn-subtle-warning.focus { outline: 0.25rem solid #694109; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-subtle-danger { @@ -37846,13 +37846,13 @@ p.arrow_button { --bs-btn-bg: var(--bs-danger-bg-subtle); --bs-btn-active-color: var(--bs-danger-text-emphasis); --bs-btn-active-bg: var(--bs-danger-bg-subtle); - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--bs-danger); --bs-btn-focus-shadow-rgb: 202, 49, 32; } .btn-subtle-danger:focus-visible, .btn-subtle-danger.focus { outline: 0.25rem solid #1a0604; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-subtle-light { @@ -37861,13 +37861,13 @@ p.arrow_button { --bs-btn-bg: var(--bs-light-bg-subtle); --bs-btn-active-color: var(--bs-light-text-emphasis); --bs-btn-active-bg: var(--bs-light-bg-subtle); - --bs-btn-hover-color: #000; + --bs-btn-hover-color: #000000; --bs-btn-hover-bg: var(--bs-light); --bs-btn-focus-shadow-rgb: 248, 249, 250; } .btn-subtle-light:focus-visible, .btn-subtle-light.focus { outline: 0.25rem solid #8193a5; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-subtle-dark { @@ -37876,13 +37876,13 @@ p.arrow_button { --bs-btn-bg: var(--bs-dark-bg-subtle); --bs-btn-active-color: var(--bs-dark-text-emphasis); --bs-btn-active-bg: var(--bs-dark-bg-subtle); - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--bs-dark); --bs-btn-focus-shadow-rgb: 29, 33, 37; } .btn-subtle-dark:focus-visible, .btn-subtle-dark.focus { outline: 0.25rem solid black; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } .btn-subtle-body { @@ -37890,13 +37890,13 @@ p.arrow_button { --bs-btn-color: var(--bs-body-color); --bs-btn-bg: transparent; --bs-btn-border-color: var(--bs-border-color); - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: var(--bs-gray-600); --bs-btn-focus-shadow-rgb: 106, 115, 123; } .btn-subtle-body:focus-visible, .btn-subtle-body.focus { outline: 0.25rem solid #0c0d0d; - box-shadow: inset 0 0 0 2px #fff; + box-shadow: inset 0 0 0 2px #ffffff; } /* @@ -37906,7 +37906,7 @@ p.arrow_button { border-radius: 0.5rem; border: 2px dashed #dee2e6; color: #0f6cbf; - background-color: #fff; + background-color: #ffffff; font-size: 0.875rem; font-weight: bold; } @@ -38231,7 +38231,7 @@ p.arrow_button { border-top: 2px dashed #0f6cbf; } .path-grade-edit-tree .gradetree-wrapper .setup-grades.table tr.category td { - background-color: #fff; + background-color: #ffffff; border-top: 1px solid #dee2e6; border-bottom: 1px solid #dee2e6; } @@ -38267,7 +38267,7 @@ p.arrow_button { margin: 0; } .path-grade-edit-tree .gradetree-wrapper .setup-grades.table tr.item td { - background-color: #fff; + background-color: #ffffff; border-top: 3px solid #f8f9fa; } .path-grade-edit-tree .gradetree-wrapper .setup-grades.table tr.item.categoryitem td, .path-grade-edit-tree .gradetree-wrapper .setup-grades.table tr.item.courseitem td { @@ -38410,7 +38410,7 @@ p.arrow_button { } .search-widget .dropdown-menu .dropdown-item:hover span, .search-widget .dropdown-menu .dropdown-item:active span { - color: #fff; + color: #ffffff; } .search-widget .dropdown-menu .searchresultscontainer { height: 178px; @@ -38720,10 +38720,10 @@ body.behat-site.path-grade-report-grader .gradeparent tr.heading { .phpinfo .e, .phpinfo .v, .phpinfo .h { - border: 1px solid #000; + border: 1px solid #000000; font-size: 0.8em; vertical-align: baseline; - color: #000; + color: #000000; background-color: #ccc; } @@ -38883,7 +38883,7 @@ body { display: inline-block; border-left: 9px solid transparent; border-right: 9px solid transparent; - border-bottom: 9px solid #fff; + border-bottom: 9px solid #ffffff; position: absolute; bottom: -1px; right: 8px; @@ -38894,7 +38894,7 @@ body { padding: 2px; border-radius: 2px; background-color: #ca3120; - color: #fff; + color: #ffffff; font-size: 11px; line-height: 11px; position: absolute; @@ -38913,7 +38913,7 @@ body { width: 380px; border: 1px solid #ddd; transition: height 0.25s; - background-color: #fff; + background-color: #ffffff; z-index: 1; } @@ -39002,7 +39002,7 @@ body { padding: 2px; border-radius: 2px; background-color: #ca3120; - color: #fff; + color: #ffffff; font-size: 11px; line-height: 11px; position: absolute; @@ -39025,11 +39025,11 @@ body { text-decoration: none; } .content-item-container:hover { - color: #fff; + color: #ffffff; background-color: #0f6cbf; } .content-item-container:hover .content-item-footer .timestamp { - color: #fff; + color: #ffffff; } .content-item-container:hover .view-more { color: inherit; @@ -39039,7 +39039,7 @@ body { background-color: #f4f4f4; } .content-item-container.unread:hover { - color: #fff; + color: #ffffff; background-color: #0f6cbf; } .content-item-container.unread .content-item-body .notification-message { @@ -39089,11 +39089,11 @@ body { } .content-item-container.selected { background-color: #3279b3; - color: #fff; + color: #ffffff; border-color: #3279b3; } .content-item-container.selected .content-item-footer .timestamp { - color: #fff; + color: #ffffff; } .popover-region-notifications .popover-region-header-container .mark-all-read-button .normal-icon { @@ -39217,7 +39217,7 @@ body { * --- step container */ div[data-flexitour=backdrop] { - background-color: #000; + background-color: #000000; opacity: 0.5; z-index: 1040; } @@ -39467,7 +39467,7 @@ body.tox-fullscreen .tox.tox-tinymce-aux { width: 100%; margin: 0 auto; border-radius: 0.5rem; - background-color: #fff; + background-color: #ffffff; padding: 1.5rem 0.5rem; margin-top: 0.5rem; margin-bottom: 3rem; @@ -39716,7 +39716,7 @@ input[type=month].form-control { } .editor_atto_content_wrap { - background-color: #fff; + background-color: #ffffff; color: #333; } @@ -39774,13 +39774,13 @@ div.editor_atto_toolbar button[disabled] { } .editor_atto_toolbar button:hover { - background-image: radial-gradient(ellipse at center, #fff 60%, #dfdfdf 100%); + background-image: radial-gradient(ellipse at center, #ffffff 60%, #dfdfdf 100%); background-color: #ebebeb; } .editor_atto_toolbar button:active, .editor_atto_toolbar button.highlight { - background-image: radial-gradient(ellipse at center, #fff 40%, #dfdfdf 100%); + background-image: radial-gradient(ellipse at center, #ffffff 40%, #dfdfdf 100%); background-color: #dfdfdf; } @@ -39801,7 +39801,7 @@ div.editor_atto_toolbar div.atto_group { border-bottom: 1px solid #b3b3b3; border-radius: 4px; margin: 9px 0 0 9px; - background: #fff; + background: #ffffff; } div.editor_atto_toolbar .atto_toolbar_row { @@ -39864,7 +39864,7 @@ div.editor_atto_toolbar .atto_toolbar_row div.atto_group { } .atto_control .icon { - background-color: #fff; + background-color: #ffffff; } div.editor_atto_content:focus .atto_control, @@ -39955,7 +39955,7 @@ div.editor_atto_content:hover .atto_control { padding: 0.25rem 0.5rem; margin-top: 0.1rem; font-size: 0.875rem; - color: #fff; + color: #ffffff; background-color: rgba(202, 49, 32, 0.9); border-radius: var(--bs-border-radius); } @@ -40264,7 +40264,7 @@ div.editor_atto_toolbar button .icon { */ .reportbuilder-wrapper .btn-outline-secondary[data-bs-toggle=collapse]:not(.collapsed), .reportbuilder-wrapper .dropdown.show .btn-outline-secondary[data-bs-toggle=dropdown] { - color: #fff; + color: #ffffff; background-color: #6a737b; border-color: #6a737b; } @@ -40290,8 +40290,8 @@ div.editor_atto_toolbar button .icon { overflow-y: auto; border-bottom: 1px solid var(--bs-border-color-translucent); scrollbar-width: thin; - scrollbar-color: #6a737b #fff; - background: linear-gradient(#fff 30%, rgba(255, 255, 255, 0)) center top, linear-gradient(rgba(255, 255, 255, 0), #fff 70%) center bottom, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center top, radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center bottom; + scrollbar-color: #6a737b #ffffff; + background: linear-gradient(#ffffff 30%, rgba(255, 255, 255, 0)) center top, linear-gradient(rgba(255, 255, 255, 0), #ffffff 70%) center bottom, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center top, radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) center bottom; background-repeat: no-repeat; background-size: 100% 1rem, 100% 1rem, 100% calc(1rem / 2), 100% calc(1rem / 2); background-attachment: local, local, scroll, scroll; @@ -40300,12 +40300,12 @@ div.editor_atto_toolbar button .icon { width: 12px; } .reportbuilder-filters-sidebar::-webkit-scrollbar-track { - background: #fff; + background: #ffffff; } .reportbuilder-filters-sidebar::-webkit-scrollbar-thumb { background-color: #6a737b; border-radius: 20px; - border: 3px solid #fff; + border: 3px solid #ffffff; } .reportbuilder-filters-sidebar::-webkit-scrollbar-thumb:hover { background-color: #495057; @@ -40365,8 +40365,8 @@ div.editor_atto_toolbar button .icon { z-index: 1030; width: calc(100% - 35px); padding-top: 1.25rem; - background-color: #fff; - box-shadow: 0 1.25rem 0 #fff; + background-color: #ffffff; + box-shadow: 0 1.25rem 0 #ffffff; } .path-admin-reportbuilder.pagelayout-popup .dynamictabs .tab-content { padding-top: 83px; @@ -40550,7 +40550,7 @@ div.editor_atto_toolbar button .icon { .reportbuilder-sortable-list li.sortable-list-is-dragged, .reportbuilder-table th.sortable-list-is-dragged, .reportbuilder-conditions-list .condition.sortable-list-is-dragged { - background-color: #fff; + background-color: #ffffff; opacity: 0.85; } .reportbuilder-sortable-list li.sortable-list-is-dropped, @@ -40834,7 +40834,7 @@ div.editor_atto_toolbar button .icon { } .courseindex .courseindex-item.dimmed .pageitem .courseindex-link, .courseindex .courseindex-item.dimmed .pageitem .courseindex-chevron { - color: #fff; + color: #ffffff; } .courseindex .courseindex-item .courseindex-locked { display: none; @@ -40843,18 +40843,18 @@ div.editor_atto_toolbar button .icon { display: block; } .courseindex .courseindex-item.restrictions.pageitem { - color: #fff; + color: #ffffff; } .courseindex .courseindex-item.restrictions.pageitem a { - color: #fff; + color: #ffffff; } .courseindex .courseindex-item.pageitem { background-color: #0f6cbf; - color: #fff; + color: #ffffff; scroll-margin: 6rem; } .courseindex .courseindex-item.pageitem a { - color: #fff; + color: #ffffff; } .courseindex .courseindex-item .completioninfo { min-width: 20px; @@ -40979,7 +40979,7 @@ div.editor_atto_toolbar button .icon { } .moremenu .nav-tabs { margin-left: 0; - background-color: #fff; + background-color: #ffffff; } .moremenu .show > .nav-link, .moremenu .active > .nav-link, @@ -41002,7 +41002,7 @@ div.editor_atto_toolbar button .icon { background-color: #f8f9fa; } .moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu .dropdown-item:hover, .moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu .dropdown-item:focus { - color: #fff; + color: #ffffff; background-color: #0f6cbf; } .moremenu .dropdownmoremenu > .dropdown-menu .dropdown-menu .dropdown-divider { @@ -41017,12 +41017,12 @@ div.editor_atto_toolbar button .icon { .moremenu .dropdown-item.active:focus-within, .moremenu .dropdown-item.active:hover { background-color: #0f6cbf; - color: #fff; + color: #ffffff; } .moremenu .dropdown-item[aria-current=true]:focus-within a, .moremenu .dropdown-item[aria-current=true]:hover a, .moremenu .dropdown-item.active:focus-within a, .moremenu .dropdown-item.active:hover a { - color: #fff; + color: #ffffff; } .moremenu .dropdown-item[aria-current=true]:before, .moremenu .dropdown-item.active:before { @@ -41074,7 +41074,7 @@ div.editor_atto_toolbar button .icon { } .secondary-navigation .navigation { border-bottom: 1px solid var(--bs-border-color); - background-color: #fff; + background-color: #ffffff; margin: 0 -0.5rem; padding: 0 0.5rem; } @@ -41276,7 +41276,7 @@ div.editor_atto_toolbar button .icon { color: #1d2125; } .dropdown-item.active a, .dropdown-item:active a, .dropdown-item:hover a, .dropdown-item:focus a, .dropdown-item:focus-within a { - color: #fff; + color: #ffffff; } .dropdown-item[aria-current=true], .dropdown-item[aria-selected=true] { position: relative; @@ -41303,7 +41303,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-primary, .dropdown-item:focus.text-primary, .dropdown-item:focus a.text-primary, .dropdown-item:focus span.text-primary { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-secondary, @@ -41311,7 +41311,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-secondary, .dropdown-item:focus.text-secondary, .dropdown-item:focus a.text-secondary, .dropdown-item:focus span.text-secondary { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-success, @@ -41319,7 +41319,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-success, .dropdown-item:focus.text-success, .dropdown-item:focus a.text-success, .dropdown-item:focus span.text-success { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-info, @@ -41327,7 +41327,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-info, .dropdown-item:focus.text-info, .dropdown-item:focus a.text-info, .dropdown-item:focus span.text-info { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-warning, @@ -41335,7 +41335,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-warning, .dropdown-item:focus.text-warning, .dropdown-item:focus a.text-warning, .dropdown-item:focus span.text-warning { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-danger, @@ -41343,7 +41343,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-danger, .dropdown-item:focus.text-danger, .dropdown-item:focus a.text-danger, .dropdown-item:focus span.text-danger { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-light, @@ -41351,7 +41351,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-light, .dropdown-item:focus.text-light, .dropdown-item:focus a.text-light, .dropdown-item:focus span.text-light { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-dark, @@ -41359,7 +41359,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-dark, .dropdown-item:focus.text-dark, .dropdown-item:focus a.text-dark, .dropdown-item:focus span.text-dark { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-primary-emphasis, @@ -41367,7 +41367,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-primary-emphasis, .dropdown-item:focus.text-primary-emphasis, .dropdown-item:focus a.text-primary-emphasis, .dropdown-item:focus span.text-primary-emphasis { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-secondary-emphasis, @@ -41375,7 +41375,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-secondary-emphasis, .dropdown-item:focus.text-secondary-emphasis, .dropdown-item:focus a.text-secondary-emphasis, .dropdown-item:focus span.text-secondary-emphasis { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-success-emphasis, @@ -41383,7 +41383,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-success-emphasis, .dropdown-item:focus.text-success-emphasis, .dropdown-item:focus a.text-success-emphasis, .dropdown-item:focus span.text-success-emphasis { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-info-emphasis, @@ -41391,7 +41391,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-info-emphasis, .dropdown-item:focus.text-info-emphasis, .dropdown-item:focus a.text-info-emphasis, .dropdown-item:focus span.text-info-emphasis { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-warning-emphasis, @@ -41399,7 +41399,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-warning-emphasis, .dropdown-item:focus.text-warning-emphasis, .dropdown-item:focus a.text-warning-emphasis, .dropdown-item:focus span.text-warning-emphasis { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-danger-emphasis, @@ -41407,7 +41407,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-danger-emphasis, .dropdown-item:focus.text-danger-emphasis, .dropdown-item:focus a.text-danger-emphasis, .dropdown-item:focus span.text-danger-emphasis { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-light-emphasis, @@ -41415,7 +41415,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-light-emphasis, .dropdown-item:focus.text-light-emphasis, .dropdown-item:focus a.text-light-emphasis, .dropdown-item:focus span.text-light-emphasis { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } .dropdown-item:hover.text-dark-emphasis, @@ -41423,7 +41423,7 @@ div.editor_atto_toolbar button .icon { .dropdown-item:hover span.text-dark-emphasis, .dropdown-item:focus.text-dark-emphasis, .dropdown-item:focus a.text-dark-emphasis, .dropdown-item:focus span.text-dark-emphasis { - color: #fff !important; /* stylelint-disable-line declaration-no-important */ + color: #ffffff !important; /* stylelint-disable-line declaration-no-important */ } /** @@ -41493,7 +41493,7 @@ body.behat-site .media-body::before, .badge-primary { /* stylelint-disable declaration-no-important */ /* stylelint-enable */ - color: #fff; + color: #ffffff; background-color: #0f6cbf; } body.behat-site .badge-primary, @@ -41510,7 +41510,7 @@ body.behat-site .badge-primary::before, font-size: smaller !important; } a.badge-primary:hover, a.badge-primary:focus { - color: #fff; + color: #ffffff; background-color: #0b5190; } a.badge-primary:focus, a.badge-primary.focus { @@ -41549,7 +41549,7 @@ a.badge-secondary:focus, a.badge-secondary.focus { .badge-success { /* stylelint-disable declaration-no-important */ /* stylelint-enable */ - color: #fff; + color: #ffffff; background-color: #357a32; } body.behat-site .badge-success, @@ -41566,7 +41566,7 @@ body.behat-site .badge-success::before, font-size: smaller !important; } a.badge-success:hover, a.badge-success:focus { - color: #fff; + color: #ffffff; background-color: #255623; } a.badge-success:focus, a.badge-success.focus { @@ -41577,7 +41577,7 @@ a.badge-success:focus, a.badge-success.focus { .badge-info { /* stylelint-disable declaration-no-important */ /* stylelint-enable */ - color: #fff; + color: #ffffff; background-color: #008196; } body.behat-site .badge-info, @@ -41594,7 +41594,7 @@ body.behat-site .badge-info::before, font-size: smaller !important; } a.badge-info:hover, a.badge-info:focus { - color: #fff; + color: #ffffff; background-color: #005563; } a.badge-info:focus, a.badge-info.focus { @@ -41633,7 +41633,7 @@ a.badge-warning:focus, a.badge-warning.focus { .badge-danger { /* stylelint-disable declaration-no-important */ /* stylelint-enable */ - color: #fff; + color: #ffffff; background-color: #ca3120; } body.behat-site .badge-danger, @@ -41650,7 +41650,7 @@ body.behat-site .badge-danger::before, font-size: smaller !important; } a.badge-danger:hover, a.badge-danger:focus { - color: #fff; + color: #ffffff; background-color: #9e2619; } a.badge-danger:focus, a.badge-danger.focus { @@ -41689,7 +41689,7 @@ a.badge-light:focus, a.badge-light.focus { .badge-dark { /* stylelint-disable declaration-no-important */ /* stylelint-enable */ - color: #fff; + color: #ffffff; background-color: #1d2125; } body.behat-site .badge-dark, @@ -41706,7 +41706,7 @@ body.behat-site .badge-dark::before, font-size: smaller !important; } a.badge-dark:hover, a.badge-dark:focus { - color: #fff; + color: #ffffff; background-color: #070808; } a.badge-dark:focus, a.badge-dark.focus { @@ -47051,8 +47051,8 @@ body.behat-site .float-right::before, font-size: calc(1.275rem + 0.3vw); font-weight: 700; line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; + color: #000000; + text-shadow: 0 1px 0 #ffffff; opacity: 0.5; } @media (min-width: 1200px) { @@ -47061,7 +47061,7 @@ body.behat-site .float-right::before, } } .close:hover { - color: #000; + color: #000000; text-decoration: none; } .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { @@ -47306,7 +47306,7 @@ body.behat-site .sr-only-focusable::before, opacity: 0; } .custom-control-input:checked ~ .custom-control-label::before { - color: #fff; + color: #ffffff; border-color: #0f6cbf; background-color: #0f6cbf; } @@ -47317,7 +47317,7 @@ body.behat-site .sr-only-focusable::before, border-color: #87b6df; } .custom-control-input:not(:disabled):active ~ .custom-control-label::before { - color: #fff; + color: #ffffff; background-color: #8bc3f6; border-color: #8bc3f6; } @@ -47377,14 +47377,14 @@ body.behat-site .custom-checkbox::before, border-radius: 0.5rem; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23ffffff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { border-color: #0f6cbf; background-color: #0f6cbf; } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23ffffff' d='M0 2h4'/%3e%3c/svg%3e"); } .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(15, 108, 191, 0.5); @@ -47414,7 +47414,7 @@ body.behat-site .custom-radio::before, border-radius: 50%; } .custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e"); } .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(15, 108, 191, 0.5); @@ -47643,13 +47643,13 @@ body.behat-site .custom-range::before, outline: 0; } .custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); } .custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); } .custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem rgba(15, 108, 191, 0.75); } .custom-range::-moz-focus-outer { border: 0; @@ -47841,11 +47841,11 @@ body { .btn-outline-secondary { --bs-btn-color: #6a737b; --bs-btn-border-color: #6a737b; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #6a737b; --bs-btn-hover-border-color: #6a737b; --bs-btn-focus-shadow-rgb: 106, 115, 123; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #6a737b; --bs-btn-active-border-color: #6a737b; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -47859,11 +47859,11 @@ body { .btn-outline-info { --bs-btn-color: #1f7e9a; --bs-btn-border-color: #1f7e9a; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #1f7e9a; --bs-btn-hover-border-color: #1f7e9a; --bs-btn-focus-shadow-rgb: 31, 126, 154; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #1f7e9a; --bs-btn-active-border-color: #1f7e9a; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); @@ -47876,11 +47876,11 @@ body { .btn-outline-warning { --bs-btn-color: #a6670e; --bs-btn-border-color: #a6670e; - --bs-btn-hover-color: #fff; + --bs-btn-hover-color: #ffffff; --bs-btn-hover-bg: #a6670e; --bs-btn-hover-border-color: #a6670e; --bs-btn-focus-shadow-rgb: 166, 103, 14; - --bs-btn-active-color: #fff; + --bs-btn-active-color: #ffffff; --bs-btn-active-bg: #a6670e; --bs-btn-active-border-color: #a6670e; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); diff --git a/public/theme/boost/thirdpartylibs.xml b/public/theme/boost/thirdpartylibs.xml index 07c3618b88c..e5ef8afa63f 100644 --- a/public/theme/boost/thirdpartylibs.xml +++ b/public/theme/boost/thirdpartylibs.xml @@ -50,4 +50,15 @@ 2023 Fonticons, Inc + + scss/design-system + @moodlehq/design-system + The Moodle HQ design system based on React + 2.1.0 + GNU + https://github.com/moodlehq/design-system + + Moodle HQ + + diff --git a/scripts/update-design-system.mjs b/scripts/update-design-system.mjs new file mode 100644 index 00000000000..cc629e8099b --- /dev/null +++ b/scripts/update-design-system.mjs @@ -0,0 +1,51 @@ +import chalk from 'chalk'; +import fs from "fs-extra"; +import path from "path"; +import { + createPackageReadme, + getPackageVersion, + getRootDir, + updateThirdPartyLibsXml, +} from './lib/util.mjs'; + +/** + * Update the @moodlehq/design-system bundle and tokens in the lib and public folders. + * Also updates the version in thirdpartylibs.xml files. + * The version is read from the npm-shrinkwrap.json file. + */ +async function init() { + const rootDir = getRootDir(); + + const DS_VERSION = getPackageVersion('@moodlehq/design-system'); + const nodeModuleRoot = path.join(rootDir, 'node_modules', '@moodlehq', 'design-system'); + const themeRoot = path.join(rootDir, 'public', 'theme', 'boost'); + const themeDesignSystemRoot = path.join(themeRoot, 'scss', 'design-system'); + + console.log(chalk.blue.bold.underline('Updating @moodlehq/design-system bundle to version %s from Node Modules'), DS_VERSION); + console.log(chalk.blue('Removing old bundles...')); + fs.removeSync(themeDesignSystemRoot, { recursive: true, force: true }); + console.log(chalk.green('Old bundles removed ✓')); + + // Copy tokens into the themes. + fs.copySync( + path.join(nodeModuleRoot, 'tokens', 'scss'), + path.join(themeDesignSystemRoot, 'tokens', 'scss'), + ); + console.log(chalk.green(`→ @moodlehq/design-system:${DS_VERSION} tokens ✓`)); + + // Create readme files in the package folders. + console.log(chalk.green(`→ Creating readme_moodle.txt files ✓`)); + createPackageReadme(themeDesignSystemRoot, '@moodlehq/design-system'); + + // And update the version in thirdpartylibs.xml. + console.log(chalk.green(`→ Updating thirdpartylibs.xml files ✓`)); + updateThirdPartyLibsXml(themeRoot, 'scss/design-system', '@moodlehq/design-system', DS_VERSION); + + console.log("\nAll bundles saved" + chalk.green(" ✓")); + console.log("Done!"); +} + +init().catch((err) => { + console.error("Download failed:", err.message); + process.exit(1); +});