diff --git a/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net10.0/.toolversion.json b/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net10.0/.toolversion.json new file mode 100644 index 0000000..b83160b --- /dev/null +++ b/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net10.0/.toolversion.json @@ -0,0 +1 @@ +[ { "sbomFormat": "cyclonedx-1.5/json", "packageId": "Syncfusion.Blazor.Toolkit", "version": "1.0.0" } ] diff --git a/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net8.0/.toolversion.json b/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net8.0/.toolversion.json new file mode 100644 index 0000000..b83160b --- /dev/null +++ b/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net8.0/.toolversion.json @@ -0,0 +1 @@ +[ { "sbomFormat": "cyclonedx-1.5/json", "packageId": "Syncfusion.Blazor.Toolkit", "version": "1.0.0" } ] diff --git a/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net9.0/.toolversion.json b/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net9.0/.toolversion.json new file mode 100644 index 0000000..b83160b --- /dev/null +++ b/artifacts/sbom/Syncfusion.Blazor.Toolkit/1.0.0/net9.0/.toolversion.json @@ -0,0 +1 @@ +[ { "sbomFormat": "cyclonedx-1.5/json", "packageId": "Syncfusion.Blazor.Toolkit", "version": "1.0.0" } ] diff --git a/package-lock.json b/package-lock.json index dacd688..5e2e8a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6945 +1,6927 @@ { - "name": "blazor-toolkit", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "blazor-toolkit", - "devDependencies": { - "@eslint/js": "^10.0.1", - "@playwright/test": "^1.63.0", - "eslint": "^10.10.0", - "eslint-plugin-security": "^4.0.1", - "globals": "^17.12.0", - "gulp": "^4.0.2", - "gulp-clean-css": "^4.3.0", - "gulp-rename": "^2.1.0", - "gulp-sass": "6.0.1", - "sass": "1.104.0", - "shelljs": "^0.10.0", - "typescript-eslint": "^8.70.0" - } - }, - "node_modules/@cacheable/memory": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.2.0.tgz", - "integrity": "sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cacheable/utils": "^2.5.0", - "@keyv/bigmap": "^1.3.1", - "hookified": "^1.15.1", - "keyv": "^5.6.0" - } - }, - "node_modules/@cacheable/utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.5.0.tgz", - "integrity": "sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hashery": "^1.5.1", - "keyv": "^5.6.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.1.tgz", - "integrity": "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", - "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^3.0.5", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/config-array/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": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", - "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@eslint/config-array/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": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", - "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.8" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@eslint/config-array/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" - }, - "node_modules/@eslint/config-helpers": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.7.0.tgz", - "integrity": "sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", - "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/js": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", - "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "eslint": "^10.0.0" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/object-schema": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", - "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.3.tgz", - "integrity": "sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^1.2.1", - "levn": "^0.4.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", - "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/types": "^0.15.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", - "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.2", - "@humanfs/types": "^0.15.0", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/types": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", - "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@keyv/bigmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz", - "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "hashery": "^1.4.0", - "hookified": "^1.15.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "keyv": "^5.6.0" - } - }, - "node_modules/@keyv/serialize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.6.0.tgz", - "integrity": "sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.3", - "is-glob": "^4.0.3", - "node-addon-api": "^7.0.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.6.0", - "@parcel/watcher-darwin-arm64": "2.6.0", - "@parcel/watcher-darwin-x64": "2.6.0", - "@parcel/watcher-freebsd-x64": "2.6.0", - "@parcel/watcher-linux-arm-glibc": "2.6.0", - "@parcel/watcher-linux-arm-musl": "2.6.0", - "@parcel/watcher-linux-arm64-glibc": "2.6.0", - "@parcel/watcher-linux-arm64-musl": "2.6.0", - "@parcel/watcher-linux-x64-glibc": "2.6.0", - "@parcel/watcher-linux-x64-musl": "2.6.0", - "@parcel/watcher-win32-arm64": "2.6.0", - "@parcel/watcher-win32-x64": "2.6.0" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.6.0.tgz", - "integrity": "sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.6.0.tgz", - "integrity": "sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.6.0.tgz", - "integrity": "sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.6.0.tgz", - "integrity": "sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.6.0.tgz", - "integrity": "sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.6.0.tgz", - "integrity": "sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==", - "cpu": [ - "arm" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.6.0.tgz", - "integrity": "sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.6.0.tgz", - "integrity": "sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==", - "cpu": [ - "arm64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.6.0.tgz", - "integrity": "sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "glibc" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.6.0.tgz", - "integrity": "sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==", - "cpu": [ - "x64" - ], - "dev": true, - "libc": [ - "musl" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.6.0.tgz", - "integrity": "sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.6.0.tgz", - "integrity": "sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher/node_modules/picomatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", - "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@playwright/test": { - "version": "1.63.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.63.0.tgz", - "integrity": "sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.63.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.70.0.tgz", - "integrity": "sha512-/v8HZt6RlyIZxB3ntehELOcUcfxKPVGWXnQdJuHRmzrqgF8nQypcC/oxGW+Ot4VGKDq81XugPKxx0n5PBtf9PA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.70.0", - "@typescript-eslint/type-utils": "8.70.0", - "@typescript-eslint/utils": "8.70.0", - "@typescript-eslint/visitor-keys": "8.70.0", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.70.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.9.tgz", - "integrity": "sha512-brTTsvFRt5C1gGHtPst/281UjPD5t9fBqbgoMPlVWy11ZLTPfu7HxK4ZYqO9H7o/yC9rSTCI85EaQ4OoY12qYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.70.0.tgz", - "integrity": "sha512-zYvrmj9Yxd63UGaXw+kdt6A0F0s0qveJyuatIM77bYC2DE4pgmg7a50u8LR7PRtXd0x+h+Tl3eXabGm06SWd3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.70.0", - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/typescript-estree": "8.70.0", - "@typescript-eslint/visitor-keys": "8.70.0", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/parser/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": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/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" - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.70.0.tgz", - "integrity": "sha512-hFHbTNqhU9G+2eKFXCBVb1tjFT/LceiJ4+HfLO4pTpDI0KHi6iajpcFFkaSQ9gXmCh7n82A0PthaayEdN6mspQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.70.0", - "@typescript-eslint/types": "^8.70.0", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/project-service/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": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/project-service/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" - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.70.0.tgz", - "integrity": "sha512-8nP3Kwh5hlgZ4FicGvmznAmJe8UL4sdU8tLukrPaMuQmDuk4Y8xYfzu/aYZW4xT2JCgc7H/TpDI5cGlxcWJSqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/visitor-keys": "8.70.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.70.0.tgz", - "integrity": "sha512-adnkeeNq9Sq1sUf4+FRVc0KdgYghzsgFpZSQVZVvY0LCuUuN0FnQgyGzCJeC4fW1cdXseBAjU2EOqUIjbNcZUw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.70.0.tgz", - "integrity": "sha512-NUMKIhYVaVIVLnRL9CRt+VVcuLgSHUCpXn4/+K8wql+vdInUzvx8BjUO1oJ7cG9shjFJKtF8F8Hh2kCh3/KBVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/typescript-estree": "8.70.0", - "@typescript-eslint/utils": "8.70.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/type-utils/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": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/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" - }, - "node_modules/@typescript-eslint/types": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.70.0.tgz", - "integrity": "sha512-asTOIYhDg4zdzOScCyaytrsV3cR6B4ecPQlXw/dJIm7J/MZTtCtfVII9JD8Geh4jTCrK/Xe6cg5UevoleMcoJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.70.0.tgz", - "integrity": "sha512-d9NmHMPEKQ7QCLLm1jI3zmoQBwT5KwFYjXBJ9ymZfKCUU+5rmTRykKAFvH5Qn/ZCds3CEAFS9OC9M/jkl0X2bA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.70.0", - "@typescript-eslint/tsconfig-utils": "8.70.0", - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/visitor-keys": "8.70.0", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "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": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", - "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@typescript-eslint/typescript-estree/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": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", - "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.8" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/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" - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.70.0.tgz", - "integrity": "sha512-oZmtKJz/4fufZ2p3+Cn3ijEojcdfR+1zYDH2xKYrEly0dR/Q/1xUPRCOlKGxod78nWlU2UnDe09GZ3TaknBFGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.70.0", - "@typescript-eslint/types": "8.70.0", - "@typescript-eslint/typescript-estree": "8.70.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.70.0.tgz", - "integrity": "sha512-BoC8PiO4Hkdo0TVJh9Ntxr5MxPDI7/oFsrygN5ADelFSeXG/qgNuucIGA+L5Z6JpPTE/uRfcTWtscjbUaufepQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.70.0", - "eslint-visitor-keys": "^5.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/acorn": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", - "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-wrap": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "license": "ISC", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/append-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-equal": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true, - "license": "MIT" - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-filter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-initial": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", - "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-slice": "^1.0.0", - "is-number": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-initial/node_modules/is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-last": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", - "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-last/node_modules/is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-sort": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", - "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-compare": "^1.0.0", - "get-value": "^2.0.6", - "kind-of": "^5.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async-done": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", - "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.2", - "process-nextick-args": "^2.0.0", - "stream-exhaust": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT" - }, - "node_modules/async-settle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-done": "^1.2.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/bach": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", - "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-filter": "^1.1.1", - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "array-each": "^1.0.0", - "array-initial": "^1.0.0", - "array-last": "^1.1.1", - "async-done": "^1.2.2", - "async-settle": "^1.0.0", - "now-and-later": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", - "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/buffer-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", - "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cacheable": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.5.0.tgz", - "integrity": "sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cacheable/memory": "^2.2.0", - "@cacheable/utils": "^2.5.0", - "hookified": "^1.15.0", - "keyv": "^5.6.0", - "qified": "^0.10.1" - } - }, - "node_modules/call-bind": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", - "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "get-intrinsic": "^1.3.0", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", - "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collection-map": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", - "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-map": "^2.0.2", - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-props": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", - "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "each-props": "^1.3.2", - "is-plain-object": "^5.0.0" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "dev": true, - "license": "ISC", - "dependencies": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/default-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", - "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^5.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-resolution": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/each-props": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", - "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.1", - "object.defaults": "^1.1.0" - } - }, - "node_modules/each-props/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "dev": true, - "hasInstallScript": true, - "license": "ISC", - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dev": true, - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", - "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "d": "^1.0.2", - "ext": "^1.7.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "license": "ISC", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.10.0.tgz", - "integrity": "sha512-NPXn6r5zl4uET1DAVPaOwzX3rut4c0wcmw3dWJAfOsTM5+TogXo0DDjz8pwm/hL8cyVNpHqeK4JpN0NjnyFFNw==", - "dev": true, - "license": "MIT", - "workspaces": [ - "packages/*" - ], - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.5", - "@eslint/config-helpers": "^0.7.0", - "@eslint/core": "^1.2.1", - "@eslint/plugin-kit": "^0.7.3", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^9.1.2", - "eslint-visitor-keys": "^5.0.1", - "espree": "^11.2.0", - "esquery": "^1.7.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "11.1.5 || >11.1.6 <12", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "minimatch": "^10.2.5", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-security": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-4.0.1.tgz", - "integrity": "sha512-/lZCkOxPOWaf1jXAqgICrS8St3BMBccIPvhOSUYuV6VCr1o5nFVG998FnTLt6w2Nxb8Uo0nM8fzmnhp+GY/aEg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "safe-regex": "^2.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-security/node_modules/safe-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", - "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "regexp-tree": "~0.1.1" - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "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": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/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": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", - "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/eslint/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": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/eslint/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", - "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.8" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/eslint/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" - }, - "node_modules/eslint/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dev": true, - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", - "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dev": true, - "license": "ISC", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", - "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-glob/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/fast-glob/node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/fast-glob/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", - "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "11.1.5", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.5.tgz", - "integrity": "sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^6.1.23" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/fined/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/flat-cache": { - "version": "6.1.23", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.23.tgz", - "integrity": "sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cacheable": "^2.5.0", - "flatted": "^3.4.2", - "hookified": "^1.15.0" - } - }, - "node_modules/flatted": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.4.tgz", - "integrity": "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "license": "MIT", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fs-mkdirp-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11", - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/fs-mkdirp-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true, - "license": "ISC" - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/glob-watcher": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", - "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "^2.0.0", - "async-done": "^1.2.0", - "chokidar": "^2.0.0", - "is-negated-glob": "^1.0.0", - "just-debounce": "^1.0.0", - "normalize-path": "^3.0.0", - "object.defaults": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "license": "MIT", - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/globals": { - "version": "17.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.12.0.tgz", - "integrity": "sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glogg": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", - "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "sparkles": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/gulp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", - "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-watcher": "^5.0.3", - "gulp-cli": "^2.2.0", - "undertaker": "^1.2.1", - "vinyl-fs": "^3.0.0" - }, - "bin": { - "gulp": "bin/gulp.js" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gulp-clean-css": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", - "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-css": "4.2.3", - "plugin-error": "1.0.1", - "through2": "3.0.1", - "vinyl-sourcemaps-apply": "0.2.1" - } - }, - "node_modules/gulp-cli": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", - "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.4.0", - "isobject": "^3.0.1", - "liftoff": "^3.1.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.2.0", - "yargs": "^7.1.0" - }, - "bin": { - "gulp": "bin/gulp.js" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gulp-rename": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.1.0.tgz", - "integrity": "sha512-dGuzuH8jQGqCMqC544IEPhs5+O2l+IkdoSZsgd4kY97M1CxQeI3qrmweQBIrxLBbjbe/8uEWK8HHcNBc3OCy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/gulp-sass": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-6.0.1.tgz", - "integrity": "sha512-4wonidxB8lGPHvahelpGavUBJAuERSl+OIVxPCyQthK4lSJhZ/u3/qjFcyAtnMIXDl6fXTn34H4BXsN7gt54kQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.clonedeep": "^4.5.0", - "picocolors": "^1.0.0", - "plugin-error": "^1.0.1", - "replace-ext": "^2.0.0", - "strip-ansi": "^6.0.1", - "vinyl-sourcemaps-apply": "^0.2.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "glogg": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hashery": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz", - "integrity": "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "hookified": "^1.15.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/hasown": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hookified": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz", - "integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz", - "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==", - "dev": true, - "license": "MIT" - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.2.tgz", - "integrity": "sha512-AIbwAcazqP3R65dGvqk1V+a+vE5Fg1yu/ZKMOiBWSUIXXiwQkYmXQcVa2O0nh0tSDKDFKxG2mY7dB1Sr4hEP1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-core-module": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", - "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", - "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.4.tgz", - "integrity": "sha512-bv5z95W0dDtLfKwDfkTNxaRxmISBD3eQBKJeVxv2AQ7MjuUnDNG7cIQqvFtMOUYhsILWHhMayWdoGqNqYYYjww==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.2", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.1.0.tgz", - "integrity": "sha512-bUi/yjmtKYcRVUtWRGr0UA6xEFh2I6zWUwMrUXB3s7bmYCaZ8a+0ZsTRkrawh/mzlSD1Y0Ph8bp/U+TvBpWDNw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/just-debounce": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", - "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", - "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@keyv/serialize": "^1.1.1" - } - }, - "node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/last-run": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-resolution": "^2.0.0", - "es6-weak-map": "^2.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lead": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", - "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", - "dev": true, - "license": "MIT", - "dependencies": { - "flush-write-stream": "^1.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/liftoff": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", - "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend": "^3.0.0", - "findup-sync": "^3.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/liftoff/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/make-iterator/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", - "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "findup-sync": "^2.0.0", - "micromatch": "^3.0.4", - "resolve": "^1.4.0", - "stack-trace": "0.0.10" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/matchdep/node_modules/findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/matchdep/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/micromatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/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": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/mute-stdout": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", - "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/nan": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.28.0.tgz", - "integrity": "sha512-fTsDz99OTq2sVePhGdp4qQhggZFtKr64ZNVyVajRKtMOkJxYekplBh577PiJB12v/D3s2E5cGtOI45LWp6rnLQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/now-and-later": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", - "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.3.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", - "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.reduce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", - "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/optionator/node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-root-regex": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/playwright": { - "version": "1.63.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz", - "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.63.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/playwright-core": { - "version": "1.63.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz", - "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/plugin-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", - "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^1.0.1", - "arr-diff": "^4.0.0", - "arr-union": "^3.1.0", - "extend-shallow": "^3.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/plugin-error/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/plugin-error/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/plugin-error/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qified": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz", - "integrity": "sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hookified": "^2.1.1" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/qified/node_modules/hookified": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hookified/-/hookified-2.2.0.tgz", - "integrity": "sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==", - "dev": true, - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-not/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-not/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-not/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexp-tree": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", - "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", - "dev": true, - "license": "MIT", - "bin": { - "regexp-tree": "bin/regexp-tree" - } - }, - "node_modules/remove-bom-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", - "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5", - "is-utf8": "^0.2.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/remove-bom-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", - "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "remove-bom-buffer": "^3.0.0", - "safe-buffer": "^5.1.0", - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remove-bom-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true, - "license": "ISC" - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/replace-ext": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", - "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/replace-homedir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", - "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "homedir-polyfill": "^1.0.1", - "is-absolute": "^1.0.0", - "remove-trailing-separator": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", - "dev": true, - "license": "ISC" - }, - "node_modules/resolve": { - "version": "1.22.12", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", - "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-options": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", - "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "value-or-function": "^3.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true, - "license": "MIT" - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/sass": { - "version": "1.104.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.104.0.tgz", - "integrity": "sha512-btHMApW2bgolvClhRW8AlQJzgI9lUB3pPSofBQQT+E46GWvf9o0TVQ13SYv5riWZVFyPN+JNz3TKW9XhBlc10w==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^5.0.0", - "immutable": "^5.1.5", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=20.19.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass/node_modules/readdirp": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", - "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/semver-greatest-satisfied-range": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", - "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "sver-compat": "^1.5.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "license": "ISC" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.10.0.tgz", - "integrity": "sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "execa": "^5.1.1", - "fast-glob": "^3.3.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "license": "MIT", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", - "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "license": "MIT", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true, - "license": "MIT" - }, - "node_modules/sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", - "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", - "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/stream-exhaust": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", - "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-shift": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sver-compat": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", - "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "2 || 3" - } - }, - "node_modules/through2-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", - "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - } - }, - "node_modules/through2-filter/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", - "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "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": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true + "name": "blazor-toolkit", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "blazor-toolkit", + "devDependencies": { + "@eslint/js": "^10.0.1", + "@playwright/test": "^1.63.0", + "eslint": "^10.10.0", + "eslint-plugin-security": "^4.0.1", + "globals": "^17.12.0", + "gulp": "^4.0.2", + "gulp-clean-css": "^4.3.0", + "gulp-rename": "^2.1.0", + "gulp-sass": "6.0.1", + "sass": "1.104.0", + "shelljs": "^0.10.0", + "typescript-eslint": "^8.70.0" + } + }, + "node_modules/@cacheable/memory": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.2.0.tgz", + "integrity": "sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cacheable/utils": "^2.5.0", + "@keyv/bigmap": "^1.3.1", + "hookified": "^1.15.1", + "keyv": "^5.6.0" + } + }, + "node_modules/@cacheable/utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.5.0.tgz", + "integrity": "sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hashery": "^1.5.1", + "keyv": "^5.6.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.10.1.tgz", + "integrity": "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^3.0.5", + "debug": "^4.3.1", + "minimatch": "^10.2.4" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-array/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": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@eslint/config-array/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": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.8" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@eslint/config-array/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" + }, + "node_modules/@eslint/config-helpers": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.7.0.tgz", + "integrity": "sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/js": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/object-schema": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.3.tgz", + "integrity": "sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@keyv/bigmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz", + "integrity": "sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hashery": "^1.4.0", + "hookified": "^1.15.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "keyv": "^5.6.0" + } + }, + "node_modules/@keyv/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.6.0.tgz", + "integrity": "sha512-7FNeNl8NCE7aINx7WXiKQrPYZWC/hvrTsmk6zmxbI7LTXE7hVek/n8AfVgpe2y82zl3w0HvCHN0bVKMBoJcC0w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.6.0", + "@parcel/watcher-darwin-arm64": "2.6.0", + "@parcel/watcher-darwin-x64": "2.6.0", + "@parcel/watcher-freebsd-x64": "2.6.0", + "@parcel/watcher-linux-arm-glibc": "2.6.0", + "@parcel/watcher-linux-arm-musl": "2.6.0", + "@parcel/watcher-linux-arm64-glibc": "2.6.0", + "@parcel/watcher-linux-arm64-musl": "2.6.0", + "@parcel/watcher-linux-x64-glibc": "2.6.0", + "@parcel/watcher-linux-x64-musl": "2.6.0", + "@parcel/watcher-win32-arm64": "2.6.0", + "@parcel/watcher-win32-x64": "2.6.0" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.6.0.tgz", + "integrity": "sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.6.0.tgz", + "integrity": "sha512-Y3QV0gl7Q1zbfueunkWIERICbEojQFCgpyG7YqOGNFLsckXyI1xu9mAIUpKY9QBYzBtSkN8dBPwd3yiAO9ovMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.6.0.tgz", + "integrity": "sha512-Ohv6OpzhUfKYD7Beb8kDvG0jbIxORCYY1JRdZnaBtnjjkJxgD7ZVL0nw2sCYd0yTMKTvz3nnTnOF3cDifK+kvw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.6.0.tgz", + "integrity": "sha512-5HmXvDgs8VK+74jF9y9/2FE3/OnlcKmc56tjmSrEuZjpSZOGL+fvAu+HKJBdPs9uwoP2hE6TlSUpXZ/C5jUFmQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.6.0.tgz", + "integrity": "sha512-Ps/hui3A+vMbjdqlqAowK2ZL8+BO8dBjxeWXj6npTBs3jx4wWmbPpaLuqwrQrSqIVMCnpWo238bJ1U37GhQOYg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.6.0.tgz", + "integrity": "sha512-9c6AUHgHoG+IY88MRIHupztQiQnrbqHYQjkM2btA+Bf/wQnQMuiD0Wfk1EVv3TlNT3x41uU71rn6E4xh/+zvkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.6.0.tgz", + "integrity": "sha512-yHRqS2owEXe6Hic9z6Mh1ECsCd+ODVOGvZDyciqRd21+v+o+DnXMOrw50DSpIG2sb8GPEaPPmfeCAWKPJdq46g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.6.0.tgz", + "integrity": "sha512-WhB2e/V7rqdHHWZusBSPuy5Ei8S6lSz6FE5TKKQz5h3a0O+C+mhY7vxU9b/stqvMb8beLnPY82ZrFTLKs+SrKA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.6.0.tgz", + "integrity": "sha512-ulGE6x6Oz6iAwg75T8YQSoguBWasniIbX+QWpaYPcCnDOpdWX3k+4xbEYPZVLxOuoJI+svJJPD3sEj8G7lrQ3A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.6.0.tgz", + "integrity": "sha512-tkBYKt7YQrjIJWYDnto2YgO8MRkjlMTSNoRHzsXinBqbLdeOM3L32wPZJvIZxqaLMfSlS/4sUjH/6STVP/XDLw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.6.0.tgz", + "integrity": "sha512-gIZAP23jaHjGWasY/TY6yL7NHFClf0Ga7FN+iINvk+KN94rhm94lYZhFsbYFNcA04/onvGD9kKmiJLJB2HbNwQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.6.0.tgz", + "integrity": "sha512-cA+/pXV2YkfxlIcXOQ5fSWqAzzPyD78/x5qbK/I0vUkrlYHA8TIz+MXjAbGouguKVSI4bOmkTSJ1/poVSsgt+A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@playwright/test": { + "version": "1.63.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.63.0.tgz", + "integrity": "sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.63.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.70.0.tgz", + "integrity": "sha512-/v8HZt6RlyIZxB3ntehELOcUcfxKPVGWXnQdJuHRmzrqgF8nQypcC/oxGW+Ot4VGKDq81XugPKxx0n5PBtf9PA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.70.0", + "@typescript-eslint/type-utils": "8.70.0", + "@typescript-eslint/utils": "8.70.0", + "@typescript-eslint/visitor-keys": "8.70.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.70.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.9.tgz", + "integrity": "sha512-brTTsvFRt5C1gGHtPst/281UjPD5t9fBqbgoMPlVWy11ZLTPfu7HxK4ZYqO9H7o/yC9rSTCI85EaQ4OoY12qYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.70.0.tgz", + "integrity": "sha512-zYvrmj9Yxd63UGaXw+kdt6A0F0s0qveJyuatIM77bYC2DE4pgmg7a50u8LR7PRtXd0x+h+Tl3eXabGm06SWd3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.70.0", + "@typescript-eslint/types": "8.70.0", + "@typescript-eslint/typescript-estree": "8.70.0", + "@typescript-eslint/visitor-keys": "8.70.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/parser/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": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/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" + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.70.0.tgz", + "integrity": "sha512-hFHbTNqhU9G+2eKFXCBVb1tjFT/LceiJ4+HfLO4pTpDI0KHi6iajpcFFkaSQ9gXmCh7n82A0PthaayEdN6mspQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.70.0", + "@typescript-eslint/types": "^8.70.0", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service/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": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/project-service/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" + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.70.0.tgz", + "integrity": "sha512-8nP3Kwh5hlgZ4FicGvmznAmJe8UL4sdU8tLukrPaMuQmDuk4Y8xYfzu/aYZW4xT2JCgc7H/TpDI5cGlxcWJSqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.70.0", + "@typescript-eslint/visitor-keys": "8.70.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.70.0.tgz", + "integrity": "sha512-adnkeeNq9Sq1sUf4+FRVc0KdgYghzsgFpZSQVZVvY0LCuUuN0FnQgyGzCJeC4fW1cdXseBAjU2EOqUIjbNcZUw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.70.0.tgz", + "integrity": "sha512-NUMKIhYVaVIVLnRL9CRt+VVcuLgSHUCpXn4/+K8wql+vdInUzvx8BjUO1oJ7cG9shjFJKtF8F8Hh2kCh3/KBVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.70.0", + "@typescript-eslint/typescript-estree": "8.70.0", + "@typescript-eslint/utils": "8.70.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils/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": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/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" + }, + "node_modules/@typescript-eslint/types": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.70.0.tgz", + "integrity": "sha512-asTOIYhDg4zdzOScCyaytrsV3cR6B4ecPQlXw/dJIm7J/MZTtCtfVII9JD8Geh4jTCrK/Xe6cg5UevoleMcoJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.70.0.tgz", + "integrity": "sha512-d9NmHMPEKQ7QCLLm1jI3zmoQBwT5KwFYjXBJ9ymZfKCUU+5rmTRykKAFvH5Qn/ZCds3CEAFS9OC9M/jkl0X2bA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.70.0", + "@typescript-eslint/tsconfig-utils": "8.70.0", + "@typescript-eslint/types": "8.70.0", + "@typescript-eslint/visitor-keys": "8.70.0", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" + } + }, + "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": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/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": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.8" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/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" + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.70.0.tgz", + "integrity": "sha512-oZmtKJz/4fufZ2p3+Cn3ijEojcdfR+1zYDH2xKYrEly0dR/Q/1xUPRCOlKGxod78nWlU2UnDe09GZ3TaknBFGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.70.0", + "@typescript-eslint/types": "8.70.0", + "@typescript-eslint/typescript-estree": "8.70.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.70.0.tgz", + "integrity": "sha512-BoC8PiO4Hkdo0TVJh9Ntxr5MxPDI7/oFsrygN5ADelFSeXG/qgNuucIGA+L5Z6JpPTE/uRfcTWtscjbUaufepQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.70.0", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "license": "ISC", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-equal": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" + }, + "node_modules/async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-done": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", + "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cacheable": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.5.0.tgz", + "integrity": "sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cacheable/memory": "^2.2.0", + "@cacheable/utils": "^2.5.0", + "hookified": "^1.15.0", + "keyv": "^5.6.0", + "qified": "^0.10.1" + } + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", + "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "dev": true, + "license": "ISC", + "dependencies": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "node_modules/each-props/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "dev": true, + "hasInstallScript": true, + "license": "ISC", + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.10.0.tgz", + "integrity": "sha512-NPXn6r5zl4uET1DAVPaOwzX3rut4c0wcmw3dWJAfOsTM5+TogXo0DDjz8pwm/hL8cyVNpHqeK4JpN0NjnyFFNw==", + "dev": true, + "license": "MIT", + "workspaces": [ + "packages/*" + ], + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.7.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.3", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "11.1.5 || >11.1.6 <12", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "minimatch": "^10.2.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-security": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-4.0.1.tgz", + "integrity": "sha512-/lZCkOxPOWaf1jXAqgICrS8St3BMBccIPvhOSUYuV6VCr1o5nFVG998FnTLt6w2Nxb8Uo0nM8fzmnhp+GY/aEg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-regex": "^2.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-security/node_modules/safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "regexp-tree": "~0.1.1" + } + }, + "node_modules/eslint-scope": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/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": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz", + "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/eslint/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": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "10.2.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz", + "integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.8" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eslint/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" + }, + "node_modules/eslint/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", + "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "license": "ISC", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-glob/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/fast-glob/node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/fast-glob/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "11.1.5", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.5.tgz", + "integrity": "sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^6.1.23" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flat-cache": { + "version": "6.1.23", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.23.tgz", + "integrity": "sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cacheable": "^2.5.0", + "flatted": "^3.4.2", + "hookified": "^1.15.0" + } + }, + "node_modules/flatted": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.4.tgz", + "integrity": "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "dev": true, + "license": "MIT", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fs-mkdirp-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true, + "license": "ISC" + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/globals": { + "version": "17.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.12.0.tgz", + "integrity": "sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-clean-css": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", + "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-css": "4.2.3", + "plugin-error": "1.0.1", + "through2": "3.0.1", + "vinyl-sourcemaps-apply": "0.2.1" + } + }, + "node_modules/gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-rename": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.1.0.tgz", + "integrity": "sha512-dGuzuH8jQGqCMqC544IEPhs5+O2l+IkdoSZsgd4kY97M1CxQeI3qrmweQBIrxLBbjbe/8uEWK8HHcNBc3OCy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sass": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-6.0.1.tgz", + "integrity": "sha512-4wonidxB8lGPHvahelpGavUBJAuERSl+OIVxPCyQthK4lSJhZ/u3/qjFcyAtnMIXDl6fXTn34H4BXsN7gt54kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.clonedeep": "^4.5.0", + "picocolors": "^1.0.0", + "plugin-error": "^1.0.1", + "replace-ext": "^2.0.0", + "strip-ansi": "^6.0.1", + "vinyl-sourcemaps-apply": "^0.2.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "glogg": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hashery": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz", + "integrity": "sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hookified": "^1.15.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hookified": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz", + "integrity": "sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz", + "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==", + "dev": true, + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.2.tgz", + "integrity": "sha512-AIbwAcazqP3R65dGvqk1V+a+vE5Fg1yu/ZKMOiBWSUIXXiwQkYmXQcVa2O0nh0tSDKDFKxG2mY7dB1Sr4hEP1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.4.tgz", + "integrity": "sha512-bv5z95W0dDtLfKwDfkTNxaRxmISBD3eQBKJeVxv2AQ7MjuUnDNG7cIQqvFtMOUYhsILWHhMayWdoGqNqYYYjww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.2", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.1.0.tgz", + "integrity": "sha512-bUi/yjmtKYcRVUtWRGr0UA6xEFh2I6zWUwMrUXB3s7bmYCaZ8a+0ZsTRkrawh/mzlSD1Y0Ph8bp/U+TvBpWDNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz", + "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", + "dev": true, + "license": "MIT", + "dependencies": { + "flush-write-stream": "^1.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/liftoff/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/make-iterator/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/nan": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.28.0.tgz", + "integrity": "sha512-fTsDz99OTq2sVePhGdp4qQhggZFtKr64ZNVyVajRKtMOkJxYekplBh577PiJB12v/D3s2E5cGtOI45LWp6rnLQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.3.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", + "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/optionator/node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/playwright": { + "version": "1.63.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.63.0.tgz", + "integrity": "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.63.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/playwright-core": { + "version": "1.63.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.63.0.tgz", + "integrity": "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/plugin-error/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qified": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz", + "integrity": "sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hookified": "^2.1.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/qified/node_modules/hookified": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-2.2.0.tgz", + "integrity": "sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "dev": true, + "license": "MIT", + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, + "node_modules/remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-bom-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "license": "ISC" + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true, + "license": "ISC" + }, + "node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "value-or-function": "^3.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true, + "license": "MIT" + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/sass": { + "version": "1.104.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.104.0.tgz", + "integrity": "sha512-btHMApW2bgolvClhRW8AlQJzgI9lUB3pPSofBQQT+E46GWvf9o0TVQ13SYv5riWZVFyPN+JNz3TKW9XhBlc10w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^5.0.0", + "immutable": "^5.1.5", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=20.19.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sver-compat": "^1.5.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.10.0.tgz", + "integrity": "sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "execa": "^5.1.1", + "fast-glob": "^3.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "license": "MIT", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", + "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true, + "license": "MIT" + }, + "node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.8.tgz", + "integrity": "sha512-SceYGWXvdqlWa/OnQ5FQuV+NxvNmMRhMw/w9AHkH71hTzveND4BTYgvp16g+oITK47qbOl/3D0bl0iygehWAWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true, + "license": "MIT" + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "2 || 3" + } + }, + "node_modules/through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "node_modules/through2-filter/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "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": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/to-through/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.70.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.70.0.tgz", + "integrity": "sha512-P/W5cz70/cQAuKfY3xwQMWWTV7BvJ0mAQmi+9mBcsVPaBUpd6Ohpa+fECv9rBFrQcig86jAiNBFNWUqnTjr4pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.70.0", + "@typescript-eslint/parser": "8.70.0", + "@typescript-eslint/typescript-estree": "8.70.0", + "@typescript-eslint/utils": "8.70.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/undertaker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", + "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "fast-levenshtein": "^1.0.0", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.4.0.tgz", + "integrity": "sha512-V6QarSfeSgDipGA9EZdoIzu03ZDlOFkk+FbEP5cwgrZXN3iIkYR91IjU2EnM6rB835kGQsqHX8qncObTXV+6KA==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "3.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true, + "license": "MIT" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "license": "MIT", + "dependencies": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==", + "dev": true, + "license": "ISC", + "dependencies": { + "source-map": "^0.5.1" + } + }, + "node_modules/vinyl-sourcemaps-apply/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vinyl/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "node_modules/yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", - "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/to-absolute-glob": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-absolute": "^1.0.0", - "is-negated-glob": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-through": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", - "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/to-through/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/ts-api-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", - "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/type": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/typescript": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.70.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.70.0.tgz", - "integrity": "sha512-P/W5cz70/cQAuKfY3xwQMWWTV7BvJ0mAQmi+9mBcsVPaBUpd6Ohpa+fECv9rBFrQcig86jAiNBFNWUqnTjr4pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.70.0", - "@typescript-eslint/parser": "8.70.0", - "@typescript-eslint/typescript-estree": "8.70.0", - "@typescript-eslint/utils": "8.70.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/undertaker": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", - "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "bach": "^1.0.0", - "collection-map": "^1.0.0", - "es6-weak-map": "^2.0.1", - "fast-levenshtein": "^1.0.0", - "last-run": "^1.1.0", - "object.defaults": "^1.0.0", - "object.reduce": "^1.0.0", - "undertaker-registry": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/undertaker-registry": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unique-stream": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.4.0.tgz", - "integrity": "sha512-V6QarSfeSgDipGA9EZdoIzu03ZDlOFkk+FbEP5cwgrZXN3iIkYR91IjU2EnM6rB835kGQsqHX8qncObTXV+6KA==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-stable-stringify-without-jsonify": "^1.0.1", - "through2-filter": "3.0.0" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true, - "license": "MIT" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/value-or-function": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", - "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl-fs": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", - "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", - "dev": true, - "license": "MIT", - "dependencies": { - "fs-mkdirp-stream": "^1.0.0", - "glob-stream": "^6.1.0", - "graceful-fs": "^4.0.0", - "is-valid-glob": "^1.0.0", - "lazystream": "^1.0.0", - "lead": "^1.0.0", - "object.assign": "^4.0.4", - "pumpify": "^1.3.5", - "readable-stream": "^2.3.3", - "remove-bom-buffer": "^3.0.0", - "remove-bom-stream": "^1.2.0", - "resolve-options": "^1.1.0", - "through2": "^2.0.0", - "to-through": "^2.0.0", - "value-or-function": "^3.0.0", - "vinyl": "^2.0.0", - "vinyl-sourcemap": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl-fs/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/vinyl-sourcemap": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "append-buffer": "^1.0.2", - "convert-source-map": "^1.5.0", - "graceful-fs": "^4.1.6", - "normalize-path": "^2.1.1", - "now-and-later": "^2.0.0", - "remove-bom-buffer": "^3.0.0", - "vinyl": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl-sourcemap/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vinyl-sourcemaps-apply": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==", - "dev": true, - "license": "ISC", - "dependencies": { - "source-map": "^0.5.1" - } - }, - "node_modules/vinyl-sourcemaps-apply/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vinyl/node_modules/replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", - "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.1" - } - }, - "node_modules/yargs-parser": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", - "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^3.0.0", - "object.assign": "^4.1.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } - } } diff --git a/src/Base/Reflection/FastReflectionExtension.cs b/src/Base/Reflection/FastReflectionExtension.cs index fb7415e..df8ce95 100644 --- a/src/Base/Reflection/FastReflectionExtension.cs +++ b/src/Base/Reflection/FastReflectionExtension.cs @@ -1,4 +1,4 @@ -using System.Diagnostics.CodeAnalysis; +using System.Diagnostics.CodeAnalysis; using System.Reflection; namespace Syncfusion.Blazor.Toolkit @@ -17,6 +17,8 @@ public static class FastReflectionExtension /// An that can read the property value from an object. /// Thrown when is null. /// This method throws if is null. + [RequiresUnreferencedCode("Creates a closed generic PropertyAccessor<,> via Type.MakeGenericType, which requires the declaring/property types' members to be preserved and may need runtime code generation.")] + [RequiresDynamicCode("Creates a closed generic PropertyAccessor<,> via Type.MakeGenericType, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static IPropertyAccessor CreateAccessor(PropertyInfo propertyInfo) { ArgumentNullException.ThrowIfNull(propertyInfo); @@ -33,6 +35,8 @@ public static IPropertyAccessor CreateAccessor(PropertyInfo propertyInfo) /// If is null or empty, a no-op accessor is returned. /// /// this method returns a non-functional accessor of type PropertyAccessor<object, object> whose `GetValue` returns null. + [RequiresUnreferencedCode("Creates a closed generic PropertyAccessor<,> via Type.MakeGenericType and looks up the property by name, which requires the object type's members to be preserved and may need runtime code generation.")] + [RequiresDynamicCode("Creates a closed generic PropertyAccessor<,> via Type.MakeGenericType, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static IPropertyAccessor CreateAccessor(Type objectType, string propertyName) { PropertyInfo? propertyInfo = null; diff --git a/src/Base/Reflection/ReflectionExtension.cs b/src/Base/Reflection/ReflectionExtension.cs index 0d3c0f8..5be3f75 100644 --- a/src/Base/Reflection/ReflectionExtension.cs +++ b/src/Base/Reflection/ReflectionExtension.cs @@ -1,4 +1,5 @@ -using System.Dynamic; +using System.Diagnostics.CodeAnalysis; +using System.Dynamic; using System.Reflection; using System.Runtime.CompilerServices; using Microsoft.CSharp.RuntimeBinder; @@ -29,6 +30,8 @@ public static class ReflectionExtension /// For accessing complex or nested property values, provide the /// with field names delimited by a dot (for example, "Address.City"). /// + [RequiresUnreferencedCode("May resolve members via the C# dynamic runtime binder for DynamicObject/ExpandoObject/IDynamicMetaObjectProvider instances, which is unsafe to trim.")] + [RequiresDynamicCode("May resolve members via the C# dynamic runtime binder for DynamicObject/ExpandoObject/IDynamicMetaObjectProvider instances, which may need to generate new code at runtime.")] public static object? GetValue(object obj, string propertyName, bool reflectComplexProperty = true) { if (string.IsNullOrEmpty(propertyName) || obj is null) @@ -55,6 +58,8 @@ public static class ReflectionExtension return value; } + [RequiresUnreferencedCode("May call GetValueFromIDynamicMetaObject, which resolves members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("May call GetValueFromIDynamicMetaObject, which may need to generate new code at runtime.")] private static object? GetValueForDirectProperty(object obj, string propertyName) { Type dataObjectType = obj.GetType(); @@ -83,6 +88,8 @@ public static class ReflectionExtension /// This method dispatches to , , /// or based on the runtime type of . /// + [RequiresUnreferencedCode("May resolve members via the C# dynamic runtime binder for DynamicObject/ExpandoObject/IDynamicMetaObjectProvider instances, which is unsafe to trim.")] + [RequiresDynamicCode("May resolve members via the C# dynamic runtime binder for DynamicObject/ExpandoObject/IDynamicMetaObjectProvider instances, which may need to generate new code at runtime.")] public static object? GetValueFromIDynamicMetaObject(object obj, string propertyName, bool reflectComplexProperty = false) { if (obj is ExpandoObject expandoObject) @@ -112,6 +119,8 @@ public static class ReflectionExtension /// to resolve nested properties delimited by dot (.); otherwise . /// /// The property value of the specified object. + [RequiresUnreferencedCode("Constructs a DataMemberBinder call site to resolve members by name via IDynamicMetaObjectProvider.TryGetMember, which is unsafe to trim.")] + [RequiresDynamicCode("Constructs a DataMemberBinder call site, which may need to generate new code at runtime.")] public static object? GetValueFromDynamicObject(DynamicObject obj, string propertyName, bool reflectComplexProperty = false) { if (obj is null || string.IsNullOrEmpty(propertyName)) @@ -160,6 +169,8 @@ public static class ReflectionExtension /// to resolve nested properties delimited by dot (.); otherwise . /// /// The property value of the specified object. + [RequiresUnreferencedCode("Uses the C# dynamic runtime binder (Microsoft.CSharp.RuntimeBinder.Binder.GetMember) to resolve members by name, which is unsafe to trim.")] + [RequiresDynamicCode("Uses the C# dynamic runtime binder (Microsoft.CSharp.RuntimeBinder.Binder.GetMember) and CallSite.Create, which may need to generate new code at runtime.")] public static object? GetValueFromDynamicMetaObjectProvider(IDynamicMetaObjectProvider obj, string propertyName, bool reflectComplexProperty = false) { if (obj is null || string.IsNullOrEmpty(propertyName)) @@ -211,6 +222,8 @@ public static class ReflectionExtension /// to resolve nested properties delimited by dot (.); otherwise . /// /// The property value of the specified object, or if the key is not found. + [RequiresUnreferencedCode("May call GetValueForDirectProperty to resolve nested members, which is unsafe to trim.")] + [RequiresDynamicCode("May call GetValueForDirectProperty to resolve nested members, which may need to generate new code at runtime.")] public static object? GetValueFromExpandoObject(IDictionary obj, string propertyName, bool reflectComplexProperty = false) { if (obj is null || string.IsNullOrEmpty(propertyName)) @@ -352,6 +365,7 @@ public static class ReflectionExtension /// Provides a dynamic binder for retrieving member values from instances. /// /// + [RequiresDynamicCode("Constructs a GetMemberBinder-derived call site binder, which may need to generate new code at runtime.")] internal class DataMemberBinder(string name, bool ignoreCase) : GetMemberBinder(name, ignoreCase) { public override DynamicMetaObject FallbackGetMember(DynamicMetaObject target, DynamicMetaObject errorSuggestion) @@ -364,6 +378,7 @@ public override DynamicMetaObject FallbackGetMember(DynamicMetaObject target, Dy /// Provides a dynamic binder for setting member values on instances. /// /// + [RequiresDynamicCode("Constructs a SetMemberBinder-derived call site binder, which may need to generate new code at runtime.")] internal class DataSetMemberBinder(string name, bool ignoreCase) : SetMemberBinder(name, ignoreCase) { public override DynamicMetaObject FallbackSetMember(DynamicMetaObject target, DynamicMetaObject value, DynamicMetaObject errorSuggestion) diff --git a/src/Base/SfBaseComponent.cs b/src/Base/SfBaseComponent.cs index 8517ba5..a364c5a 100644 --- a/src/Base/SfBaseComponent.cs +++ b/src/Base/SfBaseComponent.cs @@ -1,6 +1,7 @@ -using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; using Syncfusion.Blazor.Toolkit.Internal; +using System.Diagnostics.CodeAnalysis; using System.Text.Json; namespace Syncfusion.Blazor.Toolkit @@ -400,6 +401,8 @@ internal static async Task InvokeVoidAsync(IJSObjectReference? jsObjectReference /// ]]> /// /// + [RequiresUnreferencedCode("Calls IJSObjectReference.InvokeAsync/IJSInProcessObjectReference.Invoke, whose JSON deserialization of T is unsafe to trim.")] + [RequiresDynamicCode("Calls IJSObjectReference.InvokeAsync/IJSInProcessObjectReference.Invoke, whose JSON deserialization of T may need to generate new code at runtime.")] internal static async Task InvokeAsync(IJSObjectReference jsObjectReference, IJSInProcessObjectReference jsInProcessObjectReference, string identifier, params object[] args) { return await InvokeAsync(jsObjectReference, jsInProcessObjectReference, identifier, isSynchronous: false, args).ConfigureAwait(true); @@ -486,6 +489,8 @@ internal static async Task InvokeAsync(IJSObjectReference jsObjectReferenc /// fontKeys); /// ]]> /// + [RequiresUnreferencedCode("Calls IJSObjectReference.InvokeAsync/IJSInProcessObjectReference.Invoke, whose JSON deserialization of T is unsafe to trim.")] + [RequiresDynamicCode("Calls IJSObjectReference.InvokeAsync/IJSInProcessObjectReference.Invoke, whose JSON deserialization of T may need to generate new code at runtime.")] internal static async Task InvokeAsync(IJSObjectReference jsObjectReference, IJSInProcessObjectReference jsInProcessObjectReference, string identifier, bool isSynchronous, params object[] args) { try diff --git a/src/Base/SfBaseUtils.cs b/src/Base/SfBaseUtils.cs index 91300e3..e2546bf 100644 --- a/src/Base/SfBaseUtils.cs +++ b/src/Base/SfBaseUtils.cs @@ -3,8 +3,6 @@ using System.Linq.Expressions; using System.Reflection; using System.Runtime.Serialization; -using System.Text.Json; -using System.Text.Json.Serialization; using System.Globalization; using System.Text.RegularExpressions; namespace Syncfusion.Blazor.Toolkit.Internal @@ -25,16 +23,6 @@ internal class SfBaseUtils typeof(int[,]).Name, typeof(double[,]).Name, typeof(int?[,]).Name, typeof(decimal[,]).Name ]; - /// - /// JSON serializer options configured to ignore cycles and read-only properties. - /// - /// - private static readonly JsonSerializerOptions _jsonOptions = new() - { - ReferenceHandler = ReferenceHandler.IgnoreCycles, - IgnoreReadOnlyProperties = true - }; - /// /// Adds or updates a value in the specified dictionary based on the provided key. /// If the dictionary is null, a new instance will be created. @@ -67,19 +55,44 @@ internal static bool Equals(T oldValue, T newValue) { Type? valueType = oldValue?.GetType(); bool isValueCollection = valueType != null && valueType.IsArray; - // Compare collection values using Json Serializer + // Compare array values element-by-element instead of round-tripping through + // JsonSerializer, so this comparison stays reflection-free and AOT/trim compatible. if (isValueCollection) { if (!_multidimensionalArrayTypes.Contains(valueType?.Name ?? string.Empty)) { - string oldString = JsonSerializer.Serialize(oldValue, _jsonOptions); - string newString = JsonSerializer.Serialize(newValue, _jsonOptions); - return string.Equals(oldString, newString, StringComparison.Ordinal); + return ArraysEqual(oldValue as Array, newValue as Array); } } return EqualityComparer.Default.Equals(oldValue, newValue); } + /// + /// Recursively compares two single-dimensional (including jagged) arrays element-by-element. + /// + /// The original array. + /// The new array. + /// if both arrays contain equal elements in the same order; otherwise . + private static bool ArraysEqual(Array? oldArray, Array? newArray) + { + if (ReferenceEquals(oldArray, newArray)) + { + return true; + } + if (oldArray is null || newArray is null || oldArray.Length != newArray.Length) + { + return false; + } + for (int i = 0; i < oldArray.Length; i++) + { + if (!Equals(oldArray.GetValue(i), newArray.GetValue(i))) + { + return false; + } + } + return true; + } + /// /// Normalizes a CSS dimension string by appending px when no valid unit is present. /// @@ -183,8 +196,9 @@ internal static async Task InvokeEventAsync(object eventFn, T eventArgs) } else if (conversionType.Name == "TimeSpan") { - string tempValue = JsonSerializer.Serialize(dataValue); - dataValue = JsonSerializer.Deserialize(tempValue, conversionType)!; + // Parse directly instead of round-tripping through JsonSerializer, keeping this + // conversion reflection-free and AOT/trim compatible. + dataValue = TimeSpan.Parse(dataValue.ToString() ?? string.Empty, CultureInfo.InvariantCulture); } CultureInfo currentCulture = isParseValue ? CultureInfo.InvariantCulture : CultureInfo.CurrentCulture; diff --git a/src/Components/Charts/Chart/Renderer/UserInteractions/Selection/DragSelection.cs b/src/Components/Charts/Chart/Renderer/UserInteractions/Selection/DragSelection.cs index 488ed93..3c6e3d2 100644 --- a/src/Components/Charts/Chart/Renderer/UserInteractions/Selection/DragSelection.cs +++ b/src/Components/Charts/Chart/Renderer/UserInteractions/Selection/DragSelection.cs @@ -1,5 +1,6 @@ -using System.Runtime.InteropServices; +using System.Runtime.InteropServices; using Microsoft.JSInterop; +using System.Diagnostics.CodeAnalysis; using System.Globalization; namespace Syncfusion.Blazor.Toolkit.Charts.Internal @@ -23,6 +24,8 @@ internal partial class Selection : BaseSelection /// This method handles different drag scenarios including rectangle grabbing, resizing, and lasso drawing /// based on the current selection mode and mouse position within the series clip rectangle. /// + [RequiresUnreferencedCode("May call CompleteSelectionAsync, which calls SfBaseComponent.InvokeAsync and is unsafe to trim.")] + [RequiresDynamicCode("May call CompleteSelectionAsync, which calls SfBaseComponent.InvokeAsync and may need to generate new code at runtime.")] private void DragSelectionProcess(ChartInternalMouseEventArgs e) { if (_chartInstance is null) @@ -977,6 +980,8 @@ private void ProcessDragCompletionAsync(Rect previousRect) /// Processes lasso completion operations including path closure and checking. /// /// The chart mouse event arguments. + [RequiresUnreferencedCode("Calls LassoCheckingAsync, which calls SfBaseComponent.InvokeAsync and is unsafe to trim.")] + [RequiresDynamicCode("Calls LassoCheckingAsync, which calls SfBaseComponent.InvokeAsync and may need to generate new code at runtime.")] private async Task ProcessLassoCompletionAsync(ChartInternalMouseEventArgs e) { if (_chartInstance is not null && _chartInstance.SelectionMode == ChartSelectionMode.Lasso && _dragging && _lassoDownCompleted && _lassoPaths.Count > 0) @@ -1017,6 +1022,8 @@ private async Task ProcessLassoCompletionAsync(ChartInternalMouseEventArgs e) /// Uses browser APIs to check if data points fall within the lasso path polygon. /// Updates point selection state and maintains multi-selection tracking. /// + [RequiresUnreferencedCode("Calls ProcessLassoSeriesPointsAsync, which calls SfBaseComponent.InvokeAsync and is unsafe to trim.")] + [RequiresDynamicCode("Calls ProcessLassoSeriesPointsAsync, which calls SfBaseComponent.InvokeAsync and may need to generate new code at runtime.")] private async Task LassoCheckingAsync(string lassoPathId) { if (_chartInstance is null || _chartInstance.JSRuntime is null || _chartInstance._seriesContainer is null) @@ -1043,6 +1050,8 @@ private async Task LassoCheckingAsync(string lassoPathId) /// The lasso path ID. /// The X offset. /// The Y offset. + [RequiresUnreferencedCode("Calls SfBaseComponent.InvokeAsync, whose JSON deserialization of T is unsafe to trim.")] + [RequiresDynamicCode("Calls SfBaseComponent.InvokeAsync, whose JSON deserialization of T may need to generate new code at runtime.")] private async Task ProcessLassoSeriesPointsAsync(ChartSeriesRenderer series, string lassoPathId, double offsetX, double offsetY) { if (series.Points is null) diff --git a/src/Components/Charts/Chart/Renderer/UserInteractions/Selection/Selection.cs b/src/Components/Charts/Chart/Renderer/UserInteractions/Selection/Selection.cs index 904f930..46a2696 100644 --- a/src/Components/Charts/Chart/Renderer/UserInteractions/Selection/Selection.cs +++ b/src/Components/Charts/Chart/Renderer/UserInteractions/Selection/Selection.cs @@ -1,5 +1,6 @@ -using System.Runtime.InteropServices; +using System.Runtime.InteropServices; using Microsoft.JSInterop; +using System.Diagnostics.CodeAnalysis; namespace Syncfusion.Blazor.Toolkit.Charts.Internal { @@ -223,6 +224,8 @@ private void InitPrivateVariables() /// /// The event source. /// The mouse event arguments. + [RequiresUnreferencedCode("Calls DragSelectionProcess, which may call SfBaseComponent.InvokeAsync and is unsafe to trim.")] + [RequiresDynamicCode("Calls DragSelectionProcess, which may call SfBaseComponent.InvokeAsync and may need to generate new code at runtime.")] protected void MouseMoveHandler(object? source, ChartInternalMouseEventArgs args) { DragSelectionProcess(args); diff --git a/src/Components/Charts/Chart/Renderer/UserInteractions/ZoomToolkit.cs b/src/Components/Charts/Chart/Renderer/UserInteractions/ZoomToolkit.cs index 3a99fcb..f214d17 100644 --- a/src/Components/Charts/Chart/Renderer/UserInteractions/ZoomToolkit.cs +++ b/src/Components/Charts/Chart/Renderer/UserInteractions/ZoomToolkit.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Rendering; using Microsoft.AspNetCore.Components.Web; +using System.Diagnostics.CodeAnalysis; using System.Globalization; namespace Syncfusion.Blazor.Toolkit.Charts.Internal @@ -75,6 +76,12 @@ protected override void OnInitialized() /// Handles keyboard focus for accessibility when required. /// /// Indicates whether this is the first render of the component. + // SfBaseComponent.InvokeAsync requires unreferenced code/dynamic code for its generic JSON deserialization + // of T. This lifecycle override cannot carry [RequiresUnreferencedCode]/[RequiresDynamicCode] itself because + // its signature is fixed by the ComponentBase.OnAfterRenderAsync contract, which does not carry the + // attribute. Suppressed here as a documented last resort at this architectural boundary; T is bool here. + [UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "ComponentBase.OnAfterRenderAsync override cannot carry [RequiresUnreferencedCode]; T is bool, a simple non-reflection-sensitive type.")] + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "ComponentBase.OnAfterRenderAsync override cannot carry [RequiresDynamicCode]; T is bool, a simple non-reflection-sensitive type.")] protected override async Task OnAfterRenderAsync(bool firstRender) { if (!firstRender && !string.IsNullOrEmpty(Chart?._zoomingKeyboardFocusTarget)) diff --git a/src/Components/Charts/Chart/SfChart.razor.JsInterop.cs b/src/Components/Charts/Chart/SfChart.razor.JsInterop.cs index bfc0186..b748ee6 100644 --- a/src/Components/Charts/Chart/SfChart.razor.JsInterop.cs +++ b/src/Components/Charts/Chart/SfChart.razor.JsInterop.cs @@ -1,4 +1,4 @@ -using Microsoft.JSInterop; +using Microsoft.JSInterop; using Syncfusion.Blazor.Toolkit.Charts.Internal; using System.ComponentModel; using System.Text.Json; @@ -653,6 +653,8 @@ public void OnZoomingMouseDown(ChartInternalMouseEventArgs args, bool isChartPan /// [EditorBrowsable(EditorBrowsableState.Never)] [JSInvokable] + [RequiresUnreferencedCode("Calls ProcessChartMouseMove, which may call SfBaseComponent.InvokeAsync and is unsafe to trim.")] + [RequiresDynamicCode("Calls ProcessChartMouseMove, which may call SfBaseComponent.InvokeAsync and may need to generate new code at runtime.")] public void OnZoomingMouseMove(ChartInternalMouseEventArgs args) { if (args is null || _isLayoutChange) diff --git a/src/Components/Charts/Chart/SfChart.razor.PointerEvents.cs b/src/Components/Charts/Chart/SfChart.razor.PointerEvents.cs index 2a44e00..f4b96d9 100644 --- a/src/Components/Charts/Chart/SfChart.razor.PointerEvents.cs +++ b/src/Components/Charts/Chart/SfChart.razor.PointerEvents.cs @@ -1,4 +1,5 @@ -using Syncfusion.Blazor.Toolkit.Charts.Internal; +using Syncfusion.Blazor.Toolkit.Charts.Internal; +using System.Diagnostics.CodeAnalysis; namespace Syncfusion.Blazor.Toolkit.Charts { @@ -32,6 +33,8 @@ private void IsTouchEnabled(ChartInternalMouseEventArgs args) /// Processes mouse move events over the chart and triggers associated handlers. /// /// The chart internal mouse event arguments containing position and target information + [RequiresUnreferencedCode("May call MouseMoveHandlerAsync, which calls SfBaseComponent.InvokeAsync and is unsafe to trim.")] + [RequiresDynamicCode("May call MouseMoveHandlerAsync, which calls SfBaseComponent.InvokeAsync and may need to generate new code at runtime.")] private void ProcessChartMouseMove(ChartInternalMouseEventArgs args) { args.ID = ID; diff --git a/src/Components/Charts/Chart/UserInteractions/Tooltip/ChartStriplineTooltipSettings.cs b/src/Components/Charts/Chart/UserInteractions/Tooltip/ChartStriplineTooltipSettings.cs index d915423..4d7c23e 100644 --- a/src/Components/Charts/Chart/UserInteractions/Tooltip/ChartStriplineTooltipSettings.cs +++ b/src/Components/Charts/Chart/UserInteractions/Tooltip/ChartStriplineTooltipSettings.cs @@ -1,4 +1,4 @@ -using System.Diagnostics.CodeAnalysis; +using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Text; using Syncfusion.Blazor.Toolkit.Internal; @@ -108,6 +108,8 @@ private static bool TryHitStriplineRects(IEnumerable ren /// /// Renders or updates the stripline tooltip for the given axis/stripline. /// + [RequiresUnreferencedCode("Calls SfBaseComponent.InvokeAsync, whose JSON deserialization of T is unsafe to trim.")] + [RequiresDynamicCode("Calls SfBaseComponent.InvokeAsync, whose JSON deserialization of T may need to generate new code at runtime.")] private async Task RenderOrUpdateTooltipAsync(ChartAxis axis, ChartStripline stripline) { _settings = stripline.StriplineTooltip; @@ -407,6 +409,8 @@ private static string ParseStriplineTemplate( /// Handles mouse move over the chart to render or hide stripline tooltips. /// /// The DOM id of the target element under the cursor. + [RequiresUnreferencedCode("Calls RenderOrUpdateTooltipAsync, which calls SfBaseComponent.InvokeAsync and is unsafe to trim.")] + [RequiresDynamicCode("Calls RenderOrUpdateTooltipAsync, which calls SfBaseComponent.InvokeAsync and may need to generate new code at runtime.")] internal async Task MouseMoveHandlerAsync(string targetID) { if (Chart is null || diff --git a/src/Data/Adaptors/AdaptorBase.cs b/src/Data/Adaptors/AdaptorBase.cs index cf2ea86..984a3ae 100644 --- a/src/Data/Adaptors/AdaptorBase.cs +++ b/src/Data/Adaptors/AdaptorBase.cs @@ -1,4 +1,6 @@ -namespace Syncfusion.Blazor.Toolkit.Data +using System.Diagnostics.CodeAnalysis; + +namespace Syncfusion.Blazor.Toolkit.Data { /// /// Provides the members for data adaptor class. @@ -42,6 +44,13 @@ public interface IAdaptor /// Specifies the data source model type. /// Specifies the query. /// Task. + /// + /// Implementations (such as ) may perform in-memory dynamic query + /// operations that build closed generic reflection methods via , + /// which requires preserving members for trimming and may generate code at runtime for AOT scenarios. + /// + [RequiresUnreferencedCode("Implementations may perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Implementations may perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] Task PerformDataOperation(object queries); /// @@ -156,6 +165,8 @@ public virtual object ProcessQuery(DataManagerRequest queries) /// Specifies the data source model type. /// Specifies the query. /// Task. + [RequiresUnreferencedCode("Implementations may perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Implementations may perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public virtual async Task PerformDataOperation(object queries) { return await Task.FromResult(null!).ConfigureAwait(false); diff --git a/src/Data/Adaptors/BlazorAdaptor.cs b/src/Data/Adaptors/BlazorAdaptor.cs index fd3756e..59bd1e9 100644 --- a/src/Data/Adaptors/BlazorAdaptor.cs +++ b/src/Data/Adaptors/BlazorAdaptor.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Collections; +using System.Diagnostics.CodeAnalysis; using System.Dynamic; using Syncfusion.Blazor.Toolkit.Internal; @@ -51,6 +52,8 @@ public override object ProcessQuery(DataManagerRequest queries) /// A task that represents the asynchronous operation. The result contains either a DataResult object with the /// operation results and count information, or the operation result collection, depending on the query /// parameters. + [RequiresUnreferencedCode("Calls DataOperationInvoke, which in turn calls DynamicObjectOperation.PerformDataOperations and DataUtil.PerformAggregation, both of which build closed generic methods via MethodInfo.MakeGenericMethod and are unsafe to trim.")] + [RequiresDynamicCode("Calls DataOperationInvoke, which in turn calls DynamicObjectOperation.PerformDataOperations and DataUtil.PerformAggregation, both of which build closed generic methods via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public override async Task PerformDataOperation(object queries) { IEnumerable DataSource = DataManager.Json; //Component data source should be propagated here. @@ -80,6 +83,8 @@ public override async Task PerformDataOperation(object queries) /// Data source value. /// Query to be processed. /// DataResult. + [RequiresUnreferencedCode("Calls DynamicObjectOperation.PerformDataOperations and DataUtil.PerformAggregation, both of which build closed generic methods via MethodInfo.MakeGenericMethod and are unsafe to trim.")] + [RequiresDynamicCode("Calls DynamicObjectOperation.PerformDataOperations and DataUtil.PerformAggregation, both of which build closed generic methods via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static DataResult DataOperationInvoke( IEnumerable dataSource, DataManagerRequest queries) { @@ -202,6 +207,8 @@ public static DataResult DataOperationInvoke( /// The collection of data to be grouped. Must implement IEnumerable. /// The DataResult object that will hold the grouped result and count. Cannot be null. /// A DataResult object containing the grouped data and the total count after grouping. + [RequiresUnreferencedCode("Calls DataUtil.Group, which calls CalculateAggregateFunc and returns a delegate that is unsafe to trim.")] + [RequiresDynamicCode("Calls DataUtil.Group, which calls CalculateAggregateFunc and returns a delegate that may need to generate new code at runtime.")] public static DataResult GroupResult(DataManagerRequest queries, IEnumerable DataSource, DataResult DataObject) { ArgumentNullException.ThrowIfNull(queries); @@ -228,6 +235,8 @@ public static DataResult GroupResult(DataManagerRequest queries, IEnumerable /// Data source value. /// Query to be processed. /// IEnumerable. + [RequiresUnreferencedCode("May call DataOperations.PerformSorting, which builds a closed generic sort method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("May call DataOperations.PerformSorting, which builds a closed generic sort method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable CollectChildRecords(IEnumerable datasource, DataManagerRequest dm) { if (datasource == null || dm == null) { return null!; } diff --git a/src/Data/Attributes.cs b/src/Data/Attributes.cs index 5d8c2b8..0290d04 100644 --- a/src/Data/Attributes.cs +++ b/src/Data/Attributes.cs @@ -5,6 +5,7 @@ using System.Text; using System.Dynamic; using System.Reflection; +using System.Diagnostics.CodeAnalysis; namespace Syncfusion.Blazor.Toolkit.Data { @@ -280,6 +281,13 @@ public override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerial /// The value to write. /// Serialization options (not used). + // This overrides JsonConverter.Write, which is not annotated with [RequiresUnreferencedCode]/ + // [RequiresDynamicCode], so the attributes cannot be repeated here (override signatures must match + // the base member). The trim/AOT risk is documented on WriteProperties/WritePropertiesRecursive below; + // callers reach this converter only through JsonSerializer.Serialize, which already carries the + // corresponding Requires attributes and surfaces the warning to the ultimate caller. + [UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Calls WriteProperties, which is annotated with [RequiresUnreferencedCode]; this override of JsonConverter.Write cannot itself carry the attribute.")] + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Calls WriteProperties, which is annotated with [RequiresDynamicCode]; this override of JsonConverter.Write cannot itself carry the attribute.")] public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options) { ArgumentNullException.ThrowIfNull(writer); @@ -288,11 +296,15 @@ public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions writer.WriteEndObject(); } + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize(Utf8JsonWriter, object, Type, JsonSerializerOptions), which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize(Utf8JsonWriter, object, Type, JsonSerializerOptions), which may need to generate new code at runtime.")] private void WriteProperties(Utf8JsonWriter writer, object value, JsonSerializerOptions options) { WritePropertiesRecursive(writer, value, options, []); } + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize(Utf8JsonWriter, object, Type, JsonSerializerOptions), which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize(Utf8JsonWriter, object, Type, JsonSerializerOptions), which may need to generate new code at runtime.")] private void WritePropertiesRecursive(Utf8JsonWriter writer, object value, JsonSerializerOptions options, List contextPath) { Type type = value.GetType(); diff --git a/src/Data/BaseComponent.cs b/src/Data/BaseComponent.cs index b3145d2..9e36c8b 100644 --- a/src/Data/BaseComponent.cs +++ b/src/Data/BaseComponent.cs @@ -12,6 +12,7 @@ using Microsoft.AspNetCore.Components.Forms; using System.Globalization; using System.Security.Cryptography; +using System.Diagnostics.CodeAnalysis; namespace Syncfusion.Blazor.Toolkit.Data { @@ -342,6 +343,12 @@ protected override async Task OnInitializedAsync() } /// /// + // This overrides ComponentBase.OnAfterRenderAsync, which is not annotated with [RequiresUnreferencedCode]/ + // [RequiresDynamicCode], so the attributes cannot be repeated here. The trim/AOT risk is documented on + // InitComponentAsync (called below), which callers reach only through this Blazor-framework-invoked + // lifecycle hook. + [UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Calls InitComponentAsync, which is annotated with [RequiresUnreferencedCode]; this override of ComponentBase.OnAfterRenderAsync cannot itself carry the attribute.")] + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Calls InitComponentAsync, which is annotated with [RequiresDynamicCode]; this override of ComponentBase.OnAfterRenderAsync cannot itself carry the attribute.")] protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender).ConfigureAwait(false); @@ -376,6 +383,8 @@ protected override async Task OnAfterRenderAsync(bool firstRender) } #endregion + [RequiresUnreferencedCode("Calls OnInitRenderAsync, which is unsafe to trim.")] + [RequiresDynamicCode("Calls OnInitRenderAsync, which may need to generate new code at runtime.")] internal async Task InitComponentAsync() { // The below condition avoid to reinitialize the already rendered component through ResourceManager. @@ -391,6 +400,8 @@ internal virtual async Task InitialRenderedAsync() /// [EditorBrowsable(EditorBrowsableState.Never)] + [RequiresUnreferencedCode("Calls GetUpdateModel, which is unsafe to trim.")] + [RequiresDynamicCode("Calls GetUpdateModel, which may need to generate new code at runtime.")] public async Task OnInitRenderAsync() { if (SyncfusionService!.IsFirstBaseResource) @@ -482,6 +493,8 @@ internal void CommonDispose() /// // No explicit call is needed in most scenarios. /// ]]> /// + [RequiresUnreferencedCode("Calls SyncfusionInterop.InvokeMethodAsync, which is unsafe to trim.")] + [RequiresDynamicCode("Calls SyncfusionInterop.InvokeMethodAsync, which may need to generate new code at runtime.")] public virtual void Dispose() { CommonDispose(); @@ -502,6 +515,8 @@ public virtual void Dispose() /// Calls the JavaScript refresh method for the component identified by . /// Has no effect if the component has not been rendered yet. /// + [RequiresUnreferencedCode("Calls SyncfusionInterop.InvokeMethodAsync, which is unsafe to trim.")] + [RequiresDynamicCode("Calls SyncfusionInterop.InvokeMethodAsync, which may need to generate new code at runtime.")] public async void Refresh() { if (NameSpace != null && IsRendered) @@ -511,6 +526,8 @@ public async void Refresh() } /// + [RequiresUnreferencedCode("Calls SerialiazeBindableProp, which is unsafe to trim.")] + [RequiresDynamicCode("Calls SerialiazeBindableProp, which may need to generate new code at runtime.")] public async Task DataBindAsync(bool hasStateChanged = false) { _ = hasStateChanged; @@ -611,6 +628,8 @@ internal static string ConvertJsonString(object jsonElement) } // Invoke void return type methods + [RequiresUnreferencedCode("Calls SyncfusionInterop.InvokeMethodAsync, which is unsafe to trim.")] + [RequiresDynamicCode("Calls SyncfusionInterop.InvokeMethodAsync, which may need to generate new code at runtime.")] internal async Task InvokeMethod(string methodName, string? moduleName = null, params object[]? methodParams) { _ = await IsScriptRenderedAsync().ConfigureAwait(false); @@ -619,6 +638,8 @@ internal async Task InvokeMethod(string methodName, string? moduleName = null, p } // Invoke object return type methods + [RequiresUnreferencedCode("Calls SyncfusionInterop.InvokeMethodAsync, which is unsafe to trim.")] + [RequiresDynamicCode("Calls SyncfusionInterop.InvokeMethodAsync, which may need to generate new code at runtime.")] internal virtual async Task InvokeMethod(string methodName, bool isObjectReturnType, string? moduleName = null, params object[]? methodParams) { _ = await IsScriptRenderedAsync().ConfigureAwait(false); @@ -717,6 +738,8 @@ private void UnWireObservableEvents() } } + [RequiresUnreferencedCode("Calls SfBaseUtils.ChangeType and CompareValues, which call JsonSerializer.Serialize and are unsafe to trim.")] + [RequiresDynamicCode("Calls SfBaseUtils.ChangeType and CompareValues, which call JsonSerializer.Serialize and may need to generate new code at runtime.")] internal virtual async Task UpdatePropertyAsync(string key, T publicValue, T privateValue, object eventCallback = null!, Expression> expression = null!, bool isDataSource = false, bool isObservable = false) { string? propertyKey = !JsProperty!.StartsWith("sf.", StringComparison.Ordinal) ? $"{JsProperty}.{key}" : key; @@ -849,6 +872,8 @@ internal T GetDirectParam(string publicKey) return directParam!; } + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize, which may need to generate new code at runtime.")] internal static bool CompareValues(T oldValue, T newValue) { Type? valueType = oldValue?.GetType(); @@ -868,6 +893,8 @@ internal static bool CompareValues(T oldValue, T newValue) // The below scenario is used to add a new child component, when its parent component is rerender in the page. // i.e. The parent is already rendered in the page and a new child will be added dynamically at the time of rerendering. + [RequiresUnreferencedCode("Calls JsonSerializer.Deserialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Deserialize, which may need to generate new code at runtime.")] internal void RenderNewChild() { string childString = GetSerializedModel(); @@ -884,6 +911,8 @@ internal void RenderNewChild() /// [JSInvokable] [EditorBrowsable(EditorBrowsableState.Never)] + [RequiresUnreferencedCode("Calls JsonSerializer.Deserialize/Serialize, which are unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Deserialize/Serialize, which may need to generate new code at runtime.")] public virtual async Task Trigger(string eventName, string arg) { EventData data = _delegateList[eventName]; @@ -922,6 +951,8 @@ internal static string ConvertToProperCase(string text) /// [JSInvokable] [EditorBrowsable(EditorBrowsableState.Never)] + [RequiresUnreferencedCode("Calls UpdateComponentModel, which is unsafe to trim.")] + [RequiresDynamicCode("Calls UpdateComponentModel, which may need to generate new code at runtime.")] public async Task UpdateModel(Dictionary properties) { IsClientChanges = true; @@ -930,6 +961,8 @@ public async Task UpdateModel(Dictionary properties) StateHasChanged(); } + [RequiresUnreferencedCode("Calls JsonSerializer.Deserialize and SfBaseUtils.ChangeType, which are unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Deserialize and SfBaseUtils.ChangeType, which may need to generate new code at runtime.")] internal void UpdateComponentModel(Dictionary properties, BaseComponent parentObject) { foreach (string key in properties.Keys) @@ -1002,6 +1035,8 @@ internal void UpdateComponentModel(Dictionary properties, BaseCo } } + [RequiresUnreferencedCode("Calls SfBaseUtils.ChangeType and JsonSerializer.Deserialize, which are unsafe to trim.")] + [RequiresDynamicCode("Calls SfBaseUtils.ChangeType and JsonSerializer.Deserialize, which may need to generate new code at runtime.")] internal object UpdateCollectionValue(object propertyValue, Type propertyType, int? sfIndex, object model) { object value; @@ -1047,6 +1082,8 @@ internal object UpdateCollectionValue(object propertyValue, Type propertyType, i return SfBaseUtils.ChangeType(value!, propertyType, true)!; } + [RequiresUnreferencedCode("Calls JsonSerializer.Deserialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Deserialize, which may need to generate new code at runtime.")] internal static object UpdateArrayValue(Type propertyType, object model) { return JsonSerializer.Deserialize(model?.ToString()!, propertyType)!; @@ -1083,6 +1120,8 @@ private static JsonSerializerOptions GetJsonSerializerOptions() return settings; } + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize, which may need to generate new code at runtime.")] internal string SerialiazeBindableProp(Dictionary bindableProp) { return JsonSerializer.Serialize(bindableProp, _serialiazeBindablePropJsonSettings); @@ -1097,6 +1136,8 @@ internal string SerialiazeBindableProp(Dictionary bindableProp) /// Used internally to capture the initial component model for JavaScript interop initialization. /// Subclasses can override to customize which properties are serialized. /// + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize, which may need to generate new code at runtime.")] protected virtual string GetSerializedModel() { return JsonSerializer.Serialize(this, GetType(), GetJsonSerializerOptions()); @@ -1108,6 +1149,8 @@ protected virtual string GetSerializedModel() /// /// If true, returns the full model with defaults; if false, returns only bindable properties. /// A JSON string representing the component state to sync with JavaScript. + [RequiresUnreferencedCode("Calls GetSerializedModel/JsonSerializer.Deserialize, which are unsafe to trim.")] + [RequiresDynamicCode("Calls GetSerializedModel/JsonSerializer.Deserialize, which may need to generate new code at runtime.")] protected virtual string GetUpdateModel(bool isInit = false) { if (isInit) @@ -1200,6 +1243,8 @@ protected object GetDataManager(object dataSource, string? key = null) return dataAdaptor; } + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize/Deserialize, which are unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize/Deserialize, which may need to generate new code at runtime.")] internal static object GetObject(Dictionary Data, Type ModelType) { // Handling Parameterless Constructor @@ -1375,6 +1420,8 @@ internal static class GlobalizeJsonGenerator /// /// Specific culture information. /// Json serialized globalize string. + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize, which may need to generate new code at runtime.")] public static string GetGlobalizeJsonString(CultureInfo cultureData) { return JsonSerializer.Serialize(GetGlobalizeContent(cultureData)); diff --git a/src/Data/DataManager.cs b/src/Data/DataManager.cs index dfdce03..9e5123d 100644 --- a/src/Data/DataManager.cs +++ b/src/Data/DataManager.cs @@ -1,8 +1,9 @@ -using System.Text.Json; +using System.Text.Json; using System.Text.Json.Serialization; using Microsoft.JSInterop; using System.ComponentModel; using Microsoft.AspNetCore.Components; +using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Collections; using System.Security.Cryptography; @@ -423,6 +424,8 @@ protected override async Task OnInitializedAsync() /// Task. /// [EditorBrowsable(EditorBrowsableState.Never)] + [RequiresUnreferencedCode("Calls ExecuteQuery(DataManagerRequest), which may perform dynamic query operations against the configured IAdaptor and is unsafe to trim.")] + [RequiresDynamicCode("Calls ExecuteQuery(DataManagerRequest), which may perform dynamic query operations against the configured IAdaptor and may need to generate new code at runtime.")] public async Task ExecuteQuery(Query query) { ArgumentNullException.ThrowIfNull(query); @@ -435,6 +438,8 @@ public async Task ExecuteQuery(Query query) /// Type of the model class. /// Query class which will be executed against data source. /// Task. + [RequiresUnreferencedCode("Calls ExecuteQuery(DataManagerRequest), which may perform dynamic query operations against the configured IAdaptor and is unsafe to trim.")] + [RequiresDynamicCode("Calls ExecuteQuery(DataManagerRequest), which may perform dynamic query operations against the configured IAdaptor and may need to generate new code at runtime.")] public async Task ExecuteQueryAsync(Query query) { return await ExecuteQuery(query).ConfigureAwait(false); @@ -448,6 +453,8 @@ public async Task ExecuteQueryAsync(Query query) /// Task /// [EditorBrowsable(EditorBrowsableState.Never)] + [RequiresUnreferencedCode("Calls IAdaptor.PerformDataOperation, which implementations (such as BlazorAdaptor) may use to perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod. Unsafe to trim.")] + [RequiresDynamicCode("Calls IAdaptor.PerformDataOperation, which implementations (such as BlazorAdaptor) may use to perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod. May need to generate new code at runtime.")] public async Task ExecuteQuery(DataManagerRequest queries) { if (DataAdaptor != null && DataAdaptor.IsRemote()) @@ -479,6 +486,8 @@ public async Task ExecuteQuery(DataManagerRequest queries) /// Type of the model class /// Query class which will be executed against data source. /// Task + [RequiresUnreferencedCode("Calls IAdaptor.PerformDataOperation, which implementations (such as BlazorAdaptor) may use to perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod. Unsafe to trim.")] + [RequiresDynamicCode("Calls IAdaptor.PerformDataOperation, which implementations (such as BlazorAdaptor) may use to perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod. May need to generate new code at runtime.")] public async Task ExecuteQueryAsync(DataManagerRequest queries) { return await ExecuteQuery(queries).ConfigureAwait(false); @@ -489,6 +498,8 @@ public async Task ExecuteQueryAsync(DataManagerRequest queries) /// switches to a local , then re-executes the query against the cached data. /// /// + [RequiresUnreferencedCode("Calls IAdaptor.PerformDataOperation, which implementations (such as BlazorAdaptor) may use to perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod. Unsafe to trim.")] + [RequiresDynamicCode("Calls IAdaptor.PerformDataOperation, which implementations (such as BlazorAdaptor) may use to perform dynamic query operations that build closed generic methods via MethodInfo.MakeGenericMethod. May need to generate new code at runtime.")] internal async Task ProcessOfflineAsync(DataManagerRequest queries) { // Fetch remote data diff --git a/src/Data/DataOperations.cs b/src/Data/DataOperations.cs index 790d1a1..989a9ce 100644 --- a/src/Data/DataOperations.cs +++ b/src/Data/DataOperations.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Collections; +using System.Diagnostics.CodeAnalysis; namespace Syncfusion.Blazor.Toolkit.Data { @@ -13,6 +14,8 @@ public static class DataOperations /// Input data source against which the query to be executed. /// Query to be executed. /// IEnumerable - resultant records. + [RequiresUnreferencedCode("Calls EnumerableOperation.Execute, which may perform sorting that builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.Execute, which may perform sorting that builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable Execute(IEnumerable dataSource, DataManagerRequest query) { return EnumerableOperation.Execute(dataSource, query); @@ -24,6 +27,8 @@ public static IEnumerable Execute(IEnumerable dataSource, DataManagerRequest que /// Data source to be sorted. /// List of sort criteria. /// IEnumerable - sorted records. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformSorting, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformSorting, which may need to generate new code at runtime.")] public static IEnumerable PerformSorting(IEnumerable dataSource, List sortedColumns) { return EnumerableOperation.PerformSorting(dataSource, sortedColumns); @@ -35,6 +40,8 @@ public static IEnumerable PerformSorting(IEnumerable dataSource, ListData source to be sorted. /// List of sort criteria. /// IEnumerable - sorted records. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformSorting(IEnumerable, List), which builds a closed generic sort method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformSorting(IEnumerable, List), which builds a closed generic sort method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable PerformSorting(IEnumerable dataSource, List sortedColumns) { return EnumerableOperation.PerformSorting(dataSource, sortedColumns); @@ -47,6 +54,8 @@ public static IEnumerable PerformSorting(IEnumerable dataSource, List sort /// List of filter criteria. /// Filter merge condition. Value can be either AND or OR. /// IEnumerable - filtered records. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformFiltering, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformFiltering, which may need to generate new code at runtime.")] public static IEnumerable PerformFiltering(IEnumerable dataSource, List whereFilter, string condition) { return EnumerableOperation.PerformFiltering(dataSource, whereFilter, condition); @@ -58,6 +67,8 @@ public static IEnumerable PerformFiltering(IEnumerable dataSource, ListData source to be filtered. /// List of search criteria. /// IEnumerable - searched records. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformSearching, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformSearching, which may need to generate new code at runtime.")] public static IEnumerable PerformSearching(IEnumerable dataSource, List searchFilter) { return EnumerableOperation.PerformSearching(dataSource, searchFilter); @@ -69,6 +80,8 @@ public static IEnumerable PerformSearching(IEnumerable dataSource, ListInput data source. /// Number of records to be skipped. /// IEnumerable. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformSkip, which is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformSkip, which may need to generate new code at runtime.")] public static IEnumerable PerformSkip(IEnumerable dataSource, int skip) { return EnumerableOperation.PerformSkip(dataSource, skip); @@ -80,6 +93,8 @@ public static IEnumerable PerformSkip(IEnumerable dataSource, int skip) /// Input data source. /// Number of records to be taken. /// IEnumerable. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformTake, which is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformTake, which may need to generate new code at runtime.")] public static IEnumerable PerformTake(IEnumerable dataSource, int take) { return EnumerableOperation.PerformTake(dataSource, take); @@ -91,6 +106,8 @@ public static IEnumerable PerformTake(IEnumerable dataSource, int take) /// Input data source to be grouped. /// List of column names by which rows will be grouped. /// IEnumerable. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformGrouping, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformGrouping, which may need to generate new code at runtime.")] public static IEnumerable PerformGrouping(IEnumerable dataSource, List grouped) { return EnumerableOperation.PerformGrouping(dataSource, grouped); @@ -103,6 +120,8 @@ public static IEnumerable PerformGrouping(IEnumerable dataSource, List g /// Query to be executed. /// IEnumerable - resultant records. /// Type of the data source elements. + [RequiresUnreferencedCode("Calls QueryableOperation.Execute, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.Execute, which may need to generate new code at runtime.")] public static IEnumerable Execute(IEnumerable dataSource, DataManagerRequest query) { return QueryableOperation.Execute(dataSource.AsQueryable(), query); @@ -115,6 +134,8 @@ public static IEnumerable Execute(IEnumerable dataSource, DataManagerRe /// Number of records to be skipped. /// Type of the data source elements. /// IEnumerable. + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable PerformSkip(IEnumerable dataSource, int skip) { return QueryableOperation.PerformSkip(dataSource.AsQueryable(), skip); @@ -127,6 +148,8 @@ public static IEnumerable PerformSkip(IEnumerable dataSource, int skip) /// Number of records to be taken. /// Type of the data source elements. /// IEnumerable. + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable PerformTake(IEnumerable dataSource, int take) { return QueryableOperation.PerformTake(dataSource.AsQueryable(), take); @@ -139,6 +162,8 @@ public static IEnumerable PerformTake(IEnumerable dataSource, int take) /// List of column names by which rows will be grouped. /// Type of the data source elements. /// IEnumerable. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformGrouping, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformGrouping, which may need to generate new code at runtime.")] public static IEnumerable PerformGrouping(IEnumerable dataSource, List grouped) { return QueryableOperation.PerformGrouping(dataSource.AsQueryable(), grouped); @@ -151,6 +176,8 @@ public static IEnumerable PerformGrouping(IEnumerable dataSource, ListList of sort criteria. /// Type of the data source elements. /// IEnumerable - sorted records. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSorting, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSorting, which may need to generate new code at runtime.")] public static IEnumerable PerformSorting(IEnumerable dataSource, List sortedColumns) { return QueryableOperation.PerformSorting(dataSource.AsQueryable(), sortedColumns); @@ -163,6 +190,8 @@ public static IEnumerable PerformSorting(IEnumerable dataSource, ListList of sort criteria. /// Type of the data source elements. /// IEnumerable - sorted records. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSorting, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSorting, which may need to generate new code at runtime.")] public static IEnumerable PerformSorting(IEnumerable dataSource, List sortedColumns) { return QueryableOperation.PerformSorting(dataSource.AsQueryable(), sortedColumns); @@ -174,6 +203,8 @@ public static IEnumerable PerformSorting(IEnumerable dataSource, ListInput data source. /// List of fields to select. /// IEnumerable containing only the selected fields from each record. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSelect, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSelect, which may need to generate new code at runtime.")] public static IEnumerable PerformSelect(IEnumerable dataSource, List select) { return QueryableOperation.PerformSelect(dataSource.AsQueryable(), select); @@ -186,6 +217,8 @@ public static IEnumerable PerformSelect(IEnumerable dataSource, List sel /// List of search criteria. /// IEnumerable - searched records. /// Type of the data source elements. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSearching, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSearching, which may need to generate new code at runtime.")] public static IEnumerable PerformSearching(IEnumerable dataSource, List searchFilter) { return QueryableOperation.PerformSearching(dataSource.AsQueryable(), searchFilter); @@ -199,6 +232,8 @@ public static IEnumerable PerformSearching(IEnumerable dataSource, List /// Filter merge condition. Value can be either AND or OR. /// IEnumerable - filtered records. /// Type of the data source elements. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformFiltering, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformFiltering, which may need to generate new code at runtime.")] public static IEnumerable PerformFiltering(IEnumerable dataSource, List whereFilter, string condition) { return QueryableOperation.PerformFiltering(dataSource.AsQueryable(), whereFilter, condition); @@ -211,6 +246,8 @@ public static IEnumerable PerformFiltering(IEnumerable dataSource, List /// Query to be executed. /// IQueryable - resultant records. /// Type of the data source elements. + [RequiresUnreferencedCode("Calls QueryableOperation.Execute, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.Execute, which may need to generate new code at runtime.")] public static IQueryable Execute(IQueryable dataSource, DataManagerRequest query) { return QueryableOperation.Execute(dataSource, query); @@ -223,6 +260,8 @@ public static IQueryable Execute(IQueryable dataSource, DataManagerRequ /// List of column names by which rows will be grouped. /// Type of the data source elements. /// IQueryable. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformGrouping, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformGrouping, which may need to generate new code at runtime.")] public static IQueryable PerformGrouping(IQueryable dataSource, List grouped) { return QueryableOperation.PerformGrouping(dataSource, grouped); @@ -235,6 +274,8 @@ public static IQueryable PerformGrouping(IQueryable dataSource, ListList of sort criteria. /// Type of the data source elements. /// IQueryable - sorted records. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSorting, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSorting, which may need to generate new code at runtime.")] public static IQueryable PerformSorting(IQueryable dataSource, List sortedColumns) { return QueryableOperation.PerformSorting(dataSource, sortedColumns); @@ -247,6 +288,8 @@ public static IQueryable PerformSorting(IQueryable dataSource, ListList of sort criteria. /// Type of the data source elements. /// IQueryable - sorted records. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSorting, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSorting, which may need to generate new code at runtime.")] public static IQueryable PerformSorting(IQueryable dataSource, List sortedColumns) { return QueryableOperation.PerformSorting(dataSource, sortedColumns); @@ -259,6 +302,8 @@ public static IQueryable PerformSorting(IQueryable dataSource, ListNumber of records to be skipped. /// Type of the data source elements. /// IQueryable. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSkip, which is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSkip, which may need to generate new code at runtime.")] public static IQueryable PerformSkip(IQueryable dataSource, int skip) { return QueryableOperation.PerformSkip(dataSource, skip); @@ -271,6 +316,8 @@ public static IQueryable PerformSkip(IQueryable dataSource, int skip) /// Number of records to be taken. /// Type of the data source elements. /// IEnumerable. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformTake, which is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformTake, which may need to generate new code at runtime.")] public static IQueryable PerformTake(IQueryable dataSource, int take) { return QueryableOperation.PerformTake(dataSource, take); @@ -283,6 +330,8 @@ public static IQueryable PerformTake(IQueryable dataSource, int take) /// List of search criteria. /// IQueryable - searched records. /// Type of the data source elements. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSearching, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSearching, which may need to generate new code at runtime.")] public static IQueryable PerformSearching(IQueryable dataSource, List searchFilter) { return QueryableOperation.PerformSearching(dataSource, searchFilter); @@ -296,6 +345,8 @@ public static IQueryable PerformSearching(IQueryable dataSource, ListFilter merge condition. Value can be either AND or OR. /// IQueryable - filtered records. /// Type of the data source elements. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformFiltering, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformFiltering, which may need to generate new code at runtime.")] public static IQueryable PerformFiltering(IQueryable dataSource, List whereFilter, string condition) { return QueryableOperation.PerformFiltering(dataSource, whereFilter, condition); @@ -308,6 +359,8 @@ public static IQueryable PerformFiltering(IQueryable dataSource, ListList of fields to select. /// IQueryable. /// Type of the data source elements. + [RequiresUnreferencedCode("Calls QueryableOperation.PerformSelect, which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableOperation.PerformSelect, which may need to generate new code at runtime.")] public static IQueryable PerformSelect(IQueryable dataSource, List select) { return QueryableOperation.PerformSelect(dataSource, select); diff --git a/src/Data/DataUtil.cs b/src/Data/DataUtil.cs index 3029c01..baee4b7 100644 --- a/src/Data/DataUtil.cs +++ b/src/Data/DataUtil.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Collections; +using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Globalization; using System.Dynamic; @@ -119,6 +120,8 @@ public static string ToQueryParams(IDictionary Params) /// Collection of Data source. /// property name which is need to distincts . /// IEnumerable Distinct collections + [RequiresUnreferencedCode("Calls GetObject, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetObject, which may need to generate new code at runtime.")] internal static IEnumerable GetDistinct(IEnumerable dataSource, string propertyName) { List DistinctCollections = []; @@ -226,6 +229,8 @@ internal static IEnumerable GetDistinct(IEnumerable dataSource, string /// Specifies the isLazyLoad property as true to handle lazy load grouping. /// Specifies the isLazyGroupExpandAll as true to perform expand all for lazy load grouping. /// IEnumerable - Grouped record. + [RequiresUnreferencedCode("Calls CalculateAggregateFunc, which returns a delegate that is unsafe to trim.")] + [RequiresDynamicCode("Calls CalculateAggregateFunc, which returns a delegate that may need to generate new code at runtime.")] public static IEnumerable Group(IEnumerable jsonArray, string field, List aggregates, int level, IDictionary format, bool isLazyLoad = false, bool isLazyGroupExpandAll = false) { if (level == 0) @@ -334,6 +339,8 @@ public static IEnumerable Group(IEnumerable jsonArray, string field, ListData source to be sorted. /// List of sort criteria. /// IEnumerable - sorted records. + [RequiresUnreferencedCode("Calls PerformGroupSorting, which resolves properties by name via OrderBy/OrderByDescending and is unsafe to trim.")] + [RequiresDynamicCode("Calls PerformGroupSorting, which builds closed generic methods via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable GroupSorting(IEnumerable dataSource, List sortedColumns) { if (dataSource != null && dataSource is Group) @@ -345,6 +352,8 @@ public static IEnumerable GroupSorting(IEnumerable dataSource, List sor return dataSource!; } + [RequiresUnreferencedCode("Calls OrderBy/OrderByDescending, which resolve properties by name and are unsafe to trim.")] + [RequiresDynamicCode("Calls OrderBy/OrderByDescending, which build closed generic methods via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] internal static IEnumerable PerformGroupSorting(IEnumerable dataSource, IEnumerable sortedCol) { IQueryable data = dataSource.AsQueryable(); @@ -368,6 +377,8 @@ internal static IEnumerable PerformGroupSorting(IEnumerable dataSource, IEnum /// Input data source. /// List of aggregate to be calculated. /// Dictionary of aggregate results. + [RequiresUnreferencedCode("Calls CastList, which builds a closed generic Enumerable.Cast method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls CastList, which builds a closed generic Enumerable.Cast method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IDictionary PerformAggregation(IEnumerable jsonData, List aggregates) { Dictionary res = []; @@ -394,6 +405,8 @@ public static IDictionary PerformAggregation(IEnumerable jsonDat return res; } + [RequiresUnreferencedCode("Builds a closed generic Enumerable.Cast method via MethodInfo.MakeGenericMethod and invokes it through reflection, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Enumerable.Cast method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] internal static IEnumerable CastList(Type type, IEnumerable items) { Type enumerableType = typeof(Enumerable); @@ -409,6 +422,8 @@ internal static IEnumerable CastList(Type type, IEnumerable items) /// Index of the item to be processed. /// Property name to get value. /// object. + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static object GetVal(IEnumerable jsonData, int index, string field) { IQueryable jsonDataCol = jsonData.AsQueryable().Cast(); @@ -421,6 +436,8 @@ public static object GetVal(IEnumerable jsonData, int index, string field) /// Property name to be accessed. /// Source object. /// object - property value. + [RequiresUnreferencedCode("Calls GetObject, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetObject, which may need to generate new code at runtime.")] public static object GetGroupValue(string nameSpace, object from) { return nameSpace != null ? GetObject(nameSpace, from) : from; @@ -433,6 +450,8 @@ public static object GetGroupValue(string nameSpace, object from) /// Source object. /// object - property value. /// For accessing complex/nested property value, given the nameSpace with field names delimited by dot(.). + [RequiresUnreferencedCode("Calls ReflectionExtension.GetValue, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("Calls ReflectionExtension.GetValue, which may need to generate new code at runtime.")] public static object GetObject(string nameSpace, object from) { return ReflectionExtension.GetValue(from, nameSpace); @@ -461,9 +480,13 @@ internal static Type GetEnumType(string fieldName, Type type) } } + [RequiresUnreferencedCode("Returns a delegate that calls AsQueryable/Cast and dynamic LINQ Queryable extension methods (Count/Max/Min/Sum/Where) by property name, which are unsafe to trim.")] + [RequiresDynamicCode("Returns a delegate that calls AsQueryable/Cast and dynamic LINQ Queryable extension methods (Count/Max/Min/Sum/Where) by property name, which may need to generate new code at runtime.")] internal static Func CalculateAggregateFunc() { - return (items, property, pd, dataType) => + return [RequiresUnreferencedCode("Calls AsQueryable/Cast and dynamic LINQ Queryable extension methods (Count/Max/Min/Sum/Where) by property name, which are unsafe to trim.")] + [RequiresDynamicCode("Calls AsQueryable/Cast and dynamic LINQ Queryable extension methods (Count/Max/Min/Sum/Where) by property name, which may need to generate new code at runtime.")] + (items, property, pd, dataType) => { string aggregateType = pd; bool isDynamicObjectType = dataType.BaseType == typeof(DynamicObject); @@ -539,6 +562,8 @@ private static bool IsDefaultInitialized(PropertyInfo property, object value) return Equals(defaultValue, value); } + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize, which may need to generate new code at runtime.")] internal static object CompareAndRemove(object data, object original, string key = "", bool? IsComplex = null, bool? IsFromBatch = null) { _ignoredPropertiesPerType.Clear(); @@ -625,6 +650,8 @@ public static string GetFormattedValue(object value, string format) : value?.ToString()!; } + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable() and Type.MakeGenericType(params Type[]), both of which may need to generate new code at runtime.")] internal static IDictionary GetColumnType(IEnumerable dataSource, bool nullable = true, string? columnName = null) { _ = columnName; @@ -690,6 +717,8 @@ internal static string GetAdditionalParams(RequestOptions options) return param; } + [RequiresUnreferencedCode("Calls GetObject, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetObject, which may need to generate new code at runtime.")] internal static string GetODataUrlKey(object rowData, string keyField, object? value = null, Type? ModelType = null) { object? keyVal = value ?? GetObject(keyField, rowData); @@ -734,6 +763,7 @@ internal static string GetODataUrlKey(object rowData, string keyField, object? v /// Input dynamic object. /// Property name to get. /// object. + [RequiresDynamicCode("Constructs a DataMemberBinder call site, which may need to generate new code at runtime.")] public static object GetDynamicValue(DynamicObject obj, string name) { object? value = null; @@ -754,6 +784,8 @@ public static object GetExpandoValue(IDictionary obj, string nam return value!; } + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] internal static object UpdateDictionary(IEnumerable ExpandData, string[] columns) { List> DicData = []; diff --git a/src/Data/DynamicObjectOperations.cs b/src/Data/DynamicObjectOperations.cs index f02fb92..46a7c8b 100644 --- a/src/Data/DynamicObjectOperations.cs +++ b/src/Data/DynamicObjectOperations.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Collections; +using System.Diagnostics.CodeAnalysis; using System.Linq.Expressions; using Syncfusion.Blazor.Toolkit.Data; using System.Dynamic; @@ -17,6 +18,8 @@ public static class DynamicObjectOperation /// Input data source. /// Query to be executed against data source. /// IEnumerable - resultant records. + [RequiresUnreferencedCode("Builds a closed generic Enumerable.Cast method via MethodInfo.MakeGenericMethod and invokes it through reflection, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Enumerable.Cast method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static IEnumerable PerformDataOperations(IEnumerable DataSource, DataManagerRequest queries) { IDictionary columnTypes = DataUtil.GetColumnType(DataSource); @@ -59,6 +62,8 @@ public static IEnumerable PerformDataOperations(IEnumerable DataSource, DataMana /// Input data source to be sorted. /// List of sort criteria. /// IQuerable. + [RequiresUnreferencedCode("Calls OrderBy/ThenBy/OrderByDescending/ThenByDescending overloads that resolve properties by name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls OrderBy/ThenBy/OrderByDescending/ThenByDescending overloads that build closed generic methods via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable PerformSorting(IQueryable dataSource, List sortedColumns) { bool firstTime = true; @@ -139,6 +144,8 @@ public static IQueryable PerformSorting(IQueryable dataSource, List sorted /// Condition to merge two filter criteria. /// Type collection of each property in data source. /// + [RequiresUnreferencedCode("Calls PredicateBuilder, which resolves dynamic properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls PredicateBuilder, which resolves dynamic properties by name and may need to generate new code at runtime.")] public static IQueryable PerformFiltering(IEnumerable dataSource, List whereFilter, string condition, IDictionary columnTypes = null) { IQueryable data = dataSource.Cast().AsQueryable(); @@ -154,6 +161,8 @@ public static IQueryable PerformFiltering(IEnumerable dataSource, List columns, string field, object data = null!) { Type? type = null; @@ -222,6 +233,8 @@ private static Type ColumnType(IDictionary columns, string field, /// List of search criteria. /// IEnumerable - searched records. /// Type collection of each property in data source. + [RequiresUnreferencedCode("Calls Predicate(IQueryable, ParameterExpression, string, object, FilterType, FilterBehavior, bool, Type, Type), which resolves dynamic properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Predicate(IQueryable, ParameterExpression, string, object, FilterType, FilterBehavior, bool, Type, Type), which resolves dynamic properties by name and may need to generate new code at runtime.")] public static IQueryable PerformSearching(IEnumerable dataSource, List searchFilter, IDictionary? columnTypes = null) { IQueryable? data = null; @@ -283,6 +296,8 @@ public static IQueryable PerformSearching(IEnumerable dataSource, ListParameter expression. /// Type collection of each property in data source. /// Expression. + [RequiresUnreferencedCode("Calls Predicate(IQueryable, ParameterExpression, string, object, FilterType, FilterBehavior, bool, Type, Type), which resolves dynamic properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Predicate(IQueryable, ParameterExpression, string, object, FilterType, FilterBehavior, bool, Type, Type), which resolves dynamic properties by name and may need to generate new code at runtime.")] public static Expression PredicateBuilder(IEnumerable dataSource, List whereFilter, string condition, ParameterExpression paramExpression, IDictionary columnTypes = null) { Type? type = dataSource.GetElementType(); diff --git a/src/Data/DynamicQueryableExtensions.cs b/src/Data/DynamicQueryableExtensions.cs index d88afe7..b72a99e 100644 --- a/src/Data/DynamicQueryableExtensions.cs +++ b/src/Data/DynamicQueryableExtensions.cs @@ -1,4 +1,5 @@ -using System.Linq.Expressions; +using System.Linq.Expressions; +using System.Diagnostics.CodeAnalysis; using System.Reflection; using System.Globalization; using System.Dynamic; @@ -41,6 +42,8 @@ public static class DynamicQueryableExtensions /// Performs the case sensitive if true. /// Specifies the data source element type. /// Specifies the current field type. + [RequiresUnreferencedCode("Calls the private Predicate helper, which resolves dynamic properties via Expression.Property(Expression, string, Expression[]) and is unsafe to trim.")] + [RequiresDynamicCode("Calls the private Predicate helper, which resolves dynamic properties by name and may need to generate new code at runtime.")] public static Expression Predicate(this IQueryable source, ParameterExpression paramExpression, string propertyName, object constValue, FilterType filterType, FilterBehavior filterBehaviour, bool isCaseSensitive, Type sourceType, Type? columnType = null) // Predicate1 @@ -50,6 +53,7 @@ public static Expression Predicate(this IQueryable source, ParameterExpression p return Predicate(source, constValue, filterType, filterBehaviour, isCaseSensitive, sourceType, null!, null!, paramExpression, propertyName, columnType!); } + [RequiresDynamicCode("Calls NullableHelperInternal.GetNullableType, which builds Nullable via Type.MakeGenericType and may need to generate new code at runtime.")] private static ValueTuple GetExpression(FilterType filterType, Type memberType, object value, Expression memExp, bool isCaseSensitive) @@ -178,6 +182,8 @@ public static Expression Predicate(this IQueryable source, ParameterExpression p return (memExp, bExp); } + [RequiresUnreferencedCode("Resolves dynamic properties via Expression.Property(Expression, string, Expression[]), which is unsafe to trim.")] + [RequiresDynamicCode("Resolves dynamic properties by name, which may need to generate new code at runtime.")] private static Expression Predicate(this IQueryable source, object constValue, FilterType filterType, FilterBehavior filterBehaviour, bool isCaseSensitive, Type sourceType, Type memberType, Expression memExp, ParameterExpression paramExpression, string propertyName, Type columnType = null!) { diff --git a/src/Data/EnumerableExtensions.cs b/src/Data/EnumerableExtensions.cs index db17fab..04b6daa 100644 --- a/src/Data/EnumerableExtensions.cs +++ b/src/Data/EnumerableExtensions.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Collections; +using System.Diagnostics.CodeAnalysis; using System.Linq.Expressions; using System.Reflection; using Syncfusion.Blazor.Toolkit.Data; @@ -10,6 +11,8 @@ namespace Syncfusion.Blazor.Toolkit.Data /// public static class EnumerableExtensions { + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which requires the target method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] internal static IEnumerable InvokeParallel(this IEnumerable source, Predicate func, Type sourceType) { if (sourceType == null) @@ -22,6 +25,8 @@ internal static IEnumerable InvokeParallel(this IEnumerable source, Predicate, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls InvokeParallel(IEnumerable, Predicate, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] internal static IEnumerable InvokeParallel(this IEnumerable source, Predicate func) { Type sourceType = source.GetElementType(); @@ -54,6 +59,8 @@ public static ParallelQuery InvokeParallelExecution(IEnumerable source, Predi /// An whose elements to apply the selector to. /// An expression that projects each element to a value to average. /// The average of the projected values as a . + [RequiresUnreferencedCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static double Average(this IQueryable source, Expression> selector) { ArgumentNullException.ThrowIfNull(source); @@ -107,6 +114,8 @@ public static double Average(this IEnumerable source) /// An whose elements to apply the selector to. /// An expression that projects each element to a nullable value to average. /// The average of the non-null projected values as a nullable , or null if there are no non-null values. + [RequiresUnreferencedCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static double? Average( this IQueryable source, Expression> selector) @@ -164,6 +173,8 @@ public static double Average(this IEnumerable source) /// An whose elements to apply the selector to. /// An expression that projects each element to a value to sum. /// The sum of the projected values as a . + [RequiresUnreferencedCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static short Sum(this IQueryable source, Expression> selector) { ArgumentNullException.ThrowIfNull(source); @@ -212,6 +223,8 @@ public static short Sum(this IEnumerable source) /// An expression that projects each element to a nullable value to sum. /// The sum of the non-null projected values as a nullable , or null if there are no non-null values. /// + [RequiresUnreferencedCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static short? Sum(this IQueryable source, Expression> selector) { ArgumentNullException.ThrowIfNull(source); @@ -265,6 +278,8 @@ public static short Sum(this IEnumerable source) /// An whose elements to apply the selector to. /// An expression that projects each element to a value. /// The maximum projected value as a . + [RequiresUnreferencedCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static short Max(this IQueryable source, Expression> selector) { ArgumentNullException.ThrowIfNull(source); @@ -325,6 +340,8 @@ public static short Max(this IEnumerable source) /// An whose elements to apply the selector to. /// An expression that projects each element to a nullable value. /// The maximum of the non-null projected values as a nullable , or null if there are no non-null values. + [RequiresUnreferencedCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static short? Max(this IQueryable source, Expression> selector) { ArgumentNullException.ThrowIfNull(source); @@ -388,6 +405,8 @@ public static short Max(this IEnumerable source) /// An whose elements to apply the selector to. /// An expression that projects each element to a value. /// The minimum projected value as a . + [RequiresUnreferencedCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static short Min(this IQueryable source, Expression> selector) { ArgumentNullException.ThrowIfNull(source); @@ -448,6 +467,8 @@ public static short Min(this IEnumerable source) /// An whose elements to apply the selector to. /// An expression that projects each element to a nullable value. /// The minimum of the non-null projected values as a nullable , or null if there are no non-null values. + [RequiresUnreferencedCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds an Expression.Call to this generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static short? Min(this IQueryable source, Expression> selector) { ArgumentNullException.ThrowIfNull(source); @@ -510,6 +531,8 @@ public static short Min(this IEnumerable source) /// /// /// + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable OrderBy(this IEnumerable entities, string propertyName, Func GetFunc) { if ((entities != null && !entities.AsQueryable().Any()) || string.IsNullOrEmpty(propertyName)) @@ -536,6 +559,8 @@ public static IEnumerable OrderBy(this IEnumerable entities, string pro /// /// /// + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable OrderByDescending(this IEnumerable entities, string propertyName, Func GetFunc) { if ((entities != null && !entities.AsQueryable().Any()) || string.IsNullOrEmpty(propertyName)) @@ -563,6 +588,8 @@ public static IEnumerable OrderByDescending(this IEnumerable entities, /// /// /// + [RequiresUnreferencedCode("Calls IOrderedEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IOrderedEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable ThenBy(this IOrderedEnumerable entities, string propertyName, Func GetFunc) { if ((entities != null && !entities.AsQueryable().Any()) || string.IsNullOrEmpty(propertyName)) @@ -591,6 +618,8 @@ public static IEnumerable ThenBy(this IOrderedEnumerable entities, stri /// /// /// + [RequiresUnreferencedCode("Calls IOrderedEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IOrderedEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable ThenByDescending(this IOrderedEnumerable entities, string propertyName, Func GetFunc) { @@ -619,6 +648,8 @@ public static IEnumerable ThenByDescending(this IOrderedEnumerable enti /// /// /// + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable OrderBy(this IEnumerable entities, string propertyName, Func GetFunc, IComparer comparer) { @@ -648,6 +679,8 @@ public static IEnumerable OrderBy(this IEnumerable entities, string pro /// /// /// + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable OrderByDescending(this IEnumerable entities, string propertyName, Func GetFunc, IComparer comparer) { @@ -676,6 +709,8 @@ public static IEnumerable OrderByDescending(this IEnumerable entities, /// /// /// + [RequiresUnreferencedCode("Calls IOrderedEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IOrderedEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable ThenBy(this IOrderedEnumerable entities, string propertyName, Func GetFunc, IComparer comparer) { @@ -704,6 +739,8 @@ public static IEnumerable ThenBy(this IOrderedEnumerable entities, stri /// /// /// + [RequiresUnreferencedCode("Calls IOrderedEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IOrderedEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static IEnumerable ThenByDescending(this IOrderedEnumerable entities, string propertyName, Func GetFunc, IComparer comparer) { if ((entities != null && !entities.AsQueryable().Any()) || string.IsNullOrEmpty(propertyName)) @@ -742,6 +779,8 @@ public static ParallelQuery GetParallelQueryFor(IEnumerable source) /// /// /// + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which requires the target method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static ParallelQuery GetParallelQuery(this IEnumerable source, Type? sourceType = null) { if (sourceType == null) diff --git a/src/Data/EnumerableOperation.cs b/src/Data/EnumerableOperation.cs index 73a2e32..a698282 100644 --- a/src/Data/EnumerableOperation.cs +++ b/src/Data/EnumerableOperation.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Collections; +using System.Diagnostics.CodeAnalysis; using System.Linq.Expressions; using System.Reflection; using Syncfusion.Blazor.Toolkit.Internal; @@ -18,6 +19,8 @@ public static class EnumerableOperation /// Input data source against which the query to be executed. /// Query to be executed. /// IEnumerable - resultant records. + [RequiresUnreferencedCode("May call PerformSorting(IEnumerable, List), which builds a closed generic sort method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("May call PerformSorting(IEnumerable, List), which builds a closed generic sort method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable Execute(IEnumerable dataSource, DataManagerRequest manager) { if (manager == null) { return dataSource; } @@ -55,6 +58,8 @@ public static IEnumerable Execute(IEnumerable dataSource, DataManagerRequest man /// Input data source to be grouped. /// List of column names by which rows will be grouped. /// IEnumerable. + [RequiresUnreferencedCode("Calls GroupByMany, which resolves properties by name and builds closed generic methods via MethodInfo.MakeGenericMethod. Unsafe to trim.")] + [RequiresDynamicCode("Calls GroupByMany, which builds closed generic methods via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable PerformGrouping(IEnumerable dataSource, List grouped) { if (dataSource == null || grouped == null) @@ -85,6 +90,8 @@ public static IEnumerable PerformGrouping(IEnumerable dataSource, L /// List of sort criteria. /// Specifies the source type. /// IEnumerable - sorted records. + [RequiresUnreferencedCode("Calls OrderBy/ThenBy/OrderByDescending/ThenByDescending overloads that resolve properties by name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls OrderBy/ThenBy/OrderByDescending/ThenByDescending overloads that build closed generic methods via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IEnumerable PerformSorting(IEnumerable dataSource, List sortedColumns, Type? sourceType = null) { IQueryable data = dataSource.AsQueryable(); @@ -154,6 +161,8 @@ public static IEnumerable PerformSorting(IEnumerable dataSource, ListData source to be sorted. /// List of sort criteria. /// IEnumerable - sorted records. + [RequiresUnreferencedCode("Builds a closed generic sort method via MethodInfo.MakeGenericMethod and invokes it through reflection, which requires the method's dependencies to be preserved and is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic sort method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime and is not supported when AOT compiling.")] public static IEnumerable PerformSorting(IEnumerable dataSource, List sortedColumns) { IEnumerable data = dataSource; @@ -193,6 +202,8 @@ public static IEnumerable PerformSorting(IEnumerable dataSource, List sort return (IEnumerable)method.Invoke(null, [list, sortColumns])!; } + [RequiresUnreferencedCode("Calls BuildPropertyChain, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("Calls BuildPropertyChain, which may need to generate new code at runtime.")] private static List SortInternal(List source, List columns) { List typedList = [.. source.Cast()]; @@ -260,6 +271,8 @@ private static List SortInternal(List source, List c _ = Parallel.For(0, indices.Length, i => sorted[i] = typedList[indices[i]]); return [.. sorted]; } + [RequiresUnreferencedCode("Calls GetDynamicValue, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetDynamicValue, which may need to generate new code at runtime.")] private static Expression BuildPropertyChain(Expression param, string propertyPath) { string[] properties = propertyPath.Split('.'); @@ -303,6 +316,8 @@ private static Expression BuildPropertyChain(Expression param, string propertyPa /// /// /// + [RequiresUnreferencedCode("May call ReflectionExtension.GetValue, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("May call ReflectionExtension.GetValue, which may need to generate new code at runtime.")] public static object GetDynamicValue(object obj, string key) { if (obj is IDictionary dict && dict.TryGetValue(key, out object? value)) @@ -320,6 +335,8 @@ public static object GetDynamicValue(object obj, string key) { private readonly (Func Getter, IComparer Comparer, bool Descending, bool isForeignKeyComparer)[] _accessors; + [RequiresUnreferencedCode("Calls BuildPropertyChain, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("Calls BuildPropertyChain, which may need to generate new code at runtime.")] public SortDataComparer(List columns) { _accessors = new (Func, IComparer, bool, bool)[columns.Count]; @@ -387,6 +404,8 @@ private static int SafeCompare(object? x, object? y) /// Parameter expression. /// Specifies the source type. /// Expression. + [RequiresUnreferencedCode("Calls Predicate(IQueryable, ParameterExpression, string, object, FilterType, FilterBehavior, bool, Type, bool), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Predicate(IQueryable, ParameterExpression, string, object, FilterType, FilterBehavior, bool, Type, bool), which resolves properties by name and may need to generate new code at runtime.")] public static Expression PredicateBuilder(IEnumerable dataSource, List whereFilter, string condition, ParameterExpression paramExpression, Type type) { Expression? predicate = null; @@ -480,6 +499,8 @@ public static Expression PredicateBuilder(IEnumerable dataSource, ListList of filter criteria. /// Filter merge condition. Value can be either AND or OR. /// IEnumerable - filtered records. + [RequiresUnreferencedCode("Calls PredicateBuilder/Where, which resolve properties by name and are unsafe to trim.")] + [RequiresDynamicCode("Calls PredicateBuilder/Where, which may need to generate new code at runtime.")] public static IEnumerable PerformFiltering(IEnumerable dataSource, List whereFilter, string condition) { Type? type = dataSource?.GetElementType(); @@ -500,6 +521,8 @@ public static IEnumerable PerformFiltering(IEnumerable dataSource, ListData source to be filtered. /// List of search criteria. /// IEnumerable - searched records. + [RequiresUnreferencedCode("Calls Predicate, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Predicate, which may need to generate new code at runtime.")] public static IEnumerable PerformSearching(IEnumerable dataSource, List searchFilter) { Type? type = dataSource.GetElementType(); @@ -575,6 +598,8 @@ public static IEnumerable PerformSearching(IEnumerable dataSource, List /// + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable(), which is unsafe to trim because expressions referencing IQueryable extension methods can get rebound to IEnumerable extension methods that may be trimmed.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable(), which may need to generate new code at runtime.")] public static Type GetDataType(IEnumerable dataSource, Type type, string field) { string[] complexData = field != null ? field.Split('.') : []; @@ -590,6 +615,8 @@ public static Type GetDataType(IEnumerable dataSource, Type type, string field) /// Returns column type. /// /// + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable() and QueryableExtensions.ElementAt(IQueryable, int), both of which are unsafe to trim.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable() and QueryableExtensions.ElementAt(IQueryable, int), both of which may need to generate new code at runtime.")] public static Type GetColumnType(IEnumerable dataSource, string filterString, Type type) { string[] complexData = filterString != null ? filterString.Split('.') : []; ; @@ -622,6 +649,8 @@ public static Type GetColumnType(IEnumerable dataSource, string filterString, Ty return propInfo?.PropertyType!; } + [RequiresUnreferencedCode("Calls DataUtil.GetObject, which may resolve members via the C# dynamic runtime binder and is unsafe to trim.")] + [RequiresDynamicCode("Calls DataUtil.GetObject, which may need to generate new code at runtime.")] private static Type UpdateType(IEnumerable dataSource, string filterString, object value, Type type) { bool isValue = false; @@ -647,6 +676,8 @@ private static Type UpdateType(IEnumerable dataSource, string filterString, obje /// Input data source. /// Number of records to be skipped. /// IEnumerable. + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable() and QueryableExtensions.Skip(IQueryable, int), both of which are unsafe to trim.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable() and QueryableExtensions.Skip(IQueryable, int), both of which may need to generate new code at runtime.")] public static IEnumerable PerformSkip(IEnumerable dataSource, int skip) { IEnumerable data = dataSource; @@ -659,6 +690,8 @@ public static IEnumerable PerformSkip(IEnumerable dataSource, int skip) /// Input data source. /// Number of records to be taken. /// IEnumerable. + [RequiresUnreferencedCode("Calls IEnumerable.AsQueryable() and QueryableExtensions.Take(IQueryable, int), both of which are unsafe to trim.")] + [RequiresDynamicCode("Calls IEnumerable.AsQueryable() and QueryableExtensions.Take(IQueryable, int), both of which may need to generate new code at runtime.")] public static IEnumerable PerformTake(IEnumerable dataSource, int take) { IEnumerable data = dataSource; diff --git a/src/Data/HttpHandler.cs b/src/Data/HttpHandler.cs index b9f83dc..5f0f693 100644 --- a/src/Data/HttpHandler.cs +++ b/src/Data/HttpHandler.cs @@ -3,6 +3,7 @@ using System.Text.Json.Serialization; using System.Collections; using System.Globalization; +using System.Diagnostics.CodeAnalysis; namespace Syncfusion.Blazor.Toolkit.Data { @@ -104,6 +105,8 @@ public override async Task SendRequest(HttpRequestMessage d } /// + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize(object, JsonSerializerOptions), which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize(object, JsonSerializerOptions) and constructs a JsonStringEnumConverter, both of which may need to generate new code at runtime.")] public static HttpRequestMessage PrepareRequest(RequestOptions options) { if (!options.Url!.StartsWith("http", StringComparison.Ordinal)) @@ -135,6 +138,8 @@ public static HttpRequestMessage PrepareRequest(RequestOptions options) } /// + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize(object, JsonSerializerOptions), which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize(object, JsonSerializerOptions) and constructs a JsonStringEnumConverter, both of which may need to generate new code at runtime.")] public static HttpRequestMessage PrepareBatchRequest(RequestOptions options, Type? ModelType = null) { if (!options.Url!.StartsWith("http", StringComparison.Ordinal)) diff --git a/src/Data/JSInteropAdaptor.cs b/src/Data/JSInteropAdaptor.cs index 667697e..2e7be47 100644 --- a/src/Data/JSInteropAdaptor.cs +++ b/src/Data/JSInteropAdaptor.cs @@ -1,7 +1,8 @@ -using Microsoft.JSInterop; +using Microsoft.JSInterop; using Microsoft.AspNetCore.Components; using System.Text.Json; using System.Text.Json.Serialization; +using System.Diagnostics.CodeAnalysis; namespace Syncfusion.Blazor.Toolkit.Data { @@ -122,6 +123,8 @@ internal static async ValueTask UpdateAsync(IJSRuntime jsRuntime, string e nameSpace, elementId).ConfigureAwait(true); } + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize(object[]), which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize(object[]), which may need to generate new code at runtime.")] internal static async ValueTask InvokeMethodAsync(IJSRuntime jsRuntime, string elementId, string methodName, string moduleName, object[] args, string nameSpace, ElementReference? element = null) { return await HandleInteropCallAsync(jsRuntime, () => diff --git a/src/Data/NullableHelper.cs b/src/Data/NullableHelper.cs index 5566093..556797b 100644 --- a/src/Data/NullableHelper.cs +++ b/src/Data/NullableHelper.cs @@ -1,7 +1,8 @@ -using System.ComponentModel; +using System.ComponentModel; using System.Reflection; using System.Globalization; using System.Collections; +using System.Diagnostics.CodeAnalysis; using Hashtable = System.Collections.Generic.Dictionary; namespace Syncfusion.Blazor.Toolkit.Data @@ -68,6 +69,7 @@ public static bool IsIEnumerableType(PropertyInfo pd) /// /// /// + [RequiresUnreferencedCode("Calls TypeConverterHelper.ChangeType, which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] public static object ChangeType(object value, Type type) { Type? nullableUnderlyingType = Nullable.GetUnderlyingType(type); @@ -94,6 +96,7 @@ public static object ChangeType(object value, Type type) /// /// /// + [RequiresUnreferencedCode("Calls TypeConverterHelper.ChangeType, which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] public static object ChangeType(object value, Type type, IFormatProvider provider) { Type? nullableUnderlyingType = Nullable.GetUnderlyingType(type); @@ -143,6 +146,7 @@ public static bool IsNullableType(Type nullableType) /// A representing Nullable<T> for value types, or the original /// if it is already nullable or a reference type. /// + [RequiresDynamicCode("Calls Type.MakeGenericType(params Type[]) to build Nullable for value types, which may need to generate new code at runtime.")] public static Type GetNullableType(Type type) { if (type == null) @@ -212,11 +216,13 @@ public static Type GetUnderlyingType(Type type) /// private class TypeConverterHelper { + [RequiresUnreferencedCode("Calls TypeDescriptor.GetConverter(Type), which is unsafe to trim.")] public static object ChangeType(object value, Type type) { return ChangeType(value, type, null!); } + [RequiresUnreferencedCode("Calls TypeDescriptor.GetConverter(Type), which is unsafe to trim.")] public static object ChangeType(object value, Type type, IFormatProvider provider) { // Fix for defects: 13036, 13024, 12601 & 12716 @@ -249,6 +255,7 @@ public static class ValueConvert /// The target type. /// A used to format or parse the value. /// The new value in the target type. + [RequiresUnreferencedCode("Calls ChangeType(object, Type, IFormatProvider, string, bool), which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] public static object ChangeType(object value, Type type, IFormatProvider provider) { return ChangeType(value, type, provider, false); @@ -263,6 +270,7 @@ public static object ChangeType(object value, Type type, IFormatProvider provide /// Indicates whether exceptions should be avoided or catched and return value should be DBNull if /// it cannot be converted to the target type. /// The new value in the target type. + [RequiresUnreferencedCode("Calls ChangeType(object, Type, IFormatProvider, string, bool), which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] public static object ChangeType(object value, Type type, IFormatProvider provider, bool returnDbNUllIfNotValid) { return ChangeType(value, type, provider, string.Empty, returnDbNUllIfNotValid); @@ -278,6 +286,7 @@ public static object ChangeType(object value, Type type, IFormatProvider provide /// Indicates whether exceptions should be avoided or catched and return value should be DBNull if /// it cannot be converted to the target type. /// The new value in the target type. + [RequiresUnreferencedCode("Calls Parse and NullableHelperInternal.ChangeType, which call TypeDescriptor.GetConverter(Type) and are unsafe to trim.")] public static object ChangeType(object value, Type type, IFormatProvider provider, string format, bool returnDbNUllIfNotValid) { @@ -349,6 +358,7 @@ public static object ChangeType(object value, Type type, IFormatProvider provide /// format is only interpreted to enable roundtripping for formatted dates. /// /// The new value in the target type. + [RequiresUnreferencedCode("Calls ParseText, which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] public static object Parse(string s, Type resultType, IFormatProvider provider, string format) { return Parse(s, resultType, provider, format, false); @@ -365,6 +375,7 @@ public static object Parse(string s, Type resultType, IFormatProvider provider, /// /// Indicates whether DbNull should be returned if value cannot be parsed. Otherwise an exception is thrown. /// The new value in the target type. + [RequiresUnreferencedCode("Calls ParseText, which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] public static object Parse(string s, Type resultType, IFormatProvider provider, string format, bool returnDbNUllIfNotValid) { @@ -383,6 +394,7 @@ public static object Parse(string s, Type resultType, IFormatProvider provider, /// /// Indicates whether DbNull should be returned if value cannot be parsed. Otherwise an exception is thrown. /// The new value in the target type. + [RequiresUnreferencedCode("Calls ParseText, which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] public static object Parse(string s, Type resultType, IFormatProvider provider, string[] formats, bool returnDbNUllIfNotValid) { @@ -390,6 +402,7 @@ public static object Parse(string s, Type resultType, IFormatProvider provider, return NullableHelperInternal.FixDbNUllasNull(value, resultType); } + [RequiresUnreferencedCode("Calls ParseText(string, Type, IFormatProvider, string, string[], bool), which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] private static object ParseText(string s, Type resultType, IFormatProvider provider, string format, bool returnDbNUllIfNotValid) { @@ -604,6 +617,7 @@ private static object ParseNumber(string s, Type resultType, IFormatProvider pro return result!; } + [RequiresUnreferencedCode("Calls TypeDescriptor.GetConverter(Type), which is unsafe to trim.")] private static object ParseText(string s, Type resultType, IFormatProvider provider, string format, string[] formats, bool returnDbNUllIfNotValid) { @@ -709,6 +723,7 @@ private static object ParseText(string s, Type resultType, IFormatProvider provi /// The for formatting the value. /// The for formatting the value. /// The string with the formatted text for the value. + [RequiresUnreferencedCode("Calls ChangeType(object, Type, IFormatProvider, bool) and TypeDescriptor.GetConverter(Type), both of which are unsafe to trim.")] public static string FormatValue(object value, Type valueType, string format, CultureInfo ci, NumberFormatInfo nfi) { @@ -844,6 +859,7 @@ public static object GetDefaultValue(Type type) /// /// /// + [RequiresUnreferencedCode("Calls ParseValueWithTypeInformation(string, object, bool), which is unsafe to trim.")] private static bool ParseValueWithTypeInformation(string valueAsString, out object retVal) { return ParseValueWithTypeInformation(valueAsString, out retVal); @@ -857,6 +873,7 @@ private static bool ParseValueWithTypeInformation(string valueAsString, out obje /// Indicates whether TypeConverter should be checked whether the type to be /// parsed supports conversion to/from byte array (e.g. an Image). /// + [RequiresUnreferencedCode("Calls TryConvertFromBase64String and Parse, which call TypeDescriptor.GetConverter(Type) and are unsafe to trim.")] public static bool ParseValueWithTypeInformation(string valueAsString, object retVal, bool allowConvertFromBase64) { @@ -921,6 +938,7 @@ public static bool ParseValueWithTypeInformation(string valueAsString, object re /// /// /// + [RequiresUnreferencedCode("Calls TypeDescriptor.GetConverter(Type), which is unsafe to trim.")] public static bool TryConvertFromBase64String(Type type, string valueAsString, out object retVal) { bool handled = false; @@ -950,6 +968,7 @@ public static bool TryConvertFromBase64String(Type type, string valueAsString, o /// /// /// + [RequiresUnreferencedCode("Calls FormatValue, which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim.")] public static string FormatValueWithTypeInformation(object value) { if (value is string v) diff --git a/src/Data/Query.cs b/src/Data/Query.cs index e5d06a6..aa74864 100644 --- a/src/Data/Query.cs +++ b/src/Data/Query.cs @@ -1,6 +1,7 @@ -using System.Text; +using System.Text; using System.Text.Json; using System.Text.Json.Serialization; +using System.Diagnostics.CodeAnalysis; namespace Syncfusion.Blazor.Toolkit.Data { @@ -94,6 +95,7 @@ public class Query public string IdMapping { get; set; } //This variable is for Clone method json serialize options. + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "JsonStringEnumConverter() ctor requires dynamic code only when AOT compiling. This options instance is used for Clone(), which already requires unreferenced code/dynamic code via JsonSerializer.Serialize/Deserialize on the Query type.")] private readonly JsonSerializerOptions _cloneJsonSettings = new() { PropertyNameCaseInsensitive = true, @@ -404,6 +406,8 @@ public Query Expand(List fieldNames) /// Performs deep cloning of the given Query. /// /// Query. + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize/Deserialize, which are unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize/Deserialize, which may need to generate new code at runtime.")] public Query Clone() { Query clone = new() @@ -420,6 +424,8 @@ public Query Clone() /// Source Query instance. /// Destination Query instance. /// + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize, which may need to generate new code at runtime.")] public static bool IsEqual(Query source, Query destination) { return JsonSerializer.Serialize(source?.Queries).Equals(JsonSerializer.Serialize(destination?.Queries), StringComparison.Ordinal); @@ -440,6 +446,8 @@ public class QueryConverter : JsonConverter /// /// The value to serialize. /// Serialized token string. + [RequiresUnreferencedCode("Calls JsonSerializer.Serialize, which is unsafe to trim.")] + [RequiresDynamicCode("Calls JsonSerializer.Serialize, which may need to generate new code at runtime.")] private static string SerializeToken(object? value) { return JsonSerializer.Serialize(value, _writeJsonSettings); @@ -473,6 +481,12 @@ public override Query Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSe /// The JSON writer. /// The query value to serialize. /// The serializer options. + // This overrides JsonConverter.Write, which is not annotated with [RequiresUnreferencedCode]/ + // [RequiresDynamicCode], so the attributes cannot be repeated here. The trim/AOT risk is documented + // on SerializeToken below; callers reach this converter only through JsonSerializer.Serialize, which + // already carries the corresponding Requires attributes and surfaces the warning to the ultimate caller. + [UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Calls SerializeToken, which is annotated with [RequiresUnreferencedCode]; this override of JsonConverter.Write cannot itself carry the attribute.")] + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Calls SerializeToken, which is annotated with [RequiresDynamicCode]; this override of JsonConverter.Write cannot itself carry the attribute.")] public override void Write(Utf8JsonWriter writer, Query value, JsonSerializerOptions options) { Query query = value; diff --git a/src/Data/QueryableExtensions.cs b/src/Data/QueryableExtensions.cs index f13a2ee..f641378 100644 --- a/src/Data/QueryableExtensions.cs +++ b/src/Data/QueryableExtensions.cs @@ -1,4 +1,5 @@ -using System.Collections; +using System.Collections; +using System.Diagnostics.CodeAnalysis; using System.Linq.Expressions; using System.Reflection; using System.Text; @@ -30,6 +31,8 @@ public static class QueryableExtensions /// /// The source items. /// A queryable sequence when a runtime element type can be determined; otherwise the original sequence. + [RequiresUnreferencedCode("Calls OfType(Type), which builds a dynamic LINQ Queryable.OfType call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls OfType(Type), which builds a dynamic LINQ Queryable.OfType call by method name and may need to generate new code at runtime.")] public static IEnumerable OfQueryable(this IEnumerable items) { IEnumerator? enumerator = items?.GetEnumerator(); @@ -52,6 +55,8 @@ public static IEnumerable OfQueryable(this IEnumerable items) /// The source items. /// The runtime source type. /// A queryable sequence with the specified source type. + [RequiresUnreferencedCode("Calls OfType(Type), which builds a dynamic LINQ Queryable.OfType call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls OfType(Type), which builds a dynamic LINQ Queryable.OfType call by method name and may need to generate new code at runtime.")] public static IEnumerable OfQueryable(this IEnumerable items, Type sourceType) { IQueryable queryable = items.AsQueryable(); @@ -96,6 +101,8 @@ public static BinaryExpression OrElsePredicate(this Expression expr1, Expression /// /// The queryable source. /// The element count. + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.Count call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.Count call by method name via Expression.Call, which may need to generate new code at runtime.")] public static int Count(this IQueryable source) { Type? sourceType = source?.ElementType; @@ -114,6 +121,8 @@ public static int Count(this IQueryable source) /// Zero-based index of the element. /// The source element type. /// The element at the specified index. + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.ElementAt call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.ElementAt call by method name via Expression.Call, which may need to generate new code at runtime.")] public static object ElementAt(this IQueryable source, int index, Type sourceType) { return source?.Provider.Execute( @@ -130,6 +139,8 @@ public static object ElementAt(this IQueryable source, int index, Type sourceTyp /// The queryable source. /// Zero-based index of the element. /// The element at the specified index. + [RequiresUnreferencedCode("Calls ElementAt(IQueryable, int, Type), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls ElementAt(IQueryable, int, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static object ElementAt(this IQueryable source, int index) { Type? sourceType = source?.ElementType; @@ -143,6 +154,8 @@ public static object ElementAt(this IQueryable source, int index) /// Zero-based index of the element. /// The source element type. /// The element at the specified index or the default value. + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.ElementAtOrDefault call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.ElementAtOrDefault call by method name via Expression.Call, which may need to generate new code at runtime.")] public static object ElementAtOrDefault(this IQueryable source, int index, Type sourceType) { return source?.Provider.Execute( @@ -159,6 +172,8 @@ public static object ElementAtOrDefault(this IQueryable source, int index, Type /// The queryable source. /// Zero-based index of the element. /// The element at the specified index or the default value. + [RequiresUnreferencedCode("Calls ElementAtOrDefault(IQueryable, int, Type), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls ElementAtOrDefault(IQueryable, int, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static object ElementAtOrDefault(this IQueryable source, int index) { Type? sourceType = source?.ElementType; @@ -171,6 +186,8 @@ public static object ElementAtOrDefault(this IQueryable source, int index) /// The queryable source. /// The type to filter by. /// A queryable sequence containing only the matching elements. + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.OfType call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.OfType call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable OfType(this IQueryable source, Type sourceType) { return source?.Provider.CreateQuery( @@ -193,6 +210,8 @@ public static IQueryable OfType(this IQueryable source, Type sourceType) /// /// /// + [RequiresUnreferencedCode("Resolves the property by name (GetValueExpression/PropertyOrField) and builds a dynamic LINQ Queryable.OrderBy call by method name, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.OrderBy call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable OrderBy(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -214,6 +233,8 @@ public static IQueryable OrderBy(this IQueryable source, string propertyName, Ty /// /// /// + [RequiresUnreferencedCode("Calls GetValueExpression, which resolves properties by name via Expression.PropertyOrField/Expression.Property and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression, which resolves properties by name and may need to generate new code at runtime.")] private static LambdaExpression GetLambdaWithComplexPropertyNullCheck(IEnumerable source, string propertyName, ParameterExpression paramExpression, Type sourceType) { @@ -269,6 +290,8 @@ private static LambdaExpression GetLambdaWithComplexPropertyNullCheck(IEnumerabl /// The lambda parameter. /// The source type. /// A lambda expression for ordering or selection. + [RequiresUnreferencedCode("Calls GetValueExpression, which resolves properties by name via Expression.PropertyOrField/Expression.Property and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression, which resolves properties by name and may need to generate new code at runtime.")] private static LambdaExpression GetLambdaWithComplexPropertyNullCheck(IQueryable source, string propertyName, ParameterExpression paramExpression, Type sourceType) { @@ -323,6 +346,8 @@ private static LambdaExpression GetLambdaWithComplexPropertyNullCheck(IQueryable /// The queryable source. /// The property name. /// The ordered queryable. + [RequiresUnreferencedCode("Calls OrderBy(IQueryable, string, Type), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls OrderBy(IQueryable, string, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable OrderBy(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -337,6 +362,8 @@ public static IQueryable OrderBy(this IQueryable source, string propertyName) /// The property name. /// The expression factory. /// The ordered queryable. + [RequiresUnreferencedCode("Calls OrderBy(IQueryable, ParameterExpression, Expression), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls OrderBy(IQueryable, ParameterExpression, Expression), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable OrderBy(this IQueryable source, string propertyName, Expression> expressionFunc) { @@ -356,6 +383,8 @@ public static IQueryable OrderBy(this IQueryable source, string propertyName, /// The comparer to use. /// The expression factory. /// The ordered queryable. + [RequiresUnreferencedCode("Builds a closed generic Queryable.OrderBy call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.OrderBy call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable OrderBy(this IQueryable source, string propertyName, IComparer comparer, Expression> expressionFunc) { @@ -383,6 +412,8 @@ public static IQueryable OrderBy(this IQueryable source, string propertyName, IC /// The parameter expression. /// The member expression. /// The ordered queryable. + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.OrderBy call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.OrderBy call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable OrderBy(this IQueryable source, ParameterExpression paramExpression, Expression mExp) { ArgumentNullException.ThrowIfNull(source); @@ -416,6 +447,8 @@ public static IQueryable OrderBy(this IQueryable source, ParameterExpression par /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.OrderBy call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.OrderBy call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable OrderBy(this IQueryable source, IComparer comparer, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -438,6 +471,8 @@ public static IQueryable OrderBy(this IQueryable source, IComparer compare /// /// /// + [RequiresUnreferencedCode("Calls OrderBy(IQueryable, IComparer, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls OrderBy(IQueryable, IComparer, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IQueryable OrderBy(this IQueryable source, IComparer comparer) { ArgumentNullException.ThrowIfNull(source); @@ -452,6 +487,8 @@ public static IQueryable OrderBy(this IQueryable source, IComparer compare /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.OrderBy call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.OrderBy call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable OrderBy(this IQueryable source, string propertyName, IComparer comparer, Type sourceType) { @@ -491,6 +528,8 @@ public static IQueryable OrderBy(this IQueryable source, string propertyName, IC /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.OrderByDescending call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.OrderByDescending call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable OrderByDescending(this IQueryable source, IComparer comparer, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -515,6 +554,8 @@ public static IQueryable OrderByDescending(this IQueryable source, IComparer< /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.OrderByDescending call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.OrderByDescending call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable OrderByDescending(this IQueryable source, string propertyName, IComparer comparer, Type sourceType) { @@ -540,6 +581,8 @@ public static IQueryable OrderByDescending(this IQueryable source, string proper /// /// /// + [RequiresUnreferencedCode("Calls OrderByDescending(IQueryable, IComparer, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls OrderByDescending(IQueryable, IComparer, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IQueryable OrderByDescending(this IQueryable source, IComparer comparer) { ArgumentNullException.ThrowIfNull(source); @@ -561,6 +604,8 @@ public static IQueryable OrderByDescending(this IQueryable source, IComparer< /// /// /// + [RequiresUnreferencedCode("Resolves the property by name (GetLambdaWithComplexPropertyNullCheck/GetValueExpression) and builds a dynamic LINQ Queryable.OrderByDescending call by method name, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.OrderByDescending call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable OrderByDescending(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -585,6 +630,8 @@ public static IQueryable OrderByDescending(this IQueryable source, string proper /// The lambda parameter. /// The property name. /// The member-access expression. + [RequiresUnreferencedCode("Calls GetValueExpression, which resolves properties by name via Expression.PropertyOrField/Expression.Property and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression, which resolves properties by name and may need to generate new code at runtime.")] public static Expression GetExpression(this ParameterExpression paramExpression, string propertyName) { return paramExpression.GetValueExpression(propertyName, paramExpression?.Type!); @@ -597,6 +644,8 @@ public static Expression GetExpression(this ParameterExpression paramExpression, /// /// /// + [RequiresUnreferencedCode("Resolves properties by name via Expression.PropertyOrField/Expression.Property, which is unsafe to trim.")] + [RequiresDynamicCode("Resolves properties by name, which may need to generate new code at runtime.")] public static Expression GetValueExpression(this ParameterExpression paramExpression, string propertyName, Type sourceType) { @@ -648,6 +697,8 @@ public static Expression GetValueExpression(this ParameterExpression paramExpres /// /// /// + [RequiresUnreferencedCode("Calls OrderByDescending(IQueryable, string, Type), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls OrderByDescending(IQueryable, string, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable OrderByDescending(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -662,6 +713,8 @@ public static IQueryable OrderByDescending(this IQueryable source, string proper /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.OrderByDescending call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.OrderByDescending call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable OrderByDescending(this IQueryable source, string propertyName, IComparer comparer, Expression> expressionFunc) @@ -690,6 +743,8 @@ public static IQueryable OrderByDescending(this IQueryable source, string proper /// The property name. /// The expression factory. /// The ordered queryable. + [RequiresUnreferencedCode("Calls OrderByDescending(IQueryable, ParameterExpression, Expression), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls OrderByDescending(IQueryable, ParameterExpression, Expression), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable OrderByDescending(this IQueryable source, string propertyName, Expression> expressionFunc) { @@ -708,6 +763,8 @@ public static IQueryable OrderByDescending(this IQueryable source, string proper /// The parameter expression. /// The member expression. /// The ordered queryable. + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.OrderByDescending call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.OrderByDescending call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable OrderByDescending(this IQueryable source, ParameterExpression paramExpression, Expression mExp) { @@ -779,6 +836,8 @@ public static ParameterExpression Parameter(this Type sourceType) /// The property name. /// The comparison value. /// An equality expression. + [RequiresUnreferencedCode("Calls GetValueExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression, which resolves properties by name and may need to generate new code at runtime.")] public static Expression Equal(this ParameterExpression paramExpression, string propertyName, object value) { Expression memExp = paramExpression.GetValueExpression(propertyName, paramExpression?.Type!); @@ -795,6 +854,8 @@ public static Expression Equal(this ParameterExpression paramExpression, string /// The property name. /// The expression factory. /// An equality expression. + [RequiresUnreferencedCode("Calls GetExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression Equal(this ParameterExpression paramExpression, string propertyName, string propertyName2) { @@ -813,6 +874,8 @@ public static BinaryExpression Equal(this ParameterExpression paramExpression, s /// The target element type. /// The expression factory. /// An equality expression. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static Expression Equal(this ParameterExpression paramExpression, string propertyName, object value, Type elementType, Expression> expressionFunc) { @@ -844,6 +907,8 @@ public static Expression Equal(this ParameterExpression paramExpression, string /// The second property name. /// The second property name. /// A not-equal expression. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static Expression NotEqual(this ParameterExpression paramExpression, string propertyName, object value, Type elementType, Expression> expressionFunc) { @@ -873,6 +938,8 @@ public static Expression NotEqual(this ParameterExpression paramExpression, stri /// The first property name. /// The second property name. /// A not-equal expression. + [RequiresUnreferencedCode("Calls GetExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression NotEqual(this ParameterExpression paramExpression, string propertyName, object value) { Expression memExp = paramExpression.GetExpression(propertyName); @@ -889,6 +956,8 @@ public static BinaryExpression NotEqual(this ParameterExpression paramExpression /// The first property name. /// The second property name. /// A not-equal expression. + [RequiresUnreferencedCode("Calls GetExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression NotEqual(this ParameterExpression paramExpression, string propertyName, string propertyName2) { Expression memExp = paramExpression.GetExpression(propertyName); @@ -904,6 +973,8 @@ public static BinaryExpression NotEqual(this ParameterExpression paramExpression /// The first property name. /// The value property name. /// A greater-than-or-equal expression. + [RequiresUnreferencedCode("Calls GetValueExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression GreaterThanOrEqual(this ParameterExpression paramExpression, string propertyName, object value) { Expression memExp = paramExpression.GetValueExpression(propertyName, paramExpression?.Type!); @@ -920,6 +991,8 @@ public static BinaryExpression GreaterThanOrEqual(this ParameterExpression param /// The first property name. /// The second property name. /// A greater-than-or-equal expression. + [RequiresUnreferencedCode("Calls GetExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression GreaterThanOrEqual(this ParameterExpression paramExpression, string propertyName, string propertyName2) { Expression memExp = paramExpression.GetExpression(propertyName); @@ -937,6 +1010,8 @@ public static BinaryExpression GreaterThanOrEqual(this ParameterExpression param /// The target element type. /// The expression factory. /// A greater-than-or-equal expression. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static Expression GreaterThanOrEqual(this ParameterExpression paramExpression, string propertyName, object value, Type elementType, Expression> expressionFunc) { @@ -966,6 +1041,8 @@ public static Expression GreaterThanOrEqual(this ParameterExpression paramExpres /// The property name. /// The comparison value. /// A greater-than expression. + [RequiresUnreferencedCode("Calls GetValueExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression GreaterThan(this ParameterExpression paramExpression, string propertyName, object value) { Expression memExp = paramExpression.GetValueExpression(propertyName, paramExpression?.Type!); @@ -982,6 +1059,8 @@ public static BinaryExpression GreaterThan(this ParameterExpression paramExpress /// The first property name. /// The second property name. /// A greater-than expression. + [RequiresUnreferencedCode("Calls GetExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression GreaterThan(this ParameterExpression paramExpression, string propertyName, string propertyName2) { Expression memExp = paramExpression.GetExpression(propertyName); @@ -999,6 +1078,8 @@ public static BinaryExpression GreaterThan(this ParameterExpression paramExpress /// The target element type. /// The expression factory. /// A greater-than expression. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static Expression GreaterThan(this ParameterExpression paramExpression, string propertyName, object value, Type elementType, Expression> expressionFunc) { @@ -1028,6 +1109,8 @@ public static Expression GreaterThan(this ParameterExpression paramExpression, s /// The property name. /// The comparison value. /// A less-than expression. + [RequiresUnreferencedCode("Calls GetValueExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression LessThan(this ParameterExpression paramExpression, string propertyName, object value) { Expression memExp = paramExpression.GetValueExpression(propertyName, paramExpression?.Type!); @@ -1044,6 +1127,8 @@ public static BinaryExpression LessThan(this ParameterExpression paramExpression /// The first property name. /// The second property name. /// A less-than expression. + [RequiresUnreferencedCode("Calls GetExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression LessThan(this ParameterExpression paramExpression, string propertyName, string propertyName2) { Expression memExp = paramExpression.GetExpression(propertyName); @@ -1061,6 +1146,8 @@ public static BinaryExpression LessThan(this ParameterExpression paramExpression /// The target element type. /// The expression factory. /// A less-than expression. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static Expression LessThan(this ParameterExpression paramExpression, string propertyName, object value, Type elementType, Expression> expressionFunc) { @@ -1090,6 +1177,8 @@ public static Expression LessThan(this ParameterExpression paramExpression, stri /// The property name. /// The comparison value. /// A less-than-or-equal expression. + [RequiresUnreferencedCode("Calls GetValueExpression, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression, which resolves properties by name and may need to generate new code at runtime.")] public static BinaryExpression LessThanOrEqual(this ParameterExpression paramExpression, string propertyName, object value) { Expression memExp = paramExpression.GetValueExpression(propertyName, paramExpression?.Type!); @@ -1106,6 +1195,8 @@ public static BinaryExpression LessThanOrEqual(this ParameterExpression paramExp /// The first property name. /// The second property name. /// A less-than-or-equal expression. + [RequiresUnreferencedCode("Calls GetValueExpression/GetExpression, which resolve properties by name and are unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression/GetExpression, which resolve properties by name and may need to generate new code at runtime.")] public static BinaryExpression LessThanOrEqual(this ParameterExpression paramExpression, string propertyName, string propertyName2) { Expression memExp = paramExpression.GetValueExpression(propertyName, paramExpression?.Type!); @@ -1123,6 +1214,8 @@ public static BinaryExpression LessThanOrEqual(this ParameterExpression paramExp /// The target element type. /// The expression factory. /// A less-than-or-equal expression. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static Expression LessThanOrEqual(this ParameterExpression paramExpression, string propertyName, object value, Type elementType, Expression> expressionFunc) @@ -1167,6 +1260,8 @@ public static Expression LessThanOrEqual(this ParameterExpression paramExpressio /// /// /// + [RequiresUnreferencedCode("Calls GetValueExpression to resolve the property by name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression to resolve the property by name, which may need to generate new code at runtime.")] public static Expression Predicate(this IQueryable source, ParameterExpression paramExpression, string propertyName, object constValue, FilterType filterType, FilterBehavior filterBehaviour, bool isCaseSensitive, Type sourceType, bool ignoreAccent = false) // Predicate1 @@ -1188,6 +1283,8 @@ public static Expression Predicate(this IQueryable source, ParameterExpression p /// /// /// + [RequiresUnreferencedCode("Calls GetValueExpression to resolve the property by name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression to resolve the property by name, which may need to generate new code at runtime.")] internal static Expression Predicate(this IQueryable source, ParameterExpression paramExpression, string propertyName, object constValue, FilterType filterType, FilterBehavior filterBehaviour, bool isCaseSensitive, Type sourceType, bool ignoreAccent = false, bool isDateTimeColumn = false) // internal predicate to handle datetime filter @@ -1209,6 +1306,8 @@ internal static Expression Predicate(this IQueryable source, ParameterExpression /// /// /// + [RequiresUnreferencedCode("Calls GetValueExpression to resolve the property by name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression to resolve the property by name, which may need to generate new code at runtime.")] public static Expression Predicate(this IQueryable source, ParameterExpression paramExpression, string propertyName, object constValue, FilterType filterType, FilterBehavior filterBehaviour, bool isCaseSensitive, Type sourceType, @@ -1271,6 +1370,8 @@ public static Expression Predicate(this IQueryable source, ParameterExpression p /// The source element type. /// The cached expression delegate. /// A predicate expression. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and calls the private Predicate helper, which resolves properties by name. Unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static Expression Predicate(this IQueryable source, ParameterExpression paramExpression, string propertyName, object constValue, Type memberType, FilterType filterType, FilterBehavior filterBehaviour, bool isCaseSensitive, @@ -1322,6 +1423,8 @@ public static Expression Predicate(this IQueryable source, ParameterExpression p /// The current binary expression. /// Whether the source is dynamic. /// A tuple containing the transformed member expression, binary expression, and value. + [RequiresUnreferencedCode("Calls ValueConvert.ChangeType and NullableHelperInternal.GetNullableType, which are unsafe to trim.")] + [RequiresDynamicCode("Calls NullableHelperInternal.GetNullableType, which builds Nullable via Type.MakeGenericType and may need to generate new code at runtime.")] private static ValueTuple GetPxExpression( FilterType filterType, Type memberType, object value, bool isCaseSensitive, Expression memExp, Expression bExp, bool isDynamicDataObject = false @@ -1517,6 +1620,7 @@ public static Expression Predicate(this IQueryable source, ParameterExpression p /// The original constant value. /// Whether the source is dynamic. /// A tuple containing the transformed member expression, binary expression, and value. + [RequiresDynamicCode("Calls NullableHelperInternal.GetNullableType, which builds Nullable via Type.MakeGenericType and may need to generate new code at runtime.")] private static ValueTuple GetPxxExpression(FilterType filterType, Expression memExp, Expression bExp, object value, bool isCaseSensitive, Type memberType, object constValue, bool isDynamicDataObject = false) { @@ -1742,6 +1846,8 @@ private static string WildcardToRegex(string pattern) /// Whether to ignore accents for string values. /// Whether the property is a date-time column. /// A predicate expression. + [RequiresUnreferencedCode("Calls ElementAtOrDefault/GetValueExpression/Expression.PropertyOrField to resolve properties by name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls ElementAtOrDefault/GetValueExpression, which may need to generate new code at runtime.")] private static Expression Predicate(this IQueryable source, object constValue, FilterType filterType, FilterBehavior filterBehaviour, bool isCaseSensitive, Type sourceType, Type memberType, Expression memExp, ParameterExpression paramExpression, string propertyName, bool ignoreAccent = false, bool isDateTimeColumn = false) { @@ -1932,6 +2038,8 @@ FilterType.LessThan or FilterType.LessThanOrEqual or /// The source element type. /// The format string. /// A predicate expression. + [RequiresUnreferencedCode("Calls GetValueExpression to resolve the property by name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression to resolve the property by name, which may need to generate new code at runtime.")] public static Expression Predicate(this IQueryable source, ParameterExpression paramExpression, string propertyName, object constValue, FilterType filterType, FilterBehavior filteBehaviour, bool isCaseSensitive, Type sourceType, @@ -2008,6 +2116,8 @@ FilterType.LessThan or FilterType.LessThanOrEqual or /// The member type. /// Whether comparison is case sensitive. /// A tuple containing the binary expression and converted value. + [RequiresUnreferencedCode("Calls ValueConvert.ChangeType and GetFormatMethodCallExpression, which are unsafe to trim.")] + [RequiresDynamicCode("Calls GetFormatMethodCallExpression, which calls Expression.Call(Expression, string, Type[], params Expression[]) by method name and may need to generate new code at runtime.")] private static ValueTuple GetPExpression(FilterType filterType, Type underlyingType, string format, Expression memExp, object value, Type memberType, bool isCaseSensitive) { @@ -2219,6 +2329,8 @@ private static MethodCallExpression ToStringMethodCallExpression(this Expression /// The member expression. /// The format string. /// A method call expression. + [RequiresUnreferencedCode("Calls Expression.Call(Expression, string, Type[], params Expression[]) by method name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls Expression.Call(Expression, string, Type[], params Expression[]) by method name, which may need to generate new code at runtime.")] private static MethodCallExpression GetFormatMethodCallExpression(Expression memExp, string format) { if (memExp.Type.GetTypeInfo().IsGenericType && memExp.Type.GetTypeInfo().GetGenericTypeDefinition() == typeof(Nullable<>)) @@ -2278,6 +2390,8 @@ private static MethodCallExpression GetFormatMethodCallExpression(Expression mem /// /// /// Type. + [RequiresUnreferencedCode("Calls GetValueExpression and builds a dynamic LINQ Queryable.Select call by method name, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.Select call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable Select(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -2298,6 +2412,8 @@ public static IQueryable Select(this IQueryable source, string propertyName, Typ /// /// /// + [RequiresUnreferencedCode("Calls Select(IQueryable, string, Type), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Select(IQueryable, string, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable Select(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -2312,6 +2428,8 @@ public static IQueryable Select(this IQueryable source, string propertyName) /// /// /// Type. + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.Select call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.Select call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable Select(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -2341,6 +2459,8 @@ public static IQueryable Select(this IQueryable source, string propertyName, /// Type of the data source elements. /// /// + [RequiresUnreferencedCode("Calls Select(IQueryable, string, Type), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Select(IQueryable, string, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable Select(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -2355,6 +2475,8 @@ public static IQueryable Select(this IQueryable source, string propertyName) /// The const value. /// Type. /// + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.Skip call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.Skip call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable Skip(this IQueryable source, int constValue, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -2373,6 +2495,8 @@ public static IQueryable Skip(this IQueryable source, int constValue, Type sourc /// The source. /// The const value. /// + [RequiresUnreferencedCode("Calls Skip(IQueryable, int, Type), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Skip(IQueryable, int, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable Skip(this IQueryable source, int constValue) { ArgumentNullException.ThrowIfNull(source); @@ -2383,6 +2507,7 @@ public static IQueryable Skip(this IQueryable source, int constValue) #region Aggregate extensions // Func to calculate the summary aggregates when UseBindingValue is true. + [RequiresUnreferencedCode("Calls NullableHelperInternal.ChangeType, which calls TypeDescriptor.GetConverter(Type) and is unsafe to trim. Invoked reflectively via MethodInfo.MakeGenericMethod.")] private static InvocationExpression GetInvokeExpressionAggregateFuncSummaryCalculation(ParameterExpression paramExp, string propertyName, Expression> expressionFunc) { @@ -2463,6 +2588,11 @@ private static InvocationExpression GetDelegateInvokeExpressionAggregateFunc + // Note: [method: RequiresUnreferencedCode]/[RequiresDynamicCode] cannot be applied to an expression-bodied + // property (CS0657 - only the 'property' target is valid here), so the trim/AOT risk documented by the + // suppressions below is instead carried explicitly by GetQueryableSumMethod, the sole caller. + [UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Enumerates all methods of Queryable via Type.GetMethods(), which includes members (such as AsQueryable) annotated with RequiresUnreferencedCode; the risk is documented on the caller, GetQueryableSumMethod.")] + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Enumerates all methods of Queryable via Type.GetMethods(), which includes members (such as AsQueryable) annotated with RequiresDynamicCode; the risk is documented on the caller, GetQueryableSumMethod.")] private static MethodInfo[] QueryableSummethod => _queryableSumMethod ??= [.. typeof(Queryable).GetMethods().Where(m => m.Name == "Sum" && m.GetParameters().Length == 2)]; // MethodInfo[] collection for Queryable extensions and hold the average methods other than Int32. @@ -2470,6 +2600,11 @@ private static InvocationExpression GetDelegateInvokeExpressionAggregateFunc + // Note: [method: RequiresUnreferencedCode]/[RequiresDynamicCode] cannot be applied to an expression-bodied + // property (CS0657 - only the 'property' target is valid here), so the trim/AOT risk documented by the + // suppressions below is instead carried explicitly by GetQueryableAverageMethod, the sole caller. + [UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Enumerates all methods of Queryable via Type.GetMethods(), which includes members (such as AsQueryable) annotated with RequiresUnreferencedCode; the risk is documented on the caller, GetQueryableAverageMethod.")] + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Enumerates all methods of Queryable via Type.GetMethods(), which includes members (such as AsQueryable) annotated with RequiresDynamicCode; the risk is documented on the caller, GetQueryableAverageMethod.")] private static MethodInfo[] QueryableAverageMethod => _queryableaverageMethod ??= [.. typeof(Queryable).GetMethods().Where(m => m.Name == "Average" && m.GetParameters().Length == 2)]; // MethodInfo[] collection is calculated frequently whenever the summary value changes. @@ -2478,6 +2613,11 @@ private static InvocationExpression GetDelegateInvokeExpressionAggregateFunc + // Note: [method: RequiresUnreferencedCode]/[RequiresDynamicCode] cannot be applied to an expression-bodied + // property (CS0657 - only the 'property' target is valid here); callers of this member already carry the + // corresponding Requires attributes (see the Sum(...) overloads below), so the risk remains documented. + [UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Enumerates all methods of EnumerableExtensions via Type.GetMethods(), which includes members annotated with RequiresUnreferencedCode; callers already carry the corresponding Requires attribute.")] + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Enumerates all methods of EnumerableExtensions via Type.GetMethods(), which includes members annotated with RequiresDynamicCode; callers already carry the corresponding Requires attribute.")] private static MethodInfo[] EnumerableSumMethods => _enumerablesummethods ??= [.. typeof(EnumerableExtensions).GetMethods().Where(static m => m.Name == "Sum" && m.GetParameters().Length == 2)]; @@ -2486,6 +2626,11 @@ private static InvocationExpression GetDelegateInvokeExpressionAggregateFunc + // Note: [method: RequiresUnreferencedCode]/[RequiresDynamicCode] cannot be applied to an expression-bodied + // property (CS0657 - only the 'property' target is valid here); callers of this member already carry the + // corresponding Requires attributes (see the Average(...) overloads below), so the risk remains documented. + [UnconditionalSuppressMessage("Trimming", "IL2026", Justification = "Enumerates all methods of EnumerableExtensions via Type.GetMethods(), which includes members annotated with RequiresUnreferencedCode; callers already carry the corresponding Requires attribute.")] + [UnconditionalSuppressMessage("AOT", "IL3050", Justification = "Enumerates all methods of EnumerableExtensions via Type.GetMethods(), which includes members annotated with RequiresDynamicCode; callers already carry the corresponding Requires attribute.")] private static MethodInfo[] EnumerableAverageMethods => _enumerableaverageMethods ??= [.. typeof(EnumerableExtensions).GetMethods().Where(m => m.Name == "Average" && m.GetParameters().Length == 2)]; /// @@ -2500,6 +2645,8 @@ private static InvocationExpression GetDelegateInvokeExpressionAggregateFuncThe property to aggregate. /// The source element type. /// The calculated sum value, or when the query is empty or no sum method is available. + [RequiresUnreferencedCode("Calls GetValueExpression and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static object Sum(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -2537,6 +2684,8 @@ public static object Sum(this IQueryable source, string propertyName, Type sourc /// The queryable source. /// The property to aggregate. /// The calculated sum value, or when the query is empty or no sum method is available. + [RequiresUnreferencedCode("Calls Sum(IQueryable, string, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls Sum(IQueryable, string, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static object Sum(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -2551,6 +2700,8 @@ public static object Sum(this IQueryable source, string propertyName) /// The value selector expression factory. /// The type selector expression factory. /// The calculated sum value, or when the query is empty or no sum method is available. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static object Sum(this IQueryable source, string propertyName, Expression> expressionFunc, Expression> typeFunc) { ArgumentNullException.ThrowIfNull(source); @@ -2615,6 +2766,8 @@ public static object Sum(this IQueryable source, string propertyName, Expression /// /// /// exact method info. + [RequiresUnreferencedCode("Calls QueryableSummethod, which enumerates all methods of Queryable via Type.GetMethods() and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableSummethod, which enumerates all methods of Queryable via Type.GetMethods() and may need to generate new code at runtime.")] private static MethodInfo GetQueryableSumMethod(Type bodyType) { MethodInfo? method = null; @@ -2674,6 +2827,8 @@ private static MethodInfo GetQueryableSumMethod(Type bodyType) /// /// /// exact method info. + [RequiresUnreferencedCode("Calls QueryableAverageMethod, which enumerates all methods of Queryable via Type.GetMethods() and is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableAverageMethod, which enumerates all methods of Queryable via Type.GetMethods() and may need to generate new code at runtime.")] private static MethodInfo GetQueryableAverageMethod(Type bodyType) { MethodInfo? method = null; @@ -2741,6 +2896,8 @@ private static MethodInfo GetQueryableAverageMethod(Type bodyType) /// The queryable source. /// The property name. /// The calculated average value. + [RequiresUnreferencedCode("Calls Average(IQueryable, string, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls Average(IQueryable, string, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static object Average(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -2755,6 +2912,8 @@ public static object Average(this IQueryable source, string propertyName) /// The property name. /// The source element type. /// The calculated average value. + [RequiresUnreferencedCode("Calls GetValueExpression and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static object Average(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -2794,6 +2953,8 @@ public static object Average(this IQueryable source, string propertyName, Type s /// The expression factory. /// The type resolver factory. /// The calculated average value. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static object Average(this IQueryable source, string propertyName, Expression> expressionFunc, Expression> typeFunc) { ArgumentNullException.ThrowIfNull(source); @@ -2859,6 +3020,8 @@ public static object Average(this IQueryable source, string propertyName, Expres /// The queryable source. /// The property name. /// The maximum value. + [RequiresUnreferencedCode("Calls Max(IQueryable, string, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls Max(IQueryable, string, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static object Max(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -2873,6 +3036,8 @@ public static object Max(this IQueryable source, string propertyName) /// The property name. /// The source element type. /// The maximum value. + [RequiresUnreferencedCode("Calls GetValueExpression and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static object Max(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -2894,6 +3059,8 @@ public static object Max(this IQueryable source, string propertyName, Type sourc /// The property name. /// The expression factory. /// The maximum value. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static object Max(this IQueryable source, string propertyName, Expression> expressionFunc) { @@ -2956,6 +3123,8 @@ public static object Max(this IQueryable source, string propertyName, /// The queryable source. /// The property name. /// The minimum value. + [RequiresUnreferencedCode("Calls Min(IQueryable, string, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls Min(IQueryable, string, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static object Min(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -2970,6 +3139,8 @@ public static object Min(this IQueryable source, string propertyName) /// The property name. /// The source element type. /// The minimum value. + [RequiresUnreferencedCode("Calls GetValueExpression and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static object Min(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -2989,6 +3160,8 @@ public static object Min(this IQueryable source, string propertyName, Type sourc /// The property name. /// The expression factory. /// The minimum value. + [RequiresUnreferencedCode("Builds a closed generic method via MethodInfo.MakeGenericMethod and invokes it through reflection, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static object Min(this IQueryable source, string propertyName, Expression> expressionFunc) { ArgumentNullException.ThrowIfNull(source); @@ -3048,6 +3221,8 @@ public static object Min(this IQueryable source, string propertyName, Expression /// The const value. /// Type. /// + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.Take call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.Take call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable Take(this IQueryable source, int constValue, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -3065,6 +3240,8 @@ public static IQueryable Take(this IQueryable source, int constValue, Type sourc /// The source. /// The const value. /// + [RequiresUnreferencedCode("Calls Take(IQueryable, int, Type), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Take(IQueryable, int, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable Take(this IQueryable source, int constValue) { ArgumentNullException.ThrowIfNull(source); @@ -3085,6 +3262,8 @@ public static IQueryable Take(this IQueryable source, int constValue) /// /// /// + [RequiresUnreferencedCode("Resolves the property by name and builds a dynamic LINQ Queryable.ThenBy call by method name, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.ThenBy call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable ThenBy(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -3103,6 +3282,8 @@ public static IQueryable ThenBy(this IQueryable source, string propertyName, Typ /// /// /// + [RequiresUnreferencedCode("Calls ThenBy(IQueryable, string, Type), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls ThenBy(IQueryable, string, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable ThenBy(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -3117,6 +3298,8 @@ public static IQueryable ThenBy(this IQueryable source, string propertyName) /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.ThenBy call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.ThenBy call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable ThenBy(this IQueryable source, string propertyName, IComparer comparer, Expression> expressionFunc) { @@ -3142,6 +3325,8 @@ public static IQueryable ThenBy(this IQueryable source, string propertyName, ICo /// /// /// + [RequiresUnreferencedCode("Calls ThenBy(IQueryable, ParameterExpression, Expression), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls ThenBy(IQueryable, ParameterExpression, Expression), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable ThenBy(this IQueryable source, string propertyName, Expression> expressionFunc) { @@ -3159,6 +3344,8 @@ public static IQueryable ThenBy(this IQueryable source, string propertyName, /// /// /// + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.ThenBy call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.ThenBy call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable ThenBy(this IQueryable source, ParameterExpression paramExpression, Expression mExp) { ArgumentNullException.ThrowIfNull(source); @@ -3194,6 +3381,8 @@ public static IQueryable ThenBy(this IQueryable source, ParameterExpression para /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.ThenBy call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.ThenBy call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable ThenBy(this IQueryable source, IComparer comparer, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -3216,6 +3405,8 @@ public static IQueryable ThenBy(this IQueryable source, IComparer comparer /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.ThenBy call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.ThenBy call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable ThenBy(this IQueryable source, string propertyName, IComparer comparer, Type sourceType) { @@ -3239,6 +3430,8 @@ public static IQueryable ThenBy(this IQueryable source, string propertyName, ICo /// /// /// + [RequiresUnreferencedCode("Calls ThenBy(IQueryable, IComparer, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls ThenBy(IQueryable, IComparer, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IQueryable ThenBy(this IQueryable source, IComparer comparer) { ArgumentNullException.ThrowIfNull(source); @@ -3267,6 +3460,8 @@ public static IQueryable ThenBy(this IQueryable source, IComparer comparer /// /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.ThenByDescending call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.ThenByDescending call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable ThenByDescending(this IQueryable source, IComparer comparer, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -3289,6 +3484,8 @@ public static IQueryable ThenByDescending(this IQueryable source, IComparer /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.ThenByDescending call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.ThenByDescending call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable ThenByDescending(this IQueryable source, string propertyName, IComparer comparer, Type sourceType) { @@ -3311,6 +3508,8 @@ public static IQueryable ThenByDescending(this IQueryable source, string propert /// /// /// + [RequiresUnreferencedCode("Calls ThenByDescending(IQueryable, IComparer, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and is unsafe to trim.")] + [RequiresDynamicCode("Calls ThenByDescending(IQueryable, IComparer, Type), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IQueryable ThenByDescending(this IQueryable source, IComparer comparer) { ArgumentNullException.ThrowIfNull(source); @@ -3325,6 +3524,8 @@ public static IQueryable ThenByDescending(this IQueryable source, IComparer /// /// + [RequiresUnreferencedCode("Builds a closed generic Queryable.ThenByDescending call via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic Queryable.ThenByDescending call via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IQueryable ThenByDescending(this IQueryable source, string propertyName, IComparer comparer, Expression> expressionFunc) @@ -3351,6 +3552,8 @@ public static IQueryable ThenByDescending(this IQueryable source, string propert /// /// /// + [RequiresUnreferencedCode("Calls ThenByDescending(IQueryable, ParameterExpression, Expression), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls ThenByDescending(IQueryable, ParameterExpression, Expression), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable ThenByDescending(this IQueryable source, string propertyName, Expression> expressionFunc) { @@ -3368,6 +3571,8 @@ public static IQueryable ThenByDescending(this IQueryable source, string propert /// /// /// + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.ThenByDescending call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.ThenByDescending call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable ThenByDescending(this IQueryable source, ParameterExpression paramExpression, Expression mExp) { @@ -3396,6 +3601,8 @@ public static IQueryable ThenByDescending(this IQueryable source, ParameterExpre /// /// /// + [RequiresUnreferencedCode("Resolves the property by name and builds a dynamic LINQ Queryable.ThenByDescending call by method name, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.ThenByDescending call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable ThenByDescending(this IQueryable source, string propertyName, Type sourceType) { ArgumentNullException.ThrowIfNull(source); @@ -3415,6 +3622,8 @@ public static IQueryable ThenByDescending(this IQueryable source, string propert /// /// /// + [RequiresUnreferencedCode("Calls ThenByDescending(IQueryable, string, Type), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls ThenByDescending(IQueryable, string, Type), which builds a dynamic LINQ call by method name and may need to generate new code at runtime.")] public static IQueryable ThenByDescending(this IQueryable source, string propertyName) { ArgumentNullException.ThrowIfNull(source); @@ -3442,6 +3651,8 @@ public static IQueryable ThenByDescending(this IQueryable source, string propert /// /// /// + [RequiresUnreferencedCode("Calls GetValueExpression to resolve the property by name, which is unsafe to trim.")] + [RequiresDynamicCode("Calls GetValueExpression to resolve the property by name, which may need to generate new code at runtime.")] public static IQueryable Where(this IQueryable source, string propertyName, object value, FilterType filterType, bool isCaseSensitive, Type sourceType) { @@ -3598,6 +3809,8 @@ FilterType.LessThan or FilterType.LessThanOrEqual or /// /// /// + [RequiresUnreferencedCode("Calls Where(IQueryable, string, object, FilterType, bool, Type), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Where(IQueryable, string, object, FilterType, bool, Type), which may need to generate new code at runtime.")] public static IQueryable Where(this IQueryable source, string propertyName, object value, FilterType filterType, bool isCaseSensitive) { @@ -3613,6 +3826,8 @@ public static IQueryable Where(this IQueryable source, string propertyName, obje /// The zero-based page index. /// The number of items per page. /// The paged queryable source. + [RequiresUnreferencedCode("Calls Skip/Take, which build dynamic LINQ calls by method name and are unsafe to trim.")] + [RequiresDynamicCode("Calls Skip/Take, which build dynamic LINQ calls by method name and may need to generate new code at runtime.")] public static IQueryable Page(this IQueryable source, int pageIndex, int pageSize) { ArgumentNullException.ThrowIfNull(source); @@ -3672,6 +3887,8 @@ public static IQueryable Page(this IQueryable source, int pageIndex, int pageSiz /// /// /// + [RequiresUnreferencedCode("Builds a dynamic LINQ Queryable.Where call by method name via Expression.Call, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a dynamic LINQ Queryable.Where call by method name via Expression.Call, which may need to generate new code at runtime.")] public static IQueryable Where(this IQueryable source, ParameterExpression paramExpression, Expression predicateExpression) { @@ -3887,6 +4104,8 @@ public static IEnumerable GroupByMany( /// The queryable source. /// The property names to group by. /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GroupByMany(IQueryable, string[]), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GroupByMany(IQueryable, string[]), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IQueryable source, IEnumerable properties) { return GroupByMany(source, properties.ToArray()); @@ -3899,6 +4118,8 @@ public static IEnumerable GroupByMany(this IQueryable source, IEnum /// The source element type. /// The property names to group by. /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GroupByMany(IQueryable, Dictionary, Type, string[]), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GroupByMany(IQueryable, Dictionary, Type, string[]), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IQueryable source, Type sourceType, params string[] properties) { @@ -3913,6 +4134,8 @@ public static IEnumerable GroupByMany(this IQueryable source, Type /// The source element type. /// The property names to group by. /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GetValueExpression to resolve properties by name and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IQueryable source, Dictionary formatColl, Type sourceType, params string[] properties) { @@ -3981,6 +4204,8 @@ public static IEnumerable GroupByMany(this IQueryable source, Dicti /// The sort fields to apply to grouped results. /// The property names to group by. /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GetValueExpression to resolve properties by name and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IQueryable source, Type sourceType, List sortFields, params string[] properties) { @@ -4024,6 +4249,8 @@ public static IEnumerable GroupByMany(this IQueryable source, Type /// A factory that creates a grouping expression for each property. /// The property names to group by. /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GetValueExpression to resolve properties by name and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IEnumerable source, Type sourceType, Func GetExpressionFunc, params string[] properties) @@ -4091,6 +4318,8 @@ public static IEnumerable GroupByMany(this IEnumerable source, Type /// A factory that creates a grouping expression for each property. /// The property names to group by. /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GetValueExpression to resolve properties by name and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IEnumerable source, Type sourceType, List sortFields, Dictionary> sortComparers, @@ -4152,6 +4381,9 @@ public static IEnumerable GroupByMany(this IEnumerable source, Type /// A factory that creates a grouping expression for each property. /// The property names to group by. /// A sequence of grouped results. + /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GetValueExpression to resolve properties by name and builds a closed generic method via MethodInfo.MakeGenericMethod, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic method via MethodInfo.MakeGenericMethod, which may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IEnumerable source, Type sourceType, List sortFields, Func GetExpressionFunc, @@ -4206,6 +4438,8 @@ public static IEnumerable GroupByMany(this IEnumerable source, Type /// Gets the for the GroupByMany overload that accepts enumerable selectors. /// /// The matching . + [RequiresUnreferencedCode("Enumerates all methods of QueryableExtensions via Type.GetMethods(), which includes members annotated with RequiresUnreferencedCode and is unsafe to trim.")] + [RequiresDynamicCode("Enumerates all methods of QueryableExtensions via Type.GetMethods(), which includes members annotated with RequiresDynamicCode.")] private static MethodInfo GetGroupByManyMethod() { MethodInfo? method = null; @@ -4232,6 +4466,8 @@ private static MethodInfo GetGroupByManyMethod() /// Gets the for the GroupByMany overload that accepts sort fields and enumerable selectors. /// /// The matching . + [RequiresUnreferencedCode("Enumerates all methods of QueryableExtensions via Type.GetMethods(), which includes members annotated with RequiresUnreferencedCode and is unsafe to trim.")] + [RequiresDynamicCode("Enumerates all methods of QueryableExtensions via Type.GetMethods(), which includes members annotated with RequiresDynamicCode.")] private static MethodInfo GetGroupByManyMethod2() { MethodInfo? method = null; @@ -4261,6 +4497,8 @@ private static MethodInfo GetGroupByManyMethod2() /// Gets the for the GroupByMany overload that accepts custom comparers. /// /// The matching . + [RequiresUnreferencedCode("Enumerates all methods of QueryableExtensions via Type.GetMethods(), which includes members annotated with RequiresUnreferencedCode and is unsafe to trim.")] + [RequiresDynamicCode("Enumerates all methods of QueryableExtensions via Type.GetMethods(), which includes members annotated with RequiresDynamicCode.")] private static MethodInfo GetGroupByManyMethod3() { MethodInfo? method = null; @@ -4292,6 +4530,8 @@ private static MethodInfo GetGroupByManyMethod3() /// The queryable source. /// The property names to group by. /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GroupByMany(IQueryable, Type, string[]), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GroupByMany(IQueryable, Type, string[]), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IQueryable source, params string[] properties) { ArgumentNullException.ThrowIfNull(source); @@ -4306,6 +4546,8 @@ public static IEnumerable GroupByMany(this IQueryable source, param /// The format strings keyed by property name. /// The property names to group by. /// A sequence of grouped results. + [RequiresUnreferencedCode("Calls GroupByMany(IQueryable, Dictionary, Type, string[]), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls GroupByMany(IQueryable, Dictionary, Type, string[]), which builds a closed generic method via MethodInfo.MakeGenericMethod and may need to generate new code at runtime.")] public static IEnumerable GroupByMany(this IQueryable source, Dictionary formatcoll, params string[] properties) { @@ -4316,6 +4558,8 @@ public static IEnumerable GroupByMany(this IQueryable source, Dicti #endregion + [RequiresUnreferencedCode("Builds a closed generic List via Type.MakeGenericType and Activator.CreateInstance, which is unsafe to trim.")] + [RequiresDynamicCode("Builds a closed generic List via Type.MakeGenericType, which may need to generate new code at runtime.")] private static IList CreateGeneric(Type generic, Type innerType, params object[] args) { Type specificType = generic.MakeGenericType([innerType]); diff --git a/src/Data/QueryableOperation.cs b/src/Data/QueryableOperation.cs index 12d03fb..f1dd475 100644 --- a/src/Data/QueryableOperation.cs +++ b/src/Data/QueryableOperation.cs @@ -1,4 +1,5 @@ -using System.Linq.Expressions; +using System.Linq.Expressions; +using System.Diagnostics.CodeAnalysis; using System.Reflection; using Syncfusion.Blazor.Toolkit.Data; using Syncfusion.Blazor.Toolkit.Internal; @@ -41,6 +42,8 @@ private static Type DataSourceType(IQueryable dataSource) /// Input data source against which the query to be executed. /// Query to be executed. /// IQueryable - resultant records. + [RequiresUnreferencedCode("Calls PerformFiltering/PerformSearching/PerformSorting, which resolve properties by name and are unsafe to trim.")] + [RequiresDynamicCode("Calls PerformFiltering/PerformSearching/PerformSorting, which may need to generate new code at runtime.")] public static IQueryable Execute(IQueryable dataSource, DataManagerRequest manager) { if (manager == null) { return dataSource; } @@ -78,6 +81,8 @@ public static IQueryable Execute(IQueryable dataSource, DataManagerRequ /// Input data source to be grouped. /// List of column names by which rows will be grouped. /// IQueryable. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformGrouping, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformGrouping, which may need to generate new code at runtime.")] public static IQueryable PerformGrouping(IQueryable dataSource, List grouped) { return EnumerableOperation.PerformGrouping(dataSource, grouped).AsQueryable(); @@ -89,6 +94,8 @@ public static IQueryable PerformGrouping(IQueryable dataSource, ListData source to be sorted. /// List of sort criteria. /// IQueryable - sorted records. + [RequiresUnreferencedCode("Calls EnumerableOperation.PerformSorting, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls EnumerableOperation.PerformSorting, which may need to generate new code at runtime.")] public static IQueryable PerformSorting(IQueryable dataSource, List sortedColumns) { return (IOrderedQueryable)EnumerableOperation.PerformSorting(dataSource, sortedColumns, typeof(T)); @@ -100,6 +107,8 @@ public static IQueryable PerformSorting(IQueryable dataSource, ListData source to be sorted. /// List of sort criteria. /// IQueryable - sorted records. + [RequiresUnreferencedCode("Calls PerformSorting(IQueryable, List), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls PerformSorting(IQueryable, List), which may need to generate new code at runtime.")] public static IQueryable PerformSorting(IQueryable dataSource, List sortColumns) { sortColumns ??= []; @@ -128,6 +137,8 @@ public static IQueryable PerformSorting(IQueryable dataSource, ListInput data source. /// Number of records to be skipped. /// IQueryable. + [RequiresUnreferencedCode("Calls IQueryable.AsQueryable() and QueryableExtensions.Skip(IQueryable, int), both of which are unsafe to trim.")] + [RequiresDynamicCode("Calls IQueryable.AsQueryable() and QueryableExtensions.Skip(IQueryable, int), both of which may need to generate new code at runtime.")] public static IQueryable PerformSkip(IQueryable dataSource, int skip) { IQueryable data = dataSource.AsQueryable(); @@ -140,6 +151,8 @@ public static IQueryable PerformSkip(IQueryable dataSource, int skip) /// Input data source. /// Number of records to be taken. /// IQueryable. + [RequiresUnreferencedCode("Calls IQueryable.AsQueryable() and QueryableExtensions.Take(IQueryable, int), both of which are unsafe to trim.")] + [RequiresDynamicCode("Calls IQueryable.AsQueryable() and QueryableExtensions.Take(IQueryable, int), both of which may need to generate new code at runtime.")] public static IQueryable PerformTake(IQueryable dataSource, int take) { IQueryable data = dataSource.AsQueryable(); @@ -157,6 +170,8 @@ private static Type GetDataType(IQueryable dataSource, Type type, string f return type; } + [RequiresUnreferencedCode("Calls QueryableExtensions.ElementAt(IQueryable, int), which is unsafe to trim.")] + [RequiresDynamicCode("Calls QueryableExtensions.ElementAt(IQueryable, int), which may need to generate new code at runtime.")] private static Type GetColumnType(IQueryable dataSource, string filterString, Type? type) { string[] complexData = filterString.Split('.'); @@ -195,6 +210,8 @@ private static Type GetColumnType(IQueryable dataSource, string filterStri /// Data source to be filtered. /// List of search criteria. /// IQueryable - searched records. + [RequiresUnreferencedCode("Calls Predicate, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Predicate, which may need to generate new code at runtime.")] public static IQueryable PerformSearching(IQueryable dataSource, List searchFilter) { Type? type = dataSource != null ? DataSourceType(dataSource) : null; @@ -253,6 +270,8 @@ public static IQueryable PerformSearching(IQueryable dataSource, List(IQueryable dataSource, List whereFilter, string condition, ParameterExpression paramExpression, Type type) { _ = typeof(object); @@ -332,6 +351,8 @@ private static Expression PredicateBuilder(IQueryable dataSource, ListList of filter criteria. /// Filter merge condition. Value can be either AND or OR. /// IQueryable - filtered records. + [RequiresUnreferencedCode("Calls PredicateBuilder, which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls PredicateBuilder, which may need to generate new code at runtime.")] public static IQueryable PerformFiltering(IQueryable dataSource, List whereFilter, string condition) { Type? type = dataSource != null ? DataSourceType(dataSource) : null; @@ -346,6 +367,8 @@ public static IQueryable PerformFiltering(IQueryable dataSource, ListInput data source. /// Fields to select. /// + [RequiresUnreferencedCode("Calls Select(IQueryable, string), which resolves properties by name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Select(IQueryable, string), which may need to generate new code at runtime.")] public static IQueryable PerformSelect(IQueryable dataSource, List select) { IEnumerable sel = select.Where(item => item != null); @@ -375,6 +398,8 @@ public static IQueryable PerformSelect(IQueryable dataSource, List selec /// Input data source. /// Fields to select. /// + [RequiresUnreferencedCode("Calls Select(IQueryable, string), which builds a dynamic LINQ call by method name and is unsafe to trim.")] + [RequiresDynamicCode("Calls Select(IQueryable, string), which may need to generate new code at runtime.")] public static IQueryable PerformSelect(IQueryable dataSource, List select) { IEnumerable sel = select.Where(item => item != null); diff --git a/src/wwwroot/styles/button.min.css b/src/wwwroot/styles/button.min.css new file mode 100644 index 0000000..a84ac37 --- /dev/null +++ b/src/wwwroot/styles/button.min.css @@ -0,0 +1,1713 @@ +@layer fluent, themes; +@layer fluent { + :root { + --color-sf-primary: #0f6cbd; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #b4d6fa; + --color-sf-primary-lighter: #ebf3fc; + --color-sf-primary-dark: #0f548c; + --color-sf-success: #0e700e; + --color-sf-info: #008aa9; + --color-sf-warning: #bc4b09; + --color-sf-danger: #d13438; + --color-sf-content-bg-color: #fafafa; + --color-sf-content-bg-color-alt1: #fff; + --color-sf-content-bg-color-alt2: #f5f5f5; + --color-sf-content-bg-color-alt3: #e6e6e6; + --color-sf-content-bg-color-alt4: #f0f0f0; + --color-sf-content-bg-color-hover: #f0f0f0; + --color-sf-content-bg-color-pressed: #dbdbdb; + --color-sf-content-bg-color-focus: #f0f0f0; + --color-sf-content-bg-color-selected: #e6e6e6; + --color-sf-flyout-bg-color: #fff; + --color-sf-flyout-bg-color-hover: #f5f5f5; + --color-sf-flyout-bg-color-pressed: #e0e0e0; + --color-sf-flyout-bg-color-selected: #ebebeb; + --color-sf-flyout-bg-color-focus: #f5f5f5; + --color-sf-overlay-bg-color: rgba(0, 0, 0, .4); + --color-sf-content-text-color: #242424; + --color-sf-content-text-color-alt1: #424242; + --color-sf-content-text-color-alt2: #616161; + --color-sf-content-text-color-alt3: #707070; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #bdbdbd; + --color-sf-placeholder-text-color: #707070; + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: var(--color-sf-content-text-color-alt1); + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #e0e0e0; + --color-sf-border: #d1d1d1; + --color-sf-border-alt: #616161; + --color-sf-border-dark: #c7c7c7; + --color-sf-border-hover: #575757; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: var(--color-sf-border-light); + --color-sf-border-warning: #da3b01; + --color-sf-border-error: #c50f1f; + --color-sf-border-success: #107c10; + --color-sf-flyout-border: var(--color-sf-border-light); + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #115ea3; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #f0f0f0; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: #b8b8b8; + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #fff; + --color-sf-secondary-border-color: #d1d1d1; + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #f5f5f5; + --color-sf-secondary-border-color-hover: #c7c7c7; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: #e0e0e0; + --color-sf-secondary-border-color-pressed: #b3b3b3; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: var(--color-sf-secondary-bg-color); + --color-sf-secondary-border-color-focus: #000; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: #f0f0f0; + --color-sf-secondary-border-color-disabled: #e0e0e0; + --color-sf-secondary-text-color-disabled: #bdbdbd; + --color-sf-secondary-bg-color-selected: #ebebeb; + --color-sf-secondary-border-color-selected: #bdbdbd; + --color-sf-secondary-text-color-selected: #242424; + --color-sf-success-bg-color: #107c10; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0c5e0c; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f7630c; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: var(--color-sf-content-text-color); + --color-sf-warning-bg-color-hover: #bc4b09; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #bc4b09; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #31afcc; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: var(--color-sf-content-text-color); + --color-sf-info-bg-color-hover: #008aa9; + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #00748f; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #c50f1f; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: #960b18; + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #242424; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #b3b3b3; + --color-sf-rating-unrated-disabled-color: #b3b3b3; + --color-sf-rating-selected-hover-color: #115ea3; + --color-sf-utility-primary-lighter: #f9f5ff; + --color-sf-shadow-color: #000; + --color-sf-shadow-color1: #fff; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #242424; + --color-sf-secondary-outline-button-text-color-pressed: #242424; + --color-sf-secondary-outline-button-text-color-selected: #242424; + --color-sf-secondary-outline-button-text-color-focus: #242424; + --color-sf-slider-shadow1: #fff; + --color-sf-slider-shadow2: #d1d1d1; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #e0e0e0; + --color-sf-toggle-switch-border-disabled: #f0f0f0; + --color-sf-calendar-icon-color: #0f6ebd; + --color-sf-calendar-header-text-color-pressed: #0f548c; + --color-sf-dialog-border: #fafafa; + --color-sf-skeleton-bg-color: #e6e6e6; + } +} +@media (forced-colors: active) { + :root { + color-scheme: light dark; + } + .e-btn, + .e-btn.e-flat, + .e-btn.e-outline, + .e-checkbox-wrapper, + .e-radio-wrapper, + .e-switch-wrapper, + .e-input, + .e-textbox, + .e-textarea, + .e-datepicker, + .e-datetimepicker, + .e-timepicker, + .e-dialog, + .e-popup, + .e-tooltip, + .e-calendar, + .e-spinner { + border-color: CanvasText; + background-color: Canvas; + color: CanvasText; + } + .e-btn.e-primary, + .e-btn.e-success, + .e-btn.e-warning, + .e-btn.e-danger, + .e-btn.e-info { + background-color: Highlight; + border-color: Highlight; + color: HighlightText; + } + .e-btn:disabled, + .e-checkbox-wrapper.e-disabled, + .e-radio-wrapper.e-disabled, + .e-switch-wrapper.e-disabled, + .e-input:disabled, + .e-textbox:disabled, + .e-textarea:disabled, + .e-datepicker.e-disabled, + .e-datetimepicker.e-disabled, + .e-timepicker.e-disabled { + opacity: 1; + border-color: GrayText; + background-color: Canvas; + color: GrayText; + } + .e-btn:focus, + .e-btn:focus-visible, + .e-checkbox-wrapper:focus-within, + .e-radio-wrapper:focus-within, + .e-switch-wrapper:focus-within, + .e-textbox:focus, + .e-textarea:focus, + .e-input:focus, + .e-datepicker:focus, + .e-datetimepicker:focus, + .e-timepicker:focus { + outline: 2px solid Highlight; + outline-offset: 2px; + } + .e-popup, + .e-dialog, + .e-tooltip, + .e-calendar { + box-shadow: none; + } +} +:root, +.e-dark-mode { + --e-font-name: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif; + --e-radius: 1rem; + --e-border: 1rem; + --e-font-sans: sans-serif; +} + +:root, +.e-dark-mode { + --e-font-family: var(--e-font-name), var(--e-font-sans); +} + +/* Font Family */ +/* Font Sizes */ +/* Radius */ +/* 1px */ +/* 2px */ +/* 3px */ +/* 4px */ +/* 5px */ +/* 6px */ +/* 8px */ +/* 9px */ +/* 10px */ +/* 12px */ +/* 14px */ +/* 16px */ +/* 20px */ +/* 5em */ +/* border */ +/* 0px */ +/* 2px */ +.e-dark-mode { + --color-sf-black: #000; + --color-sf-content-bg-color: #1f1f1f; + --color-sf-content-bg-color-alt1: #292929; + --color-sf-content-bg-color-alt2: #141414; + --color-sf-content-bg-color-alt3: #333; + --color-sf-content-bg-color-alt4: #0a0a0a; + --color-sf-content-bg-color-hover: var(--color-sf-content-bg-color-alt3); + --color-sf-content-bg-color-pressed: var(--color-sf-content-bg-color-alt2); + --color-sf-content-bg-color-focus: var(--color-sf-content-bg-color-hover); + --color-sf-content-bg-color-selected: #2e2e2e; + --color-sf-flyout-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-flyout-bg-color-hover: #3d3d3d; + --color-sf-flyout-bg-color-pressed: var(--color-sf-black); + --color-sf-flyout-bg-color-selected: #383838; + --color-sf-flyout-bg-color-focus: var(--color-sf-flyout-bg-color-hover); + --color-sf-overlay-bg-color: rgba($black, .4); + --color-sf-content-text-color: #fff; + --color-sf-content-text-color-alt1: #d6d6d6; + --color-sf-content-text-color-alt2: #adadad; + --color-sf-content-text-color-alt3: #999; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #5c5c5c; + --color-sf-placeholder-text-color: var(--color-sf-content-text-color-alt3); + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: #d6d6d6; + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #525252; + --color-sf-border: #666; + --color-sf-border-alt: #adadad; + --color-sf-border-dark: #757575; + --color-sf-border-hover: #757575; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: #424242; + --color-sf-border-warning: #bc4b09; + --color-sf-border-error: #dc626d; + --color-sf-border-success: #9fd89f; + --color-sf-flyout-border: #525252; + --color-sf-primary: #115ea3; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #0e4775; + --color-sf-primary-lighter: #082338; + --color-sf-primary-dark: #62abf5; + --color-sf-success: #107c10; + --color-sf-info: #0099bc; + --color-sf-warning: #faa06b; + --color-sf-danger: #dc626d; + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #0f6cbd; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #141414; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #292929; + --color-sf-secondary-border-color: var(--color-sf-border); + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #3d3d3d; + --color-sf-secondary-border-color-hover: #757575; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: var(--color-sf-black); + --color-sf-secondary-border-color-pressed: #6b6b6b; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: #383838; + --color-sf-secondary-border-color-focus: #fff; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: -var(-color-sf-primary-bg-color-disabled); + --color-sf-secondary-border-color-disabled: var(--color-sf-secondary-bg-color-disabled); + --color-sf-secondary-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-secondary-bg-color-selected: #383838; + --color-sf-secondary-border-color-selected: #707070; + --color-sf-secondary-text-color-selected: var(--color-sf-content-text-color); + --color-sf-success-bg-color: #218c21; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0e700e; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f87528; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: #242424; + --color-sf-warning-bg-color-hover: #de590b; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #8a3707; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #18a4c4; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: #242424; + --color-sf-info-bg-color-hover: var(--color-sf-info-bg-color); + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #002e38; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #cc2635; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-tooltip-bg-color); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #fff; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #575757; + --color-sf-rating-unrated-disabled-color: #4d4d4d; + --color-sf-rating-selected-hover-color: #2886de; + --color-sf-shadow-color: #fff; + --color-sf-shadow-color1: #000; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #fff; + --color-sf-secondary-outline-button-text-color-pressed: #fff; + --color-sf-secondary-outline-button-text-color-selected: #fff; + --color-sf-secondary-outline-button-text-color-focus: #fff; + --color-sf-slider-shadow1: #000; + --color-sf-slider-shadow2: #666666; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #525252; + --color-sf-toggle-switch-border-disabled: #141414; + --color-sf-calendar-icon-color: #1153a3; + --color-sf-calendar-header-text-color-pressed: #62abf5; + --color-sf-dialog-border: #1f1f1f; + --color-sf-skeleton-bg-color: #575757; +} + +.e-control, +.e-css, +.e-error { + font-family: var(--e-font-family); + font-size: 12px; + font-weight: 400; +} + +.e-error { + color: var(--color-sf-danger); +} + +.e-control, +.e-control [class^=e-], +.e-control [class*=" e-"] { + box-sizing: border-box; +} + +.e-control:focus, +.e-control *:focus { + outline: none; +} + +.e-rtl { + direction: rtl; + text-align: right; +} + +.e-overlay { + background-color: var(--color-sf-overlay-bg-color); + height: 100%; + opacity: 0.5; + pointer-events: none; + touch-action: none; + width: 100%; +} + +.e-hidden { + display: none; +} + +.e-blazor-hidden { + visibility: hidden; +} + +.e-disabled { + background-image: none; + cursor: default; + opacity: 0.35; +} + +.e-ul { + list-style-type: none; +} + +.e-prevent-select { + user-select: none; +} + +.e-success { + color: #0b6a0b; +} + +.e-sr-only { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +@media (prefers-reduced-motion: reduce) { + .e-control, + .e-control * { + animation-duration: 0.001ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.001ms !important; + scroll-behavior: auto !important; + } +} +.e-btn, +.e-css.e-btn { + /* stylelint-disable property-no-vendor-prefix */ + -webkit-font-smoothing: antialiased; + border: 1px solid; + border-radius: 4px; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: var(--e-font-family); + font-size: 14px; + font-weight: 600; + justify-content: center; + line-height: 20px; + outline: none; + padding: 5px 12px; + text-align: center; + text-decoration: none; + text-transform: none; + user-select: none; + vertical-align: middle; + white-space: nowrap; +} +.e-btn:disabled, +.e-css.e-btn:disabled { + cursor: default; +} + +.e-btn:hover, .e-btn:focus, +.e-css.e-btn:hover, +.e-css.e-btn:focus { + text-decoration: none; +} + +.e-btn::-moz-focus-inner, +.e-css.e-btn::-moz-focus-inner { + border: 0; + padding: 0; +} + +.e-btn .e-btn-icon, +.e-css.e-btn .e-btn-icon { + display: inline-block; + font-size: 14px; + margin-top: -2px; + vertical-align: middle; + width: 1em; +} +.e-btn .e-btn-icon.e-icon-left, +.e-css.e-btn .e-btn-icon.e-icon-left { + margin-left: -0.5em; + width: 2em; +} +.e-btn .e-btn-icon.e-icon-right, +.e-css.e-btn .e-btn-icon.e-icon-right { + width: 2em; + margin-right: -0.5em; +} +.e-btn .e-btn-icon.e-icon-top, +.e-css.e-btn .e-btn-icon.e-icon-top { + padding-bottom: 8px; + display: block; + margin-top: 0; + width: auto; +} +.e-btn .e-btn-icon.e-icon-bottom, +.e-css.e-btn .e-btn-icon.e-icon-bottom { + padding-top: 8px; + display: block; + margin-top: 0; + width: auto; +} + +.e-btn.e-icon-btn, +.e-css.e-btn.e-icon-btn { + line-height: 14px; +} + +.e-btn.e-top-icon-btn, .e-btn.e-bottom-icon-btn, +.e-css.e-btn.e-top-icon-btn, +.e-css.e-btn.e-bottom-icon-btn { + line-height: 1; + padding: 12px 12px; +} + +.e-btn.e-round, +.e-css.e-btn.e-round { + border-radius: 999px; + height: 32px; + line-height: 1; + padding: 0; + width: 32px; +} +.e-btn.e-round .e-btn-icon, +.e-css.e-btn.e-round .e-btn-icon { + font-size: 14px; + line-height: 14px; + margin-top: 0; + width: auto; +} + +.e-btn.e-flat, +.e-css.e-btn.e-flat { + border: 1px solid; +} + +.e-btn.e-small, +.e-css.e-btn.e-small { + font-size: 12px; + line-height: 16px; + padding: 3.2px 8px; +} + +.e-btn.e-block, +.e-css.e-btn.e-block { + display: block; + width: 100%; +} + +/* stylelint-disable property-no-vendor-prefix */ +.e-btn, +.e-css.e-btn { + -webkit-tap-highlight-color: transparent; + background: var(--color-sf-secondary-bg-color); + border-color: var(--color-sf-secondary-border-color); + box-shadow: none; + color: var(--color-sf-secondary-text-color); + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +.e-btn:hover, +.e-css.e-btn:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-text-color-hover); +} + +.e-btn:focus, +.e-css.e-btn:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + color: var(--color-sf-secondary-text-color-selected); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; + box-shadow: none; +} + +.e-btn:focus-visible, +.e-css.e-btn:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn:active, +.e-css.e-btn:active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + color: var(--color-sf-secondary-text-color-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; +} + +.e-btn.e-active, +.e-css.e-btn.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + background: var(--color-sf-secondary-bg-color-selected); /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-selected); /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-secondary-text-color-selected); /* stylelint-disable-line declaration-no-important */ +} + +.e-btn:disabled, .e-btn.e-disabled, +.e-css.e-btn:disabled, +.e-css.e-btn.e-disabled { + background: var(--color-sf-secondary-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} + +.e-btn.e-disabled, +.e-css.e-btn.e-disabled { + opacity: 1; +} + +.e-btn.e-round, .e-btn.e-round-edge, +.e-css.e-btn.e-round, +.e-css.e-btn.e-round-edge { + background: var(--color-sf-secondary-bg-color); + border-color: var(--color-sf-secondary-border-color); + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-round:hover, .e-btn.e-round-edge:hover, +.e-css.e-btn.e-round:hover, +.e-css.e-btn.e-round-edge:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + color: var(--color-sf-secondary-text-color-hover); +} +.e-btn.e-round:focus, .e-btn.e-round-edge:focus, +.e-css.e-btn.e-round:focus, +.e-css.e-btn.e-round-edge:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + box-shadow: none; + color: var(--color-sf-secondary-text-color-selected); + outline: #fff 0 solid; + outline-offset: 0; +} +.e-btn.e-round:focus-visible, .e-btn.e-round-edge:focus-visible, +.e-css.e-btn.e-round:focus-visible, +.e-css.e-btn.e-round-edge:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round:active, .e-btn.e-round-edge:active, +.e-css.e-btn.e-round:active, +.e-css.e-btn.e-round-edge:active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; +} +.e-btn.e-round:disabled, .e-btn.e-round.e-disabled, .e-btn.e-round-edge:disabled, .e-btn.e-round-edge.e-disabled, +.e-css.e-btn.e-round:disabled, +.e-css.e-btn.e-round.e-disabled, +.e-css.e-btn.e-round-edge:disabled, +.e-css.e-btn.e-round-edge.e-disabled { + background: var(--color-sf-secondary-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-round.e-primary:focus, .e-btn.e-round-edge.e-primary:focus, +.e-css.e-btn.e-round.e-primary:focus, +.e-css.e-btn.e-round-edge.e-primary:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-primary:focus-visible, .e-btn.e-round-edge.e-primary:focus-visible, +.e-css.e-btn.e-round.e-primary:focus-visible, +.e-css.e-btn.e-round-edge.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round.e-success:focus, .e-btn.e-round-edge.e-success:focus, +.e-css.e-btn.e-round.e-success:focus, +.e-css.e-btn.e-round-edge.e-success:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-success:focus-visible, .e-btn.e-round-edge.e-success:focus-visible, +.e-css.e-btn.e-round.e-success:focus-visible, +.e-css.e-btn.e-round-edge.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round.e-info:focus, .e-btn.e-round-edge.e-info:focus, +.e-css.e-btn.e-round.e-info:focus, +.e-css.e-btn.e-round-edge.e-info:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-info:focus-visible, .e-btn.e-round-edge.e-info:focus-visible, +.e-css.e-btn.e-round.e-info:focus-visible, +.e-css.e-btn.e-round-edge.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-warning:focus, +.e-css.e-btn.e-warning:focus { + outline: #fff 0 solid; +} +.e-btn.e-warning:focus-visible, +.e-css.e-btn.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-danger:focus, +.e-css.e-btn.e-danger:focus { + outline: #fff 0 solid; +} +.e-btn.e-danger:focus-visible, +.e-css.e-btn.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-primary, +.e-css.e-btn.e-primary { + background: var(--color-sf-primary-bg-color); + border-color: var(--color-sf-primary-border-color); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-primary:hover, +.e-css.e-btn.e-primary:hover { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + box-shadow: none; + color: var(--color-sf-primary-text-hover); +} +.e-btn.e-primary:focus, +.e-css.e-btn.e-primary:focus { + background: var(--color-sf-primary-bg-color-selected); + border-color: var(--color-sf-primary-border-color-selected); + color: var(--color-sf-primary-text-selected); + outline: var(--color-sf-secondary-bg-color) 0 solid; + box-shadow: none; +} +.e-btn.e-primary:focus-visible, +.e-css.e-btn.e-primary:focus-visible { + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + border-color: var(--color-sf-shadow-color); + background-color: var(--color-sf-primary-bg-color-focus); +} +.e-btn.e-primary:active, +.e-css.e-btn.e-primary:active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + color: var(--color-sf-primary-text-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + box-shadow: none; +} +.e-btn.e-primary.e-active, +.e-css.e-btn.e-primary.e-active { + background: var(--color-sf-primary-bg-color-selected); + border-color: var(--color-sf-primary-border-color-selected); + box-shadow: none; + color: var(--color-sf-primary-text-selected); +} +.e-btn.e-primary:disabled, .e-btn.e-primary.e-disabled, +.e-css.e-btn.e-primary:disabled, +.e-css.e-btn.e-primary.e-disabled { + background: var(--color-sf-primary-bg-color-disabled); + border-color: var(--color-sf-primary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-success, +.e-css.e-btn.e-success { + background: var(--color-sf-success-bg-color); + border-color: var(--color-sf-success-border-color); + color: var(--color-sf-success-text); +} +.e-btn.e-success:hover, +.e-css.e-btn.e-success:hover { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + box-shadow: none; + color: var(--color-sf-success-text-hover); +} +.e-btn.e-success:focus, +.e-css.e-btn.e-success:focus { + background: var(--color-sf-success-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-success-text-hover); + box-shadow: none; +} +.e-btn.e-success:focus-visible, +.e-css.e-btn.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-success-bg-color-focus); + color: var(--color-sf-success-text-focus); +} +.e-btn.e-success:active, .e-btn.e-success.e-active, +.e-css.e-btn.e-success:active, +.e-css.e-btn.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + color: var(--color-sf-success-text); + box-shadow: none; +} +.e-btn.e-success.e-active, +.e-css.e-btn.e-success.e-active { + background: var(--color-sf-success-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-success-text-pressed); +} +.e-btn.e-success:disabled, .e-btn.e-success.e-disabled, +.e-css.e-btn.e-success:disabled, +.e-css.e-btn.e-success.e-disabled { + background: var(--color-sf-success-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-success-text-disabled); +} +.e-btn.e-info, +.e-css.e-btn.e-info { + background: var(--color-sf-info-bg-color); + border-color: var(--color-sf-info-border-color); + color: var(--color-sf-info-text); +} +.e-btn.e-info:hover, +.e-css.e-btn.e-info:hover { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-hover); +} +.e-btn.e-info:focus, +.e-css.e-btn.e-info:focus { + background: var(--color-sf-info-bg-color-selected); + border-color: var(--color-sf-info-border-color-selected); + color: var(--color-sf-info-text-hover); + box-shadow: none; +} +.e-btn.e-info:focus-visible, +.e-css.e-btn.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-info-bg-color-focus); +} +.e-btn.e-info:active, .e-btn.e-info.e-active, +.e-css.e-btn.e-info:active, +.e-css.e-btn.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + color: var(--color-sf-info-text-pressed); + box-shadow: none; +} +.e-btn.e-info.e-active, +.e-css.e-btn.e-info.e-active { + background: var(--color-sf-info-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-info-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-info:disabled, .e-btn.e-info.e-disabled, +.e-css.e-btn.e-info:disabled, +.e-css.e-btn.e-info.e-disabled { + background: var(--color-sf-info-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-info-text-disabled); +} +.e-btn.e-warning, +.e-css.e-btn.e-warning { + background: var(--color-sf-warning-bg-color); + border-color: var(--color-sf-warning-border-color); + color: var(--color-sf-warning-text); +} +.e-btn.e-warning:hover, +.e-css.e-btn.e-warning:hover { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + box-shadow: none; + color: var(--color-sf-warning-text-hover); +} +.e-btn.e-warning:focus, +.e-css.e-btn.e-warning:focus { + background: var(--color-sf-warning-bg-color-selected); + border-color: var(--color-sf-warning-border-color-selected); + color: var(--color-sf-warning-text-hover); + box-shadow: none; +} +.e-btn.e-warning:focus-visible, +.e-css.e-btn.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-warning-bg-color-focus); +} +.e-btn.e-warning:active, .e-btn.e-warning.e-active, +.e-css.e-btn.e-warning:active, +.e-css.e-btn.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + color: var(--color-sf-warning-text-pressed); + box-shadow: none; +} +.e-btn.e-warning.e-active, +.e-css.e-btn.e-warning.e-active { + background: var(--color-sf-warning-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-warning-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-warning:disabled, .e-btn.e-warning.e-disabled, +.e-css.e-btn.e-warning:disabled, +.e-css.e-btn.e-warning.e-disabled { + background: var(--color-sf-warning-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-danger, +.e-css.e-btn.e-danger { + background: var(--color-sf-danger-bg-color); + border-color: var(--color-sf-danger-border-color); + color: var(--color-sf-danger-text); +} +.e-btn.e-danger:hover, +.e-css.e-btn.e-danger:hover { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + box-shadow: none; + color: var(--color-sf-danger-text-hover); +} +.e-btn.e-danger:focus, +.e-css.e-btn.e-danger:focus { + background: var(--color-sf-danger-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-danger-text-hover); + box-shadow: none; +} +.e-btn.e-danger:focus-visible, +.e-css.e-btn.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-danger-bg-color-focus); + color: var(--color-sf-danger-text-focus); +} +.e-btn.e-danger:active, +.e-css.e-btn.e-danger:active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + color: var(--color-sf-danger-text-pressed); + box-shadow: none; +} +.e-btn.e-danger.e-active, +.e-css.e-btn.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + box-shadow: none; + color: var(--color-sf-danger-text-pressed); + background: var(--color-sf-danger-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-danger-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-danger:disabled, .e-btn.e-danger.e-disabled, +.e-css.e-btn.e-danger:disabled, +.e-css.e-btn.e-danger.e-disabled { + background: var(--color-sf-danger-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-flat, +.e-css.e-btn.e-flat { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-flat:hover, +.e-css.e-btn.e-flat:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-text-color-hover); +} +.e-btn.e-flat:focus, +.e-css.e-btn.e-flat:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + color: var(--color-sf-secondary-text-color-selected); + box-shadow: none; +} +.e-btn.e-flat:focus-visible, +.e-css.e-btn.e-flat:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-flat:active, .e-btn.e-flat.e-active, +.e-css.e-btn.e-flat:active, +.e-css.e-btn.e-flat.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + color: var(--color-sf-secondary-text-color-pressed); + box-shadow: none; +} +.e-btn.e-flat:disabled, .e-btn.e-flat.e-disabled, +.e-css.e-btn.e-flat:disabled, +.e-css.e-btn.e-flat.e-disabled { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-secondary-text-color-disabled); +} +.e-btn.e-flat.e-primary, +.e-css.e-btn.e-flat.e-primary { + background: transparent; + border-color: transparent; + color: var(--color-sf-primary-bg-color); +} +.e-btn.e-flat.e-primary:hover, +.e-css.e-btn.e-flat.e-primary:hover { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-flat.e-primary:focus, +.e-css.e-btn.e-flat.e-primary:focus { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-text-selected); +} +.e-btn.e-flat.e-primary:focus-visible, +.e-css.e-btn.e-flat.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-primary-bg-color-focus); +} +.e-btn.e-flat.e-primary:active, .e-btn.e-flat.e-primary.e-active, +.e-css.e-btn.e-flat.e-primary:active, +.e-css.e-btn.e-flat.e-primary.e-active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-flat.e-primary:disabled, .e-btn.e-flat.e-primary.e-disabled, +.e-css.e-btn.e-flat.e-primary:disabled, +.e-css.e-btn.e-flat.e-primary.e-disabled { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-flat.e-success, +.e-css.e-btn.e-flat.e-success { + background: transparent; + border-color: transparent; + color: var(--color-sf-success-bg-color); +} +.e-btn.e-flat.e-success:hover, +.e-css.e-btn.e-flat.e-success:hover { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + box-shadow: none; + color: var(--color-sf-success-text-hover); +} +.e-btn.e-flat.e-success:focus, +.e-css.e-btn.e-flat.e-success:focus { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-success:focus-visible, +.e-css.e-btn.e-flat.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-success-bg-color-focus); + color: var(--color-sf-success-text-focus); +} +.e-btn.e-flat.e-success:active, .e-btn.e-flat.e-success.e-active, +.e-css.e-btn.e-flat.e-success:active, +.e-css.e-btn.e-flat.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + color: var(--color-sf-success-text); + box-shadow: none; +} +.e-btn.e-flat.e-success:disabled, .e-btn.e-flat.e-success.e-disabled, +.e-css.e-btn.e-flat.e-success:disabled, +.e-css.e-btn.e-flat.e-success.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-success-text-disabled); +} +.e-btn.e-flat.e-info, +.e-css.e-btn.e-flat.e-info { + background: transparent; + border-color: transparent; + color: var(--color-sf-info-bg-color); +} +.e-btn.e-flat.e-info:hover, +.e-css.e-btn.e-flat.e-info:hover { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-hover); +} +.e-btn.e-flat.e-info:focus, +.e-css.e-btn.e-flat.e-info:focus { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-selected); +} +.e-btn.e-flat.e-info:focus-visible, +.e-css.e-btn.e-flat.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-info-bg-color-focus); + color: var(--color-sf-info-text-selected); +} +.e-btn.e-flat.e-info:active, .e-btn.e-flat.e-info.e-active, +.e-css.e-btn.e-flat.e-info:active, +.e-css.e-btn.e-flat.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + color: var(--color-sf-info-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-info:disabled, .e-btn.e-flat.e-info.e-disabled, +.e-css.e-btn.e-flat.e-info:disabled, +.e-css.e-btn.e-flat.e-info.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-info-text-disabled); +} +.e-btn.e-flat.e-warning, +.e-css.e-btn.e-flat.e-warning { + background: transparent; + border-color: transparent; + color: var(--color-sf-warning-bg-color); +} +.e-btn.e-flat.e-warning:hover, +.e-css.e-btn.e-flat.e-warning:hover { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + box-shadow: none; + color: var(--color-sf-warning-text-hover); +} +.e-btn.e-flat.e-warning:focus, +.e-css.e-btn.e-flat.e-warning:focus { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-warning:focus-visible, +.e-css.e-btn.e-flat.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-warning-bg-color-focus); +} +.e-btn.e-flat.e-warning:active, .e-btn.e-flat.e-warning.e-active, +.e-css.e-btn.e-flat.e-warning:active, +.e-css.e-btn.e-flat.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + color: var(--color-sf-warning-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-warning:disabled, .e-btn.e-flat.e-warning.e-disabled, +.e-css.e-btn.e-flat.e-warning:disabled, +.e-css.e-btn.e-flat.e-warning.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-flat.e-danger, +.e-css.e-btn.e-flat.e-danger { + background: transparent; + border-color: transparent; + color: var(--color-sf-danger-bg-color); +} +.e-btn.e-flat.e-danger:hover, +.e-css.e-btn.e-flat.e-danger:hover { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + box-shadow: none; + color: var(--color-sf-danger-text-hover); +} +.e-btn.e-flat.e-danger:focus, +.e-css.e-btn.e-flat.e-danger:focus { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-danger:focus-visible, +.e-css.e-btn.e-flat.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-danger-bg-color-focus); + color: var(--color-sf-danger-text-focus); +} +.e-btn.e-flat.e-danger:active, .e-btn.e-flat.e-danger.e-active, +.e-css.e-btn.e-flat.e-danger:active, +.e-css.e-btn.e-flat.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + color: var(--color-sf-danger-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-danger:disabled, .e-btn.e-flat.e-danger.e-disabled, +.e-css.e-btn.e-flat.e-danger:disabled, +.e-css.e-btn.e-flat.e-danger.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-danger-text-disabled); +} +.e-btn.e-outline, +.e-css.e-btn.e-outline { + background: transparent; + border-color: var(--color-sf-secondary-border-color); + box-shadow: none; + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-outline:hover, +.e-css.e-btn.e-outline:hover { + background: transparent; + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-outline-button-text-color-hover); +} +.e-btn.e-outline:focus, +.e-css.e-btn.e-outline:focus { + color: var(--color-sf-secondary-outline-button-text-color-hover); +} +.e-btn.e-outline:focus:not(:focus-visible), +.e-css.e-btn.e-outline:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-secondary-border-color-hover); + color: var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline:focus-visible, +.e-css.e-btn.e-outline:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline:active, .e-btn.e-outline.e-active, +.e-css.e-btn.e-outline:active, +.e-css.e-btn.e-outline.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + background: transparent; + color: var(--color-sf-secondary-outline-button-text-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline.e-active, +.e-css.e-btn.e-outline.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline:disabled, .e-btn.e-outline.e-disabled, +.e-css.e-btn.e-outline:disabled, +.e-css.e-btn.e-outline.e-disabled { + background: transparent; + border-color: var(--color-sf-secondary-border-color-disabled); + color: var(--color-sf-secondary-text-color-disabled); + background: var(--color-sf-secondary-bg-color-disabled) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-primary, +.e-css.e-btn.e-outline.e-primary { + background: transparent; + border-color: var(--color-sf-primary-bg-color); + color: var(--color-sf-primary-bg-color); +} +.e-btn.e-outline.e-primary:hover, +.e-css.e-btn.e-outline.e-primary:hover { + background: transparent; + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-bg-color-hover); +} +.e-btn.e-outline.e-primary:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-primary:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-border-color-hover); +} +.e-btn.e-outline.e-primary:focus-visible, +.e-css.e-btn.e-outline.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-primary:active, .e-btn.e-outline.e-primary.e-active, +.e-css.e-btn.e-outline.e-primary:active, +.e-css.e-btn.e-outline.e-primary.e-active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-primary-text-pressed); + background: transparent; + color: var(--color-sf-primary-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-primary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-primary-bg-color-pressed); +} +.e-btn.e-outline.e-primary.e-active, +.e-css.e-btn.e-outline.e-primary.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-primary-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-primary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-primary:disabled, .e-btn.e-outline.e-primary.e-disabled, +.e-css.e-btn.e-outline.e-primary:disabled, +.e-css.e-btn.e-outline.e-primary.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-primary), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-primary), 0.65); +} +.e-btn.e-outline.e-success, +.e-css.e-btn.e-outline.e-success { + background: transparent; + border-color: var(--color-sf-success-bg-color); + color: var(--color-sf-success-bg-color); +} +.e-btn.e-outline.e-success:hover, +.e-css.e-btn.e-outline.e-success:hover { + background: transparent; + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-bg-color-hover); +} +.e-btn.e-outline.e-success:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-success:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-border-color-hover); +} +.e-btn.e-outline.e-success:focus-visible, +.e-css.e-btn.e-outline.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-success:active, .e-btn.e-outline.e-success.e-active, +.e-css.e-btn.e-outline.e-success:active, +.e-css.e-btn.e-outline.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + box-shadow: none; + color: var(--color-sf-success-text); + background: transparent; + color: var(--color-sf-success-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-success-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-success-bg-color-pressed); +} +.e-btn.e-outline.e-success.e-active, +.e-css.e-btn.e-outline.e-success.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-success-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-success:disabled, .e-btn.e-outline.e-success.e-disabled, +.e-css.e-btn.e-outline.e-success:disabled, +.e-css.e-btn.e-outline.e-success.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-success-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-success), 0.65); +} +.e-btn.e-outline.e-info, +.e-css.e-btn.e-outline.e-info { + background: transparent; + border-color: var(--color-sf-info-bg-color); + color: var(--color-sf-info-bg-color); +} +.e-btn.e-outline.e-info:hover, +.e-css.e-btn.e-outline.e-info:hover { + background: transparent; + border-color: var(--color-sf-info-border-color-hover); + color: var(--color-sf-info-bg-color-hover); +} +.e-btn.e-outline.e-info:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-info:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-info-bg-color-hover); + color: var(--color-sf-info-bg-color-hover); +} +.e-btn.e-outline.e-info:focus-visible, +.e-css.e-btn.e-outline.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-info:active, .e-btn.e-outline.e-info.e-active, +.e-css.e-btn.e-outline.e-info:active, +.e-css.e-btn.e-outline.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + box-shadow: none; + color: var(--color-sf-info-text-pressed); + background: transparent; + color: var(--color-sf-info-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-info-bg-color-pressed); +} +.e-btn.e-outline.e-info.e-active, +.e-css.e-btn.e-outline.e-info.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-info:disabled, .e-btn.e-outline.e-info.e-disabled, +.e-css.e-btn.e-outline.e-info:disabled, +.e-css.e-btn.e-outline.e-info.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-info-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-info), 0.65); +} +.e-btn.e-outline.e-warning, +.e-css.e-btn.e-outline.e-warning { + background: transparent; + border-color: var(--color-sf-warning-bg-color); + color: var(--color-sf-warning-bg-color); +} +.e-btn.e-outline.e-warning:hover, +.e-css.e-btn.e-outline.e-warning:hover { + background: transparent; + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-bg-color-hover); +} +.e-btn.e-outline.e-warning, +.e-css.e-btn.e-outline.e-warning { + /* &:focus { + @include outline-warning-focus; + }*/ +} +.e-btn.e-outline.e-warning:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-warning:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-border-color-hover); +} +.e-btn.e-outline.e-warning:focus-visible, +.e-css.e-btn.e-outline.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-warning:active, .e-btn.e-outline.e-warning.e-active, +.e-css.e-btn.e-outline.e-warning:active, +.e-css.e-btn.e-outline.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + box-shadow: none; + color: var(--color-sf-warning-text-pressed); + background: transparent; + color: var(--color-sf-warning-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-warning-bg-color-pressed); +} +.e-btn.e-outline.e-warning.e-active, +.e-css.e-btn.e-outline.e-warning.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-warning:disabled, .e-btn.e-outline.e-warning.e-disabled, +.e-css.e-btn.e-outline.e-warning:disabled, +.e-css.e-btn.e-outline.e-warning.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-warning-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-warning), 0.65); +} +.e-btn.e-outline.e-danger, +.e-css.e-btn.e-outline.e-danger { + background: transparent; + border-color: var(--color-sf-danger-bg-color); + color: var(--color-sf-danger-bg-color); +} +.e-btn.e-outline.e-danger:hover, +.e-css.e-btn.e-outline.e-danger:hover { + background: transparent; + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-bg-color-hover); +} +.e-btn.e-outline.e-danger:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-danger:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-border-color-hover); +} +.e-btn.e-outline.e-danger:focus-visible, +.e-css.e-btn.e-outline.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-danger:active, .e-btn.e-outline.e-danger.e-active, +.e-css.e-btn.e-outline.e-danger:active, +.e-css.e-btn.e-outline.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + box-shadow: none; + color: var(--color-sf-danger-text-pressed); + background: transparent; + color: var(--color-sf-danger-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-danger-bg-color-pressed); +} +.e-btn.e-outline.e-danger.e-active, +.e-css.e-btn.e-outline.e-danger.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-danger:disabled, .e-btn.e-outline.e-danger.e-disabled, +.e-css.e-btn.e-outline.e-danger:disabled, +.e-css.e-btn.e-outline.e-danger.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-danger-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-danger), 0.65); +} +.e-btn.e-link, +.e-css.e-btn.e-link { + background: transparent; + border-color: transparent; + border-radius: 0; + box-shadow: none; + color: var(--color-sf-link-button); +} +.e-btn.e-link:hover, +.e-css.e-btn.e-link:hover { + border-radius: 0; + color: var(--color-sf-primary-bg-color-hover); + text-decoration: underline; +} +.e-btn.e-link:focus, +.e-css.e-btn.e-link:focus { + border-radius: 0; + text-decoration: underline; + color: var(--color-sf-primary-bg-color-hover); +} +.e-btn.e-link:focus:not(:focus-visible), +.e-css.e-btn.e-link:focus:not(:focus-visible) { + outline: none !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-link:focus-visible, +.e-css.e-btn.e-link:focus-visible { + text-decoration-color: var(--color-sf-content-text-color) !important; /* stylelint-disable-line declaration-no-important */ + text-decoration: underline; + text-decoration-style: double; +} +.e-btn.e-link:active, .e-btn.e-link:disabled, +.e-css.e-btn.e-link:active, +.e-css.e-btn.e-link:disabled { + color: var(--color-sf-primary-text-disabled); + background: transparent; + box-shadow: none; + text-decoration: none; +} +.e-btn.e-inherit, +.e-css.e-btn.e-inherit { + color: inherit; + background: inherit; + border-color: transparent; + box-shadow: none; +} +.e-btn.e-inherit:hover, .e-btn.e-inherit:focus, .e-btn.e-inherit:active, .e-btn.e-inherit.e-active, +.e-css.e-btn.e-inherit:hover, +.e-css.e-btn.e-inherit:focus, +.e-css.e-btn.e-inherit:active, +.e-css.e-btn.e-inherit.e-active { + background: rgba(0, 0, 0, 0.056); + border-color: transparent; + box-shadow: none; + color: inherit; + outline: none; +} +.e-btn.e-inherit:disabled, +.e-css.e-btn.e-inherit:disabled { + background: inherit; + color: inherit; + border-color: transparent; + box-shadow: none; + opacity: 0.5; +} \ No newline at end of file diff --git a/src/wwwroot/styles/buttongroup.min.css b/src/wwwroot/styles/buttongroup.min.css new file mode 100644 index 0000000..84eb9fa --- /dev/null +++ b/src/wwwroot/styles/buttongroup.min.css @@ -0,0 +1,2545 @@ +@layer fluent, themes; +@layer fluent { + :root { + --color-sf-primary: #0f6cbd; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #b4d6fa; + --color-sf-primary-lighter: #ebf3fc; + --color-sf-primary-dark: #0f548c; + --color-sf-success: #0e700e; + --color-sf-info: #008aa9; + --color-sf-warning: #bc4b09; + --color-sf-danger: #d13438; + --color-sf-content-bg-color: #fafafa; + --color-sf-content-bg-color-alt1: #fff; + --color-sf-content-bg-color-alt2: #f5f5f5; + --color-sf-content-bg-color-alt3: #e6e6e6; + --color-sf-content-bg-color-alt4: #f0f0f0; + --color-sf-content-bg-color-hover: #f0f0f0; + --color-sf-content-bg-color-pressed: #dbdbdb; + --color-sf-content-bg-color-focus: #f0f0f0; + --color-sf-content-bg-color-selected: #e6e6e6; + --color-sf-flyout-bg-color: #fff; + --color-sf-flyout-bg-color-hover: #f5f5f5; + --color-sf-flyout-bg-color-pressed: #e0e0e0; + --color-sf-flyout-bg-color-selected: #ebebeb; + --color-sf-flyout-bg-color-focus: #f5f5f5; + --color-sf-overlay-bg-color: rgba(0, 0, 0, .4); + --color-sf-content-text-color: #242424; + --color-sf-content-text-color-alt1: #424242; + --color-sf-content-text-color-alt2: #616161; + --color-sf-content-text-color-alt3: #707070; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #bdbdbd; + --color-sf-placeholder-text-color: #707070; + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: var(--color-sf-content-text-color-alt1); + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #e0e0e0; + --color-sf-border: #d1d1d1; + --color-sf-border-alt: #616161; + --color-sf-border-dark: #c7c7c7; + --color-sf-border-hover: #575757; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: var(--color-sf-border-light); + --color-sf-border-warning: #da3b01; + --color-sf-border-error: #c50f1f; + --color-sf-border-success: #107c10; + --color-sf-flyout-border: var(--color-sf-border-light); + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #115ea3; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #f0f0f0; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: #b8b8b8; + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #fff; + --color-sf-secondary-border-color: #d1d1d1; + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #f5f5f5; + --color-sf-secondary-border-color-hover: #c7c7c7; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: #e0e0e0; + --color-sf-secondary-border-color-pressed: #b3b3b3; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: var(--color-sf-secondary-bg-color); + --color-sf-secondary-border-color-focus: #000; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: #f0f0f0; + --color-sf-secondary-border-color-disabled: #e0e0e0; + --color-sf-secondary-text-color-disabled: #bdbdbd; + --color-sf-secondary-bg-color-selected: #ebebeb; + --color-sf-secondary-border-color-selected: #bdbdbd; + --color-sf-secondary-text-color-selected: #242424; + --color-sf-success-bg-color: #107c10; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0c5e0c; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f7630c; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: var(--color-sf-content-text-color); + --color-sf-warning-bg-color-hover: #bc4b09; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #bc4b09; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #31afcc; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: var(--color-sf-content-text-color); + --color-sf-info-bg-color-hover: #008aa9; + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #00748f; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #c50f1f; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: #960b18; + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #242424; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #b3b3b3; + --color-sf-rating-unrated-disabled-color: #b3b3b3; + --color-sf-rating-selected-hover-color: #115ea3; + --color-sf-utility-primary-lighter: #f9f5ff; + --color-sf-shadow-color: #000; + --color-sf-shadow-color1: #fff; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #242424; + --color-sf-secondary-outline-button-text-color-pressed: #242424; + --color-sf-secondary-outline-button-text-color-selected: #242424; + --color-sf-secondary-outline-button-text-color-focus: #242424; + --color-sf-slider-shadow1: #fff; + --color-sf-slider-shadow2: #d1d1d1; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #e0e0e0; + --color-sf-toggle-switch-border-disabled: #f0f0f0; + --color-sf-calendar-icon-color: #0f6ebd; + --color-sf-calendar-header-text-color-pressed: #0f548c; + --color-sf-dialog-border: #fafafa; + --color-sf-skeleton-bg-color: #e6e6e6; + } +} +@media (forced-colors: active) { + :root { + color-scheme: light dark; + } + .e-btn, + .e-btn.e-flat, + .e-btn.e-outline, + .e-checkbox-wrapper, + .e-radio-wrapper, + .e-switch-wrapper, + .e-input, + .e-textbox, + .e-textarea, + .e-datepicker, + .e-datetimepicker, + .e-timepicker, + .e-dialog, + .e-popup, + .e-tooltip, + .e-calendar, + .e-spinner { + border-color: CanvasText; + background-color: Canvas; + color: CanvasText; + } + .e-btn.e-primary, + .e-btn.e-success, + .e-btn.e-warning, + .e-btn.e-danger, + .e-btn.e-info { + background-color: Highlight; + border-color: Highlight; + color: HighlightText; + } + .e-btn:disabled, + .e-checkbox-wrapper.e-disabled, + .e-radio-wrapper.e-disabled, + .e-switch-wrapper.e-disabled, + .e-input:disabled, + .e-textbox:disabled, + .e-textarea:disabled, + .e-datepicker.e-disabled, + .e-datetimepicker.e-disabled, + .e-timepicker.e-disabled { + opacity: 1; + border-color: GrayText; + background-color: Canvas; + color: GrayText; + } + .e-btn:focus, + .e-btn:focus-visible, + .e-checkbox-wrapper:focus-within, + .e-radio-wrapper:focus-within, + .e-switch-wrapper:focus-within, + .e-textbox:focus, + .e-textarea:focus, + .e-input:focus, + .e-datepicker:focus, + .e-datetimepicker:focus, + .e-timepicker:focus { + outline: 2px solid Highlight; + outline-offset: 2px; + } + .e-popup, + .e-dialog, + .e-tooltip, + .e-calendar { + box-shadow: none; + } +} +:root, +.e-dark-mode { + --e-font-name: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif; + --e-radius: 1rem; + --e-border: 1rem; + --e-font-sans: sans-serif; +} + +:root, +.e-dark-mode { + --e-font-family: var(--e-font-name), var(--e-font-sans); +} + +/* Font Family */ +/* Font Sizes */ +/* Radius */ +/* 1px */ +/* 2px */ +/* 3px */ +/* 4px */ +/* 5px */ +/* 6px */ +/* 8px */ +/* 9px */ +/* 10px */ +/* 12px */ +/* 14px */ +/* 16px */ +/* 20px */ +/* 5em */ +/* border */ +/* 0px */ +/* 2px */ +.e-dark-mode { + --color-sf-black: #000; + --color-sf-content-bg-color: #1f1f1f; + --color-sf-content-bg-color-alt1: #292929; + --color-sf-content-bg-color-alt2: #141414; + --color-sf-content-bg-color-alt3: #333; + --color-sf-content-bg-color-alt4: #0a0a0a; + --color-sf-content-bg-color-hover: var(--color-sf-content-bg-color-alt3); + --color-sf-content-bg-color-pressed: var(--color-sf-content-bg-color-alt2); + --color-sf-content-bg-color-focus: var(--color-sf-content-bg-color-hover); + --color-sf-content-bg-color-selected: #2e2e2e; + --color-sf-flyout-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-flyout-bg-color-hover: #3d3d3d; + --color-sf-flyout-bg-color-pressed: var(--color-sf-black); + --color-sf-flyout-bg-color-selected: #383838; + --color-sf-flyout-bg-color-focus: var(--color-sf-flyout-bg-color-hover); + --color-sf-overlay-bg-color: rgba($black, .4); + --color-sf-content-text-color: #fff; + --color-sf-content-text-color-alt1: #d6d6d6; + --color-sf-content-text-color-alt2: #adadad; + --color-sf-content-text-color-alt3: #999; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #5c5c5c; + --color-sf-placeholder-text-color: var(--color-sf-content-text-color-alt3); + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: #d6d6d6; + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #525252; + --color-sf-border: #666; + --color-sf-border-alt: #adadad; + --color-sf-border-dark: #757575; + --color-sf-border-hover: #757575; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: #424242; + --color-sf-border-warning: #bc4b09; + --color-sf-border-error: #dc626d; + --color-sf-border-success: #9fd89f; + --color-sf-flyout-border: #525252; + --color-sf-primary: #115ea3; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #0e4775; + --color-sf-primary-lighter: #082338; + --color-sf-primary-dark: #62abf5; + --color-sf-success: #107c10; + --color-sf-info: #0099bc; + --color-sf-warning: #faa06b; + --color-sf-danger: #dc626d; + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #0f6cbd; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #141414; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #292929; + --color-sf-secondary-border-color: var(--color-sf-border); + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #3d3d3d; + --color-sf-secondary-border-color-hover: #757575; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: var(--color-sf-black); + --color-sf-secondary-border-color-pressed: #6b6b6b; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: #383838; + --color-sf-secondary-border-color-focus: #fff; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: -var(-color-sf-primary-bg-color-disabled); + --color-sf-secondary-border-color-disabled: var(--color-sf-secondary-bg-color-disabled); + --color-sf-secondary-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-secondary-bg-color-selected: #383838; + --color-sf-secondary-border-color-selected: #707070; + --color-sf-secondary-text-color-selected: var(--color-sf-content-text-color); + --color-sf-success-bg-color: #218c21; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0e700e; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f87528; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: #242424; + --color-sf-warning-bg-color-hover: #de590b; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #8a3707; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #18a4c4; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: #242424; + --color-sf-info-bg-color-hover: var(--color-sf-info-bg-color); + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #002e38; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #cc2635; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-tooltip-bg-color); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #fff; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #575757; + --color-sf-rating-unrated-disabled-color: #4d4d4d; + --color-sf-rating-selected-hover-color: #2886de; + --color-sf-shadow-color: #fff; + --color-sf-shadow-color1: #000; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #fff; + --color-sf-secondary-outline-button-text-color-pressed: #fff; + --color-sf-secondary-outline-button-text-color-selected: #fff; + --color-sf-secondary-outline-button-text-color-focus: #fff; + --color-sf-slider-shadow1: #000; + --color-sf-slider-shadow2: #666666; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #525252; + --color-sf-toggle-switch-border-disabled: #141414; + --color-sf-calendar-icon-color: #1153a3; + --color-sf-calendar-header-text-color-pressed: #62abf5; + --color-sf-dialog-border: #1f1f1f; + --color-sf-skeleton-bg-color: #575757; +} + +.e-control, +.e-css, +.e-error { + font-family: var(--e-font-family); + font-size: 12px; + font-weight: 400; +} + +.e-error { + color: var(--color-sf-danger); +} + +.e-control, +.e-control [class^=e-], +.e-control [class*=" e-"] { + box-sizing: border-box; +} + +.e-control:focus, +.e-control *:focus { + outline: none; +} + +.e-rtl { + direction: rtl; + text-align: right; +} + +.e-overlay { + background-color: var(--color-sf-overlay-bg-color); + height: 100%; + opacity: 0.5; + pointer-events: none; + touch-action: none; + width: 100%; +} + +.e-hidden { + display: none; +} + +.e-blazor-hidden { + visibility: hidden; +} + +.e-disabled { + background-image: none; + cursor: default; + opacity: 0.35; +} + +.e-ul { + list-style-type: none; +} + +.e-prevent-select { + user-select: none; +} + +.e-success { + color: #0b6a0b; +} + +.e-sr-only { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +@media (prefers-reduced-motion: reduce) { + .e-control, + .e-control * { + animation-duration: 0.001ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.001ms !important; + scroll-behavior: auto !important; + } +} +.e-btn, +.e-css.e-btn { + /* stylelint-disable property-no-vendor-prefix */ + -webkit-font-smoothing: antialiased; + border: 1px solid; + border-radius: 4px; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: var(--e-font-family); + font-size: 14px; + font-weight: 600; + justify-content: center; + line-height: 20px; + outline: none; + padding: 5px 12px; + text-align: center; + text-decoration: none; + text-transform: none; + user-select: none; + vertical-align: middle; + white-space: nowrap; +} +.e-btn:disabled, +.e-css.e-btn:disabled { + cursor: default; +} + +.e-btn:hover, .e-btn:focus, +.e-css.e-btn:hover, +.e-css.e-btn:focus { + text-decoration: none; +} + +.e-btn::-moz-focus-inner, +.e-css.e-btn::-moz-focus-inner { + border: 0; + padding: 0; +} + +.e-btn .e-btn-icon, +.e-css.e-btn .e-btn-icon { + display: inline-block; + font-size: 14px; + margin-top: -2px; + vertical-align: middle; + width: 1em; +} +.e-btn .e-btn-icon.e-icon-left, +.e-css.e-btn .e-btn-icon.e-icon-left { + margin-left: -0.5em; + width: 2em; +} +.e-btn .e-btn-icon.e-icon-right, +.e-css.e-btn .e-btn-icon.e-icon-right { + width: 2em; + margin-right: -0.5em; +} +.e-btn .e-btn-icon.e-icon-top, +.e-css.e-btn .e-btn-icon.e-icon-top { + padding-bottom: 8px; + display: block; + margin-top: 0; + width: auto; +} +.e-btn .e-btn-icon.e-icon-bottom, +.e-css.e-btn .e-btn-icon.e-icon-bottom { + padding-top: 8px; + display: block; + margin-top: 0; + width: auto; +} + +.e-btn.e-icon-btn, +.e-css.e-btn.e-icon-btn { + line-height: 14px; +} + +.e-btn.e-top-icon-btn, .e-btn.e-bottom-icon-btn, +.e-css.e-btn.e-top-icon-btn, +.e-css.e-btn.e-bottom-icon-btn { + line-height: 1; + padding: 12px 12px; +} + +.e-btn.e-round, +.e-css.e-btn.e-round { + border-radius: 999px; + height: 32px; + line-height: 1; + padding: 0; + width: 32px; +} +.e-btn.e-round .e-btn-icon, +.e-css.e-btn.e-round .e-btn-icon { + font-size: 14px; + line-height: 14px; + margin-top: 0; + width: auto; +} + +.e-btn.e-flat, +.e-css.e-btn.e-flat { + border: 1px solid; +} + +.e-btn.e-small, +.e-css.e-btn.e-small { + font-size: 12px; + line-height: 16px; + padding: 3.2px 8px; +} + +.e-btn.e-block, +.e-css.e-btn.e-block { + display: block; + width: 100%; +} + +/* stylelint-disable property-no-vendor-prefix */ +.e-btn, +.e-css.e-btn { + -webkit-tap-highlight-color: transparent; + background: var(--color-sf-secondary-bg-color); + border-color: var(--color-sf-secondary-border-color); + box-shadow: none; + color: var(--color-sf-secondary-text-color); + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +.e-btn:hover, +.e-css.e-btn:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-text-color-hover); +} + +.e-btn:focus, +.e-css.e-btn:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + color: var(--color-sf-secondary-text-color-selected); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; + box-shadow: none; +} + +.e-btn:focus-visible, +.e-css.e-btn:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn:active, +.e-css.e-btn:active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + color: var(--color-sf-secondary-text-color-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; +} + +.e-btn.e-active, +.e-css.e-btn.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + background: var(--color-sf-secondary-bg-color-selected); /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-selected); /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-secondary-text-color-selected); /* stylelint-disable-line declaration-no-important */ +} + +.e-btn:disabled, .e-btn.e-disabled, +.e-css.e-btn:disabled, +.e-css.e-btn.e-disabled { + background: var(--color-sf-secondary-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} + +.e-btn.e-disabled, +.e-css.e-btn.e-disabled { + opacity: 1; +} + +.e-btn.e-round, .e-btn.e-round-edge, +.e-css.e-btn.e-round, +.e-css.e-btn.e-round-edge { + background: var(--color-sf-secondary-bg-color); + border-color: var(--color-sf-secondary-border-color); + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-round:hover, .e-btn.e-round-edge:hover, +.e-css.e-btn.e-round:hover, +.e-css.e-btn.e-round-edge:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + color: var(--color-sf-secondary-text-color-hover); +} +.e-btn.e-round:focus, .e-btn.e-round-edge:focus, +.e-css.e-btn.e-round:focus, +.e-css.e-btn.e-round-edge:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + box-shadow: none; + color: var(--color-sf-secondary-text-color-selected); + outline: #fff 0 solid; + outline-offset: 0; +} +.e-btn.e-round:focus-visible, .e-btn.e-round-edge:focus-visible, +.e-css.e-btn.e-round:focus-visible, +.e-css.e-btn.e-round-edge:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round:active, .e-btn.e-round-edge:active, +.e-css.e-btn.e-round:active, +.e-css.e-btn.e-round-edge:active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; +} +.e-btn.e-round:disabled, .e-btn.e-round.e-disabled, .e-btn.e-round-edge:disabled, .e-btn.e-round-edge.e-disabled, +.e-css.e-btn.e-round:disabled, +.e-css.e-btn.e-round.e-disabled, +.e-css.e-btn.e-round-edge:disabled, +.e-css.e-btn.e-round-edge.e-disabled { + background: var(--color-sf-secondary-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-round.e-primary:focus, .e-btn.e-round-edge.e-primary:focus, +.e-css.e-btn.e-round.e-primary:focus, +.e-css.e-btn.e-round-edge.e-primary:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-primary:focus-visible, .e-btn.e-round-edge.e-primary:focus-visible, +.e-css.e-btn.e-round.e-primary:focus-visible, +.e-css.e-btn.e-round-edge.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round.e-success:focus, .e-btn.e-round-edge.e-success:focus, +.e-css.e-btn.e-round.e-success:focus, +.e-css.e-btn.e-round-edge.e-success:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-success:focus-visible, .e-btn.e-round-edge.e-success:focus-visible, +.e-css.e-btn.e-round.e-success:focus-visible, +.e-css.e-btn.e-round-edge.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round.e-info:focus, .e-btn.e-round-edge.e-info:focus, +.e-css.e-btn.e-round.e-info:focus, +.e-css.e-btn.e-round-edge.e-info:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-info:focus-visible, .e-btn.e-round-edge.e-info:focus-visible, +.e-css.e-btn.e-round.e-info:focus-visible, +.e-css.e-btn.e-round-edge.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-warning:focus, +.e-css.e-btn.e-warning:focus { + outline: #fff 0 solid; +} +.e-btn.e-warning:focus-visible, +.e-css.e-btn.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-danger:focus, +.e-css.e-btn.e-danger:focus { + outline: #fff 0 solid; +} +.e-btn.e-danger:focus-visible, +.e-css.e-btn.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-primary, +.e-css.e-btn.e-primary { + background: var(--color-sf-primary-bg-color); + border-color: var(--color-sf-primary-border-color); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-primary:hover, +.e-css.e-btn.e-primary:hover { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + box-shadow: none; + color: var(--color-sf-primary-text-hover); +} +.e-btn.e-primary:focus, +.e-css.e-btn.e-primary:focus { + background: var(--color-sf-primary-bg-color-selected); + border-color: var(--color-sf-primary-border-color-selected); + color: var(--color-sf-primary-text-selected); + outline: var(--color-sf-secondary-bg-color) 0 solid; + box-shadow: none; +} +.e-btn.e-primary:focus-visible, +.e-css.e-btn.e-primary:focus-visible { + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + border-color: var(--color-sf-shadow-color); + background-color: var(--color-sf-primary-bg-color-focus); +} +.e-btn.e-primary:active, +.e-css.e-btn.e-primary:active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + color: var(--color-sf-primary-text-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + box-shadow: none; +} +.e-btn.e-primary.e-active, +.e-css.e-btn.e-primary.e-active { + background: var(--color-sf-primary-bg-color-selected); + border-color: var(--color-sf-primary-border-color-selected); + box-shadow: none; + color: var(--color-sf-primary-text-selected); +} +.e-btn.e-primary:disabled, .e-btn.e-primary.e-disabled, +.e-css.e-btn.e-primary:disabled, +.e-css.e-btn.e-primary.e-disabled { + background: var(--color-sf-primary-bg-color-disabled); + border-color: var(--color-sf-primary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-success, +.e-css.e-btn.e-success { + background: var(--color-sf-success-bg-color); + border-color: var(--color-sf-success-border-color); + color: var(--color-sf-success-text); +} +.e-btn.e-success:hover, +.e-css.e-btn.e-success:hover { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + box-shadow: none; + color: var(--color-sf-success-text-hover); +} +.e-btn.e-success:focus, +.e-css.e-btn.e-success:focus { + background: var(--color-sf-success-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-success-text-hover); + box-shadow: none; +} +.e-btn.e-success:focus-visible, +.e-css.e-btn.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-success-bg-color-focus); + color: var(--color-sf-success-text-focus); +} +.e-btn.e-success:active, .e-btn.e-success.e-active, +.e-css.e-btn.e-success:active, +.e-css.e-btn.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + color: var(--color-sf-success-text); + box-shadow: none; +} +.e-btn.e-success.e-active, +.e-css.e-btn.e-success.e-active { + background: var(--color-sf-success-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-success-text-pressed); +} +.e-btn.e-success:disabled, .e-btn.e-success.e-disabled, +.e-css.e-btn.e-success:disabled, +.e-css.e-btn.e-success.e-disabled { + background: var(--color-sf-success-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-success-text-disabled); +} +.e-btn.e-info, +.e-css.e-btn.e-info { + background: var(--color-sf-info-bg-color); + border-color: var(--color-sf-info-border-color); + color: var(--color-sf-info-text); +} +.e-btn.e-info:hover, +.e-css.e-btn.e-info:hover { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-hover); +} +.e-btn.e-info:focus, +.e-css.e-btn.e-info:focus { + background: var(--color-sf-info-bg-color-selected); + border-color: var(--color-sf-info-border-color-selected); + color: var(--color-sf-info-text-hover); + box-shadow: none; +} +.e-btn.e-info:focus-visible, +.e-css.e-btn.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-info-bg-color-focus); +} +.e-btn.e-info:active, .e-btn.e-info.e-active, +.e-css.e-btn.e-info:active, +.e-css.e-btn.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + color: var(--color-sf-info-text-pressed); + box-shadow: none; +} +.e-btn.e-info.e-active, +.e-css.e-btn.e-info.e-active { + background: var(--color-sf-info-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-info-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-info:disabled, .e-btn.e-info.e-disabled, +.e-css.e-btn.e-info:disabled, +.e-css.e-btn.e-info.e-disabled { + background: var(--color-sf-info-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-info-text-disabled); +} +.e-btn.e-warning, +.e-css.e-btn.e-warning { + background: var(--color-sf-warning-bg-color); + border-color: var(--color-sf-warning-border-color); + color: var(--color-sf-warning-text); +} +.e-btn.e-warning:hover, +.e-css.e-btn.e-warning:hover { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + box-shadow: none; + color: var(--color-sf-warning-text-hover); +} +.e-btn.e-warning:focus, +.e-css.e-btn.e-warning:focus { + background: var(--color-sf-warning-bg-color-selected); + border-color: var(--color-sf-warning-border-color-selected); + color: var(--color-sf-warning-text-hover); + box-shadow: none; +} +.e-btn.e-warning:focus-visible, +.e-css.e-btn.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-warning-bg-color-focus); +} +.e-btn.e-warning:active, .e-btn.e-warning.e-active, +.e-css.e-btn.e-warning:active, +.e-css.e-btn.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + color: var(--color-sf-warning-text-pressed); + box-shadow: none; +} +.e-btn.e-warning.e-active, +.e-css.e-btn.e-warning.e-active { + background: var(--color-sf-warning-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-warning-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-warning:disabled, .e-btn.e-warning.e-disabled, +.e-css.e-btn.e-warning:disabled, +.e-css.e-btn.e-warning.e-disabled { + background: var(--color-sf-warning-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-danger, +.e-css.e-btn.e-danger { + background: var(--color-sf-danger-bg-color); + border-color: var(--color-sf-danger-border-color); + color: var(--color-sf-danger-text); +} +.e-btn.e-danger:hover, +.e-css.e-btn.e-danger:hover { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + box-shadow: none; + color: var(--color-sf-danger-text-hover); +} +.e-btn.e-danger:focus, +.e-css.e-btn.e-danger:focus { + background: var(--color-sf-danger-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-danger-text-hover); + box-shadow: none; +} +.e-btn.e-danger:focus-visible, +.e-css.e-btn.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-danger-bg-color-focus); + color: var(--color-sf-danger-text-focus); +} +.e-btn.e-danger:active, +.e-css.e-btn.e-danger:active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + color: var(--color-sf-danger-text-pressed); + box-shadow: none; +} +.e-btn.e-danger.e-active, +.e-css.e-btn.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + box-shadow: none; + color: var(--color-sf-danger-text-pressed); + background: var(--color-sf-danger-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-danger-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-danger:disabled, .e-btn.e-danger.e-disabled, +.e-css.e-btn.e-danger:disabled, +.e-css.e-btn.e-danger.e-disabled { + background: var(--color-sf-danger-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-flat, +.e-css.e-btn.e-flat { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-flat:hover, +.e-css.e-btn.e-flat:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-text-color-hover); +} +.e-btn.e-flat:focus, +.e-css.e-btn.e-flat:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + color: var(--color-sf-secondary-text-color-selected); + box-shadow: none; +} +.e-btn.e-flat:focus-visible, +.e-css.e-btn.e-flat:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-flat:active, .e-btn.e-flat.e-active, +.e-css.e-btn.e-flat:active, +.e-css.e-btn.e-flat.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + color: var(--color-sf-secondary-text-color-pressed); + box-shadow: none; +} +.e-btn.e-flat:disabled, .e-btn.e-flat.e-disabled, +.e-css.e-btn.e-flat:disabled, +.e-css.e-btn.e-flat.e-disabled { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-secondary-text-color-disabled); +} +.e-btn.e-flat.e-primary, +.e-css.e-btn.e-flat.e-primary { + background: transparent; + border-color: transparent; + color: var(--color-sf-primary-bg-color); +} +.e-btn.e-flat.e-primary:hover, +.e-css.e-btn.e-flat.e-primary:hover { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-flat.e-primary:focus, +.e-css.e-btn.e-flat.e-primary:focus { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-text-selected); +} +.e-btn.e-flat.e-primary:focus-visible, +.e-css.e-btn.e-flat.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-primary-bg-color-focus); +} +.e-btn.e-flat.e-primary:active, .e-btn.e-flat.e-primary.e-active, +.e-css.e-btn.e-flat.e-primary:active, +.e-css.e-btn.e-flat.e-primary.e-active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-flat.e-primary:disabled, .e-btn.e-flat.e-primary.e-disabled, +.e-css.e-btn.e-flat.e-primary:disabled, +.e-css.e-btn.e-flat.e-primary.e-disabled { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-flat.e-success, +.e-css.e-btn.e-flat.e-success { + background: transparent; + border-color: transparent; + color: var(--color-sf-success-bg-color); +} +.e-btn.e-flat.e-success:hover, +.e-css.e-btn.e-flat.e-success:hover { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + box-shadow: none; + color: var(--color-sf-success-text-hover); +} +.e-btn.e-flat.e-success:focus, +.e-css.e-btn.e-flat.e-success:focus { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-success:focus-visible, +.e-css.e-btn.e-flat.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-success-bg-color-focus); + color: var(--color-sf-success-text-focus); +} +.e-btn.e-flat.e-success:active, .e-btn.e-flat.e-success.e-active, +.e-css.e-btn.e-flat.e-success:active, +.e-css.e-btn.e-flat.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + color: var(--color-sf-success-text); + box-shadow: none; +} +.e-btn.e-flat.e-success:disabled, .e-btn.e-flat.e-success.e-disabled, +.e-css.e-btn.e-flat.e-success:disabled, +.e-css.e-btn.e-flat.e-success.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-success-text-disabled); +} +.e-btn.e-flat.e-info, +.e-css.e-btn.e-flat.e-info { + background: transparent; + border-color: transparent; + color: var(--color-sf-info-bg-color); +} +.e-btn.e-flat.e-info:hover, +.e-css.e-btn.e-flat.e-info:hover { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-hover); +} +.e-btn.e-flat.e-info:focus, +.e-css.e-btn.e-flat.e-info:focus { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-selected); +} +.e-btn.e-flat.e-info:focus-visible, +.e-css.e-btn.e-flat.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-info-bg-color-focus); + color: var(--color-sf-info-text-selected); +} +.e-btn.e-flat.e-info:active, .e-btn.e-flat.e-info.e-active, +.e-css.e-btn.e-flat.e-info:active, +.e-css.e-btn.e-flat.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + color: var(--color-sf-info-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-info:disabled, .e-btn.e-flat.e-info.e-disabled, +.e-css.e-btn.e-flat.e-info:disabled, +.e-css.e-btn.e-flat.e-info.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-info-text-disabled); +} +.e-btn.e-flat.e-warning, +.e-css.e-btn.e-flat.e-warning { + background: transparent; + border-color: transparent; + color: var(--color-sf-warning-bg-color); +} +.e-btn.e-flat.e-warning:hover, +.e-css.e-btn.e-flat.e-warning:hover { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + box-shadow: none; + color: var(--color-sf-warning-text-hover); +} +.e-btn.e-flat.e-warning:focus, +.e-css.e-btn.e-flat.e-warning:focus { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-warning:focus-visible, +.e-css.e-btn.e-flat.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-warning-bg-color-focus); +} +.e-btn.e-flat.e-warning:active, .e-btn.e-flat.e-warning.e-active, +.e-css.e-btn.e-flat.e-warning:active, +.e-css.e-btn.e-flat.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + color: var(--color-sf-warning-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-warning:disabled, .e-btn.e-flat.e-warning.e-disabled, +.e-css.e-btn.e-flat.e-warning:disabled, +.e-css.e-btn.e-flat.e-warning.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-flat.e-danger, +.e-css.e-btn.e-flat.e-danger { + background: transparent; + border-color: transparent; + color: var(--color-sf-danger-bg-color); +} +.e-btn.e-flat.e-danger:hover, +.e-css.e-btn.e-flat.e-danger:hover { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + box-shadow: none; + color: var(--color-sf-danger-text-hover); +} +.e-btn.e-flat.e-danger:focus, +.e-css.e-btn.e-flat.e-danger:focus { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-danger:focus-visible, +.e-css.e-btn.e-flat.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-danger-bg-color-focus); + color: var(--color-sf-danger-text-focus); +} +.e-btn.e-flat.e-danger:active, .e-btn.e-flat.e-danger.e-active, +.e-css.e-btn.e-flat.e-danger:active, +.e-css.e-btn.e-flat.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + color: var(--color-sf-danger-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-danger:disabled, .e-btn.e-flat.e-danger.e-disabled, +.e-css.e-btn.e-flat.e-danger:disabled, +.e-css.e-btn.e-flat.e-danger.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-danger-text-disabled); +} +.e-btn.e-outline, +.e-css.e-btn.e-outline { + background: transparent; + border-color: var(--color-sf-secondary-border-color); + box-shadow: none; + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-outline:hover, +.e-css.e-btn.e-outline:hover { + background: transparent; + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-outline-button-text-color-hover); +} +.e-btn.e-outline:focus, +.e-css.e-btn.e-outline:focus { + color: var(--color-sf-secondary-outline-button-text-color-hover); +} +.e-btn.e-outline:focus:not(:focus-visible), +.e-css.e-btn.e-outline:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-secondary-border-color-hover); + color: var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline:focus-visible, +.e-css.e-btn.e-outline:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline:active, .e-btn.e-outline.e-active, +.e-css.e-btn.e-outline:active, +.e-css.e-btn.e-outline.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + background: transparent; + color: var(--color-sf-secondary-outline-button-text-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline.e-active, +.e-css.e-btn.e-outline.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline:disabled, .e-btn.e-outline.e-disabled, +.e-css.e-btn.e-outline:disabled, +.e-css.e-btn.e-outline.e-disabled { + background: transparent; + border-color: var(--color-sf-secondary-border-color-disabled); + color: var(--color-sf-secondary-text-color-disabled); + background: var(--color-sf-secondary-bg-color-disabled) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-primary, +.e-css.e-btn.e-outline.e-primary { + background: transparent; + border-color: var(--color-sf-primary-bg-color); + color: var(--color-sf-primary-bg-color); +} +.e-btn.e-outline.e-primary:hover, +.e-css.e-btn.e-outline.e-primary:hover { + background: transparent; + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-bg-color-hover); +} +.e-btn.e-outline.e-primary:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-primary:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-border-color-hover); +} +.e-btn.e-outline.e-primary:focus-visible, +.e-css.e-btn.e-outline.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-primary:active, .e-btn.e-outline.e-primary.e-active, +.e-css.e-btn.e-outline.e-primary:active, +.e-css.e-btn.e-outline.e-primary.e-active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-primary-text-pressed); + background: transparent; + color: var(--color-sf-primary-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-primary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-primary-bg-color-pressed); +} +.e-btn.e-outline.e-primary.e-active, +.e-css.e-btn.e-outline.e-primary.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-primary-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-primary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-primary:disabled, .e-btn.e-outline.e-primary.e-disabled, +.e-css.e-btn.e-outline.e-primary:disabled, +.e-css.e-btn.e-outline.e-primary.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-primary), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-primary), 0.65); +} +.e-btn.e-outline.e-success, +.e-css.e-btn.e-outline.e-success { + background: transparent; + border-color: var(--color-sf-success-bg-color); + color: var(--color-sf-success-bg-color); +} +.e-btn.e-outline.e-success:hover, +.e-css.e-btn.e-outline.e-success:hover { + background: transparent; + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-bg-color-hover); +} +.e-btn.e-outline.e-success:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-success:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-border-color-hover); +} +.e-btn.e-outline.e-success:focus-visible, +.e-css.e-btn.e-outline.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-success:active, .e-btn.e-outline.e-success.e-active, +.e-css.e-btn.e-outline.e-success:active, +.e-css.e-btn.e-outline.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + box-shadow: none; + color: var(--color-sf-success-text); + background: transparent; + color: var(--color-sf-success-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-success-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-success-bg-color-pressed); +} +.e-btn.e-outline.e-success.e-active, +.e-css.e-btn.e-outline.e-success.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-success-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-success:disabled, .e-btn.e-outline.e-success.e-disabled, +.e-css.e-btn.e-outline.e-success:disabled, +.e-css.e-btn.e-outline.e-success.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-success-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-success), 0.65); +} +.e-btn.e-outline.e-info, +.e-css.e-btn.e-outline.e-info { + background: transparent; + border-color: var(--color-sf-info-bg-color); + color: var(--color-sf-info-bg-color); +} +.e-btn.e-outline.e-info:hover, +.e-css.e-btn.e-outline.e-info:hover { + background: transparent; + border-color: var(--color-sf-info-border-color-hover); + color: var(--color-sf-info-bg-color-hover); +} +.e-btn.e-outline.e-info:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-info:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-info-bg-color-hover); + color: var(--color-sf-info-bg-color-hover); +} +.e-btn.e-outline.e-info:focus-visible, +.e-css.e-btn.e-outline.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-info:active, .e-btn.e-outline.e-info.e-active, +.e-css.e-btn.e-outline.e-info:active, +.e-css.e-btn.e-outline.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + box-shadow: none; + color: var(--color-sf-info-text-pressed); + background: transparent; + color: var(--color-sf-info-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-info-bg-color-pressed); +} +.e-btn.e-outline.e-info.e-active, +.e-css.e-btn.e-outline.e-info.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-info:disabled, .e-btn.e-outline.e-info.e-disabled, +.e-css.e-btn.e-outline.e-info:disabled, +.e-css.e-btn.e-outline.e-info.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-info-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-info), 0.65); +} +.e-btn.e-outline.e-warning, +.e-css.e-btn.e-outline.e-warning { + background: transparent; + border-color: var(--color-sf-warning-bg-color); + color: var(--color-sf-warning-bg-color); +} +.e-btn.e-outline.e-warning:hover, +.e-css.e-btn.e-outline.e-warning:hover { + background: transparent; + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-bg-color-hover); +} +.e-btn.e-outline.e-warning, +.e-css.e-btn.e-outline.e-warning { + /* &:focus { + @include outline-warning-focus; + }*/ +} +.e-btn.e-outline.e-warning:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-warning:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-border-color-hover); +} +.e-btn.e-outline.e-warning:focus-visible, +.e-css.e-btn.e-outline.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-warning:active, .e-btn.e-outline.e-warning.e-active, +.e-css.e-btn.e-outline.e-warning:active, +.e-css.e-btn.e-outline.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + box-shadow: none; + color: var(--color-sf-warning-text-pressed); + background: transparent; + color: var(--color-sf-warning-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-warning-bg-color-pressed); +} +.e-btn.e-outline.e-warning.e-active, +.e-css.e-btn.e-outline.e-warning.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-warning:disabled, .e-btn.e-outline.e-warning.e-disabled, +.e-css.e-btn.e-outline.e-warning:disabled, +.e-css.e-btn.e-outline.e-warning.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-warning-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-warning), 0.65); +} +.e-btn.e-outline.e-danger, +.e-css.e-btn.e-outline.e-danger { + background: transparent; + border-color: var(--color-sf-danger-bg-color); + color: var(--color-sf-danger-bg-color); +} +.e-btn.e-outline.e-danger:hover, +.e-css.e-btn.e-outline.e-danger:hover { + background: transparent; + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-bg-color-hover); +} +.e-btn.e-outline.e-danger:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-danger:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-border-color-hover); +} +.e-btn.e-outline.e-danger:focus-visible, +.e-css.e-btn.e-outline.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-danger:active, .e-btn.e-outline.e-danger.e-active, +.e-css.e-btn.e-outline.e-danger:active, +.e-css.e-btn.e-outline.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + box-shadow: none; + color: var(--color-sf-danger-text-pressed); + background: transparent; + color: var(--color-sf-danger-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-danger-bg-color-pressed); +} +.e-btn.e-outline.e-danger.e-active, +.e-css.e-btn.e-outline.e-danger.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-danger:disabled, .e-btn.e-outline.e-danger.e-disabled, +.e-css.e-btn.e-outline.e-danger:disabled, +.e-css.e-btn.e-outline.e-danger.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-danger-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-danger), 0.65); +} +.e-btn.e-link, +.e-css.e-btn.e-link { + background: transparent; + border-color: transparent; + border-radius: 0; + box-shadow: none; + color: var(--color-sf-link-button); +} +.e-btn.e-link:hover, +.e-css.e-btn.e-link:hover { + border-radius: 0; + color: var(--color-sf-primary-bg-color-hover); + text-decoration: underline; +} +.e-btn.e-link:focus, +.e-css.e-btn.e-link:focus { + border-radius: 0; + text-decoration: underline; + color: var(--color-sf-primary-bg-color-hover); +} +.e-btn.e-link:focus:not(:focus-visible), +.e-css.e-btn.e-link:focus:not(:focus-visible) { + outline: none !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-link:focus-visible, +.e-css.e-btn.e-link:focus-visible { + text-decoration-color: var(--color-sf-content-text-color) !important; /* stylelint-disable-line declaration-no-important */ + text-decoration: underline; + text-decoration-style: double; +} +.e-btn.e-link:active, .e-btn.e-link:disabled, +.e-css.e-btn.e-link:active, +.e-css.e-btn.e-link:disabled { + color: var(--color-sf-primary-text-disabled); + background: transparent; + box-shadow: none; + text-decoration: none; +} +.e-btn.e-inherit, +.e-css.e-btn.e-inherit { + color: inherit; + background: inherit; + border-color: transparent; + box-shadow: none; +} +.e-btn.e-inherit:hover, .e-btn.e-inherit:focus, .e-btn.e-inherit:active, .e-btn.e-inherit.e-active, +.e-css.e-btn.e-inherit:hover, +.e-css.e-btn.e-inherit:focus, +.e-css.e-btn.e-inherit:active, +.e-css.e-btn.e-inherit.e-active { + background: rgba(0, 0, 0, 0.056); + border-color: transparent; + box-shadow: none; + color: inherit; + outline: none; +} +.e-btn.e-inherit:disabled, +.e-css.e-btn.e-inherit:disabled { + background: inherit; + color: inherit; + border-color: transparent; + box-shadow: none; + opacity: 0.5; +} + +/* stylelint-disable */ +*.e-btn-group, +*.e-css.e-btn-group { + display: -webkit-inline-flex; + display: inline-flex; + border-radius: 4px; + -webkit-flex-direction: row; + flex-direction: row; + position: relative; +} +*.e-btn-group input + label.e-btn, +*.e-css.e-btn-group input + label.e-btn { + margin-bottom: 0; +} +*.e-btn-group input, +*.e-css.e-btn-group input { + -moz-appearance: none; + height: 1px; + margin: 0 0 0 -1px; + opacity: 0; + position: absolute; + width: 1px; +} +*.e-btn-group input:disabled + label.e-btn, +*.e-btn-group :disabled, +*.e-css.e-btn-group input:disabled + label.e-btn, +*.e-css.e-btn-group :disabled { + cursor: default; + pointer-events: none; +} +*.e-btn-group .e-btn-icon, +*.e-css.e-btn-group .e-btn-icon { + font-size: 14px; +} +*.e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:not(:first-of-type):not(:last-of-type), +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:not(:first-of-type):not(:last-of-type) { + border-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:first-of-type, *.e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:last-of-type:not(:last-child), +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:first-of-type, +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:last-of-type:not(:last-child) { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:last-of-type, +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:last-of-type { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper + .e-btn, +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper + .e-btn { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper:not(:first-child):not(:last-child) .e-btn:last-child, +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper:not(:first-child):not(:last-child) .e-btn:last-child { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper:not(:first-child):not(:last-child) .e-btn:first-child, +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper:not(:first-child):not(:last-child) .e-btn:first-child { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper:first-child .e-btn:last-child, +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper:first-child .e-btn:last-child { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper:last-child .e-btn:first-child, +*.e-css.e-btn-group:not(.e-rtl):not(.e-vertical) .e-split-btn-wrapper:last-child .e-btn:first-child { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-rtl .e-btn, +*.e-css.e-btn-group.e-rtl .e-btn { + margin-left: -1px; +} +*.e-btn-group.e-rtl .e-btn:not(:first-of-type):not(:last-of-type), +*.e-css.e-btn-group.e-rtl .e-btn:not(:first-of-type):not(:last-of-type) { + border-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-rtl .e-btn:first-of-type, *.e-btn-group.e-rtl .e-btn:last-of-type:not(:last-child), +*.e-css.e-btn-group.e-rtl .e-btn:first-of-type, +*.e-css.e-btn-group.e-rtl .e-btn:last-of-type:not(:last-child) { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-rtl .e-btn:last-of-type, +*.e-css.e-btn-group.e-rtl .e-btn:last-of-type { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-rtl .e-split-btn-wrapper + .e-btn, +*.e-css.e-btn-group.e-rtl .e-split-btn-wrapper + .e-btn { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-rtl .e-split-btn-wrapper:not(:first-child):not(:last-child) .e-btn:last-child, +*.e-css.e-btn-group.e-rtl .e-split-btn-wrapper:not(:first-child):not(:last-child) .e-btn:last-child { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-rtl .e-split-btn-wrapper:not(:first-child):not(:last-child) .e-btn:first-child, +*.e-css.e-btn-group.e-rtl .e-split-btn-wrapper:not(:first-child):not(:last-child) .e-btn:first-child { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-rtl .e-split-btn-wrapper:first-child .e-btn:last-child, +*.e-css.e-btn-group.e-rtl .e-split-btn-wrapper:first-child .e-btn:last-child { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-rtl .e-split-btn-wrapper:last-child .e-btn:first-child, +*.e-css.e-btn-group.e-rtl .e-split-btn-wrapper:last-child .e-btn:first-child { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-vertical, +*.e-css.e-btn-group.e-vertical { + -webkit-flex-direction: column; + flex-direction: column; +} +*.e-btn-group.e-vertical input, +*.e-css.e-btn-group.e-vertical input { + margin: -1px 0 0; +} +*.e-btn-group.e-vertical .e-btn:not(.e-outline), +*.e-css.e-btn-group.e-vertical .e-btn:not(.e-outline) { + margin-top: -1px; +} +*.e-btn-group.e-vertical .e-btn:not(:first-of-type):not(:last-of-type), +*.e-css.e-btn-group.e-vertical .e-btn:not(:first-of-type):not(:last-of-type) { + border-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-vertical .e-btn:first-of-type, +*.e-css.e-btn-group.e-vertical .e-btn:first-of-type { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0.125); + border-top-right-radius: calc(var(--e-radius) * 0.125); +} +*.e-btn-group.e-vertical .e-btn:last-of-type, +*.e-css.e-btn-group.e-vertical .e-btn:last-of-type { + border-bottom-left-radius: calc(var(--e-radius) * 0.125); + border-bottom-right-radius: calc(var(--e-radius) * 0.125); + border-top-left-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl), +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) { + border-radius: calc(var(--e-radius) * 1.25); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-btn:first-of-type, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-btn:first-of-type { + border-bottom-left-radius: calc(var(--e-radius) * 1.25); + border-top-left-radius: calc(var(--e-radius) * 1.25); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-btn:last-of-type, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-btn:last-of-type { + border-bottom-right-radius: calc(var(--e-radius) * 1.25); + border-top-right-radius: calc(var(--e-radius) * 1.25); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-btn:last-of-type:not(:last-child), +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-btn:last-of-type:not(:last-child) { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper + .e-btn, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper + .e-btn { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper:first-child .e-btn:first-child, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper:first-child .e-btn:first-child { + border-bottom-left-radius: calc(var(--e-radius) * 1.25); + border-top-left-radius: calc(var(--e-radius) * 1.25); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper:first-child .e-btn:last-child, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper:first-child .e-btn:last-child { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper:last-child .e-btn:first-child, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper:last-child .e-btn:first-child { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper:last-child .e-btn:last-child, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical):not(.e-rtl) .e-split-btn-wrapper:last-child .e-btn:last-child { + border-bottom-right-radius: calc(var(--e-radius) * 1.25); + border-top-right-radius: calc(var(--e-radius) * 1.25); +} +*.e-btn-group.e-round-corner:not(.e-vertical).e-rtl, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical).e-rtl { + border-radius: calc(var(--e-radius) * 1.25); +} +*.e-btn-group.e-round-corner:not(.e-vertical).e-rtl .e-btn:first-of-type, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical).e-rtl .e-btn:first-of-type { + border-bottom-right-radius: calc(var(--e-radius) * 1.25); + border-top-right-radius: calc(var(--e-radius) * 1.25); +} +*.e-btn-group.e-round-corner:not(.e-vertical).e-rtl .e-btn:last-of-type, +*.e-css.e-btn-group.e-round-corner:not(.e-vertical).e-rtl .e-btn:last-of-type { + border-bottom-left-radius: calc(var(--e-radius) * 1.25); + border-top-left-radius: calc(var(--e-radius) * 1.25); +} +*.e-btn-group.e-round-corner:not(.e-vertical).e-rtl .e-btn:last-of-type:not(:last-child), +*.e-css.e-btn-group.e-round-corner:not(.e-vertical).e-rtl .e-btn:last-of-type:not(:last-child) { + border-bottom-left-radius: calc(var(--e-radius) * 0); + border-top-left-radius: calc(var(--e-radius) * 0); +} +*.e-btn-group.e-round-corner:not(.e-vertical).e-rtl .e-btn:first-of-type:not(:first-child), +*.e-css.e-btn-group.e-round-corner:not(.e-vertical).e-rtl .e-btn:first-of-type:not(:first-child) { + border-bottom-right-radius: calc(var(--e-radius) * 0); + border-top-right-radius: calc(var(--e-radius) * 0); +} + +/* stylelint-disable */ +.e-btn-group:not(.e-outline), +.e-css.e-btn-group:not(.e-outline) { + box-shadow: none; +} +.e-btn-group .e-btn:hover, +.e-css.e-btn-group .e-btn:hover { + box-shadow: none; +} +.e-btn-group .e-btn:focus-visible, +.e-btn-group input:focus-visible + label.e-btn, +.e-css.e-btn-group .e-btn:focus-visible, +.e-css.e-btn-group input:focus-visible + label.e-btn { + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1) !important; +} +.e-btn-group .e-btn:hover.e-outline, +.e-btn-group input:hover + label.e-btn.e-outline, +.e-css.e-btn-group .e-btn:hover.e-outline, +.e-css.e-btn-group input:hover + label.e-btn.e-outline { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + color: var(--color-sf-secondary-outline-button-text-color-hover); +} +.e-btn-group .e-btn:focus, +.e-btn-group input:focus-visible + label.e-btn, +.e-btn-group input:focus + label.e-btn, +.e-css.e-btn-group .e-btn:focus, +.e-css.e-btn-group input:focus-visible + label.e-btn, +.e-css.e-btn-group input:focus + label.e-btn { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + color: var(--color-sf-secondary-text-color-selected); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; + box-shadow: none; + box-shadow: none; + outline-color: inherit; +} +.e-btn-group .e-btn:focus.e-primary, +.e-btn-group input:focus-visible + label.e-btn.e-primary, +.e-btn-group input:focus + label.e-btn.e-primary, +.e-css.e-btn-group .e-btn:focus.e-primary, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-primary, +.e-css.e-btn-group input:focus + label.e-btn.e-primary { + background: var(--color-sf-primary-bg-color-selected); + border-color: var(--color-sf-primary-border-color-selected); + color: var(--color-sf-primary-text-selected); + outline: var(--color-sf-secondary-bg-color) 0 solid; + box-shadow: none; + box-shadow: none; + outline-color: inherit; +} +.e-btn-group .e-btn:focus.e-success, +.e-btn-group input:focus-visible + label.e-btn.e-success, +.e-btn-group input:focus + label.e-btn.e-success, +.e-css.e-btn-group .e-btn:focus.e-success, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-success, +.e-css.e-btn-group input:focus + label.e-btn.e-success { + background: var(--color-sf-success-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-success-text-hover); + box-shadow: none; + box-shadow: none; + outline-color: inherit; +} +.e-btn-group .e-btn:focus.e-info, +.e-btn-group input:focus-visible + label.e-btn.e-info, +.e-btn-group input:focus + label.e-btn.e-info, +.e-css.e-btn-group .e-btn:focus.e-info, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-info, +.e-css.e-btn-group input:focus + label.e-btn.e-info { + background: var(--color-sf-info-bg-color-selected); + border-color: var(--color-sf-info-border-color-selected); + color: var(--color-sf-info-text-hover); + box-shadow: none; + box-shadow: none; + outline-color: inherit; +} +.e-btn-group .e-btn:focus.e-warning, +.e-btn-group input:focus-visible + label.e-btn.e-warning, +.e-btn-group input:focus + label.e-btn.e-warning, +.e-css.e-btn-group .e-btn:focus.e-warning, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-warning, +.e-css.e-btn-group input:focus + label.e-btn.e-warning { + background: var(--color-sf-warning-bg-color-selected); + border-color: var(--color-sf-warning-border-color-selected); + color: var(--color-sf-warning-text-hover); + box-shadow: none; + box-shadow: none; + outline-color: inherit; +} +.e-btn-group .e-btn:focus.e-danger, +.e-btn-group input:focus-visible + label.e-btn.e-danger, +.e-btn-group input:focus + label.e-btn.e-danger, +.e-css.e-btn-group .e-btn:focus.e-danger, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-danger, +.e-css.e-btn-group input:focus + label.e-btn.e-danger { + background: var(--color-sf-danger-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-danger-text-hover); + box-shadow: none; + box-shadow: none; + outline-color: inherit; +} +.e-btn-group .e-btn:focus.e-link, +.e-btn-group input:focus-visible + label.e-btn.e-link, +.e-btn-group input:focus + label.e-btn.e-link, +.e-css.e-btn-group .e-btn:focus.e-link, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-link, +.e-css.e-btn-group input:focus + label.e-btn.e-link { + border-radius: 0; + text-decoration: underline; + color: var(--color-sf-primary-bg-color-hover); + background-color: transparent; + border-color: transparent; + box-shadow: none; + outline: none; +} +.e-btn-group .e-btn:focus.e-outline, +.e-btn-group input:focus-visible + label.e-btn.e-outline, +.e-btn-group input:focus + label.e-btn.e-outline, +.e-css.e-btn-group .e-btn:focus.e-outline, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-outline, +.e-css.e-btn-group input:focus + label.e-btn.e-outline { + background: var(--color-sf-secondary-bg-color-selected) !important; + border-color: var(--color-sf-secondary-border-color-selected) !important; + color: var(--color-sf-secondary-text-color-selected) !important; + box-shadow: none; +} +.e-btn-group .e-btn:focus.e-outline.e-primary, +.e-btn-group input:focus-visible + label.e-btn.e-outline.e-primary, +.e-btn-group input:focus + label.e-btn.e-outline.e-primary, +.e-css.e-btn-group .e-btn:focus.e-outline.e-primary, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-outline.e-primary, +.e-css.e-btn-group input:focus + label.e-btn.e-outline.e-primary { + background: var(--color-sf-primary-bg-color-pressed) !important; + border-color: var(--color-sf-primary-border-color-pressed) !important; + color: var(--color-sf-primary-text-pressed) !important; + box-shadow: none; +} +.e-btn-group .e-btn:focus.e-outline.e-success, +.e-btn-group input:focus-visible + label.e-btn.e-outline.e-success, +.e-btn-group input:focus + label.e-btn.e-outline.e-success, +.e-css.e-btn-group .e-btn:focus.e-outline.e-success, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-outline.e-success, +.e-css.e-btn-group input:focus + label.e-btn.e-outline.e-success { + background: var(--color-sf-success-bg-color-pressed) !important; + border-color: var(--color-sf-success-border-color-pressed) !important; + color: var(--color-sf-success-text) !important; + box-shadow: none; +} +.e-btn-group .e-btn:focus.e-outline.e-info, +.e-btn-group input:focus-visible + label.e-btn.e-outline.e-info, +.e-btn-group input:focus + label.e-btn.e-outline.e-info, +.e-css.e-btn-group .e-btn:focus.e-outline.e-info, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-outline.e-info, +.e-css.e-btn-group input:focus + label.e-btn.e-outline.e-info { + background: var(--color-sf-info-bg-color-pressed) !important; + border-color: var(--color-sf-info-border-color-pressed) !important; + color: var(--color-sf-info-text-pressed) !important; + box-shadow: none; +} +.e-btn-group .e-btn:focus.e-outline.e-warning, +.e-btn-group input:focus-visible + label.e-btn.e-outline.e-warning, +.e-btn-group input:focus + label.e-btn.e-outline.e-warning, +.e-css.e-btn-group .e-btn:focus.e-outline.e-warning, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-outline.e-warning, +.e-css.e-btn-group input:focus + label.e-btn.e-outline.e-warning { + background: var(--color-sf-warning-bg-color-pressed) !important; + border-color: var(--color-sf-warning-border-color-pressed) !important; + color: var(--color-sf-warning-text-pressed) !important; + box-shadow: none; +} +.e-btn-group .e-btn:focus.e-outline.e-danger, +.e-btn-group input:focus-visible + label.e-btn.e-outline.e-danger, +.e-btn-group input:focus + label.e-btn.e-outline.e-danger, +.e-css.e-btn-group .e-btn:focus.e-outline.e-danger, +.e-css.e-btn-group input:focus-visible + label.e-btn.e-outline.e-danger, +.e-css.e-btn-group input:focus + label.e-btn.e-outline.e-danger { + background: var(--color-sf-danger-bg-color-pressed) !important; + border-color: var(--color-sf-danger-border-color-pressed) !important; + color: var(--color-sf-danger-text-pressed) !important; + box-shadow: none; +} +.e-btn-group .e-btn:active:not(.e-outline), +.e-btn-group input:active + label.e-btn:not(.e-outline), +.e-btn-group input:checked + label.e-btn:not(.e-outline), +.e-css.e-btn-group .e-btn:active:not(.e-outline), +.e-css.e-btn-group input:active + label.e-btn:not(.e-outline), +.e-css.e-btn-group input:checked + label.e-btn:not(.e-outline) { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + color: var(--color-sf-secondary-text-color-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; +} +.e-btn-group .e-btn:active:not(.e-outline).e-primary, +.e-btn-group input:active + label.e-btn:not(.e-outline).e-primary, +.e-btn-group input:checked + label.e-btn:not(.e-outline).e-primary, +.e-css.e-btn-group .e-btn:active:not(.e-outline).e-primary, +.e-css.e-btn-group input:active + label.e-btn:not(.e-outline).e-primary, +.e-css.e-btn-group input:checked + label.e-btn:not(.e-outline).e-primary { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + color: var(--color-sf-primary-text-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + box-shadow: none; +} +.e-btn-group .e-btn:active:not(.e-outline).e-success, +.e-btn-group input:active + label.e-btn:not(.e-outline).e-success, +.e-btn-group input:checked + label.e-btn:not(.e-outline).e-success, +.e-css.e-btn-group .e-btn:active:not(.e-outline).e-success, +.e-css.e-btn-group input:active + label.e-btn:not(.e-outline).e-success, +.e-css.e-btn-group input:checked + label.e-btn:not(.e-outline).e-success { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + color: var(--color-sf-success-text); + box-shadow: none; +} +.e-btn-group .e-btn:active:not(.e-outline).e-info, +.e-btn-group input:active + label.e-btn:not(.e-outline).e-info, +.e-btn-group input:checked + label.e-btn:not(.e-outline).e-info, +.e-css.e-btn-group .e-btn:active:not(.e-outline).e-info, +.e-css.e-btn-group input:active + label.e-btn:not(.e-outline).e-info, +.e-css.e-btn-group input:checked + label.e-btn:not(.e-outline).e-info { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + color: var(--color-sf-info-text-pressed); + box-shadow: none; +} +.e-btn-group .e-btn:active:not(.e-outline).e-warning, +.e-btn-group input:active + label.e-btn:not(.e-outline).e-warning, +.e-btn-group input:checked + label.e-btn:not(.e-outline).e-warning, +.e-css.e-btn-group .e-btn:active:not(.e-outline).e-warning, +.e-css.e-btn-group input:active + label.e-btn:not(.e-outline).e-warning, +.e-css.e-btn-group input:checked + label.e-btn:not(.e-outline).e-warning { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + color: var(--color-sf-warning-text-pressed); + box-shadow: none; +} +.e-btn-group .e-btn:active:not(.e-outline).e-danger, +.e-btn-group input:active + label.e-btn:not(.e-outline).e-danger, +.e-btn-group input:checked + label.e-btn:not(.e-outline).e-danger, +.e-css.e-btn-group .e-btn:active:not(.e-outline).e-danger, +.e-css.e-btn-group input:active + label.e-btn:not(.e-outline).e-danger, +.e-css.e-btn-group input:checked + label.e-btn:not(.e-outline).e-danger { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + color: var(--color-sf-danger-text-pressed); + box-shadow: none; +} +.e-btn-group .e-btn:active.e-outline, +.e-btn-group input:active + label.e-btn.e-outline, +.e-btn-group input:checked + label.e-btn.e-outline, +.e-css.e-btn-group .e-btn:active.e-outline, +.e-css.e-btn-group input:active + label.e-btn.e-outline, +.e-css.e-btn-group input:checked + label.e-btn.e-outline { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); +} +.e-btn-group .e-btn:active.e-outline.e-primary, +.e-btn-group input:active + label.e-btn.e-outline.e-primary, +.e-btn-group input:checked + label.e-btn.e-outline.e-primary, +.e-css.e-btn-group .e-btn:active.e-outline.e-primary, +.e-css.e-btn-group input:active + label.e-btn.e-outline.e-primary, +.e-css.e-btn-group input:checked + label.e-btn.e-outline.e-primary { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-primary-text-pressed); +} +.e-btn-group .e-btn:active.e-outline.e-success, +.e-btn-group input:active + label.e-btn.e-outline.e-success, +.e-btn-group input:checked + label.e-btn.e-outline.e-success, +.e-css.e-btn-group .e-btn:active.e-outline.e-success, +.e-css.e-btn-group input:active + label.e-btn.e-outline.e-success, +.e-css.e-btn-group input:checked + label.e-btn.e-outline.e-success { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + box-shadow: none; + color: var(--color-sf-success-text); +} +.e-btn-group .e-btn:active.e-outline.e-info, +.e-btn-group input:active + label.e-btn.e-outline.e-info, +.e-btn-group input:checked + label.e-btn.e-outline.e-info, +.e-css.e-btn-group .e-btn:active.e-outline.e-info, +.e-css.e-btn-group input:active + label.e-btn.e-outline.e-info, +.e-css.e-btn-group input:checked + label.e-btn.e-outline.e-info { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + box-shadow: none; + color: var(--color-sf-info-text-pressed); +} +.e-btn-group .e-btn:active.e-outline.e-warning, +.e-btn-group input:active + label.e-btn.e-outline.e-warning, +.e-btn-group input:checked + label.e-btn.e-outline.e-warning, +.e-css.e-btn-group .e-btn:active.e-outline.e-warning, +.e-css.e-btn-group input:active + label.e-btn.e-outline.e-warning, +.e-css.e-btn-group input:checked + label.e-btn.e-outline.e-warning { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + box-shadow: none; + color: var(--color-sf-warning-text-pressed); +} +.e-btn-group .e-btn:active.e-outline.e-danger, +.e-btn-group input:active + label.e-btn.e-outline.e-danger, +.e-btn-group input:checked + label.e-btn.e-outline.e-danger, +.e-css.e-btn-group .e-btn:active.e-outline.e-danger, +.e-css.e-btn-group input:active + label.e-btn.e-outline.e-danger, +.e-css.e-btn-group input:checked + label.e-btn.e-outline.e-danger { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + box-shadow: none; + color: var(--color-sf-danger-text-pressed); +} +.e-btn-group .e-btn:disabled, +.e-btn-group input:disabled + label.e-btn, +.e-css.e-btn-group .e-btn:disabled, +.e-css.e-btn-group input:disabled + label.e-btn { + background-color: var(--color-sf-secondary-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); + border-color: var(--color-sf-secondary-border-color); +} +.e-btn-group .e-btn:disabled.e-primary, +.e-btn-group input:disabled + label.e-btn.e-primary, +.e-css.e-btn-group .e-btn:disabled.e-primary, +.e-css.e-btn-group input:disabled + label.e-btn.e-primary { + background: var(--color-sf-primary-bg-color-disabled); + border-color: var(--color-sf-primary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); + border-color: var(--color-sf-primary-border-color); +} +.e-btn-group .e-btn:disabled.e-success, +.e-btn-group input:disabled + label.e-btn.e-success, +.e-css.e-btn-group .e-btn:disabled.e-success, +.e-css.e-btn-group input:disabled + label.e-btn.e-success { + background: var(--color-sf-success-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-success-text-disabled); + border-color: var(--color-sf-success-border-color); +} +.e-btn-group .e-btn:disabled.e-info, +.e-btn-group input:disabled + label.e-btn.e-info, +.e-css.e-btn-group .e-btn:disabled.e-info, +.e-css.e-btn-group input:disabled + label.e-btn.e-info { + background: var(--color-sf-info-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-info-text-disabled); + border-color: var(--color-sf-info-border-color); +} +.e-btn-group .e-btn:disabled.e-warning, +.e-btn-group input:disabled + label.e-btn.e-warning, +.e-css.e-btn-group .e-btn:disabled.e-warning, +.e-css.e-btn-group input:disabled + label.e-btn.e-warning { + background: var(--color-sf-warning-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-warning-text-disabled); + border-color: var(--color-sf-warning-border-color); +} +.e-btn-group .e-btn:disabled.e-danger, +.e-btn-group input:disabled + label.e-btn.e-danger, +.e-css.e-btn-group .e-btn:disabled.e-danger, +.e-css.e-btn-group input:disabled + label.e-btn.e-danger { + background: var(--color-sf-danger-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-warning-text-disabled); + border-color: var(--color-sf-danger-border-color); +} +.e-btn-group .e-btn:disabled.e-link, +.e-btn-group input:disabled + label.e-btn.e-link, +.e-css.e-btn-group .e-btn:disabled.e-link, +.e-css.e-btn-group input:disabled + label.e-btn.e-link { + color: var(--color-sf-primary-text-disabled); + background: transparent; + box-shadow: none; + text-decoration: none; + border-color: transparent; +} +.e-btn-group .e-btn:disabled.e-outline, +.e-btn-group input:disabled + label.e-btn.e-outline, +.e-css.e-btn-group .e-btn:disabled.e-outline, +.e-css.e-btn-group input:disabled + label.e-btn.e-outline { + background: transparent; + border-color: var(--color-sf-secondary-border-color-disabled); + color: var(--color-sf-secondary-text-color-disabled); + background: var(--color-sf-secondary-bg-color-disabled) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color); +} +.e-btn-group .e-btn:disabled.e-outline.e-primary, +.e-btn-group input:disabled + label.e-btn.e-outline.e-primary, +.e-css.e-btn-group .e-btn:disabled.e-outline.e-primary, +.e-css.e-btn-group input:disabled + label.e-btn.e-outline.e-primary { + background: transparent; + border-color: rgba(var(--color-sf-primary), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-primary), 0.65); + border-color: var(--color-sf-primary-bg-color); +} +.e-btn-group .e-btn:disabled.e-outline.e-success, +.e-btn-group input:disabled + label.e-btn.e-outline.e-success, +.e-css.e-btn-group .e-btn:disabled.e-outline.e-success, +.e-css.e-btn-group input:disabled + label.e-btn.e-outline.e-success { + background: transparent; + border-color: rgba(var(--color-sf-success-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-success), 0.65); + border-color: var(--color-sf-success-bg-color); +} +.e-btn-group .e-btn:disabled.e-outline.e-info, +.e-btn-group input:disabled + label.e-btn.e-outline.e-info, +.e-css.e-btn-group .e-btn:disabled.e-outline.e-info, +.e-css.e-btn-group input:disabled + label.e-btn.e-outline.e-info { + background: transparent; + border-color: rgba(var(--color-sf-info-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-info), 0.65); + border-color: var(--color-sf-info-bg-color); +} +.e-btn-group .e-btn:disabled.e-outline.e-warning, +.e-btn-group input:disabled + label.e-btn.e-outline.e-warning, +.e-css.e-btn-group .e-btn:disabled.e-outline.e-warning, +.e-css.e-btn-group input:disabled + label.e-btn.e-outline.e-warning { + background: transparent; + border-color: rgba(var(--color-sf-warning-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-warning), 0.65); + border-color: var(--color-sf-warning-bg-color); +} +.e-btn-group .e-btn:disabled.e-outline.e-danger, +.e-btn-group input:disabled + label.e-btn.e-outline.e-danger, +.e-css.e-btn-group .e-btn:disabled.e-outline.e-danger, +.e-css.e-btn-group input:disabled + label.e-btn.e-outline.e-danger { + background: transparent; + border-color: rgba(var(--color-sf-danger-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-danger), 0.65); + border-color: var(--color-sf-danger-bg-color); +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-outline:not(:first-of-type):not(:last-of-type), +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-outline:not(:first-of-type):not(:last-of-type) { + border-left: transparent; + border-right: transparent; +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-outline:first-of-type, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-outline:first-of-type { + border-right: transparent; +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-outline:last-of-type, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-outline:last-of-type { + border-left: transparent; +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline, +.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline { + border-color: var(--color-sf-secondary-border-color); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-primary, +.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-primary, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-primary, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-primary { + border-color: var(--color-sf-primary); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-success, +.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-success, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-success, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-success { + border-color: var(--color-sf-success-border-color-selected); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-info, +.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-info, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-info, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-info { + border-color: var(--color-sf-info-border-color-selected); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-warning, +.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-warning, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-warning, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-warning { + border-color: var(--color-sf-warning-border-color-selected); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-danger, +.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-danger, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) .e-btn:focus.e-outline.e-danger, +.e-css.e-btn-group:not(.e-vertical):not(.e-rtl) input:focus + label.e-btn.e-outline.e-danger { + border-color: var(--color-sf-success-border-color-selected); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical).e-rtl .e-outline:not(:first-of-type):not(:last-of-type), +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-outline:not(:first-of-type):not(:last-of-type) { + border-left: transparent; + border-right: transparent; +} +.e-btn-group:not(.e-vertical).e-rtl .e-outline:first-of-type, +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-outline:first-of-type { + border-left: transparent; +} +.e-btn-group:not(.e-vertical).e-rtl .e-outline:last-of-type, +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-outline:last-of-type { + border-right: transparent; +} +.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline, +.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline, +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline, +.e-css.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline { + border-color: var(--color-sf-secondary-border-color); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-primary, +.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-primary, +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-primary, +.e-css.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-primary { + border-color: var(--color-sf-primary); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-success, +.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-success, +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-success, +.e-css.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-success { + border-color: var(--color-sf-success-border-color-selected); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-info, +.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-info, +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-info, +.e-css.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-info { + border-color: var(--color-sf-info-border-color-selected); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-warning, +.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-warning, +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-warning, +.e-css.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-warning { + border-color: var(--color-sf-warning-border-color-selected); + outline-color: inherit; +} +.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-danger, +.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-danger, +.e-css.e-btn-group:not(.e-vertical).e-rtl .e-btn:focus.e-outline.e-danger, +.e-css.e-btn-group:not(.e-vertical).e-rtl input:focus + label.e-btn.e-outline.e-danger { + border-color: var(--color-sf-success-border-color-selected); + outline-color: inherit; +} +.e-btn-group.e-vertical .e-outline:not(:first-of-type):not(:last-of-type), +.e-css.e-btn-group.e-vertical .e-outline:not(:first-of-type):not(:last-of-type) { + border-bottom: transparent; + border-top: transparent; +} +.e-btn-group.e-vertical .e-outline:first-of-type, +.e-css.e-btn-group.e-vertical .e-outline:first-of-type { + border-bottom: transparent; +} +.e-btn-group.e-vertical .e-outline:last-of-type, +.e-css.e-btn-group.e-vertical .e-outline:last-of-type { + border-top: transparent; +} +.e-btn-group.e-vertical .e-btn:focus.e-outline, +.e-btn-group.e-vertical input:focus + label.e-btn.e-outline, +.e-css.e-btn-group.e-vertical .e-btn:focus.e-outline, +.e-css.e-btn-group.e-vertical input:focus + label.e-btn.e-outline { + border-color: var(--color-sf-secondary-border-color); + outline-color: inherit; +} +.e-btn-group.e-vertical .e-btn:focus.e-outline.e-primary, +.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-primary, +.e-css.e-btn-group.e-vertical .e-btn:focus.e-outline.e-primary, +.e-css.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-primary { + border-color: var(--color-sf-primary); + outline-color: inherit; +} +.e-btn-group.e-vertical .e-btn:focus.e-outline.e-success, +.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-success, +.e-css.e-btn-group.e-vertical .e-btn:focus.e-outline.e-success, +.e-css.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-success { + border-color: var(--color-sf-success-border-color-selected); + outline-color: inherit; +} +.e-btn-group.e-vertical .e-btn:focus.e-outline.e-info, +.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-info, +.e-css.e-btn-group.e-vertical .e-btn:focus.e-outline.e-info, +.e-css.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-info { + border-color: var(--color-sf-info-border-color-selected); + outline-color: inherit; +} +.e-btn-group.e-vertical .e-btn:focus.e-outline.e-warning, +.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-warning, +.e-css.e-btn-group.e-vertical .e-btn:focus.e-outline.e-warning, +.e-css.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-warning { + border-color: var(--color-sf-warning-border-color-selected); + outline-color: inherit; +} +.e-btn-group.e-vertical .e-btn:focus.e-outline.e-danger, +.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-danger, +.e-css.e-btn-group.e-vertical .e-btn:focus.e-outline.e-danger, +.e-css.e-btn-group.e-vertical input:focus + label.e-btn.e-outline.e-danger { + border-color: var(--color-sf-success-border-color-selected); + outline-color: inherit; +} \ No newline at end of file diff --git a/src/wwwroot/styles/calendar.min.css b/src/wwwroot/styles/calendar.min.css new file mode 100644 index 0000000..673a80e --- /dev/null +++ b/src/wwwroot/styles/calendar.min.css @@ -0,0 +1,2714 @@ +@layer fluent, themes; +@layer fluent { + :root { + --color-sf-primary: #0f6cbd; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #b4d6fa; + --color-sf-primary-lighter: #ebf3fc; + --color-sf-primary-dark: #0f548c; + --color-sf-success: #0e700e; + --color-sf-info: #008aa9; + --color-sf-warning: #bc4b09; + --color-sf-danger: #d13438; + --color-sf-content-bg-color: #fafafa; + --color-sf-content-bg-color-alt1: #fff; + --color-sf-content-bg-color-alt2: #f5f5f5; + --color-sf-content-bg-color-alt3: #e6e6e6; + --color-sf-content-bg-color-alt4: #f0f0f0; + --color-sf-content-bg-color-hover: #f0f0f0; + --color-sf-content-bg-color-pressed: #dbdbdb; + --color-sf-content-bg-color-focus: #f0f0f0; + --color-sf-content-bg-color-selected: #e6e6e6; + --color-sf-flyout-bg-color: #fff; + --color-sf-flyout-bg-color-hover: #f5f5f5; + --color-sf-flyout-bg-color-pressed: #e0e0e0; + --color-sf-flyout-bg-color-selected: #ebebeb; + --color-sf-flyout-bg-color-focus: #f5f5f5; + --color-sf-overlay-bg-color: rgba(0, 0, 0, .4); + --color-sf-content-text-color: #242424; + --color-sf-content-text-color-alt1: #424242; + --color-sf-content-text-color-alt2: #616161; + --color-sf-content-text-color-alt3: #707070; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #bdbdbd; + --color-sf-placeholder-text-color: #707070; + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: var(--color-sf-content-text-color-alt1); + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #e0e0e0; + --color-sf-border: #d1d1d1; + --color-sf-border-alt: #616161; + --color-sf-border-dark: #c7c7c7; + --color-sf-border-hover: #575757; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: var(--color-sf-border-light); + --color-sf-border-warning: #da3b01; + --color-sf-border-error: #c50f1f; + --color-sf-border-success: #107c10; + --color-sf-flyout-border: var(--color-sf-border-light); + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #115ea3; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #f0f0f0; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: #b8b8b8; + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #fff; + --color-sf-secondary-border-color: #d1d1d1; + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #f5f5f5; + --color-sf-secondary-border-color-hover: #c7c7c7; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: #e0e0e0; + --color-sf-secondary-border-color-pressed: #b3b3b3; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: var(--color-sf-secondary-bg-color); + --color-sf-secondary-border-color-focus: #000; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: #f0f0f0; + --color-sf-secondary-border-color-disabled: #e0e0e0; + --color-sf-secondary-text-color-disabled: #bdbdbd; + --color-sf-secondary-bg-color-selected: #ebebeb; + --color-sf-secondary-border-color-selected: #bdbdbd; + --color-sf-secondary-text-color-selected: #242424; + --color-sf-success-bg-color: #107c10; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0c5e0c; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f7630c; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: var(--color-sf-content-text-color); + --color-sf-warning-bg-color-hover: #bc4b09; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #bc4b09; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #31afcc; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: var(--color-sf-content-text-color); + --color-sf-info-bg-color-hover: #008aa9; + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #00748f; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #c50f1f; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: #960b18; + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #242424; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #b3b3b3; + --color-sf-rating-unrated-disabled-color: #b3b3b3; + --color-sf-rating-selected-hover-color: #115ea3; + --color-sf-utility-primary-lighter: #f9f5ff; + --color-sf-shadow-color: #000; + --color-sf-shadow-color1: #fff; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #242424; + --color-sf-secondary-outline-button-text-color-pressed: #242424; + --color-sf-secondary-outline-button-text-color-selected: #242424; + --color-sf-secondary-outline-button-text-color-focus: #242424; + --color-sf-slider-shadow1: #fff; + --color-sf-slider-shadow2: #d1d1d1; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #e0e0e0; + --color-sf-toggle-switch-border-disabled: #f0f0f0; + --color-sf-calendar-icon-color: #0f6ebd; + --color-sf-calendar-header-text-color-pressed: #0f548c; + --color-sf-dialog-border: #fafafa; + --color-sf-skeleton-bg-color: #e6e6e6; + } +} +@media (forced-colors: active) { + :root { + color-scheme: light dark; + } + .e-btn, + .e-btn.e-flat, + .e-btn.e-outline, + .e-checkbox-wrapper, + .e-radio-wrapper, + .e-switch-wrapper, + .e-input, + .e-textbox, + .e-textarea, + .e-datepicker, + .e-datetimepicker, + .e-timepicker, + .e-dialog, + .e-popup, + .e-tooltip, + .e-calendar, + .e-spinner { + border-color: CanvasText; + background-color: Canvas; + color: CanvasText; + } + .e-btn.e-primary, + .e-btn.e-success, + .e-btn.e-warning, + .e-btn.e-danger, + .e-btn.e-info { + background-color: Highlight; + border-color: Highlight; + color: HighlightText; + } + .e-btn:disabled, + .e-checkbox-wrapper.e-disabled, + .e-radio-wrapper.e-disabled, + .e-switch-wrapper.e-disabled, + .e-input:disabled, + .e-textbox:disabled, + .e-textarea:disabled, + .e-datepicker.e-disabled, + .e-datetimepicker.e-disabled, + .e-timepicker.e-disabled { + opacity: 1; + border-color: GrayText; + background-color: Canvas; + color: GrayText; + } + .e-btn:focus, + .e-btn:focus-visible, + .e-checkbox-wrapper:focus-within, + .e-radio-wrapper:focus-within, + .e-switch-wrapper:focus-within, + .e-textbox:focus, + .e-textarea:focus, + .e-input:focus, + .e-datepicker:focus, + .e-datetimepicker:focus, + .e-timepicker:focus { + outline: 2px solid Highlight; + outline-offset: 2px; + } + .e-popup, + .e-dialog, + .e-tooltip, + .e-calendar { + box-shadow: none; + } +} +:root, +.e-dark-mode { + --e-font-name: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif; + --e-radius: 1rem; + --e-border: 1rem; + --e-font-sans: sans-serif; +} + +:root, +.e-dark-mode { + --e-font-family: var(--e-font-name), var(--e-font-sans); +} + +/* Font Family */ +/* Font Sizes */ +/* Radius */ +/* 1px */ +/* 2px */ +/* 3px */ +/* 4px */ +/* 5px */ +/* 6px */ +/* 8px */ +/* 9px */ +/* 10px */ +/* 12px */ +/* 14px */ +/* 16px */ +/* 20px */ +/* 5em */ +/* border */ +/* 0px */ +/* 2px */ +.e-dark-mode { + --color-sf-black: #000; + --color-sf-content-bg-color: #1f1f1f; + --color-sf-content-bg-color-alt1: #292929; + --color-sf-content-bg-color-alt2: #141414; + --color-sf-content-bg-color-alt3: #333; + --color-sf-content-bg-color-alt4: #0a0a0a; + --color-sf-content-bg-color-hover: var(--color-sf-content-bg-color-alt3); + --color-sf-content-bg-color-pressed: var(--color-sf-content-bg-color-alt2); + --color-sf-content-bg-color-focus: var(--color-sf-content-bg-color-hover); + --color-sf-content-bg-color-selected: #2e2e2e; + --color-sf-flyout-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-flyout-bg-color-hover: #3d3d3d; + --color-sf-flyout-bg-color-pressed: var(--color-sf-black); + --color-sf-flyout-bg-color-selected: #383838; + --color-sf-flyout-bg-color-focus: var(--color-sf-flyout-bg-color-hover); + --color-sf-overlay-bg-color: rgba($black, .4); + --color-sf-content-text-color: #fff; + --color-sf-content-text-color-alt1: #d6d6d6; + --color-sf-content-text-color-alt2: #adadad; + --color-sf-content-text-color-alt3: #999; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #5c5c5c; + --color-sf-placeholder-text-color: var(--color-sf-content-text-color-alt3); + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: #d6d6d6; + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #525252; + --color-sf-border: #666; + --color-sf-border-alt: #adadad; + --color-sf-border-dark: #757575; + --color-sf-border-hover: #757575; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: #424242; + --color-sf-border-warning: #bc4b09; + --color-sf-border-error: #dc626d; + --color-sf-border-success: #9fd89f; + --color-sf-flyout-border: #525252; + --color-sf-primary: #115ea3; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #0e4775; + --color-sf-primary-lighter: #082338; + --color-sf-primary-dark: #62abf5; + --color-sf-success: #107c10; + --color-sf-info: #0099bc; + --color-sf-warning: #faa06b; + --color-sf-danger: #dc626d; + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #0f6cbd; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #141414; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #292929; + --color-sf-secondary-border-color: var(--color-sf-border); + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #3d3d3d; + --color-sf-secondary-border-color-hover: #757575; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: var(--color-sf-black); + --color-sf-secondary-border-color-pressed: #6b6b6b; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: #383838; + --color-sf-secondary-border-color-focus: #fff; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: -var(-color-sf-primary-bg-color-disabled); + --color-sf-secondary-border-color-disabled: var(--color-sf-secondary-bg-color-disabled); + --color-sf-secondary-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-secondary-bg-color-selected: #383838; + --color-sf-secondary-border-color-selected: #707070; + --color-sf-secondary-text-color-selected: var(--color-sf-content-text-color); + --color-sf-success-bg-color: #218c21; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0e700e; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f87528; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: #242424; + --color-sf-warning-bg-color-hover: #de590b; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #8a3707; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #18a4c4; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: #242424; + --color-sf-info-bg-color-hover: var(--color-sf-info-bg-color); + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #002e38; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #cc2635; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-tooltip-bg-color); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #fff; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #575757; + --color-sf-rating-unrated-disabled-color: #4d4d4d; + --color-sf-rating-selected-hover-color: #2886de; + --color-sf-shadow-color: #fff; + --color-sf-shadow-color1: #000; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #fff; + --color-sf-secondary-outline-button-text-color-pressed: #fff; + --color-sf-secondary-outline-button-text-color-selected: #fff; + --color-sf-secondary-outline-button-text-color-focus: #fff; + --color-sf-slider-shadow1: #000; + --color-sf-slider-shadow2: #666666; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #525252; + --color-sf-toggle-switch-border-disabled: #141414; + --color-sf-calendar-icon-color: #1153a3; + --color-sf-calendar-header-text-color-pressed: #62abf5; + --color-sf-dialog-border: #1f1f1f; + --color-sf-skeleton-bg-color: #575757; +} + +.e-control, +.e-css, +.e-error { + font-family: var(--e-font-family); + font-size: 12px; + font-weight: 400; +} + +.e-error { + color: var(--color-sf-danger); +} + +.e-control, +.e-control [class^=e-], +.e-control [class*=" e-"] { + box-sizing: border-box; +} + +.e-control:focus, +.e-control *:focus { + outline: none; +} + +.e-rtl { + direction: rtl; + text-align: right; +} + +.e-overlay { + background-color: var(--color-sf-overlay-bg-color); + height: 100%; + opacity: 0.5; + pointer-events: none; + touch-action: none; + width: 100%; +} + +.e-hidden { + display: none; +} + +.e-blazor-hidden { + visibility: hidden; +} + +.e-disabled { + background-image: none; + cursor: default; + opacity: 0.35; +} + +.e-ul { + list-style-type: none; +} + +.e-prevent-select { + user-select: none; +} + +.e-success { + color: #0b6a0b; +} + +.e-sr-only { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +@media (prefers-reduced-motion: reduce) { + .e-control, + .e-control * { + animation-duration: 0.001ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.001ms !important; + scroll-behavior: auto !important; + } +} +@keyframes SlideLeftOut { + from { + transform: translate(0, 0); + } + to { + transform: translate(-100%, 0); + } +} +@keyframes SlideLeftIn { + from { + transform: translate(-100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes SlideRightIn { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes SlideRightOut { + from { + transform: translate(0, 0); + } + to { + transform: translate(100%, 0); + } +} +@keyframes SlideBottomIn { + from { + transform: translate(0, 100%); + } + to { + transform: translate(0, 0); + } +} +@keyframes SlideBottomOut { + from { + transform: translate(0, 0); + } + to { + transform: translate(0, 100%); + } +} +@keyframes SlideTopIn { + from { + transform: translate(0, -100%); + } + to { + transform: translate(0, 0); + } +} +@keyframes SlideTopOut { + from { + transform: translate(0, 0); + } + to { + transform: translate(0, -100%); + } +} +@keyframes SlideRight { + from { + width: 0; + } + to { + width: 100%; + } +} +@keyframes SlideLeft { + from { + width: 100%; + } + to { + width: 0; + } +} +@keyframes SlideDown { + from { + height: 0; + } + to { + height: 100%; + } +} +@keyframes SlideUp { + from { + height: 100%; + } + to { + height: 0; + } +} +@keyframes FadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes FadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +@keyframes ZoomIn { + from { + transform: translate(0, 0) scale(0); + } + to { + transform: translate(0, 0) scale(1); + } +} +@keyframes ZoomOut { + from { + transform: translate(0, 0) scale(1); + } + to { + transform: translate(0, 0) scale(0); + } +} +@keyframes FadeZoomIn { + from { + opacity: 0; + transform: scale(0); + } + to { + opacity: 1; + transform: scale(1); + } +} +@keyframes FadeZoomOut { + from { + opacity: 1; + transform: scale(1); + } + to { + opacity: 0; + transform: scale(0); + } +} +@keyframes FlipRightDownIn { + from { + transform: perspective(400px) rotateY(-180deg); + transform-origin: right center; + transform-style: preserve-3d; + } + to { + transform: rotateY(0deg); + transform-origin: right center; + transform-style: preserve-3d; + } +} +@keyframes FlipRightDownOut { + from { + transform: perspective(400px) rotateY(0deg); + transform-origin: right center; + transform-style: preserve-3d; + } + to { + transform: rotateY(-180deg); + transform-origin: right center; + transform-style: preserve-3d; + } +} +@keyframes FlipRightUpIn { + from { + transform: perspective(400px) rotateY(135deg); + transform-origin: right center; + transform-style: preserve-3d; + } + to { + transform: rotateY(0deg); + transform-origin: right center; + transform-style: preserve-3d; + } +} +@keyframes FlipRightUpOut { + from { + transform: perspective(400px) rotateY(0deg); + transform-origin: right center; + transform-style: preserve-3d; + } + to { + transform: rotateY(135deg); + transform-origin: right center; + transform-style: preserve-3d; + } +} +@keyframes FlipLeftDownIn { + from { + transform: perspective(400px) rotateY(-180deg); + transform-origin: left center; + transform-style: preserve-3d; + } + to { + transform: rotateY(0deg); + transform-origin: left center; + transform-style: preserve-3d; + } +} +@keyframes FlipLeftDownOut { + from { + transform: perspective(400px) rotateY(0deg); + transform-origin: left center; + transform-style: preserve-3d; + } + to { + transform: rotateY(135deg); + transform-origin: left center; + transform-style: preserve-3d; + } +} +@keyframes FlipLeftUpIn { + from { + transform: perspective(400px) rotateY(-135deg); + transform-origin: left center; + transform-style: preserve-3d; + } + to { + transform: rotateY(0deg); + transform-origin: left center; + transform-style: preserve-3d; + } +} +@keyframes FlipLeftUpOut { + from { + transform: perspective(400px) rotateY(0deg); + transform-origin: left center; + transform-style: preserve-3d; + } + to { + transform: rotateY(135deg) perspective(200px); + transform-origin: left center; + transform-style: preserve-3d; + } +} +@keyframes FlipYLeftIn { + from { + opacity: 0; + transform: perspective(400px) rotateY(180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + 50% { + transform: perspective(700px) rotateY(90deg); + } + to { + opacity: 1; + transform: rotateY(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } +} +@keyframes FlipYLeftOut { + from { + opacity: 1; + transform: perspective(400px) rotateY(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + 50% { + transform: perspective(700px) rotateY(90deg); + } + 75% { + transform: perspective(850px) rotateY(125deg); + } + to { + opacity: 0; + transform: rotateY(180deg); + transform-origin: center center; + transform-style: preserve-3d; + } +} +@keyframes FlipYRightIn { + from { + opacity: 0; + transform: perspective(400px) rotateY(-180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + 50% { + transform: perspective(700px) rotateY(-90deg); + } + to { + opacity: 1; + transform: rotateY(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } +} +@keyframes FlipYRightOut { + from { + opacity: 1; + transform: perspective(400px) rotateY(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + 50% { + transform: perspective(700px) rotateY(-90deg); + } + to { + opacity: 0; + transform: rotateY(-180deg); + transform-origin: center center; + transform-style: preserve-3d; + } +} +@keyframes FlipXDownIn { + from { + opacity: 0; + transform: perspective(400px) rotateX(180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + 50% { + transform: perspective(700px) rotateX(90deg); + } + to { + opacity: 1; + transform: rotateX(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } +} +@keyframes FlipXDownOut { + from { + opacity: 1; + transform: perspective(400px) rotateX(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + 50% { + transform: perspective(700px) rotateX(90deg); + } + 75% { + transform: perspective(850px) rotateX(125deg); + } + to { + opacity: 0; + transform: rotateX(180deg); + transform-origin: center center; + transform-style: preserve-3d; + } +} +@keyframes FlipXUpIn { + from { + opacity: 0; + transform: perspective(400px) rotateX(-180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + 50% { + transform: perspective(700px) rotateX(-90deg); + } + to { + opacity: 1; + transform: rotateX(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } +} +@keyframes FlipXUpOut { + from { + opacity: 1; + transform: perspective(400px) rotateX(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + 50% { + transform: perspective(700px) rotateX(-90deg); + } + to { + opacity: 0; + transform: rotateX(-180deg); + transform-origin: center center; + transform-style: preserve-3d; + } +} +.e-btn, +.e-css.e-btn { + /* stylelint-disable property-no-vendor-prefix */ + -webkit-font-smoothing: antialiased; + border: 1px solid; + border-radius: 4px; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: var(--e-font-family); + font-size: 14px; + font-weight: 600; + justify-content: center; + line-height: 20px; + outline: none; + padding: 5px 12px; + text-align: center; + text-decoration: none; + text-transform: none; + user-select: none; + vertical-align: middle; + white-space: nowrap; +} +.e-btn:disabled, +.e-css.e-btn:disabled { + cursor: default; +} + +.e-btn:hover, .e-btn:focus, +.e-css.e-btn:hover, +.e-css.e-btn:focus { + text-decoration: none; +} + +.e-btn::-moz-focus-inner, +.e-css.e-btn::-moz-focus-inner { + border: 0; + padding: 0; +} + +.e-btn .e-btn-icon, +.e-css.e-btn .e-btn-icon { + display: inline-block; + font-size: 14px; + margin-top: -2px; + vertical-align: middle; + width: 1em; +} +.e-btn .e-btn-icon.e-icon-left, +.e-css.e-btn .e-btn-icon.e-icon-left { + margin-left: -0.5em; + width: 2em; +} +.e-btn .e-btn-icon.e-icon-right, +.e-css.e-btn .e-btn-icon.e-icon-right { + width: 2em; + margin-right: -0.5em; +} +.e-btn .e-btn-icon.e-icon-top, +.e-css.e-btn .e-btn-icon.e-icon-top { + padding-bottom: 8px; + display: block; + margin-top: 0; + width: auto; +} +.e-btn .e-btn-icon.e-icon-bottom, +.e-css.e-btn .e-btn-icon.e-icon-bottom { + padding-top: 8px; + display: block; + margin-top: 0; + width: auto; +} + +.e-btn.e-icon-btn, +.e-css.e-btn.e-icon-btn { + line-height: 14px; +} + +.e-btn.e-top-icon-btn, .e-btn.e-bottom-icon-btn, +.e-css.e-btn.e-top-icon-btn, +.e-css.e-btn.e-bottom-icon-btn { + line-height: 1; + padding: 12px 12px; +} + +.e-btn.e-round, +.e-css.e-btn.e-round { + border-radius: 999px; + height: 32px; + line-height: 1; + padding: 0; + width: 32px; +} +.e-btn.e-round .e-btn-icon, +.e-css.e-btn.e-round .e-btn-icon { + font-size: 14px; + line-height: 14px; + margin-top: 0; + width: auto; +} + +.e-btn.e-flat, +.e-css.e-btn.e-flat { + border: 1px solid; +} + +.e-btn.e-small, +.e-css.e-btn.e-small { + font-size: 12px; + line-height: 16px; + padding: 3.2px 8px; +} + +.e-btn.e-block, +.e-css.e-btn.e-block { + display: block; + width: 100%; +} + +/* stylelint-disable property-no-vendor-prefix */ +.e-btn, +.e-css.e-btn { + -webkit-tap-highlight-color: transparent; + background: var(--color-sf-secondary-bg-color); + border-color: var(--color-sf-secondary-border-color); + box-shadow: none; + color: var(--color-sf-secondary-text-color); + transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); +} +.e-btn:hover, +.e-css.e-btn:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-text-color-hover); +} + +.e-btn:focus, +.e-css.e-btn:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + color: var(--color-sf-secondary-text-color-selected); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; + box-shadow: none; +} + +.e-btn:focus-visible, +.e-css.e-btn:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn:active, +.e-css.e-btn:active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + color: var(--color-sf-secondary-text-color-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; +} + +.e-btn.e-active, +.e-css.e-btn.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + background: var(--color-sf-secondary-bg-color-selected); /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-selected); /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-secondary-text-color-selected); /* stylelint-disable-line declaration-no-important */ +} + +.e-btn:disabled, .e-btn.e-disabled, +.e-css.e-btn:disabled, +.e-css.e-btn.e-disabled { + background: var(--color-sf-secondary-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} + +.e-btn.e-disabled, +.e-css.e-btn.e-disabled { + opacity: 1; +} + +.e-btn.e-round, .e-btn.e-round-edge, +.e-css.e-btn.e-round, +.e-css.e-btn.e-round-edge { + background: var(--color-sf-secondary-bg-color); + border-color: var(--color-sf-secondary-border-color); + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-round:hover, .e-btn.e-round-edge:hover, +.e-css.e-btn.e-round:hover, +.e-css.e-btn.e-round-edge:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + color: var(--color-sf-secondary-text-color-hover); +} +.e-btn.e-round:focus, .e-btn.e-round-edge:focus, +.e-css.e-btn.e-round:focus, +.e-css.e-btn.e-round-edge:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + box-shadow: none; + color: var(--color-sf-secondary-text-color-selected); + outline: #fff 0 solid; + outline-offset: 0; +} +.e-btn.e-round:focus-visible, .e-btn.e-round-edge:focus-visible, +.e-css.e-btn.e-round:focus-visible, +.e-css.e-btn.e-round-edge:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round:active, .e-btn.e-round-edge:active, +.e-css.e-btn.e-round:active, +.e-css.e-btn.e-round-edge:active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + outline-offset: 0; +} +.e-btn.e-round:disabled, .e-btn.e-round.e-disabled, .e-btn.e-round-edge:disabled, .e-btn.e-round-edge.e-disabled, +.e-css.e-btn.e-round:disabled, +.e-css.e-btn.e-round.e-disabled, +.e-css.e-btn.e-round-edge:disabled, +.e-css.e-btn.e-round-edge.e-disabled { + background: var(--color-sf-secondary-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-round.e-primary:focus, .e-btn.e-round-edge.e-primary:focus, +.e-css.e-btn.e-round.e-primary:focus, +.e-css.e-btn.e-round-edge.e-primary:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-primary:focus-visible, .e-btn.e-round-edge.e-primary:focus-visible, +.e-css.e-btn.e-round.e-primary:focus-visible, +.e-css.e-btn.e-round-edge.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round.e-success:focus, .e-btn.e-round-edge.e-success:focus, +.e-css.e-btn.e-round.e-success:focus, +.e-css.e-btn.e-round-edge.e-success:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-success:focus-visible, .e-btn.e-round-edge.e-success:focus-visible, +.e-css.e-btn.e-round.e-success:focus-visible, +.e-css.e-btn.e-round-edge.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-round.e-info:focus, .e-btn.e-round-edge.e-info:focus, +.e-css.e-btn.e-round.e-info:focus, +.e-css.e-btn.e-round-edge.e-info:focus { + outline: #fff 0 solid; +} +.e-btn.e-round.e-info:focus-visible, .e-btn.e-round-edge.e-info:focus-visible, +.e-css.e-btn.e-round.e-info:focus-visible, +.e-css.e-btn.e-round-edge.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-warning:focus, +.e-css.e-btn.e-warning:focus { + outline: #fff 0 solid; +} +.e-btn.e-warning:focus-visible, +.e-css.e-btn.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-danger:focus, +.e-css.e-btn.e-danger:focus { + outline: #fff 0 solid; +} +.e-btn.e-danger:focus-visible, +.e-css.e-btn.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} + +.e-btn.e-primary, +.e-css.e-btn.e-primary { + background: var(--color-sf-primary-bg-color); + border-color: var(--color-sf-primary-border-color); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-primary:hover, +.e-css.e-btn.e-primary:hover { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + box-shadow: none; + color: var(--color-sf-primary-text-hover); +} +.e-btn.e-primary:focus, +.e-css.e-btn.e-primary:focus { + background: var(--color-sf-primary-bg-color-selected); + border-color: var(--color-sf-primary-border-color-selected); + color: var(--color-sf-primary-text-selected); + outline: var(--color-sf-secondary-bg-color) 0 solid; + box-shadow: none; +} +.e-btn.e-primary:focus-visible, +.e-css.e-btn.e-primary:focus-visible { + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + border-color: var(--color-sf-shadow-color); + background-color: var(--color-sf-primary-bg-color-focus); +} +.e-btn.e-primary:active, +.e-css.e-btn.e-primary:active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + color: var(--color-sf-primary-text-pressed); + outline: var(--color-sf-secondary-bg-color) 0 solid; + box-shadow: none; +} +.e-btn.e-primary.e-active, +.e-css.e-btn.e-primary.e-active { + background: var(--color-sf-primary-bg-color-selected); + border-color: var(--color-sf-primary-border-color-selected); + box-shadow: none; + color: var(--color-sf-primary-text-selected); +} +.e-btn.e-primary:disabled, .e-btn.e-primary.e-disabled, +.e-css.e-btn.e-primary:disabled, +.e-css.e-btn.e-primary.e-disabled { + background: var(--color-sf-primary-bg-color-disabled); + border-color: var(--color-sf-primary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-success, +.e-css.e-btn.e-success { + background: var(--color-sf-success-bg-color); + border-color: var(--color-sf-success-border-color); + color: var(--color-sf-success-text); +} +.e-btn.e-success:hover, +.e-css.e-btn.e-success:hover { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + box-shadow: none; + color: var(--color-sf-success-text-hover); +} +.e-btn.e-success:focus, +.e-css.e-btn.e-success:focus { + background: var(--color-sf-success-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-success-text-hover); + box-shadow: none; +} +.e-btn.e-success:focus-visible, +.e-css.e-btn.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-success-bg-color-focus); + color: var(--color-sf-success-text-focus); +} +.e-btn.e-success:active, .e-btn.e-success.e-active, +.e-css.e-btn.e-success:active, +.e-css.e-btn.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + color: var(--color-sf-success-text); + box-shadow: none; +} +.e-btn.e-success.e-active, +.e-css.e-btn.e-success.e-active { + background: var(--color-sf-success-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-success-text-pressed); +} +.e-btn.e-success:disabled, .e-btn.e-success.e-disabled, +.e-css.e-btn.e-success:disabled, +.e-css.e-btn.e-success.e-disabled { + background: var(--color-sf-success-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-success-text-disabled); +} +.e-btn.e-info, +.e-css.e-btn.e-info { + background: var(--color-sf-info-bg-color); + border-color: var(--color-sf-info-border-color); + color: var(--color-sf-info-text); +} +.e-btn.e-info:hover, +.e-css.e-btn.e-info:hover { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-hover); +} +.e-btn.e-info:focus, +.e-css.e-btn.e-info:focus { + background: var(--color-sf-info-bg-color-selected); + border-color: var(--color-sf-info-border-color-selected); + color: var(--color-sf-info-text-hover); + box-shadow: none; +} +.e-btn.e-info:focus-visible, +.e-css.e-btn.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-info-bg-color-focus); +} +.e-btn.e-info:active, .e-btn.e-info.e-active, +.e-css.e-btn.e-info:active, +.e-css.e-btn.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + color: var(--color-sf-info-text-pressed); + box-shadow: none; +} +.e-btn.e-info.e-active, +.e-css.e-btn.e-info.e-active { + background: var(--color-sf-info-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-info-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-info:disabled, .e-btn.e-info.e-disabled, +.e-css.e-btn.e-info:disabled, +.e-css.e-btn.e-info.e-disabled { + background: var(--color-sf-info-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-info-text-disabled); +} +.e-btn.e-warning, +.e-css.e-btn.e-warning { + background: var(--color-sf-warning-bg-color); + border-color: var(--color-sf-warning-border-color); + color: var(--color-sf-warning-text); +} +.e-btn.e-warning:hover, +.e-css.e-btn.e-warning:hover { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + box-shadow: none; + color: var(--color-sf-warning-text-hover); +} +.e-btn.e-warning:focus, +.e-css.e-btn.e-warning:focus { + background: var(--color-sf-warning-bg-color-selected); + border-color: var(--color-sf-warning-border-color-selected); + color: var(--color-sf-warning-text-hover); + box-shadow: none; +} +.e-btn.e-warning:focus-visible, +.e-css.e-btn.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-warning-bg-color-focus); +} +.e-btn.e-warning:active, .e-btn.e-warning.e-active, +.e-css.e-btn.e-warning:active, +.e-css.e-btn.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + color: var(--color-sf-warning-text-pressed); + box-shadow: none; +} +.e-btn.e-warning.e-active, +.e-css.e-btn.e-warning.e-active { + background: var(--color-sf-warning-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-warning-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-warning:disabled, .e-btn.e-warning.e-disabled, +.e-css.e-btn.e-warning:disabled, +.e-css.e-btn.e-warning.e-disabled { + background: var(--color-sf-warning-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-danger, +.e-css.e-btn.e-danger { + background: var(--color-sf-danger-bg-color); + border-color: var(--color-sf-danger-border-color); + color: var(--color-sf-danger-text); +} +.e-btn.e-danger:hover, +.e-css.e-btn.e-danger:hover { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + box-shadow: none; + color: var(--color-sf-danger-text-hover); +} +.e-btn.e-danger:focus, +.e-css.e-btn.e-danger:focus { + background: var(--color-sf-danger-bg-color-selected); + border-color: var(--color-sf-success-border-color-selected); + color: var(--color-sf-danger-text-hover); + box-shadow: none; +} +.e-btn.e-danger:focus-visible, +.e-css.e-btn.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-danger-bg-color-focus); + color: var(--color-sf-danger-text-focus); +} +.e-btn.e-danger:active, +.e-css.e-btn.e-danger:active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + color: var(--color-sf-danger-text-pressed); + box-shadow: none; +} +.e-btn.e-danger.e-active, +.e-css.e-btn.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + box-shadow: none; + color: var(--color-sf-danger-text-pressed); + background: var(--color-sf-danger-bg-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-danger-text-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-danger:disabled, .e-btn.e-danger.e-disabled, +.e-css.e-btn.e-danger:disabled, +.e-css.e-btn.e-danger.e-disabled { + background: var(--color-sf-danger-bg-color-disabled); + border-color: var(--color-sf-secondary-border-color-disabled); + box-shadow: none; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-flat, +.e-css.e-btn.e-flat { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-flat:hover, +.e-css.e-btn.e-flat:hover { + background: var(--color-sf-secondary-bg-color-hover); + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-text-color-hover); +} +.e-btn.e-flat:focus, +.e-css.e-btn.e-flat:focus { + background: var(--color-sf-secondary-bg-color-selected); + border-color: var(--color-sf-secondary-border-color-selected); + color: var(--color-sf-secondary-text-color-selected); + box-shadow: none; +} +.e-btn.e-flat:focus-visible, +.e-css.e-btn.e-flat:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-flat:active, .e-btn.e-flat.e-active, +.e-css.e-btn.e-flat:active, +.e-css.e-btn.e-flat.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + color: var(--color-sf-secondary-text-color-pressed); + box-shadow: none; +} +.e-btn.e-flat:disabled, .e-btn.e-flat.e-disabled, +.e-css.e-btn.e-flat:disabled, +.e-css.e-btn.e-flat.e-disabled { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-secondary-text-color-disabled); +} +.e-btn.e-flat.e-primary, +.e-css.e-btn.e-flat.e-primary { + background: transparent; + border-color: transparent; + color: var(--color-sf-primary-bg-color); +} +.e-btn.e-flat.e-primary:hover, +.e-css.e-btn.e-flat.e-primary:hover { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-flat.e-primary:focus, +.e-css.e-btn.e-flat.e-primary:focus { + background: var(--color-sf-primary-bg-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-text-selected); +} +.e-btn.e-flat.e-primary:focus-visible, +.e-css.e-btn.e-flat.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-primary-bg-color-focus); +} +.e-btn.e-flat.e-primary:active, .e-btn.e-flat.e-primary.e-active, +.e-css.e-btn.e-flat.e-primary:active, +.e-css.e-btn.e-flat.e-primary.e-active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + color: var(--color-sf-primary-text-color); +} +.e-btn.e-flat.e-primary:disabled, .e-btn.e-flat.e-primary.e-disabled, +.e-css.e-btn.e-flat.e-primary:disabled, +.e-css.e-btn.e-flat.e-primary.e-disabled { + background: transparent; + border-color: transparent; + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-btn.e-flat.e-success, +.e-css.e-btn.e-flat.e-success { + background: transparent; + border-color: transparent; + color: var(--color-sf-success-bg-color); +} +.e-btn.e-flat.e-success:hover, +.e-css.e-btn.e-flat.e-success:hover { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + box-shadow: none; + color: var(--color-sf-success-text-hover); +} +.e-btn.e-flat.e-success:focus, +.e-css.e-btn.e-flat.e-success:focus { + background: var(--color-sf-success-bg-color-hover); + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-success:focus-visible, +.e-css.e-btn.e-flat.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-success-bg-color-focus); + color: var(--color-sf-success-text-focus); +} +.e-btn.e-flat.e-success:active, .e-btn.e-flat.e-success.e-active, +.e-css.e-btn.e-flat.e-success:active, +.e-css.e-btn.e-flat.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + color: var(--color-sf-success-text); + box-shadow: none; +} +.e-btn.e-flat.e-success:disabled, .e-btn.e-flat.e-success.e-disabled, +.e-css.e-btn.e-flat.e-success:disabled, +.e-css.e-btn.e-flat.e-success.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-success-text-disabled); +} +.e-btn.e-flat.e-info, +.e-css.e-btn.e-flat.e-info { + background: transparent; + border-color: transparent; + color: var(--color-sf-info-bg-color); +} +.e-btn.e-flat.e-info:hover, +.e-css.e-btn.e-flat.e-info:hover { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-hover); +} +.e-btn.e-flat.e-info:focus, +.e-css.e-btn.e-flat.e-info:focus { + background: var(--color-sf-info-bg-color-hover); + border-color: var(--color-sf-info-border-color-hover); + box-shadow: none; + color: var(--color-sf-info-text-selected); +} +.e-btn.e-flat.e-info:focus-visible, +.e-css.e-btn.e-flat.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-info-bg-color-focus); + color: var(--color-sf-info-text-selected); +} +.e-btn.e-flat.e-info:active, .e-btn.e-flat.e-info.e-active, +.e-css.e-btn.e-flat.e-info:active, +.e-css.e-btn.e-flat.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + color: var(--color-sf-info-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-info:disabled, .e-btn.e-flat.e-info.e-disabled, +.e-css.e-btn.e-flat.e-info:disabled, +.e-css.e-btn.e-flat.e-info.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-info-text-disabled); +} +.e-btn.e-flat.e-warning, +.e-css.e-btn.e-flat.e-warning { + background: transparent; + border-color: transparent; + color: var(--color-sf-warning-bg-color); +} +.e-btn.e-flat.e-warning:hover, +.e-css.e-btn.e-flat.e-warning:hover { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + box-shadow: none; + color: var(--color-sf-warning-text-hover); +} +.e-btn.e-flat.e-warning:focus, +.e-css.e-btn.e-flat.e-warning:focus { + background: var(--color-sf-warning-bg-color-hover); + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-warning:focus-visible, +.e-css.e-btn.e-flat.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-warning-bg-color-focus); +} +.e-btn.e-flat.e-warning:active, .e-btn.e-flat.e-warning.e-active, +.e-css.e-btn.e-flat.e-warning:active, +.e-css.e-btn.e-flat.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + color: var(--color-sf-warning-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-warning:disabled, .e-btn.e-flat.e-warning.e-disabled, +.e-css.e-btn.e-flat.e-warning:disabled, +.e-css.e-btn.e-flat.e-warning.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-warning-text-disabled); +} +.e-btn.e-flat.e-danger, +.e-css.e-btn.e-flat.e-danger { + background: transparent; + border-color: transparent; + color: var(--color-sf-danger-bg-color); +} +.e-btn.e-flat.e-danger:hover, +.e-css.e-btn.e-flat.e-danger:hover { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + box-shadow: none; + color: var(--color-sf-danger-text-hover); +} +.e-btn.e-flat.e-danger:focus, +.e-css.e-btn.e-flat.e-danger:focus { + background: var(--color-sf-danger-bg-color-hover); + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-text-selected); + box-shadow: none; +} +.e-btn.e-flat.e-danger:focus-visible, +.e-css.e-btn.e-flat.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + background-color: var(--color-sf-danger-bg-color-focus); + color: var(--color-sf-danger-text-focus); +} +.e-btn.e-flat.e-danger:active, .e-btn.e-flat.e-danger.e-active, +.e-css.e-btn.e-flat.e-danger:active, +.e-css.e-btn.e-flat.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + color: var(--color-sf-danger-text-pressed); + box-shadow: none; +} +.e-btn.e-flat.e-danger:disabled, .e-btn.e-flat.e-danger.e-disabled, +.e-css.e-btn.e-flat.e-danger:disabled, +.e-css.e-btn.e-flat.e-danger.e-disabled { + background: transparent; + border-color: transparent; + color: var(--color-sf-danger-text-disabled); +} +.e-btn.e-outline, +.e-css.e-btn.e-outline { + background: transparent; + border-color: var(--color-sf-secondary-border-color); + box-shadow: none; + color: var(--color-sf-secondary-text-color); +} +.e-btn.e-outline:hover, +.e-css.e-btn.e-outline:hover { + background: transparent; + border-color: var(--color-sf-secondary-border-color-hover); + box-shadow: none; + color: var(--color-sf-secondary-outline-button-text-color-hover); +} +.e-btn.e-outline:focus, +.e-css.e-btn.e-outline:focus { + color: var(--color-sf-secondary-outline-button-text-color-hover); +} +.e-btn.e-outline:focus:not(:focus-visible), +.e-css.e-btn.e-outline:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-secondary-border-color-hover); + color: var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline:focus-visible, +.e-css.e-btn.e-outline:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline:active, .e-btn.e-outline.e-active, +.e-css.e-btn.e-outline:active, +.e-css.e-btn.e-outline.e-active { + background: var(--color-sf-secondary-bg-color-pressed); + border-color: var(--color-sf-secondary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-secondary-text-color-pressed); + background: transparent; + color: var(--color-sf-secondary-outline-button-text-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline.e-active, +.e-css.e-btn.e-outline.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-secondary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-secondary-outline-button-text-color-pressed); +} +.e-btn.e-outline:disabled, .e-btn.e-outline.e-disabled, +.e-css.e-btn.e-outline:disabled, +.e-css.e-btn.e-outline.e-disabled { + background: transparent; + border-color: var(--color-sf-secondary-border-color-disabled); + color: var(--color-sf-secondary-text-color-disabled); + background: var(--color-sf-secondary-bg-color-disabled) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-primary, +.e-css.e-btn.e-outline.e-primary { + background: transparent; + border-color: var(--color-sf-primary-bg-color); + color: var(--color-sf-primary-bg-color); +} +.e-btn.e-outline.e-primary:hover, +.e-css.e-btn.e-outline.e-primary:hover { + background: transparent; + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-bg-color-hover); +} +.e-btn.e-outline.e-primary:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-primary:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-border-color-hover); +} +.e-btn.e-outline.e-primary:focus-visible, +.e-css.e-btn.e-outline.e-primary:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-primary:active, .e-btn.e-outline.e-primary.e-active, +.e-css.e-btn.e-outline.e-primary:active, +.e-css.e-btn.e-outline.e-primary.e-active { + background: var(--color-sf-primary-bg-color-pressed); + border-color: var(--color-sf-primary-border-color-pressed); + box-shadow: none; + color: var(--color-sf-primary-text-pressed); + background: transparent; + color: var(--color-sf-primary-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-primary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-primary-bg-color-pressed); +} +.e-btn.e-outline.e-primary.e-active, +.e-css.e-btn.e-outline.e-primary.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + color: var(--color-sf-primary-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-primary-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-primary:disabled, .e-btn.e-outline.e-primary.e-disabled, +.e-css.e-btn.e-outline.e-primary:disabled, +.e-css.e-btn.e-outline.e-primary.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-primary), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-primary), 0.65); +} +.e-btn.e-outline.e-success, +.e-css.e-btn.e-outline.e-success { + background: transparent; + border-color: var(--color-sf-success-bg-color); + color: var(--color-sf-success-bg-color); +} +.e-btn.e-outline.e-success:hover, +.e-css.e-btn.e-outline.e-success:hover { + background: transparent; + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-bg-color-hover); +} +.e-btn.e-outline.e-success:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-success:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-success-border-color-hover); + color: var(--color-sf-success-border-color-hover); +} +.e-btn.e-outline.e-success:focus-visible, +.e-css.e-btn.e-outline.e-success:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-success:active, .e-btn.e-outline.e-success.e-active, +.e-css.e-btn.e-outline.e-success:active, +.e-css.e-btn.e-outline.e-success.e-active { + background: var(--color-sf-success-bg-color-pressed); + border-color: var(--color-sf-success-border-color-pressed); + box-shadow: none; + color: var(--color-sf-success-text); + background: transparent; + color: var(--color-sf-success-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-success-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-success-bg-color-pressed); +} +.e-btn.e-outline.e-success.e-active, +.e-css.e-btn.e-outline.e-success.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-success-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-success:disabled, .e-btn.e-outline.e-success.e-disabled, +.e-css.e-btn.e-outline.e-success:disabled, +.e-css.e-btn.e-outline.e-success.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-success-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-success), 0.65); +} +.e-btn.e-outline.e-info, +.e-css.e-btn.e-outline.e-info { + background: transparent; + border-color: var(--color-sf-info-bg-color); + color: var(--color-sf-info-bg-color); +} +.e-btn.e-outline.e-info:hover, +.e-css.e-btn.e-outline.e-info:hover { + background: transparent; + border-color: var(--color-sf-info-border-color-hover); + color: var(--color-sf-info-bg-color-hover); +} +.e-btn.e-outline.e-info:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-info:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-info-bg-color-hover); + color: var(--color-sf-info-bg-color-hover); +} +.e-btn.e-outline.e-info:focus-visible, +.e-css.e-btn.e-outline.e-info:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-info:active, .e-btn.e-outline.e-info.e-active, +.e-css.e-btn.e-outline.e-info:active, +.e-css.e-btn.e-outline.e-info.e-active { + background: var(--color-sf-info-bg-color-pressed); + border-color: var(--color-sf-info-border-color-pressed); + box-shadow: none; + color: var(--color-sf-info-text-pressed); + background: transparent; + color: var(--color-sf-info-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-info-bg-color-pressed); +} +.e-btn.e-outline.e-info.e-active, +.e-css.e-btn.e-outline.e-info.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-info-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-info:disabled, .e-btn.e-outline.e-info.e-disabled, +.e-css.e-btn.e-outline.e-info:disabled, +.e-css.e-btn.e-outline.e-info.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-info-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-info), 0.65); +} +.e-btn.e-outline.e-warning, +.e-css.e-btn.e-outline.e-warning { + background: transparent; + border-color: var(--color-sf-warning-bg-color); + color: var(--color-sf-warning-bg-color); +} +.e-btn.e-outline.e-warning:hover, +.e-css.e-btn.e-outline.e-warning:hover { + background: transparent; + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-bg-color-hover); +} +.e-btn.e-outline.e-warning, +.e-css.e-btn.e-outline.e-warning { + /* &:focus { + @include outline-warning-focus; + }*/ +} +.e-btn.e-outline.e-warning:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-warning:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-warning-border-color-hover); + color: var(--color-sf-warning-border-color-hover); +} +.e-btn.e-outline.e-warning:focus-visible, +.e-css.e-btn.e-outline.e-warning:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-warning:active, .e-btn.e-outline.e-warning.e-active, +.e-css.e-btn.e-outline.e-warning:active, +.e-css.e-btn.e-outline.e-warning.e-active { + background: var(--color-sf-warning-bg-color-pressed); + border-color: var(--color-sf-warning-border-color-pressed); + box-shadow: none; + color: var(--color-sf-warning-text-pressed); + background: transparent; + color: var(--color-sf-warning-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-warning-bg-color-pressed); +} +.e-btn.e-outline.e-warning.e-active, +.e-css.e-btn.e-outline.e-warning.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-warning-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-warning:disabled, .e-btn.e-outline.e-warning.e-disabled, +.e-css.e-btn.e-outline.e-warning:disabled, +.e-css.e-btn.e-outline.e-warning.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-warning-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-warning), 0.65); +} +.e-btn.e-outline.e-danger, +.e-css.e-btn.e-outline.e-danger { + background: transparent; + border-color: var(--color-sf-danger-bg-color); + color: var(--color-sf-danger-bg-color); +} +.e-btn.e-outline.e-danger:hover, +.e-css.e-btn.e-outline.e-danger:hover { + background: transparent; + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-bg-color-hover); +} +.e-btn.e-outline.e-danger:focus:not(:focus-visible), +.e-css.e-btn.e-outline.e-danger:focus:not(:focus-visible) { + background: transparent; + border-color: var(--color-sf-danger-border-color-hover); + color: var(--color-sf-danger-border-color-hover); +} +.e-btn.e-outline.e-danger:focus-visible, +.e-css.e-btn.e-outline.e-danger:focus-visible { + border-color: var(--color-sf-shadow-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-btn.e-outline.e-danger:active, .e-btn.e-outline.e-danger.e-active, +.e-css.e-btn.e-outline.e-danger:active, +.e-css.e-btn.e-outline.e-danger.e-active { + background: var(--color-sf-danger-bg-color-pressed); + border-color: var(--color-sf-danger-border-color-pressed); + box-shadow: none; + color: var(--color-sf-danger-text-pressed); + background: transparent; + color: var(--color-sf-danger-bg-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-pressed) !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid var(--color-sf-danger-bg-color-pressed); +} +.e-btn.e-outline.e-danger.e-active, +.e-css.e-btn.e-outline.e-danger.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: var(--color-sf-danger-border-color-selected) !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-outline.e-danger:disabled, .e-btn.e-outline.e-danger.e-disabled, +.e-css.e-btn.e-outline.e-danger:disabled, +.e-css.e-btn.e-outline.e-danger.e-disabled { + background: transparent; + border-color: rgba(var(--color-sf-danger-bg-color), 0.65); + box-shadow: none; + color: rgba(var(--color-sf-danger), 0.65); +} +.e-btn.e-link, +.e-css.e-btn.e-link { + background: transparent; + border-color: transparent; + border-radius: 0; + box-shadow: none; + color: var(--color-sf-link-button); +} +.e-btn.e-link:hover, +.e-css.e-btn.e-link:hover { + border-radius: 0; + color: var(--color-sf-primary-bg-color-hover); + text-decoration: underline; +} +.e-btn.e-link:focus, +.e-css.e-btn.e-link:focus { + border-radius: 0; + text-decoration: underline; + color: var(--color-sf-primary-bg-color-hover); +} +.e-btn.e-link:focus:not(:focus-visible), +.e-css.e-btn.e-link:focus:not(:focus-visible) { + outline: none !important; /* stylelint-disable-line declaration-no-important */ +} +.e-btn.e-link:focus-visible, +.e-css.e-btn.e-link:focus-visible { + text-decoration-color: var(--color-sf-content-text-color) !important; /* stylelint-disable-line declaration-no-important */ + text-decoration: underline; + text-decoration-style: double; +} +.e-btn.e-link:active, .e-btn.e-link:disabled, +.e-css.e-btn.e-link:active, +.e-css.e-btn.e-link:disabled { + color: var(--color-sf-primary-text-disabled); + background: transparent; + box-shadow: none; + text-decoration: none; +} +.e-btn.e-inherit, +.e-css.e-btn.e-inherit { + color: inherit; + background: inherit; + border-color: transparent; + box-shadow: none; +} +.e-btn.e-inherit:hover, .e-btn.e-inherit:focus, .e-btn.e-inherit:active, .e-btn.e-inherit.e-active, +.e-css.e-btn.e-inherit:hover, +.e-css.e-btn.e-inherit:focus, +.e-css.e-btn.e-inherit:active, +.e-css.e-btn.e-inherit.e-active { + background: rgba(0, 0, 0, 0.056); + border-color: transparent; + box-shadow: none; + color: inherit; + outline: none; +} +.e-btn.e-inherit:disabled, +.e-css.e-btn.e-inherit:disabled { + background: inherit; + color: inherit; + border-color: transparent; + box-shadow: none; + opacity: 0.5; +} + +/*! calendar theme variables */ +/*! calendar layout */ +ejs-calendar { + display: block; +} + +.e-calendar.e-disabled .e-header .e-prev, .e-calendar.e-disabled .e-header .e-next { + cursor: default; + pointer-events: none; + touch-action: none; +} +.e-calendar.e-disabled .e-header .e-title { + cursor: default; + pointer-events: none; + touch-action: none; +} +.e-calendar.e-disabled .e-content td { + pointer-events: none; + touch-action: none; +} +.e-calendar.e-disabled .e-btn.e-today { + pointer-events: none; + touch-action: none; +} + +.e-calendar { + /* stylelint-disable property-no-vendor-prefix */ + -webkit-tap-highlight-color: transparent; + border-radius: calc(var(--e-radius) * 0.125); + display: block; + overflow: auto; + user-select: none; +} +.e-calendar.e-rtl .e-header .e-title { + float: right; + text-align: right; +} +.e-calendar.e-rtl .e-header .e-icon-container { + float: left; +} +.e-calendar .e-header { + background: none; + display: table; + font-weight: 400; + position: relative; + text-align: center; + width: 100%; +} +.e-calendar .e-header button { + background: transparent; + border: 0; + margin-right: 0; + padding: 0; + text-decoration: none; +} +.e-calendar .e-header span { + cursor: pointer; + display: inline-block; + font-size: 12px; + font-weight: 400; + line-height: 16px; + padding: 0; + vertical-align: middle; +} +.e-calendar .e-header span.e-disabled { + cursor: default; +} +.e-calendar .e-week-header { + padding: 0 0 6px; +} +.e-calendar th { + cursor: default; + font-size: 12px; + font-weight: normal; + text-align: center; +} +.e-calendar .e-content .e-selected, .e-calendar .e-content .e-state-hover { + border-radius: calc(var(--e-radius) * 0); +} +.e-calendar .e-content span.e-day { + border-radius: calc(var(--e-radius) * 0); + cursor: pointer; + display: inline-block; + font-size: 12px; + overflow: hidden; + padding: 0; + text-align: center; + text-decoration: none; + vertical-align: middle; +} +.e-calendar .e-content th, .e-calendar .e-content td { + box-sizing: border-box; +} +.e-calendar .e-content td.e-disabled { + opacity: 1; + pointer-events: none; + touch-action: none; +} +.e-calendar .e-content td.e-disabled.e-today { + opacity: 1; +} +.e-calendar .e-content td.e-disabled.e-today span.e-day { + box-shadow: none; + color: var(--color-sf-primary-text-disabled); +} +.e-calendar .e-content td { + cursor: pointer; + padding: 0; + text-align: center; +} +.e-calendar .e-content td.e-week-number { + color: var(--color-sf-content-text-color-alt1); + font-size: 14px; + font-style: italic; + font-weight: 500; + border-right: 1px solid var(--color-sf-border); +} +.e-calendar .e-content td.e-overlay { + background: none; + width: initial; +} +.e-calendar .e-content td:hover { + border-radius: calc(var(--e-radius) * 0.125); + background: var(--color-sf-primary-lighter); +} +.e-calendar .e-content table { + border-collapse: separate; + border-spacing: 0; + border-width: 0; + float: left; + margin: 0; + outline: 0; + padding: 0 8px 8px 8px; + table-layout: fixed; + width: 100%; +} +.e-calendar .e-content td.e-other-month > span.e-day, .e-calendar .e-content td.e-other-year > span.e-day { + display: inline-block; + font-weight: 400; +} +.e-calendar .e-content tr.e-month-hide { + display: none; + font-weight: 400; +} +.e-calendar .e-content tr.e-month-hide, .e-calendar .e-content td.e-other-month, .e-calendar .e-content td.e-other-year { + pointer-events: initial; + touch-action: initial; +} +.e-calendar .e-content tr.e-month-hide, .e-calendar .e-content td.e-other-month.e-disabled, .e-calendar .e-content td.e-other-year.e-disabled { + pointer-events: none; + touch-action: none; +} +.e-calendar .e-content td.e-week-number:hover span.e-day, .e-calendar .e-content td.e-week-number:hover { + background: var(--color-sf-flyout-bg-color); + cursor: default; +} +.e-calendar .e-header .e-prev, .e-calendar .e-header .e-next { + border-radius: calc(var(--e-radius) * 0.125); + display: inline-block; + font-size: 12px; + vertical-align: middle; +} +.e-calendar .e-header .e-title { + cursor: pointer; + display: inline-block; + float: left; + font-size: 14px; + font-weight: 500; + text-align: left; + padding: 0 5px; + border: none; + border-radius: calc(var(--e-radius) * 0.125); +} +.e-calendar .e-header .e-title { + margin-left: 0; +} +.e-calendar .e-header .e-prev:hover, .e-calendar .e-header .e-next:hover { + cursor: pointer; +} +.e-calendar .e-header .e-prev.e-overlay, .e-calendar .e-header .e-next.e-overlay { + background: none; +} +.e-calendar .e-header.e-decade .e-title, .e-calendar .e-header.e-year .e-title { + margin-left: 0; +} +.e-calendar .e-header.e-decade .e-title { + cursor: default; +} +.e-calendar .e-header .e-icon-container { + display: inline-block; + float: right; + padding-top: 0; +} +.e-calendar .e-footer-container { + text-transform: uppercase; +} + +.e-calendar .e-content td.e-today:hover { + background: var(--color-sf-primary-lighter); + border-radius: calc(var(--e-radius) * 0.125); +} + +.e-calendar { + border-spacing: 0; + max-width: 244px; + min-width: 244px; + padding: 0; + min-height: 256px; +} +.e-calendar.e-calendar-day-header-lg { + max-width: 100%; + min-width: 540px; +} +.e-calendar.e-week-number { + min-width: 280px; +} +.e-calendar.e-week { + max-width: 294px; + min-width: 288px; +} +.e-calendar .e-header .e-title { + line-height: 24px; +} +.e-calendar.e-rtl .e-header .e-title { + text-align: right; + text-indent: 4px; +} +.e-calendar .e-header { + height: 24px; +} +.e-calendar .e-header.e-month { + padding: 8px 12px 6px 14px; +} +.e-calendar .e-header.e-year, .e-calendar .e-header.e-decade { + padding: 8px 12px 6px 12px; +} +.e-calendar th { + font-weight: 500; + height: 32px; + text-transform: uppercase; +} +.e-calendar .e-content .e-selected, .e-calendar .e-content .e-state-hover { + border-radius: calc(var(--e-radius) * 0); +} +.e-calendar .e-content span.e-day { + border: none; + font-size: 12px; + font-weight: 400; + height: 32px; + line-height: 32px; + width: 32px; +} +.e-calendar .e-content.e-month td.e-today span.e-day { + line-height: 32px; +} +.e-calendar .e-content.e-year table, .e-calendar .e-content.e-decade table { + border-spacing: 0; + padding: 0 8px 8px 8px; +} +.e-calendar .e-content.e-month td { + height: 32px; + padding: 0; +} +.e-calendar .e-content .tfooter > tr > td { + height: 32px; + line-height: 32px; +} +.e-calendar .e-content.e-year td, .e-calendar .e-content.e-decade td { + height: 50px; + padding: 0; + width: 40px; +} +.e-calendar .e-content.e-year td > span.e-day, .e-calendar .e-content.e-decade td > span.e-day { + font-weight: 400; + height: 40px; + line-height: 40px; + width: 40px; +} +.e-calendar .e-header .e-icon-container .e-prev, .e-calendar .e-header .e-icon-container .e-next { + height: 28px; + width: 28px; +} +.e-calendar .e-footer-container { + background: var(--color-sf-content-bg-color-alt1); + cursor: default; + display: flex; + flex-direction: row; + justify-content: flex-end; + padding: 8px 8px; + width: 100%; +} + +.e-calendar .e-btn.e-today.e-flat.e-disabled, .e-calendar .e-btn.e-today.e-flat.e-disabled:hover, .e-calendar .e-btn.e-today.e-flat.e-disabled:active, .e-calendar .e-btn.e-today.e-flat.e-disabled:focus, .e-calendar .e-btn.e-today.e-flat.e-disabled:hover:active { + background: var(--color-sf-content-bg-color-alt1); + border-color: var(--color-sf-content-text-color-disabled); + box-shadow: none; + color: var(--color-sf-secondary-text-color-disabled); + cursor: default; + opacity: 1; + outline: none; + pointer-events: none; + touch-action: none; +} + +.e-content-placeholder.e-calendar.e-placeholder-calendar { + background-size: 250px 336px; + min-height: 336px; +} + +.e-calendar { + background: var(--color-sf-flyout-bg-color); + border-radius: 8px; + border: 1px solid var(--color-sf-border-light); + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.14), 0 0 2px 0 rgba(0, 0, 0, 0.12); +} +.e-calendar .e-arrow-up, .e-calendar .e-arrow-down { + color: var(--color-sf-icon-color); +} +.e-calendar th { + border-bottom: 0; + color: var(--color-sf-content-text-color); +} +.e-calendar .e-header { + border-bottom: 0; +} +.e-calendar .e-header a span { + border: none; + color: var(--color-sf-content-text-color-alt1); +} +.e-calendar .e-header .e-title { + color: var(--color-sf-content-text-color); +} +.e-calendar .e-header .e-title:hover { + cursor: pointer; + text-decoration: none; + color: var(--color-sf-calendar-icon-color); +} +.e-calendar .e-header .e-title:focus { + text-decoration: none; + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-calendar .e-header .e-title:active { + background: var(--color-sf-primary-light); + color: var(--color-sf-calendar-header-text-color-pressed); +} +.e-calendar .e-header .e-prev:hover > span, .e-calendar .e-header .e-next:hover > span { + border: var(--color-sf-content-bg-color-hover); + color: var(--color-sf-primary); + cursor: pointer; +} +.e-calendar .e-header .e-prev:hover, .e-calendar .e-header .e-next:hover { + color: var(--color-sf-primary); +} +.e-calendar .e-header .e-prev:focus, .e-calendar .e-header .e-next:focus { + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); +} +.e-calendar .e-header .e-prev:active, .e-calendar .e-header .e-next:active { + background: var(--color-sf-primary-light); + color: var(--color-sf-primary); +} +.e-calendar .e-header button.e-prev:active span, .e-calendar .e-header button.e-next:active span { + border: none; + color: var(--color-sf-primary); +} +.e-calendar .e-header .e-next.e-disabled span, .e-calendar .e-header .e-prev.e-disabled span { + color: var(--color-sf-content-text-color-disabled); + font-weight: 400; +} +.e-calendar .e-header .e-next.e-disabled, .e-calendar .e-header .e-prev.e-disabled { + opacity: 1; +} + +.e-calendar .e-content.e-year td.e-selected span.e-day, .e-calendar .e-content.e-decade td.e-selected span.e-day { + font-weight: 600; +} + +.e-calendar .e-content.e-decade tr:first-child .e-cell:first-child span.e-day, .e-calendar .e-content.e-decade tr:last-child .e-cell:last-child span.e-day { + color: var(--color-sf-content-text-color-alt2); +} +.e-calendar .e-content.e-decade tr:first-child .e-cell:first-child.e-selected span.e-day, .e-calendar .e-content.e-decade tr:last-child .e-cell:last-child.e-selected span.e-day { + color: var(--color-sf-primary); +} +.e-calendar .e-content.e-decade tr:first-child .e-cell.e-disabled:first-child span.e-day, .e-calendar .e-content.e-decade tr:last-child .e-cell.e-disabled:last-child span.e-day { + color: var(--color-sf-content-text-color-disabled); +} +.e-calendar .e-content.e-year td:hover span.e-day, .e-calendar .e-content.e-decade td:hover span.e-day { + background-color: var(--color-sf-primary-lighter); + background: var(--color-sf-primary-lighter); +} +.e-calendar .e-content.e-year td.e-selected:hover span.e-day, .e-calendar .e-content.e-decade td.e-selected:hover span.e-day { + background: var(--color-sf-primary-light); +} +.e-calendar .e-content.e-year td > span.e-day, .e-calendar .e-content.e-decade td > span.e-day { + background: none; +} +.e-calendar .e-content .e-week-number span { + color: var(--color-sf-content-text-color-alt3); +} +.e-calendar .e-content td.e-focused-date span.e-day, .e-calendar .e-content td.e-focused-date:hover span.e-day, .e-calendar .e-content td.e-focused-date:focus span.e-day { + border: none; + border-radius: calc(var(--e-radius) * 0.125); + box-shadow: none; + font-weight: 600; +} +.e-calendar .e-content td.e-focused-date:hover span.e-day { + background: var(--color-sf-primary-lighter); + border: var(--color-sf-primary-lighter); + border-radius: calc(var(--e-radius) * 0.125); + color: var(--color-sf-content-text-color-alt1); +} +.e-calendar .e-content td.e-today span.e-day, .e-calendar .e-content td.e-focused-date.e-today span.e-day { + background: var(--color-sf-primary); + border: none; + border-radius: 999px; + color: var(--color-sf-primary-text-color); +} +.e-calendar .e-content td.e-focused-date.e-today span.e-day { + background: var(--color-sf-primary); + border: none; + box-shadow: none; + color: var(--color-sf-primary-text-color); +} +.e-calendar .e-content td.e-today:focus span.e-day, .e-calendar .e-content td.e-focused-date.e-today:focus span.e-day { + background: var(--color-sf-primary); + border-radius: 999px; + border: none; + color: var(--color-sf-primary-text-color); +} +.e-calendar .e-content td.e-today:hover span.e-day, .e-calendar .e-content td.e-focused-date.e-today:hover span.e-day, .e-calendar .e-content td.e-focused-date.e-today:focus span.e-day { + background: var(--color-sf-primary); + border-radius: 999px; + border: none; + color: var(--color-sf-primary-text-color); +} +.e-calendar .e-content td.e-today.e-selected span.e-day { + background: var(--color-sf-primary); + border-radius: 999px; + border: none; + box-shadow: none; + color: var(--color-sf-primary-text-color); +} +.e-calendar .e-content td.e-today.e-selected:hover span.e-day { + border-radius: 999px; +} +.e-calendar .e-content td.e-today.e-selected:hover span.e-day, .e-calendar .e-content td.e-selected:hover span.e-day, .e-calendar .e-content td.e-selected.e-focused-date span.e-day { + background: var(--color-sf-primary-light); +} +.e-calendar .e-content span { + color: var(--color-sf-content-text-color-alt1); +} +.e-calendar .e-content .e-disabled span.e-day:hover { + background: none; + border: 0; + color: var(--color-sf-content-text-color-disabled); +} +.e-calendar .e-content .e-other-month span.e-day, .e-calendar .e-content .e-other-month.e-today span.e-day { + color: var(--color-sf-content-text-color-alt3); +} +.e-calendar .e-content .e-other-month.e-today:hover span.e-day { + background: var(--color-sf-primary-lighter); + color: var(--color-sf-content-text-color-alt3); +} +.e-calendar .e-content thead { + background: none; + border-bottom: 0; +} +.e-calendar .e-content td:hover span.e-day, .e-calendar .e-content td:focus span.e-day { + background: var(--color-sf-primary-lighter); + border: var(--color-sf-primary-lighter); + border-radius: calc(var(--e-radius) * 0.125); + color: var(--color-sf-content-text-color-hover); +} +.e-calendar .e-content td:focus span.e-day { + background: var(--color-sf-content-bg-color-hover); + color: rgba(var(--color-sf-primary-text-color)); + border: none; + border-radius: calc(var(--e-radius) * 0.125); +} +.e-calendar .e-content td.e-disabled span.e-day, .e-calendar .e-content td.e-disabled:hover span.e-day, .e-calendar .e-content td.e-disabled:focus span.e-day { + background: none; + border: none; + color: var(--color-sf-content-text-color-disabled); +} +.e-calendar .e-content td.e-selected span.e-day { + background: var(--color-sf-primary-light); + color: var(--color-sf-content-text-color-selected); + border: none; + border-radius: calc(var(--e-radius) * 0.125); +} +.e-calendar .e-content td.e-selected:not(.e-focused-date) span.e-day { + box-shadow: none; +} +.e-calendar .e-content .e-footer { + color: var(--color-sf-primary-light); +} +.e-calendar .e-content td.e-today.e-selected.e-focused-date span.e-day, .e-calendar .e-content td.e-today.e-selected:hover span.e-day, .e-calendar .e-content td.e-today.e-selected span.e-day { + background-color: var(--color-sf-primary); + border-radius: 999px; + color: var(--color-sf-primary-text-color); +} +.e-calendar .e-content td.e-today.e-selected.e-focused-date { + background-color: var(--color-sf-primary-light); + border-radius: calc(var(--e-radius) * 0.125); + box-shadow: none; +} +.e-calendar .e-content td.e-today.e-selected { + background-color: var(--color-sf-primary-light); + border-radius: calc(var(--e-radius) * 0.125); + box-shadow: none; +} +.e-calendar .e-content td.e-selected:hover span.e-day { + background-color: var(--color-sf-primary-light); + border: none; + border-radius: calc(var(--e-radius) * 0.125); + color: var(--color-sf-content-text-color-selected); +} +.e-calendar .e-content td.e-selected.e-focused-date span.e-day { + background-color: var(--color-sf-primary-light); + border: none; + border-radius: calc(var(--e-radius) * 0.125); + color: var(--color-sf-content-text-color-selected); +} +.e-calendar .e-content.e-month td.e-today span.e-day { + color: var(--color-sf-primary-text-color); +} +.e-calendar .e-content.e-month td.e-disabled.e-today span.e-day { + color: var(--color-sf-secondary-text-color-disabled); +} +.e-calendar .e-content.e-year td.e-selected > span.e-day, .e-calendar .e-content.e-decade td.e-selected > span.e-day, .e-calendar .e-content.e-year td.e-selected:hover > span.e-day, .e-calendar .e-content.e-decade td.e-selected:hover > span.e-day { + background-color: var(--color-sf-primary-lighter); + color: var(--color-sf-content-text-color-selected); +} +.e-calendar .e-content.e-year td.e-focused-date > span.e-day, .e-calendar .e-content.e-decade td.e-focused-date > span.e-day { + background: none; + border-radius: 0; + box-shadow: none; +} +.e-calendar .e-content td.e-focused-date.e-today { + border-radius: calc(var(--e-radius) * 0.125); + box-shadow: none; +} +.e-calendar .e-content td.e-focused-date:hover span.e-day { + border-radius: calc(var(--e-radius) * 0.125); +} +.e-calendar .e-content.e-year td.e-focused-date:hover > span.e-day, .e-calendar .e-content.e-decade td.e-focused-date:hover > span.e-day { + background: var(--color-sf-primary-lighter); + border-radius: 0; + box-shadow: none; +} + +.e-calendar.e-device .e-prev:hover, .e-calendar.e-device .e-next:hover, .e-calendar.e-device .e-prev:active, .e-calendar.e-device .e-next:active, .e-calendar.e-device .e-prev:focus, .e-calendar.e-device .e-next:focus { + background: none; +} +.e-calendar.e-device button.e-prev:active span, .e-calendar.e-device button.e-next:active span { + color: var(--color-sf-icon-color); +} + +.e-calendar .e-zoomin { + animation: animatezoom 0.3s; +} + +@keyframes animatezoom { + from { + transform: scale(0); + } + to { + transform: scale(1); + } +} +.e-calendar .e-btn.e-today.e-flat.e-primary, +.e-calendar .e-css.e-btn.e-today.e-flat.e-primary { + color: var(--color-sf-secondary-text-color); + background: none; + border-color: transparent; +} + +.e-calendar .e-btn.e-today.e-flat.e-primary:hover, +.e-calendar .e-css.e-btn.e-today.e-flat.e-primary:hover { + color: var(--color-sf-primary-bg-color); + background: none; + border-color: transparent; +} + +.e-calendar .e-btn.e-today.e-flat.e-primary:active, +.e-calendar .e-btn.e-today.e-flat.e-primary.e-active, +.e-calendar .e-css.e-btn.e-today.e-flat.e-primary:active, +.e-calendar .e-css.e-btn.e-today.e-flat.e-primary.e-active { + color: var(--color-sf-primary-bg-color-pressed); + background: none; + border-color: transparent; +} + +.e-calendar .e-btn.e-today.e-flat.e-primary:focus, +.e-calendar .e-btn.e-today.e-flat.e-primary.e-focus, +.e-calendar .e-css.e-btn.e-today.e-flat.e-primary:focus, +.e-calendar .e-css.e-btn.e-today.e-flat.e-primary.e-focus { + background: none; + color: var(--color-sf-secondary-text-color); + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + border-color: transparent; +} + +.e-calendar .e-btn.e-today.e-flat.e-primary.e-disabled, +.e-calendar .e-btn.e-today.e-flat.e-primary.e-disabled, +.e-calendar .e-css.e-btn.e-today.e-flat.e-primary.e-disabled, +.e-calendar .e-css.e-btn.e-today.e-flat.e-primary.e-disabled { + border-color: transparent; + color: var(--color-sf-secondary-text-color-disabled); +} + +.e-calendar .e-calendar-content-table .e-cell.e-focused-cell span.e-day { + box-shadow: 0 0 0 1px var(--color-sf-content-text-color-alt3); + border-radius: calc(var(--e-radius) * 0.125); +} \ No newline at end of file diff --git a/src/wwwroot/styles/chart.min.css b/src/wwwroot/styles/chart.min.css new file mode 100644 index 0000000..9e400cc --- /dev/null +++ b/src/wwwroot/styles/chart.min.css @@ -0,0 +1,610 @@ +@layer fluent, themes; +@layer fluent { + :root { + --color-sf-primary: #0f6cbd; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #b4d6fa; + --color-sf-primary-lighter: #ebf3fc; + --color-sf-primary-dark: #0f548c; + --color-sf-success: #0e700e; + --color-sf-info: #008aa9; + --color-sf-warning: #bc4b09; + --color-sf-danger: #d13438; + --color-sf-content-bg-color: #fafafa; + --color-sf-content-bg-color-alt1: #fff; + --color-sf-content-bg-color-alt2: #f5f5f5; + --color-sf-content-bg-color-alt3: #e6e6e6; + --color-sf-content-bg-color-alt4: #f0f0f0; + --color-sf-content-bg-color-hover: #f0f0f0; + --color-sf-content-bg-color-pressed: #dbdbdb; + --color-sf-content-bg-color-focus: #f0f0f0; + --color-sf-content-bg-color-selected: #e6e6e6; + --color-sf-flyout-bg-color: #fff; + --color-sf-flyout-bg-color-hover: #f5f5f5; + --color-sf-flyout-bg-color-pressed: #e0e0e0; + --color-sf-flyout-bg-color-selected: #ebebeb; + --color-sf-flyout-bg-color-focus: #f5f5f5; + --color-sf-overlay-bg-color: rgba(0, 0, 0, .4); + --color-sf-content-text-color: #242424; + --color-sf-content-text-color-alt1: #424242; + --color-sf-content-text-color-alt2: #616161; + --color-sf-content-text-color-alt3: #707070; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #bdbdbd; + --color-sf-placeholder-text-color: #707070; + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: var(--color-sf-content-text-color-alt1); + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #e0e0e0; + --color-sf-border: #d1d1d1; + --color-sf-border-alt: #616161; + --color-sf-border-dark: #c7c7c7; + --color-sf-border-hover: #575757; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: var(--color-sf-border-light); + --color-sf-border-warning: #da3b01; + --color-sf-border-error: #c50f1f; + --color-sf-border-success: #107c10; + --color-sf-flyout-border: var(--color-sf-border-light); + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #115ea3; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #f0f0f0; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: #b8b8b8; + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #fff; + --color-sf-secondary-border-color: #d1d1d1; + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #f5f5f5; + --color-sf-secondary-border-color-hover: #c7c7c7; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: #e0e0e0; + --color-sf-secondary-border-color-pressed: #b3b3b3; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: var(--color-sf-secondary-bg-color); + --color-sf-secondary-border-color-focus: #000; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: #f0f0f0; + --color-sf-secondary-border-color-disabled: #e0e0e0; + --color-sf-secondary-text-color-disabled: #bdbdbd; + --color-sf-secondary-bg-color-selected: #ebebeb; + --color-sf-secondary-border-color-selected: #bdbdbd; + --color-sf-secondary-text-color-selected: #242424; + --color-sf-success-bg-color: #107c10; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0c5e0c; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f7630c; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: var(--color-sf-content-text-color); + --color-sf-warning-bg-color-hover: #bc4b09; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #bc4b09; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #31afcc; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: var(--color-sf-content-text-color); + --color-sf-info-bg-color-hover: #008aa9; + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #00748f; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #c50f1f; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: #960b18; + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #242424; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #b3b3b3; + --color-sf-rating-unrated-disabled-color: #b3b3b3; + --color-sf-rating-selected-hover-color: #115ea3; + --color-sf-utility-primary-lighter: #f9f5ff; + --color-sf-shadow-color: #000; + --color-sf-shadow-color1: #fff; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #242424; + --color-sf-secondary-outline-button-text-color-pressed: #242424; + --color-sf-secondary-outline-button-text-color-selected: #242424; + --color-sf-secondary-outline-button-text-color-focus: #242424; + --color-sf-slider-shadow1: #fff; + --color-sf-slider-shadow2: #d1d1d1; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #e0e0e0; + --color-sf-toggle-switch-border-disabled: #f0f0f0; + --color-sf-calendar-icon-color: #0f6ebd; + --color-sf-calendar-header-text-color-pressed: #0f548c; + --color-sf-dialog-border: #fafafa; + --color-sf-skeleton-bg-color: #e6e6e6; + } +} +@media (forced-colors: active) { + :root { + color-scheme: light dark; + } + .e-btn, + .e-btn.e-flat, + .e-btn.e-outline, + .e-checkbox-wrapper, + .e-radio-wrapper, + .e-switch-wrapper, + .e-input, + .e-textbox, + .e-textarea, + .e-datepicker, + .e-datetimepicker, + .e-timepicker, + .e-dialog, + .e-popup, + .e-tooltip, + .e-calendar, + .e-spinner { + border-color: CanvasText; + background-color: Canvas; + color: CanvasText; + } + .e-btn.e-primary, + .e-btn.e-success, + .e-btn.e-warning, + .e-btn.e-danger, + .e-btn.e-info { + background-color: Highlight; + border-color: Highlight; + color: HighlightText; + } + .e-btn:disabled, + .e-checkbox-wrapper.e-disabled, + .e-radio-wrapper.e-disabled, + .e-switch-wrapper.e-disabled, + .e-input:disabled, + .e-textbox:disabled, + .e-textarea:disabled, + .e-datepicker.e-disabled, + .e-datetimepicker.e-disabled, + .e-timepicker.e-disabled { + opacity: 1; + border-color: GrayText; + background-color: Canvas; + color: GrayText; + } + .e-btn:focus, + .e-btn:focus-visible, + .e-checkbox-wrapper:focus-within, + .e-radio-wrapper:focus-within, + .e-switch-wrapper:focus-within, + .e-textbox:focus, + .e-textarea:focus, + .e-input:focus, + .e-datepicker:focus, + .e-datetimepicker:focus, + .e-timepicker:focus { + outline: 2px solid Highlight; + outline-offset: 2px; + } + .e-popup, + .e-dialog, + .e-tooltip, + .e-calendar { + box-shadow: none; + } +} +:root, +.e-dark-mode { + --e-font-name: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif; + --e-radius: 1rem; + --e-border: 1rem; + --e-font-sans: sans-serif; +} + +:root, +.e-dark-mode { + --e-font-family: var(--e-font-name), var(--e-font-sans); +} + +/* Font Family */ +/* Font Sizes */ +/* Radius */ +/* 1px */ +/* 2px */ +/* 3px */ +/* 4px */ +/* 5px */ +/* 6px */ +/* 8px */ +/* 9px */ +/* 10px */ +/* 12px */ +/* 14px */ +/* 16px */ +/* 20px */ +/* 5em */ +/* border */ +/* 0px */ +/* 2px */ +.e-dark-mode { + --color-sf-black: #000; + --color-sf-content-bg-color: #1f1f1f; + --color-sf-content-bg-color-alt1: #292929; + --color-sf-content-bg-color-alt2: #141414; + --color-sf-content-bg-color-alt3: #333; + --color-sf-content-bg-color-alt4: #0a0a0a; + --color-sf-content-bg-color-hover: var(--color-sf-content-bg-color-alt3); + --color-sf-content-bg-color-pressed: var(--color-sf-content-bg-color-alt2); + --color-sf-content-bg-color-focus: var(--color-sf-content-bg-color-hover); + --color-sf-content-bg-color-selected: #2e2e2e; + --color-sf-flyout-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-flyout-bg-color-hover: #3d3d3d; + --color-sf-flyout-bg-color-pressed: var(--color-sf-black); + --color-sf-flyout-bg-color-selected: #383838; + --color-sf-flyout-bg-color-focus: var(--color-sf-flyout-bg-color-hover); + --color-sf-overlay-bg-color: rgba($black, .4); + --color-sf-content-text-color: #fff; + --color-sf-content-text-color-alt1: #d6d6d6; + --color-sf-content-text-color-alt2: #adadad; + --color-sf-content-text-color-alt3: #999; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #5c5c5c; + --color-sf-placeholder-text-color: var(--color-sf-content-text-color-alt3); + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: #d6d6d6; + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #525252; + --color-sf-border: #666; + --color-sf-border-alt: #adadad; + --color-sf-border-dark: #757575; + --color-sf-border-hover: #757575; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: #424242; + --color-sf-border-warning: #bc4b09; + --color-sf-border-error: #dc626d; + --color-sf-border-success: #9fd89f; + --color-sf-flyout-border: #525252; + --color-sf-primary: #115ea3; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #0e4775; + --color-sf-primary-lighter: #082338; + --color-sf-primary-dark: #62abf5; + --color-sf-success: #107c10; + --color-sf-info: #0099bc; + --color-sf-warning: #faa06b; + --color-sf-danger: #dc626d; + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #0f6cbd; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #141414; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #292929; + --color-sf-secondary-border-color: var(--color-sf-border); + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #3d3d3d; + --color-sf-secondary-border-color-hover: #757575; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: var(--color-sf-black); + --color-sf-secondary-border-color-pressed: #6b6b6b; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: #383838; + --color-sf-secondary-border-color-focus: #fff; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: -var(-color-sf-primary-bg-color-disabled); + --color-sf-secondary-border-color-disabled: var(--color-sf-secondary-bg-color-disabled); + --color-sf-secondary-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-secondary-bg-color-selected: #383838; + --color-sf-secondary-border-color-selected: #707070; + --color-sf-secondary-text-color-selected: var(--color-sf-content-text-color); + --color-sf-success-bg-color: #218c21; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0e700e; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f87528; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: #242424; + --color-sf-warning-bg-color-hover: #de590b; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #8a3707; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #18a4c4; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: #242424; + --color-sf-info-bg-color-hover: var(--color-sf-info-bg-color); + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #002e38; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #cc2635; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-tooltip-bg-color); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #fff; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #575757; + --color-sf-rating-unrated-disabled-color: #4d4d4d; + --color-sf-rating-selected-hover-color: #2886de; + --color-sf-shadow-color: #fff; + --color-sf-shadow-color1: #000; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #fff; + --color-sf-secondary-outline-button-text-color-pressed: #fff; + --color-sf-secondary-outline-button-text-color-selected: #fff; + --color-sf-secondary-outline-button-text-color-focus: #fff; + --color-sf-slider-shadow1: #000; + --color-sf-slider-shadow2: #666666; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #525252; + --color-sf-toggle-switch-border-disabled: #141414; + --color-sf-calendar-icon-color: #1153a3; + --color-sf-calendar-header-text-color-pressed: #62abf5; + --color-sf-dialog-border: #1f1f1f; + --color-sf-skeleton-bg-color: #575757; +} + +.e-control, +.e-css, +.e-error { + font-family: var(--e-font-family); + font-size: 12px; + font-weight: 400; +} + +.e-error { + color: var(--color-sf-danger); +} + +.e-control, +.e-control [class^=e-], +.e-control [class*=" e-"] { + box-sizing: border-box; +} + +.e-control:focus, +.e-control *:focus { + outline: none; +} + +.e-rtl { + direction: rtl; + text-align: right; +} + +.e-overlay { + background-color: var(--color-sf-overlay-bg-color); + height: 100%; + opacity: 0.5; + pointer-events: none; + touch-action: none; + width: 100%; +} + +.e-hidden { + display: none; +} + +.e-blazor-hidden { + visibility: hidden; +} + +.e-disabled { + background-image: none; + cursor: default; + opacity: 0.35; +} + +.e-ul { + list-style-type: none; +} + +.e-prevent-select { + user-select: none; +} + +.e-success { + color: #0b6a0b; +} + +.e-sr-only { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +@media (prefers-reduced-motion: reduce) { + .e-control, + .e-control * { + animation-duration: 0.001ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.001ms !important; + scroll-behavior: auto !important; + } +} +.e-chart-focused:focus-visible, +path[class*=_ej2_chart_selection_series]:focus-visible, +path[id*=_Point_]:focus-visible, +text[id*=_ChartTitle]:focus-visible { + outline: 1.5px #424242 solid; + outline-offset: 0px; +} + +.e-stacklabel-visible { + visibility: visible !important; +} + +.e-stacklabel-hidden { + visibility: hidden !important; +} + +.e-series-outline { + outline: none; +} + +.e-lastlabel-visible { + visibility: visible; +} + +.e-lastlabel-hidden { + visibility: hidden; +} + +.e-trendline-outline { + outline: none; +} + +.e-trendspline-outline { + outline: none; +} + +.e-legend-cursor { + cursor: pointer; +} + +.e-legend-default { + pointer-events: bounding-box; + cursor: default; +} + +.e-legend-pointer { + pointer-events: bounding-box; + cursor: pointer; +} \ No newline at end of file diff --git a/src/wwwroot/styles/checkbox.min.css b/src/wwwroot/styles/checkbox.min.css new file mode 100644 index 0000000..d79f576 --- /dev/null +++ b/src/wwwroot/styles/checkbox.min.css @@ -0,0 +1,916 @@ +@layer fluent, themes; +@layer fluent { + :root { + --color-sf-primary: #0f6cbd; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #b4d6fa; + --color-sf-primary-lighter: #ebf3fc; + --color-sf-primary-dark: #0f548c; + --color-sf-success: #0e700e; + --color-sf-info: #008aa9; + --color-sf-warning: #bc4b09; + --color-sf-danger: #d13438; + --color-sf-content-bg-color: #fafafa; + --color-sf-content-bg-color-alt1: #fff; + --color-sf-content-bg-color-alt2: #f5f5f5; + --color-sf-content-bg-color-alt3: #e6e6e6; + --color-sf-content-bg-color-alt4: #f0f0f0; + --color-sf-content-bg-color-hover: #f0f0f0; + --color-sf-content-bg-color-pressed: #dbdbdb; + --color-sf-content-bg-color-focus: #f0f0f0; + --color-sf-content-bg-color-selected: #e6e6e6; + --color-sf-flyout-bg-color: #fff; + --color-sf-flyout-bg-color-hover: #f5f5f5; + --color-sf-flyout-bg-color-pressed: #e0e0e0; + --color-sf-flyout-bg-color-selected: #ebebeb; + --color-sf-flyout-bg-color-focus: #f5f5f5; + --color-sf-overlay-bg-color: rgba(0, 0, 0, .4); + --color-sf-content-text-color: #242424; + --color-sf-content-text-color-alt1: #424242; + --color-sf-content-text-color-alt2: #616161; + --color-sf-content-text-color-alt3: #707070; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #bdbdbd; + --color-sf-placeholder-text-color: #707070; + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: var(--color-sf-content-text-color-alt1); + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #e0e0e0; + --color-sf-border: #d1d1d1; + --color-sf-border-alt: #616161; + --color-sf-border-dark: #c7c7c7; + --color-sf-border-hover: #575757; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: var(--color-sf-border-light); + --color-sf-border-warning: #da3b01; + --color-sf-border-error: #c50f1f; + --color-sf-border-success: #107c10; + --color-sf-flyout-border: var(--color-sf-border-light); + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #115ea3; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #f0f0f0; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: #b8b8b8; + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #fff; + --color-sf-secondary-border-color: #d1d1d1; + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #f5f5f5; + --color-sf-secondary-border-color-hover: #c7c7c7; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: #e0e0e0; + --color-sf-secondary-border-color-pressed: #b3b3b3; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: var(--color-sf-secondary-bg-color); + --color-sf-secondary-border-color-focus: #000; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: #f0f0f0; + --color-sf-secondary-border-color-disabled: #e0e0e0; + --color-sf-secondary-text-color-disabled: #bdbdbd; + --color-sf-secondary-bg-color-selected: #ebebeb; + --color-sf-secondary-border-color-selected: #bdbdbd; + --color-sf-secondary-text-color-selected: #242424; + --color-sf-success-bg-color: #107c10; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0c5e0c; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f7630c; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: var(--color-sf-content-text-color); + --color-sf-warning-bg-color-hover: #bc4b09; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #bc4b09; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #31afcc; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: var(--color-sf-content-text-color); + --color-sf-info-bg-color-hover: #008aa9; + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #00748f; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #c50f1f; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: #960b18; + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #242424; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #b3b3b3; + --color-sf-rating-unrated-disabled-color: #b3b3b3; + --color-sf-rating-selected-hover-color: #115ea3; + --color-sf-utility-primary-lighter: #f9f5ff; + --color-sf-shadow-color: #000; + --color-sf-shadow-color1: #fff; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #242424; + --color-sf-secondary-outline-button-text-color-pressed: #242424; + --color-sf-secondary-outline-button-text-color-selected: #242424; + --color-sf-secondary-outline-button-text-color-focus: #242424; + --color-sf-slider-shadow1: #fff; + --color-sf-slider-shadow2: #d1d1d1; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #e0e0e0; + --color-sf-toggle-switch-border-disabled: #f0f0f0; + --color-sf-calendar-icon-color: #0f6ebd; + --color-sf-calendar-header-text-color-pressed: #0f548c; + --color-sf-dialog-border: #fafafa; + --color-sf-skeleton-bg-color: #e6e6e6; + } +} +@media (forced-colors: active) { + :root { + color-scheme: light dark; + } + .e-btn, + .e-btn.e-flat, + .e-btn.e-outline, + .e-checkbox-wrapper, + .e-radio-wrapper, + .e-switch-wrapper, + .e-input, + .e-textbox, + .e-textarea, + .e-datepicker, + .e-datetimepicker, + .e-timepicker, + .e-dialog, + .e-popup, + .e-tooltip, + .e-calendar, + .e-spinner { + border-color: CanvasText; + background-color: Canvas; + color: CanvasText; + } + .e-btn.e-primary, + .e-btn.e-success, + .e-btn.e-warning, + .e-btn.e-danger, + .e-btn.e-info { + background-color: Highlight; + border-color: Highlight; + color: HighlightText; + } + .e-btn:disabled, + .e-checkbox-wrapper.e-disabled, + .e-radio-wrapper.e-disabled, + .e-switch-wrapper.e-disabled, + .e-input:disabled, + .e-textbox:disabled, + .e-textarea:disabled, + .e-datepicker.e-disabled, + .e-datetimepicker.e-disabled, + .e-timepicker.e-disabled { + opacity: 1; + border-color: GrayText; + background-color: Canvas; + color: GrayText; + } + .e-btn:focus, + .e-btn:focus-visible, + .e-checkbox-wrapper:focus-within, + .e-radio-wrapper:focus-within, + .e-switch-wrapper:focus-within, + .e-textbox:focus, + .e-textarea:focus, + .e-input:focus, + .e-datepicker:focus, + .e-datetimepicker:focus, + .e-timepicker:focus { + outline: 2px solid Highlight; + outline-offset: 2px; + } + .e-popup, + .e-dialog, + .e-tooltip, + .e-calendar { + box-shadow: none; + } +} +:root, +.e-dark-mode { + --e-font-name: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif; + --e-radius: 1rem; + --e-border: 1rem; + --e-font-sans: sans-serif; +} + +:root, +.e-dark-mode { + --e-font-family: var(--e-font-name), var(--e-font-sans); +} + +/* Font Family */ +/* Font Sizes */ +/* Radius */ +/* 1px */ +/* 2px */ +/* 3px */ +/* 4px */ +/* 5px */ +/* 6px */ +/* 8px */ +/* 9px */ +/* 10px */ +/* 12px */ +/* 14px */ +/* 16px */ +/* 20px */ +/* 5em */ +/* border */ +/* 0px */ +/* 2px */ +.e-dark-mode { + --color-sf-black: #000; + --color-sf-content-bg-color: #1f1f1f; + --color-sf-content-bg-color-alt1: #292929; + --color-sf-content-bg-color-alt2: #141414; + --color-sf-content-bg-color-alt3: #333; + --color-sf-content-bg-color-alt4: #0a0a0a; + --color-sf-content-bg-color-hover: var(--color-sf-content-bg-color-alt3); + --color-sf-content-bg-color-pressed: var(--color-sf-content-bg-color-alt2); + --color-sf-content-bg-color-focus: var(--color-sf-content-bg-color-hover); + --color-sf-content-bg-color-selected: #2e2e2e; + --color-sf-flyout-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-flyout-bg-color-hover: #3d3d3d; + --color-sf-flyout-bg-color-pressed: var(--color-sf-black); + --color-sf-flyout-bg-color-selected: #383838; + --color-sf-flyout-bg-color-focus: var(--color-sf-flyout-bg-color-hover); + --color-sf-overlay-bg-color: rgba($black, .4); + --color-sf-content-text-color: #fff; + --color-sf-content-text-color-alt1: #d6d6d6; + --color-sf-content-text-color-alt2: #adadad; + --color-sf-content-text-color-alt3: #999; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #5c5c5c; + --color-sf-placeholder-text-color: var(--color-sf-content-text-color-alt3); + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-icon-color: #d6d6d6; + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-border-light: #525252; + --color-sf-border: #666; + --color-sf-border-alt: #adadad; + --color-sf-border-dark: #757575; + --color-sf-border-hover: #757575; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: #424242; + --color-sf-border-warning: #bc4b09; + --color-sf-border-error: #dc626d; + --color-sf-border-success: #9fd89f; + --color-sf-flyout-border: #525252; + --color-sf-primary: #115ea3; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #0e4775; + --color-sf-primary-lighter: #082338; + --color-sf-primary-dark: #62abf5; + --color-sf-success: #107c10; + --color-sf-info: #0099bc; + --color-sf-warning: #faa06b; + --color-sf-danger: #dc626d; + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #0f6cbd; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #141414; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + --color-sf-secondary-bg-color: #292929; + --color-sf-secondary-border-color: var(--color-sf-border); + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #3d3d3d; + --color-sf-secondary-border-color-hover: #757575; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: var(--color-sf-black); + --color-sf-secondary-border-color-pressed: #6b6b6b; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: #383838; + --color-sf-secondary-border-color-focus: #fff; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: -var(-color-sf-primary-bg-color-disabled); + --color-sf-secondary-border-color-disabled: var(--color-sf-secondary-bg-color-disabled); + --color-sf-secondary-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-secondary-bg-color-selected: #383838; + --color-sf-secondary-border-color-selected: #707070; + --color-sf-secondary-text-color-selected: var(--color-sf-content-text-color); + --color-sf-success-bg-color: #218c21; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0e700e; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color: #f87528; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: #242424; + --color-sf-warning-bg-color-hover: #de590b; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #8a3707; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + --color-sf-info-bg-color: #18a4c4; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: #242424; + --color-sf-info-bg-color-hover: var(--color-sf-info-bg-color); + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #002e38; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color: #cc2635; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-tooltip-bg-color); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-color: #fff; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #575757; + --color-sf-rating-unrated-disabled-color: #4d4d4d; + --color-sf-rating-selected-hover-color: #2886de; + --color-sf-shadow-color: #fff; + --color-sf-shadow-color1: #000; + --color-sf-link-button: var(--color-sf-primary); + --color-sf-secondary-outline-button-text-color-hover: #fff; + --color-sf-secondary-outline-button-text-color-pressed: #fff; + --color-sf-secondary-outline-button-text-color-selected: #fff; + --color-sf-secondary-outline-button-text-color-focus: #fff; + --color-sf-slider-shadow1: #000; + --color-sf-slider-shadow2: #666666; + --color-sf-slider-border-color: rgba(255, 255, 255, 0); + --color-sf-slider-bg-disabled: #525252; + --color-sf-toggle-switch-border-disabled: #141414; + --color-sf-calendar-icon-color: #1153a3; + --color-sf-calendar-header-text-color-pressed: #62abf5; + --color-sf-dialog-border: #1f1f1f; + --color-sf-skeleton-bg-color: #575757; +} + +.e-control, +.e-css, +.e-error { + font-family: var(--e-font-family); + font-size: 12px; + font-weight: 400; +} + +.e-error { + color: var(--color-sf-danger); +} + +.e-control, +.e-control [class^=e-], +.e-control [class*=" e-"] { + box-sizing: border-box; +} + +.e-control:focus, +.e-control *:focus { + outline: none; +} + +.e-rtl { + direction: rtl; + text-align: right; +} + +.e-overlay { + background-color: var(--color-sf-overlay-bg-color); + height: 100%; + opacity: 0.5; + pointer-events: none; + touch-action: none; + width: 100%; +} + +.e-hidden { + display: none; +} + +.e-blazor-hidden { + visibility: hidden; +} + +.e-disabled { + background-image: none; + cursor: default; + opacity: 0.35; +} + +.e-ul { + list-style-type: none; +} + +.e-prevent-select { + user-select: none; +} + +.e-success { + color: #0b6a0b; +} + +.e-sr-only { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +@media (prefers-reduced-motion: reduce) { + .e-control, + .e-control * { + animation-duration: 0.001ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.001ms !important; + scroll-behavior: auto !important; + } +} +@font-face { + font-family: "e-toolkit-icons"; + font-weight: normal; + font-style: normal; + src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMj1tSg0AAAEoAAAAVmNtYXDn0+h4AAAB9AAAAGxnbHlmo5jbiwAAApwAACGYaGVhZC846EEAAADQAAAANmhoZWEIVQQeAAAArAAAACRobXR4dAAAAAAAAYAAAAB0bG9jYW4qdnoAAAJgAAAAPG1heHABLwF2AAABCAAAACBuYW1l3yZFbgAAJDQAAAJ5cG9zdIbxPh4AACawAAABvAABAAAEAAAAAFwEAAAAAAAD+AABAAAAAAAAAAAAAAAAAAAAHQABAAAAAQAAEeZCnF8PPPUACwQAAAAAAOYRUaYAAAAA5hFRpgAAAAAD+AP4AAAACAACAAAAAAAAAAEAAAAdAWoACAAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQQAAZAABQAAAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA5wDnGwQAAAAAXAQAAAAAAAABAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAFgAAAAEAAQAAQAA5xv//wAA5wD//wAAAAEABAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAAAAAAEQAhgDKAQ4BZgG+AhYCVgKqAxIEsAXkByoIHAiKCdgK3AwYDKANeg22DfIOOA5+DswPGhBcEMwAAQAAAAADegLMACsAAAEfAwEfAw8HLwMJAQ8DLwc/AwE/AgIABgYFBQFbBAMBAQEBAwQFBgUHBgUGBf68/rwFBgUGBwUGBQQDAQEBAQMEAVsFBQYCzQECAgT+pQUFBgYGBgYFBAICAQECAgQBRf67BAICAQECAgQFBgYGBgYFBQFbBAICAAAAAAEAAAAAA3oCzAArAAATHwMJAT8DHwcPAwEPAy8DAS8DPwamBgUGBQFEAUQFBgUGBwUGBQQDAQEBAQME/qUFBQYGBgYFBf6lBAMBAQEBAwQFBgYCzQECAgT+uwFFBAICAQECAgQFBgYGBgYFBf6lBAICAQECAgQBWwUFBgYGBgYFBAICAAEAAAAAAswDegArAAABHwcPAwkBHwMPBy8DAS8DPwMBPwICrQYGBgUEAgIBAQICBP67AUUEAgIBAQICBAUGBgYGBgUF/qUEAgIBAQICBAFbBQUGA3oBAQMEBQYFBgcFBgX+vP68BQYFBgcFBgUEAwEBAQEDBAFbBQUGBgYGBQUBWwQDAQAAAAABAAAAAALMA3oAKwAAAR8DAR8DDwMBDwMvBz8DCQEvAz8GAVMGBgUFAVsEAgIBAQICBP6lBQUGBgYGBgQEAwIBAQIDBAFE/rsEAgIBAQICBAUGBgN6AQEDBP6lBQUGBgYGBQX+pQQDAQEBAQMEBQYFBwYFBgUBRAFEBQYFBwYFBgUEAwEAAAAAAQAAAAAD1gP1AD0AAAEfAwEfAh0BDwYvAwERFQ8GLwY1EQEPAy8GPQE/AgE/AgIABgYFBQG3BAMCAgMEBQUGBgYGBQX+fgIDBAQGBgYGBgYEBAMC/n4FBQYGBgYFBQQDAgIDBAG3BQUGA/YBAgIE/kkFBgYGBgUGBQQDAQEBAQMEAYL8nwcGBQUDAwIBAQIDAwUFBgcDYf5+BAMBAQEBAwQFBgUGBgYGBQG3BAICAAABAAAAAAPWA/UAPQAAAR8GFREBPwMfBh0BDwIBDwMvAwEvAj0BPwYfAwERNT8FAgAGBgUFBAMCAYIFBQYGBgYFBQQDAgIDBP5JBQUGBgYGBQX+SQQDAgIDBAUFBgYGBgUFAYICAwQEBgYD9gECAwMFBQYH/J8BggQDAQEBAQMEBQYFBgYGBgX+SQQCAgEBAgIEAbcFBgYGBgUGBQQDAQEBAQME/n4DYQcGBQUDAwIAAAEAAAAAA/UD1gA9AAABMx8CAR8DDwMBDwIrAS8GPwMBISMvBj8GMyEBLwM/BgIfBgYGBQG3BAICAQECAgT+SQUGBgYGBQYFBAMBAQEBAwQBgvyfBwYFBQMDAgEBAgMDBQUGBwNh/n4EAwEBAQEDBAUGBQPWAgME/kkFBQYGBgYFBf5JBAMCAgMEBQUGBgYGBQUBggIDBAQGBgYGBgYEBAMCAYIFBQYGBgYFBQQDAgAAAQAAAAADegMLACsAAAEfBw8DAQ8DLwg/Bx8EAT8CA1oHBQYFBAMBAQEBAwT+JwUFBgYGBgUF3QQDAQEBAQMEBQYFBwYFBgXGAcIFBgUDDAECAgQFBgYGBgYFBf4nBAICAQECAgTdBQUGBgYGBgUEAgIBAQICBMcBwwQCAgAAAAABAAAAAAN6A3oAQwAAASEfDxEPDyEvDxE/DgEEAfgNDAwMCwoKCQgHBwUEAwIBAQIDBAUHBwgJCgoLDAwMDf4IDQwMDAsKCgkIBwcFBAMCAQECAwQFBwcICQoKCwwMDAN6AQIDBAUHBwgJCgoLDAwMDf4IDQwMDAsKCgkIBwcFBAMCAQECAwQFBwcICQoKCwwMDA0B+A0MDAwLCgoJCAcHBQQDAgAAAAABAAAAAANYA1kARwAAEx8DCQE/Ax8HDwMJAR8DDwcvAwkBDwMvBz8DCQEvAz8GxgYGBgUBIwEjBQYGBgYFBgUEAwEBAQEDBP7cASQEAwEBAQEDBAUGBQYGBgYF/t3+3QUGBgYGBQYFBAMBAQEBAwQBJP7cBAMBAQEBAwQFBgUDWQEBAwT+3AEkBAMBAQEBAwQFBgUGBgYGBf7d/t0FBgYGBgUGBQQDAQEBAQMEAST+3AQDAQEBAQMEBQYFBgYGBgUBIwEjBQYGBgYFBgUEAwEACAAAAAADuQO5AC8AXwCPAL8A7wELASUBaQAAATMfCR0BDwkrAS8JPQE/CSMzHwkdAQ8JKwEvCT0BPwozHwkdAQ8JKwEvCT0BPwkjMx8JHQEPCSsBLwk9AT8JITMfCR0BDwkrAS8JPQE/CSURFR8JMyEzPwk1ESUjDwkVITUvCSMlIR8PEQ8PIS8PET8OAgAGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYHtwYHBgYKCgcGAgIBAQICBgcKCgYGBwYGBwYGCgoHBgICAQECAgYHCgoGBgfDBgcGBgoKBwYCAgEBAgIGBwoKBgYHBgYHBgYKCgcGAgIBAQICBgcKCgYGB7cGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYHAYAGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYH/c8BAgIGBwoKBgYHBgJ2BgcGBgoKBwYCAgH9SwYHBgYKCgcGAgIBAvQBAgIGBwoKBgYHBv2KAnYNDAwMCwoKCQgHBwUEAwIBAQIDBAUHBwgJCgoLDAwMDf2KDQwMDAsKCgkIBwcFBAMCAQECAwQFBwcICQoKCwwMDAGCAQICBgcKCgYGBwYGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYHBgYHBgYKCgcGAgIBAQICBgcKCgYGBwYGBwYGCgoHBgICAb0BAgIGBwoKBgYHBgYHBgYKCgcGAgIBAQICBgcKCgYGBwYGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYHBgYHBgYKCgcGAgIBAQICBgcKCgYGBwYGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgF+/ggGBwYGCgoHBgICAQECAgYHCgoGBgcGAfi9AQICBgcKCgYGB0VFBwYGCgoHBgICAT8BAgMEBQcHCAkKCgsMDAwN/YoNDAwMCwoKCQgHBwUEAwIBAQIDBAUHBwgJCgoLDAwMDQJ2DQwMDAsKCgkIBwcFBAMCAAAABAAAAAAD1gPWACsAqwDFAREAAAEPBh0CHwYzPwcvBisBNS8HMx8dHQEPHSsBLx09AT8dAQ8LITUvCiUhMx8OES8DNSERHwo7AR8DIS8ONRE1Pw0CvAYGBQUEAwICAwQFBQYGfgYGBQUEAwEBAQEDBAUFBgZeAQIDBAQGBQcPDg4ODg0NDQ0MDAsLCwoKCQkICAgGBwUFBQQDAgIBAQICAwQFBQUHBggICAkJCgoLCwsMDA0NDQ0ODg4ODw4PDg4NDg0NDAwMDAsKCwkKCQgIBwcGBgUEBAMDAgEBAgMDBAQFBgYHBwgICQoJCwoLDAwMDA0NDg0ODg/9+QYHBgULCQgGAgEBAQLxAQICBgcKCgYGBgf9jQJzDQ0MCwsKCgkIBwcFBAMCAQ8PEBH9DwEBAQIGCAkLBQYHBuIJCgsL/vUNDAwMCwoKCQgHBgYEAwICAwQGBgcICQoKCwwMDAHhAQIDBAQGBQd9BgYGBAQDAgEBAgMEBAYGBgYGBQUEAwJeBwYFBAQDAn4BAgMDBAQFBgYHBwgICQoJCwoLDAwMDA0NDg0ODg8ODw4ODg4NDQ0MDQsMCwsKCgkJCAgIBgcFBQUEAwICAQECAgMEBQUFBwYICAgJCQoKCwsLDAwNDQ0NDg4ODg8ODw4ODQ4NDQwMDAwLCgsJCgkICAcHBgYFBAQDAwIBAToBAQECBggJCwUGB0VFBwYFCwkIBgIBAQE+AgMEBgYHCAkKCgsMDAwN/vULCwoJZf4KBwYGBgoKBwYCAgEREA8PAQIDBAUHBwgJCgoLCwwNDQJzDQwMDAsKCgkIBwYGBAMCAAMAAAAAA/gD+AArAKsBKwAAAR8HETMfBw8HIy8HET8HDx8fHz8fLx8fHw8fLx8/HgHgBwYFBQQDAQHcBwYFBQQDAQEBAQMEBQUGB/wGBgUFBAMBAQEBAwQFBQYmFxYWFhUVFRQTExMSEREQDw4ODQ0LCwoICAcGBQQDAQEBAQMEBQYHCAgKCwsNDQ4ODxARERITExMUFRUVFhYWFxcWFhYVFRUUExMTEhEREA8ODg0NCwsKCAgHBgUEAwEBAQEDBAUGBwgICgsLDQ0ODg8QERESExMTFBUVFRYWFhcaGhkZGBgXFxYWFRUUExIRERAPDg0MCwoJCAcGBAMCAQECAwQGBwgJCgsMDQ4PEBEREhMUFRUWFhcXGBgZGRoaGhoZGRgYFxcWFhUVFBMSEREQDw4NDAsKCQgHBgQDAgEBAgMEBgcICQoLDA0ODxARERITFBUVFhYXFxgYGRkaAzsBAQMEBQUGBv7kAQEDBAUFBgcGBgUFBAMBAQEBAwQFBQYGATwGBgUFBAMBfwEBAwQFBgcICAoLCw0NDg4PEBEREhMTExQVFRUWFhYXFxYWFhUVFRQTExMSEREQDw4ODQ0LCwoICAcGBQQDAQEBAQMEBQYHCAgKCwsNDQ4ODxARERITExMUFRUVFhYWFxcWFhYVFRUUExMTEhEREA8ODg0NCwsKCAgHBgUEAwFAAQIDBAYHCAkKCwwNDg8QERESExQVFRYWFxcYGBkZGhoaGhkZGBgXFxYWFRUUExIRERAPDg0MCwoJCAcGBAMCAQECAwQGBwgJCgsMDQ4PEBEREhMUFRUWFhcXGBgZGRoaGhoZGRgYFxcWFhUVFBMSEREQDw4NDAsKCQgHBgQDAgAAAAAEAAAAAAO5A7kAIwBHAIsAzwAAAQ8HER8HMz8HES8HIQ8HER8HMz8HES8HJTsBHw0VERUPDSsCLw01ETU/DSE7AR8NFREVDw0rAi8NNRE1Pw0C3AYGBQUEAwEBAQEDBAUFBgZ+BwYFBQQDAQEBAQMEBQUGB/1MBwYFBQQDAQEBAQMEBQUGB34GBgUFBAMBAQEBAwQFBQYGAbh+CgoJCAkHCAYGBgUEAwICAgIDBAUGBgYIBwkICQoKfgkKCQgJBwgGBgYFBAMCAgICAwQFBgYGCAcJCAkK/dN+CQoJCAkHCAYGBgUEAwICAgIDBAUGBgYIBwkICQoJfgoKCQgJBwgGBgYFBAMCAgICAwQFBgYGCAcJCAkKA3oBAQMEBQUGB/1MBwYFBQQDAQEBAQMEBQUGBwK0BwYFBQQDAQEBAQMEBQUGB/1MBwYFBQQDAQEBAQMEBQUGBwK0BwYFBQQDAQE/AgIDBAUGBgYIBwkICQoK/UwKCgkICQcIBgYGBQQDAgICAgMEBQYGBggHCQgJCgoCtAoKCQgJBwgGBgYFBAMCAgICAwQFBgYGCAcJCAkKCv1MCgoJCAkHCAYGBgUEAwICAgIDBAUGBgYIBwkICQoKArQKCgkICQcIBgYGBQQDAgIAAAAAAgAAAAADiAOzABoAUQAAEw8HER8FNwE/AjUvAgEvATMfAgEfBw8HAQ8DLwsRPw7VBgYFBQMDAgEDBAUHCAgIAl0GBAICBAb9owQJBgwMDAJbDAkIBwUEAgEBAgQFBwgJDP2rDAwMDAwMCwsKCQgHBQMDAgEBAgQEBQUGBwcICAgJCQN1AQIDAwUFBgf9UQgHBQQCAQMBWQYHCAgIBwYBWQJAAgMF/qgHCQkLCwsMDAwMCwsLCQkH/qsGBAIBAQMEBQcHCQoLBgwNArEKCgkJCAgHBwUGBAQDAwEAAAEAAAAAA/gD9wE0AAABHwcVDwcjLwc/BzMvFSMPIRUfITsBPyA1PwY7AR8GDyIjLyE1PyEzHw41PwYDmgYGBQUEAwEBAQEDBAUFBgb8BwYFBQQDAQEBAQMEBQUGB8wMCwwMDQ0ODg8PDxAQEBERExQTFBMUFBMUExQTExMTEhISEREQEA8ODg0NDAsKCgkICAYGBAQDAgIBAQIDBAUGBwcICQoLCwwNDQ4PDxAQERESEhITExMTFBMUFBMUFBQTExMTEhISERAQEA8PDg0NDAsLCgkIBwYGBQQDAgIBAQMEBQUGBwYGBQUEAwEBAQEDAwUFBwcICgoLDA0ODhAQEBISEhMUFBQVFRYWFhYXFxYXFxYWFhYVFhUUFBQUEhISERAPDg4NDAsKCggIBgYFAwMBAQICBAQGBgcJCQoLDA0ODg8QERESEhMUFBUVFRYWFhYWFxYXFhcWFhYWECAfHRwbGhgMAQEDBAUFBgP4AQICBAUFBgf8BgYFBQQDAQEBAQMEBQUGBgcGBQUEAgIBEA4ODQwMDAoLCQkJCAcGBgYFAwMCAgEBAgQEBAYHBwkJCgoMDAwODg4PEBAREhETEhMTExMUExQTFBQTFBMUExMSEhESEBAQDw4ODgwMDAoKCQgHBwUFBAMCAgICAwQFBgYICAkKCgsMDQ0ODw8QERAREhISExMTExQTFBQGBgYEBAMCAgMEBAYGBhcWFxYWFhYVFRQUFBMTEhEREA8PDgwMDAoJCQcHBQUDAwEBAgIEBAYGCAgJCgwMDQ0PDxARERISExQUFBUVFhYXFhYXFhcWFxYWFhUWFRUUFBMTEhEREA8ODg0MDAoJCQgGBgQEAwEBAgIEBAUHBQ0OERIUFhgOjAYGBQUEAgIAAAAABQAAAAAD2AP4ACEAQwBWAG8A1wAAAR8HEQ8HLwcRPwYnHwcRDwcvBxE/BicTHwchPwYTJSMPCjMvCzMfDyEfBw8HIwMPDyEvDwMjLwc/ByE/DgJeBwYFBQQCAgEBAgIEBQUGBwYGBQUEAwEBAQEDBAUFBrcHBgUFBAICAQECAgQFBQYHBgYFBQQDAQEBAQMEBQUG8lEBAwYHCAoKDAGaCwsKCAcFBFL+qQkKCQgJBwgHBwYFBLIEBQYHBwgHCQkJCQkICA8PDg4NDQsIBgcFBQQEBAEfBgYGBAQDAgEBAgMEBAYGBiNSAQMEBQYHBwgJCQoKCwsMDP5yDAwLCwoKCQkICAYGBQQDAlEjBgYGBAQDAgEBAgMEBAYGBgEfBAQEBQUHBggLDQ0ODg8PAn4BAQMEBQUGB/7GBwYFBQQDAQEBAQMEBQUGBwE6BwYFBQQDAQEBAQMEBQUGB/7GBwYFBQQDAQEBAQMEBQUGBwE6BwYFBQQDAb79RAYLCgkIBQUCAgUFCAkKCwLCfgICAwQFBQcICAkKCgkICAcFBQQDAgI/AQIEBQcHCgoICAkJCQoKEQEBAwQFBQYHBgYFBQQDAQH9PQwLCwsJCggIBwYGBQMDAQEBAQMDBQYGBwgICgkLCwsMAsMBAQMEBQUGBgcGBQUEAwEBEQoKCQkJCAgKCgcHBQQCAAAAAAMAAAAAA9gD2AAhAKEBIQAAASEfBh0BDwYhLwY9AT8FEw8fHx8/Hy8fMx8dHQEPHSsBLx09AT8dAUMBegYGBgQEAwICAwQEBgYG/oYGBgYEBAMCAgMEBAYGwxUVFBUTFBMSExERERAPDw8NDQwMCgoJCAgGBgQEAgIBAQICBAQGBggICQoKDAwNDQ8PDxARERETEhMUExUUFRUVFRQVExQTEhMREREQDw8PDQ0MDAoKCQgIBgYEBAICAQECAgQEBgYICAkKCgwMDQ0PDw8QERERExITFBMVFBUVGBgYFxcWFhYVFBQTExIREBAPDg0MCwsJCQcHBQQDAgIDBAUHBwkJCwsMDQ4PEBAREhMTFBQVFhYWFxcYGBgYGBgXFxYWFhUUFBMTEhEQEA8ODQwLCwkJBwcFBAMCAgMEBQcHCQkLCwwNDg8QEBESExMUFBUWFhYXFxgYAiABAgMEBAYGBgYGBgQEAwIBAQIDBAQGBgYGBgYEBAMCAXsBAgIEBAYGCAgJCgoMDA0NDw8PEBERERMSExQTFRQVFRUVFBUTFBMSExERERAPDw8NDQwMCgoJCAgGBgQEAgIBAQICBAQGBggICQoKDAwNDQ8PDxARERETEhMUExUUFRUVFRQVExQTEhMREREQDw8PDQ0MDAoKCQgIBgYEBAICPwIDBAUHBwkJCwsMDQ4PEBAREhMTFBQVFhYWFxcYGBgYGBgXFxYWFhUUFBMTEhEQEA8ODQwLCwkJBwcFBAMCAgMEBQcHCQkLCwwNDg8QEBESExMUFBUWFhYXFxgYGBgYGBcXFhYWFRQUExMSERAQDw4NDAsLCQkHBwUEAwIAAAAAAwAAAAADmQOZACEAQwBlAAABHwcPCC8HPwcnHwcPAwEPAy8HPwMBPwITHwcPAwEPAy8HPwMBPwIDegYGBQUEAwIBAQIDBL0FBQYGBgYFBQQDAgEBAgMEvQUFBjkGBgUFBAMCAQECAwT+hgUFBgYGBgUFBAMCAQECAwQBegUFBgYGBgUFBAMCAQECAwT9SwUFBgYGBgUFBAMCAQECAwQCtQUFBgFjAQIDBAUFBgYGBgUFvQQDAgEBAgMEBQUGBgYGBQW9BAMC/QECAwQFBQYGBgYFBf6GBAMCAQECAwQFBQYGBgYFBQF6BAMCATwBAgMEBQUGBgYGBQX9SwQDAgEBAgMEBQUGBgYGBQUCtQQDAgADAAAAAAN6Ak4APwB/AL8AAAEfDw8PLw8/DiUfDh0BDw4vDz8OJR8OHQEPDi8OPQE/DQIACAgHCAcGBgYFBAQEAgIBAQEBAgIEBAQFBgYHBggHCAgICAcIBwYGBgUEBAQCAgEBAQECAgQEBAUGBgYHCAcIATMICAgHBwYGBgUFAwQCAgICAgIEAwUFBgYGBwcICAgICAcHBwcGBgUEBAMDAgEBAQECAwMEBAYFBgcHBwcI/bIICAcHBwcGBQUFBAMDAgEBAgMDBAUFBQYHBwcHCAgICAgHBwYGBgUFAwQCAgICAgIEAwUFBgYGBwcICAJPAQECAgQEBAUGBgYHCAcICAgIBwgHBgYGBQQEBAICAQEBAQICBAQEBQYGBgcIBwgICAgHCAcGBgYFBAQEAgIBAQEBAgIEBAQFBgYGBwgHCAgICAcIBwYGBgUEBAQCAgEBAQECAgQEBAUGBgYHCAcICAgIBwgHBgYGBQQEBAICAQEBAQICBAQEBQYGBgcIBwgICAgHCAcGBgYFBAQEAgIBAQEBAgIEBAQFBgYGBwgHCAgICAcIBwYGBgUEBAQCAgEAAAAAAQAAAAACjQL7ACsAAAEfBw8EHwQPBy8IPwcCbgYGBgUEAgIBAQICBMfGBAMCAQECAwQEBgYGBgYFBd0EAgIBAQICBN0FBQYC/AEBAwQFBgYGBgUGBcbGBQYGBgYFBgUEAwEBAQEDBN0FBQYGBgYFBd0EAwEAAAAAAQAAAAACjQL8ACsAAAEfCA8ILwc/BC8EPwYBkgYGBQXdBAICAQECAgTdBQUGBgYGBgUEAgIBAQICBMfHBAICAQECAgQFBgYC/AEBAwTdBQUGBgYGBQXdBAMBAQEBAwQFBgUHBgUGBcbGBQYFBwYFBgUEAwEAAAAAAQAAAAADvwMiADIAAAEzHwYBHwQPCiEvCjU/AwE/BgIACgkJCggJCAcBYQkHBQIBAQMEBggJCgYMDQ79Ng8ODAwKCQQHBQQCAgMGCAFmBwgJCAoJCQMiAgIEBAUHB/54DAwNDQ0NDQwMCgoIBAYEAgEDBQcICgULDAwNDQ0NDQwBjgcHBQQEAgIAAAABAAAAAAPBAyMAMgAAEyEfChUPAwEPBy8HAS8DNT8JnQLGDw4MDAoJBAcGAwIBBAYI/pgHCAgJCQoJCgoJCgkJCAgH/p0JBwUDAQIFBggJCgwMDgMkAgMFBwgJBQwMDA0NDQ0NDP5wCAYFBQMDAQEBAQMDBQUGCAGKDAwNDQ0ODA0LCwkIBwUDAAAAAAEAAAAAAyIDvwA6AAABMx8NFREPCiMvAwEvBj0BPwYBPwYCxAkJCQgICAcHBwUFBAQCAgEDBQcICgULDAwNDQ0NDQz+cgcHBQQEAgICAgQEBQcHAYgHCAgICAgIA78CAgMEBAUGBwcHCQkJCgr9Pg8ODAwKCQQHBQQCAgMGCAFmBwgJCAoJCQoKCQkKCAkIBwFhBgUEBAICAQAAAAEAAAAAAyIDvwA6AAABMx8GAR8GHQEPBgEPBC8KETU/DQE8CAgICAgICAcBiAcHBQQEAgICAgQEBQcH/ngMDA0NDQ0NDAwKCggEBgQCAgIEBAUFBwYICAgICQkDvwECAwMEBQb+nwcICQgKCQkKCgkJCggJCAf+nwkHBQIBAQMEBggJCgYMDQ4CygoKCQkJBwcHBgUEBAMCAgAAAAIAAAAAA/cD+ACJASIAABMzHwcPByMfEj8aMx8GHQEPFC8PFQ8HLwc1PwcBMx8SNT8GOwEfBhUPByMvBz8GOwEvEw8aIy8HNT8eJ/wHBQYFBAMBAQEBAwQFBgUHuAcPCQkJCgoWFxgaGxsdHh8fHyAeGxkaGhkZGBcXFRUTEhEQCQkIBwYHAwUHBAUFBgYGBQQDAgENCAkUFRQVFhgYGhobHB0eHh4fHyEhIiEfHx4dHBoaGBcWExIBAQMEBQUGBgcFBgUEAwEBAQEDBAUGBQcB0xEiIiEhIB8eHRwaGRgLCwsKCQkJAQEDBAUGBQYHBQYFBAMBAQEBAwQFBgUH/AYFBgUEAwEBAQEDBAUGBQayBwcICQkJCgoWFxgaGxsdHh8fHyAeGxoZGhoYGBcXFRUTExAQCQkICgYEBQYEBAUFBgYGBQQDAQEICAgJCQsKDAwMDQ4ODg8PEBAQEREREhITExITExQTAYIBAQMEBQYFBwYFBgUEAwEBDxwNDQ0MDBYVExEPDgsKBwYDAQECBQYICQsMDg8QEhMUFRcPDw8QERAFBwYCAQEBAwQFBQYHBgUeEhEkHhgXFhUSEhAODAsJBwUDAQEDBQcKCw0OERMVFhgZGx2aBgUGBQQDAQEBAQMEBQYFBvwHBQYFBAMBAQJ2AgUHCAsNDxATFBcYDA4NDg4PD6YGBgUFBAMCAgMEBQUGBvwHBQYFBAMBAQEBAwQFBgUHBgYFBQQDAg8ODg0NDQwMFhUTEQ8OCwoHBgMBAQIFBggJCw0NDxERExUVFg4QDxgRCAkHAgIBAQEDBAUGBQcGFhIREhAREA8PDw4NDgwMCwsLCQkJBwcHBgUEBAICAgAAAQAAAAAD9wPgAFAAAAEzHwQTHwMFHwUPBxUTHQEPBC8CJScjBwUPAi8EPQETNS8HPwUlPwMTPwQCAAQECAYDA4kEBQcDASYEBQcFAwIBAwIDzQUBAyoCBQYHCAgEBf71BwgG/vQFBAgICAUFAioBAwXNAwIDAQIDBQcFBAEiBwYGBIkDAwMDCAPhAQMGAwT+/AYFBAEzAQIEBwcICAgEBNMGAwcH/tkEBQgHBgQCAQECgwIChAEBAQIEBgcIBAUBJAcHBgbTBAQICAgHBwQCATICBAUGAQQEAwMDAwAAAAAAABIA3gABAAAAAAAAAAEAAAABAAAAAAABAA4AAQABAAAAAAACAAcADwABAAAAAAADAA4AFgABAAAAAAAEAA4AJAABAAAAAAAFAAsAMgABAAAAAAAGAA4APQABAAAAAAAKACwASwABAAAAAAALABIAdwADAAEECQAAAAIAiQADAAEECQABABwAiwADAAEECQACAA4ApwADAAEECQADABwAtQADAAEECQAEABwA0QADAAEECQAFABYA7QADAAEECQAGABwBAwADAAEECQAKAFgBHwADAAEECQALACQBdyBCbGF6b3IgVG9vbGtpdFJlZ3VsYXJCbGF6b3IgVG9vbGtpdEJsYXpvciBUb29sa2l0VmVyc2lvbiAxLjBCbGF6b3IgVG9vbGtpdEZvbnQgZ2VuZXJhdGVkIHVzaW5nIFN5bmNmdXNpb24gTWV0cm8gU3R1ZGlvd3d3LnN5bmNmdXNpb24uY29tACAAQgBsAGEAegBvAHIAIABUAG8AbwBsAGsAaQB0AFIAZQBnAHUAbABhAHIAQgBsAGEAegBvAHIAIABUAG8AbwBsAGsAaQB0AEIAbABhAHoAbwByACAAVABvAG8AbABrAGkAdABWAGUAcgBzAGkAbwBuACAAMQAuADAAQgBsAGEAegBvAHIAIABUAG8AbwBsAGsAaQB0AEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAFMAeQBuAGMAZgB1AHMAaQBvAG4AIABNAGUAdAByAG8AIABTAHQAdQBkAGkAbwB3AHcAdwAuAHMAeQBuAGMAZgB1AHMAaQBvAG4ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0BAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAApjaGV2cm9uLXVwDGNoZXZyb24tZG93bgxjaGV2cm9uLWxlZnQNY2hldnJvbi1yaWdodAhhcnJvdy11cAphcnJvdy1kb3duC2Fycm93LXJpZ2h0BWNoZWNrFGludGVybWVkaWF0ZS1zdGF0ZS0yBWNsb3NlDnRpbWVsaW5lLXRvZGF5DHRpbWVsaW5lLWRheQVjbG9jawVwYXVzZQRwbGF5B3JlZnJlc2gFdHJhc2gNY2lyY2xlLXJlbW92ZQ1yZXNpemVyLXJpZ2h0EW1vcmUtaG9yaXpvbnRhbC0xEmNoZXZyb24tbGVmdC1zbWFsbBNjaGV2cm9uLXJpZ2h0LXNtYWxsD2NoZXZyb24tdXAtZmlsbBFjaGV2cm9uLWRvd24tZmlsbBFjaGV2cm9uLWxlZnQtZmlsbBJjaGV2cm9uLXJpZ2h0LWZpbGwFcmVzZXQLc3Rhci1maWxsZWQAAA==); +} +.e-toolkit-icons, +button.e-toolkit-icons { + font-family: "e-toolkit-icons"; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + text-transform: none; +} +.e-toolkit-icons.e-chevron-up::before, +button.e-toolkit-icons.e-chevron-up::before { + content: "\e700"; +} +.e-toolkit-icons.e-chevron-down::before, +button.e-toolkit-icons.e-chevron-down::before { + content: "\e701"; +} +.e-toolkit-icons.e-chevron-left::before, +button.e-toolkit-icons.e-chevron-left::before { + content: "\e702"; +} +.e-toolkit-icons.e-chevron-right::before, +button.e-toolkit-icons.e-chevron-right::before { + content: "\e703"; +} +.e-toolkit-icons.e-arrow-up::before, +button.e-toolkit-icons.e-arrow-up::before { + content: "\e704"; +} +.e-toolkit-icons.e-arrow-down::before, +button.e-toolkit-icons.e-arrow-down::before { + content: "\e705"; +} +.e-toolkit-icons.e-arrow-right::before, +button.e-toolkit-icons.e-arrow-right::before { + content: "\e706"; +} +.e-toolkit-icons.e-check::before, +button.e-toolkit-icons.e-check::before { + content: "\e707"; +} +.e-toolkit-icons.e-intermediate-state-2::before, +button.e-toolkit-icons.e-intermediate-state-2::before { + content: "\e708"; +} +.e-toolkit-icons.e-close::before, +button.e-toolkit-icons.e-close::before { + content: "\e709"; +} +.e-toolkit-icons.e-timeline-today::before, +button.e-toolkit-icons.e-timeline-today::before { + content: "\e70a"; +} +.e-toolkit-icons.e-timeline-day::before, +button.e-toolkit-icons.e-timeline-day::before { + content: "\e70b"; +} +.e-toolkit-icons.e-clock::before, +button.e-toolkit-icons.e-clock::before { + content: "\e70c"; +} +.e-toolkit-icons.e-pause::before, +button.e-toolkit-icons.e-pause::before { + content: "\e70d"; +} +.e-toolkit-icons.e-play::before, +button.e-toolkit-icons.e-play::before { + content: "\e70e"; +} +.e-toolkit-icons.e-refresh::before, +button.e-toolkit-icons.e-refresh::before { + content: "\e70f"; +} +.e-toolkit-icons.e-trash::before, +button.e-toolkit-icons.e-trash::before { + content: "\e710"; +} +.e-toolkit-icons.e-circle-remove::before, +button.e-toolkit-icons.e-circle-remove::before { + content: "\e711"; +} +.e-toolkit-icons.e-resizer-right::before, +button.e-toolkit-icons.e-resizer-right::before { + content: "\e712"; +} +.e-toolkit-icons.e-more-horizontal-1::before, +button.e-toolkit-icons.e-more-horizontal-1::before { + content: "\e713"; +} +.e-toolkit-icons.e-chevron-left-small::before, +button.e-toolkit-icons.e-chevron-left-small::before { + content: "\e714"; +} +.e-toolkit-icons.e-chevron-right-small::before, +button.e-toolkit-icons.e-chevron-right-small::before { + content: "\e715"; +} +.e-toolkit-icons.e-chevron-up-fill::before, +button.e-toolkit-icons.e-chevron-up-fill::before { + content: "\e716"; +} +.e-toolkit-icons.e-chevron-down-fill::before, +button.e-toolkit-icons.e-chevron-down-fill::before { + content: "\e717"; +} +.e-toolkit-icons.e-chevron-left-fill::before, +button.e-toolkit-icons.e-chevron-left-fill::before { + content: "\e718"; +} +.e-toolkit-icons.e-chevron-right-fill::before, +button.e-toolkit-icons.e-chevron-right-fill::before { + content: "\e719"; +} +.e-toolkit-icons.e-reset::before, +button.e-toolkit-icons.e-reset::before { + content: "\e71a"; +} +.e-toolkit-icons.e-star-filled::before, +button.e-toolkit-icons.e-star-filled::before { + content: "\e71b"; +} + +.e-checkbox-wrapper, +.e-css.e-checkbox-wrapper { + border-radius: calc(var(--e-radius) * 0.25); + border: 1px solid transparent; + cursor: pointer; + display: inline-block; + line-height: 0; + outline: none; + user-select: none; +} +.e-checkbox-wrapper label, +.e-css.e-checkbox-wrapper label { + cursor: pointer; + display: inline-block; + line-height: 0; + margin: 0; + position: relative; + white-space: nowrap; +} + +.e-checkbox-wrapper:focus .e-frame, .e-checkbox-wrapper.e-focus .e-frame, +.e-css.e-checkbox-wrapper:focus .e-frame, +.e-css.e-checkbox-wrapper.e-focus .e-frame { + box-shadow: inset 0 0 0 1px var(--color-sf-shadow-color), inset 0 0 0 2px var(--color-sf-shadow-color1); + border-radius: calc(var(--e-radius) * 0.25); +} + +.e-checkbox-wrapper .e-label, +.e-css.e-checkbox-wrapper .e-label { + cursor: pointer; + display: inline-block; + font-family: var(--e-font-family); + font-size: 14px; + font-weight: normal; + line-height: 16px; + user-select: none; + vertical-align: middle; + white-space: normal; +} + +.e-checkbox-wrapper .e-checkbox, +.e-css.e-checkbox-wrapper .e-checkbox { + height: 1px; + opacity: 0; + position: absolute; + width: 1px; +} +.e-checkbox-wrapper .e-checkbox + .e-label, +.e-css.e-checkbox-wrapper .e-checkbox + .e-label { + margin: 6px 4px 6px 8px; +} + +.e-checkbox-wrapper .e-frame, +.e-css.e-checkbox-wrapper .e-frame { + border: 1px solid; + border-radius: calc(var(--e-radius) * 0.125); + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: "e-toolkit-icons"; + height: 16px; + line-height: 15px; + padding: 0; + text-align: center; + vertical-align: middle; + width: 16px; + margin: 7.2px 8px; +} +.e-checkbox-wrapper .e-frame + .e-label, +.e-css.e-checkbox-wrapper .e-frame + .e-label { + margin: 6px 8px 6px 4px; +} + +.e-checkbox-wrapper .e-check, +.e-css.e-checkbox-wrapper .e-check { + font-size: 10px; +} + +.e-checkbox-wrapper .e-stop, +.e-css.e-checkbox-wrapper .e-stop { + font-size: 13px; + line-height: 15px; +} + +.e-checkbox-wrapper.e-checkbox-disabled, +.e-css.e-checkbox-wrapper.e-checkbox-disabled { + cursor: default; + pointer-events: none; +} +.e-checkbox-wrapper.e-checkbox-disabled .e-frame, +.e-css.e-checkbox-wrapper.e-checkbox-disabled .e-frame { + cursor: default; +} +.e-checkbox-wrapper.e-checkbox-disabled .e-label, +.e-css.e-checkbox-wrapper.e-checkbox-disabled .e-label { + cursor: default; +} + +.e-checkbox-wrapper.e-rtl .e-frame:hover, +.e-css.e-checkbox-wrapper.e-rtl .e-frame:hover { + background-color: var(--color-sf-content-bg-color); + border-color: var(--color-sf-border-hover); +} +.e-checkbox-wrapper.e-rtl .e-label, +.e-css.e-checkbox-wrapper.e-rtl .e-label { + margin: 6px 4px 6px 8px; +} +.e-checkbox-wrapper.e-rtl .e-checkbox + .e-label, +.e-css.e-checkbox-wrapper.e-rtl .e-checkbox + .e-label { + margin: 6px 4px 6px 8px; +} + +.e-checkbox-wrapper[readonly] { + pointer-events: none; +} + +.e-checkbox-wrapper, +.e-css.e-checkbox-wrapper { + -webkit-tap-highlight-color: transparent; +} +.e-checkbox-wrapper .e-frame, +.e-css.e-checkbox-wrapper .e-frame { + background-color: var(--color-sf-content-bg-color); + border-color: var(--color-sf-border-alt); +} +.e-checkbox-wrapper .e-frame.e-check, +.e-css.e-checkbox-wrapper .e-frame.e-check { + background-color: var(--color-sf-primary); + border-color: var(--color-sf-primary); + color: var(--color-sf-primary-text-color); +} +.e-checkbox-wrapper .e-frame.e-stop, +.e-css.e-checkbox-wrapper .e-frame.e-stop { + background-color: var(--color-sf-content-bg-color); + border-color: var(--color-sf-primary); + color: var(--color-sf-primary); +} + +.e-checkbox-wrapper .e-label, +.e-css.e-checkbox-wrapper .e-label { + color: var(--color-sf-content-text-color); +} + +.e-checkbox-wrapper .e-checkbox:focus + .e-frame, .e-checkbox-wrapper .e-checkbox:active + .e-frame, +.e-css.e-checkbox-wrapper .e-checkbox:focus + .e-frame, +.e-css.e-checkbox-wrapper .e-checkbox:active + .e-frame { + background-color: var(--color-sf-content-bg-color); + border-color: var(--color-sf-border-alt); + box-shadow: none; +} +.e-checkbox-wrapper .e-checkbox:focus + .e-frame.e-check, .e-checkbox-wrapper .e-checkbox:active + .e-frame.e-check, +.e-css.e-checkbox-wrapper .e-checkbox:focus + .e-frame.e-check, +.e-css.e-checkbox-wrapper .e-checkbox:active + .e-frame.e-check { + background-color: var(--color-sf-primary); + border-color: var(--color-sf-primary); + box-shadow: none; + color: var(--color-sf-primary-text-color); +} +.e-checkbox-wrapper .e-checkbox:focus + .e-frame.e-stop, .e-checkbox-wrapper .e-checkbox:active + .e-frame.e-stop, +.e-css.e-checkbox-wrapper .e-checkbox:focus + .e-frame.e-stop, +.e-css.e-checkbox-wrapper .e-checkbox:active + .e-frame.e-stop { + background-color: var(--color-sf-content-bg-color); + border-color: var(--color-sf-primary); + box-shadow: none; + color: var(--color-sf-primary-bg-color-hover); +} + +.e-checkbox-wrapper:hover .e-frame, +.e-css.e-checkbox-wrapper:hover .e-frame { + background-color: var(--color-sf-content-bg-color); + border-color: var(--color-sf-border-hover); +} +.e-checkbox-wrapper:hover .e-frame.e-check, +.e-css.e-checkbox-wrapper:hover .e-frame.e-check { + background-color: var(--color-sf-primary-border-color-hover); + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-text-color); +} +.e-checkbox-wrapper:hover .e-frame.e-stop, +.e-css.e-checkbox-wrapper:hover .e-frame.e-stop { + border-color: var(--color-sf-primary-border-color-hover); + color: var(--color-sf-primary-bg-color-hover); +} +.e-checkbox-wrapper:hover .e-label, +.e-css.e-checkbox-wrapper:hover .e-label { + color: var(--color-sf-content-text-color); +} + +.e-checkbox-wrapper.e-checkbox-disabled .e-frame, +.e-css.e-checkbox-wrapper.e-checkbox-disabled .e-frame { + background-color: transparent; + border-color: var(--color-sf-border-disabled); + color: var(--color-sf-content-text-color-disabled); +} +.e-checkbox-wrapper.e-checkbox-disabled .e-frame.e-check, +.e-css.e-checkbox-wrapper.e-checkbox-disabled .e-frame.e-check { + background-color: transparent; + border-color: var(--color-sf-border-disabled); + color: var(--color-sf-content-text-color-disabled); +} +.e-checkbox-wrapper.e-checkbox-disabled .e-frame.e-stop, +.e-css.e-checkbox-wrapper.e-checkbox-disabled .e-frame.e-stop { + background-color: transparent; + border-color: var(--color-sf-border-disabled); + color: var(--color-sf-content-text-color-disabled); +} +.e-checkbox-wrapper.e-checkbox-disabled .e-label, +.e-css.e-checkbox-wrapper.e-checkbox-disabled .e-label { + color: var(--color-sf-content-text-color-disabled); +} + +.e-checkbox-wrapper.e-focus .e-frame, .e-checkbox-wrapper.e-focus .e-frame.e-check, +.e-css.e-checkbox-wrapper.e-focus .e-frame, +.e-css.e-checkbox-wrapper.e-focus .e-frame.e-check { + outline: rgba(var(--color-sf-primary), 0.25); + outline-offset: 0; +} + +.e-checkbox-wrapper .e-check::before, +.e-css.e-checkbox-wrapper .e-check::before { + content: "\e707"; +} + +.e-checkbox-wrapper .e-stop::before, +.e-css.e-checkbox-wrapper .e-stop::before { + content: "\e708"; +} \ No newline at end of file diff --git a/src/wwwroot/styles/combined-scss/fluent.scss b/src/wwwroot/styles/combined-scss/fluent.scss new file mode 100644 index 0000000..90fa7be --- /dev/null +++ b/src/wwwroot/styles/combined-scss/fluent.scss @@ -0,0 +1,13845 @@ +@use 'sass:color'; +@use 'sass:meta'; +@use 'sass:list'; + +@function mapcolorvariable($pallete-name){ + @return var(#{'--color-sf-'+ $pallete-name}); +} + +@function maplayoutvariable($pallete-name){ + @return var(#{'--e-'+ $pallete-name}); +} + +// Layer priority declaration. Must match the order in highcontrast-tokens.scss +@layer fluent, themes; + +@layer fluent { + +:root { + --color-sf-primary: #0f6cbd; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #b4d6fa; + --color-sf-primary-lighter: #ebf3fc; + --color-sf-primary-dark: #0f548c; + --color-sf-success: #0e700e; + --color-sf-info: #008aa9; + --color-sf-warning: #bc4b09; + --color-sf-danger: #d13438; + + --color-sf-content-bg-color: #fafafa; + --color-sf-content-bg-color-alt1: #fff; + --color-sf-content-bg-color-alt2: #f5f5f5; + --color-sf-content-bg-color-alt3: #e6e6e6; + --color-sf-content-bg-color-alt4: #f0f0f0; + --color-sf-content-bg-color-hover: #f0f0f0; + --color-sf-content-bg-color-pressed: #dbdbdb; + --color-sf-content-bg-color-focus: #f0f0f0; + --color-sf-content-bg-color-selected: #e6e6e6; + --color-sf-flyout-bg-color: #fff; + --color-sf-flyout-bg-color-hover: #f5f5f5; + --color-sf-flyout-bg-color-pressed: #e0e0e0; + --color-sf-flyout-bg-color-selected: #ebebeb; + --color-sf-flyout-bg-color-focus: #f5f5f5; + --color-sf-overlay-bg-color: rgba(0, 0, 0, .4); + + --color-sf-content-text-color: #242424; + --color-sf-content-text-color-alt1: #424242; + --color-sf-content-text-color-alt2: #616161; + --color-sf-content-text-color-alt3: #707070; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #bdbdbd; + --color-sf-placeholder-text-color: #707070; + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + + --color-sf-icon-color: var(--color-sf-content-text-color-alt1); + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + + --color-sf-border-light: #e0e0e0; + --color-sf-border: #d1d1d1; + --color-sf-border-alt: #616161; + --color-sf-border-dark: #c7c7c7; + --color-sf-border-hover: #575757; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: var(--color-sf-border-light); + --color-sf-border-warning: #da3b01; + --color-sf-border-error: #c50f1f; + --color-sf-border-success: #107c10; + --color-sf-flyout-border: var(--color-sf-border-light); + + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #115ea3; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #f0f0f0; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: #b8b8b8; + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + + --color-sf-secondary-bg-color: #fff; + --color-sf-secondary-border-color: #d1d1d1; + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #f5f5f5; + --color-sf-secondary-border-color-hover: #c7c7c7; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: #e0e0e0; + --color-sf-secondary-border-color-pressed: #b3b3b3; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: var(--color-sf-secondary-bg-color); + --color-sf-secondary-border-color-focus: #000; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: #f0f0f0; + --color-sf-secondary-border-color-disabled: #e0e0e0; + --color-sf-secondary-text-color-disabled: #bdbdbd; + --color-sf-secondary-bg-color-selected: #ebebeb; + --color-sf-secondary-border-color-selected: #bdbdbd; + --color-sf-secondary-text-color-selected: #242424; + + --color-sf-success-bg-color: #107c10; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0c5e0c; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + + --color-sf-warning-bg-color: #f7630c; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: var(--color-sf-content-text-color); + --color-sf-warning-bg-color-hover: #bc4b09; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #bc4b09; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + + --color-sf-info-bg-color: #31afcc; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: var(--color-sf-content-text-color); + --color-sf-info-bg-color-hover: #008aa9; + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #00748f; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + + --color-sf-danger-bg-color: #c50f1f; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: #960b18; + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + + + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + + --color-sf-rating-selected-color: #242424; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #b3b3b3; + --color-sf-rating-unrated-disabled-color: #b3b3b3; + --color-sf-rating-selected-hover-color: #115ea3; + + --color-sf-utility-primary-lighter: #{#f9f5ff}; + + --color-sf-shadow-color: #{#000}; + --color-sf-shadow-color1: #{#fff}; + + --color-sf-link-button: var(--color-sf-primary); + + --color-sf-secondary-outline-button-text-color-hover: #{#242424}; + --color-sf-secondary-outline-button-text-color-pressed: #{#242424}; + --color-sf-secondary-outline-button-text-color-selected: #{#242424}; + --color-sf-secondary-outline-button-text-color-focus: #{#242424}; + + --color-sf-slider-shadow1: #{#fff}; + --color-sf-slider-shadow2: #{#d1d1d1}; + --color-sf-slider-border-color: #{#ffffff00}; + --color-sf-slider-bg-disabled: #{#e0e0e0}; + + --color-sf-toggle-switch-border-disabled: #{#f0f0f0}; + + --color-sf-calendar-icon-color: #{#0f6ebd}; + --color-sf-calendar-header-text-color-pressed: #{#0f548c}; + + --color-sf-dialog-border: #{#fafafa}; + + --color-sf-skeleton-bg-color: #e6e6e6; +} + +} + +@media (forced-colors: active) { + :root { + color-scheme: light dark; + } + + .e-btn, + .e-btn.e-flat, + .e-btn.e-outline, + .e-checkbox-wrapper, + .e-radio-wrapper, + .e-switch-wrapper, + .e-input, + .e-textbox, + .e-textarea, + .e-datepicker, + .e-datetimepicker, + .e-timepicker, + .e-dialog, + .e-popup, + .e-tooltip, + .e-calendar, + .e-spinner { + border-color: CanvasText; + background-color: Canvas; + color: CanvasText; + } + + .e-btn.e-primary, + .e-btn.e-success, + .e-btn.e-warning, + .e-btn.e-danger, + .e-btn.e-info { + background-color: Highlight; + border-color: Highlight; + color: HighlightText; + } + + .e-btn:disabled, + .e-checkbox-wrapper.e-disabled, + .e-radio-wrapper.e-disabled, + .e-switch-wrapper.e-disabled, + .e-input:disabled, + .e-textbox:disabled, + .e-textarea:disabled, + .e-datepicker.e-disabled, + .e-datetimepicker.e-disabled, + .e-timepicker.e-disabled { + opacity: 1; + border-color: GrayText; + background-color: Canvas; + color: GrayText; + } + + .e-btn:focus, + .e-btn:focus-visible, + .e-checkbox-wrapper:focus-within, + .e-radio-wrapper:focus-within, + .e-switch-wrapper:focus-within, + .e-textbox:focus, + .e-textarea:focus, + .e-input:focus, + .e-datepicker:focus, + .e-datetimepicker:focus, + .e-timepicker:focus { + outline: 2px solid Highlight; + outline-offset: 2px; + } + + .e-popup, + .e-dialog, + .e-tooltip, + .e-calendar { + box-shadow: none; + } +} + +:root, +.e-dark-mode { + --e-font-name: 'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif; + --e-radius: 1rem; + --e-border: 1rem; + --e-font-sans: sans-serif; +} + +:root, +.e-dark-mode { + --e-font-family: var(--e-font-name), var(--e-font-sans); +} + +$content-bg-color: mapcolorvariable('content-bg-color') !default; +$content-bg-color-alt1: mapcolorvariable('content-bg-color-alt1') !default; +$content-bg-color-alt2: mapcolorvariable('content-bg-color-alt2') !default; +$content-bg-color-alt3: mapcolorvariable('content-bg-color-alt3') !default; +$content-bg-color-alt4: mapcolorvariable('content-bg-color-alt4') !default; +$content-bg-color-hover: mapcolorvariable('content-bg-color-hover') !default; +$content-bg-color-pressed: mapcolorvariable('content-bg-color-pressed') !default; +$content-bg-color-focus: mapcolorvariable('content-bg-color-focus') !default; +$content-bg-color-selected: mapcolorvariable('content-bg-color-selected') !default; +$flyout-bg-color: mapcolorvariable('flyout-bg-color') !default; +$flyout-bg-color-hover: mapcolorvariable('flyout-bg-color-hover') !default; +$flyout-bg-color-pressed: mapcolorvariable('flyout-bg-color-pressed') !default; +$flyout-bg-color-selected: mapcolorvariable('flyout-bg-color-selected') !default; +$flyout-bg-color-focus: mapcolorvariable('flyout-bg-color-focus') !default; +$overlay-bg-color: mapcolorvariable('overlay-bg-color') !default; + +$content-text-color: mapcolorvariable('content-text-color') !default; +$content-text-color-alt1: mapcolorvariable('content-text-color-alt1') !default; +$content-text-color-alt2: mapcolorvariable('content-text-color-alt2') !default; +$content-text-color-alt3: mapcolorvariable('content-text-color-alt3') !default; +$content-text-color-hover: mapcolorvariable('content-text-color-hover') !default; +$content-text-color-selected: mapcolorvariable('content-text-color-selected') !default; +$content-text-color-disabled: mapcolorvariable('content-text-color-disabled') !default; +$placeholder-text-color: mapcolorvariable('placeholder-text-color') !default; +$flyout-text-color-selected: mapcolorvariable('flyout-text-color-selected') !default; +$flyout-text-color-focus: mapcolorvariable('flyout-text-color-focus') !default; +$flyout-text-color-disabled: mapcolorvariable('flyout-text-color-disabled') !default; + +$icon-color: mapcolorvariable('icon-color') !default; +$icon-color-hover: mapcolorvariable('icon-color-hover') !default; +$icon-color-pressed: mapcolorvariable('icon-color-pressed') !default; +$icon-color-disabled: mapcolorvariable('icon-color-disabled') !default; + +$border-light: mapcolorvariable('border-light') !default; +$border: mapcolorvariable('border') !default; +$border-alt: mapcolorvariable('border-alt') !default; +$border-dark: mapcolorvariable('border-dark') !default; +$border-hover: mapcolorvariable('border-hover') !default; +$border-pressed: mapcolorvariable('border-pressed') !default; +$border-disabled: mapcolorvariable('border-disabled') !default; +$border-warning: mapcolorvariable('border-warning') !default; +$border-error: mapcolorvariable('border-error') !default; +$border-success: mapcolorvariable('border-success') !default; +$flyout-border: mapcolorvariable('flyout-border') !default; + +$primary: mapcolorvariable('primary') !default; +$primary-text-color: mapcolorvariable('primary-text-color') !default; +$primary-light: mapcolorvariable('primary-light') !default; +$primary-lighter: mapcolorvariable('primary-lighter') !default; +$primary-dark: mapcolorvariable('primary-dark') !default; +$success: mapcolorvariable('success') !default; +$info: mapcolorvariable('info') !default; +$warning: mapcolorvariable('warning') !default; +$danger: mapcolorvariable('danger') !default; + +$primary-bg-color: mapcolorvariable('primary-bg-color') !default; +$primary-border-color: mapcolorvariable('primary-border-color') !default; +$primary-text: mapcolorvariable('primary-text') !default; +$primary-bg-color-hover: mapcolorvariable('primary-bg-color-hover') !default; +$primary-border-color-hover: mapcolorvariable('primary-border-color-hover') !default; +$primary-text-hover: mapcolorvariable('primary-text-hover') !default; +$primary-bg-color-pressed: mapcolorvariable('primary-bg-color-pressed') !default; +$primary-border-color-pressed: mapcolorvariable('primary-border-color-pressed') !default; +$primary-text-pressed: mapcolorvariable('primary-text-pressed') !default; +$primary-bg-color-focus: mapcolorvariable('primary-bg-color-focus') !default; +$primary-border-color-focus: mapcolorvariable('primary-border-color-focus') !default; +$primary-text-focus: mapcolorvariable('primary-text-focus') !default; +$primary-bg-color-disabled: mapcolorvariable('primary-bg-color-disabled') !default; +$primary-border-color-disabled: mapcolorvariable('primary-border-color-disabled') !default; +$primary-text-disabled: mapcolorvariable('primary-text-disabled') !default; +$primary-bg-color-selected: mapcolorvariable('primary-bg-color-selected') !default; +$primary-border-color-selected: mapcolorvariable('primary-border-color-selected') !default; +$primary-text-selected: mapcolorvariable('primary-text-selected') !default; + +$secondary-bg-color: mapcolorvariable('secondary-bg-color') !default; +$secondary-border-color: mapcolorvariable('secondary-border-color') !default; +$secondary-text: mapcolorvariable('secondary-text-color') !default; +$secondary-bg-color-hover: mapcolorvariable('secondary-bg-color-hover') !default; +$secondary-border-color-hover: mapcolorvariable('secondary-border-color-hover') !default; +$secondary-text-hover: mapcolorvariable('secondary-text-color-hover') !default; +$secondary-bg-color-pressed: mapcolorvariable('secondary-bg-color-pressed') !default; +$secondary-border-color-pressed: mapcolorvariable('secondary-border-color-pressed') !default; +$secondary-text-pressed: mapcolorvariable('secondary-text-color-pressed') !default; +$secondary-bg-color-focus: mapcolorvariable('secondary-bg-color-focus') !default; +$secondary-border-color-focus: mapcolorvariable('secondary-border-color-focus') !default; +$secondary-text-focus: mapcolorvariable('secondary-text-color-focus') !default; +$secondary-bg-color-disabled: mapcolorvariable('secondary-bg-color-disabled') !default; +$secondary-border-color-disabled: mapcolorvariable('secondary-border-color-disabled') !default; +$secondary-text-disabled: mapcolorvariable('secondary-text-color-disabled') !default; +$secondary-bg-color-selected: mapcolorvariable('secondary-bg-color-selected') !default; +$secondary-border-color-selected: mapcolorvariable('secondary-border-color-selected') !default; +$secondary-text-selected: mapcolorvariable('secondary-text-color-selected') !default; + +$success-bg-color: mapcolorvariable('success-bg-color') !default; +$success-border-color: mapcolorvariable('success-border-color') !default; +$success-text: mapcolorvariable('success-text') !default; +$success-bg-color-hover: mapcolorvariable('success-bg-color-hover') !default; +$success-border-color-hover: mapcolorvariable('success-border-color-hover') !default; +$success-text-hover: mapcolorvariable('success-text-hover') !default; +$success-bg-color-pressed: mapcolorvariable('success-bg-color-pressed') !default; +$success-border-color-pressed: mapcolorvariable('success-border-color-pressed') !default; +$success-text-pressed: mapcolorvariable('success-text-pressed') !default; +$success-bg-color-focus: mapcolorvariable('success-bg-color-focus') !default; +$success-border-color-focus: mapcolorvariable('success-border-color-focus') !default; +$success-text-focus: mapcolorvariable('success-text-focus') !default; +$success-bg-color-disabled: mapcolorvariable('success-bg-color-disabled') !default; +$success-border-color-disabled: mapcolorvariable('success-border-color-disabled') !default; +$success-text-disabled: mapcolorvariable('success-text-disabled') !default; +$success-bg-color-selected: mapcolorvariable('success-bg-color-selected') !default; +$success-border-color-selected: mapcolorvariable('success-border-color-selected') !default; +$success-text-selected: mapcolorvariable('success-text-selected') !default; + +$warning-bg-color: mapcolorvariable('warning-bg-color') !default; +$warning-border-color: mapcolorvariable('warning-border-color') !default; +$warning-text: mapcolorvariable('warning-text') !default; +$warning-bg-color-hover: mapcolorvariable('warning-bg-color-hover') !default; +$warning-border-color-hover: mapcolorvariable('warning-border-color-hover') !default; +$warning-text-hover: mapcolorvariable('warning-text-hover') !default; +$warning-bg-color-pressed: mapcolorvariable('warning-bg-color-pressed') !default; +$warning-border-color-pressed: mapcolorvariable('warning-border-color-pressed') !default; +$warning-text-pressed: mapcolorvariable('warning-text-pressed') !default; +$warning-bg-color-focus: mapcolorvariable('warning-bg-color-focus') !default; +$warning-border-color-focus: mapcolorvariable('warning-border-color-focus') !default; +$warning-text-focus: mapcolorvariable('warning-text-focus') !default; +$warning-bg-color-disabled: mapcolorvariable('warning-bg-color-disabled') !default; +$warning-border-color-disabled: mapcolorvariable('warning-border-color-disabled') !default; +$warning-text-disabled: mapcolorvariable('warning-text-disabled') !default; +$warning-bg-color-selected: mapcolorvariable('warning-bg-color-selected') !default; +$warning-border-color-selected: mapcolorvariable('warning-border-color-selected') !default; +$warning-text-selected: mapcolorvariable('warning-text-selected') !default; + +$info-bg-color: mapcolorvariable('info-bg-color') !default; +$info-border-color: mapcolorvariable('info-border-color') !default; +$info-text: mapcolorvariable('info-text') !default; +$info-bg-color-hover: mapcolorvariable('info-bg-color-hover') !default; +$info-border-color-hover: mapcolorvariable('info-border-color-hover') !default; +$info-text-hover: mapcolorvariable('info-text-hover') !default; +$info-bg-color-pressed: mapcolorvariable('info-bg-color-pressed') !default; +$info-border-color-pressed: mapcolorvariable('info-border-color-pressed') !default; +$info-text-pressed: mapcolorvariable('info-text-pressed') !default; +$info-bg-color-focus: mapcolorvariable('info-bg-color-focus') !default; +$info-border-color-focus: mapcolorvariable('info-border-color-focus') !default; +$info-text-focus: mapcolorvariable('info-text-focus') !default; +$info-bg-color-disabled: mapcolorvariable('info-bg-color-disabled') !default; +$info-border-color-disabled: mapcolorvariable('info-border-color-disabled') !default; +$info-text-disabled: mapcolorvariable('info-text-disabled') !default; +$info-bg-color-selected: mapcolorvariable('info-bg-color-selected') !default; +$info-border-color-selected: mapcolorvariable('info-border-color-selected') !default; +$info-text-selected: mapcolorvariable('info-text-selected') !default; + +$danger-bg-color: mapcolorvariable('danger-bg-color') !default; +$danger-border-color: mapcolorvariable('danger-border-color') !default; +$danger-text: mapcolorvariable('danger-text') !default; +$danger-bg-color-hover: mapcolorvariable('danger-bg-color-hover') !default; +$danger-border-color-hover: mapcolorvariable('danger-border-color-hover') !default; +$danger-text-hover: mapcolorvariable('danger-text-hover') !default; +$danger-bg-color-pressed: mapcolorvariable('danger-bg-color-pressed') !default; +$danger-border-color-pressed: mapcolorvariable('danger-border-color-pressed') !default; +$danger-text-pressed: mapcolorvariable('danger-text-pressed') !default; +$danger-bg-color-focus: mapcolorvariable('danger-bg-color-focus') !default; +$danger-border-color-focus: mapcolorvariable('danger-border-color-focus') !default; +$danger-text-focus: mapcolorvariable('danger-text-focus') !default; +$danger-bg-color-disabled: mapcolorvariable('danger-bg-color-disabled') !default; +$danger-border-color-disabled: mapcolorvariable('danger-border-color-disabled') !default; +$danger-text-disabled: mapcolorvariable('danger-text-disabled') !default; +$danger-bg-color-selected: mapcolorvariable('danger-bg-color-selected') !default; +$danger-border-color-selected: mapcolorvariable('danger-border-color-selected') !default; +$danger-text-selected: mapcolorvariable('danger-text-selected') !default; + +$tooltip-bg-color: mapcolorvariable('tooltip-bg-color') !default; +$tooltip-border: mapcolorvariable('tooltip-border') !default; +$tooltip-text-color: mapcolorvariable('tooltip-text-color') !default; + +$rating-selected-color:mapcolorvariable('rating-selected-color') !default; +$rating-unrated-color: mapcolorvariable('rating-unrated-color') !default; +$rating-selected-disabled-color: mapcolorvariable('rating-selected-disabled-color') !default; +$rating-unrated-disabled-color: mapcolorvariable('rating-unrated-disabled-color') !default; +$rating-selected-hover-color: mapcolorvariable('rating-selected-hover-color') !default; +$utility-primary-lighter: mapcolorvariable('utility-primary-lighter'); + + +$fg-senary: mapcolorvariable('fg-senary'); +$shadow-color: mapcolorvariable('shadow-color') !default; +$shadow-color1: mapcolorvariable('shadow-color1') !default; + +$link-button: mapcolorvariable('link-button') !default; + +$secondary-outline-button-text-color-hover: mapcolorvariable('secondary-outline-button-text-color-hover') !default; +$secondary-outline-button-text-color-pressed: mapcolorvariable('secondary-outline-button-text-color-pressed') !default; +$secondary-outline-button-text-color-selected: mapcolorvariable('secondary-outline-button-text-color-selected') !default; +$secondary-outline-button-text-color-focus: mapcolorvariable('secondary-outline-button-text-color-focus') !default; + +$slider-shadow1: mapcolorvariable('slider-shadow1') !default; +$slider-shadow2: mapcolorvariable('slider-shadow2') !default; +$slider-border-color: mapcolorvariable('slider-border-color') !default; +$slider-bg-disabled: mapcolorvariable('slider-bg-disabled') !default; + +$toggle-switch-border-disabled: mapcolorvariable('toggle-switch-border-disabled') !default; + +$calendar-icon-color: mapcolorvariable('calendar-icon-color') !default; +$calendar-header-text-color-pressed: mapcolorvariable('calendar-header-text-color-pressed') !default; + +$dialog-border: mapcolorvariable('dialog-border') !default; + +$skeleton-bg-color: mapcolorvariable('skeleton-bg-color') !default; + +$black:#000 !default; +$white:#fff !default; +$transparent: transparent; + +$grey-black: #000; +$grey-74: #bdbdbd; +$green20: #0b6a0b !default; + +$brand-160: #ebf3fc; + +$colorpicker-gradient-1: #f00 !default; +$colorpicker-gradient-2: #ff0 !default; +$ccolorpicker-gradient-3: #0f0 !default; +$colorpicker-gradient-4: #0ff !default; +$colorpicker-gradient-5: #00f !default; +$colorpicker-gradient-6: #f0f !default; +$colorpicker-gradient-7: #ff0004 !default; + +$shadow-02: 0 1px 2px 0 rgba($black, .14), 0 0 2px 0 rgba($black, .12) !default; +$shadow-04: 0 2px 4px 0 rgba($black, .14), 0 0 2px 0 rgba($black, .12) !default; +$shadow-16: 0 8px 16px 0 rgba($black, .14), 0 0 2px 0 rgba($black, .12) !default; +$shadow-28: 0 14px 28.8px 0 rgba($black, .24), 0 0 8px 0 rgba($black, .2) !default; +$keyboard-focus: inset 0 0 0 1px $shadow-color, inset 0 0 0 2px $shadow-color1 !default; +$slider-shadow: 0 0 0 1px $slider-shadow2, inset 0 0 0 4px $slider-shadow1 !default; + +$shadow: $shadow-02 !default; +$shadow-sm: $shadow-04 !default; +$shadow-lg:$shadow-16 !default; +$shadow-xl:$shadow-28 !default; +$shadow-none: 0 0 rgba($black, 0) !default; +$shadow-focus-ring1: $keyboard-focus !default; +$shadow-focus-ring2: 0 0 0 1px rgba($black, .95) !default; +$primary-shadow-focus: inset 0 0 0 1px $shadow-color, inset 0 0 0 2px $shadow-color1 !default; +$secondary-shadow-focus: inset 0 0 0 1px $shadow-color, inset 0 0 0 2px $shadow-color1 !default; +$success-shadow-focus: inset 0 0 0 1px $shadow-color, inset 0 0 0 2px $shadow-color1 !default; +$danger-shadow-focus: inset 0 0 0 1px $shadow-color, inset 0 0 0 2px $shadow-color1 !default; +$info-shadow-focus: inset 0 0 0 1px $shadow-color, inset 0 0 0 2px $shadow-color1 !default; +$warning-shadow-focus: inset 0 0 0 1px $shadow-color, inset 0 0 0 2px $shadow-color1 !default; + +/* Font Family */ +$font-family: maplayoutvariable('font-family') !default; + +/* Font Sizes */ +$text-xs: 12px !default; +$text-sm: 14px !default; +$text-base: 16px !default; +$text-lg: 18px !default; +$text-xl: 20px !default; + +//font-weight +$font-weight: 400 !default; +$font-weight-normal: 400 !default; +$font-weight-medium: 500 !default; +$font-weight-semibold: 600 !default; + +//font-icons +$font-icon-12: 12px !default; +$font-icon-14: 14px !default; +$font-icon-16: 16px !default; +$font-icon-20: 20px !default; + +/* Radius */ +$radius-0: calc(maplayoutvariable('radius') * 0) !default; +$radius-1: calc(maplayoutvariable('radius') * .0625) !default; /* 1px */ +$radius-2: calc(maplayoutvariable('radius') * .125) !default; /* 2px */ +$radius-3: calc(maplayoutvariable('radius') * .1875) !default; /* 3px */ +$radius-4: calc(maplayoutvariable('radius') * .25) !default; /* 4px */ +$radius-5: calc(maplayoutvariable('radius') * .3125) !default; /* 5px */ +$radius-6: calc(maplayoutvariable('radius') * .375) !default; /* 6px */ +$radius-8: calc(maplayoutvariable('radius') * .5) !default; /* 8px */ +$radius-9: calc(maplayoutvariable('radius') * .5625) !default; /* 9px */ +$radius-10: calc(maplayoutvariable('radius') * .625) !default; /* 10px */ +$radius-12: calc(maplayoutvariable('radius') * .75) !default; /* 12px */ +$radius-14: calc(maplayoutvariable('radius') * .875) !default; /* 14px */ +$radius-16: calc(maplayoutvariable('radius') * 1) !default; /* 16px */ +$radius-20: calc(maplayoutvariable('radius') * 1.25) !default; /* 20px */ +$radius-5em: calc(maplayoutvariable('radius') * 5) !default; /* 5em */ +$radius-full: 999px !default; +$border-none: none; +$border-radius-50p: 50%; + +/* border */ +$border-0: calc(maplayoutvariable('border') * 0) !default; /* 0px */ +$border-2: calc(maplayoutvariable('border') * .125) !default; /* 2px */ +$leading-tight: 1.25 !default; +$leading-normal: 1.5 !default; + +$secondary-text-color: $secondary-text !default; +$secondary-text-color-hover: $secondary-text-hover !default; +$secondary-text-color-pressed: $secondary-text-pressed !default; +$secondary-text-color-focus: $secondary-text-focus !default; +$secondary-text-color-disabled: $secondary-text-disabled !default; +$secondary-text-color-selected: $secondary-text-selected !default; +$error-font-color: $danger !default; +$primary-lighter: $utility-primary-lighter !default; + +$chip-secondary-active-bg-color: $fg-senary !default; + +$btn-border-radius:4px !default; + +$switch-box-shadow: 0 0 0 2px #fff, 0 0 0 3px #000 !default; +$progress-btn-spinner-color: #ebf3fc !default; + +.e-dark-mode{ + --color-sf-black: #000; + --color-sf-content-bg-color: #1f1f1f; + --color-sf-content-bg-color-alt1: #292929; + --color-sf-content-bg-color-alt2: #141414; + --color-sf-content-bg-color-alt3: #333; + --color-sf-content-bg-color-alt4: #0a0a0a; + --color-sf-content-bg-color-hover: var(--color-sf-content-bg-color-alt3); + --color-sf-content-bg-color-pressed: var(--color-sf-content-bg-color-alt2); + --color-sf-content-bg-color-focus: var(--color-sf-content-bg-color-hover); + --color-sf-content-bg-color-selected: #2e2e2e; + --color-sf-flyout-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-flyout-bg-color-hover: #3d3d3d; + --color-sf-flyout-bg-color-pressed: var(--color-sf-black); + --color-sf-flyout-bg-color-selected: #383838; + --color-sf-flyout-bg-color-focus: var(--color-sf-flyout-bg-color-hover); + --color-sf-overlay-bg-color: rgba($black, .4); + + --color-sf-content-text-color: #fff; + --color-sf-content-text-color-alt1: #d6d6d6; + --color-sf-content-text-color-alt2: #adadad; + --color-sf-content-text-color-alt3: #999; + --color-sf-content-text-color-hover: var(--color-sf-content-text-color); + --color-sf-content-text-color-selected: var(--color-sf-content-text-color); + --color-sf-content-text-color-disabled: #5c5c5c; + --color-sf-placeholder-text-color: var(--color-sf-content-text-color-alt3); + --color-sf-flyout-text-color-selected: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-focus: var(--color-sf-content-text-color); + --color-sf-flyout-text-color-disabled: var(--color-sf-content-text-color-disabled); + + --color-sf-icon-color: #d6d6d6; + --color-sf-icon-color-hover: var(--color-sf-content-text-color); + --color-sf-icon-color-pressed: var(--color-sf-content-text-color); + --color-sf-icon-color-disabled: var(--color-sf-content-text-color-disabled); + + --color-sf-border-light: #525252; + --color-sf-border: #666; + --color-sf-border-alt: #adadad; + --color-sf-border-dark: #757575; + --color-sf-border-hover: #757575; + --color-sf-border-pressed: #4d4d4d; + --color-sf-border-disabled: #424242; + --color-sf-border-warning: #bc4b09; + --color-sf-border-error: #dc626d; + --color-sf-border-success: #9fd89f; + --color-sf-flyout-border: #525252; + + --color-sf-primary: #115ea3; + --color-sf-primary-text-color: #fff; + --color-sf-primary-light: #0e4775; + --color-sf-primary-lighter: #082338; + --color-sf-primary-dark: #62abf5; + --color-sf-success: #107c10; + --color-sf-info: #0099bc; + --color-sf-warning: #faa06b; + --color-sf-danger: #dc626d; + + --color-sf-primary-bg-color: var(--color-sf-primary); + --color-sf-primary-border-color: var(--color-sf-primary); + --color-sf-primary-text: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-hover: #0f6cbd; + --color-sf-primary-border-color-hover: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-text-hover: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-pressed: #0c3b5e; + --color-sf-primary-border-color-pressed: var(--color-sf-primary-bg-color-pressed); + --color-sf-primary-text-pressed: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-focus: var(--color-sf-primary-bg-color-hover); + --color-sf-primary-border-color-focus: var(--color-sf-primary-bg-color-focus); + --color-sf-primary-text-focus: var(--color-sf-primary-text-color); + --color-sf-primary-bg-color-disabled: #141414; + --color-sf-primary-border-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-primary-text-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-primary-bg-color-selected: #0f548c; + --color-sf-primary-border-color-selected: var(--color-sf-primary-bg-color-selected); + --color-sf-primary-text-selected: var(--color-sf-primary-text-color); + + --color-sf-secondary-bg-color: #292929; + --color-sf-secondary-border-color: var(--color-sf-border); + --color-sf-secondary-text-color: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-hover: #3d3d3d; + --color-sf-secondary-border-color-hover: #757575; + --color-sf-secondary-text-color-hover: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-pressed: var(--color-sf-black); + --color-sf-secondary-border-color-pressed: #6b6b6b; + --color-sf-secondary-text-color-pressed: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-focus: #383838; + --color-sf-secondary-border-color-focus: #fff; + --color-sf-secondary-text-color-focus: var(--color-sf-content-text-color); + --color-sf-secondary-bg-color-disabled: -var(-color-sf-primary-bg-color-disabled); + --color-sf-secondary-border-color-disabled: var(--color-sf-secondary-bg-color-disabled); + --color-sf-secondary-text-color-disabled: var(--color-sf-content-text-color-disabled); + --color-sf-secondary-bg-color-selected: #383838; + --color-sf-secondary-border-color-selected: #707070; + --color-sf-secondary-text-color-selected: var(--color-sf-content-text-color); + + --color-sf-success-bg-color: #218c21; + --color-sf-success-border-color: var(--color-sf-success-bg-color); + --color-sf-success-text: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-hover: #0e700e; + --color-sf-success-border-color-hover: var(--color-sf-success-bg-color-hover); + --color-sf-success-text-hover: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-pressed: #052505; + --color-sf-success-border-color-pressed: var(--color-sf-success-bg-color-pressed); + --color-sf-success-text-pressed: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-focus: var(--color-sf-success-bg-color); + --color-sf-success-border-color-focus: var(--color-sf-success-bg-color-focus); + --color-sf-success-text-focus: var(--color-sf-primary-text-color); + --color-sf-success-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-success-border-color-disabled: var(--color-sf-success-bg-color-disabled); + --color-sf-success-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-success-bg-color-selected: #094509; + --color-sf-success-border-color-selected: var(--color-sf-success-bg-color-selected); + --color-sf-success-text-selected: var(--color-sf-primary-text-color); + + --color-sf-warning-bg-color: #f87528; + --color-sf-warning-border-color: var(--color-sf-warning-bg-color); + --color-sf-warning-text: #242424; + --color-sf-warning-bg-color-hover: #de590b; + --color-sf-warning-border-color-hover: var(--color-sf-warning-bg-color-hover); + --color-sf-warning-text-hover: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-pressed: #4a1e04; + --color-sf-warning-border-color-pressed: var(--color-sf-warning-bg-color-pressed); + --color-sf-warning-text-pressed: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-focus: var(--color-sf-warning-bg-color); + --color-sf-warning-border-color-focus: var(--color-sf-warning-bg-color-focus); + --color-sf-warning-text-focus: var(--color-sf-primary-text-color); + --color-sf-warning-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-warning-border-color-disabled: var(--color-sf-warning-bg-color-disabled); + --color-sf-warning-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-warning-bg-color-selected: #8a3707; + --color-sf-warning-border-color-selected: var(--color-sf-warning-bg-color-selected); + --color-sf-warning-text-selected: var(--color-sf-primary-text-color); + + --color-sf-info-bg-color: #18a4c4; + --color-sf-info-border-color: var(--color-sf-info-bg-color); + --color-sf-info-text: #242424; + --color-sf-info-bg-color-hover: var(--color-sf-info-bg-color); + --color-sf-info-border-color-hover: var(--color-sf-info-bg-color-hover); + --color-sf-info-text-hover: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-pressed: #002e38; + --color-sf-info-border-color-pressed: var(--color-sf-info-bg-color-pressed); + --color-sf-info-text-pressed: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-focus: var(--color-sf-info-bg-color); + --color-sf-info-border-color-focus: var(--color-sf-info-bg-color-focus); + --color-sf-info-text-focus: var(--color-sf-primary-text-color); + --color-sf-info-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-info-border-color-disabled: var(--color-sf-info-bg-color-disabled); + --color-sf-info-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-info-bg-color-selected: #005669; + --color-sf-info-border-color-selected: var(--color-sf-info-bg-color-selected); + --color-sf-info-text-selected: var(--color-sf-primary-text-color); + + --color-sf-danger-bg-color: #cc2635; + --color-sf-danger-border-color: var(--color-sf-danger-bg-color); + --color-sf-danger-text: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-hover: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-hover: var(--color-sf-danger-bg-color-hover); + --color-sf-danger-text-hover: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-pressed: #3b0509; + --color-sf-danger-border-color-pressed: var(--color-sf-danger-bg-color-pressed); + --color-sf-danger-text-pressed: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-focus: var(--color-sf-danger-bg-color); + --color-sf-danger-border-color-focus: var(--color-sf-danger-bg-color-focus); + --color-sf-danger-text-focus: var(--color-sf-primary-text-color); + --color-sf-danger-bg-color-disabled: var(--color-sf-primary-bg-color-disabled); + --color-sf-danger-border-color-disabled: var(--color-sf-danger-bg-color-disabled); + --color-sf-danger-text-disabled: var(--color-sf-primary-text-disabled); + --color-sf-danger-bg-color-selected: #6e0811; + --color-sf-danger-border-color-selected: var(--color-sf-danger-bg-color-selected); + --color-sf-danger-text-selected: var(--color-sf-primary-text-color); + + --color-sf-tooltip-bg-color: var(--color-sf-content-bg-color-alt1); + --color-sf-tooltip-border: var(--color-sf-tooltip-bg-color); + --color-sf-tooltip-text-color: var(--color-sf-content-text-color); + + --color-sf-rating-selected-color: #fff; + --color-sf-rating-unrated-color: var(--color-sf-content-text-color); + --color-sf-rating-selected-disabled-color: #575757; + --color-sf-rating-unrated-disabled-color: #4d4d4d; + --color-sf-rating-selected-hover-color: #2886de; + + --color-sf-shadow-color: #{#fff}; + --color-sf-shadow-color1: #{#000}; + + --color-sf-link-button: var(--color-sf-primary); + + --color-sf-secondary-outline-button-text-color-hover: #{#fff}; + --color-sf-secondary-outline-button-text-color-pressed: #{#fff}; + --color-sf-secondary-outline-button-text-color-selected: #{#fff}; + --color-sf-secondary-outline-button-text-color-focus: #{#fff}; + + --color-sf-slider-shadow1: #{#000}; + --color-sf-slider-shadow2: #{#666666}; + --color-sf-slider-border-color: #{#ffffff00}; + --color-sf-slider-bg-disabled: #{#525252}; + + --color-sf-toggle-switch-border-disabled: #{#141414}; + + --color-sf-calendar-icon-color: #{#1153a3}; + --color-sf-calendar-header-text-color-pressed: #{#62abf5}; + + --color-sf-dialog-border: #{#1f1f1f}; + + --color-sf-skeleton-bg-color: #575757; +} + +$font-size: $text-xs !default; +$success-font-color: $green20 !default; +$imported-modules: () !default; + +@mixin export-module($module) { + @if (list.index($imported-modules, $module) == null) { + $imported-modules: list.append($imported-modules, $module) !global; + @content; + } +} + +@include export-module('base-core') { + + .e-control, + .e-css, + .e-error { + font-family: $font-family; + font-size: $font-size; + font-weight: $font-weight; + } + + $white: #fff; + + .e-error { + color: $error-font-color; + } + + .e-control, + .e-control [class ^= 'e-'], + .e-control [class *= ' e-'] { + box-sizing: border-box; + } + + .e-control:focus, + .e-control *:focus { + outline: none; + } + + .e-rtl { + direction: rtl; + text-align: right; + } + + .e-overlay { + background-color: $overlay-bg-color; + height: 100%; + opacity: .5; + pointer-events: none; + touch-action: none; + width: 100%; + } + + .e-hidden { + display: none; + } + + .e-blazor-hidden { + visibility: hidden; + } + + .e-disabled { + background-image: none; + cursor: default; + opacity: .35; + } + + .e-ul { + list-style-type: none; + } + + .e-prevent-select { + user-select: none; + } + + .e-success { + color: $success-font-color; + } + + // WCAG 4.1.3 Status Messages — visually hidden but reachable by screen readers. + // Replaces per-component inline styles that would otherwise be stripped by + // style-src 'self' Content Security Policies. + .e-sr-only { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; + } +} + +// WCAG 2.3.3 Animation from Interactions (Level AAA) / 2.2.2 Pause, Stop, Hide +// (Level A): honor the user's OS-level "reduce motion" preference. Animations +// and transitions across the toolkit are disabled so users with vestibular +// disorders or who have explicitly opted out of motion are not exposed to +// non-essential animation. +@media (prefers-reduced-motion: reduce) { + .e-control, + .e-control * { + animation-duration: 0.001ms !important; + animation-iteration-count: 1 !important; + transition-duration: 0.001ms !important; + scroll-behavior: auto !important; + } +} + + +@include export-module('base-animation') { + @keyframes SlideLeftOut { + from { + transform: translate(0, 0); + } + + to { + transform: translate(-100%, 0); + } + } + + @keyframes SlideLeftIn { + from { + transform: translate(-100%, 0); + } + + to { + transform: translate(0, 0); + } + } + + @keyframes SlideRightIn { + from { + transform: translate(100%, 0); + } + + to { + transform: translate(0, 0); + } + } + + @keyframes SlideRightOut { + from { + transform: translate(0, 0); + } + + to { + transform: translate(100%, 0); + } + } + + @keyframes SlideBottomIn { + from { + transform: translate(0, 100%); + } + + to { + transform: translate(0, 0); + } + } + + @keyframes SlideBottomOut { + from { + transform: translate(0, 0); + } + + to { + transform: translate(0, 100%); + } + } + + @keyframes SlideTopIn { + from { + transform: translate(0, -100%); + } + + to { + transform: translate(0, 0); + } + } + + @keyframes SlideTopOut { + from { + transform: translate(0, 0); + } + + to { + transform: translate(0, -100%); + } + } + + @keyframes SlideRight { + from { + width: 0; + } + + to { + width: 100%; + } + } + + @keyframes SlideLeft { + from { + width: 100%; + } + + to { + width: 0; + } + } + + @keyframes SlideDown { + from { + height: 0; + } + + to { + height: 100%; + } + } + + @keyframes SlideUp { + from { + height: 100%; + } + + to { + height: 0; + } + } + + @keyframes FadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } + } + + @keyframes FadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } + } + + @keyframes ZoomIn { + from { + transform: translate(0, 0) scale(0); + } + + to { + transform: translate(0, 0) scale(1); + } + } + + @keyframes ZoomOut { + from { + transform: translate(0, 0) scale(1); + } + + to { + transform: translate(0, 0) scale(0); + } + } + + @keyframes FadeZoomIn { + from { + opacity: 0; + transform: scale(0); + } + + to { + opacity: 1; + transform: scale(1); + } + } + + @keyframes FadeZoomOut { + from { + opacity: 1; + transform: scale(1); + } + + to { + opacity: 0; + transform: scale(0); + } + } + + @keyframes FlipRightDownIn { + from { + transform: perspective(400px) rotateY(-180deg); + transform-origin: right center; + transform-style: preserve-3d; + } + + to { + transform: rotateY(0deg); + transform-origin: right center; + transform-style: preserve-3d; + } + } + + @keyframes FlipRightDownOut { + from { + transform: perspective(400px) rotateY(0deg); + transform-origin: right center; + transform-style: preserve-3d; + } + + to { + transform: rotateY(-180deg); + transform-origin: right center; + transform-style: preserve-3d; + } + } + + @keyframes FlipRightUpIn { + from { + transform: perspective(400px) rotateY(135deg); + transform-origin: right center; + transform-style: preserve-3d; + } + + to { + transform: rotateY(0deg); + transform-origin: right center; + transform-style: preserve-3d; + } + } + + @keyframes FlipRightUpOut { + from { + transform: perspective(400px) rotateY(0deg); + transform-origin: right center; + transform-style: preserve-3d; + } + + to { + transform: rotateY(135deg); + transform-origin: right center; + transform-style: preserve-3d; + } + } + + @keyframes FlipLeftDownIn { + from { + transform: perspective(400px) rotateY(-180deg); + transform-origin: left center; + transform-style: preserve-3d; + } + + to { + transform: rotateY(0deg); + transform-origin: left center; + transform-style: preserve-3d; + } + } + + @keyframes FlipLeftDownOut { + from { + transform: perspective(400px) rotateY(0deg); + transform-origin: left center; + transform-style: preserve-3d; + } + + to { + transform: rotateY(135deg); + transform-origin: left center; + transform-style: preserve-3d; + } + } + + @keyframes FlipLeftUpIn { + from { + transform: perspective(400px) rotateY(-135deg); + transform-origin: left center; + transform-style: preserve-3d; + } + + to { + transform: rotateY(0deg); + transform-origin: left center; + transform-style: preserve-3d; + } + } + + @keyframes FlipLeftUpOut { + from { + transform: perspective(400px) rotateY(0deg); + transform-origin: left center; + transform-style: preserve-3d; + } + + to { + transform: rotateY(135deg) perspective(200px); + transform-origin: left center; + transform-style: preserve-3d; + } + } + + @keyframes FlipYLeftIn { + from { + opacity: 0; + transform: perspective(400px) rotateY(180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + + 50% { + transform: perspective(700px) rotateY(90deg); + } + + to { + opacity: 1; + transform: rotateY(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + } + + @keyframes FlipYLeftOut { + from { + opacity: 1; + transform: perspective(400px) rotateY(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + + 50% { + transform: perspective(700px) rotateY(90deg); + } + + 75% { + transform: perspective(850px) rotateY(125deg); + } + + to { + opacity: 0; + transform: rotateY(180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + } + + @keyframes FlipYRightIn { + from { + opacity: 0; + transform: perspective(400px) rotateY(-180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + + 50% { + transform: perspective(700px) rotateY(-90deg); + } + + to { + opacity: 1; + transform: rotateY(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + } + + @keyframes FlipYRightOut { + from { + opacity: 1; + transform: perspective(400px) rotateY(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + + 50% { + transform: perspective(700px) rotateY(-90deg); + } + + to { + opacity: 0; + transform: rotateY(-180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + } + + @keyframes FlipXDownIn { + from { + opacity: 0; + transform: perspective(400px) rotateX(180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + + 50% { + transform: perspective(700px) rotateX(90deg); + } + + to { + opacity: 1; + transform: rotateX(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + } + + @keyframes FlipXDownOut { + from { + opacity: 1; + transform: perspective(400px) rotateX(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + + 50% { + transform: perspective(700px) rotateX(90deg); + } + + 75% { + transform: perspective(850px) rotateX(125deg); + } + + to { + opacity: 0; + transform: rotateX(180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + } + + @keyframes FlipXUpIn { + from { + opacity: 0; + transform: perspective(400px) rotateX(-180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + + 50% { + transform: perspective(700px) rotateX(-90deg); + } + + to { + opacity: 1; + transform: rotateX(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + } + + @keyframes FlipXUpOut { + from { + opacity: 1; + transform: perspective(400px) rotateX(0deg); + transform-origin: center center; + transform-style: preserve-3d; + } + + 50% { + transform: perspective(700px) rotateX(-90deg); + } + + to { + opacity: 0; + transform: rotateX(-180deg); + transform-origin: center center; + transform-style: preserve-3d; + } + } +} + + +@include export-module('base-icons') { + @at-root { + @font-face { + font-family: 'e-toolkit-icons'; + font-weight: normal; + font-style: normal; + src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMj1tSg0AAAEoAAAAVmNtYXDn0+h4AAAB9AAAAGxnbHlmo5jbiwAAApwAACGYaGVhZC846EEAAADQAAAANmhoZWEIVQQeAAAArAAAACRobXR4dAAAAAAAAYAAAAB0bG9jYW4qdnoAAAJgAAAAPG1heHABLwF2AAABCAAAACBuYW1l3yZFbgAAJDQAAAJ5cG9zdIbxPh4AACawAAABvAABAAAEAAAAAFwEAAAAAAAD+AABAAAAAAAAAAAAAAAAAAAAHQABAAAAAQAAEeZCnF8PPPUACwQAAAAAAOYRUaYAAAAA5hFRpgAAAAAD+AP4AAAACAACAAAAAAAAAAEAAAAdAWoACAAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQQAAZAABQAAAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA5wDnGwQAAAAAXAQAAAAAAAABAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAFgAAAAEAAQAAQAA5xv//wAA5wD//wAAAAEABAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAAAAAAEQAhgDKAQ4BZgG+AhYCVgKqAxIEsAXkByoIHAiKCdgK3AwYDKANeg22DfIOOA5+DswPGhBcEMwAAQAAAAADegLMACsAAAEfAwEfAw8HLwMJAQ8DLwc/AwE/AgIABgYFBQFbBAMBAQEBAwQFBgUHBgUGBf68/rwFBgUGBwUGBQQDAQEBAQMEAVsFBQYCzQECAgT+pQUFBgYGBgYFBAICAQECAgQBRf67BAICAQECAgQFBgYGBgYFBQFbBAICAAAAAAEAAAAAA3oCzAArAAATHwMJAT8DHwcPAwEPAy8DAS8DPwamBgUGBQFEAUQFBgUGBwUGBQQDAQEBAQME/qUFBQYGBgYFBf6lBAMBAQEBAwQFBgYCzQECAgT+uwFFBAICAQECAgQFBgYGBgYFBf6lBAICAQECAgQBWwUFBgYGBgYFBAICAAEAAAAAAswDegArAAABHwcPAwkBHwMPBy8DAS8DPwMBPwICrQYGBgUEAgIBAQICBP67AUUEAgIBAQICBAUGBgYGBgUF/qUEAgIBAQICBAFbBQUGA3oBAQMEBQYFBgcFBgX+vP68BQYFBgcFBgUEAwEBAQEDBAFbBQUGBgYGBQUBWwQDAQAAAAABAAAAAALMA3oAKwAAAR8DAR8DDwMBDwMvBz8DCQEvAz8GAVMGBgUFAVsEAgIBAQICBP6lBQUGBgYGBgQEAwIBAQIDBAFE/rsEAgIBAQICBAUGBgN6AQEDBP6lBQUGBgYGBQX+pQQDAQEBAQMEBQYFBwYFBgUBRAFEBQYFBwYFBgUEAwEAAAAAAQAAAAAD1gP1AD0AAAEfAwEfAh0BDwYvAwERFQ8GLwY1EQEPAy8GPQE/AgE/AgIABgYFBQG3BAMCAgMEBQUGBgYGBQX+fgIDBAQGBgYGBgYEBAMC/n4FBQYGBgYFBQQDAgIDBAG3BQUGA/YBAgIE/kkFBgYGBgUGBQQDAQEBAQMEAYL8nwcGBQUDAwIBAQIDAwUFBgcDYf5+BAMBAQEBAwQFBgUGBgYGBQG3BAICAAABAAAAAAPWA/UAPQAAAR8GFREBPwMfBh0BDwIBDwMvAwEvAj0BPwYfAwERNT8FAgAGBgUFBAMCAYIFBQYGBgYFBQQDAgIDBP5JBQUGBgYGBQX+SQQDAgIDBAUFBgYGBgUFAYICAwQEBgYD9gECAwMFBQYH/J8BggQDAQEBAQMEBQYFBgYGBgX+SQQCAgEBAgIEAbcFBgYGBgUGBQQDAQEBAQME/n4DYQcGBQUDAwIAAAEAAAAAA/UD1gA9AAABMx8CAR8DDwMBDwIrAS8GPwMBISMvBj8GMyEBLwM/BgIfBgYGBQG3BAICAQECAgT+SQUGBgYGBQYFBAMBAQEBAwQBgvyfBwYFBQMDAgEBAgMDBQUGBwNh/n4EAwEBAQEDBAUGBQPWAgME/kkFBQYGBgYFBf5JBAMCAgMEBQUGBgYGBQUBggIDBAQGBgYGBgYEBAMCAYIFBQYGBgYFBQQDAgAAAQAAAAADegMLACsAAAEfBw8DAQ8DLwg/Bx8EAT8CA1oHBQYFBAMBAQEBAwT+JwUFBgYGBgUF3QQDAQEBAQMEBQYFBwYFBgXGAcIFBgUDDAECAgQFBgYGBgYFBf4nBAICAQECAgTdBQUGBgYGBgUEAgIBAQICBMcBwwQCAgAAAAABAAAAAAN6A3oAQwAAASEfDxEPDyEvDxE/DgEEAfgNDAwMCwoKCQgHBwUEAwIBAQIDBAUHBwgJCgoLDAwMDf4IDQwMDAsKCgkIBwcFBAMCAQECAwQFBwcICQoKCwwMDAN6AQIDBAUHBwgJCgoLDAwMDf4IDQwMDAsKCgkIBwcFBAMCAQECAwQFBwcICQoKCwwMDA0B+A0MDAwLCgoJCAcHBQQDAgAAAAABAAAAAANYA1kARwAAEx8DCQE/Ax8HDwMJAR8DDwcvAwkBDwMvBz8DCQEvAz8GxgYGBgUBIwEjBQYGBgYFBgUEAwEBAQEDBP7cASQEAwEBAQEDBAUGBQYGBgYF/t3+3QUGBgYGBQYFBAMBAQEBAwQBJP7cBAMBAQEBAwQFBgUDWQEBAwT+3AEkBAMBAQEBAwQFBgUGBgYGBf7d/t0FBgYGBgUGBQQDAQEBAQMEAST+3AQDAQEBAQMEBQYFBgYGBgUBIwEjBQYGBgYFBgUEAwEACAAAAAADuQO5AC8AXwCPAL8A7wELASUBaQAAATMfCR0BDwkrAS8JPQE/CSMzHwkdAQ8JKwEvCT0BPwozHwkdAQ8JKwEvCT0BPwkjMx8JHQEPCSsBLwk9AT8JITMfCR0BDwkrAS8JPQE/CSURFR8JMyEzPwk1ESUjDwkVITUvCSMlIR8PEQ8PIS8PET8OAgAGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYHtwYHBgYKCgcGAgIBAQICBgcKCgYGBwYGBwYGCgoHBgICAQECAgYHCgoGBgfDBgcGBgoKBwYCAgEBAgIGBwoKBgYHBgYHBgYKCgcGAgIBAQICBgcKCgYGB7cGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYHAYAGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYH/c8BAgIGBwoKBgYHBgJ2BgcGBgoKBwYCAgH9SwYHBgYKCgcGAgIBAvQBAgIGBwoKBgYHBv2KAnYNDAwMCwoKCQgHBwUEAwIBAQIDBAUHBwgJCgoLDAwMDf2KDQwMDAsKCgkIBwcFBAMCAQECAwQFBwcICQoKCwwMDAGCAQICBgcKCgYGBwYGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYHBgYHBgYKCgcGAgIBAQICBgcKCgYGBwYGBwYGCgoHBgICAb0BAgIGBwoKBgYHBgYHBgYKCgcGAgIBAQICBgcKCgYGBwYGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgEBAgIGBwoKBgYHBgYHBgYKCgcGAgIBAQICBgcKCgYGBwYGBwYGCgoHBgICAQECAgYHCgoGBgcGBgcGBgoKBwYCAgF+/ggGBwYGCgoHBgICAQECAgYHCgoGBgcGAfi9AQICBgcKCgYGB0VFBwYGCgoHBgICAT8BAgMEBQcHCAkKCgsMDAwN/YoNDAwMCwoKCQgHBwUEAwIBAQIDBAUHBwgJCgoLDAwMDQJ2DQwMDAsKCgkIBwcFBAMCAAAABAAAAAAD1gPWACsAqwDFAREAAAEPBh0CHwYzPwcvBisBNS8HMx8dHQEPHSsBLx09AT8dAQ8LITUvCiUhMx8OES8DNSERHwo7AR8DIS8ONRE1Pw0CvAYGBQUEAwICAwQFBQYGfgYGBQUEAwEBAQEDBAUFBgZeAQIDBAQGBQcPDg4ODg0NDQ0MDAsLCwoKCQkICAgGBwUFBQQDAgIBAQICAwQFBQUHBggICAkJCgoLCwsMDA0NDQ0ODg4ODw4PDg4NDg0NDAwMDAsKCwkKCQgIBwcGBgUEBAMDAgEBAgMDBAQFBgYHBwgICQoJCwoLDAwMDA0NDg0ODg/9+QYHBgULCQgGAgEBAQLxAQICBgcKCgYGBgf9jQJzDQ0MCwsKCgkIBwcFBAMCAQ8PEBH9DwEBAQIGCAkLBQYHBuIJCgsL/vUNDAwMCwoKCQgHBgYEAwICAwQGBgcICQoKCwwMDAHhAQIDBAQGBQd9BgYGBAQDAgEBAgMEBAYGBgYGBQUEAwJeBwYFBAQDAn4BAgMDBAQFBgYHBwgICQoJCwoLDAwMDA0NDg0ODg8ODw4ODg4NDQ0MDQsMCwsKCgkJCAgIBgcFBQUEAwICAQECAgMEBQUFBwYICAgJCQoKCwsLDAwNDQ0NDg4ODg8ODw4ODQ4NDQwMDAwLCgsJCgkICAcHBgYFBAQDAwIBAToBAQECBggJCwUGB0VFBwYFCwkIBgIBAQE+AgMEBgYHCAkKCgsMDAwN/vULCwoJZf4KBwYGBgoKBwYCAgEREA8PAQIDBAUHBwgJCgoLCwwNDQJzDQwMDAsKCgkIBwYGBAMCAAMAAAAAA/gD+AArAKsBKwAAAR8HETMfBw8HIy8HET8HDx8fHz8fLx8fHw8fLx8/HgHgBwYFBQQDAQHcBwYFBQQDAQEBAQMEBQUGB/wGBgUFBAMBAQEBAwQFBQYmFxYWFhUVFRQTExMSEREQDw4ODQ0LCwoICAcGBQQDAQEBAQMEBQYHCAgKCwsNDQ4ODxARERITExMUFRUVFhYWFxcWFhYVFRUUExMTEhEREA8ODg0NCwsKCAgHBgUEAwEBAQEDBAUGBwgICgsLDQ0ODg8QERESExMTFBUVFRYWFhcaGhkZGBgXFxYWFRUUExIRERAPDg0MCwoJCAcGBAMCAQECAwQGBwgJCgsMDQ4PEBEREhMUFRUWFhcXGBgZGRoaGhoZGRgYFxcWFhUVFBMSEREQDw4NDAsKCQgHBgQDAgEBAgMEBgcICQoLDA0ODxARERITFBUVFhYXFxgYGRkaAzsBAQMEBQUGBv7kAQEDBAUFBgcGBgUFBAMBAQEBAwQFBQYGATwGBgUFBAMBfwEBAwQFBgcICAoLCw0NDg4PEBEREhMTExQVFRUWFhYXFxYWFhUVFRQTExMSEREQDw4ODQ0LCwoICAcGBQQDAQEBAQMEBQYHCAgKCwsNDQ4ODxARERITExMUFRUVFhYWFxcWFhYVFRUUExMTEhEREA8ODg0NCwsKCAgHBgUEAwFAAQIDBAYHCAkKCwwNDg8QERESExQVFRYWFxcYGBkZGhoaGhkZGBgXFxYWFRUUExIRERAPDg0MCwoJCAcGBAMCAQECAwQGBwgJCgsMDQ4PEBEREhMUFRUWFhcXGBgZGRoaGhoZGRgYFxcWFhUVFBMSEREQDw4NDAsKCQgHBgQDAgAAAAAEAAAAAAO5A7kAIwBHAIsAzwAAAQ8HER8HMz8HES8HIQ8HER8HMz8HES8HJTsBHw0VERUPDSsCLw01ETU/DSE7AR8NFREVDw0rAi8NNRE1Pw0C3AYGBQUEAwEBAQEDBAUFBgZ+BwYFBQQDAQEBAQMEBQUGB/1MBwYFBQQDAQEBAQMEBQUGB34GBgUFBAMBAQEBAwQFBQYGAbh+CgoJCAkHCAYGBgUEAwICAgIDBAUGBgYIBwkICQoKfgkKCQgJBwgGBgYFBAMCAgICAwQFBgYGCAcJCAkK/dN+CQoJCAkHCAYGBgUEAwICAgIDBAUGBgYIBwkICQoJfgoKCQgJBwgGBgYFBAMCAgICAwQFBgYGCAcJCAkKA3oBAQMEBQUGB/1MBwYFBQQDAQEBAQMEBQUGBwK0BwYFBQQDAQEBAQMEBQUGB/1MBwYFBQQDAQEBAQMEBQUGBwK0BwYFBQQDAQE/AgIDBAUGBgYIBwkICQoK/UwKCgkICQcIBgYGBQQDAgICAgMEBQYGBggHCQgJCgoCtAoKCQgJBwgGBgYFBAMCAgICAwQFBgYGCAcJCAkKCv1MCgoJCAkHCAYGBgUEAwICAgIDBAUGBgYIBwkICQoKArQKCgkICQcIBgYGBQQDAgIAAAAAAgAAAAADiAOzABoAUQAAEw8HER8FNwE/AjUvAgEvATMfAgEfBw8HAQ8DLwsRPw7VBgYFBQMDAgEDBAUHCAgIAl0GBAICBAb9owQJBgwMDAJbDAkIBwUEAgEBAgQFBwgJDP2rDAwMDAwMCwsKCQgHBQMDAgEBAgQEBQUGBwcICAgJCQN1AQIDAwUFBgf9UQgHBQQCAQMBWQYHCAgIBwYBWQJAAgMF/qgHCQkLCwsMDAwMCwsLCQkH/qsGBAIBAQMEBQcHCQoLBgwNArEKCgkJCAgHBwUGBAQDAwEAAAEAAAAAA/gD9wE0AAABHwcVDwcjLwc/BzMvFSMPIRUfITsBPyA1PwY7AR8GDyIjLyE1PyEzHw41PwYDmgYGBQUEAwEBAQEDBAUFBgb8BwYFBQQDAQEBAQMEBQUGB8wMCwwMDQ0ODg8PDxAQEBERExQTFBMUFBMUExQTExMTEhISEREQEA8ODg0NDAsKCgkICAYGBAQDAgIBAQIDBAUGBwcICQoLCwwNDQ4PDxAQERESEhITExMTFBMUFBMUFBQTExMTEhISERAQEA8PDg0NDAsLCgkIBwYGBQQDAgIBAQMEBQUGBwYGBQUEAwEBAQEDAwUFBwcICgoLDA0ODhAQEBISEhMUFBQVFRYWFhYXFxYXFxYWFhYVFhUUFBQUEhISERAPDg4NDAsKCggIBgYFAwMBAQICBAQGBgcJCQoLDA0ODg8QERESEhMUFBUVFRYWFhYWFxYXFhcWFhYWECAfHRwbGhgMAQEDBAUFBgP4AQICBAUFBgf8BgYFBQQDAQEBAQMEBQUGBgcGBQUEAgIBEA4ODQwMDAoLCQkJCAcGBgYFAwMCAgEBAgQEBAYHBwkJCgoMDAwODg4PEBAREhETEhMTExMUExQTFBQTFBMUExMSEhESEBAQDw4ODgwMDAoKCQgHBwUFBAMCAgICAwQFBgYICAkKCgsMDQ0ODw8QERAREhISExMTExQTFBQGBgYEBAMCAgMEBAYGBhcWFxYWFhYVFRQUFBMTEhEREA8PDgwMDAoJCQcHBQUDAwEBAgIEBAYGCAgJCgwMDQ0PDxARERISExQUFBUVFhYXFhYXFhcWFxYWFhUWFRUUFBMTEhEREA8ODg0MDAoJCQgGBgQEAwEBAgIEBAUHBQ0OERIUFhgOjAYGBQUEAgIAAAAABQAAAAAD2AP4ACEAQwBWAG8A1wAAAR8HEQ8HLwcRPwYnHwcRDwcvBxE/BicTHwchPwYTJSMPCjMvCzMfDyEfBw8HIwMPDyEvDwMjLwc/ByE/DgJeBwYFBQQCAgEBAgIEBQUGBwYGBQUEAwEBAQEDBAUFBrcHBgUFBAICAQECAgQFBQYHBgYFBQQDAQEBAQMEBQUG8lEBAwYHCAoKDAGaCwsKCAcFBFL+qQkKCQgJBwgHBwYFBLIEBQYHBwgHCQkJCQkICA8PDg4NDQsIBgcFBQQEBAEfBgYGBAQDAgEBAgMEBAYGBiNSAQMEBQYHBwgJCQoKCwsMDP5yDAwLCwoKCQkICAYGBQQDAlEjBgYGBAQDAgEBAgMEBAYGBgEfBAQEBQUHBggLDQ0ODg8PAn4BAQMEBQUGB/7GBwYFBQQDAQEBAQMEBQUGBwE6BwYFBQQDAQEBAQMEBQUGB/7GBwYFBQQDAQEBAQMEBQUGBwE6BwYFBQQDAb79RAYLCgkIBQUCAgUFCAkKCwLCfgICAwQFBQcICAkKCgkICAcFBQQDAgI/AQIEBQcHCgoICAkJCQoKEQEBAwQFBQYHBgYFBQQDAQH9PQwLCwsJCggIBwYGBQMDAQEBAQMDBQYGBwgICgkLCwsMAsMBAQMEBQUGBgcGBQUEAwEBEQoKCQkJCAgKCgcHBQQCAAAAAAMAAAAAA9gD2AAhAKEBIQAAASEfBh0BDwYhLwY9AT8FEw8fHx8/Hy8fMx8dHQEPHSsBLx09AT8dAUMBegYGBgQEAwICAwQEBgYG/oYGBgYEBAMCAgMEBAYGwxUVFBUTFBMSExERERAPDw8NDQwMCgoJCAgGBgQEAgIBAQICBAQGBggICQoKDAwNDQ8PDxARERETEhMUExUUFRUVFRQVExQTEhMREREQDw8PDQ0MDAoKCQgIBgYEBAICAQECAgQEBgYICAkKCgwMDQ0PDw8QERERExITFBMVFBUVGBgYFxcWFhYVFBQTExIREBAPDg0MCwsJCQcHBQQDAgIDBAUHBwkJCwsMDQ4PEBAREhMTFBQVFhYWFxcYGBgYGBgXFxYWFhUUFBMTEhEQEA8ODQwLCwkJBwcFBAMCAgMEBQcHCQkLCwwNDg8QEBESExMUFBUWFhYXFxgYAiABAgMEBAYGBgYGBgQEAwIBAQIDBAQGBgYGBgYEBAMCAXsBAgIEBAYGCAgJCgoMDA0NDw8PEBERERMSExQTFRQVFRUVFBUTFBMSExERERAPDw8NDQwMCgoJCAgGBgQEAgIBAQICBAQGBggICQoKDAwNDQ8PDxARERETEhMUExUUFRUVFRQVExQTEhMREREQDw8PDQ0MDAoKCQgIBgYEBAICPwIDBAUHBwkJCwsMDQ4PEBAREhMTFBQVFhYWFxcYGBgYGBgXFxYWFhUUFBMTEhEQEA8ODQwLCwkJBwcFBAMCAgMEBQcHCQkLCwwNDg8QEBESExMUFBUWFhYXFxgYGBgYGBcXFhYWFRQUExMSERAQDw4NDAsLCQkHBwUEAwIAAAAAAwAAAAADmQOZACEAQwBlAAABHwcPCC8HPwcnHwcPAwEPAy8HPwMBPwITHwcPAwEPAy8HPwMBPwIDegYGBQUEAwIBAQIDBL0FBQYGBgYFBQQDAgEBAgMEvQUFBjkGBgUFBAMCAQECAwT+hgUFBgYGBgUFBAMCAQECAwQBegUFBgYGBgUFBAMCAQECAwT9SwUFBgYGBgUFBAMCAQECAwQCtQUFBgFjAQIDBAUFBgYGBgUFvQQDAgEBAgMEBQUGBgYGBQW9BAMC/QECAwQFBQYGBgYFBf6GBAMCAQECAwQFBQYGBgYFBQF6BAMCATwBAgMEBQUGBgYGBQX9SwQDAgEBAgMEBQUGBgYGBQUCtQQDAgADAAAAAAN6Ak4APwB/AL8AAAEfDw8PLw8/DiUfDh0BDw4vDz8OJR8OHQEPDi8OPQE/DQIACAgHCAcGBgYFBAQEAgIBAQEBAgIEBAQFBgYHBggHCAgICAcIBwYGBgUEBAQCAgEBAQECAgQEBAUGBgYHCAcIATMICAgHBwYGBgUFAwQCAgICAgIEAwUFBgYGBwcICAgICAcHBwcGBgUEBAMDAgEBAQECAwMEBAYFBgcHBwcI/bIICAcHBwcGBQUFBAMDAgEBAgMDBAUFBQYHBwcHCAgICAgHBwYGBgUFAwQCAgICAgIEAwUFBgYGBwcICAJPAQECAgQEBAUGBgYHCAcICAgIBwgHBgYGBQQEBAICAQEBAQICBAQEBQYGBgcIBwgICAgHCAcGBgYFBAQEAgIBAQEBAgIEBAQFBgYGBwgHCAgICAcIBwYGBgUEBAQCAgEBAQECAgQEBAUGBgYHCAcICAgIBwgHBgYGBQQEBAICAQEBAQICBAQEBQYGBgcIBwgICAgHCAcGBgYFBAQEAgIBAQEBAgIEBAQFBgYGBwgHCAgICAcIBwYGBgUEBAQCAgEAAAAAAQAAAAACjQL7ACsAAAEfBw8EHwQPBy8IPwcCbgYGBgUEAgIBAQICBMfGBAMCAQECAwQEBgYGBgYFBd0EAgIBAQICBN0FBQYC/AEBAwQFBgYGBgUGBcbGBQYGBgYFBgUEAwEBAQEDBN0FBQYGBgYFBd0EAwEAAAAAAQAAAAACjQL8ACsAAAEfCA8ILwc/BC8EPwYBkgYGBQXdBAICAQECAgTdBQUGBgYGBgUEAgIBAQICBMfHBAICAQECAgQFBgYC/AEBAwTdBQUGBgYGBQXdBAMBAQEBAwQFBgUHBgUGBcbGBQYFBwYFBgUEAwEAAAAAAQAAAAADvwMiADIAAAEzHwYBHwQPCiEvCjU/AwE/BgIACgkJCggJCAcBYQkHBQIBAQMEBggJCgYMDQ79Ng8ODAwKCQQHBQQCAgMGCAFmBwgJCAoJCQMiAgIEBAUHB/54DAwNDQ0NDQwMCgoIBAYEAgEDBQcICgULDAwNDQ0NDQwBjgcHBQQEAgIAAAABAAAAAAPBAyMAMgAAEyEfChUPAwEPBy8HAS8DNT8JnQLGDw4MDAoJBAcGAwIBBAYI/pgHCAgJCQoJCgoJCgkJCAgH/p0JBwUDAQIFBggJCgwMDgMkAgMFBwgJBQwMDA0NDQ0NDP5wCAYFBQMDAQEBAQMDBQUGCAGKDAwNDQ0ODA0LCwkIBwUDAAAAAAEAAAAAAyIDvwA6AAABMx8NFREPCiMvAwEvBj0BPwYBPwYCxAkJCQgICAcHBwUFBAQCAgEDBQcICgULDAwNDQ0NDQz+cgcHBQQEAgICAgQEBQcHAYgHCAgICAgIA78CAgMEBAUGBwcHCQkJCgr9Pg8ODAwKCQQHBQQCAgMGCAFmBwgJCAoJCQoKCQkKCAkIBwFhBgUEBAICAQAAAAEAAAAAAyIDvwA6AAABMx8GAR8GHQEPBgEPBC8KETU/DQE8CAgICAgICAcBiAcHBQQEAgICAgQEBQcH/ngMDA0NDQ0NDAwKCggEBgQCAgIEBAUFBwYICAgICQkDvwECAwMEBQb+nwcICQgKCQkKCgkJCggJCAf+nwkHBQIBAQMEBggJCgYMDQ4CygoKCQkJBwcHBgUEBAMCAgAAAAIAAAAAA/cD+ACJASIAABMzHwcPByMfEj8aMx8GHQEPFC8PFQ8HLwc1PwcBMx8SNT8GOwEfBhUPByMvBz8GOwEvEw8aIy8HNT8eJ/wHBQYFBAMBAQEBAwQFBgUHuAcPCQkJCgoWFxgaGxsdHh8fHyAeGxkaGhkZGBcXFRUTEhEQCQkIBwYHAwUHBAUFBgYGBQQDAgENCAkUFRQVFhgYGhobHB0eHh4fHyEhIiEfHx4dHBoaGBcWExIBAQMEBQUGBgcFBgUEAwEBAQEDBAUGBQcB0xEiIiEhIB8eHRwaGRgLCwsKCQkJAQEDBAUGBQYHBQYFBAMBAQEBAwQFBgUH/AYFBgUEAwEBAQEDBAUGBQayBwcICQkJCgoWFxgaGxsdHh8fHyAeGxoZGhoYGBcXFRUTExAQCQkICgYEBQYEBAUFBgYGBQQDAQEICAgJCQsKDAwMDQ4ODg8PEBAQEREREhITExITExQTAYIBAQMEBQYFBwYFBgUEAwEBDxwNDQ0MDBYVExEPDgsKBwYDAQECBQYICQsMDg8QEhMUFRcPDw8QERAFBwYCAQEBAwQFBQYHBgUeEhEkHhgXFhUSEhAODAsJBwUDAQEDBQcKCw0OERMVFhgZGx2aBgUGBQQDAQEBAQMEBQYFBvwHBQYFBAMBAQJ2AgUHCAsNDxATFBcYDA4NDg4PD6YGBgUFBAMCAgMEBQUGBvwHBQYFBAMBAQEBAwQFBgUHBgYFBQQDAg8ODg0NDQwMFhUTEQ8OCwoHBgMBAQIFBggJCw0NDxERExUVFg4QDxgRCAkHAgIBAQEDBAUGBQcGFhIREhAREA8PDw4NDgwMCwsLCQkJBwcHBgUEBAICAgAAAQAAAAAD9wPgAFAAAAEzHwQTHwMFHwUPBxUTHQEPBC8CJScjBwUPAi8EPQETNS8HPwUlPwMTPwQCAAQECAYDA4kEBQcDASYEBQcFAwIBAwIDzQUBAyoCBQYHCAgEBf71BwgG/vQFBAgICAUFAioBAwXNAwIDAQIDBQcFBAEiBwYGBIkDAwMDCAPhAQMGAwT+/AYFBAEzAQIEBwcICAgEBNMGAwcH/tkEBQgHBgQCAQECgwIChAEBAQIEBgcIBAUBJAcHBgbTBAQICAgHBwQCATICBAUGAQQEAwMDAwAAAAAAABIA3gABAAAAAAAAAAEAAAABAAAAAAABAA4AAQABAAAAAAACAAcADwABAAAAAAADAA4AFgABAAAAAAAEAA4AJAABAAAAAAAFAAsAMgABAAAAAAAGAA4APQABAAAAAAAKACwASwABAAAAAAALABIAdwADAAEECQAAAAIAiQADAAEECQABABwAiwADAAEECQACAA4ApwADAAEECQADABwAtQADAAEECQAEABwA0QADAAEECQAFABYA7QADAAEECQAGABwBAwADAAEECQAKAFgBHwADAAEECQALACQBdyBCbGF6b3IgVG9vbGtpdFJlZ3VsYXJCbGF6b3IgVG9vbGtpdEJsYXpvciBUb29sa2l0VmVyc2lvbiAxLjBCbGF6b3IgVG9vbGtpdEZvbnQgZ2VuZXJhdGVkIHVzaW5nIFN5bmNmdXNpb24gTWV0cm8gU3R1ZGlvd3d3LnN5bmNmdXNpb24uY29tACAAQgBsAGEAegBvAHIAIABUAG8AbwBsAGsAaQB0AFIAZQBnAHUAbABhAHIAQgBsAGEAegBvAHIAIABUAG8AbwBsAGsAaQB0AEIAbABhAHoAbwByACAAVABvAG8AbABrAGkAdABWAGUAcgBzAGkAbwBuACAAMQAuADAAQgBsAGEAegBvAHIAIABUAG8AbwBsAGsAaQB0AEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAHUAcwBpAG4AZwAgAFMAeQBuAGMAZgB1AHMAaQBvAG4AIABNAGUAdAByAG8AIABTAHQAdQBkAGkAbwB3AHcAdwAuAHMAeQBuAGMAZgB1AHMAaQBvAG4ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0BAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAApjaGV2cm9uLXVwDGNoZXZyb24tZG93bgxjaGV2cm9uLWxlZnQNY2hldnJvbi1yaWdodAhhcnJvdy11cAphcnJvdy1kb3duC2Fycm93LXJpZ2h0BWNoZWNrFGludGVybWVkaWF0ZS1zdGF0ZS0yBWNsb3NlDnRpbWVsaW5lLXRvZGF5DHRpbWVsaW5lLWRheQVjbG9jawVwYXVzZQRwbGF5B3JlZnJlc2gFdHJhc2gNY2lyY2xlLXJlbW92ZQ1yZXNpemVyLXJpZ2h0EW1vcmUtaG9yaXpvbnRhbC0xEmNoZXZyb24tbGVmdC1zbWFsbBNjaGV2cm9uLXJpZ2h0LXNtYWxsD2NoZXZyb24tdXAtZmlsbBFjaGV2cm9uLWRvd24tZmlsbBFjaGV2cm9uLWxlZnQtZmlsbBJjaGV2cm9uLXJpZ2h0LWZpbGwFcmVzZXQLc3Rhci1maWxsZWQAAA==); + } + } + + #{&} .e-toolkit-icons, + #{&} button.e-toolkit-icons { + font-family: "e-toolkit-icons"; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + text-transform: none; + + &.e-chevron-up::before { + content: "\e700"; + } + &.e-chevron-down::before { + content: "\e701"; + } + &.e-chevron-left::before { + content: "\e702"; + } + &.e-chevron-right::before { + content: "\e703"; + } + &.e-arrow-up::before { + content: "\e704"; + } + &.e-arrow-down::before { + content: "\e705"; + } + &.e-arrow-right::before { + content: "\e706"; + } + &.e-check::before { + content: "\e707"; + } + &.e-intermediate-state-2::before { + content: "\e708"; + } + &.e-close::before { + content: "\e709"; + } + &.e-timeline-today::before { + content: "\e70a"; + } + &.e-timeline-day::before { + content: "\e70b"; + } + &.e-clock::before { + content: "\e70c"; + } + &.e-pause::before { + content: "\e70d"; + } + &.e-play::before { + content: "\e70e"; + } + &.e-refresh::before { + content: "\e70f"; + } + &.e-trash::before { + content: "\e710"; + } + &.e-circle-remove::before { + content: "\e711"; + } + &.e-resizer-right::before { + content: "\e712"; + } + &.e-more-horizontal-1::before { + content: "\e713"; + } + &.e-chevron-left-small::before { + content: "\e714"; + } + &.e-chevron-right-small::before { + content: "\e715"; + } + &.e-chevron-up-fill::before { + content: "\e716"; + } + &.e-chevron-down-fill::before { + content: "\e717"; + } + &.e-chevron-left-fill::before { + content: "\e718"; + } + &.e-chevron-right-fill::before { + content: "\e719"; + } + &.e-reset::before { + content: "\e71a"; + } + &.e-star-filled::before { + content: "\e71b"; + } + } +} + + + + +$zero-value: 0 !default; +$one-value: 1px !default; +$border-type: solid !default; +$border-size: 1px !default; +$input-child-padding-bottom: $zero-value !default; +$input-group-full-border: $border-size $border-type !default; +$input-child-padding-top: $zero-value !default; +$textarea-padding: 4px 8px 4px 12px !default; +$textarea-min-height: 34px !default; +$input-text-indent: 8px !default; +$input-font-size: $text-sm !default; +$input-box-border-radius: $radius-0 !default; +$input-groupo-focus-border-radius: $radius-8 !default; +$input-group-focus-box-shadow: $primary-shadow-focus !default; +$input-group-icon-border-radius: $radius-3 !default; +$input-group-child-border-width: $zero-value !default; +$input-padding: 4px 12px 4px 12px !default; +$float-input-padding: $zero-value !default; +$float-label-padding: 8px !default; +$float-input-wrap-padding-top: $zero-value !default; +$input-padding-bottom: 4px !default; +$input-focus-padding-bottom: 5px !default; +$input-clear-icon: $text-sm !default; +$input-clear-icon-padding: $zero-value !default; +$input-clear-icon-margin: $zero-value !default; +$input-clear-icon-position: center !default; +$input-child-padding: 5px 8px 5px 4px !default; +$input-child-min-height: 18px !default; +$input-child-min-width: 20px !default; +$input-margin-bottom: $zero-value !default; +$input-margin-top: 24px !default; +$input-font-family: $font-family !default; +$input-font-style: normal !default; +$input-font-normal: normal !default; +$input-border: $zero-value $border-type !default; +$float-input-border: $zero-value $border-type !default; +$input-box-border-width: 1px !default; +$float-input-border-width: $zero-value $zero-value $one-value $zero-value !default; +$input-focus-border-width: 1px !default; +$input-disable-border-type: solid !default; +$input-border-left-width: $zero-value !default; +$input-group-border: 1px $border-type !default; +$input-group-border-width: $zero-value !default; +$input-group-border-radius: $radius-2 !default; +$input-valid-group-border-width: 2px !default; +$input-child-margin-bottom: 4px !default; +$input-child-margin-right: 4px !default; +$input-child-margin-top: 4px !default; +$float-input-child-margin-top: 2px !default; +$input-disable-group-border-width: $zero-value $zero-value $one-value $zero-value !default; +$input-opacity: 1 !default; +$input-opacity-filter: 100 !default; +$input-group-border-width-focus: $zero-value $zero-value $one-value $zero-value !default; +$input-group-border-type-focus: $border-type !default; +$input-group-border-width-hover: 1px !default; +$input-group-full-border-width: $zero-value $zero-value $one-value $zero-value !default; +$input-valid-border-bottom-width: 2px !default; +$input-right-border-width: $zero-value !default; +$float-label-font-size: $text-sm !default; +$float-placeholder-font-size: $text-sm !default; +$input-border-size: 2px !default; +$input-normal-height: 30px !default; +$float-input-normal-height: 32px !default; +$input-float-font-weight: $font-weight-normal !default; +$input-full-height: 100% !default; +$textarea-normal-height: auto !default; +$textarea-full-height: 100% !default; +$input-icon-font-size: 14px !default; +$input-inner-wrap-margin-left: 8px !default; +$input-clear-icon-padding-bottom: 4px !default; +$input-clear-icon-padding-right: 8px !default; +$input-clear-icon-padding-left: $input-clear-icon-padding-right !default; +$input-clear-icon-padding-top: 4px !default; +$float-input-clear-icon-padding-top: 4px !default; +$input-clear-icon-min-height: 28px !default; +$input-clear-icon-min-width: 28px !default; +$input-bigger-small-clear-icon-min-height: 32px !default; +$input-bigger-small-clear-icon-min-width: 32px !default; +$input-error-border-shadow: none !default; +$input-success-border-shadow: none !default; +$input-warning-border-shadow: none !default; +$input-group-border-shadow: $shadow-sm !default; +$float-label-rtl-value: 0 !default; +$input-child-icon-border-radius: $radius-16 !default; +$outline-label-line-height: 54px !default; +$outline-textarea-label-line-height: 50px !default; +$outline-textarea-margin-top: 8px $zero-value 1px !default; + +// color + +$hover-border-color: $border-hover !default; +$pressed-border-color: $border-pressed !default; +$input-bg-color: $content-bg-color-alt1 !default; +$input-box-border-focus: $primary !default; +$input-success-color: $border-success !default; +$input-warning-color: $border-warning !default; +$input-error-color: $border-error !default; +$input-disable-bg-color: $content-bg-color-alt1 !default; +$input-disable-font-color: $content-text-color-disabled !default; +$input-box-border-color: $border-alt !default; +$input-font-color: $content-text-color !default; +$input-icon-font-color: $icon-color !default; +$input-clear-icon-color: $icon-color !default; +$input-clear-icon-hover-color: $icon-color !default; +$input-error-color: $border-error !default; +$input-accent: $content-bg-color !default; +$input-placeholder: $placeholder-text-color !default; +$input-active-border-color: $input-box-border-focus !default; +$input-group-active-border-color: transparent !default; +$input-disable-border-color: $border-disabled !default; +$input-disabled-group-bg-color: transparent !default; +$input-group-border-right-focus: transparent !default; +$input-group-border-left-focus: transparent !default; +$input-group-active-border: transparent !default; +$input-group-pressed-bg: transparent !default; +$input-hover-bg-color: $content-bg-color-hover !default; +$input-header-font-color: $content-text-color-alt2 !default; +$input-group-border-color-focus: $input-box-border-focus !default; +$input-group-border-color-hover: $border-dark !default; +$input-group-full-border-color: $border-dark !default; +$input-group-full-border-bottom-color: $border-alt !default; +$input-group-focus-border-bottom-color: $primary !default; +$input-group-success-color: $input-success-color !default; +$input-group-warning-color: $input-warning-color !default; +$input-group-error-color: $input-error-color !default; +$input-group-pressed-color: $content-text-color-alt2 !default; +$input-select-font-color: $content-text-color-selected !default; +$float-label-font-color: $placeholder-text-color !default; +$float-label-disbale-font-color: $content-text-color-disabled !default; +$input-placeholder-color: $placeholder-text-color !default; +$input-group-disabled-color: $icon-color-disabled !default; +$input-group-hovered-color: $icon-color !default; +$input-readonly-bg-color: none !default; +$input-readonly-color: $content-text-color-alt2 !default; +$input-icon-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) !default; +$input-border-shadow: 0 0 0 3px rgba($primary, .25) !default; +$input-transition-shadow: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + +$input-error-text-color: $danger !default; + +$input-min-height: 23px !default; +$textarea-min-height: 23px !default; +$float-label-rtl-value: -7px !default; +$input-left-icon-font-size: 14px !default; +$input-left-child-min-height: 30px !default; +$input-left-child-min-width: 30px !default; +$input-icon-inner-width: 10px !default; +$input-icon-inner-height: 10px !default; +$input-readonly-bg-color: none !default; +$outline-label-height: 8px !default; +$outline-label-margin: 4px !default; +$outline-label-border-radius: $radius-5 !default; +$outline-label-before-left: -1px !default; +$outline-label-before-left-rtl: 5px !default; +$outline-label-after-left-rtl: -6px !default; +$outline-floating-label-font-size: 12px !default; +$outline-float-label-top: -8px !default; +$outline-input-icon-margin-left: $zero-value !default; +$outline-input-icon-margin-right: 12px !default; +$outline-input-border: $zero-value !default; +$outline-input-group-border-width: $zero-value !default; +$outline-disabled-border-color: rgba($border, .38) !default; +$outline-float-label-top: -7px !default; +$outline-label-before-element-margin-top: 6px !default; +$outline-wrapper-border-infocused: 2px !default; +$outline-label-min-width: 9px !default; +$outline-label-height: 8px !default; +$outline-label-margin: 4px !default; +$outline-label-border-radius: $radius-5 !default; +$outline-label-before-left: -1px !default; +$outline-label-after-left: 2px !default; +$outline-input-icon-padding-top-bottom: 9px !default; +$outline-input-icon-font-size: 14px !default; +$outline-input-clear-icon-font-size: 14px !default; +$outline-floating-label-font-size: 14px !default; +$outline-label-font-color-with-value: rgba($placeholder-text-color) !default; +$outline-valid-input-font-size: 14px !default; +$outline-label-default-line-height: 13px !default; +$outline-label-before-left-rtl: 5px !default; +$outline-label-after-left-rtl: -6px !default; +$outline-label-line-height: 54px !default; +$outline-textarea-label-line-height: 50px !default; +$outline-valid-textarea-font-size: 14px !default; +$outline-textarea-margin-top: 8px $zero-value 1px !default; +$outline-input-clear-icon: 16px !default; +$outline-input-clear-icon-hover-color: rgba($icon-color) !default; +$outline-input-clear-icon-active-color: rgba($icon-color) !default; +$outline-float-label-font-size: 14px !default; +$outline-float-label-disbale-font-color: rgba($content-text-color-alt1, .38) !default; +$outline-disabled-input-font-color: rgba($content-text-color, .38) !default; +$outline-input-group-disabled-color: rgba($content-text-color) !default; +$outline-input-font-size: 14px !default; +$outline-active-input-border: 1px !default; +$outline-input-padding-left: 12px !default; +$outline-input-padding-top: 10px !default; +$outline-input-padding-bottom: 9px !default; +$outline-input-min-height: 40px !default; + +$input-bgr-float-control-line-height: 1.5 !default; +$input-zero-padding-margin: 0 !default; +$input-bgr-filled-control-icon-padding: 0 8px 0 0 !default; +$input-bgr-filled-group-icon-padding: 0 0 0 8px !default; +$input-bgr-filled-grp-icon-padding: 0 0 0 8px !default; +$input-grp-font-weight: normal !default; +$input-grup-icon-line-height: 1 !default; +$input-textarea-line-height: 1.5 !default; +$input-filled-float-text-line-height: 1.15 !default; +$input-filled-small-float-group-icon-padding: 0 !default; +$input-filled-small-float-group-icon-margin: 9px 12px 9px 0 !default; +$filled-float-input-clear-icon-margin: 2px !default; +$filled-float-input-wrap-margin-left: 8px !default; +$filled-float-input-wrap-margin-right: 8px !default; +$input-filled-icon-padding: 0 0 0 8px !default; +$text-area-bgr-focus-padding-bottom: 6px !default; +$input-letter-spacing: 0 !default; + +$input-bgr-float-line-height: 1.4 !default; +$input-group-line-height: 1.4 !default; +$float-input-before-height: 2px !default; +$input-bgr-float-min-height: 28px !default; +$filled-input-clear-icon-height: 32px !default; +$input-auto-width: auto !default; +$input-zero-width: 0 !default; +$float-input-group-line-bottom: -.1px !default; +$filled-input-icon-before-bottom: -.1px !default; +$filled-float-input-text-left: 1px !default; +$input-half-position: 50% !default; +$input-full-position-width: 100% !default; +$input-float-label-top: -11px !default; +$float-input-focus-text-top: 17px !default; +$float-input-group-line-bottom: -1px !default; +$float-bigger-label-font-top: -9px !default; +$float-label-bgr-top: -14px !default; +$float-input-bgr-text-top: -8px !default; +$rtl-float-input-flu2-padding-right: 8px !default; +$input-group-focus-border-radius: $radius-10 !default; +$input-grp-icon-margin-right: 4px !default; +$textarea-input-padding-left: 12px !default; +$input-float-border-radius: $radius-4 !default; +$input-float-height: 30px !default; +$float-input-label-padding-left: 7px !default; +$float-input-wrapper-top: -11px !default; +$input-group-bottom: -.3px !default; +$float-label-bgr-input-top: -8px !default; +$filled-input-grp-border-radius: $radius-4 $radius-4 $radius-0 $radius-0 !default; +$filled-float-letter-spacing: .009375em !default; + +@mixin input-sizing { + box-sizing: border-box; +} + +@mixin input-height ($height) { + height: $height; +} + +@mixin input-state-color ($color) { + border-color: $color; +} + +@mixin input-selection { + background: $primary; + color: $primary-text-color; +} + +/* stylelint-disable property-no-vendor-prefix */ +@mixin float-label-alignment { + content: ''; +} + +@mixin textarea-float-label-alignment { + content: ''; +} + +@mixin input-group-animation { + -moz-transition: .2s cubic-bezier(.4, 0, .4, 1); + bottom: 0; + content: ''; + height: 2px; + position: absolute; + transition: .2s cubic-bezier(.4, 0, .4, 1); + width: 0; +} + +@mixin input-group-animation-left { + left: 50%; +} + +@mixin input-group-animation-width { + width: 50%; +} + +@mixin input-group-animation-right { + right: 50%; +} + +@mixin input-group-animation-bg { + background: $input-active-border-color; +} + +@mixin input-group-hover-bg { + background: $input-group-border-color-hover; +} + +@mixin input-group-success-animation-bg { + background: $input-success-color; +} + +@mixin input-group-warning-animation-bg { + background: $input-warning-color; +} + +@mixin input-group-error-animation-bg { + background: $input-error-color; +} + +@mixin input-ripple-parent { + position: relative; +} + +@mixin input-ripple-style { + background: $grey-74; + border-radius: $radius-full; + content: ''; + display: block; + height: 40%; + opacity: .75; + position: absolute; + transform: scale(0); + width: 40%; +} + +@mixin input-ripple-animation { + animation: e-input-ripple .45s linear; +} + +@keyframes e-input-ripple { + 100% { + opacity: 0; + transform: scale(4); + } +} + +@keyframes slideTopUp { + from { + transform: translate3d($zero-value, $zero-value, $zero-value) scale(1); + } + + to { + transform: translate3d($zero-value, $zero-value, $zero-value) scale(1); + } +} + +.e-input-base-wrapper { + + /* stylelint-disable */ + .e-input:focus:not(.e-success):not(.e-warning).e-error, + .e-float-input:not(.e-success):not(.e-warning).e-error:not(.e-input-group) input:focus, + .e-float-input:not(.e-success):not(.e-warning).e-error:not(.e-input-group) textarea:focus, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning).e-error:not(.e-input-group) input:focus, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning).e-error:not(.e-input-group) textarea:focus, + .e-float-input:not(.e-success):not(.e-warning).e-error:not(.e-input-group).e-input-focus input, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning).e-error:not(.e-input-group).e-input-focus input { + -webkit-box-shadow: $input-error-border-shadow !important; + box-shadow: $input-error-border-shadow !important; + } + + .e-input:focus:not(.e-error):not(.e-warning).e-success, + .e-float-input:not(.e-error):not(.e-warning).e-success:not(.e-input-group) input:focus, + .e-float-input:not(.e-error):not(.e-warning).e-success:not(.e-input-group) textarea:focus, + .e-float-input.e-control-wrapper:not(.e-error):not(.e-warning).e-success:not(.e-input-group) input:focus, + .e-float-input.e-control-wrapper:not(.e-error):not(.e-warning).e-success:not(.e-input-group) textarea:focus, + .e-float-input:not(.e-error):not(.e-warning).e-success:not(.e-input-group).e-input-focus input, + .e-float-input.e-control-wrapper:not(.e-error):not(.e-warning).e-success:not(.e-input-group).e-input-focus input { + -webkit-box-shadow: $input-success-border-shadow !important; + box-shadow: $input-success-border-shadow !important; + } + + .e-input:focus:not(.e-success):not(.e-error).e-warning, + .e-float-input:not(.e-success):not(.e-error).e-warning:not(.e-input-group) input:focus, + .e-float-input:not(.e-success):not(.e-error).e-warning:not(.e-input-group) textarea:focus, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-error).e-warning:not(.e-input-group) input:focus, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-error).e-warning:not(.e-input-group) textarea:focus, + .e-float-input:not(.e-success):not(.e-error).e-warning:not(.e-input-group).e-input-focus input, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-error).e-warning:not(.e-input-group).e-input-focus input { + -webkit-box-shadow: $input-warning-border-shadow !important; + box-shadow: $input-warning-border-shadow !important; + } + + .e-input-group.e-input-focus:not(.e-success):not(.e-warning).e-error, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning).e-error { + -webkit-box-shadow: $input-error-border-shadow !important; + box-shadow: $input-error-border-shadow !important; + } + + .e-input-group.e-input-focus:not(.e-error):not(.e-warning).e-success, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-error):not(.e-warning).e-success { + -webkit-box-shadow: $input-success-border-shadow !important; + box-shadow: $input-success-border-shadow !important; + } + + .e-input-group.e-input-focus:not(.e-success):not(.e-error).e-warning, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-error).e-warning { + -webkit-box-shadow: $input-warning-border-shadow !important; + box-shadow: $input-warning-border-shadow !important; + } + + .e-input-group:not(.e-disabled):active:not(.e-success):not(.e-warning).e-error, + .e-input-group.e-control-wrapper:not(.e-disabled):active:not(.e-success):not(.e-warning).e-error { + -webkit-box-shadow: $input-error-border-shadow !important; + box-shadow: $input-error-border-shadow !important; + } + + .e-input-group:not(.e-disabled):active:not(.e-error):not(.e-warning).e-success, + .e-input-group.e-control-wrapper:not(.e-disabled):active:not(.e-error):not(.e-warning).e-success { + -webkit-box-shadow: $input-success-border-shadow !important; + box-shadow: $input-success-border-shadow !important; + } + + .e-input-group:not(.e-disabled):active:not(.e-success):not(.e-error).e-warning, + .e-input-group.e-control-wrapper:not(.e-disabled):active:not(.e-success):not(.e-error).e-warning { + -webkit-box-shadow: $input-warning-border-shadow !important; + box-shadow: $input-warning-border-shadow !important; + } + + .e-float-input.e-error label.e-float-text, + .e-float-input.e-control-wrapper.e-error label.e-float-text, + .e-float-input.e-error input:focus~label.e-float-text, + .e-float-input.e-control-wrapper.e-error input:focus~label.e-float-text, + .e-float-input.e-error.e-input-focus input~label.e-float-text, + .e-float-input.e-control-wrapper.e-error.e-input-focus input~label.e-float-text, + .e-float-input.e-error textarea:focus~label.e-float-text, + .e-float-input.e-control-wrapper.e-error textarea:focus~label.e-float-text { + color: $input-error-text-color !important; + } + + .e-outline.e-float-input.e-error.e-input-focus input:focus~label.e-float-text, + .e-outline.e-float-input.e-input-group.e-error.e-valid-input label.e-label-top.e-float-text, + .e-outline.e-float-input.e-error textarea:focus~label.e-float-text, + .e-outline.e-float-input.e-control-wrapper.e-error input:focus~label.e-float-text, + .e-outline.e-float-input.e-control-wrapper.e-error textarea:focus~label.e-float-text, + .e-outline.e-float-input.e-error label.e-float-text.e-label-top, + .e-outline.e-float-input.e-input-group.e-error label.e-float-text.e-label-top, + .e-outline.e-float-input.e-control-wrapper.e-error label.e-float-text.e-label-top, + .e-outline.e-float-input.e-valid-input.e-error:not(.e-input-focus) input:valid~label.e-float-text.e-label-top, + .e-outline.e-float-input.e-control-wrapper.e-valid-input.e-error:not(.e-input-focus) input:focus~label.e-float-text.e-label-top, + .e-outline.e-float-input.e-valid-input.e-error:not(.e-input-focus) textarea:valid~label.e-float-text.e-label-top, + .e-outline.e-float-input.e-control-wrapper.e-valid-input.e-error:not(.e-input-focus) textarea:focus~label.e-float-text.e-label-top, + .e-outline.e-float-input.e-error.e-input-focus input~label.e-float-text, + .e-outline.e-float-input.e-control-wrapper.e-error.e-input-focus input~label.e-float-text { + color: $input-error-text-color !important; + } + + .e-filled.e-float-input.e-error label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-error label.e-float-text, + .e-filled.e-float-input.e-error input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-error input:focus~label.e-float-text, + .e-filled.e-float-input.e-error textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-error textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-error.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-error.e-input-focus input~label.e-float-text { + color: $input-error-text-color !important; + } +} + +$filled-input-font-size: 14px !default; +$filled-float-label-font-size: 14px !default; +$filled-input-clear-icon-size: 14px !default; +$filled-input-icon-size: 14px !default; +$filled-float-input-wrapper-padding: $zero-value !default; +$filled-float-input-wrapper-rtl-padding: $zero-value 12px $zero-value 10px !default; +$filled-wrapper-padding: $zero-value 10px $zero-value 12px !default; +$filled-wrapper-rtl-padding: $zero-value 12px $zero-value 10px !default; +$filled-wrapper-margin: $zero-value !default; +$filled-input-padding: 10px 2px 10px $zero-value !default; +$filled-input-rtl-padding: 10px $zero-value 10px 2px !default; +$filled-input-padding-bottom: 10px !default; +$filled-float-input-padding: 7px $zero-value 5px 7px !default; +$filled-float-input-rtl-padding: 14px $zero-value 5px 2px !default; +$filled-textarea-padding: $zero-value 12px 9px !default; +$filled-float-textarea-padding: 4px 12px 5px !default; +$filled-textarea-wrapper-padding: 10px $zero-value $zero-value !default; +$filled-float-textarea-wrapper-padding: 14px $zero-value $zero-value !default; +$filled-input-label-top: 8px !default; +$filled-input-label-top-after-floating: -7px !default; +$filled-input-label-left: 12px !default; +$filled-input-label-initial-transform: none !default; +$filled-input-label-line-height: 1.2 !default; +$filled-input-label-width: auto !default; +$filled-default-input-min-height: 22px !default; +$filled-input-min-height: 22px !default; +$filled-input-icon-min-height: 32px !default; +$filled-input-left-icon-min-height: 16px !default; +$filled-input-left-icon-min-width: 16px !default; +$filled-input-bg-color: $content-bg-color-alt2 !default; +$filled-input-overlay-bg-color: $content-bg-color-alt2 !default; +$filled-input-overlay-focused-bg-color: $content-bg-color-alt2 !default; +$filled-input-overlay-activated-bg-color: $content-bg-color-alt2 !default; +$background-color-transition: opacity 15ms linear, + background-color 15ms linear !default; +$filled-input-hover-border-color: rgba($content-text-color) !default; +$filled-input-float-label-color: rgba($placeholder-text-color) !default; +$filled-input-disabled-font-color: $content-text-color-disabled !default; +$filled-input-disabled-bg-color: transparent !default; +$filled-input-disabled-border-color: rgba($border) !default; +$filled-input-clear-icon-hover-color: rgba($icon-color) !default; +$filled-input-clear-icon-active-color: rgba($icon-color) !default; + +// Icon hover +$input-icon-hover-border: 1px !default; +$input-icon-hover-border-radius: $radius-16 !default; +$input-icon-hover-bg-color: rgba($content-text-color, .08) !default; +$input-clear-icon-hover-border: 1px !default; +$input-clear-icon-hover-border-radius: $radius-16 !default; +$input-clear-icon-hover-bg-color: rgba($content-text-color, .08) !default; + +$input-active-accent-color: rgba($primary) !default; +$outline-border-color: $border !default; +$underline-border-color: $border-alt !default; +$input-border-bottom-color: $border-alt !default; +$outline-input-font-color: rgba($content-text-color) !default; +$outline-input-label-font-color: rgba($placeholder-text-color) !default; +$outline-input-font-size: 14px !default; +$outline-hover-border-color: $border-dark !default; +$underline-hover-border-color: $border-alt !default; +$outline-hover-font-color: rgba($content-text-color) !default; +$outline-active-input-border: 1px !default; +$outline-input-padding-left: 12px !default; +$outline-input-padding-top: 10px !default; +$outline-input-padding-bottom: 9px !default; + +$input-bigger-clear-icon-border-radius: $radius-20 !default; +$float-label-top-font-color: $content-text-color !default; +$textarea-float-top: -28px !default; +$input-bgr-flu2-input-padding: 2px 4px !default; +$input-group-control-border-radius: $radius-4 !default; +$float-label-text-top: -15px !default; +$e-float-input-flu-padding-bottom: 2px !default; +$text-area-focus-padding-bottom: 4px !default; +$float-inherit-line-height: inherit; +$float-auto-height: auto; +$input-border-width: 1px !default; +$float-bgr-label-top: -8px !default; + +.e-input-base-wrapper { + + .e-underline.e-input-group.e-control-wrapper, + .e-underline.e-input-group, + .e-underline.e-input-group:not(.e-float-icon-left), + .e-underline.e-float-input, + .e-underline.e-float-input.e-control-wrapper, + .e-underline.e-input-group:not(.e-float-icon-left), + .e-underline.e-input-group.e-success:not(.e-float-icon-left), + .e-underline.e-input-group.e-warning:not(.e-float-icon-left), + .e-underline.e-input-group.e-error:not(.e-float-icon-left), + .e-underline.e-input-group.e-control-wrapper:not(.e-float-icon-left), + .e-underline.e-input-group.e-control-wrapper.e-success:not(.e-float-icon-left), + .e-underline.e-input-group.e-control-wrapper.e-warning:not(.e-float-icon-left), + .e-underline.e-input-group.e-control-wrapper.e-error:not(.e-float-icon-left) { + border: 1px solid $underline-border-color; + border-width: $input-group-full-border-width; + padding-top: 1px; + border-radius: $radius-0; + } + + .e-underline.e-input-group:not(.e-float-icon-left), + .e-underline.e-input-group.e-success:not(.e-float-icon-left), + .e-underline.e-input-group.e-warning:not(.e-float-icon-left), + .e-underline.e-input-group.e-error:not(.e-float-icon-left), + .e-underline.e-input-group.e-control-wrapper:not(.e-float-icon-left), + .e-underline.e-input-group.e-control-wrapper.e-success:not(.e-float-icon-left), + .e-underline.e-input-group.e-control-wrapper.e-warning:not(.e-float-icon-left), + .e-underline.e-input-group.e-control-wrapper.e-error:not(.e-float-icon-left) { + border: $input-group-full-border; + border-width: $input-group-full-border-width; + padding-top: 1px; + border-radius: $radius-0; + } + + @include export-module('input-layout') { + + /*! input layout */ + .e-input-group, + .e-input-group.e-control-wrapper { + display: table; + line-height: $input-group-line-height; + margin-bottom: $input-margin-bottom; + } + + input.e-input, + .e-input-group input.e-input, + .e-input-group.e-control-wrapper input.e-input, + textarea.e-input, + .e-input-group textarea.e-input, + .e-input-group.e-control-wrapper textarea.e-input { + border: $input-border; + border-width: $input-box-border-width; + height: $float-auto-height; + line-height: $float-inherit-line-height; + margin: $input-zero-padding-margin; + margin-bottom: $input-margin-bottom; + outline: none; + padding: $input-padding; + text-indent: $input-text-indent; + width: $input-full-position-width; + letter-spacing: $input-letter-spacing; + } + + input.e-input, + textarea.e-input, + .e-input-group, + .e-input-group.e-control-wrapper, + .e-input-group.e-disabled, + .e-input-group.e-control-wrapper.e-disabled { + font-family: $input-font-family; + font-size: $input-font-size; + font-weight: $input-grp-font-weight; + } + + .e-input-group input.e-input, + .e-input-group.e-control-wrapper input.e-input, + .e-input-group textarea.e-input, + .e-input-group.e-control-wrapper textarea.e-input { + font: inherit; + } + + input.e-input, + .e-input-group input.e-input, + .e-input-group input, + .e-input-group.e-control-wrapper input.e-input, + .e-input-group.e-control-wrapper input, + .e-float-input input, + .e-float-input.e-input-group input, + .e-float-input.e-control-wrapper input, + .e-float-input.e-control-wrapper.e-input-group input, + input.e-input:focus, + .e-input-group input.e-input:focus, + .e-input-group input:focus, + .e-input-group.e-control-wrapper input.e-input:focus, + .e-input-group.e-control-wrapper input:focus, + .e-float-input input:focus, + .e-float-input.e-input-group input:focus, + .e-float-input.e-control-wrapper input:focus, + .e-float-input.e-control-wrapper.e-input-group input:focus, + .e-input-group.e-input-focus input.e-input, + .e-input-group.e-input-focus input, + .e-input-group.e-control-wrapper.e-input-focus input.e-input, + .e-input-group.e-control-wrapper.e-input-focus input, + .e-float-input.e-input-focus input, + .e-float-input.e-input-group.e-input-focus input, + .e-float-input.e-control-wrapper.e-input-focus input, + .e-float-input.e-control-wrapper.e-input-group.e-input-focus input { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + input.e-input, + .e-input-group input.e-input, + .e-input-group input, + .e-input-group.e-control-wrapper input.e-input, + .e-input-group.e-control-wrapper input, + .e-float-input input, + .e-float-input.e-input-group input, + .e-float-input.e-control-wrapper input, + .e-float-input.e-control-wrapper.e-input-group input, + .e-input-group, + .e-input-group.e-control-wrapper, + .e-float-input, + .e-float-input.e-control-wrapper, + .e-input.e-corner, + .e-input-group.e-corner.e-rtl input.e-input:only-child, + .e-input-group.e-control-wrapper.e-corner.e-rtl input.e-input:only-child, + .e-input-group.e-input-focus.e-corner, + .e-input-group.e-control-wrapper.e-input-focus.e-corner, + textarea.e-input, + .e-input-group textarea.e-input, + .e-input-group textarea, + .e-input-group.e-control-wrapper textarea.e-input, + .e-input-group.e-control-wrapper textarea, + .e-float-input textarea, + .e-float-input.e-input-group textarea, + .e-float-input.e-control-wrapper textarea, + .e-float-input.e-control-wrapper.e-input-group textarea { + border-radius: $input-group-control-border-radius; + } + + .e-input:focus { + border-width: $input-focus-border-width; + padding-bottom: $input-padding-bottom; + } + + .e-input:focus { + padding-bottom: $input-focus-padding-bottom; + } + + .e-input-group input.e-input:focus, + .e-input-group.e-control-wrapper input.e-input:focus, + .e-input-group textarea.e-input:focus, + .e-input-group.e-control-wrapper textarea.e-input:focus, + .e-input-group.e-input-focus input.e-input, + .e-input-group.e-control-wrapper.e-input-focus input.e-input { + padding: $input-padding; + } + + .e-input-group textarea.e-input:focus, + .e-input-group.e-control-wrapper textarea.e-input:focus { + padding: $textarea-padding; + } + + .e-input-group .e-input-group-icon, + .e-input-group.e-control-wrapper .e-input-group-icon { + align-items: center; + border: $input-border; + border-width: $input-group-child-border-width; + box-sizing: content-box; + cursor: pointer; + flex-direction: column; + font-size: $input-icon-font-size; + justify-content: center; + line-height: $input-grup-icon-line-height; + min-height: $input-child-min-height; + min-width: $input-child-min-width; + padding: $input-child-padding; + text-align: center; + border-radius: $input-child-icon-border-radius; + } + + .e-input-group.e-float-icon-left>.e-input-group-icon, + .e-float-input.e-input-group.e-float-icon-left>.e-input-group-icon, + .e-input-group.e-control-wrapper.e-float-icon-left>.e-input-group-icon, + .e-float-input.e-input-group.e-control-wrapper.e-float-icon-left>.e-input-group-icon { + font-size: $input-left-icon-font-size; + margin: $input-zero-padding-margin; + min-height: $input-left-child-min-height; + min-width: $input-left-child-min-width; + padding: $input-zero-padding-margin; + } + + .e-input-group.e-float-icon-left:not(.e-disabled)>.e-input-group-icon:active, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-disabled)>.e-input-group-icon:active { + background: transparent; + } + + .e-input-group.e-float-icon-left>.e-input-group-icon, + .e-input-group.e-control-wrapper.e-float-icon-left>.e-input-group-icon { + cursor: auto; + } + + .e-input[disabled], + .e-input-group .e-input[disabled], + .e-input-group.e-control-wrapper .e-input[disabled], + .e-input-group.e-disabled, + .e-input-group.e-disabled input, + .e-input-group.e-disabled input.e-input, + .e-input-group.e-disabled textarea, + .e-input-group.e-disabled textarea.e-input, + .e-input-group.e-control-wrapper.e-disabled, + .e-input-group.e-control-wrapper.e-disabled input, + .e-input-group.e-control-wrapper.e-disabled input.e-input, + .e-input-group.e-control-wrapper.e-disabled textarea, + .e-input-group.e-control-wrapper.e-disabled textarea.e-input, + .e-float-input.e-disabled input, + .e-float-input.e-disabled textarea, + .e-float-input input[disabled], + .e-float-input input.e-disabled, + .e-float-input textarea[disabled], + .e-float-input textarea.e-disabled, + .e-float-input.e-control-wrapper.e-disabled input, + .e-float-input.e-control-wrapper.e-disabled textarea, + .e-float-input.e-control-wrapper input[disabled], + .e-float-input.e-control-wrapper input.e-disabled, + .e-float-input.e-control-wrapper textarea[disabled], + .e-float-input.e-control-wrapper textarea.e-disabled, + .e-input-group.e-disabled span, + .e-input-group.e-control-wrapper.e-disabled span, + .e-input-group.e-disabled input.e-input:not(:valid):first-child~.e-close, + .e-input-group.e-control-wrapper.e-disabled input.e-input:not(:valid):first-child~.e-close, + .e-float-input.e-disabled input:not(:valid):first-child~.e-close, + .e-float-input.e-input-group.e-disabled input:not(:valid):first-child~.e-close, + .e-float-input.e-input-group.e-control-wrapper.e-disabled input:not(:valid):first-child~.e-close, + .e-float-input.e-control-wrapper.e-disabled input:not(:valid):first-child~.e-close, + .e-input-group.e-disabled .e-close.e-clear-icon-hide, + .e-input-group.e-control-wrapper.e-disabled .e-close.e-clear-icon-hide { + cursor: not-allowed; + } + + .e-input[disabled], + .e-input-group.e-disabled, + .e-input-group.e-control-wrapper.e-disabled, + .e-float-input input[disabled], + .e-float-input input.e-disabled, + .e-float-input.e-control-wrapper input[disabled], + .e-float-input.e-control-wrapper input.e-disabled { + border-color: $input-disable-border-color; + border-style: $input-disable-border-type; + } + + .e-input-group.e-disabled, + .e-input-group.e-control-wrapper.e-disabled { + border-bottom-style: $input-disable-border-type; + border-width: $input-disable-group-border-width; + } + + .e-input[disabled], + .e-input-group.e-disabled, + .e-input-group.e-control-wrapper.e-disabled, + .e-float-input.e-disabled, + .e-float-input input[disabled], + .e-float-input input.e-disabled, + .e-float-input.e-disabled input, + .e-float-input.e-control-wrapper.e-disabled, + .e-float-input.e-control-wrapper input[disabled], + .e-float-input.e-control-wrapper input.e-disabled, + .e-float-input.e-control-wrapper.e-disabled input, + .e-float-input textarea[disabled], + .e-float-input textarea.e-disabled, + .e-float-input.e-disabled textarea, + .e-float-input.e-control-wrapper textarea[disabled], + .e-float-input.e-control-wrapper textarea.e-disabled, + .e-float-input.e-control-wrapper.e-disabled textarea { + filter: alpha(opacity=$input-opacity-filter); + opacity: $input-opacity; + } + + .e-input.e-rtl, + .e-input-group.e-rtl, + .e-input-group.e-control-wrapper.e-rtl, + .e-float-input.e-rtl, + .e-float-input.e-control-wrapper.e-rtl { + direction: rtl; + } + + .e-input-group, + .e-input-group.e-control-wrapper, + .e-float-custom-tag.e-input-group, + .e-float-custom-tag.e-input-group.e-control-wrapper, + .e-input-custom-tag, + .e-input-custom-tag.e-input-group, + .e-input-custom-tag.e-input-group.e-control-wrapper { + display: inline-flex; + vertical-align: middle; + } + + .e-float-input:not(.e-input-group), + .e-float-input.e-control-wrapper:not(.e-input-group), + .e-float-custom-tag, + .e-float-custom-tag.e-control-wrapper { + display: inline-block; + } + + .e-input-group .e-input-group-icon, + .e-input-group.e-control-wrapper .e-input-group-icon { + display: flex; + } + + .e-input-group .e-input-group-icon:first-child, + .e-input-group.e-control-wrapper .e-input-group-icon:first-child { + border-left-width: $input-border-left-width; + } + + .e-input-group .e-input-group-icon, + .e-input-group.e-control-wrapper .e-input-group-icon { + white-space: nowrap; + } + + .e-input-group .e-input-group-icon:not(:last-child), + .e-input-group.e-control-wrapper .e-input-group-icon:not(:last-child) { + border-right-width: $zero-value; + } + + .e-input+.e-input-group-icon, + .e-input-group .e-input+.e-input-group-icon, + .e-input-group.e-control-wrapper .e-input+.e-input-group-icon { + border-left-width: $zero-value; + } + + .e-input-group.e-corner .e-input:first-child, + .e-input-group.e-corner .e-input-group-icon:first-child, + .e-input-group.e-control-wrapper.e-corner .e-input:first-child, + .e-input-group.e-control-wrapper.e-corner .e-input-group-icon:first-child { + border-bottom-left-radius: $input-box-border-radius; + border-top-left-radius: $input-box-border-radius; + } + + .e-input-group.e-corner .e-input:last-child, + .e-input-group.e-corner .e-input-group-icon:last-child, + .e-input-group.e-control-wrapper.e-corner .e-input:last-child, + .e-input-group.e-control-wrapper.e-corner .e-input-group-icon:last-child { + border-bottom-right-radius: $input-box-border-radius; + border-top-right-radius: $input-box-border-radius; + } + + .e-input-group.e-rtl .e-input-group-icon:first-child, + .e-input-group.e-control-wrapper.e-rtl .e-input-group-icon:first-child { + border-left-width: $zero-value; + border-right-width: $input-border-left-width; + } + + .e-input-group.e-rtl .e-input-group-icon:last-child, + .e-input-group.e-control-wrapper.e-rtl .e-input-group-icon:last-child { + border-left-width: $input-border-left-width; + border-right-width: $zero-value; + } + + .e-input-group.e-rtl .e-input-group-icon:not(:last-child), + .e-input-group.e-control-wrapper.e-rtl .e-input-group-icon:not(:last-child) { + border-left-width: $input-border-left-width; + } + + .e-input-group.e-rtl .e-input-group-icon+.e-input, + .e-input-group.e-control-wrapper.e-rtl .e-input-group-icon+.e-input { + border-right-width: $zero-value; + } + + label.e-float-text, + .e-float-input label.e-float-text, + .e-float-input.e-control-wrapper label.e-float-text, + .e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom { + font-size: $float-placeholder-font-size; + font-style: $input-font-style; + font-weight: $input-grp-font-weight; + left: $input-zero-padding-margin; + overflow: hidden; + padding-left: $float-label-padding; + pointer-events: none; + position: absolute; + text-overflow: ellipsis; + top: $input-float-label-top; + transform: translate3d(0, 16px, 0) scale(1); + transform-origin: left top; + transition: .25s cubic-bezier(.25, .8, .25, 1); + user-select: none; + white-space: nowrap; + width: $input-full-position-width; + letter-spacing: $input-letter-spacing; + } + + label.e-float-text, + .e-float-input label.e-float-text, + .e-float-input.e-control-wrapper label.e-float-text, + .e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom { + top: $input-float-label-top; + } + + label.e-float-text, + .e-float-input label.e-float-text, + .e-float-input.e-control-wrapper label.e-float-text, + .e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom { + @include float-label-alignment; + font-style: $input-font-style; + } + + .e-float-input .e-input-in-wrap label.e-float-text, + .e-float-input:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper .e-input-in-wrap label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom { + top: $input-float-label-top; + } + + .e-float-input input:focus~label.e-float-text, + .e-float-input input:valid~label.e-float-text, + .e-float-input input~label.e-label-top.e-float-text, + .e-float-input input[readonly]~label.e-label-top.e-float-text, + .e-float-input input[disabled]~label.e-label-top.e-float-text, + .e-float-input input label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper input:focus~label.e-float-text, + .e-float-input.e-control-wrapper input:valid~label.e-float-text, + .e-float-input.e-control-wrapper input~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper input[readonly]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper input[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper input label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper.e-input-focus input~label.e-float-text, + .e-float-input.e-input-focus input~label.e-float-text { + font-size: $float-label-font-size; + padding: $input-zero-padding-margin; + top: $float-label-text-top; + transform: translate3d(0, -6px, 0) scale(.92); + } + + .e-float-input, + .e-float-input.e-control-wrapper { + line-height: $input-group-line-height; + margin-bottom: $input-margin-bottom; + margin-top: $input-margin-top; + padding-top: $float-input-wrap-padding-top; + position: relative; + width: $input-full-position-width; + } + + .e-float-input.e-no-float-label, + .e-float-input.e-control-wrapper.e-no-float-label { + margin-top: $input-zero-padding-margin; + } + + .e-float-input, + .e-float-input.e-control-wrapper, + .e-float-input.e-disabled, + .e-float-input.e-control-wrapper.e-disabled, + .e-float-input.e-input-group.e-disabled, + .e-float-input.e-input-group.e-control-wrapper.e-disabled { + font-family: $input-font-family; + font-size: $input-font-size; + font-weight: $input-grp-font-weight; + } + + .e-float-input input, + .e-float-input textarea, + .e-float-input.e-control-wrapper input, + .e-float-input.e-control-wrapper textarea { + border: $float-input-border; + border-width: $float-input-border-width; + display: block; + font: inherit; + width: $input-full-position-width; + letter-spacing: $input-letter-spacing; + } + + .e-float-input input, + .e-float-input.e-control-wrapper input { + min-width: 0; + padding: $float-input-padding; + } + + .e-float-input input, + .e-input-group input, + .e-float-input.e-control-wrapper input, + .e-input-group.e-control-wrapper input, + .e-float-input textarea, + .e-input-group textarea, + .e-float-input.e-control-wrapper textarea, + .e-input-group.e-control-wrapper textarea { + text-indent: $input-text-indent; + } + + .e-float-input input:focus, + .e-float-input.e-control-wrapper input:focus, + .e-float-input textarea:focus, + .e-float-input.e-control-wrapper textarea:focus, + .e-float-input.e-input-focus input, + .e-float-input.e-control-wrapper.e-input-focus input, + .e-input-group.e-control-container.valid.modified, + .e-input-group.e-control-container.invalid, + .e-float-input.e-control-container.valid.modified, + .e-float-input.e-control-container.invalid { + outline: none; + } + + label.e-float-text, + .e-float-input label.e-float-text, + .e-float-input.e-control-wrapper label.e-float-text { + font-family: inherit; + } + + .e-float-input input:valid~label.e-float-text, + .e-float-input input:focus~label.e-float-text, + .e-float-input input:valid~label.e-float-text.e-label-top, + .e-float-input input~label.e-float-text.e-label-top, + .e-float-input .e-input-in-wrap input:valid~label.e-float-text, + .e-float-input .e-input-in-wrap input:valid~label.e-float-text.e-label-top, + .e-float-input .e-input-in-wrap input~label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper input:valid~label.e-float-text, + .e-float-input.e-control-wrapper input:focus~label.e-float-text, + .e-float-input.e-control-wrapper input:valid~label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper input~label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper .e-input-in-wrap input:valid~label.e-float-text, + .e-float-input.e-control-wrapper .e-input-in-wrap input:valid~label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper .e-input-in-wrap input~label.e-float-text.e-label-top, + .e-float-input.e-input-focus input~label.e-float-text, + .e-float-input.e-control-wrapper.e-input-focus input~label.e-float-text, + .e-float-input textarea:valid~label.e-float-text, + .e-float-input textarea:focus~label.e-float-text, + .e-float-input textarea:valid~label.e-float-text.e-label-top, + .e-float-input textarea~label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper textarea:valid~label.e-float-text, + .e-float-input.e-control-wrapper textarea:focus~label.e-float-text, + .e-float-input.e-control-wrapper textarea:valid~label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper textarea~label.e-float-text.e-label-top { + user-select: text; + } + + label.e-float-text, + .e-float-input label.e-float-text, + .e-float-input.e-control-wrapper label.e-float-text, + .e-float-input:not(.e-error):not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-error):not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-error):not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input:not(.e-error) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-error) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-error) textarea:not(:focus):valid~label.e-float-text.e-label-bottom { + font-weight: $input-grp-font-weight; + } + + .e-float-input:not(.e-input-group) .e-float-line::before, + .e-float-input:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper:not(.e-input-group) .e-float-line::after { + bottom: $input-zero-padding-margin; + content: ''; + height: $float-input-before-height; + position: absolute; + transition: .2s ease; + width: $input-zero-width; + } + + .e-float-input:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper:not(.e-input-group) .e-float-line::before { + left: $input-half-position; + } + + .e-float-input:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper:not(.e-input-group) .e-float-line::after { + right: $input-half-position; + } + + .e-float-input:not(.e-input-group) input:focus~.e-float-line::before, + .e-float-input:not(.e-input-group) textarea:focus~.e-float-line::before, + .e-float-input:not(.e-input-group) input:focus~.e-float-line::after, + .e-float-input:not(.e-input-group) textarea:focus~.e-float-line::after, + .e-float-input.e-control-wrapper:not(.e-input-group) input:focus~.e-float-line::before, + .e-float-input.e-control-wrapper:not(.e-input-group) textarea:focus~.e-float-line::before, + .e-float-input.e-control-wrapper:not(.e-input-group) input:focus~.e-float-line::after, + .e-float-input.e-control-wrapper:not(.e-input-group) textarea:focus~.e-float-line::after, + .e-float-input:not(.e-input-group).e-input-focus input~.e-float-line::before, + .e-float-input:not(.e-input-group).e-input-focus input~.e-float-line::after, + .e-float-input.e-control-wrapper:not(.e-input-group).e-input-focus input~.e-float-line::before, + .e-float-input.e-control-wrapper:not(.e-input-group).e-input-focus input~.e-float-line::after { + width: $input-half-position; + } + + .e-float-input .e-float-line, + .e-float-input.e-control-wrapper .e-float-line { + display: block; + position: relative; + width: $input-full-position-width; + } + + .e-float-input.e-rtl label.e-float-text, + .e-float-input.e-control-wrapper.e-rtl label.e-float-text, + .e-rtl .e-float-input label.e-float-text, + .e-rtl .e-float-input.e-control-wrapper label.e-float-text, + .e-rtl label.e-float-text, + .e-rtl .e-float-input.e-control-wrapper label.e-float-text, + .e-rtl.e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl.e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl.e-float-input textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl.e-float-input.e-control-wrapper textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-float-input textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-float-input.e-control-wrapper textarea:not(:focus):valid~label.e-float-text.e-label-bottom { + right: $input-zero-padding-margin; + transform-origin: right top; + padding-right: $rtl-float-input-flu2-padding-right; + padding-right: $rtl-float-input-flu2-padding-right; + } + + .e-float-input.e-rtl:not(.e-input-focus) label.e-float-text.e-label-bottom, + .e-rtl .e-float-input:not(.e-input-focus) label.e-float-text.e-label-bottom, + .e-float-input.e-rtl.e-control-wrapper:not(.e-input-focus) label.e-float-text.e-label-bottom, + .e-rtl .e-float-input.e-control-wrapper:not(.e-input-focus) label.e-float-text.e-label-bottom, + .e-float-input.e-rtl input:not(:focus):not(:valid) label.e-float-text, + .e-float-input.e-rtl input:not(:focus):not(:valid) label.e-float-text.e-label-bottom, + .e-rtl .e-float-input input:not(:focus):not(:valid) label.e-float-text, + .e-rtl .e-float-input input:not(:focus):not(:valid) label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper.e-rtl input:not(:focus):not(:valid) label.e-float-text, + .e-rtl .e-float-input.e-control-wrapper input:not(:focus):not(:valid) label.e-float-text, + .e-float-input.e-rtl.e-control-wrapper input:not(:focus):not(:valid) label.e-float-text.e-label-bottom, + .e-rtl .e-float-input.e-control-wrapper input:not(:focus):not(:valid) label.e-float-text.e-label-bottom { + padding-right: $float-label-padding; + } + + .e-input-group.e-corner.e-rtl .e-input:first-child, + .e-input-group.e-corner.e-rtl .e-input-group-icon:first-child, + .e-input-group.e-control-wrapper.e-corner.e-rtl .e-input:first-child, + .e-input-group.e-control-wrapper.e-corner.e-rtl .e-input-group-icon:first-child { + border-bottom-left-radius: $input-group-border-radius; + border-bottom-right-radius: $input-box-border-radius; + border-top-left-radius: $input-group-border-radius; + border-top-right-radius: $input-box-border-radius; + } + + .e-input-group.e-corner.e-rtl .e-input:last-child, + .e-input-group.e-corner.e-rtl .e-input-group-icon:last-child, + .e-input-group.e-control-wrapper.e-corner.e-rtl .e-input:last-child, + .e-input-group.e-control-wrapper.e-corner.e-rtl .e-input-group-icon:last-child { + border-bottom-left-radius: $input-box-border-radius; + border-bottom-right-radius: $input-group-border-radius; + border-top-left-radius: $input-box-border-radius; + border-top-right-radius: $input-group-border-radius; + } + + .e-input-group.e-warning::before, + .e-input-group.e-control-wrapper.e-warning::before { + content: ''; + } + + .e-float-input input[disabled], + .e-float-input input.e-disabled, + .e-float-input.e-control-wrapper input[disabled], + .e-float-input.e-control-wrapper input.e-disabled { + background: transparent; + background-image: none; + cursor: not-allowed; + } + + .e-input-group.e-rtl .e-input:not(:first-child):focus, + .e-input-group.e-control-wrapper.e-rtl .e-input:not(:first-child):focus { + border-right-width: $input-right-border-width; + } + + .e-input-group input.e-input, + .e-input-group.e-control-wrapper input.e-input { + min-width: 0; + width: $input-full-position-width; + } + + .e-input-group input.e-input, + .e-input-group textarea.e-input, + .e-input-group input.e-input:hover:not(.e-success):not(.e-warning):not(.e-error):not([disabled]):not(:focus), + .e-input-group textarea.e-input:hover:not(.e-success):not(.e-warning):not(.e-error):not([disabled]), + .e-input-group.e-control-wrapper input.e-input, + .e-input-group.e-control-wrapper textarea.e-input, + .e-input-group.e-control-wrapper input.e-input:hover:not(.e-success):not(.e-warning):not(.e-error):not([disabled]):not(:focus), + .e-input-group.e-control-wrapper textarea.e-input:hover:not(.e-success):not(.e-warning):not(.e-error):not([disabled]) { + border: $input-border; + border-width: $input-group-border-width; + } + + .e-input-group input.e-input, + .e-input-group textarea.e-input, + .e-input-group.e-control-wrapper input.e-input, + .e-input-group.e-control-wrapper textarea.e-input, + .e-float-input input.e-input, + .e-float-input.e-control-wrapper input.e-input { + margin-bottom: $input-zero-padding-margin; + } + + .e-input-group.e-input-focus::before, + .e-input-group.e-control-wrapper.e-input-focus::before, + .e-input-group:not(.e-float-icon-left):not(.e-float-input)::before, + .e-input-group.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input)::before, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::before, + .e-float-input.e-input-group:not(.e-float-icon-left) .e-float-line::before, + .e-float-input.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left) .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::before { + border-bottom-right-radius: $input-group-focus-border-radius; + } + + .e-input-group.e-input-focus::after, + .e-input-group.e-control-wrapper.e-input-focus::after, + .e-input-group:not(.e-float-icon-left):not(.e-float-input)::after, + .e-input-group.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input)::after, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::after, + .e-float-input.e-input-group:not(.e-float-icon-left) .e-float-line::after, + .e-float-input.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left) .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::after { + border-bottom-left-radius: $input-group-focus-border-radius; + } + + .e-input-group:not(.e-float-icon-left):not(.e-float-input)::before, + .e-input-group:not(.e-float-icon-left):not(.e-float-input)::after, + .e-input-group.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input)::before, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input)::after, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::after, + .e-float-input.e-input-group:not(.e-float-icon-left) .e-float-line::before, + .e-float-input.e-input-group:not(.e-float-icon-left) .e-float-line::after, + .e-float-input.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::before, + .e-float-input.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left) .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left) .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::after, + .e-filled.e-float-input.e-input-group.e-float-icon-left .e-float-line::before, + .e-filled.e-float-input.e-input-group.e-float-icon-left .e-float-line::after, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-float-line::before, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-float-line::after { + @include input-group-animation; + } + + .e-input-group::before, + .e-input-group::after, + .e-input-group.e-control-wrapper::before, + .e-input-group.e-control-wrapper::after { + @include input-group-animation; + } + + .e-input-group:not(.e-float-icon-left):not(.e-float-input)::before, + .e-input-group.e-float-icon-left .e-input-in-wrap:not(.e-float-input)::before, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input)::before, + .e-input-group.e-control-wrapper.e-float-icon-left .e-input-in-wrap:not(.e-float-input)::before, + .e-float-input.e-input-group:not(.e-float-icon-left) .e-float-line::before, + .e-float-input.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left) .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::before, + .e-filled.e-input-group.e-float-icon-left::before, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left::before, + .e-filled.e-float-input.e-input-group.e-float-icon-left .e-float-line::before, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-float-line::before { + @include input-group-animation-left; + } + + .e-input-group::before, + .e-input-group.e-control-wrapper::before { + @include input-group-animation-left; + } + + .e-input-group:not(.e-float-icon-left):not(.e-float-input).e-input-focus::before, + .e-input-group:not(.e-float-icon-left):not(.e-float-input).e-input-focus::after, + .e-input-group.e-float-icon-left:not(.e-float-input).e-input-focus .e-input-in-wrap::before, + .e-input-group.e-float-icon-left:not(.e-float-input).e-input-focus .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input).e-input-focus::before, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input).e-input-focus::after, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input).e-input-focus .e-input-in-wrap::before, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input).e-input-focus .e-input-in-wrap::after, + .e-float-input.e-input-group:not(.e-float-icon-left).e-input-focus .e-float-line::before, + .e-float-input.e-input-group:not(.e-float-icon-left).e-input-focus .e-float-line::after, + .e-float-input.e-input-group.e-float-icon-left.e-input-focus .e-input-in-wrap .e-float-line::before, + .e-float-input.e-input-group.e-float-icon-left.e-input-focus .e-input-in-wrap .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left).e-input-focus .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left).e-input-focus .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-input-focus .e-input-in-wrap .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-input-focus .e-input-in-wrap .e-float-line::after, + .e-filled.e-float-input.e-input-group.e-float-icon-left.e-input-focus .e-float-line::before, + .e-filled.e-float-input.e-input-group.e-float-icon-left.e-input-focus .e-float-line::after, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-input-focus .e-float-line::before, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-input-focus .e-float-line::after { + @include input-group-animation-width; + } + + .e-input-group.e-input-focus::before, + .e-input-group.e-input-focus::after, + .e-input-group.e-control-wrapper.e-input-focus::before, + .e-input-group.e-control-wrapper.e-input-focus::after { + @include input-group-animation-width; + } + + .e-input-group:not(.e-float-icon-left):not(.e-float-input)::after, + .e-input-group.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input)::after, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::after, + .e-float-input.e-input-group:not(.e-float-icon-left) .e-float-line::after, + .e-float-input.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left) .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::after, + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input)::after, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input)::after, + .e-filled.e-float-input.e-input-group.e-float-icon-left .e-float-line::after, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-float-line::after { + @include input-group-animation-right; + } + + .e-input-group::after, + .e-input-group.e-control-wrapper::after { + @include input-group-animation-right; + } + + .e-input-group, + .e-input-group.e-control-wrapper { + position: relative; + width: $input-full-position-width; + } + + .e-input-group .e-input-group-icon:hover, + .e-input-group.e-rtl.e-corner .e-input-group-icon:hover, + .e-input-group.e-control-wrapper .e-input-group-icon:hover, + .e-input-group.e-control-wrapper.e-rtl.e-corner .e-input-group-icon:hover { + border-radius: $input-group-border-radius; + } + + .e-input-group .e-input-group-icon, + .e-input-group.e-control-wrapper .e-input-group-icon { + margin-bottom: $input-child-margin-bottom; + margin-right: $input-child-margin-right; + margin-top: $input-child-margin-top; + } + + .e-float-input.e-input-group .e-input-group-icon, + .e-float-input.e-control-wrapper.e-input-group .e-input-group-icon { + margin-top: $float-input-child-margin-top; + } + + .e-input-group .e-input-group-icon:last-child, + .e-input-group.e-control-wrapper .e-input-group-icon:last-child { + margin-right: $input-grp-icon-margin-right; + } + + .e-input-group .e-input-group-icon:last-child, + .e-input-group.e-control-wrapper .e-input-group-icon:last-child { + margin: $zero-value; + } + + .e-input-group, + .e-input-group.e-control-wrapper { + border-bottom: $input-group-border; + } + + .e-input-group:not(.e-float-icon-left), + .e-input-group.e-control-wrapper:not(.e-float-icon-left), + .e-filled.e-input-group.e-float-icon-left, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left { + border-bottom: $input-group-border; + } + + .e-input-group, + .e-input-group.e-success, + .e-input-group.e-warning, + .e-input-group.e-error, + .e-input-group.e-control-wrapper, + .e-input-group.e-control-wrapper.e-success, + .e-input-group.e-control-wrapper.e-warning, + .e-input-group.e-control-wrapper.e-error { + border: $input-group-full-border; + border-width: $input-group-full-border-width; + } + + .e-input-group.e-rtl.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:not(:first-child):focus, + .e-input-group.e-control-wrapper.e-rtl.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:not(:first-child):focus { + border-right-width: $zero-value; + } + + .e-input-group:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left).e-disabled, + .e-input-group.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error).e-disabled .e-input-in-wrap, + .e-input-group.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left).e-disabled, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error).e-disabled .e-input-in-wrap { + background: $input-disable-bg-color; + color: $input-disable-font-color; + border-color: $input-disable-border-color; + } + + .e-input-group:not(.e-success):not(.e-warning):not(.e-error).e-disabled, + .e-input-group.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error).e-disabled { + border-style: $input-disable-border-type; + } + + input.e-input::-ms-clear, + .e-float-input input::-ms-clear, + .e-float-input.e-control-wrapper input::-ms-clear, + .e-input:not(:valid):not(.e-control):first-child~.e-close, + .e-input-group input:not(.e-control).e-input:not(:valid):first-child~.e-close, + .e-input-group.e-control-wrapper input.e-input:not(:valid):not(.e-control):first-child~.e-close, + .e-float-input input:not(:valid):not(.e-control):first-child~.e-close, + .e-float-input.e-control-wrapper input:not(:valid):not(.e-control):first-child~.e-close, + .e-float-input.e-input-group input:not(:valid):not(.e-control):first-child~.e-close, + .e-float-input.e-input-group.e-control-wrapper input:not(:valid):not(.e-control):first-child~.e-close{ + display: none; + } + + .e-input-group .e-close.e-clear-icon-hide, + .e-input-group.e-control-wrapper .e-close.e-clear-icon-hide, + .e-float-input.e-control-wrapper.e-hidden, + .e-input-group.e-control-wrapper.e-hidden { + display: none; + } + + input.e-input[type='search']::-webkit-search-decoration, + input.e-input[type='search']::-webkit-search-cancel-button, + input.e-input[type='search']::-webkit-search-results-button, + input.e-input[type='search']::-webkit-search-results-decoration, + .e-float-input input[type='search']::-webkit-search-decoration, + .e-float-input input[type='search']::-webkit-search-cancel-button, + .e-float-input input[type='search']::-webkit-search-results-button, + .e-float-input input[type='search']::-webkit-search-results-decoration, + .e-float-input.e-control-wrapper input[type='search']::-webkit-search-decoration, + .e-float-input.e-control-wrapper input[type='search']::-webkit-search-cancel-button, + .e-float-input.e-control-wrapper input[type='search']::-webkit-search-results-button, + .e-float-input.e-control-wrapper input[type='search']::-webkit-search-results-decoration { + -webkit-appearance: none; + } + + .e-float-input.e-input-group .e-float-line, + .e-float-input.e-input-group.e-control-wrapper .e-float-line, + .e-float-input.e-control-wrapper.e-input-group .e-float-line, + .e-float-input.e-control-wrapper.e-input-group.e-control-wrapper .e-float-line { + bottom: $float-input-group-line-bottom; + position: absolute; + } + + .e-float-input.e-input-group input, + .e-float-input.e-input-group textarea, + .e-float-input.e-input-group.e-control-wrapper input, + .e-float-input.e-input-group.e-control-wrapper textarea { + border: $zero-value; + } + + .e-float-input.e-input-group .e-float-line, + .e-float-input.e-input-group .e-float-text, + .e-float-input.e-input-group.e-control-wrapper .e-float-line, + .e-float-input.e-input-group.e-control-wrapper .e-float-text { + right: $input-zero-padding-margin; + } + + input.e-input::-webkit-input-placeholder, + input.e-input:-moz-placeholder, + input.e-input:-ms-input-placeholder, + input.e-input::-moz-placeholder, + textarea.e-input::-webkit-input-placeholder, + textarea.e-input:-moz-placeholder, + textarea.e-input:-ms-input-placeholder, + textarea.e-input::-moz-placeholder, + textarea.e-input::-webkit-textarea-placeholder, + textarea.e-input:-moz-placeholder, + textarea.e-input:-ms-textarea-placeholder, + textarea.e-input::-moz-placeholder { + font-size: $input-font-size; + font-style: $input-font-style; + } + + input.e-input:-moz-placeholder, + textarea.e-input:-moz-placeholder, + .e-input-group input.e-input:-moz-placeholder, + .e-input-group textarea.e-input:-moz-placeholder, + .e-input-group.e-control-wrapper input.e-input:-moz-placeholder, + .e-input-group.e-control-wrapper textarea.e-input:-moz-placeholder, + input.e-input:-moz-placeholder, + .e-input-group input.e-input:-moz-placeholder, + .e-input-group.e-control-wrapper input.e-input:-moz-placeholder, + textarea.e-input:-moz-placeholder, + input.e-input::-moz-placeholder, + textarea.e-input::-moz-placeholder, + input.e-input::-webkit-input-placeholder, + textarea.e-input::-webkit-input-placeholder { + font-style: $input-font-style; + user-select: none; + } + + input.e-input:-ms-input-placeholder, + textarea.e-input:-ms-input-placeholder { + font-style: $input-font-style; + } + + input.e-input, + .e-input-group input, + .e-input-group.e-control-wrapper input, + .e-input-group input.e-input, + .e-input-group.e-control-wrapper input.e-input { + @include input-sizing; + @include input-height ($input-normal-height); + } + + .e-float-input:not(.e-input-group) input, + .e-float-input.e-control-wrapper:not(.e-input-group) input { + @include input-sizing; + @include input-height ($float-input-normal-height); + } + + .e-control input.e-input, + .e-control .e-input-group input, + .e-control .e-input-group input.e-input, + .e-control .e-input-group.e-control-wrapper input, + .e-control .e-input-group.e-control-wrapper input.e-input, + .e-control .e-float-input input, + .e-control .e-float-input.e-control-wrapper input, + .e-control.e-input-group input, + .e-control.e-input-group input.e-input, + .e-control.e-input-group.e-control-wrapper input, + .e-control.e-input-group.e-control-wrapper input.e-input, + .e-control.e-float-input input, + .e-control.e-float-input.e-control-wrapper input { + @include input-sizing; + } + + textarea.e-input, + .e-input-group textarea, + .e-input-group.e-control-wrapper textarea, + .e-float-input textarea, + .e-float-input.e-control-wrapper textarea { + @include input-sizing; + @include input-height ($textarea-normal-height); + } + + input.e-input, + .e-input-group input.e-input, + .e-input-group input, + .e-input-group.e-control-wrapper input.e-input, + .e-input-group.e-control-wrapper input, + .e-float-input input.e-input, + .e-float-input input, + .e-float-input.e-control-wrapper input.e-input, + .e-float-input.e-control-wrapper input, + .e-input-group input.e-input:focus, + .e-input-group.e-control-wrapper input.e-input:focus, + .e-float-input.e-control-wrapper input:focus, + .e-float-input input:focus, + .e-input-group.e-input-focus input.e-input, + .e-input-group.e-control-wrapper.e-input-focus input.e-input, + .e-float-input.e-control-wrapper.e-input-focus input, + .e-float-input.e-input-focus input { + padding-left: $input-text-indent; + text-indent: $input-zero-padding-margin; + } + + textarea.e-input, + .e-input-group textarea.e-input, + .e-input-group textarea, + .e-input-group.e-control-wrapper textarea.e-input, + .e-input-group.e-control-wrapper textarea, + .e-float-input textarea.e-input, + .e-float-input textarea, + .e-float-input.e-control-wrapper textarea.e-input, + .e-float-input.e-control-wrapper textarea, + .e-input-group textarea.e-input:focus, + .e-input-group.e-control-wrapper textarea.e-input:focus, + .e-float-input.e-control-wrapper textarea:focus, + .e-float-input textarea:focus { + padding-left: $textarea-input-padding-left; + text-indent: $input-zero-padding-margin; + } + + input.e-input.e-rtl, + .e-input-group.e-rtl input.e-input, + .e-input-group.e-control-container.e-rtl input.e-control, + .e-input-group.e-control-wrapper.e-rtl input.e-input, + .e-float-input.e-rtl input, + .e-float-input.e-control-wrapper.e-rtl input, + .e-rtl .e-input-group input.e-input, + .e-rtl .e-input-group.e-control-wrapper input.e-input, + .e-rtl .e-float-input input, + .e-rtl .e-float-input.e-control-wrapper input, + .e-input-group.e-rtl input.e-input, + .e-input-group.e-control-wrapper.e-rtl input.e-input, + .e-float-input.e-rtl input, + .e-float-input.e-control-wrapper.e-rtl input, + .e-rtl .e-input-group input.e-input, + .e-rtl .e-input-group.e-control-wrapper input.e-input, + .e-rtl .e-float-input input, + .e-rtl .e-float-input.e-control-wrapper input, + .e-input-group.e-rtl input.e-input:focus, + .e-input-group.e-control-wrapper.e-rtl input.e-input:focus, + .e-float-input.e-rtl input:focus, + .e-float-input.e-control-wrapper.e-rtl input:focus, + .e-rtl .e-input-group input.e-input:focus, + .e-rtl .e-input-group.e-control-wrapper input.e-input:focus, + .e-rtl .e-float-input input:focus, + .e-rtl .e-float-input.e-control-wrapper input:focus, + .e-input-group.e-rtl.e-input-focus input.e-input, + .e-input-group.e-control-wrapper.e-rtl.e-input-focus input.e-input, + .e-rtl .e-input-group.e-input-focus input.e-input, + .e-rtl .e-input-group.e-control-wrapper.e-input-focus input.e-input, + .e-float-input.e-rtl.e-input-focus input, + .e-float-input.e-control-wrapper.e-rtl.e-input-focus input, + .e-rtl .e-float-input.e-input-focus input, + .e-rtl .e-float-input.e-control-wrapper.e-input-focus input { + padding-left: $input-zero-padding-margin; + padding-right: $input-text-indent; + text-indent: $input-zero-padding-margin; + } + + textarea.e-input.e-rtl, + .e-input-group:not(.e-outline).e-rtl textarea.e-input, + .e-input-group:not(.e-outline).e-control-wrapper.e-rtl textarea.e-input, + .e-float-input:not(.e-outline).e-rtl textarea, + .e-float-input:not(.e-outline).e-control-wrapper.e-rtl textarea, + .e-rtl .e-input-group:not(.e-outline) textarea.e-input, + .e-rtl .e-input-group:not(.e-outline).e-control-wrapper textarea.e-input, + .e-rtl .e-float-input:not(.e-outline) textarea, + .e-rtl .e-float-input:not(.e-outline).e-control-wrapper textarea, + .e-input-group:not(.e-outline).e-rtl textarea.e-input, + .e-input-group:not(.e-outline).e-control-wrapper.e-rtl textarea.e-input, + .e-float-input:not(.e-outline).e-rtl textarea, + .e-float-input:not(.e-outline).e-control-wrapper.e-rtl textarea, + .e-rtl .e-input-group:not(.e-outline) textarea.e-input, + .e-rtl .e-input-group:not(.e-outline).e-control-wrapper textarea.e-input, + .e-rtl .e-float-input:not(.e-outline) textarea, + .e-rtl .e-float-input:not(.e-outline).e-control-wrapper textarea, + .e-input-group:not(.e-outline).e-rtl textarea.e-input:focus, + .e-input-group:not(.e-outline).e-control-wrapper.e-rtl textarea.e-input:focus, + .e-float-input:not(.e-outline).e-rtl textarea:focus, + .e-float-input:not(.e-outline).e-control-wrapper.e-rtl textarea:focus, + .e-rtl .e-input-group:not(.e-outline) textarea.e-input:focus, + .e-rtl .e-input-group:not(.e-outline).e-control-wrapper textarea.e-input:focus, + .e-rtl .e-float-input:not(.e-outline) textarea:focus, + .e-rtl .e-float-input:not(.e-outline).e-control-wrapper textarea:focus { + padding-right: $input-text-indent; + text-indent: $input-zero-padding-margin; + } + + // Clear-icon support + .e-float-input .e-close, + .e-float-input.e-control-wrapper .e-close, + .e-input-group .e-close, + .e-input-group.e-control-wrapper .e-close{ + background: transparent; + border: $zero-value; + cursor: pointer; + display: flex; + flex-direction: column; + justify-content: $input-clear-icon-position; + line-height: $input-grup-icon-line-height; + min-width: 24px; + outline: none; + padding: $input-clear-icon-padding; + text-align: center; + } + + .e-float-input .e-close::before, + .e-float-input.e-control-wrapper .e-close::before, + .e-input-group .e-close::before, + .e-input-group.e-control-wrapper .e-close::before { + font-size: $input-clear-icon; + padding: $input-zero-padding-margin; + text-align: center; + vertical-align: middle; + } + + .e-float-input.e-static-clear .e-close.e-clear-icon-hide, + .e-float-input.e-control-wrapper.e-static-clear .e-close.e-clear-icon-hide, + .e-input-group.e-static-clear .e-close.e-clear-icon-hide, + .e-input-group.e-control-wrapper.e-static-clear .e-close.e-clear-icon-hide { + cursor: pointer; + display: flex; + } + + .e-input-group.e-static-clear .e-close.e-clear-icon-hide, + .e-input-group.e-control-wrapper.e-static-clear .e-close.e-clear-icon-hide { + cursor: pointer; + } + + .e-float-input.e-control-wrapper input[readonly]:first-child~.e-close, + .e-float-input.e-control-wrapper.e-input-group input[readonly]:first-child~.e-close, + .e-float-input input[readonly]:first-child~.e-close, + .e-float-input.e-input-group input[readonly]:first-child~.e-close, + .e-input-group input[readonly]:first-child~.e-close.e-clear-icon-hide, + .e-float-input.e-control-wrapper.e-input-group input[readonly]:first-child~.e-close, + .e-float-input.e-input-group.e-control-wrapper input[readonly]:first-child~.e-close, + .e-input-group.e-control-wrapper input[readonly]:first-child .e-close.e-clear-icon-hide { + cursor: auto; + } + + .e-input-group .e-close, + .e-input-group.e-control-wrapper .e-close{ + min-height: $input-clear-icon-min-height; + min-width: $input-clear-icon-min-width; + padding: $input-clear-icon-padding; + margin: $input-clear-icon-margin; + border-radius: $input-clear-icon-hover-border-radius; + } + + .e-input:not(:valid), + .e-input:valid, + .e-float-input.e-control-wrapper input:not(:valid), + .e-float-input.e-control-wrapper input:valid, + .e-float-input input:not(:valid), + .e-float-input input:valid, + .e-input-group input:not(:valid), + .e-input-group input:valid, + .e-input-group.e-control-wrapper input:not(:valid), + .e-input-group.e-control-wrapper input:valid, + .e-float-input.e-control-wrapper textarea:not(:valid), + .e-float-input.e-control-wrapper textarea:valid, + .e-float-input textarea:not(:valid), + .e-float-input textarea:valid, + .e-input-group.e-control-wrapper textarea:not(:valid), + .e-input-group.e-control-wrapper textarea:valid, + .e-input-group textarea:not(:valid), + .e-input-group textarea:valid { + box-shadow: none; + } + + .e-input:not(:valid), + .e-input:valid, + .e-float-input input:valid, + .e-input-group input:valid { + border-bottom-color: $input-box-border-color; + border-top-color: $border; + border-left-color: $border; + border-right-color: $border; + border-radius: $input-float-border-radius; + height: $input-float-height; + } + + .e-input-group .e-input-in-wrap, + .e-input-group.e-control-wrapper .e-input-in-wrap, + .e-float-input .e-input-in-wrap, + .e-float-input.e-control-wrapper .e-input-in-wrap { + width: $input-full-position-width; + } + + .e-float-input .e-input-in-wrap label.e-float-text, + .e-float-input.e-control-wrapper .e-input-in-wrap label.e-float-text { + right: $input-zero-padding-margin; + } + + .e-input-group .e-input-in-wrap, + .e-input-group.e-control-wrapper .e-input-in-wrap, + .e-float-input .e-input-in-wrap, + .e-float-input.e-control-wrapper .e-input-in-wrap { + display: flex; + position: relative; + width: $input-full-position-width; + } + + .e-float-input.e-float-icon-left .e-input-in-wrap, + .e-float-input.e-control-wrapper.e-float-icon-left .e-input-in-wrap, + .e-input-group.e-float-icon-left .e-input-in-wrap, + .e-input-group.e-control-wrapper.e-float-icon-left .e-input-in-wrap { + border-width: $input-group-full-border-width; + margin-left: $input-inner-wrap-margin-left; + } + + .e-rtl .e-float-input.e-float-icon-left .e-input-in-wrap, + .e-rtl .e-float-input.e-control-wrapper.e-float-icon-left .e-input-in-wrap, + .e-rtl .e-input-group.e-float-icon-left .e-input-in-wrap, + .e-rtl .e-input-group.e-control-wrapper.e-float-icon-left .e-input-in-wrap .e-float-input.e-control-wrapper.e-float-icon-left.e-rtl .e-input-in-wrap, + .e-float-input.e-float-icon-left.e-rtl .e-input-in-wrap, + .e-input-group.e-float-icon-left.e-rtl .e-input-in-wrap, + .e-input-group.e-control-wrapper.e-float-icon-left.e-rtl .e-input-in-wrap { + margin-left: $input-zero-padding-margin; + margin-right: $input-inner-wrap-margin-left; + } + + .e-float-input label.e-float-text.e-label-bottom, + .e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom { + transform: translate3d(0, 16px, 0) scale(1); + padding-left: $float-input-label-padding-left; + } + + .e-float-input textarea:focus~label.e-float-text, + .e-float-input textarea:valid~label.e-float-text, + .e-float-input textarea~label.e-label-top.e-float-text, + .e-float-input textarea[readonly]~label.e-label-top.e-float-text, + .e-float-input textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input textarea label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper textarea:focus~label.e-float-text, + .e-float-input.e-control-wrapper textarea:valid~label.e-float-text, + .e-float-input.e-control-wrapper textarea~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper textarea[readonly]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper textarea label.e-float-text.e-label-top { + font-size: $float-label-font-size; + top: $textarea-float-top; + transform: translate3d(0, 6px, 0) scale(.92); + top: $textarea-float-top; + transform: translate3d(0, 6px, 0) scale(.92); + } + + .e-float-input textarea~.e-float-text, + .e-float-input.e-control-wrapper textarea~.e-float-text { + top: $float-input-wrapper-top; + } + + .e-input-group input.e-input, + .e-float-input.e-input-group input, + .e-input-group.e-control-wrapper input.e-input, + .e-float-input.e-input-group.e-control-wrapper input, + .e-float-input input, + .e-float-input.e-control-wrapper input { + min-height: 22px; + } + + .e-input-group:hover:not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left), + .e-input-group.e-control-wrapper:hover:not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left), + .e-float-input:hover:not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left), + .e-float-input:hover:not(.e-input-group):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) input:not([disabled]), + .e-float-input:hover:not(.e-input-group):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) textarea:not([disabled]), + .e-float-input:hover:not(.e-input-group):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) input:not([disabled]), + .e-float-input:hover:not(.e-input-group):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) textarea:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) input:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) textarea:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) input:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) textarea:not([disabled]) { + border-bottom-width: $input-group-border-width-hover; + border-color: $input-group-border-color-hover; + } + + .e-input-group:hover:not(.e-disabled), + .e-input-group.e-control-wrapper:hover:not(.e-disabled), + .e-float-input:hover:not(.e-disabled), + .e-float-input:hover:not(.e-input-group):not(.e-disabled) input:not([disabled]), + .e-float-input:hover:not(.e-input-group):not(.e-disabled) textarea:not([disabled]), + .e-float-input:hover:not(.e-input-group):not(.e-disabled) input:not([disabled]), + .e-float-input:hover:not(.e-input-group):not(.e-disabled) textarea:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-disabled), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled) input:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled) textarea:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled) input:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled) textarea:not([disabled]) { + border-bottom-width: $input-group-border-width-hover; + } + + .e-input-group.e-float-icon-left:not(.e-disabled):not(.e-input-focus) .e-input-in-wrap:hover, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-disabled):not(.e-input-focus) .e-input-in-wrap:hover, + .e-float-input.e-float-icon-left:not(.e-disabled):not(.e-input-focus) .e-input-in-wrap:hover, + .e-float-input.e-control-wrapper.e-float-icon-left:not(.e-disabled):not(.e-input-focus) .e-input-in-wrap:hover { + border-bottom-width: $input-group-border-width-hover; + } + + .e-input-group:not(.e-disabled):not(.e-float-icon-left)::before, + .e-input-group:not(.e-disabled):not(.e-float-icon-left)::after, + .e-input-group.e-float-icon-left:not(.e-disabled) .e-input-in-wrap::before, + .e-input-group.e-float-icon-left:not(.e-disabled) .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-disabled):not(.e-float-icon-left)::before, + .e-input-group.e-control-wrapper:not(.e-disabled):not(.e-float-icon-left)::after, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-disabled) .e-input-in-wrap::before, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-disabled) .e-input-in-wrap::after { + bottom: $input-group-bottom; + } + + .e-float-input:not(.e-outline) input:-webkit-autofill~label.e-float-text, + .e-float-input.e-control-wrapper.e-autofill:not(.e-outline) input:-webkit-autofill~label.e-float-text, + .e-float-input.e-control-wrapper.e-autofill:not(.e-input-focus):not(.e-outline) input:not(:focus):valid:-webkit-autofill~label.e-float-text.e-label-bottom { + font-size: $float-label-font-size; + user-select: text; + } + + .e-float-input textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper textarea:not(:focus):valid~label.e-float-text.e-label-bottom { + transform: translate3d(0, 16px, 0) scale(1); + } + + .e-float-input textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper textarea:not(:focus):valid~label.e-float-text.e-label-bottom { + font-size: $float-placeholder-font-size; + font-style: $input-font-style; + font-weight: $input-grup-icon-line-height; + left: $input-zero-padding-margin; + overflow: hidden; + padding-left: $float-label-padding; + pointer-events: none; + position: absolute; + text-overflow: ellipsis; + top: $input-float-label-top; + transform: translate3d(0, 16px, 0) scale(1); + transform-origin: left top; + transition: .25s cubic-bezier(.25, .8, .25, 1); + user-select: none; + white-space: nowrap; + width: $input-full-position-width; + letter-spacing: $input-letter-spacing; + } + + .e-float-input textarea:-webkit-autofill~label.e-float-text, + .e-float-input.e-control-wrapper.e-autofill textarea:-webkit-autofill~label.e-float-text, + .e-float-input.e-control-wrapper.e-autofill textarea:not(:focus):valid:-webkit-autofill~label.e-float-text.e-label-bottom { + font-size: $float-label-font-size; + top: $float-bigger-label-font-top; + transform: translate3d(0, -6px, 0) scale(.92); + user-select: text; + } + + .e-float-input textarea[disabled], + .e-float-input textarea.e-disabled, + .e-float-input.e-control-wrapper textarea[disabled], + .e-float-input.e-control-wrapper textarea.e-disabled { + border-color: $input-disable-border-color; + border-style: $input-disable-border-type; + } + + .e-float-input textarea[disabled], + .e-float-input textarea.e-disabled, + .e-float-input.e-control-wrapper textarea[disabled], + .e-float-input.e-control-wrapper textarea.e-disabled { + background: transparent; + background-image: none; + cursor: not-allowed; + } + + textarea.e-input, + .e-input-group textarea, + .e-input-group textarea.e-input, + .e-input-group.e-input-focus textarea, + .e-input-group.e-input-focus textarea.e-input, + .e-input-group.e-control-wrapper textarea, + .e-input-group.e-control-wrapper.e-input-focus textarea, + .e-input-group.e-control-wrapper textarea.e-input, + .e-input-group.e-control-wrapper.e-input-focus textarea.e-input, + .e-float-input textarea, + .e-float-input.e-control-wrapper textarea { + line-height: $input-textarea-line-height; + min-height: $textarea-min-height; + min-width: 0; + padding: $textarea-padding; + resize: vertical; + } + + input.e-input, + textarea.e-input { + min-height: $input-min-height; + } + + // Outline textbox + + .e-input-group.e-control-wrapper, + .e-input-group, + .e-input-group:not(.e-float-icon-left), + .e-float-input, + .e-float-input.e-control-wrapper, + .e-input-group:not(.e-float-icon-left), + .e-input-group.e-success:not(.e-float-icon-left), + .e-input-group.e-warning:not(.e-float-icon-left), + .e-input-group.e-error:not(.e-float-icon-left), + .e-input-group.e-control-wrapper:not(.e-float-icon-left), + .e-input-group.e-control-wrapper.e-success:not(.e-float-icon-left), + .e-input-group.e-control-wrapper.e-warning:not(.e-float-icon-left), + .e-input-group.e-control-wrapper.e-error:not(.e-float-icon-left) { + border: $input-border-width solid $outline-border-color; + border-radius: $input-float-border-radius; + border-width: $input-border-width; + fill: transparent; + transition: border .2s, box-shadow .2s; + } + + .e-filled.e-input-group, + .e-filled.e-input-group.e-control-wrapper, + .e-filled.e-float-input, + .e-filled.e-float-input.e-control-wrapper { + line-height: $input-grup-icon-line-height; + } + + .e-filled input.e-input, + .e-filled.e-input-group input, + .e-filled.e-input-group.e-control-wrapper input, + .e-filled.e-input-group input.e-input, + .e-filled.e-input-group.e-control-wrapper input.e-input, + .e-filled.e-float-input:not(.e-input-group) input, + .e-filled.e-float-input.e-control-wrapper:not(.e-input-group) input, + .e-control .e-filled input.e-input, + .e-control .e-filled.e-input-group input, + .e-control .e-filled.e-input-group input.e-input, + .e-control .e-filled.e-input-group.e-control-wrapper input, + .e-control .e-filled.e-input-group.e-control-wrapper input.e-input, + .e-control .e-filled.e-float-input input, + .e-control .e-filled.e-float-input.e-control-wrapper input, + .e-control.e-filled.e-input-group input, + .e-control.e-filled.e-input-group input.e-input, + .e-control.e-filled.e-input-group.e-control-wrapper input, + .e-control.e-filled.e-input-group.e-control-wrapper input.e-input, + .e-control.e-filled.e-float-input input, + .e-control.e-filled.e-float-input.e-control-wrapper input { + box-sizing: border-box; + } + + .e-filled.e-float-input input, + .e-filled.e-float-input textarea, + .e-filled.e-float-input.e-control-wrapper input, + .e-filled.e-float-input.e-control-wrapper textarea { + border: $float-input-border; + border-width: $zero-value; + } + + .e-filled.e-float-input:hover:not(.e-input-group):not(.e-disabled) input:not([disabled]), + .e-filled.e-float-input:hover:not(.e-input-group):not(.e-disabled) textarea:not([disabled]), + .e-filled.e-float-input:hover:not(.e-input-group):not(.e-disabled) input:not([disabled]), + .e-filled.e-float-input:hover:not(.e-input-group):not(.e-disabled) textarea:not([disabled]), + .e-filled.e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled) input:not([disabled]), + .e-filled.e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled) textarea:not([disabled]), + .e-filled.e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled) input:not([disabled]), + .e-filled.e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-disabled) textarea:not([disabled]), + .e-filled.e-input-group.e-float-icon-left:not(.e-disabled):not(.e-input-focus) .e-input-in-wrap:hover, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-disabled):not(.e-input-focus) .e-input-in-wrap:hover, + .e-filled.e-float-input.e-float-icon-left:not(.e-disabled):not(.e-input-focus) .e-input-in-wrap:hover, + .e-filled.e-float-input.e-control-wrapper.e-float-icon-left:not(.e-disabled):not(.e-input-focus) .e-input-in-wrap:hover { + border-bottom-width: $zero-value; + } + + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) input, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled).e-success:not(.e-warning):not(.e-error) input, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success).e-warning:not(.e-error) input, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success):not(.e-warning).e-error input, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) textarea, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled).e-success:not(.e-warning):not(.e-error) textarea, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success).e-warning:not(.e-error) textarea, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success):not(.e-warning).e-error textarea, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) input, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled).e-success:not(.e-warning):not(.e-error) input, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success).e-warning:not(.e-error) input, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success):not(.e-warning).e-error input, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success):not(.e-warning):not(.e-error) textarea, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled).e-success:not(.e-warning):not(.e-error) textarea, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success).e-warning:not(.e-error) textarea, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-disabled):not(.e-success):not(.e-warning).e-error textarea, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-success):not(.e-warning):not(.e-error) input, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left).e-success:not(.e-warning):not(.e-error) input, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-success).e-warning:not(.e-error) input, + .e-filled.e-float-input.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-success):not(.e-warning).e-error input, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-success):not(.e-warning):not(.e-error) input, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left).e-success:not(.e-warning):not(.e-error) input, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-success).e-warning:not(.e-error) input, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:not(.e-input-group):not(.e-float-icon-left):not(.e-success):not(.e-warning).e-error input { + border-width: $zero-value; + } + + .e-filled.e-input-group, + .e-filled.e-input-group.e-control-wrapper { + border-radius: $filled-input-grp-border-radius; + padding: $filled-wrapper-padding; + } + + .e-filled.e-float-input, + .e-filled.e-float-input.e-control-wrapper { + border: $input-group-full-border; + border-radius: $filled-input-grp-border-radius; + border-width: $input-group-full-border-width; + margin-top: $filled-wrapper-margin; + padding: $filled-float-input-wrapper-padding; + } + + .e-rtl.e-filled.e-input-group, + .e-rtl.e-filled.e-input-group.e-control-wrapper, + .e-rtl .e-filled.e-input-group, + .e-rtl .e-filled.e-input-group.e-control-wrapper { + padding: $filled-wrapper-rtl-padding; + } + + .e-rtl.e-filled.e-float-input, + .e-rtl.e-filled.e-float-input.e-control-wrapper, + .e-rtl .e-filled.e-float-input, + .e-rtl .e-filled.e-float-input.e-control-wrapper { + padding: $filled-float-input-wrapper-rtl-padding; + } + + .e-filled input.e-input, + .e-filled.e-input-group input.e-input, + .e-filled.e-input-group.e-control-wrapper input.e-input, + .e-filled textarea.e-input, + .e-filled.e-input-group textarea.e-input, + .e-filled.e-input-group.e-control-wrapper textarea.e-input, + .e-filled.e-input-group input.e-input:focus, + .e-filled.e-input-group.e-control-wrapper input.e-input:focus, + .e-filled.e-input-group textarea.e-input:focus, + .e-filled.e-input-group.e-control-wrapper textarea.e-input:focus, + .e-filled.e-input-group.e-input-focus input.e-input, + .e-filled.e-input-group.e-control-wrapper.e-input-focus input.e-input { + padding: $filled-input-padding; + } + + .e-filled .e-input:focus { + padding-bottom: $filled-input-padding-bottom; + } + + .e-filled.e-float-input input, + .e-filled.e-float-input.e-control-wrapper input { + padding: $filled-float-input-padding; + } + + .e-filled input.e-input.e-rtl, + .e-filled.e-input-group.e-rtl input.e-input, + .e-filled.e-input-group.e-control-wrapper.e-rtl input.e-input, + .e-rtl .e-filled.e-input-group input.e-input, + .e-rtl .e-filled.e-input-group.e-control-wrapper input.e-input, + .e-filled.e-input-group.e-rtl input.e-input, + .e-filled.e-input-group.e-control-wrapper.e-rtl input.e-input, + .e-rtl .e-filled.e-input-group input.e-input, + .e-rtl .e-filled.e-input-group.e-control-wrapper input.e-input, + .e-filled.e-input-group.e-rtl input.e-input:focus, + .e-filled.e-input-group.e-control-wrapper.e-rtl input.e-input:focus, + .e-rtl .e-filled.e-input-group input.e-input:focus, + .e-rtl .e-filled.e-input-group.e-control-wrapper input.e-input:focus, + .e-filled.e-input-group.e-rtl.e-input-focus input.e-input, + .e-filled.e-input-group.e-control-wrapper.e-rtl.e-input-focus input.e-input, + .e-rtl .e-filled.e-input-group.e-input-focus input.e-input, + .e-rtl .e-filled.e-input-group.e-control-wrapper.e-input-focus input.e-input { + padding: $filled-input-rtl-padding; + text-indent: $input-zero-padding-margin; + } + + .e-filled.e-float-input.e-rtl input, + .e-filled.e-float-input.e-control-wrapper.e-rtl input, + .e-rtl .e-filled.e-float-input input, + .e-rtl .e-filled.e-float-input.e-control-wrapper input, + .e-filled.e-float-input.e-rtl input, + .e-filled.e-float-input.e-control-wrapper.e-rtl input, + .e-rtl .e-filled.e-float-input input, + .e-rtl .e-filled.e-float-input.e-control-wrapper input, + .e-filled.e-float-input.e-rtl input:focus, + .e-filled.e-float-input.e-control-wrapper.e-rtl input:focus, + .e-rtl .e-filled.e-float-input input:focus, + .e-rtl .e-filled.e-float-input.e-control-wrapper input:focus, + .e-filled.e-float-input.e-rtl.e-input-focus input, + .e-filled.e-float-input.e-control-wrapper.e-rtl.e-input-focus input, + .e-rtl .e-filled.e-float-input.e-input-focus input, + .e-rtl .e-filled.e-float-input.e-control-wrapper.e-input-focus input { + padding: $filled-float-input-rtl-padding; + text-indent: $input-zero-padding-margin; + } + + .e-filled.e-float-input, + .e-filled.e-float-input.e-control-wrapper, + .e-filled.e-float-input.e-disabled, + .e-filled.e-float-input.e-control-wrapper.e-disabled, + .e-filled.e-float-input.e-input-group.e-disabled, + .e-filled.e-float-input.e-input-group.e-control-wrapper.e-disabled { + font-size: $filled-input-font-size; + } + + .e-filled.e-input-group input.e-input, + .e-filled.e-input-group.e-control-wrapper input.e-input, + .e-filled.e-input-group:not(.e-float-input) input.e-input, + .e-filled.e-input-group:not(.e-float-input).e-control-wrapper input.e-input { + min-height: $filled-default-input-min-height; + } + + .e-float-input.e-filled.e-input-group.e-control-wrapper input, + .e-float-input.e-filled input, + .e-float-input.e-filled.e-control-wrapper input { + min-height: $filled-input-min-height; + } + + .e-filled label.e-float-text, + .e-filled.e-float-input label.e-float-text, + .e-filled.e-float-input.e-control-wrapper label.e-float-text, + .e-filled.e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom { + font-size: $filled-float-label-font-size; + left: $filled-input-label-left; + letter-spacing: $filled-float-letter-spacing; + line-height: $input-filled-float-text-line-height; + padding-left: $float-label-padding; + pointer-events: none; + right: $input-auto-width; + top: $filled-input-label-top; + transform: none; + transition: transform 150ms cubic-bezier(.4, $zero-value, .2, 1), color 150ms cubic-bezier(.4, $zero-value, .2, 1); + width: $input-full-position-width; + } + + .e-filled.e-float-input textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper textarea:not(:focus):valid~label.e-float-text.e-label-bottom { + font-size: $filled-float-label-font-size; + padding-left: $float-label-padding; + top: $filled-input-label-top; + transform: none; + width: $input-full-position-width; + } + + .e-filled.e-float-input input:focus~label.e-float-text, + .e-filled.e-float-input input:valid~label.e-float-text, + .e-filled.e-float-input input~label.e-label-top.e-float-text, + .e-filled.e-float-input input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper input:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-input-focus input~label.e-float-text { + font-size: $filled-float-label-font-size; + top: $filled-input-label-top-after-floating; + transform: translateY(-50%) scale(.75); + left: $filled-float-input-text-left; + } + + .e-filled.e-float-input textarea:focus~label.e-float-text, + .e-filled.e-float-input textarea:valid~label.e-float-text, + .e-filled.e-float-input textarea~label.e-label-top.e-float-text, + .e-filled.e-float-input textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input textarea label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper textarea:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper textarea~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper textarea label.e-float-text.e-label-top { + font-size: $filled-float-label-font-size; + top: $filled-input-label-top-after-floating; + transform: translateY(-50%) scale(.75); + } + + .e-filled.e-float-input input:-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill input:-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill:not(.e-input-focus) input:not(:focus):valid:-webkit-autofill~label.e-float-text.e-label-bottom, + .e-filled.e-float-input textarea:-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill textarea:-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill textarea:not(:focus):valid:-webkit-autofill~label.e-float-text.e-label-bottom { + font-size: $filled-float-label-font-size; + top: $filled-input-label-top-after-floating; + transform: translateY(-50%) scale(.75); + user-select: text; + } + + .e-filled.e-float-input label.e-float-text, + .e-filled.e-float-input label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper label.e-float-text, + .e-filled.e-float-input.e-control-wrapper label.e-float-text.e-label-bottom, + .e-filled.e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input:not(.e-input-focus) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus) textarea:not(:focus):valid~label.e-float-text.e-label-bottom { + left: $filled-input-label-left; + } + + .e-filled.e-float-input.e-rtl label.e-float-text, + .e-filled.e-float-input.e-rtl label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input label.e-float-text .e-filled.e-float-input.e-control-wrapper.e-rtl label.e-float-text, + .e-filled.e-float-input.e-rtl.e-control-wrapper label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input.e-control-wrapper label.e-float-text, + .e-filled.e-float-input.e-rtl:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper.e-rtl:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-rtl:not(.e-input-focus) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper.e-rtl:not(.e-input-focus) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input:not(.e-input-focus) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus) textarea:not(:focus):valid~label.e-float-text.e-label-bottom { + right: $filled-input-label-left; + } + + .e-filled.e-float-input .e-float-line, + .e-float-input.e-filled.e-control-wrapper .e-float-line { + bottom: $float-input-group-line-bottom; + position: absolute; + } + + .e-float-input.e-filled .e-float-line, + .e-float-input.e-filled .e-float-text, + .e-float-input.e-filled.e-control-wrapper .e-float-line, + .e-float-input.e-filled.e-control-wrapper .e-float-text, + .e-filled.e-float-input.e-rtl .e-input-in-wrap label.e-float-text, + .e-filled.e-float-input.e-rtl .e-input-in-wrap label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input .e-input-in-wrap label.e-float-text .e-filled.e-float-input.e-control-wrapper.e-rtl .e-input-in-wrap label.e-float-text, + .e-filled.e-float-input.e-rtl.e-control-wrapper .e-input-in-wrap label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap label.e-float-text, + .e-filled.e-float-input.e-rtl:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper.e-rtl:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-rtl .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom { + right: $input-zero-padding-margin; + } + + .e-filled.e-input-group:not(.e-disabled):not(.e-float-icon-left)::before, + .e-filled.e-filled.e-input-group:not(.e-disabled):not(.e-float-icon-left)::after, + .e-filled.e-input-group.e-control-wrapper:not(.e-disabled):not(.e-float-icon-left)::before, + .e-filled.e-input-group.e-control-wrapper:not(.e-disabled):not(.e-float-icon-left)::after { + bottom: $filled-input-icon-before-bottom; + } + + .e-filled.e-input-group .e-input-group-icon, + .e-filled.e-input-group.e-control-wrapper .e-input-group-icon { + font-size: $filled-input-icon-size; + margin-bottom: $input-zero-padding-margin; + margin-top: $input-zero-padding-margin; + min-height: $filled-input-icon-min-height; + min-width: $filled-input-icon-min-height; + padding: $input-filled-icon-padding; + } + + .e-rtl.e-filled.e-input-group .e-input-group-icon, + .e-rtl.e-filled.e-input-group.e-control-wrapper .e-input-group-icon, + .e-rtl .e-filled.e-input-group .e-input-group-icon, + .e-rtl .e-filled.e-input-group.e-control-wrapper .e-input-group-icon, + .e-rtl.e-filled.e-float-input.e-input-group .e-input-group-icon, + .e-rtl.e-filled.e-float-input.e-control-wrapper.e-input-group .e-input-group-icon, + .e-rtl .e-filled.e-float-input.e-input-group .e-input-group-icon, + .e-rtl .e-filled.e-float-input.e-control-wrapper.e-input-group .e-input-group-icon { + padding: $input-bgr-filled-control-icon-padding; + } + + .e-filled.e-float-input.e-input-group .e-input-group-icon, + .e-filled.e-float-input.e-control-wrapper.e-input-group .e-input-group-icon { + font-size: $filled-input-icon-size; + padding: $input-filled-small-float-group-icon-padding; + margin: $input-filled-small-float-group-icon-margin; + } + + .e-filled.e-float-input .e-close, + .e-filled.e-float-input.e-control-wrapper .e-close, + .e-filled.e-input-group .e-close, + .e-filled.e-input-group.e-control-wrapper .e-close{ + font-size: $filled-input-clear-icon-size; + padding: $input-clear-icon-padding; + } + + .e-filled.e-input-group .e-close, + .e-filled.e-input-group.e-control-wrapper .e-close{ + min-height: $filled-input-icon-min-height; + min-width: $filled-input-icon-min-height; + padding: $input-clear-icon-padding; + } + + .e-filled.e-float-input.e-input-group .e-close, + .e-filled.e-float-input.e-input-group.e-control-wrapper .e-close{ + padding: $input-zero-padding-margin; + margin: $filled-float-input-clear-icon-margin; + height: $filled-input-clear-icon-height; + } + + .e-filled.e-float-input .e-close::before, + .e-filled.e-float-input.e-control-wrapper .e-close::before, + .e-filled.e-input-group .e-close::before, + .e-filled.e-input-group.e-control-wrapper .e-close::before { + font-size: $filled-input-clear-icon-size; + } + + .e-filled.e-float-input .e-input-in-wrap input:focus~label.e-float-text, + .e-filled.e-float-input .e-input-in-wrap input:valid~label.e-float-text, + .e-filled.e-float-input .e-input-in-wrap input~label.e-label-top.e-float-text, + .e-filled.e-float-input .e-input-in-wrap input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input .e-input-in-wrap input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input .e-input-in-wrap input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap input:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap input label.e-float-text.e-label-top { + top: $filled-input-label-top-after-floating; + } + + .e-filled.e-input-group.e-float-icon-left.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap, + .e-filled.e-input-group.e-float-icon-left.e-input-focus.e-success:not(.e-warning):not(.e-error) .e-input-in-wrap, + .e-filled.e-input-group.e-float-icon-left.e-input-focus.e-warning:not(.e-success):not(.e-error) .e-input-in-wrap, + .e-filled.e-input-group.e-float-icon-left.e-input-focus.e-error:not(.e-success):not(.e-warning) .e-input-in-wrap, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-input-focus.e-success:not(.e-warning):not(.e-error) .e-input-in-wrap, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-input-focus.e-warning:not(.e-success):not(.e-error) .e-input-in-wrap, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-input-focus.e-error:not(.e-success):not(.e-warning) .e-input-in-wrap { + border-style: none; + border-width: $zero-value; + } + + .e-filled.e-float-input .e-input-in-wrap label.e-float-text, + .e-filled.e-float-input:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom { + top: $filled-input-label-top; + } + + .e-filled.e-input-group:not(.e-float-input).e-float-icon-left>.e-input-group-icon, + .e-filled.e-input-group:not(.e-float-input).e-control-wrapper.e-float-icon-left>.e-input-group-icon { + font-size: $filled-input-icon-size; + margin: $input-zero-padding-margin; + min-height: $filled-input-left-icon-min-height; + min-width: $filled-input-left-icon-min-width; + padding: $input-zero-padding-margin; + } + + .e-filled.e-input-group.e-float-icon-left>.e-input-group-icon, + .e-filled.e-float-input.e-input-group.e-float-icon-left>.e-input-group-icon, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left>.e-input-group-icon, + .e-filled.e-float-input.e-input-group.e-control-wrapper.e-float-icon-left>.e-input-group-icon { + margin: $input-zero-padding-margin; + min-height: $filled-input-left-icon-min-height; + min-width: $filled-input-left-icon-min-width; + padding: $input-zero-padding-margin; + } + + .e-filled.e-float-input .e-input-in-wrap label.e-float-text, + .e-filled.e-float-input .e-input-in-wrap label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap label.e-float-text, + .e-filled.e-float-input.e-control-wrapper .e-input-in-wrap label.e-float-text.e-label-bottom, + .e-filled.e-float-input:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus) .e-input-in-wrap input:not(:focus):valid~label.e-float-text.e-label-bottom { + left: $input-zero-padding-margin; + } + + .e-filled.e-input-group .e-input-group-icon:last-child, + .e-filled.e-input-group.e-control-wrapper .e-input-group-icon:last-child, + .e-filled.e-input-group .e-input-group-icon, + .e-filled.e-input-group.e-control-wrapper .e-input-group-icon { + margin-right: $input-zero-padding-margin; + } + + .e-filled.e-input-group.e-rtl .e-input-group-icon:last-child, + .e-filled.e-input-group.e-control-wrapper.e-rtl .e-input-group-icon:last-child, + .e-rtl .e-filled.e-input-group .e-input-group-icon:last-child, + .e-rtl .e-filled.e-input-group.e-control-wrapper .e-input-group-icon:last-child { + margin-left: $input-zero-padding-margin; + } + + .e-filled.e-rtl.e-input-group .e-input-group-icon, + .e-filled.e-rtl.e-input-group.e-control-wrapper .e-input-group-icon, + .e-rtl .e-filled.e-input-group .e-input-group-icon, + .e-rtl .e-filled.e-input-group.e-control-wrapper .e-input-group-icon { + margin-left: $input-zero-padding-margin; + margin-right: $input-zero-padding-margin; + } + + .e-filled textarea.e-input, + .e-filled.e-input-group.e-multi-line-input textarea, + .e-filled.e-input-group.e-control-wrapper.e-multi-line-input textarea, + .e-filled.e-float-input.e-multi-line-input textarea, + .e-filled.e-float-input.e-control-wrapper.e-multi-line-input textarea { + box-sizing: border-box; + } + + .e-filled textarea.e-input, + .e-filled.e-input-group textarea, + .e-filled.e-input-group textarea.e-input, + .e-filled.e-input-group.e-input-focus textarea, + .e-filled.e-input-group.e-input-focus textarea.e-input, + .e-filled.e-input-group.e-control-wrapper textarea, + .e-filled.e-input-group.e-control-wrapper.e-input-focus textarea, + .e-filled.e-input-group.e-control-wrapper textarea.e-input, + .e-filled.e-input-group.e-control-wrapper.e-input-focus textarea.e-input { + padding: $filled-textarea-padding; + } + + .e-filled.e-float-input textarea, + .e-filled.e-float-input.e-control-wrapper textarea { + padding: $filled-float-textarea-padding; + } + + .e-filled.e-input-group.e-multi-line-input, + .e-filled.e-input-group.e-control-wrapper.e-multi-line-input { + padding: $filled-textarea-wrapper-padding; + } + + .e-filled.e-float-input.e-multi-line-input, + .e-filled.e-float-input.e-control-wrapper.e-multi-line-input { + padding: $filled-float-textarea-wrapper-padding; + } + + .e-filled textarea.e-input.e-rtl, + .e-filled.e-input-group.e-multi-line-input.e-rtl textarea.e-input, + .e-filled.e-input-group.e-multi-line-input.e-control-wrapper.e-rtl textarea.e-input, + .e-rtl .e-filled.e-input-group.e-multi-line-input textarea.e-input, + .e-rtl .e-filled.e-input-group.e-multi-line-input.e-control-wrapper textarea.e-input, + .e-filled.e-input-group.e-multi-line-input.e-rtl textarea.e-input, + .e-filled.e-input-group.e-multi-line-input.e-control-wrapper.e-rtl textarea.e-input, + .e-rtl .e-filled.e-input-group.e-multi-line-input textarea.e-input, + .e-rtl .e-filled.e-input-group.e-multi-line-input.e-control-wrapper textarea.e-input, + .e-filled.e-input-group.e-multi-line-input.e-rtl textarea.e-input:focus, + .e-filled.e-input-group.e-multi-line-input.e-control-wrapper.e-rtl textarea.e-input:focus, + .e-rtl .e-filled.e-input-group.e-multi-line-input textarea.e-input:focus, + .e-rtl .e-filled.e-input-group.e-multi-line-input.e-control-wrapper textarea.e-input:focus { + padding: $filled-textarea-padding; + text-indent: $input-zero-padding-margin; + } + + .e-filled.e-float-input.e-multi-line-input.e-rtl textarea, + .e-filled.e-float-input.e-multi-line-input.e-control-wrapper.e-rtl textarea, + .e-rtl .e-filled.e-float-input.e-multi-line-input textarea, + .e-rtl .e-filled.e-float-input.e-multi-line-input.e-control-wrapper textarea, + .e-filled.e-float-input.e-multi-line-input.e-rtl textarea, + .e-filled.e-float-input.e-multi-line-input.e-control-wrapper.e-rtl textarea, + .e-rtl .e-filled.e-float-input.e-multi-line-input textarea, + .e-rtl .e-filled.e-float-input.e-multi-line-input.e-control-wrapper textarea, + .e-filled.e-float-input.e-multi-line-input.e-rtl textarea:focus, + .e-filled.e-float-input.e-multi-line-input.e-control-wrapper.e-rtl textarea:focus, + .e-rtl .e-filled.e-float-input.e-multi-line-input textarea:focus, + .e-rtl .e-filled.e-float-input.e-multi-line-input.e-control-wrapper textarea:focus { + padding: $filled-float-textarea-padding; + text-indent: $input-zero-padding-margin; + } + + .e-filled.e-float-input.e-float-icon-left .e-input-in-wrap, + .e-filled.e-float-input.e-control-wrapper.e-float-icon-left .e-input-in-wrap, + .e-filled.e-input-group.e-float-icon-left .e-input-in-wrap, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left .e-input-in-wrap { + border: $input-group-full-border; + border-width: $zero-value; + margin-left: $filled-float-input-wrap-margin-left; + } + + .e-rtl .e-filled.e-float-input.e-float-icon-left .e-input-in-wrap, + .e-rtl .e-filled.e-float-input.e-control-wrapper.e-float-icon-left .e-input-in-wrap, + .e-rtl .e-filled.e-input-group.e-float-icon-left .e-input-in-wrap, + .e-rtl .e-filled.e-input-group.e-control-wrapper.e-float-icon-left .e-input-in-wrap .e-filled.e-float-input.e-control-wrapper.e-float-icon-left.e-rtl .e-input-in-wrap, + .e-filled.e-float-input.e-float-icon-left.e-rtl .e-input-in-wrap, + .e-filled.e-input-group.e-float-icon-left.e-rtl .e-input-in-wrap, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-rtl .e-input-in-wrap { + margin-left: $input-zero-padding-margin; + margin-right: $filled-float-input-wrap-margin-right; + } + + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input)::before, + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input)::after, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input)::before, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input)::after { + @include input-group-animation; + bottom: $float-input-group-line-bottom; + } + + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input).e-input-focus::before, + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input).e-input-focus::after, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input).e-input-focus::before, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input).e-input-focus::after { + @include input-group-animation-width; + bottom: $float-input-group-line-bottom; + } + + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input).e-input-focus .e-input-in-wrap::before, + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input).e-input-focus .e-input-in-wrap::after, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input).e-input-focus .e-input-in-wrap::before, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input).e-input-focus .e-input-in-wrap::after { + width: $input-zero-width; + } + + .e-filled.e-input-group.e-float-icon-left, + .e-filled.e-input-group.e-success.e-float-icon-left, + .e-filled.e-input-group.e-warning.e-float-icon-left, + .e-filled.e-input-group.e-error.e-float-icon-left, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left, + .e-filled.e-input-group.e-control-wrapper.e-success.e-float-icon-left, + .e-filled.e-input-group.e-control-wrapper.e-warning.e-float-icon-left, + .e-filled.e-input-group.e-control-wrapper.e-error.e-float-icon-left { + border: $input-group-full-border; + border-width: $input-group-full-border-width; + } + } + + /* stylelint-disable-line no-empty-source */ + + @include export-module('input-theme') { + + /*! input theme */ + + input.e-input, + .e-input-group input.e-input, + .e-input-group.e-control-wrapper input.e-input, + .e-input-group textarea.e-input, + .e-input-group.e-control-wrapper textarea.e-input, + textarea.e-input, + .e-float-input input, + .e-float-input.e-control-wrapper input, + .e-float-input textarea, + .e-float-input.e-control-wrapper textarea { + background: $input-bg-color; + border-color: $input-box-border-color; + color: $input-font-color; + } + + .e-input-group, + .e-input-group.e-control-wrapper, + .e-float-input, + .e-float-input.e-input-group, + .e-float-input.e-control-wrapper, + .e-float-input.e-input-group.e-control-wrapper { + background: $input-bg-color; + color: $input-font-color; + border-bottom-color: $input-border-bottom-color; + } + + .e-input-group .e-input-group-icon, + .e-input-group.e-control-wrapper .e-input-group-icon { + background: transparent; + border-color: $input-box-border-color; + color: $input-icon-font-color; + margin: $input-zero-padding-margin; + } + + .e-input-group.e-disabled .e-input-group-icon, + .e-input-group.e-control-wrapper.e-disabled .e-input-group-icon, + .e-float-input.e-disabled .e-close, + .e-float-input.e-control-wrapper.e-disabled .e-close, + .e-input-group.e-disabled .e-close, + .e-input-group.e-control-wrapper.e-disabled .e-close{ + color: $input-group-disabled-color; + } + + /* stylelint-disable property-no-vendor-prefix */ + /* stylelint-disable selector-no-vendor-prefix */ + .e-input[disabled], + .e-input-group .e-input[disabled], + .e-input-group.e-control-wrapper .e-input[disabled], + .e-input-group.e-disabled, + .e-input-group.e-control-wrapper.e-disabled, + .e-float-input input[disabled], + .e-float-input.e-control-wrapper input[disabled], + .e-float-input textarea[disabled], + .e-float-input.e-control-wrapper textarea[disabled], + .e-float-input.e-disabled, + .e-float-input.e-control-wrapper.e-disabled { + -webkit-text-fill-color: $input-disable-font-color; + background: $input-disable-bg-color; + color: $input-disable-font-color; + background-image: linear-gradient(90deg, $input-disable-border-color 0, $input-disable-border-color 33%, transparent 0); + background-position: bottom -1px left 0; + background-repeat: repeat-x; + background-size: 4px 1px; + border-bottom-color: transparent; + } + + .e-input-group input.e-input, + .e-input-group.e-control-wrapper input.e-input, + .e-float-input input, + .e-float-input.e-control-wrapper input, + .e-input-group textarea.e-input, + .e-input-group.e-control-wrapper textarea.e-input, + .e-float-input textarea, + .e-float-input.e-control-wrapper textarea, + .e-input-group .e-input[disabled], + .e-input-group.e-control-wrapper .e-input[disabled], + .e-input-group.e-disabled input.e-input, + .e-input-group.e-control-wrapper.e-disabled input.e-input, + .e-input-group.e-disabled textarea.e-input, + .e-input-group.e-control-wrapper.e-disabled textarea.e-input { + background: none; + color: inherit; + } + + .e-input-group .e-input[readonly], + .e-input-group.e-control-wrapper .e-input[readonly], + .e-float-input input[readonly], + .e-float-input.e-control-wrapper input[readonly], + .e-float-input textarea[readonly], + .e-float-input.e-control-wrapper textarea[readonly] { + background: $input-readonly-bg-color; + color: inherit; + } + + .e-float-input.e-disabled input, + .e-float-input.e-control-wrapper.e-disabled input, + .e-float-input.e-disabled textarea, + .e-float-input.e-control-wrapper.e-disabled textarea, + .e-float-input input[disabled], + .e-float-input.e-control-wrapper input[disabled], + .e-float-input textarea[disabled], + .e-float-input.e-control-wrapper textarea[disabled] { + color: inherit; + } + + /*! Added color to textbox for disbaled state */ + .e-float-input:not(.e-disabled) input[disabled], + .e-float-input.e-control-wrapper:not(.e-disabled) input[disabled], + .e-float-input:not(.e-disabled) textarea[disabled], + .e-float-input.e-control-wrapper:not(.e-disabled) textarea[disabled] { + -webkit-text-fill-color: $input-disable-font-color; + color: $input-disable-font-color; + } + + .e-input-group.e-disabled .e-input-group-icon, + .e-input-group.e-control-wrapper.e-disabled .e-input-group-icon { + background: $input-disabled-group-bg-color; + border-color: $input-disable-border-color; + } + + .e-input-group:not(.e-disabled) .e-input-group-icon:hover, + .e-input-group.e-control-wrapper:not(.e-disabled) .e-input-group-icon:hover { + border: $input-icon-hover-border; + background: $input-icon-hover-bg-color; + color: $input-group-hovered-color; + } + + .e-input-group.e-disabled .e-input-group-icon:hover, + .e-input-group.e-control-wrapper.e-disabled .e-input-group-icon:hover { + background: transparent; + } + + .e-input.e-success, + .e-input.e-success:focus, + .e-input-group.e-success input.e-input, + .e-input-group.e-control-wrapper.e-success input.e-input, + .e-input-group.e-success .e-input-group-icon, + .e-input-group.e-control-wrapper.e-success .e-input-group-icon, + .e-input-group.e-success textarea.e-input, + .e-input-group.e-control-wrapper.e-success textarea.e-input { + border-color: $input-success-color; + } + + .e-input.e-warning, + .e-input.e-warning:focus, + .e-input-group.e-warning input.e-input, + .e-input-group.e-control-wrapper.e-warning input.e-input, + .e-input-group.e-warning .e-input-group-icon, + .e-input-group.e-control-wrapper.e-warning .e-input-group-icon, + .e-input-group.e-warning textarea.e-input, + .e-input-group.e-control-wrapper.e-warning textarea.e-input { + border-color: $input-warning-color; + } + + .e-input.e-error, + .e-input.e-error:focus, + .e-input-group.e-error input.e-input, + .e-input-group.e-control-wrapper.e-error input.e-input, + .e-input-group.e-control-wrapper.e-error .e-input-group-icon, + .e-input-group.e-error .e-input-group-icon, + .e-input-group.e-error textarea.e-input, + .e-input-group.e-control-wrapper.e-error textarea.e-input { + border-color: $input-error-color; + } + + label.e-float-text, + .e-float-input:not(.e-error):not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-error):not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom { + color: $input-header-font-color; + } + + .e-float-input.e-error label.e-float-text, + .e-float-input.e-control-wrapper.e-error label.e-float-text, + .e-float-input.e-error input:focus~label.e-float-text, + .e-float-input.e-control-wrapper.e-error input:focus~label.e-float-text, + .e-float-input.e-error.e-input-focus input~label.e-float-text, + .e-float-input.e-control-wrapper.e-error.e-input-focus input~label.e-float-text, + .e-float-input.e-error textarea:focus~label.e-float-text, + .e-float-input.e-control-wrapper.e-error textarea:focus~label.e-float-text { + color: $input-error-color; + } + + .e-float-input input, + .e-float-input textarea, + .e-float-input.e-control-wrapper input, + .e-float-input.e-control-wrapper textarea, + .e-input-group, + .e-input-group.e-control-wrapper { + border-bottom-color: $input-box-border-color; + } + + .e-float-input.e-success input, + .e-float-input.e-success textarea, + .e-float-input.e-control-wrapper.e-success input, + .e-float-input.e-control-wrapper.e-success textarea { + @include input-state-color ($input-success-color); + } + + .e-float-input.e-warning input, + .e-float-input.e-control-wrapper.e-warning input, + .e-float-input.e-warning textarea, + .e-float-input.e-control-wrapper.e-warning textarea { + @include input-state-color ($input-warning-color); + } + + .e-float-input.e-error input, + .e-float-input.e-control-wrapper.e-error input, + .e-float-input.e-error textarea, + .e-float-input.e-control-wrapper.e-error textarea { + @include input-state-color ($input-error-color); + } + + .e-float-input:not(.e-input-group) .e-float-line::before, + .e-float-input:not(.e-input-group) .e-float-line::after, + .e-float-input:not(.e-input-group) .e-float-line::before, + .e-float-input:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper:not(.e-input-group) .e-float-line::after { + background: $input-active-accent-color; + } + + .e-float-input.e-success:not(.e-input-group) .e-float-line::before, + .e-float-input.e-success:not(.e-input-group) .e-float-line::after, + .e-float-input.e-success:not(.e-input-group) .e-float-line::before, + .e-float-input.e-success:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper.e-success:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper.e-success:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper.e-success:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper.e-success:not(.e-input-group) .e-float-line::after { + background: $input-success-color; + } + + .e-float-input.e-warning:not(.e-input-group) .e-float-line::before, + .e-float-input.e-warning:not(.e-input-group) .e-float-line::after, + .e-float-input.e-warning:not(.e-input-group) .e-float-line::before, + .e-float-input.e-warning:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper.e-warning:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper.e-warning:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper.e-warning:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper.e-warning:not(.e-input-group) .e-float-line::after { + background: $input-warning-color; + } + + input.e-input:-moz-placeholder, + input.e-input:-moz-placeholder, + textarea.e-input:-moz-placeholder, + input.e-input::-moz-placeholder, + textarea.e-input::-moz-placeholder, + .e-input-group input.e-input:-moz-placeholder, + .e-input-group input.e-input:-moz-placeholder, + .e-input-group.e-control-wrapper input.e-input:-moz-placeholder, + .e-input-group input.e-input:-moz-placeholder, + .e-input-group.e-control-wrapper input.e-input:-moz-placeholder, + .e-input-group textarea.e-input:-moz-placeholder, + .e-input-group.e-control-wrapper textarea.e-input:-moz-placeholder, + .e-input-group input.e-input::-moz-placeholder, + .e-input-group.e-control-wrapper input.e-input::-moz-placeholder, + .e-input-group textarea.e-input::-moz-placeholder, + .e-input-group.e-control-wrapper textarea.e-input::-moz-placeholder { + color: $input-placeholder; + } + + input.e-input::-webkit-input-placeholder, + textarea.e-input::-webkit-input-placeholder, + .e-input-group input.e-input::-webkit-input-placeholder, + .e-input-group textarea.e-input::-webkit-input-placeholder, + .e-input-group.e-control-wrapper input.e-input::-webkit-input-placeholder, + .e-input-group.e-control-wrapper textarea.e-input::-webkit-input-placeholder { + color: $input-placeholder; + } + + input.e-input:-ms-input-placeholder, + textarea.e-input:-ms-input-placeholder, + .e-input-group input.e-input:-ms-input-placeholder, + .e-input-group.e-control-wrapper input.e-input:-ms-input-placeholder, + .e-input-group.e-control-wrapper textarea.e-input:-ms-input-placeholder, + .e-input-group textarea.e-input:-ms-input-placeholder { + color: $input-placeholder; + } + + .e-float-input:not(.e-error):not(.e-input-focus):not(.e-disabled) input:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top), + .e-float-input:not(.e-error):not(.e-input-focus) textarea:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top), + .e-float-input.e-control-wrapper:not(.e-error):not(.e-input-focus):not(.e-disabled) input:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top), + .e-float-input:not(.e-input-focus):not(.e-disabled) textarea:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top), + .e-float-input:not(.e-input-focus) textarea:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top), + .e-float-input.e-control-wrapper:not(.e-input-focus):not(.e-disabled) textarea:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top) { + color: $input-placeholder; + } + + .e-float-input.e-error:not(.e-input-group) .e-float-line::before, + .e-float-input.e-error:not(.e-input-group) .e-float-line::after, + .e-float-input.e-error:not(.e-input-group) .e-float-line::before, + .e-float-input.e-error:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper.e-error:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper.e-error:not(.e-input-group) .e-float-line::after, + .e-float-input.e-control-wrapper.e-error:not(.e-input-group) .e-float-line::before, + .e-float-input.e-control-wrapper.e-error:not(.e-input-group) .e-float-line::after { + background: $input-error-color; + } + + .e-input-group:not(.e-disabled) .e-input-group-icon:active, + .e-input-group.e-control-wrapper:not(.e-disabled) .e-input-group-icon:active { + background: $input-group-pressed-bg; + color: $input-group-pressed-color; + } + + input.e-input::selection, + textarea.e-input::selection, + .e-input-group input.e-input::selection, + .e-input-group.e-control-wrapper input.e-input::selection, + .e-float-input input::selection, + .e-float-input.e-control-wrapper input::selection, + .e-input-group textarea.e-input::selection, + .e-input-group.e-control-wrapper textarea.e-input::selection, + .e-float-input textarea::selection, + .e-float-input.e-control-wrapper textarea::selection, + .e-float-input textarea::selection { + @include input-selection; + } + + .e-input-group:not(.e-float-icon-left):not(.e-float-input)::before, + .e-input-group:not(.e-float-icon-left):not(.e-float-input)::after, + .e-input-group.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input)::before, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input)::after, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input) .e-input-in-wrap::after, + .e-float-input.e-input-group:not(.e-float-icon-left) .e-float-line::before, + .e-float-input.e-input-group:not(.e-float-icon-left) .e-float-line::after, + .e-float-input.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::before, + .e-float-input.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left) .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left) .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-input-in-wrap .e-float-line::after, + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input)::before, + .e-filled.e-input-group.e-float-icon-left:not(.e-float-input)::after, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input)::before, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-float-input)::after, + .e-filled.e-float-input.e-input-group.e-float-icon-left .e-float-line::before, + .e-filled.e-float-input.e-input-group.e-float-icon-left .e-float-line::after, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-float-line::before, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left .e-float-line::after { + @include input-group-animation-bg; + } + + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group) input:focus, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group) textarea:focus, + .e-float-input:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group).e-input-focus input, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group).e-input-focus input { + border-top: $input-active-border-color; + } + + .e-input-group::before, + .e-input-group::after, + .e-input-group.e-control-wrapper::before, + .e-input-group.e-control-wrapper::after { + @include input-group-animation-bg; + } + + .e-input-group:not(.e-float-icon-left):not(.e-float-input).e-success::before, + .e-input-group:not(.e-float-icon-left):not(.e-float-input).e-success::after, + .e-input-group.e-float-icon-left.e-success:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-float-icon-left.e-success:not(.e-float-input) .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input).e-success::before, + .e-input-group.e-control-wrapper:not(.e-float-icon-left):not(.e-float-input).e-success::after, + .e-input-group.e-control-wrapper.e-float-icon-left.e-success:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-control-wrapper.e-float-icon-left.e-success:not(.e-float-input) .e-input-in-wrap::after, + .e-float-input.e-input-group:not(.e-float-icon-left).e-success .e-float-line::before, + .e-float-input.e-input-group:not(.e-float-icon-left).e-success .e-float-line::after, + .e-float-input.e-input-group.e-float-icon-left.e-success .e-input-in-wrap .e-float-line::before, + .e-float-input.e-input-group.e-float-icon-left.e-success .e-input-in-wrap .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left).e-success .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group:not(.e-float-icon-left).e-success .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-success .e-input-in-wrap .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-success .e-input-in-wrap .e-float-line::after, + .e-float-input.e-input-group.e-control-wrapper:not(.e-float-icon-left).e-success .e-float-line::before, + .e-float-input.e-input-group.e-control-wrapper:not(.e-float-icon-left).e-success .e-float-line::after, + .e-float-input.e-input-group.e-control-wrapper.e-float-icon-left.e-success .e-input-in-wrap .e-float-line::before, + .e-float-input.e-input-group.e-control-wrapper.e-float-icon-left.e-success .e-input-in-wrap .e-float-line::after, + .e-filled.e-input-group.e-float-icon-left.e-success:not(.e-float-input)::before, + .e-filled.e-input-group.e-float-icon-left.e-success:not(.e-float-input)::after, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-success:not(.e-float-input)::before, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-success:not(.e-float-input)::after, + .e-filled.e-float-input.e-input-group.e-float-icon-left.e-success .e-float-line::before, + .e-filled.e-float-input.e-input-group.e-float-icon-left.e-success .e-float-line::after, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-success .e-float-line::before, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-success .e-float-line::after, + .e-filled.e-float-input.e-input-group.e-control-wrapper.e-float-icon-left.e-success .e-float-line::before, + .e-filled.e-float-input.e-input-group.e-control-wrapper.e-float-icon-left.e-success .e-float-line::after { + @include input-group-success-animation-bg; + } + + .e-input-group.e-success::before, + .e-input-group.e-success::after, + .e-input-group.e-control-wrapper.e-success::before, + .e-input-group.e-control-wrapper.e-success::after { + @include input-group-success-animation-bg; + } + + .e-input-group:not(.e-float-icon-left).e-warning:not(.e-float-input)::before, + .e-input-group:not(.e-float-icon-left).e-warning:not(.e-float-input)::after, + .e-input-group.e-float-icon-left.e-warning:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-float-icon-left.e-warning:not(.e-float-input) .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-float-icon-left).e-warning:not(.e-float-input)::before, + .e-input-group.e-control-wrapper:not(.e-float-icon-left).e-warning:not(.e-float-input)::after, + .e-input-group.e-control-wrapper.e-float-icon-left.e-warning:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-control-wrapper.e-float-icon-left.e-warning:not(.e-float-input) .e-input-in-wrap::after, + .e-float-input.e-input-group:not(.e-float-icon-left).e-warning .e-float-line::before, + .e-float-input.e-input-group:not(.e-float-icon-left).e-warning .e-float-line::after, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-warning .e-input-in-wrap .e-float-line::before, + .e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-warning .e-input-in-wrap .e-float-line::after, + .e-filled.e-input-group.e-float-icon-left.e-warning:not(.e-float-input)::before, + .e-filled.e-input-group.e-float-icon-left.e-warning:not(.e-float-input)::after, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-warning:not(.e-float-input)::before, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-warning:not(.e-float-input)::after, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-warning .e-float-line::before, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-float-icon-left.e-warning .e-float-line::after { + @include input-group-warning-animation-bg; + } + + .e-input-group.e-warning::before, + .e-input-group.e-warning::after, + .e-input-group.e-control-wrapper.e-warning::before, + .e-input-group.e-control-wrapper.e-warning::after { + @include input-group-warning-animation-bg; + } + + .e-input-group:not(.e-float-icon-left).e-error:not(.e-float-input)::before, + .e-input-group:not(.e-float-icon-left).e-error:not(.e-float-input)::after, + .e-input-group.e-float-icon-left.e-error:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-float-icon-left.e-error:not(.e-float-input) .e-input-in-wrap::after, + .e-input-group.e-control-wrapper:not(.e-float-icon-left).e-error:not(.e-float-input)::before, + .e-input-group.e-control-wrapper:not(.e-float-icon-left).e-error:not(.e-float-input)::after, + .e-input-group.e-control-wrapper.e-float-icon-left.e-error:not(.e-float-input) .e-input-in-wrap::before, + .e-input-group.e-control-wrapper.e-float-icon-left.e-error:not(.e-float-input) .e-input-in-wrap::after, + .e-float-input.e-input-group:not(.e-float-icon-left).e-error .e-float-line::before, + .e-float-input.e-input-group:not(.e-float-icon-left).e-error .e-float-line::after, + .e-float-input.e-input-group.e-float-icon-left.e-error .e-input-in-wrap .e-float-line::before, + .e-float-input.e-input-group.e-float-icon-left.e-error .e-input-in-wrap .e-float-line::after, + .e-float-input.e-input-group.e-control-wrapper:not(.e-float-icon-left).e-error .e-float-line::before, + .e-float-input.e-input-group.e-control-wrapper:not(.e-float-icon-left).e-error .e-float-line::after, + .e-float-input.e-input-group.e-control-wrapper.e-float-icon-left.e-error .e-input-in-wrap .e-float-line::before, + .e-float-input.e-input-group.e-control-wrapper.e-float-icon-left.e-error .e-input-in-wrap .e-float-line::after, + .e-filled.e-input-group.e-float-icon-left.e-error:not(.e-float-input)::before, + .e-filled.e-input-group.e-float-icon-left.e-error:not(.e-float-input)::after, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-error:not(.e-float-input)::before, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left.e-error:not(.e-float-input)::after, + .e-filled.e-float-input.e-input-group.e-float-icon-left.e-error .e-float-line::before, + .e-filled.e-float-input.e-input-group.e-float-icon-left.e-error .e-float-line::after, + .e-filled.e-float-input.e-input-group.e-control-wrapper.e-float-icon-left.e-error .e-float-line::before, + .e-filled.e-float-input.e-input-group.e-control-wrapper.e-float-icon-left.e-error .e-float-line::after { + @include input-group-error-animation-bg; + } + + .e-input-group.e-error::before, + .e-input-group.e-error::after, + .e-input-group.e-control-wrapper.e-error::before, + .e-input-group.e-control-wrapper.e-error::after { + @include input-group-error-animation-bg; + } + + .e-input-group.e-success .e-input-group-icon, + .e-input-group.e-control-wrapper.e-success .e-input-group-icon, + .e-input-group.e-warning .e-input-group-icon, + .e-input-group.e-control-wrapper.e-warning .e-input-group-icon, + .e-input-group.e-error .e-input-group-icon, + .e-input-group.e-control-wrapper.e-error .e-input-group-icon { + color: $input-icon-font-color; + } + + .e-input-group.e-success:not(.e-disabled):not(:active) .e-input-group-icon:hover, + .e-input-group.e-control-wrapper.e-success:not(.e-disabled):not(:active) .e-input-group-icon:hover, + .e-input-group.e-warning:not(.e-disabled):not(:active) .e-input-group-icon:hover, + .e-input-group.e-control-wrapper.e-warning:not(.e-disabled):not(:active) .e-input-group-icon:hover, + .e-input-group.e-error:not(.e-disabled):not(:active) .e-input-group-icon:hover, + .e-input-group.e-control-wrapper.e-error:not(.e-disabled):not(:active) .e-input-group-icon:hover { + color: $input-icon-font-color; + } + + .e-input-group.e-success:not(.e-disabled) .e-input-group-icon:active, + .e-input-group.e-control-wrapper.e-success:not(.e-disabled) .e-input-group-icon:active, + .e-input-group.e-warning:not(.e-disabled) .e-input-group-icon:active, + .e-input-group.e-control-wrapper.e-warning:not(.e-disabled) .e-input-group-icon:active, + .e-input-group.e-error:not(.e-disabled) .e-input-group-icon:active, + .e-input-group.e-control-wrapper.e-error:not(.e-disabled) .e-input-group-icon:active { + color: $input-icon-font-color; + } + + .e-input-group input.e-input, + .e-input-group.e-control-wrapper input.e-input, + .e-input-group textarea.e-input, + .e-input-group.e-control-wrapper textarea.e-input, + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:focus, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:focus, + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input { + border-color: $input-box-border-color; + } + + .e-input:focus:not(.e-success):not(.e-warning):not(.e-error), + .e-float-input:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group) input:focus, + .e-float-input:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group) textarea:focus, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group) input:focus, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group) textarea:focus, + .e-float-input:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group).e-input-focus input, + .e-float-input.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-input-group).e-input-focus input { + border-bottom-color: $input-active-border-color; + padding-bottom: $e-float-input-flu-padding-bottom; + border-bottom-width: $border-2; + } + + textarea.e-input:focus:not(.e-success):not(.e-warning):not(.e-error) { + border-bottom-color: $input-active-border-color; + padding-bottom: $text-area-focus-padding-bottom; + border-bottom-width: $border-0; + } + + .e-input-group:not(.e-success):not(.e-warning):not(.e-error) input.e-input:focus, + .e-input-group.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error) input.e-input:focus, + .e-input-group:not(.e-success):not(.e-warning):not(.e-error).e-input-focus input.e-input, + .e-input-group.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error).e-input-focus input.e-input, + .e-input-group:not(.e-success):not(.e-warning):not(.e-error) textarea.e-input:focus, + .e-input-group.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error) textarea.e-input:focus { + border-color: $input-group-active-border-color; + } + + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:first-child:focus, + .e-input-group.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) span:last-child.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:first-child:focus, + .e-input-group.e-control-wrapper.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) span:last-child.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) button:last-child.e-input-group-icon { + border-color: $input-group-border-right-focus; + } + + .e-input-group.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) span.e-input-group-icon, + .e-input-group.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) button.e-input-group-icon, + .e-input-group.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) span:first-child.e-input-group-icon, + .e-input-group.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) button:first-child.e-input-group-icon, + .e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) .e-input:first-child:focus, + .e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:last-child:focus, + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) span.e-input-group-icon, + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) button.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) span.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) button.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) span:first-child.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) button:first-child.e-input-group-icon, + .e-input-focus.e-control-wrapper.e-rtl:not(.e-success):not(.e-warning):not(.e-error) .e-input:first-child:focus, + .e-input-focus.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error) .e-input:last-child:focus, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) span.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) button.e-input-group-icon { + border-color: $input-group-border-left-focus; + } + + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) span:first-child.e-input-group-icon, + .e-input-group.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) .e-input:last-child:focus, + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) span:first-child.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) span:first-child.e-input-group-icon, + .e-input-group.e-control-wrapper.e-input-focus.e-rtl:not(.e-success):not(.e-warning):not(.e-error) .e-input:last-child:focus, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) span:first-child.e-input-group-icon { + border-color: transparent; + } + + .e-input-group:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left).e-input-focus, + .e-input-group.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap.e-input-focus, + .e-input-group.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left).e-input-focus, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap.e-input-focus, + .e-float-input.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap.e-input-focus, + .e-float-input.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap.e-input-focus { + border-bottom-color: $input-group-focus-border-bottom-color; + } + + .e-input-group:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left), + .e-input-group.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap, + .e-input-group.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left), + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap, + .e-float-input.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap, + .e-float-input.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error) .e-input-in-wrap { + border-bottom-color: $input-group-full-border-bottom-color; + } + + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left) .e-input:focus, + .e-input-group.e-float-icon-left.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:focus, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left) .e-input:focus, + .e-input-group.e-control-wrapper.e-float-icon-left.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:focus, + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left) .e-input, + .e-input-group.e-float-icon-left.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left) .e-input, + .e-input-group.e-control-wrapper.e-float-icon-left.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input { + border-bottom-color: transparent; + border-top-color: transparent; + } + + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:focus, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input:focus, + .e-input-group.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input, + .e-input-group.e-control-wrapper.e-input-focus:not(.e-success):not(.e-warning):not(.e-error) .e-input { + border-bottom-color: transparent; + border-top-color: transparent; + } + + .e-input-group.e-success, + .e-input-group.e-control-wrapper.e-success, + .e-input-group.e-success:not(.e-float-icon-left), + .e-input-group.e-control-wrapper.e-success:not(.e-float-icon-left) { + @include input-state-color ($input-group-success-color); + } + + .e-input-group.e-float-icon-left.e-success .e-input-in-wrap, + .e-input-group.e-control-wrapper.e-float-icon-left.e-success .e-input-in-wrap { + @include input-state-color ($input-group-success-color); + } + + .e-input-group.e-warning, + .e-input-group.e-control-wrapper.e-warning, + .e-input-group.e-warning:not(.e-float-icon-left), + .e-input-group.e-control-wrapper.e-warning:not(.e-float-icon-left) { + @include input-state-color ($input-group-warning-color); + } + + .e-input-group.e-float-icon-left.e-warning .e-input-in-wrap, + .e-input-group.e-control-wrapper.e-float-icon-left.e-warning .e-input-in-wrap { + @include input-state-color ($input-group-warning-color); + } + + .e-input-group.e-error, + .e-input-group.e-control-wrapper.e-error, + .e-input-group.e-error:not(.e-float-icon-left), + .e-input-group.e-control-wrapper.e-error:not(.e-float-icon-left) { + @include input-state-color ($input-group-error-color); + } + + .e-input-group.e-float-icon-left.e-error .e-input-in-wrap, + .e-input-group.e-control-wrapper.e-float-icon-left.e-error .e-input-in-wrap { + @include input-state-color ($input-group-error-color); + } + + .e-float-input .e-close, + .e-float-input.e-control-wrapper .e-close, + .e-input-group .e-close, + .e-input-group.e-control-wrapper .e-close{ + color: $input-clear-icon-color; + } + + .e-float-input .e-close:hover, + .e-float-input.e-control-wrapper .e-close:hover, + .e-input-group .e-close:hover, + .e-input-group.e-control-wrapper .e-close:hover { + color: $input-clear-icon-hover-color; + border: $input-clear-icon-hover-border; + background: $input-clear-icon-hover-bg-color; + } + + .e-float-input.e-input-focus .e-input:focus, + .e-float-input.e-control-wrapper.e-input-focus .e-input:focus { + border-bottom-color: transparent; + border-top-color: transparent; + } + + .e-float-input:not(.e-error) input:focus~label.e-float-text, + .e-float-input:not(.e-error) input:valid~label.e-float-text, + .e-float-input:not(.e-error) input~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) input[readonly]~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) input label.e-float-text.e-label-top, + .e-float-input:not(.e-error).e-input-focus input~label.e-float-text, + .e-float-input:not(.e-error) textarea:focus~label.e-float-text, + .e-float-input:not(.e-error) textarea:valid~label.e-float-text, + .e-float-input:not(.e-error) textarea~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) textarea[readonly]~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) textarea label.e-float-text.e-label-top, + .e-float-input:not(.e-error):not(.e-input-focus) input:not(:focus):-webkit-autofill~label.e-float-text, + .e-float-input.e-control-wrapper.e-autofill:not(.e-error):not(.e-input-focus) input:not(:focus):-webkit-autofill~label.e-float-text, + .e-float-input:not(.e-error) textarea:not(:focus):-webkit-autofill~label.e-float-text, + .e-float-input.e-control-wrapper.e-autofill:not(.e-error) textarea:not(:focus):-webkit-autofill~label.e-float-text { + color: $float-label-font-color; + } + + .e-float-input.e-control-wrapper:not(.e-error) input:focus~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) input:valid~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) input~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) input[readonly]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-float-input .e-control-wrapper:not(.e-error) input label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper:not(.e-error).e-input-focus input~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea:focus~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea:valid~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea[readonly]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea label.e-float-text.e-label-top { + color: $float-label-top-font-color; + } + + .e-float-input:not(.e-error) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-float-input.e-control-wrapper:not(.e-error) textarea:not(:focus):valid~label.e-float-text.e-label-bottom { + color: $input-header-font-color; + } + + .e-float-input.e-input-group.e-disabled .e-float-text, + .e-float-input.e-input-group.e-disabled .e-float-text.e-label-top, + .e-float-input input[disabled]~label.e-float-text, + .e-float-input input[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-disabled label.e-float-text, + .e-float-input.e-disabled label.e-float-text.e-label-top, + .e-float-input:not(.e-error) input[disabled]~label.e-float-text, + .e-float-input:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-float-input textarea[disabled]~label.e-float-text, + .e-float-input textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) textarea[disabled]~label.e-float-text, + .e-float-input:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper.e-input-group.e-disabled .e-float-text, + .e-float-input.e-control-wrapper.e-input-group.e-disabled .e-float-text.e-label-top, + .e-float-input.e-control-wrapper.e-disabled input[disabled]~label.e-float-text, + .e-float-input.e-control-wrapper.e-disabled input[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper input[disabled]~label.e-float-text, + .e-float-input.e-control-wrapper input[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper.e-disabled label.e-float-text, + .e-float-input.e-control-wrapper.e-disabled label.e-float-text.e-label-top, + .e-float-input.e-control-wrapper:not(.e-error) input[disabled]~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper.e-disabled:not(.e-error) input[disabled]~label.e-float-text, + .e-float-input.e-control-wrapper.e-disabled:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper.e-disabled textarea[disabled]~label.e-float-text, + .e-float-input.e-control-wrapper.e-disabled textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper textarea[disabled]~label.e-float-text, + .e-float-input.e-control-wrapper textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea[disabled]~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper.e-disabled:not(.e-error) textarea[disabled]~label.e-float-text, + .e-float-input.e-control-wrapper.e-disabled:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text { + color: $float-label-disbale-font-color; + } + + .e-float-input:not(.e-error) input:focus~label.e-float-text, + .e-float-input:not(.e-error) input[readonly]:focus~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) input[readonly]:focus~label.e-label-top.e-float-text, + .e-float-input:not(.e-error).e-input-focus input[readonly]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error).e-input-focus input[readonly]~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) textarea[readonly]:focus~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea[readonly]:focus~label.e-label-top.e-float-text, + .e-float-input:not(.e-error).e-input-focus textarea[readonly]~label.e-label-top.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error).e-input-focus textarea[readonly]~label.e-label-top.e-float-text, + .e-float-input:not(.e-error) textarea:focus~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) input:focus~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error) textarea:focus~label.e-float-text, + .e-float-input:not(.e-error).e-input-focus input~label.e-float-text, + .e-float-input.e-control-wrapper:not(.e-error).e-input-focus input~label.e-float-text { + color: $input-active-accent-color; + } + + .e-input-group:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-input-group.e-control-wrapper:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-float-input.e-control-wrapper:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-float-input:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-input-group.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) .e-input-in-wrap:hover, + .e-input-group.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) .e-input-in-wrap:hover, + .e-float-input.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) .e-input-in-wrap:hover, + .e-float-input.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) .e-input-in-wrap:hover, + .e-float-input:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) input:not([disabled]), + .e-float-input:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) textarea:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) input:not([disabled]), + .e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) textarea:not([disabled]), + .e-float-input.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) .e-input-in-wrap:hover { + border-bottom-color: $input-group-full-border-bottom-color; + } + + .e-underline.e-input-group:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-input-group.e-control-wrapper:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-float-input.e-control-wrapper:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-input-group.e-float-icon-left:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-input-group.e-control-wrapper.e-float-icon-left:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-float-input.e-float-icon-left:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-float-input.e-control-wrapper.e-float-icon-left:not(.e-input-focus):hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-float-input:hover:not(.e-input-focus):not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) { + border-color: $outline-hover-border-color; + color: $outline-hover-font-color; + } + + .e-underline.e-input-group:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-input-group.e-control-wrapper:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-float-input.e-control-wrapper:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-input-group.e-float-icon-left:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-input-group.e-control-wrapper.e-float-icon-left:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-float-input.e-float-icon-left:hover:not(.e-input-focus):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-float-input.e-control-wrapper.e-float-icon-left:not(.e-input-focus):hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-underline.e-float-input:hover:not(.e-input-focus):not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled) { + border-bottom-color: $underline-hover-border-color; + color: $outline-hover-font-color; + } + + .e-filled.e-input-group, + .e-filled.e-input-group.e-control-wrapper, + .e-filled.e-float-input, + .e-filled.e-float-input.e-input-group, + .e-filled.e-float-input.e-control-wrapper, + .e-filled.e-float-input.e-input-group.e-control-wrapper { + background: $filled-input-bg-color; + transition: $background-color-transition; + } + + .e-filled.e-input-group:hover, + .e-filled.e-input-group.e-control-wrapper:hover, + .e-filled.e-float-input:hover, + .e-filled.e-float-input.e-input-group:hover, + .e-filled.e-float-input.e-control-wrapper:hover, + .e-filled.e-float-input.e-input-group.e-control-wrapper:hover { + background: $filled-input-overlay-focused-bg-color; + transition: $background-color-transition; + } + + .e-filled.e-input-group.e-input-focus, + .e-filled.e-input-group.e-control-wrapper.e-input-focus, + .e-filled.e-float-input.e-input-focus, + .e-filled.e-float-input.e-input-group.e-input-focus, + .e-filled.e-float-input.e-control-wrapper.e-input-focus, + .e-filled.e-float-input.e-input-group.e-control-wrapper.e-input-focus, + .e-filled.e-input-group:hover.e-input-focus, + .e-filled.e-input-group:hover.e-control-wrapper.e-input-focus, + .e-filled.e-float-input:hover.e-input-focus, + .e-filled.e-float-input:hover.e-input-group.e-input-focus, + .e-filled.e-float-input:hover.e-control-wrapper.e-input-focus, + .e-filled.e-float-input:hover.e-input-group.e-control-wrapper.e-input-focus { + background: $filled-input-overlay-activated-bg-color; + transition: $background-color-transition; + } + + .e-filled.e-input-group:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-input-group.e-control-wrapper:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input.e-control-wrapper:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-filled.e-float-input.e-control-wrapper:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-filled.e-input-group.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-input-group.e-control-wrapper.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input.e-control-wrapper.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input.e-input-focus:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-filled.e-float-input.e-control-wrapper.e-input-focus:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-filled.e-input-group.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-input-group.e-control-wrapper.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input.e-control-wrapper.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled):not(.e-float-icon-left), + .e-filled.e-float-input.e-input-focus:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-filled.e-float-input.e-control-wrapper.e-input-focus:hover:not(.e-input-group):not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled), + .e-filled.e-input-group:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-input-group.e-control-wrapper:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-float-input.e-control-wrapper:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-float-input:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-input-group.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-input-group.e-control-wrapper.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-float-input.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-input-group.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-input-group.e-control-wrapper.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-float-input.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left, + .e-filled.e-float-input.e-control-wrapper.e-input-focus:hover:not(.e-success):not(.e-warning):not(.e-error):not(.e-disabled).e-float-icon-left { + border-color: $filled-input-hover-border-color; + } + + .e-filled.e-input-group.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error), + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error), + .e-filled.e-float-input:not(.e-success):not(.e-warning):not(.e-error), + .e-filled.e-float-input.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error) { + border-color: $input-group-full-border-color; + } + + .e-filled.e-float-input.e-success, + .e-filled.e-float-input.e-control-wrapper.e-success, + .e-filled.e-input-group.e-float-icon-left.e-success, + .e-filled.e-input-group.e-float-icon-left.e-control-wrapper.e-success { + @include input-state-color ($input-success-color); + } + + .e-filled.e-float-input.e-warning, + .e-filled.e-float-input.e-control-wrapper.e-warning, + .e-filled.e-input-group.e-float-icon-left.e-warning, + .e-filled.e-input-group.e-float-icon-left.e-control-wrapper.e-warning { + @include input-state-color ($input-warning-color); + } + + .e-filled.e-float-input.e-error, + .e-filled.e-float-input.e-control-wrapper.e-error, + .e-filled.e-input-group.e-float-icon-left.e-error, + .e-filled.e-input-group.e-float-icon-left.e-control-wrapper.e-error { + @include input-state-color ($input-error-color); + } + + .e-filled label.e-float-text, + .e-filled.e-float-input:not(.e-error):not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper:not(.e-error):not(.e-input-focus) input:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input:not(.e-error) input:focus~label.e-float-text, + .e-filled.e-float-input:not(.e-error) input:valid~label.e-float-text, + .e-filled.e-float-input:not(.e-error) input~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) input label.e-float-text.e-label-top, + .e-filled.e-float-input:not(.e-error).e-input-focus input~label.e-float-text, + .e-input-group.e-filled textarea.e-input:-ms-input-placeholder, + input.e-filled.e-input::-webkit-input-placeholder, + .e-input-group.e-filled.e-control-wrapper input.e-input::-webkit-input-placeholder, + .e-input-group.e-filled input.e-input::-webkit-input-placeholder, + textarea.e-filled.e-input::-webkit-input-placeholder, + .e-input-group.e-filled textarea.e-input::-webkit-input-placeholder, + .e-input-group.e-filled.e-control-wrapper textarea.e-input::-webkit-input-placeholder, + .e-filled.e-float-input:not(.e-error):not(.e-input-focus) input:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill:not(.e-error):not(.e-input-focus) input:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill:not(.e-error) textarea:not(:focus):-webkit-autofill~label.e-float-text, + input.e-filled.e-input:-moz-placeholder, + .e-input-group.e-filled input.e-input:-moz-placeholder, + .e-input-group.e-filled input.e-input:-moz-placeholder, + .e-input-group.e-filled.e-control-wrapper input.e-input:-moz-placeholder, + input.e-filled.e-input:-moz-placeholder, + .e-input-group.e-filled input.e-input:-moz-placeholder, + .e-input-group.e-filled.e-control-wrapper input.e-input:-moz-placeholder, + textarea.e-filled.e-input:-moz-placeholder, + .e-input-group.e-filled textarea.e-input:-moz-placeholder, + .e-input-group.e-filled.e-control-wrapper textarea.e-input:-moz-placeholder, + input.e-filled.e-input::-moz-placeholder, + .e-input-group.e-filled input.e-input::-moz-placeholder, + .e-input-group.e-filled.e-control-wrapper input.e-input::-moz-placeholder, + textarea.e-filled.e-input::-moz-placeholder, + .e-input-group.e-filled textarea.e-input::-moz-placeholder, + .e-input-group.e-filled.e-control-wrapper textarea.e-input::-moz-placeholder, + input.e-filled.e-input:-ms-input-placeholder, + .e-input-group.e-filled input.e-input:-ms-input-placeholder, + .e-input-group.e-filled.e-control-wrapper input.e-input:-ms-input-placeholder, + textarea.e-filled.e-input:-ms-input-placeholder, + .e-input-group.e-filled.e-control-wrapper textarea.e-input:-ms-input-placeholder { + color: $filled-input-float-label-color; + } + + .e-filled.e-float-input.e-error label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-error label.e-float-text, + .e-filled.e-float-input.e-error input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-error input:focus~label.e-float-text, + .e-filled.e-float-input.e-error textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-error textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-error.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-error.e-input-focus input~label.e-float-text { + color: $input-error-color; + } + + .e-filled.e-float-input.e-success label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success label.e-float-text, + .e-filled.e-float-input.e-success input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success input:focus~label.e-float-text, + .e-filled.e-float-input.e-success textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-success.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-success input:focus~label.e-float-text, + .e-filled.e-float-input.e-success input:valid~label.e-float-text, + .e-filled.e-float-input.e-success input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-success.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-success input:focus~label.e-float-text, + .e-filled.e-float-input.e-success input:valid~label.e-float-text, + .e-filled.e-float-input.e-success input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-success.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success input:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input .e-control-wrapper.e-success input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper.e-success.e-input-focus input~label.e-float-text { + color: $input-success-color; + } + + .e-filled.e-float-input.e-warning label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning label.e-float-text, + .e-filled.e-float-input.e-warning input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning input:focus~label.e-float-text, + .e-filled.e-float-input.e-warning textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-warning.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-warning input:focus~label.e-float-text, + .e-filled.e-float-input.e-warning input:valid~label.e-float-text, + .e-filled.e-float-input.e-warning input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-warning.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-warning input:focus~label.e-float-text, + .e-filled.e-float-input.e-warning input:valid~label.e-float-text, + .e-filled.e-float-input.e-warning input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-warning.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning input:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input .e-control-wrapper.e-warning input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper.e-warning.e-input-focus input~label.e-float-text { + color: $input-warning-color; + } + + .e-filled.e-float-input:not(.e-error) input:focus~label.e-float-text, + .e-filled.e-float-input:not(.e-error) input:valid~label.e-float-text, + .e-filled.e-float-input:not(.e-error) input~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) input label.e-float-text.e-label-top, + .e-filled.e-float-input:not(.e-error).e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input .e-control-wrapper:not(.e-error) input label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper:not(.e-error).e-input-focus input~label.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input:not(.e-input-focus):not(.e-disabled) textarea:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top), + .e-filled.e-float-input:not(.e-input-focus) textarea:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top), + .e-filled.e-float-input.e-control-wrapper:not(.e-input-focus):not(.e-disabled) textarea:not(:focus):not(:valid)~label.e-float-text:not(.e-label-top), + .e-filled.e-float-input:not(.e-error) textarea:focus~label.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea:valid~label.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea label.e-float-text.e-label-top { + color: $filled-input-float-label-color; + } + + .e-filled.e-float-input:not(.e-error) input:focus~label.e-float-text, + .e-filled.e-float-input:not(.e-error) input[readonly]:focus~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input[readonly]:focus~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error).e-input-focus input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error).e-input-focus input[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea[readonly]:focus~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea[readonly]:focus~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error).e-input-focus textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error).e-input-focus textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea:focus~label.e-float-text, + .e-filled.e-float-input:not(.e-error).e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error).e-input-focus input~label.e-float-text { + color: $input-active-accent-color; + } + + .e-filled.e-float-input:not(.e-disabled) .e-close:hover, + .e-filled.e-float-input.e-control-wrapper:not(.e-disabled) .e-close:hover, + .e-filled.e-input-group:not(.e-disabled) .e-close:hover, + .e-filled.e-input-group.e-control-wrapper:not(.e-disabled) .e-close:hover { + color: $filled-input-clear-icon-hover-color; + } + + .e-filled.e-float-input:not(.e-disabled) .e-close:active, + .e-filled.e-float-input.e-control-wrapper:not(.e-disabled) .e-close:active, + .e-filled.e-input-group:not(.e-disabled) .e-close:active, + .e-filled.e-input-group.e-control-wrapper:not(.e-disabled) .e-close:active { + color: $filled-input-clear-icon-active-color; + } + + .e-filled.e-input[disabled], + .e-input-group.e-filled .e-input[disabled], + .e-input-group.e-filled.e-control-wrapper .e-input[disabled], + .e-input-group.e-filled.e-disabled, + .e-input-group.e-filled.e-control-wrapper.e-disabled, + .e-filled.e-float-input input[disabled], + .e-filled.e-float-input.e-control-wrapper input[disabled], + .e-filled.e-float-input textarea[disabled], + .e-filled.e-float-input.e-control-wrapper textarea[disabled], + .e-filled.e-float-input.e-disabled, + .e-filled.e-float-input.e-control-wrapper.e-disabled { + background-image: none; + background-position: initial; + background-repeat: no-repeat; + background-size: $zero-value; + border-color: $filled-input-disabled-border-color; + color: $filled-input-disabled-font-color; + } + + .e-filled.e-float-input.e-disabled:not(.e-success):not(.e-warning):not(.e-error), + .e-filled.e-float-input.e-control-wrapper.e-disabled:not(.e-success):not(.e-warning):not(.e-error) { + border-color: $filled-input-disabled-border-color; + } + + .e-filled.e-input-group:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left).e-disabled, + .e-filled.e-input-group.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error).e-disabled .e-input-in-wrap, + .e-filled.e-input-group.e-control-wrapper:not(.e-success):not(.e-warning):not(.e-error):not(.e-float-icon-left).e-disabled, + .e-filled.e-input-group.e-control-wrapper.e-float-icon-left:not(.e-success):not(.e-warning):not(.e-error).e-disabled .e-input-in-wrap { + background: $filled-input-disabled-bg-color; + background-image: none; + background-position: initial; + background-repeat: no-repeat; + background-size: $zero-value; + border-color: $filled-input-disabled-border-color; + color: $filled-input-disabled-font-color; + } + + .e-filled.e-float-input.e-input-group.e-disabled .e-float-text, + .e-filled.e-float-input.e-input-group.e-disabled .e-float-text.e-label-top, + .e-filled.e-float-input input[disabled]~label.e-float-text, + .e-filled.e-float-input input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-disabled label.e-float-text, + .e-filled.e-float-input.e-disabled label.e-float-text.e-label-top, + .e-filled.e-float-input:not(.e-error) input[disabled]~label.e-float-text, + .e-filled.e-float-input:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input textarea[disabled]~label.e-float-text, + .e-filled.e-float-input textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea[disabled]~label.e-float-text, + .e-filled.e-float-input:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-disabled .e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-input-group.e-disabled .e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper.e-disabled input[disabled]~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper input[disabled]~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input[disabled]~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled:not(.e-error) input[disabled]~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled:not(.e-error) input[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled textarea[disabled]~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper textarea[disabled]~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea[disabled]~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled:not(.e-error) textarea[disabled]~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-disabled:not(.e-error) textarea[disabled]~label.e-label-top.e-float-text, + input.e-filled.e-disabled.e-input:-moz-placeholder, + .e-input-group.e-filled.e-disabled input.e-input:-moz-placeholder, + .e-input-group.e-filled.e-disabled input.e-input:-moz-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper input.e-input:-moz-placeholder, + input.e-filled.e-disabled.e-input:-moz-placeholder, + .e-input-group.e-filled.e-disabled input.e-input:-moz-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper input.e-input:-moz-placeholder, + textarea.e-filled.e-disabled.e-input:-moz-placeholder, + .e-input-group.e-filled.e-disabled textarea.e-input:-moz-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper textarea.e-input:-moz-placeholder, + input.e-filled.e-disabled.e-input::-moz-placeholder, + .e-input-group.e-filled.e-disabled input.e-input::-moz-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper input.e-input::-moz-placeholder, + textarea.e-filled.e-disabled.e-input::-moz-placeholder, + .e-input-group.e-filled.e-disabled textarea.e-input::-moz-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper textarea.e-input::-moz-placeholder, + input.e-filled.e-disabled.e-input:-ms-input-placeholder, + .e-input-group.e-filled.e-disabled input.e-input:-ms-input-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper input.e-input:-ms-input-placeholder, + textarea.e-filled.e-disabled.e-input:-ms-input-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper textarea.e-input:-ms-input-placeholder, + .e-input-group.e-filled.e-disabled textarea.e-input:-ms-input-placeholder, + input.e-filled.e-disabled.e-input::-webkit-input-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper input.e-input::-webkit-input-placeholder, + .e-input-group.e-filled.e-disabled input.e-input::-webkit-input-placeholder, + textarea.e-filled.e-disabled.e-input::-webkit-input-placeholder, + .e-input-group.e-filled.e-disabled textarea.e-input::-webkit-input-placeholder, + .e-input-group.e-filled.e-disabled.e-control-wrapper textarea.e-input::-webkit-input-placeholder, + .e-filled.e-float-input.e-disabled .e-close, + .e-filled.e-float-input.e-control-wrapper.e-disabled .e-close, + .e-input-group.e-filled.e-disabled .e-close, + .e-input-group.e-filled.e-control-wrapper.e-disabled .e-close, + .e-input-group.e-filled.e-disabled .e-input-group-icon, + .e-input-group.e-filled.e-control-wrapper.e-disabled .e-input-group-icon, + .e-filled.e-float-input:not(.e-disabled) input[disabled], + .e-filled.e-float-input.e-control-wrapper:not(.e-disabled) input[disabled], + .e-filled.e-float-input:not(.e-disabled) textarea[disabled], + .e-filled.e-float-input.e-control-wrapper:not(.e-disabled) textarea[disabled] { + color: $filled-input-disabled-font-color; + } + + .e-filled.e-float-input.e-success textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper.e-success textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-success textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-success textarea:valid~label.e-float-text, + .e-filled.e-float-input.e-success textarea~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-success textarea label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper.e-success textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success textarea:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success textarea~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success textarea label.e-float-text.e-label-top, + .e-filled.e-float-input.e-success input:focus~label.e-float-text, + .e-filled.e-float-input.e-success textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-success.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-success.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-success:not(.e-input-focus) input:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill.e-success:not(.e-input-focus) input:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-success textarea:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill.e-success textarea:not(:focus):-webkit-autofill~label.e-float-text { + color: $input-success-color; + } + + .e-filled.e-float-input.e-warning textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea:not(:focus):valid~label.e-float-text.e-label-bottom, + .e-filled.e-float-input.e-warning textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-warning textarea:valid~label.e-float-text, + .e-filled.e-float-input.e-warning textarea~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-warning textarea label.e-float-text.e-label-top, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea:valid~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea[readonly]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea[disabled]~label.e-label-top.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea label.e-float-text.e-label-top, + .e-filled.e-float-input.e-warning input:focus~label.e-float-text, + .e-filled.e-float-input.e-warning textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning input:focus~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning textarea:focus~label.e-float-text, + .e-filled.e-float-input.e-warning.e-input-focus input~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-warning.e-input-focus inputs~label.e-float-text, + .e-filled.e-float-input.e-warning:not(.e-input-focus) input:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill.e-warning:not(.e-input-focus) input:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-warning textarea:not(:focus):-webkit-autofill~label.e-float-text, + .e-filled.e-float-input.e-control-wrapper.e-autofill.e-warning textarea:not(:focus):-webkit-autofill~label.e-float-text { + color: $input-warning-color; + } + } +} + +/* stylelint-disable-line no-empty-source */ +$popup-width: auto !default; +$popup-height: auto !default; + +@include export-module('popup-layout') { + + /*! popup layout */ + .e-popup { + height: $popup-height; + position: absolute; + width: $popup-width; + z-index: 1000; + } + + .e-popup.e-popup-open { + display: block; + } + + .e-popup.e-popup-close { + display: none; + } +} + + + +//Layout Variables Start +$spin-padding: 10px; +$spin-label-margin-top: 10px; +$spin-label-font-size: $text-sm; + +//Layout Variables End + +//Normal Variables Start +$spin-label-color: $primary; +$spin-overlay-background: $overlay-bg-color; +$spin-label-font-family: $font-family; +$spin-overlay-stroke-color: $primary; +$spin-overlay-font-color: $white; + +//Normal Variables End + +$spin-stroke-color: $primary-lighter; +$spin-stroke-width: 1.5; +$spin-arc-color: $primary; +$spin-tail-margin: 0 auto !default; +$spinner-zero-space: 0 !default; +$spinner-full-width: 100% !default; +$spinner-half-width: 50% !default; +$spinner-full-height: 100% !default; + +@mixin spinner-rotate { + animation: fluent-spinner-rotate 1.3s infinite cubic-bezier(.53, .21, .29, .67); +} + +@keyframes fluent-spinner-rotate { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +//Theme based other styles end + +@include export-module('spinner-layout') { + .e-spinner-pane { + align-items: center; + display: inline-flex; + height: $spinner-full-height; + justify-content: center; + left: $spinner-zero-space; + position: absolute; + text-align: center; + top: $spinner-zero-space; + user-select: none; + vertical-align: middle; + width: $spinner-full-width; + z-index: 1000; + + &::after { + display: none; + } + + &.e-spin-left { + /* stylelint-disable property-no-vendor-prefix */ + .e-spinner-inner { + -webkit-transform: translateX(0%) translateY(-50%); + left: $spinner-zero-space; + padding-left: $spin-padding; + transform: translateX(0%) translateY(-50%); + } + } + + &.e-spin-right { + .e-spinner-inner { + -webkit-transform: translateX(-100%) translateY(-50%); + left: $spinner-full-width; + padding-right: $spin-padding; + transform: translateX(-100%) translateY(-50%); + } + } + + &.e-spin-center { + .e-spinner-inner { + -webkit-transform: translateX(-50%) translateY(-50%); + left: $spinner-half-width; + transform: translateX(-50%) translateY(-50%); + } + } + + &.e-spin-hide { + display: none; + } + + &.e-spin-show { + display: inline-flex; + } + + .e-spinner-inner { + -webkit-transform: translateX(-50%) translateY(-50%); + left: $spinner-half-width; + margin: $spinner-zero-space; + position: absolute; + text-align: center; + top: $spinner-half-width; + transform: translateX(-50%) translateY(-50%); + z-index: 1000; + + .e-spin-label { + font-family: $spin-label-font-family; + font-size: $spin-label-font-size; + margin-top: $spin-label-margin-top; + text-align: center; + } + + .e-spin-fluent { + @include spinner-rotate; + display: block; + margin: $spin-tail-margin; + overflow: visible; + + .e-path-arc, + .e-path-circle { + fill: none; + stroke-width: var(--spinner-thickness, #{$spin-stroke-width}); + } + } + } + } +} + +@include export-module('spinner-theme') { + .e-spinner-pane { + background-color: transparent; + + &.e-spin-overlay { + background-color: $spin-overlay-background; + + .e-spinner-inner { + + .e-spin-label { + color: $spin-overlay-font-color; + } + } + } + + .e-spinner-inner { + .e-spin-label { + color: $spin-label-color; + } + + .e-spin-fluent { + + .e-path-circle { + stroke: $spin-stroke-color; + } + + .e-path-arc { + stroke: $spin-arc-color; + } + } + } + } +} + + + + +//layout variables +$btn-font-size: $text-sm !default; +$btn-border: 1px solid !default; +$btn-icon-margin-top: -2px !default; +$btn-icon-btn-width: 1em !default; +$btn-icon-top-bottom-padding: 8px !default; +$btn-top-icon-padding: 12px 12px !default; +$btn-focus-outline-offset: 0 !default; +$btn-active-outline-offset: 0 !default; +$btn-font-weight: $font-weight-semibold !default; +$btn-font-size: $text-sm !default; +$btn-border-radius: $radius-4 !default; +$btn-text-transform: none !default; +$btn-icon-font-size: $text-sm !default; +$btn-round-height: 32px !default; +$btn-round-width: 32px !default; +$btn-round-font-size: $text-sm !default; +$btn-icon-margin: -.5em !default; +$btn-icon-width: 2em !default; +$btn-round-icon-line-height: 14px !default; +$btn-text-line-height: 20px !default; +$btn-padding: 5px 12px !default; +$btn-icon-padding: 8px !default; +$btn-small-font-size: $text-xs !default; +$btn-small-text-line-height: 16px !default; +$btn-small-padding: 3.2px 8px !default; + +//normal +$btn-color: $secondary-text-color !default; +$btn-bgcolor: $secondary-bg-color !default; +$btn-border-color: $secondary-border-color !default; +$btn-hover-bgcolor: $secondary-bg-color-hover !default; +$btn-hover-border-color: $secondary-border-color-hover !default; +$btn-hover-color: $secondary-text-color-hover !default; +$btn-focus-bgcolor: $secondary-bg-color-selected !default; +$btn-focus-border-color: $secondary-border-color-selected !default; +$btn-focus-color: $secondary-text-color-selected !default; +$btn-active-outline: $btn-bgcolor 0 solid !default; +$btn-focus-outline: $btn-bgcolor 0 solid !default; +$btn-focus-outline-round: $white 0 solid !default; +$btn-active-border-color: $secondary-border-color-pressed !default; +$btn-active-bgcolor: $secondary-bg-color-pressed !default; +$btn-active-color: $secondary-text-color-pressed !default; +$btn-disabled-color: $primary-text-disabled !default; +$btn-disabled-bgcolor: $secondary-bg-color-disabled !default; +$btn-disabled-border-color: $secondary-border-color-disabled !default; +$btn-active-box-shadow: none !default; +$btn-link-bgcolor: transparent !default; +$btn-link-border-color: transparent !default; +$btn-link-color: $link-button !default; +$btn-link-hover-color: $primary-bg-color-hover !default; +$btn-link-disabled-bgcolor: transparent !default; +$btn-link-focus-underline-color: $content-text-color !default; + +//primary +$btn-primary-outline: $btn-bgcolor 0 solid !default; +$btn-primary-color: $primary-text-color !default; +$btn-primary-hover-color: $primary-text-hover !default; +$btn-primary-focus-color: $primary-text-selected !default; +$btn-primary-active-color: $primary-text-pressed !default; +$btn-primary-bgcolor: $primary-bg-color !default; +$btn-primary-hover-bgcolor: $primary-bg-color-hover !default; +$btn-primary-active-bgcolor: $primary-bg-color-pressed !default; +$btn-primary-border-color: $primary-border-color !default; +$btn-primary-hover-border-color: $primary-border-color-hover !default; +$btn-primary-focus-border-color: $primary-border-color-selected !default; +$btn-primary-active-border-color: $primary-border-color-pressed !default; +$btn-primary-focus-bgcolor: $primary-bg-color-selected !default; +$btn-primary-disabled-bgcolor: $primary-bg-color-disabled !default; +$btn-primary-disabled-color: $primary-text-disabled !default; +$btn-primary-disabled-border-color: $primary-border-color-disabled !default; + +//outline +$btn-outline-color: $btn-color !default; +$btn-outline-bgcolor: transparent !default; +$btn-outline-hover-bgcolor: transparent !default; +$btn-outline-hover-color: $secondary-outline-button-text-color-hover !default; +$btn-outline-focus-bgcolor: $btn-focus-bgcolor !default; +$btn-outline-focus-color: $btn-focus-color !default; +$btn-outline-active-color: $btn-active-color !default; +$btn-outline-active-bgcolor: $btn-active-bgcolor !default; +$btn-outline-border-color: $btn-border-color !default; +$btn-outline-hover-border-color: $btn-hover-border-color !default; +$btn-outline-focus-border-color: $secondary-border-color-selected !default; +$btn-outline-default-focus-border-color: $btn-outline-border-color !default; +$btn-outline-active-border-color: $secondary-border-color-pressed !default; +$btn-outline-active-box-shadow: $btn-active-box-shadow !default; +$btn-outline-disabled-bgcolor: $secondary-bg-color-disabled !default; +$btn-outline-disabled-border-color: $secondary-border-color-disabled !default; +$btn-outline-disabled-color: $secondary-text-color-disabled !default; +$btn-outline-primary-color: $btn-primary-bgcolor !default; +$btn-outline-primary-focus-bgcolor: $btn-primary-bgcolor !default; +$btn-outline-primary-focus-color: $white !default; +$btn-outline-success-color: $success-bg-color !default; +$btn-outline-warning-color: $warning-bg-color !default; +$btn-outline-danger-color: $danger-bg-color !default; +$btn-outline-info-color: $info-bg-color !default; + +//flat +$btn-flat-color: $btn-color !default; +$btn-flat-border: $btn-border !default; +$btn-flat-border-color: $transparent !default; +$btn-flat-hover-color: $btn-hover-color !default; +$btn-flat-focus-color: $btn-focus-color !default; +$btn-flat-active-color: $btn-active-color !default; +$btn-flat-box-shadow: none !default; +$btn-flat-active-bgcolor: $btn-active-bgcolor !default; +$btn-flat-bgcolor: $transparent !default; +$btn-flat-hover-bgcolor: $btn-hover-bgcolor !default; +$btn-flat-focus-bgcolor: $secondary-bg-color-selected !default; +$btn-flat-hover-border-color: $btn-hover-border-color !default; +$btn-flat-active-border-color: $btn-active-border-color !default; +$btn-flat-focus-border-color: $secondary-border-color-selected !default; +$btn-flat-active-box-shadow: $btn-active-box-shadow !default; +$btn-flat-disabled-border-color: transparent !default; +$btn-flat-disabled-bgcolor: transparent !default; +$btn-flat-disabled-color: $secondary-text-color-disabled !default; + +//success +$btn-success-color: $success-text !default; +$btn-success-bgcolor: $success-bg-color !default; +$btn-success-hover-bgcolor: $success-bg-color-hover !default; +$btn-success-focus-bgcolor: $success-bg-color-selected !default; +$btn-success-active-bgcolor: $success-bg-color-pressed !default; +$btn-success-border-color: $success-border-color !default; +$btn-success-hover-border-color: $success-border-color-hover !default; +$btn-success-focus-border-color: $success-border-color-selected !default; +$btn-success-active-border-color: $success-border-color-pressed !default; +$btn-success-disabled-bgcolor: $success-bg-color-disabled !default; +$btn-success-disabled-color: $success-text-disabled !default; +$btn-success-disabled-border-color: $success-border-color-disabled !default; +$btn-success-hover-color: $success-text-hover !default; +$btn-success-focus-color: $success-text-hover !default; +$btn-success-active-color: $btn-success-color !default; + +//warning +$btn-warning-bgcolor: $warning-bg-color !default; +$btn-warning-color: $warning-text !default; +$btn-warning-hover-color: $warning-text-hover !default; +$btn-warning-hover-bgcolor: $warning-bg-color-hover !default; +$btn-warning-focus-bgcolor: $warning-bg-color-selected !default; +$btn-warning-active-bgcolor: $warning-bg-color-pressed !default; +$btn-warning-border-color: $warning-border-color !default; +$btn-warning-hover-border-color: $warning-border-color-hover !default; +$btn-warning-focus-border-color: $warning-border-color-selected !default; +$btn-warning-focus-color: $warning-text-selected !default; +$btn-warning-active-color: $warning-text-pressed !default; +$btn-warning-active-border-color: $warning-border-color-pressed !default; +$btn-warning-disabled-bgcolor: $warning-bg-color-disabled !default; +$btn-warning-disabled-color: $warning-text-disabled !default; +$btn-warning-disabled-border-color: $warning-border-color-disabled !default; + +//danger +$btn-danger-color: $danger-text !default; +$btn-danger-bgcolor: $danger-bg-color !default; +$btn-danger-hover-bgcolor: $danger-bg-color-hover !default; +$btn-danger-focus-bgcolor: $danger-bg-color-selected !default; +$btn-danger-active-bgcolor: $danger-bg-color-pressed !default; +$btn-danger-active-color: $danger-text-pressed !default; +$btn-danger-border-color: $danger-border-color !default; +$btn-danger-hover-border-color: $danger-border-color-hover !default; +$btn-danger-focus-border-color: $success-border-color-selected !default; +$btn-danger-active-border-color: $danger-border-color-pressed !default; +$btn-danger-disabled-bgcolor: $danger-bg-color-disabled !default; +$btn-danger-disabled-color: $warning-text-disabled !default; +$btn-danger-disabled-border-color: $danger-border-color-disabled !default; +$btn-danger-hover-color: $danger-text-hover !default; + +//info +$btn-info-bgcolor: $info-bg-color !default; +$btn-info-color: $info-text !default; +$btn-info-hover-bgcolor: $info-bg-color-hover !default; +$btn-info-focus-bgcolor: $info-bg-color-selected !default; +$btn-info-active-bgcolor: $info-bg-color-pressed !default; +$btn-info-border-color: $info-border-color !default; +$btn-info-hover-border-color: $info-border-color-hover !default; +$btn-info-focus-border-color: $info-border-color-selected !default; +$btn-info-active-border-color: $info-border-color-pressed !default; +$btn-info-disabled-bgcolor: $info-bg-color-disabled !default; +$btn-info-disabled-color: $info-text-disabled !default; +$btn-info-disabled-border-color: $info-border-color-disabled !default; +$btn-info-active-color: $info-text-pressed !default; +$btn-info-hover-color: $info-text-hover !default; + +//round +$btn-round-focus-color: $secondary-text-color-selected !default; +$btn-round-active-color: $secondary-text-color-pressed !default; +$btn-round-bgcolor: $btn-bgcolor !default; +$btn-round-border-color: $btn-border-color !default; +$btn-round-color: $btn-color !default; +$btn-round-hover-bgcolor: $btn-hover-bgcolor !default; +$btn-round-hover-border-color: $btn-hover-border-color !default; +$btn-round-hover-color: $btn-hover-color !default; + +//flatprimary +$btn-flat-primary-hover-bgcolor: $btn-primary-hover-bgcolor !default; +$btn-flat-primary-border-color: $btn-flat-border-color !default; +$btn-flat-primary-hover-border-color: $btn-primary-hover-border-color !default; +$btn-flat-primary-active-border-color: $btn-primary-active-border-color !default; +$btn-flat-primary-focus-border-color: $btn-flat-primary-hover-border-color !default; +$btn-flat-primary-disabled-border-color: transparent !default; +$btn-flat-primary-focus-bgcolor: $btn-flat-primary-hover-bgcolor !default; +$btn-flat-disabled-color: $secondary-text-color-disabled !default; +$btn-flat-primary-disabled-color: $primary-text-disabled !default; +$btn-flat-primary-bgcolor: $btn-flat-bgcolor !default; +$btn-flat-primary-color: $btn-primary-bgcolor !default; +$btn-flat-primary-hover-color: $btn-primary-color !default; +$btn-flat-primary-focus-color: $btn-primary-focus-color !default; +$btn-flat-primary-active-color: $btn-primary-color !default; +$btn-flat-primary-active-bgcolor: $btn-primary-active-bgcolor !default; + +//flatsuccess +$btn-flat-success-color: $btn-success-bgcolor !default; +$btn-flat-success-hover-color: $success-text-hover !default; +$btn-flat-success-focus-color: $success-text-selected !default; +$btn-flat-success-active-color: $btn-success-color !default; +$btn-flat-success-active-bgcolor: $btn-success-active-bgcolor !default; +$btn-flat-success-disabled-color: $success-text-disabled !default; +$btn-flat-success-bgcolor: $btn-flat-bgcolor !default; +$btn-flat-success-hover-bgcolor: $btn-success-hover-bgcolor !default; +$btn-flat-success-border-color: $btn-flat-border-color !default; +$btn-flat-success-hover-border-color: $btn-success-hover-border-color !default; +$btn-flat-success-active-border-color: $btn-success-active-border-color !default; +$btn-flat-success-focus-border-color: $btn-flat-success-hover-border-color !default; +$btn-flat-success-disabled-border-color: transparent !default; +$btn-flat-success-focus-bgcolor: $success-bg-color-hover !default; + +//flatinfo +$btn-flat-info-bgcolor: $btn-flat-bgcolor !default; +$btn-flat-info-hover-bgcolor: $btn-info-hover-bgcolor !default; +$btn-flat-info-border-color: $btn-flat-border-color !default; +$btn-flat-info-hover-border-color: $btn-info-hover-border-color !default; +$btn-flat-info-active-border-color: $btn-info-active-border-color !default; +$btn-flat-info-focus-border-color: $btn-flat-info-hover-border-color !default; +$btn-flat-info-disabled-border-color: transparent !default; +$btn-flat-info-focus-bgcolor: $btn-info-hover-bgcolor !default; +$btn-flat-info-color: $btn-info-bgcolor !default; +$btn-flat-info-disabled-color: $info-text-disabled !default; +$btn-flat-info-hover-color: $info-text-hover !default; +$btn-flat-info-focus-color: $info-text-selected !default; +$btn-flat-info-active-color: $info-text-pressed !default; +$btn-flat-info-active-bgcolor: $btn-info-active-bgcolor !default; + +//flatwarning +$btn-flat-warning-bgcolor: $btn-flat-bgcolor !default; +$btn-flat-warning-hover-bgcolor: $btn-warning-hover-bgcolor !default; +$btn-flat-warning-border-color: $btn-flat-border-color !default; +$btn-flat-warning-hover-border-color: $btn-warning-hover-border-color !default; +$btn-flat-warning-active-border-color: $btn-warning-active-border-color !default; +$btn-flat-warning-focus-border-color: $btn-flat-warning-hover-border-color !default; +$btn-flat-warning-disabled-border-color: transparent !default; +$btn-flat-warning-focus-bgcolor: $btn-warning-hover-bgcolor !default; +$btn-flat-warning-color: $btn-warning-bgcolor !default; +$btn-flat-warning-disabled-color: $warning-text-disabled !default; +$btn-flat-warning-hover-color: $warning-text-hover !default; +$btn-flat-warning-focus-color: $warning-text-selected !default; +$btn-flat-warning-active-color: $warning-text-pressed !default; +$btn-flat-warning-active-bgcolor: $btn-warning-active-bgcolor !default; + +//flatdanger +$btn-flat-danger-bgcolor: $btn-flat-bgcolor !default; +$btn-flat-danger-hover-bgcolor: $btn-danger-hover-bgcolor !default; +$btn-flat-danger-border-color: $btn-flat-border-color !default; +$btn-flat-danger-hover-border-color: $btn-danger-hover-border-color !default; +$btn-flat-danger-active-border-color: $btn-danger-active-border-color !default; +$btn-flat-danger-focus-border-color: $btn-flat-danger-hover-border-color !default; +$btn-flat-danger-disabled-border-color: transparent !default; +$btn-flat-danger-focus-bgcolor: $btn-danger-hover-bgcolor !default; +$btn-flat-danger-color: $btn-danger-bgcolor !default; +$btn-flat-danger-hover-color: $danger-text-hover !default; +$btn-flat-danger-focus-color: $danger-text-selected !default; +$btn-flat-danger-active-color: $danger-text-pressed !default; +$btn-flat-danger-active-bgcolor: $btn-danger-active-bgcolor !default; +$btn-flat-danger-disabled-color: $danger-text-disabled !default; + +//outlineprimary +$btn-outline-primary-disabled-color: rgba($primary, .65) !default; +$btn-outline-primary-disabled-border-color: rgba($primary, .65) !default; +$btn-outline-primary-hover-border-color: $primary-border-color-hover !default; +$btn-outline-primary-hover-bgcolor: transparent !default; +$btn-outline-primary-focus-border-color: $primary !default; +$btn-outline-primary-active-border-color: $primary-border-color-pressed !default; + +//outlinesuccess +$btn-outline-success-disabled-color: rgba($success, .65) !default; +$btn-outline-success-disabled-border-color: rgba($btn-success-bgcolor, .65) !default; +$btn-outline-success-hover-bgcolor: transparent !default; + +//outlineinfo +$btn-outline-info-disabled-color: rgba($info, .65) !default; +$btn-outline-info-disabled-border-color: rgba($btn-info-bgcolor, .65) !default; +$btn-outline-info-hover-bgcolor: transparent !default; + +//outlinewarning +$btn-outline-warning-disabled-color: rgba($warning, .65) !default; +$btn-outline-warning-disabled-border-color: rgba($btn-warning-bgcolor, .65) !default; +$btn-outline-warning-hover-bgcolor: transparent !default; + +//outlinedanger +$btn-outline-danger-disabled-color: rgba($danger, .65) !default; +$btn-outline-danger-disabled-border-color: rgba($btn-danger-bgcolor, .65) !default; +$btn-outline-danger-hover-bgcolor: transparent !default; + +//size +$btn-box-shadow: none !default; +$btn-hover-focus-box-shadow: none !default; +$btn-flat-primary-disabled-bgcolor: transparent !default; +$btn-flat-success-disabled-bgcolor: transparent !default; +$btn-flat-info-disabled-bgcolor: transparent !default; +$btn-flat-warning-disabled-bgcolor: transparent !default; +$btn-flat-danger-disabled-bgcolor: transparent !default; +$btn-focus-box-shadow: $secondary-shadow-focus !default; + +//Fluent +$btn-keyboard-focus-box-shadow: $shadow-focus-ring1 !default; +$btn-keyboard-focus-border-color: $shadow-color !default; +$btn-zero-padding: 0 !default; +$btn-top-bottom-icon-line-height: 1 !default; +$btn-round-line-height: 1 !default; +$btn-round-border-radius: $radius-full !default; +$btn-auto-width: auto !default; +$btn-width-full: 100% !default; +$btn-bgr-icon-line-height: 16px !default; +$btn-icon-bgr-line-height: 1.352em !default; +$btn-bgr-icon-font-size: 16px !default; +$btn-icon-btn-line-height: 14px !default; +$btn-zero-border: 0 !default; +$btn-zero-line-height: 0 !default; +$btn-primary-focus-box-shadow: $primary-shadow-focus !default; +$btn-success-focus-box-shadow: $success-shadow-focus !default; +$btn-info-focus-box-shadow: $info-shadow-focus !default; +$btn-warning-focus-box-shadow: $warning-shadow-focus !default; +$btn-danger-focus-box-shadow: $danger-shadow-focus !default; + +@mixin icon-top-bottom { + display: block; + margin-top: $btn-zero-padding; + width: $btn-auto-width; +} + +@mixin top-bottom-icon-btn { + line-height: $btn-top-bottom-icon-line-height; +} + +@include export-module('button-layout') { + .e-btn, + .e-css.e-btn { + /* stylelint-disable property-no-vendor-prefix */ + -webkit-font-smoothing: antialiased; + border: $btn-border; + border-radius: $btn-border-radius; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: $font-family; + font-size: $btn-font-size; + font-weight: $btn-font-weight; + justify-content: center; + line-height: $btn-text-line-height; + outline: none; + padding: $btn-padding; + text-align: center; + text-decoration: none; + text-transform: $btn-text-transform; + user-select: none; + vertical-align: middle; + white-space: nowrap; + @at-root { + &:disabled { + cursor: default; + } + + &:hover, + &:focus { + text-decoration: none; + } + + &::-moz-focus-inner { + border: $btn-zero-border; + padding: $btn-zero-padding; + } + + & .e-btn-icon { + display: inline-block; + font-size: $btn-icon-font-size; + margin-top: $btn-icon-margin-top; + vertical-align: middle; + width: $btn-icon-btn-width; + + &.e-icon-left { + margin-left: $btn-icon-margin; + width: $btn-icon-width; + } + + &.e-icon-right { + width: $btn-icon-width; + margin-right: $btn-icon-margin; + } + + &.e-icon-top { + padding-bottom: $btn-icon-top-bottom-padding; + @include icon-top-bottom; + } + + &.e-icon-bottom { + padding-top: $btn-icon-top-bottom-padding; + @include icon-top-bottom; + } + } + + &.e-icon-btn { + line-height: $btn-icon-btn-line-height; + + } + + &.e-top-icon-btn, + &.e-bottom-icon-btn { + @include top-bottom-icon-btn; + padding: $btn-top-icon-padding; + } + + &.e-round { + border-radius: $btn-round-border-radius; + height: $btn-round-height; + line-height: $btn-round-line-height; + padding: $btn-zero-padding; + width: $btn-round-width; + + & .e-btn-icon { + font-size: $btn-round-font-size; + line-height: $btn-round-icon-line-height; + margin-top: $btn-zero-padding; + width: $btn-auto-width; + } + } + + &.e-flat { + border: $btn-flat-border; + } + + &.e-small { + font-size: $btn-small-font-size; + line-height: $btn-small-text-line-height; + padding: $btn-small-padding; + } + + &.e-block { + display: block; + width: $btn-width-full; + } + } + } +} + +@mixin button-focus { + background: $btn-focus-bgcolor; + border-color: $btn-focus-border-color; + color: $btn-focus-color; + outline: $btn-focus-outline; + outline-offset: $btn-focus-outline-offset; + box-shadow: $btn-hover-focus-box-shadow; +} + +@mixin button-active { + background: $btn-active-bgcolor; + border-color: $btn-active-border-color; + + color: $btn-active-color; + outline: $btn-active-outline; + outline-offset: $btn-active-outline-offset; +} + +@mixin primary-focus { + background: $btn-primary-focus-bgcolor; + border-color: $btn-primary-focus-border-color; + color: $btn-primary-focus-color; + outline: $btn-primary-outline; + box-shadow: $btn-hover-focus-box-shadow; +} + +@mixin primary-active { + background: $btn-primary-active-bgcolor; + border-color: $btn-primary-active-border-color; + color: $btn-primary-active-color; + outline: $btn-active-outline; + box-shadow: $btn-active-box-shadow; +} + +@mixin primary-disabled { + background: $btn-primary-disabled-bgcolor; + border-color: $btn-primary-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-primary-disabled-color; +} + +@mixin outline-focus { + color: $secondary-outline-button-text-color-hover; +} + +@mixin outline-active { + background: $btn-outline-active-bgcolor; + border-color: $btn-outline-active-border-color; + box-shadow: $btn-outline-active-box-shadow; + color: $btn-outline-active-color; +} + +@mixin outline-primary-active { + + background: $btn-primary-active-bgcolor; + border-color: $btn-outline-primary-active-border-color; + box-shadow: $btn-outline-active-box-shadow; + color: $btn-primary-active-color; +} + +@mixin outline-success-active { + background: $btn-success-active-bgcolor; + border-color: $btn-success-active-border-color; + box-shadow: $btn-outline-active-box-shadow; + color: $btn-success-active-color; +} + +@mixin outline-info-active { + background: $btn-info-active-bgcolor; + border-color: $btn-info-active-border-color; + box-shadow: $btn-outline-active-box-shadow; + color: $btn-info-active-color; +} + +@mixin outline-warning-active { + background: $btn-warning-active-bgcolor; + border-color: $btn-warning-active-border-color; + box-shadow: $btn-outline-active-box-shadow; + color: $btn-warning-active-color; +} + +@mixin outline-danger-active { + background: $btn-danger-active-bgcolor; + border-color: $btn-danger-active-border-color; + box-shadow: $btn-outline-active-box-shadow; + color: $btn-danger-active-color; +} + +@mixin outline-disabled { + background: $btn-outline-bgcolor; + border-color: $btn-outline-disabled-border-color; + color: $btn-outline-disabled-color; + background: $btn-outline-disabled-bgcolor !important; /* stylelint-disable-line declaration-no-important */ +} + +@mixin outline-primary-disabled { + background: $btn-outline-bgcolor; + border-color: $btn-outline-primary-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-outline-primary-disabled-color; +} + +@mixin outline-success-disabled { + background: $btn-outline-bgcolor; + border-color: $btn-outline-success-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-outline-success-disabled-color; +} + +@mixin outline-info-disabled { + background: $btn-outline-bgcolor; + border-color: $btn-outline-info-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-outline-info-disabled-color; +} + +@mixin outline-warning-disabled { + background: $btn-outline-bgcolor; + border-color: $btn-outline-warning-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-outline-warning-disabled-color; +} + +@mixin outline-danger-disabled { + background: $btn-outline-bgcolor; + border-color: $btn-outline-danger-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-outline-danger-disabled-color; +} + +@mixin success-focus { + background: $btn-success-focus-bgcolor; + border-color: $btn-success-focus-border-color; + color: $btn-success-hover-color; + box-shadow: $btn-hover-focus-box-shadow; +} + +@mixin success-active { + background: $btn-success-active-bgcolor; + border-color: $btn-success-active-border-color; + color: $btn-success-active-color; + box-shadow: $btn-active-box-shadow; +} + +@mixin info-focus { + background: $btn-info-focus-bgcolor; + border-color: $btn-info-focus-border-color; + color: $btn-info-hover-color; + box-shadow: $btn-hover-focus-box-shadow; +} + +@mixin info-active { + background: $btn-info-active-bgcolor; + border-color: $btn-info-active-border-color; + color: $btn-info-active-color; + box-shadow: $btn-active-box-shadow; +} + +@mixin warning-focus { + background: $btn-warning-focus-bgcolor; + border-color: $btn-warning-focus-border-color; + color: $btn-warning-hover-color; + box-shadow: $btn-hover-focus-box-shadow; +} + +@mixin warning-active { + background: $btn-warning-active-bgcolor; + border-color: $btn-warning-active-border-color; + color: $btn-warning-active-color; + box-shadow: $btn-active-box-shadow; +} + +@mixin danger-focus { + background: $btn-danger-focus-bgcolor; + border-color: $btn-danger-focus-border-color; + color: $btn-danger-hover-color; + box-shadow: $btn-hover-focus-box-shadow; +} + +@mixin danger-active { + background: $btn-danger-active-bgcolor; + border-color: $btn-danger-active-border-color; + color: $btn-danger-active-color; + box-shadow: $btn-active-box-shadow; +} + +@mixin link-focus { + border-radius: 0; + text-decoration: underline; + color: $btn-link-hover-color; +} + +@mixin link-hover { + border-radius: 0; + color: $btn-link-hover-color; + text-decoration: underline; +} + +@mixin success-disabled { + background: $btn-success-disabled-bgcolor; + border-color: $btn-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-success-disabled-color; +} + +@mixin info-disabled { + background: $btn-info-disabled-bgcolor; + border-color: $btn-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-info-disabled-color; +} + +@mixin warning-disabled { + background: $btn-warning-disabled-bgcolor; + border-color: $btn-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-warning-disabled-color; +} + +@mixin danger-disabled { + background: $btn-danger-disabled-bgcolor; + border-color: $btn-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-danger-disabled-color; +} + +@mixin link-disabled { + color: $btn-disabled-color; + background: $btn-link-disabled-bgcolor; + box-shadow: $btn-flat-box-shadow; + text-decoration: none; +} + +@include export-module('button-theme') { + /* stylelint-disable property-no-vendor-prefix */ + .e-btn, + .e-css.e-btn { + -webkit-tap-highlight-color: transparent; + background: $btn-bgcolor; + border-color: $btn-border-color; + box-shadow: $btn-box-shadow; + color: $btn-color; + transition: box-shadow 280ms cubic-bezier(.4, 0, .2, 1); + + @at-root { + &:hover { + background: $btn-hover-bgcolor; + border-color: $btn-hover-border-color; + box-shadow: $btn-hover-focus-box-shadow; + color: $btn-hover-color; + } + + &:focus { // both keyboard and focus + @include button-focus; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-keyboard-focus-box-shadow; + } + + &:active { + @include button-active; + } + + &.e-active { + background: $btn-active-bgcolor; + border-color: $btn-active-border-color; + box-shadow: $btn-active-box-shadow; + color: $btn-active-color; + background: $secondary-bg-color-selected; /* stylelint-disable-line declaration-no-important */ + border-color: $secondary-border-color-selected; /* stylelint-disable-line declaration-no-important */ + color: $secondary-text-color-selected; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + background: $btn-disabled-bgcolor; + border-color: $btn-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-disabled-color; + } + + &.e-disabled { + opacity: 1; + } + + &.e-round, + &.e-round-edge { + background: $btn-round-bgcolor; + border-color: $btn-round-border-color; + color: $btn-round-color; + + &:hover { + background: $btn-round-hover-bgcolor; + border-color: $btn-round-hover-border-color; + color: $btn-round-hover-color; + } + + &:focus { + background: $btn-focus-bgcolor; + border-color: $btn-focus-border-color; + box-shadow: $btn-box-shadow; + color: $btn-round-focus-color; + outline: $btn-focus-outline-round; + outline-offset: $btn-focus-outline-offset; + } + + + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-keyboard-focus-box-shadow; + } + + &:active { + background: $btn-active-bgcolor; + border-color: $btn-active-border-color; + box-shadow: $btn-active-box-shadow; + color: $btn-round-active-color; + outline: $btn-active-outline; + outline-offset: $btn-active-outline-offset; + } + + &:disabled, + &.e-disabled { + background: $btn-disabled-bgcolor; + border-color: $btn-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-disabled-color; + } + + &.e-primary { + + &:focus { + outline: $btn-focus-outline-round; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-primary-focus-box-shadow; + } + } + + &.e-success { + + &:focus { + outline: $btn-focus-outline-round; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-success-focus-box-shadow; + } + } + + &.e-info { + &:focus { + outline: $btn-focus-outline-round; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-info-focus-box-shadow; + } + } + } + + &.e-warning { + + &:focus { + outline: $btn-focus-outline-round; + } + + &:focus:not(:focus-visible) { //mouse click + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-warning-focus-box-shadow; + } + } + + &.e-danger { + &:focus { + outline: $btn-focus-outline-round; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-danger-focus-box-shadow; + } + } + } + + &.e-primary { + background: $btn-primary-bgcolor; + border-color: $btn-primary-border-color; + color: $btn-primary-color; + + &:hover { + background: $btn-primary-hover-bgcolor; + border-color: $btn-primary-hover-border-color; + box-shadow: $btn-hover-focus-box-shadow; + color: $btn-primary-hover-color; + } + + &:focus { + @include primary-focus; + } + + &:focus:not(:focus-visible) { //mouse click + } + + &:focus-visible { // only for keybord + box-shadow: $btn-primary-focus-box-shadow; + border-color: $btn-keyboard-focus-border-color; + background-color: $primary-bg-color-focus; + } + + &:active { + @include primary-active; + } + + &.e-active { + background: $primary-bg-color-selected; + border-color: $primary-border-color-selected; + box-shadow: $btn-active-box-shadow; + color: $primary-text-selected; + } + + &:disabled, + &.e-disabled { + @include primary-disabled; + } + } + + &.e-success { + background: $btn-success-bgcolor; + border-color: $btn-success-border-color; + color: $btn-success-color; + + &:hover { + background: $btn-success-hover-bgcolor; + border-color: $btn-success-hover-border-color; + box-shadow: $btn-hover-focus-box-shadow; + color: $btn-success-hover-color; + } + + &:focus { + @include success-focus; + } + + &:focus:not(:focus-visible) { //mouse click + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-success-focus-box-shadow; + background-color: $success-bg-color-focus; + color: $success-text-focus; + } + + &:active, + &.e-active { + @include success-active; + } + + &.e-active { + background: $success-bg-color-selected; + border-color: $success-border-color-selected; + color: $success-text-pressed; + } + + &:disabled, + &.e-disabled { + @include success-disabled; + } + } + + &.e-info { + background: $btn-info-bgcolor; + border-color: $btn-info-border-color; + color: $btn-info-color; + + &:hover { + background: $btn-info-hover-bgcolor; + border-color: $btn-info-hover-border-color; + box-shadow: $btn-hover-focus-box-shadow; + color: $btn-info-hover-color; + } + + &:focus { + @include info-focus; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-info-focus-box-shadow; + background-color: $info-bg-color-focus; + } + + &:active, + &.e-active { + @include info-active; + } + + &.e-active { + background: $info-bg-color-selected !important; /* stylelint-disable-line declaration-no-important */ + border-color: $info-border-color-selected !important; /* stylelint-disable-line declaration-no-important */ + color: $btn-info-active-color !important; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + @include info-disabled; + } + } + + &.e-warning { + background: $btn-warning-bgcolor; + border-color: $btn-warning-border-color; + color: $btn-warning-color; + + &:hover { + background: $btn-warning-hover-bgcolor; + border-color: $btn-warning-hover-border-color; + box-shadow: $btn-hover-focus-box-shadow; + color: $btn-warning-hover-color; + } + + &:focus { + @include warning-focus; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-warning-focus-box-shadow; + background-color: $warning-bg-color-focus; + } + + &:active, + &.e-active { + @include warning-active; + } + + &.e-active { + background: $warning-bg-color-selected !important; /* stylelint-disable-line declaration-no-important */ + border-color: $warning-border-color-selected !important; /* stylelint-disable-line declaration-no-important */ + color: $btn-warning-active-color !important; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + @include warning-disabled; + } + } + + &.e-danger { + background: $btn-danger-bgcolor; + border-color: $btn-danger-border-color; + color: $btn-danger-color; + + &:hover { + background: $btn-danger-hover-bgcolor; + border-color: $btn-danger-hover-border-color; + box-shadow: $btn-hover-focus-box-shadow; + color: $btn-danger-hover-color; + } + + &:focus { + @include danger-focus; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-danger-focus-box-shadow; + background-color: $danger-bg-color-focus; + color: $danger-text-focus; + } + + &:active { + @include danger-active; + } + + &.e-active { + background: $btn-danger-active-bgcolor; + border-color: $btn-danger-active-border-color; + box-shadow: $btn-active-box-shadow; + color: $btn-danger-active-color; + background: $danger-bg-color-selected !important; /* stylelint-disable-line declaration-no-important */ + border-color: $danger-border-color-selected !important; /* stylelint-disable-line declaration-no-important */ + color: $danger-text-pressed !important; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + @include danger-disabled; + } + } + + &.e-flat { + background: $btn-flat-bgcolor; + border-color: $btn-flat-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-color; + + &:hover { + background: $btn-flat-hover-bgcolor; + border-color: $btn-flat-hover-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-hover-color; + } + + &:focus { + background: $btn-flat-focus-bgcolor; + border-color: $btn-flat-focus-border-color; + color: $btn-flat-focus-color; + box-shadow: $btn-flat-box-shadow; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-keyboard-focus-box-shadow; + } + + &:active, + &.e-active { + background: $btn-flat-active-bgcolor; + border-color: $btn-flat-active-border-color; + color: $btn-flat-active-color; + box-shadow: $btn-flat-active-box-shadow; + } + + &:disabled, + &.e-disabled { + background: $btn-flat-disabled-bgcolor; + border-color: $btn-flat-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-disabled-color; + } + + &.e-primary { + background: $btn-flat-primary-bgcolor; + border-color: $btn-flat-primary-border-color; + color: $btn-flat-primary-color; + + &:hover { + background: $btn-flat-primary-hover-bgcolor; + border-color: $btn-flat-primary-hover-border-color; + color: $btn-flat-primary-hover-color; + } + + &:focus { + background: $btn-flat-primary-focus-bgcolor; + border-color: $btn-flat-primary-focus-border-color; + color: $btn-flat-primary-focus-color; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-primary-focus-box-shadow; + background-color: $primary-bg-color-focus; + } + + &:active, + &.e-active { + background: $btn-flat-primary-active-bgcolor; + border-color: $btn-flat-primary-active-border-color; + color: $btn-flat-primary-active-color; + } + + &:disabled, + &.e-disabled { + background: $btn-flat-primary-disabled-bgcolor; + border-color: $btn-flat-primary-disabled-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-primary-disabled-color; + } + } + + &.e-success { + background: $btn-flat-success-bgcolor; + border-color: $btn-flat-success-border-color; + color: $btn-flat-success-color; + + &:hover { + background: $btn-flat-success-hover-bgcolor; + border-color: $btn-flat-success-hover-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-success-hover-color; + } + + &:focus { + background: $btn-flat-success-focus-bgcolor; + border-color: $btn-flat-success-focus-border-color; + color: $btn-flat-success-focus-color; + box-shadow: $btn-flat-box-shadow; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-success-focus-box-shadow; + background-color: $success-bg-color-focus; + color: $success-text-focus; + } + + &:active, + &.e-active { + background: $btn-flat-success-active-bgcolor; + border-color: $btn-flat-success-active-border-color; + color: $btn-flat-success-active-color; + box-shadow: $btn-flat-active-box-shadow; + } + + &:disabled, + &.e-disabled { + background: $btn-flat-success-disabled-bgcolor; + border-color: $btn-flat-success-disabled-border-color; + color: $btn-flat-success-disabled-color; + } + } + + &.e-info { + background: $btn-flat-info-bgcolor; + border-color: $btn-flat-info-border-color; + color: $btn-flat-info-color; + + &:hover { + background: $btn-flat-info-hover-bgcolor; + border-color: $btn-flat-info-hover-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-info-hover-color; + } + + &:focus { + background: $btn-flat-info-focus-bgcolor; + border-color: $btn-flat-info-focus-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-info-focus-color; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-info-focus-box-shadow; + background-color: $info-bg-color-focus; + color: $btn-flat-info-focus-color; + } + + &:active, + &.e-active { + background: $btn-flat-info-active-bgcolor; + border-color: $btn-flat-info-active-border-color; + color: $btn-flat-info-active-color; + box-shadow: $btn-flat-active-box-shadow; + } + + &:disabled, + &.e-disabled { + background: $btn-flat-info-disabled-bgcolor; + border-color: $btn-flat-info-disabled-border-color; + color: $btn-flat-info-disabled-color; + } + } + + &.e-warning { + background: $btn-flat-warning-bgcolor; + border-color: $btn-flat-warning-border-color; + color: $btn-flat-warning-color; + + &:hover { + background: $btn-flat-warning-hover-bgcolor; + border-color: $btn-flat-warning-hover-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-warning-hover-color; + } + + &:focus { + background: $btn-flat-warning-focus-bgcolor; + border-color: $btn-flat-warning-focus-border-color; + color: $btn-flat-warning-focus-color; + box-shadow: $btn-flat-box-shadow; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-warning-focus-box-shadow; + background-color: $warning-bg-color-focus; + } + + &:active, + &.e-active { + background: $btn-flat-warning-active-bgcolor; + border-color: $btn-flat-warning-active-border-color; + color: $btn-flat-warning-active-color; + box-shadow: $btn-flat-active-box-shadow; + } + + &:disabled, + &.e-disabled { + background: $btn-flat-warning-disabled-bgcolor; + border-color: $btn-flat-warning-disabled-border-color; + color: $btn-flat-warning-disabled-color; + } + } + + &.e-danger { + background: $btn-flat-danger-bgcolor; + border-color: $btn-flat-danger-border-color; + color: $btn-flat-danger-color; + + &:hover { + background: $btn-flat-danger-hover-bgcolor; + border-color: $btn-flat-danger-hover-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-flat-danger-hover-color; + } + + &:focus { + background: $btn-flat-danger-focus-bgcolor; + border-color: $btn-flat-danger-focus-border-color; + color: $btn-flat-danger-focus-color; + box-shadow: $btn-flat-box-shadow; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-danger-focus-box-shadow; + background-color: $danger-bg-color-focus; + color: $danger-text-focus; + } + + &:active, + &.e-active { + background: $btn-flat-danger-active-bgcolor; + border-color: $btn-flat-danger-active-border-color; + color: $btn-flat-danger-active-color; + box-shadow: $btn-flat-active-box-shadow; + } + + &:disabled, + &.e-disabled { + background: $btn-flat-danger-disabled-bgcolor; + border-color: $btn-flat-danger-disabled-border-color; + color: $btn-flat-danger-disabled-color; + } + } + } + + &.e-outline { + background: $btn-outline-bgcolor; + border-color: $btn-outline-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-outline-color; + + &:hover { + background: $btn-outline-hover-bgcolor; + border-color: $btn-outline-hover-border-color; + box-shadow: $btn-flat-box-shadow; + color: $btn-outline-hover-color; + } + + &:focus { + @include outline-focus; + } + + &:focus:not(:focus-visible) { //mouse click + background: transparent; + border-color: $secondary-border-color-hover; + color: $secondary-outline-button-text-color-pressed; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-keyboard-focus-box-shadow; + } + + &:active, + &.e-active { + @include outline-active; + background: transparent; + color: $secondary-outline-button-text-color-pressed !important; /* stylelint-disable-line declaration-no-important */ + border-color: $btn-outline-active-border-color !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid $secondary-outline-button-text-color-pressed; + } + + &.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: $btn-outline-active-border-color !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid $secondary-outline-button-text-color-pressed; + } + + &:disabled, + &.e-disabled { + @include outline-disabled; + } + + &.e-primary { + background: $btn-outline-bgcolor; + border-color: $btn-outline-primary-color; + color: $btn-outline-primary-color; + + &:hover { + background: $btn-outline-success-hover-bgcolor; + border-color: $btn-outline-primary-hover-border-color; + color: $btn-primary-hover-bgcolor; + } + + &:focus:not(:focus-visible) { //mouse click + background: transparent; + border-color: $primary-border-color-hover; + color: $primary-border-color-hover; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-primary-focus-box-shadow; + } + + &:active, + &.e-active { + @include outline-primary-active; + background: transparent; + color: $primary-bg-color-pressed !important; /* stylelint-disable-line declaration-no-important */ + border-color: $btn-outline-primary-active-border-color !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid $primary-bg-color-pressed; + } + + &.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + color: $primary-bg-color-pressed !important; /* stylelint-disable-line declaration-no-important */ + border-color: $btn-outline-primary-active-border-color !important; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + @include outline-primary-disabled; + } + } + + &.e-success { + background: $btn-outline-bgcolor; + border-color: $btn-success-bgcolor; + color: $btn-success-bgcolor; + + &:hover { + background: $btn-outline-success-hover-bgcolor; + border-color: $btn-success-hover-border-color; + color: $btn-success-hover-bgcolor; + } + + &:focus:not(:focus-visible) { //mouse click + background: transparent; + border-color: $success-border-color-hover; + color: $success-border-color-hover; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-success-focus-box-shadow; + } + + &:active, + &.e-active { + @include outline-success-active; + background: transparent; + color: $success-bg-color-pressed !important; /* stylelint-disable-line declaration-no-important */ + border-color: $btn-success-active-border-color !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid $success-bg-color-pressed; + } + + &.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: $success-border-color-selected !important; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + @include outline-success-disabled; + } + } + + &.e-info { + background: $btn-outline-bgcolor; + border-color: $btn-info-bgcolor; + color: $btn-info-bgcolor; + + + &:hover { + background: $btn-outline-info-hover-bgcolor; + border-color: $btn-info-hover-border-color; + color: $btn-info-hover-bgcolor; + } + + &:focus:not(:focus-visible) { //mouse click + background: transparent; + border-color: $info-bg-color-hover; + color: $info-bg-color-hover; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-info-focus-box-shadow; + } + + &:active, + &.e-active { + @include outline-info-active; + background: transparent; + color: $info-bg-color-pressed !important; /* stylelint-disable-line declaration-no-important */ + border-color: $btn-info-active-border-color !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid $info-bg-color-pressed; + } + + &.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: $info-border-color-selected !important; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + @include outline-info-disabled; + } + } + + &.e-warning { + background: $btn-outline-bgcolor; + border-color: $btn-warning-bgcolor; + color: $btn-warning-bgcolor; + + &:hover { + background: $btn-outline-warning-hover-bgcolor; + border-color: $btn-warning-hover-border-color; + color: $btn-warning-hover-bgcolor; + } + /* &:focus { + @include outline-warning-focus; + }*/ + + &:focus:not(:focus-visible) { //mouse click + background: transparent; + border-color: $warning-border-color-hover; + color: $warning-border-color-hover; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-warning-focus-box-shadow; + } + + &:active, + &.e-active { + @include outline-warning-active; + background: transparent; + color: $warning-bg-color-pressed !important; /* stylelint-disable-line declaration-no-important */ + border-color: $btn-warning-active-border-color !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid $warning-bg-color-pressed; + } + + &.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: $warning-border-color-selected !important; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + @include outline-warning-disabled; + } + } + + &.e-danger { + background: $btn-outline-bgcolor; + border-color: $btn-danger-bgcolor; + color: $btn-danger-bgcolor; + + &:hover { + background: $btn-outline-danger-hover-bgcolor; + border-color: $btn-danger-hover-border-color; + color: $btn-danger-hover-bgcolor; + } + + &:focus:not(:focus-visible) { //mouse click + background: transparent; + border-color: $danger-border-color-hover; + color: $danger-border-color-hover; + } + + &:focus-visible { // only for keybord + border-color: $btn-keyboard-focus-border-color; + box-shadow: $btn-danger-focus-box-shadow; + } + + &:active, + &.e-active { + @include outline-danger-active; + background: transparent; + color: $danger-bg-color-pressed !important; /* stylelint-disable-line declaration-no-important */ + border-color: $btn-danger-active-border-color !important; /* stylelint-disable-line declaration-no-important */ + outline: 2px solid $danger-bg-color-pressed; + } + + &.e-active { + background: transparent !important; /* stylelint-disable-line declaration-no-important */ + border-color: $danger-border-color-selected !important; /* stylelint-disable-line declaration-no-important */ + } + + &:disabled, + &.e-disabled { + @include outline-danger-disabled; + } + } + } + + &.e-link { + background: $btn-link-bgcolor; + border-color: $btn-link-border-color; + border-radius: 0; + box-shadow: none; + color: $btn-link-color; + + &:hover { + @include link-hover; + } + + &:focus { + @include link-focus; + } + + &:focus:not(:focus-visible) { + outline: none !important; /* stylelint-disable-line declaration-no-important */ + } + + &:focus-visible { // only for keybord + text-decoration-color: $btn-link-focus-underline-color !important; /* stylelint-disable-line declaration-no-important */ + text-decoration: underline; + text-decoration-style: double; + } + + &:active, + &:disabled { + @include link-disabled; + } + } + + &.e-inherit { + color: inherit; + background: inherit; + border-color: transparent; + box-shadow: none; + + &:hover, + &:focus, + &:active, + &.e-active { + background: rgba(transparent, .056); + border-color: transparent; + box-shadow: none; + color: inherit; + outline: none; + } + + &:disabled { + background: inherit; + color: inherit; + border-color: transparent; + box-shadow: none; + opacity: .5; + } + } + } +} + + + + + + + +/*! calendar theme variables */ +//month view +$calendar-normal-month-view-height: 32px !default; +$calendar-normal-month-view-line-height: $calendar-normal-month-view-height !default; +$calendar-normal-month-view-width: 32px !default; +$calendar-normal-month-cell-padding: 0 !default; +$border-zero: 0; + +//header dimension +$calendar-header-font-size: $text-xs !default; +$calendar-header-title-padding: 0 5px !default; + +$calendar-normal-day-header-height: $calendar-normal-month-view-height !default; +$calendar-normal-day-header-text: uppercase !default; +$calendar-normal-header-height: 24px !default; +$calendar-normal-day-header-font-weight: $font-weight-medium !default; +$calendar-title-font-size: $text-sm !default; +$calendar-title-margin-left-style: 0 !default; +$calendar-title-font-weight-style: $font-weight-medium !default; +$calendar-title-decoration-style: none !default; + +$calendar-normal-header-padding: 8px 12px 6px 14px !default; + +// common size properties +$calendar-wrapper-border-radius: $radius-2 !default; +$calendar-full-width: 100% !default; +$calendar-lg-day-header-format-max-width: 100% !default; +$calendar-lg-day-header-format-min-width: 540px !default; +$calendar-icon-padding-top: 0 !default; +$calendar-zero-value: 0 !default; +$calendar-disable-opacity: 1 !default; + +//popup styles +$calendar-normal-max-width: 244px !default; +$calendar-normal-min-width: 244px !default; +$calendar-weeknumber-min-width: 280px !default; +$calendar-popup-padding: 0 !default; + +// today button +$calendar-normal-today-button-height: 32px !default; + +// year decade view +//dimension +$calendar-normal-year-decade-height: 50px !default; +$calendar-normal-year-decade-width: 40px !default; +$calendar-normal-year-decade-padding: 0 !default; +$calendar-yeardeacde-span-padding: 0 !default; +$calendar-yeardecade-padding: 0 8px 8px 8px !default; +$calendar-yeardecade-font-weight: $font-weight-normal !default; +$calendar-yeardecade-header-padding: 8px 12px 6px 12px !default; +$calendar-decade-title-left-margin-style: 0 !default; + +// table related styles +$calendar-table-padding: 0 8px 8px 8px !default; +$calendar-rtl-text-indent: 4px !default; + +//font icons +$calendar-next-prev-icon-size: 12px !default; +$calendar-icon-line-height: 16px !default; +$calendar-normal-icon-size: 28px !default; +$calendar-spanicon-font-weight-style: $font-weight-normal !default; + +$calendar-normal-down-icon-margin: 0 8px !default; + +//pending +$calendar-icon-font-size-style: $font-icon-12 !default; +$calendar-footer-container-padding: 8px 8px !default; + +//week number +$calendar-week-number-font-size-style: $text-sm !default; +$calendar-week-normal-max-width: 294px !default; +$calendar-week-normal-min-width: 288px !default; +$calendar-icon-padding: 0 !default; +$calendar-icon-button-margin: 0 !default; + +//thead style +$calendar-thead-padding: 0 0 6px !default; + +// common styles +$calendar-none-style: none !default; +$calendar-cursor-default-style: default !default; +$calendar-cursor-pointer-style: pointer !default; +$calendar-block-style: block !default; +$calendar-inline-block-style: inline-block !default; +$calendar-display-style: flex !default; +$calendar-pointer-events: initial !default; +$calendar-float-right-style: right !default; +$calendar-float-left-style: left !default; +$calendar-other-month-display-style: inline-block !default; +$calendar-other-month-row-display-style: none !default; +$calendar-footer-border: none !default; +$calendar-week-number-font-style: italic !default; + +//dimension +$calendar-date-font-size: $text-xs !default; +$calendar-link-font-weight-style: $font-weight-normal !default; +$calendar-disable-font-weight-style: $font-weight-normal !default; +$calendar-border-radius: $radius-2 !default; + +//week header font size + +//header color +$calendar-header-font-color: $content-text-color-alt1 !default; +$calendar-header-icon-color: $icon-color !default; +$calendar-title-font-color: $content-text-color !default; +$calendar-icon-font-color: $content-text-color-alt1 !default; +$calendar-active-icon-color: $primary !default; +$calendar-title-hover-color: $calendar-icon-color !default; +$calendar-icon-hover-color: $primary !default; +$calendar-icon-hover-bg-color: $primary-lighter !default; +$calendar-default-border-color: none !default; +$calendar-icon-hover-border-color: $content-bg-color-hover !default; +$calendar-device-icon-hover-bg-color: none !default; +$calendar-active-state-icon-bg-color: $primary-light !default; + +//popup styles +$calendar-border-style: 1px solid $border-light !default; +$calendar-bg-color: $flyout-bg-color !default; +$calendar-box-shadow: $shadow-sm !default; + +// year decade view +//color +$calendar-yeardecade-bg-color: none !default; +$calendar-yeardecade-hover-bg: $content-bg-color-hover !default; +$calendar-yeardecade-selected-hover-bg: $primary-light !default; + +//decade view color +$calendar-other-decade-cell-color: $content-text-color-alt2 !default; + +// end year decade +//other months +$calendar-other-month-date: $content-text-color-alt3 !default; +$calendar-other-month-date-hover-bg: $calendar-other-month-date !default; + +// td styles +//color +$calendar-light-font: $content-text-color-alt1 !default; +$calendar-active-font-color: $primary !default; +$calendar-active-hover-font-color: $content-text-color !default; +$calendar-active-today-font-color: $primary-text-color !default; +$calendar-active-today-hover-font-color: $content-text-color !default; +$calendar-active-bg-color: $primary-light !default; +$calendar-active-bg-box-shadow: none !default; +$calendar-active-bg-border-color: none !default; +$calendar-active-hover-bg-color: $primary-light !default; +$calendar-hover-color: $primary-lighter !default; +$calendar-text-color: $content-text-color-alt1 !default; +$calendar-hover-text: $content-text-color-hover !default; +$calendar-focus-bg-color: $content-bg-color-hover !default; +$calendar-focused-today-bg-style: $primary !default; +$calendar-focused-today-box-shadow: none !default; +$calendar-focused-today-border-style: none !default; +$calendar-focus-box-shadow: none !default; +$calendar-focus-border-color: none !default; +$calendar-hover-border-color: $primary-lighter !default; +$calendar-disable-font-color: $content-text-color-disabled !default; +$calendar-focused-date-bg-style: $primary-light !default; +$calendar-title-border-radius: $radius-2 !default; +$calendar-title-focus-box-shadow: $keyboard-focus !default; +$calendar-title-focus-background: none !default; +$calendar-title-active-background: $primary-light !default; +$calendar-icon-focus-box-shadow: $keyboard-focus !default; +$calendar-title-hover-bg-color: $primary-lighter !default; +$calendar-focused-cell-box-shadow: 0 0 0 1px $content-text-color-alt3 !default; +$calendar-title-active-color: $calendar-header-text-color-pressed !default; + +// end td styles + +//today date +$calendar-today-bg-style: $primary !default; +$calendar-today-bg-hover-color: $content-bg-color-alt1 !default; +$calendar-today-box-shadow: none !default; +$calendar-today-border-color: none !default; +$calendar-selected-border-color: none !default; +$calendar-today-hover-color: $primary !default; +$calendar-today-focus-bg-color: $primary !default; +$calendar-selected-month-font-color: $content-text-color-selected !default; + +//pending +$calendar-today-color: $primary-text-color !default; +$calendar-today-focused-font-color: $primary-text-color !default; +$calendar-today-focus-color: $primary-text-color !default; +$calendar-active-font-colour: $content-text-color-selected !default; + +//week header +$calendar-week-header-font-color: $content-text-color !default; +$calendar-week-header-bg-style: none !default; + +//week number +$calendar-week-number-color-style: $content-text-color-alt3 !default; +$calendar-week-number-font-color: $calendar-text-color !default; +$calendar-week-number-border: 1px solid $border !default; + +//today button +$calendar-footer-background: $content-bg-color-alt1 !default; +$calendar-today-disabled-background-style: $content-bg-color-alt1 !default; +$calendar-today-disabled-border-style: $content-text-color-disabled !default; +$calendar-today-disabled-box-shadow: none !default; +$calendar-today-disabled-color: $secondary-text-color-disabled !default; +$calendar-week-number-font-weight: $font-weight-medium !default; +$today-button-font-color: $secondary-text-color !default; +$today-button-hover-font-color: $primary-bg-color !default; +$today-button-active-font-color: $primary-bg-color-pressed !default; + +// Today primary button custom styling +$calendar-today-btn-primary-bgcolor: $primary-bg-color !default; +$calendar-today-btn-primary-border-color: $primary-border-color !default; +$calendar-today-btn-primary-color: $primary-text-color !default; +$calendar-today-btn-primary-disabled-bgcolor: $primary-bg-color-disabled !default; +$calendar-today-btn-primary-disabled-color: $primary-text-disabled !default; +$calendar-today-btn-primary-disabled-border-color: $primary-border-color-disabled !default; + +$calendar-disabled-today-box-shadow: none !default; +$calendar-disabled-today-font-color: $primary-text-disabled !default; +$calendar-normal-min-height: 256px !default; +$calendar-normal-year-decade-height-inside: 40px !default; +$calendar-selected-box-shadow: none !default; +$calendar-text-color-focus: rgba($primary-text-color) !default; +$calendar-today-border-radius: $radius-full !default; +$calendar-border-selected-radius: $radius-full !default; +$calendar-focused-state-border-radius: $radius-2 !default; +$calendar-focused-state-box-shadow: none !default; +$calendar-focused-state-month-box-shadow: none !default; +$calendar-selected-month-bg-color: $primary-lighter !default; + +$line-height: 14px; +$margin-zero: 0; +$padding-zero: 0; +$calendar-zero-border-radius: $radius-0 !default; +$calendar-td-hover-border-radius: $radius-2 !default; +$calendar-content-td-border-radius: $radius-2 !default; + +@include export-module('calendar-layout') { /*! calendar layout */ + + #{&}ejs-calendar { + display: block; + } + + #{&}.e-calendar.e-disabled { + #{if(&, '&', '*')} .e-header { + #{if(&, '&', '*')} .e-prev, + #{if(&, '&', '*')} .e-next { + cursor: $calendar-cursor-default-style; + pointer-events: $calendar-none-style; + touch-action: $calendar-none-style; + } + + #{if(&, '&', '*')} .e-title { + cursor: $calendar-cursor-default-style; + pointer-events: $calendar-none-style; + touch-action: $calendar-none-style; + } + } + + #{if(&, '&', '*')} .e-content td { + pointer-events: $calendar-none-style; + touch-action: $calendar-none-style; + } + + #{if(&, '&', '*')} .e-btn.e-today { + pointer-events: $calendar-none-style; + touch-action: $calendar-none-style; + } + } + + #{&}.e-calendar { + /* stylelint-disable property-no-vendor-prefix */ + -webkit-tap-highlight-color: transparent; + border-radius: $calendar-wrapper-border-radius; + display: $calendar-block-style; + overflow: auto; + user-select: $calendar-none-style; + + #{if(&, '&', '*')}.e-rtl .e-header .e-title { + float: $calendar-float-right-style; + text-align: $calendar-float-right-style; + } + #{if(&, '&', '*')}.e-rtl .e-header .e-icon-container { + float: $calendar-float-left-style; + } + #{if(&, '&', '*')} .e-header { + background: $calendar-none-style; + display: table; + font-weight: $calendar-spanicon-font-weight-style; + position: relative; + text-align: center; + width: $calendar-full-width; + + #{if(&, '&', '*')} button { + background: transparent; + border: $border-zero; + margin-right: $calendar-icon-button-margin; + padding: $padding-zero; + text-decoration: $calendar-none-style; + } + #{if(&, '&', '*')} span { + cursor: $calendar-cursor-pointer-style; + display: inline-block; + font-size: $calendar-icon-font-size-style; + font-weight: $calendar-spanicon-font-weight-style; + line-height: $calendar-icon-line-height; + padding: $calendar-icon-padding; + vertical-align: middle; + + #{if(&, '&', '*')}.e-disabled { + cursor: $calendar-cursor-default-style; + } + } + } + #{if(&, '&', '*')} .e-week-header { + padding: $calendar-thead-padding; + } + #{if(&, '&', '*')} th { + cursor: $calendar-cursor-default-style; + font-size: $calendar-header-font-size; + font-weight: normal; + text-align: center; + } + #{if(&, '&', '*')} .e-content { + #{if(&, '&', '*')} .e-selected , + #{if(&, '&', '*')} .e-state-hover { + border-radius: $calendar-zero-border-radius; + } + #{if(&, '&', '*')} span.e-day { + border-radius: $calendar-zero-border-radius; + cursor: $calendar-cursor-pointer-style; + display: $calendar-inline-block-style; + font-size: $calendar-date-font-size; + overflow: hidden; + padding: $padding-zero; + text-align: center; + text-decoration: $calendar-none-style; + vertical-align: middle; + } + #{if(&, '&', '*')} th, + #{if(&, '&', '*')} td { + box-sizing: border-box; + } + #{if(&, '&', '*')} td.e-disabled { + opacity: $calendar-disable-opacity; + pointer-events: $calendar-none-style; + touch-action: $calendar-none-style; + } + #{if(&,'&','*')} td.e-disabled.e-today { + opacity: 1; + #{if(&,'&','*')} span.e-day { + box-shadow: $calendar-disabled-today-box-shadow; + color: $calendar-disabled-today-font-color; + } + } + #{if(&, '&', '*')} td { + cursor: pointer; + padding: $calendar-yeardeacde-span-padding; + text-align: center; + #{if(&, '&', '*')}.e-week-number { + color: $calendar-week-number-font-color; + font-size: $calendar-week-number-font-size-style; + font-style: $calendar-week-number-font-style; + font-weight: $calendar-week-number-font-weight; + border-right: $calendar-week-number-border; + } + #{if(&, '&', '*')}.e-overlay { + background: $calendar-none-style; + width: initial; + } + } + #{if(&, '&', '*')} td:hover { + border-radius: $calendar-td-hover-border-radius; + background: $calendar-hover-border-color; + } + + table { + border-collapse: separate; + border-spacing: 0; + border-width: $border-zero; + float: $calendar-float-left-style; + margin: $margin-zero; + outline: 0; + padding: $calendar-table-padding; + table-layout: fixed; + width: $calendar-full-width; + } + #{if(&, '&', '*')} td.e-other-month > span.e-day, + #{if(&, '&', '*')} td.e-other-year > span.e-day { + display: $calendar-other-month-display-style; + font-weight: $calendar-link-font-weight-style; + } + #{if(&, '&', '*')} tr.e-month-hide { + display: $calendar-other-month-row-display-style; + font-weight: $calendar-link-font-weight-style; + } + #{if(&, '&', '*')} tr.e-month-hide, + #{if(&, '&', '*')} td.e-other-month, + #{if(&, '&', '*')} td.e-other-year { + pointer-events: $calendar-pointer-events; + touch-action: $calendar-pointer-events; + } + #{if(&, '&', '*')} tr.e-month-hide, + #{if(&, '&', '*')} td.e-other-month.e-disabled, + #{if(&, '&', '*')} td.e-other-year.e-disabled { + pointer-events: $calendar-none-style; + touch-action: $calendar-none-style; + } + #{if(&, '&', '*')} td.e-week-number:hover span.e-day, + #{if(&, '&', '*')} td.e-week-number:hover { + background: $calendar-bg-color; + cursor: $calendar-cursor-default-style; + } + } + #{if(&, '&', '*')} .e-header { + #{if(&, '&', '*')} .e-prev, + #{if(&, '&', '*')} .e-next { + border-radius: $calendar-border-radius; + display: inline-block; + font-size: $calendar-next-prev-icon-size; + vertical-align: middle; + } + #{if(&, '&', '*')} .e-title { + cursor: $calendar-cursor-pointer-style; + display: $calendar-inline-block-style; + float: $calendar-float-left-style; + font-size: $calendar-title-font-size; + font-weight: $calendar-title-font-weight-style; + text-align: $calendar-float-left-style; + padding: $calendar-header-title-padding; + border: $calendar-none-style; + border-radius: $calendar-title-border-radius; + } + #{if(&, '&', '*')} .e-title { + margin-left: $calendar-title-margin-left-style; + } + #{if(&, '&', '*')} .e-prev:hover, + #{if(&, '&', '*')} .e-next:hover { + cursor: $calendar-cursor-pointer-style; + } + #{if(&, '&', '*')} .e-prev.e-overlay, + #{if(&, '&', '*')} .e-next.e-overlay { + background: $calendar-none-style; + } + } + #{if(&, '&', '*')} .e-header.e-decade .e-title, + #{if(&, '&', '*')} .e-header.e-year .e-title { + margin-left: $calendar-decade-title-left-margin-style; + } + #{if(&, '&', '*')} .e-header.e-decade .e-title { + cursor: $calendar-cursor-default-style; + } + #{if(&, '&', '*')} .e-header .e-icon-container { + display: $calendar-inline-block-style; + float: $calendar-float-right-style; + padding-top: $calendar-icon-padding-top; + } + #{if(&, '&', '*')} .e-footer-container { + text-transform: uppercase; + } + } + + .e-calendar .e-content td.e-today:hover { + background: $calendar-hover-border-color; + border-radius: $calendar-td-hover-border-radius; + } + + //normal style + #{&}.e-calendar { + border-spacing: 0; + max-width: $calendar-normal-max-width; + min-width: $calendar-normal-min-width; + padding: $calendar-popup-padding; + min-height: $calendar-normal-min-height; + + #{if(&, '&', '*')}.e-calendar-day-header-lg { + max-width: $calendar-lg-day-header-format-max-width; + min-width: $calendar-lg-day-header-format-min-width; + } + #{if(&, '&', '*')}.e-week-number { + min-width: $calendar-weeknumber-min-width; + } + + #{if(&, '&', '*')}.e-week { + max-width: $calendar-week-normal-max-width; + min-width: $calendar-week-normal-min-width; + } + #{if(&, '&', '*')} .e-header .e-title { + line-height: $calendar-normal-header-height; + } + #{if(&, '&', '*')}.e-rtl .e-header .e-title { + text-align: $calendar-float-right-style; + text-indent: $calendar-rtl-text-indent; + } + #{if(&, '&', '*')} .e-header { + height: $calendar-normal-header-height; + + #{if(&, '&', '*')}.e-month { + padding: $calendar-normal-header-padding; + } + + #{if(&, '&', '*')}.e-year, + #{if(&, '&', '*')}.e-decade { + padding: $calendar-yeardecade-header-padding; + } + } + #{if(&, '&', '*')} th { + font-weight: $calendar-normal-day-header-font-weight; + height: $calendar-normal-day-header-height; + text-transform: $calendar-normal-day-header-text; + } + #{if(&, '&', '*')} .e-content { + #{if(&, '&', '*')} .e-selected , + #{if(&, '&', '*')} .e-state-hover { + border-radius: $calendar-zero-border-radius; + } + #{if(&, '&', '*')} span.e-day { + border: $calendar-default-border-color; + font-size: $calendar-date-font-size; + font-weight: $calendar-link-font-weight-style; + height: $calendar-normal-month-view-height; + line-height: $calendar-normal-month-view-height; + width: $calendar-normal-month-view-width; + } + } + #{if(&, '&', '*')} .e-content.e-month td.e-today span.e-day { + line-height: $calendar-normal-month-view-line-height; + } + #{if(&, '&', '*')} .e-content.e-year table, + #{if(&, '&', '*')} .e-content.e-decade table { + border-spacing: 0; + padding: $calendar-yeardecade-padding; + } + #{if(&, '&', '*')} .e-content.e-month td { + height: $calendar-normal-month-view-height; + padding: $calendar-normal-month-cell-padding; + } + #{if(&, '&', '*')} .e-content .tfooter > tr > td { + height: $calendar-normal-today-button-height; + line-height: $calendar-normal-today-button-height; + } + #{if(&, '&', '*')} .e-content.e-year td, + #{if(&, '&', '*')} .e-content.e-decade td { + height: $calendar-normal-year-decade-height; + padding: $calendar-normal-year-decade-padding; + width: $calendar-normal-year-decade-width; + } + + #{if(&, '&', '*')} .e-content.e-year td > span.e-day, + #{if(&, '&', '*')} .e-content.e-decade td > span.e-day { + font-weight: $calendar-yeardecade-font-weight; + height: $calendar-normal-year-decade-height-inside; + line-height: $calendar-normal-year-decade-height-inside; + width: $calendar-normal-year-decade-width; + } + #{if(&, '&', '*')} .e-header .e-icon-container { + #{if(&, '&', '*')} .e-prev, + #{if(&, '&', '*')} .e-next { + height: $calendar-normal-icon-size; + width: $calendar-normal-icon-size; + } + } + #{if(&, '&', '*')} .e-footer-container { + background: $calendar-footer-background; + cursor: $calendar-cursor-default-style; + display: $calendar-display-style; + flex-direction: row; + justify-content: flex-end; + padding: $calendar-footer-container-padding; + width: $calendar-full-width; + } + } + + #{&}.e-calendar { + #{if(&, '&', '*')} .e-btn.e-today.e-flat.e-disabled, + #{if(&, '&', '*')} .e-btn.e-today.e-flat.e-disabled:hover, + #{if(&, '&', '*')} .e-btn.e-today.e-flat.e-disabled:active, + #{if(&, '&', '*')} .e-btn.e-today.e-flat.e-disabled:focus, + #{if(&, '&', '*')} .e-btn.e-today.e-flat.e-disabled:hover:active { + background: $calendar-today-disabled-background-style; + border-color: $calendar-today-disabled-border-style; + box-shadow: $calendar-today-disabled-box-shadow; + color: $calendar-today-disabled-color; + cursor: $calendar-cursor-default-style; + opacity: $calendar-disable-opacity; + outline: $calendar-none-style; + pointer-events: $calendar-none-style; + touch-action: $calendar-none-style; + } + } + + .e-content-placeholder.e-calendar.e-placeholder-calendar { + background-size: 250px 336px; + min-height: 336px; + } +} + +@include export-module('calendar-theme') { + #{&}.e-calendar { + background: $calendar-bg-color; + border-radius: 8px; + border: $calendar-border-style; + box-shadow: $calendar-box-shadow; + #{if(&, '&', '*')} .e-arrow-up, + #{if(&, '&', '*')} .e-arrow-down { + color: $calendar-header-icon-color; + } + #{if(&, '&', '*')} th { + border-bottom: 0; + color: $calendar-week-header-font-color; + } + @at-root { + #{if(&, '&', '*')} .e-header { + border-bottom: 0; + #{if(&, '&', '*')} a { + #{if(&, '&', '*')} span { + border: $calendar-default-border-color; + color: $calendar-icon-font-color; + } + } + #{if(&, '&', '*')} .e-title { + color: $calendar-title-font-color; + } + #{if(&, '&', '*')} .e-title:hover { + cursor: pointer; + text-decoration: $calendar-title-decoration-style; + color: $calendar-title-hover-color; + } + #{if(&, '&', '*')} .e-title:focus { + text-decoration: $calendar-title-decoration-style; + box-shadow: $calendar-title-focus-box-shadow; + } + #{if(&, '&', '*')} .e-title:active { + background: $calendar-title-active-background; + color: $calendar-title-active-color; + } + #{if(&, '&', '*')} .e-prev:hover > span, + #{if(&, '&', '*')} .e-next:hover > span { + border: $calendar-icon-hover-border-color; + color: $calendar-icon-hover-color; + cursor: pointer; + } + + #{if(&, '&', '*')} .e-prev:hover, + #{if(&, '&', '*')} .e-next:hover { + color: $calendar-active-font-color; + } + #{if(&, '&', '*')} .e-prev:focus, + #{if(&, '&', '*')} .e-next:focus { + box-shadow: $calendar-icon-focus-box-shadow; + } + #{if(&, '&', '*')} .e-prev:active, + #{if(&, '&', '*')} .e-next:active { + background: $calendar-active-state-icon-bg-color; + color: $calendar-active-font-color; + } + #{if(&, '&', '*')} button.e-prev:active span, + #{if(&, '&', '*')} button.e-next:active span { + border: $calendar-selected-border-color; + color: $calendar-active-icon-color; + } + #{if(&, '&', '*')} .e-next.e-disabled span, + #{if(&, '&', '*')} .e-prev.e-disabled span { + color: $calendar-disable-font-color; + font-weight: $calendar-disable-font-weight-style; + } + #{if(&, '&', '*')} .e-next.e-disabled, + #{if(&, '&', '*')} .e-prev.e-disabled { + opacity: $calendar-disable-opacity; + } + } + #{if(&, '&', '*')} .e-content.e-year, + #{if(&, '&', '*')} .e-content.e-decade { + #{if(&, '&', '*')} td.e-selected span.e-day { + font-weight: 600; + } + } + #{if(&, '&', '*')} .e-content { + #{if(&, '&', '*')}.e-decade tr:first-child .e-cell:first-child span.e-day, + #{if(&, '&', '*')}.e-decade tr:last-child .e-cell:last-child span.e-day { + color: $calendar-other-decade-cell-color; + } + #{if(&, '&', '*')}.e-decade tr:first-child .e-cell:first-child.e-selected span.e-day, + #{if(&, '&', '*')}.e-decade tr:last-child .e-cell:last-child.e-selected span.e-day { + color: $calendar-active-font-color; + } + #{if(&, '&', '*')}.e-decade tr:first-child .e-cell.e-disabled:first-child span.e-day, + #{if(&, '&', '*')}.e-decade tr:last-child .e-cell.e-disabled:last-child span.e-day { + color: $calendar-disable-font-color; + } + #{if(&, '&', '*')}.e-year td:hover span.e-day, + #{if(&, '&', '*')}.e-decade td:hover span.e-day { + background-color: $calendar-hover-color; + background: $calendar-hover-color; + } + #{if(&, '&', '*')}.e-year td.e-selected:hover span.e-day, + #{if(&, '&', '*')}.e-decade td.e-selected:hover span.e-day { + background: $calendar-yeardecade-selected-hover-bg; + } + + #{if(&, '&', '*')}.e-year td > span.e-day, + #{if(&, '&', '*')}.e-decade td > span.e-day { + background: $calendar-yeardecade-bg-color; + } + + #{if(&, '&', '*')} .e-week-number span { + color: $calendar-week-number-color-style; + } + + #{if(&, '&', '*')} td.e-focused-date span.e-day, + #{if(&, '&', '*')} td.e-focused-date:hover span.e-day, + #{if(&, '&', '*')} td.e-focused-date:focus span.e-day { + border: $calendar-focus-border-color; + border-radius: $calendar-border-radius; + box-shadow: $calendar-focus-box-shadow; + font-weight: 600; + } + #{if(&, '&', '*')} td.e-focused-date:hover span.e-day { + background: $calendar-hover-color; + border: $calendar-hover-border-color; + border-radius: $calendar-border-radius; + color: $calendar-text-color; + } + #{if(&, '&', '*')} td.e-today span.e-day, + #{if(&, '&', '*')} td.e-focused-date.e-today span.e-day { + background: $calendar-today-bg-style; + border: $calendar-today-border-color; + border-radius: $calendar-today-border-radius; + color: $calendar-today-color; + } + #{if(&, '&', '*')} td.e-focused-date.e-today span.e-day { + background: $calendar-focused-today-bg-style; + border: $calendar-focused-today-border-style; + box-shadow: $calendar-focused-today-box-shadow; + color: $calendar-today-focused-font-color; + } + #{if(&, '&', '*')} td.e-today:focus span.e-day, + #{if(&, '&', '*')} td.e-focused-date.e-today:focus span.e-day { + background: $calendar-today-focus-bg-color; + border-radius: $calendar-today-border-radius; + border: $calendar-focus-border-color; + color: $calendar-today-focus-color; + } + #{if(&, '&', '*')} td.e-today:hover span.e-day, + #{if(&, '&', '*')} td.e-focused-date.e-today:hover span.e-day, + #{if(&, '&', '*')} td.e-focused-date.e-today:focus span.e-day { + background: $calendar-today-hover-color; + border-radius: $calendar-border-selected-radius; + border: $calendar-today-border-color; + color: $calendar-today-focus-color; + + } + #{if(&, '&', '*')} td.e-today.e-selected span.e-day { + background: $calendar-focused-today-bg-style; + border-radius: $calendar-today-border-radius; + border: $calendar-active-bg-border-color; + box-shadow: $calendar-selected-box-shadow; + color: $calendar-active-today-font-color; + } + #{if(&, '&', '*')} td.e-today.e-selected:hover span.e-day { + border-radius: $calendar-today-border-radius; + } + #{if(&, '&', '*')} td.e-today.e-selected:hover span.e-day, + #{if(&, '&', '*')} td.e-selected:hover span.e-day, + #{if(&, '&', '*')} td.e-selected.e-focused-date span.e-day { + background: $calendar-active-hover-bg-color; + } + #{if(&, '&', '*')} span { + color: $calendar-text-color; + } + #{if(&, '&', '*')} .e-disabled span.e-day:hover { + background: $calendar-none-style; + border: 0; + color: $calendar-disable-font-color; + } + #{if(&, '&', '*')} .e-other-month span.e-day, + #{if(&, '&', '*')} .e-other-month.e-today span.e-day { + color: $calendar-other-month-date; + } + #{if(&, '&', '*')} .e-other-month.e-today:hover span.e-day { + background: $calendar-hover-color; + color: $calendar-other-month-date; + } + #{if(&, '&', '*')} thead { + background: $calendar-week-header-bg-style; + border-bottom: 0; + } + #{if(&, '&', '*')} td:hover span.e-day, + #{if(&, '&', '*')} td:focus span.e-day { + background: $calendar-hover-color; + border: $calendar-hover-border-color; + border-radius: $calendar-border-radius; + color: $calendar-hover-text; + } + #{if(&, '&', '*')} td:focus span.e-day { + background: $calendar-focus-bg-color; + color: $calendar-text-color-focus; + border: $calendar-focus-border-color; + border-radius: $calendar-border-radius; + } + #{if(&, '&', '*')} td.e-disabled span.e-day, + #{if(&, '&', '*')} td.e-disabled:hover span.e-day, + #{if(&, '&', '*')} td.e-disabled:focus span.e-day { + background: $calendar-none-style; + border: $calendar-none-style; + color: $calendar-disable-font-color; + } + #{if(&, '&', '*')} td.e-selected span.e-day { + background: $calendar-active-bg-color; + color: $calendar-active-font-colour; + border: $calendar-selected-border-color; + border-radius: $calendar-border-radius; + } + #{if(&, '&', '*')} td.e-selected:not(.e-focused-date) span.e-day { + box-shadow: $calendar-selected-box-shadow; + } + #{if(&, '&', '*')} .e-footer { + color: $calendar-active-bg-color; + } + #{if(&, '&', '*')} td.e-today.e-selected.e-focused-date span.e-day, + #{if(&, '&', '*')} td.e-today.e-selected:hover span.e-day, + #{if(&, '&', '*')} td.e-today.e-selected span.e-day { + background-color: $calendar-focused-today-bg-style; + border-radius: $calendar-border-selected-radius; + color: $calendar-today-color; + } + #{if(&, '&', '*')} td.e-today.e-selected.e-focused-date { + background-color: $calendar-active-bg-color; + border-radius: $calendar-focused-state-border-radius; + box-shadow: $calendar-focused-state-box-shadow; + } + #{if(&, '&', '*')} td.e-today.e-selected { + background-color: $calendar-active-bg-color; + border-radius: $calendar-wrapper-border-radius; + box-shadow: $calendar-selected-box-shadow; + } + #{if(&, '&', '*')} td.e-selected:hover span.e-day { + background-color: $calendar-active-bg-color; + border: $calendar-selected-border-color; + border-radius: $calendar-border-radius; + color: $calendar-active-font-colour; + } + #{if(&, '&', '*')} td.e-selected.e-focused-date span.e-day { + background-color: $calendar-active-bg-color; + border: $calendar-selected-border-color; + border-radius: $calendar-focused-state-border-radius; + color: $calendar-active-font-colour; + } + #{if(&, '&', '*')}.e-month td.e-today span.e-day { + color: $calendar-today-focused-font-color; + } + #{if(&, '&', '*')}.e-month td.e-disabled.e-today span.e-day { + color: $calendar-today-disabled-color; + } + #{if(&, '&', '*')}.e-year td.e-selected > span.e-day, + #{if(&, '&', '*')}.e-decade td.e-selected > span.e-day, + #{if(&, '&', '*')}.e-year td.e-selected:hover > span.e-day, + #{if(&, '&', '*')}.e-decade td.e-selected:hover > span.e-day { + background-color: $calendar-selected-month-bg-color; + color: $calendar-selected-month-font-color; + } + #{if(&, '&', '*')}.e-year td.e-focused-date > span.e-day, + #{if(&, '&', '*')}.e-decade td.e-focused-date > span.e-day { + background: $calendar-none-style; + border-radius: 0; + box-shadow: $calendar-focused-state-month-box-shadow; + } + #{if(&, '&', '*')} td.e-focused-date.e-today { + border-radius: $calendar-focused-state-border-radius; + box-shadow: $calendar-focused-state-box-shadow; + } + #{if(&, '&', '*')} td.e-focused-date:hover span.e-day { + border-radius: $calendar-focused-state-border-radius; + } + #{if(&, '&', '*')}.e-year td.e-focused-date:hover > span.e-day, + #{if(&, '&', '*')}.e-decade td.e-focused-date:hover > span.e-day { + background: $calendar-hover-color; + border-radius: 0; + box-shadow: $calendar-focused-state-month-box-shadow; + } + } + } + #{if(&, '&', '*')}.e-device { + #{if(&, '&', '*')} .e-prev:hover, + #{if(&, '&', '*')} .e-next:hover, + #{if(&, '&', '*')} .e-prev:active, + #{if(&, '&', '*')} .e-next:active, + #{if(&, '&', '*')} .e-prev:focus, + #{if(&, '&', '*')} .e-next:focus { + background: $calendar-device-icon-hover-bg-color; + } + #{if(&, '&', '*')} button.e-prev:active span, + #{if(&, '&', '*')} button.e-next:active span { + color: $calendar-header-icon-color; + } + } + } + + .e-calendar .e-zoomin { + animation: animatezoom .3s; + } + + @keyframes animatezoom { + from { + transform: scale(0); + } + + to { + transform: scale(1); + } + } + + .e-calendar .e-btn.e-today.e-flat.e-primary, + .e-calendar .e-css.e-btn.e-today.e-flat.e-primary { + color: $today-button-font-color; + background: none; + border-color: transparent; + } + + .e-calendar .e-btn.e-today.e-flat.e-primary:hover, + .e-calendar .e-css.e-btn.e-today.e-flat.e-primary:hover { + color: $today-button-hover-font-color; + background: none; + border-color: transparent; + } + + .e-calendar .e-btn.e-today.e-flat.e-primary:active, + .e-calendar .e-btn.e-today.e-flat.e-primary.e-active, + .e-calendar .e-css.e-btn.e-today.e-flat.e-primary:active, + .e-calendar .e-css.e-btn.e-today.e-flat.e-primary.e-active { + color: $today-button-active-font-color; + background: none; + border-color: transparent; + } + + .e-calendar .e-btn.e-today.e-flat.e-primary:focus, + .e-calendar .e-btn.e-today.e-flat.e-primary.e-focus, + .e-calendar .e-css.e-btn.e-today.e-flat.e-primary:focus, + .e-calendar .e-css.e-btn.e-today.e-flat.e-primary.e-focus { + background: none; + color: $today-button-font-color; + box-shadow: $keyboard-focus; + border-color: transparent; + } + + .e-calendar .e-btn.e-today.e-flat.e-primary.e-disabled, + .e-calendar .e-btn.e-today.e-flat.e-primary.e-disabled, + .e-calendar .e-css.e-btn.e-today.e-flat.e-primary.e-disabled, + .e-calendar .e-css.e-btn.e-today.e-flat.e-primary.e-disabled { + border-color: transparent; + color: $calendar-today-disabled-color; + } + .e-calendar .e-calendar-content-table .e-cell.e-focused-cell span.e-day { + box-shadow: $calendar-focused-cell-box-shadow; + border-radius: $calendar-border-radius; + } +} + + + +// Chart focused and selection styles +.e-chart-focused:focus-visible, +path[class*='_ej2_chart_selection_series']:focus-visible, +path[id*='_Point_']:focus-visible, +text[id*='_ChartTitle']:focus-visible { + outline: 1.5px #424242 solid; + outline-offset: 0px; +} + +// Stack Label Visibility +.e-stacklabel-visible { + visibility: visible !important; +} + +.e-stacklabel-hidden { + visibility: hidden !important; +} + +// Series outline +.e-series-outline { + outline: none; +} + +// Last label visibility +.e-lastlabel-visible { + visibility: visible; +} + +.e-lastlabel-hidden { + visibility: hidden; +} + +// Trendline and trendspline outline +.e-trendline-outline { + outline: none; +} + +.e-trendspline-outline { + outline: none; +} + +// Legend cursor and pointer events +.e-legend-cursor { + cursor: pointer; +} + +.e-legend-default { + pointer-events: bounding-box; + cursor: default; +} + +.e-legend-pointer { + pointer-events: bounding-box; + cursor: pointer; +} + + + + +$cbox-border: 1px solid !default; +$cbox-font-size: $text-sm !default; +$cbox-height: 16px !default; +$cbox-border-radius: $radius-2 !default; +$cbox-check-fontsize: 10px !default; +$cbox-indeterminate-fontsize: 13px !default; +$cbox-indeterminate-lineheight: 15px !default; +$cbox-lineheight: 15px !default; +$cbox-margin: 4px !default; +$cbox-padding: 0 !default; +$cbox-width: 16px !default; +$cbox-focus-outline-offset: 0 !default; +$cbox-focus-outline: rgba($primary, .25) !default; +$cbox-border-color: $border-alt !default; +$cbox-bgcolor: $content-bg-color !default; +$cbox-checkmark-bgcolor: $primary !default; +$cbox-checkmark-border-color: $primary !default; +$cbox-checkmark-color: $primary-text-color !default; +$cbox-checkmark-disabled-bgcolor: transparent !default; +$cbox-checkmark-disabled-border-color: $border-disabled !default; +$cbox-checkmark-disabled-color: $content-text-color-disabled !default; +$cbox-checkmark-hover-bgcolor: $primary-border-color-hover !default; +$cbox-checkmark-hover-border-color: $primary-border-color-hover !default; +$cbox-checkmark-hover-color: $primary-text-color !default; +$cbox-color: $content-text-color !default; +$cbox-disabled-bgcolor: transparent !default; +$cbox-disabled-border-color: $border-disabled !default; +$cbox-disabled-color: $content-text-color-disabled !default; +$cbox-focussed-box-shadow: none !default; +$cbox-hover-bgcolor: $content-bg-color !default; +$cbox-hover-border-color: $border-hover !default; +$cbox-hover-color: $content-text-color !default; +$cbox-indeterminate-bgcolor: $content-bg-color !default; +$cbox-indeterminate-border-color: $primary !default; +$cbox-indeterminate-color: $primary !default; +$cbox-indeterminate-content: '\e7d6' !default; +$cbox-indeterminate-disabled-bgcolor: transparent !default; +$cbox-indeterminate-disabled-border-color: $border-disabled !default; +$cbox-indeterminate-disabled-color: $content-text-color-disabled !default; +$cbox-indeterminate-hover-color: $primary !default; +$cbox-key-focussed-bgcolor: transparent !default; +$cbox-focussed-bgcolor: $cbox-hover-bgcolor !default; +$cbox-focussed-border-color: $border-alt !default; +$cbox-focussed-checkmark-bgcolor: $primary !default; +$cbox-focussed-checkmark-border-color: $primary !default; +$cbox-focussed-checkmark-color: $primary-text-color !default; +$cbox-border-style: solid !default; +$cbox-zero-margin: 0 !default; +$cbox-wrapper-line-height: 1 !default; +$cbox-label-line-height: 0 !default; +$cbox-nrml-height: 1px !default; +$cbox-nrml-width: 1px !default; +$cbox-nrml-checkbox-border-radius: $radius-4 !default; +$cbox-border: 1px !default; +$cbox-nrml-label-margin: 6px 4px 6px 8px !default; +$cbox-nrml-frame-margin: 7.2px 8px !default; +$cbox-nrml-label-frame-margin: 6px 8px 6px 4px !default; +$cbox-auto-width: auto; + +$cbox-auto-width: auto; + + + +@include export-module('checkbox-layout') { + .e-checkbox-wrapper, + .e-css.e-checkbox-wrapper { + border-radius: $cbox-nrml-checkbox-border-radius; + border: 1px solid transparent; + cursor: pointer; + display: inline-block; + line-height: $cbox-label-line-height; + outline: none; + user-select: none; + + @at-root { + & label { + cursor: pointer; + display: inline-block; + line-height: $cbox-label-line-height; + margin: $cbox-zero-margin; + position: relative; + white-space: nowrap; + } + + &:focus, + &.e-focus { + & .e-frame { + box-shadow: $shadow-focus-ring1; + border-radius: $cbox-nrml-checkbox-border-radius; + } + } + + + + & .e-label { + cursor: pointer; + display: inline-block; + font-family: $font-family; + font-size: $cbox-font-size; + font-weight: normal; + line-height: $cbox-height; + user-select: none; + vertical-align: middle; + white-space: normal; + } + + & .e-checkbox { + height: $cbox-nrml-height; + opacity: 0; + position: absolute; + width: $cbox-nrml-width; + + + .e-label { + margin: $cbox-nrml-label-margin; + } + } + + & .e-frame { + border: $cbox-border; + border-radius: $cbox-border-radius; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: 'e-toolkit-icons'; + height: $cbox-height; + line-height: $cbox-lineheight; + padding: $cbox-padding; + text-align: center; + vertical-align: middle; + width: $cbox-width; + margin: $cbox-nrml-frame-margin; + + + .e-label { + margin: $cbox-nrml-label-frame-margin; + } + } + + & .e-check { + font-size: $cbox-check-fontsize; + } + + & .e-stop { + font-size: $cbox-indeterminate-fontsize; + line-height: $cbox-indeterminate-lineheight; + } + + &.e-checkbox-disabled { + cursor: default; + pointer-events: none; + + & .e-frame { + cursor: default; + } + + & .e-label { + cursor: default; + } + } + + &.e-rtl { + + & .e-frame { + &:hover { + background-color: $cbox-hover-bgcolor; + border-color: $cbox-hover-border-color; + } + } + + & .e-label { + margin: $cbox-nrml-label-margin; + } + + & .e-checkbox { + + .e-label { + margin: $cbox-nrml-label-margin; + } + } + } + + + } + } + + .e-checkbox-wrapper[readonly] { + pointer-events: none; + } + + +} + +@include export-module('checkbox-theme') { + .e-checkbox-wrapper, + .e-css.e-checkbox-wrapper { + -webkit-tap-highlight-color: transparent; + + @at-root { + & .e-frame { + background-color: $cbox-bgcolor; + border-color: $cbox-border-color; + + &.e-check { + background-color: $cbox-checkmark-bgcolor; + border-color: $cbox-checkmark-border-color; + color: $cbox-checkmark-color; + } + + &.e-stop { + background-color: $cbox-indeterminate-bgcolor; + border-color: $cbox-indeterminate-border-color; + color: $cbox-indeterminate-color; + } + } + + & .e-label { + color: $cbox-color; + } + + & .e-checkbox { + &:focus, + &:active { + + .e-frame { + background-color: $cbox-focussed-bgcolor; + border-color: $cbox-focussed-border-color; + box-shadow: $cbox-focussed-box-shadow; + + &.e-check { + background-color: $cbox-focussed-checkmark-bgcolor; + border-color: $cbox-focussed-checkmark-border-color; + box-shadow: $cbox-focussed-box-shadow; + color: $cbox-focussed-checkmark-color; + } + + &.e-stop { + background-color: $cbox-indeterminate-bgcolor; + border-color: $cbox-focussed-checkmark-border-color; + box-shadow: $cbox-focussed-box-shadow; + color: $primary-bg-color-hover; + } + } + } + } + + &:hover { + & .e-frame { + background-color: $cbox-hover-bgcolor; + border-color: $cbox-hover-border-color; + + &.e-check { + background-color: $cbox-checkmark-hover-bgcolor; + border-color: $cbox-checkmark-hover-border-color; + color: $cbox-checkmark-hover-color; + } + + &.e-stop { + border-color: $cbox-checkmark-hover-border-color; + color: $primary-bg-color-hover; + } + } + + & .e-label { + color: $cbox-hover-color; + } + } + + &.e-checkbox-disabled { + & .e-frame { + background-color: $cbox-disabled-bgcolor; + border-color: $cbox-disabled-border-color; + color: $cbox-disabled-color; + + &.e-check { + background-color: $cbox-checkmark-disabled-bgcolor; + border-color: $cbox-checkmark-disabled-border-color; + color: $cbox-checkmark-disabled-color; + } + + &.e-stop { + background-color: $cbox-indeterminate-disabled-bgcolor; + border-color: $cbox-indeterminate-disabled-border-color; + color: $cbox-indeterminate-disabled-color; + } + } + + & .e-label { + color: $cbox-disabled-color; + } + } + + &.e-focus { + & .e-frame, + & .e-frame.e-check { + outline: $cbox-focus-outline; + outline-offset: $cbox-focus-outline-offset; + } + } + } + } +} + +@include export-module('check-box-fluent-icons') { + .e-checkbox-wrapper, + .e-css.e-checkbox-wrapper { + @at-root { + & .e-check { + &::before { + content: '\e707'; + } + } + + & .e-stop { + &::before { + content: '\e708'; + } + } + } + } +} + + + + + + + + +$numeric-input-icon-size: 14px !default; +$numric-zero-padding-margin: 0 !default; +$numeric-min-height: 33px !default; +$numeric-zero-height: 0 !default; + +$numeric-prepend-label-bottom-top: -10px !default; +$numeric-prepend-label-top-top: -15px !default; +$numeric-prepend-outline-label-bottom-top: -11px !default; +$numeric-prepend-outline-label-top-top: -15px !default; +$numeric-prepend-filled-label-bottom-top: 7px !default; +$numeric-prepend-filled-label-top-top: -10px !default; + +.e-numeric-container { + width: 100%; +} + +.e-content-placeholder.e-numeric.e-placeholder-numeric { + background-size: 300px 33px; + min-height: $numeric-min-height; +} + +// Hidden element styles +.e-float-input.e-input-group.e-control-wrapper.e-numeric .e-numeric-hidden, +.e-input-group.e-control-wrapper.e-numeric .e-numeric-hidden, +.e-float-input.e-control-wrapper.e-numeric .e-numeric-hidden, +.e-float-input.e-input-group.e-control-wrapper.e-numeric.e-input-focus .e-numeric-hidden, +.e-input-group.e-control-wrapper.e-numeric.e-input-focus .e-numeric-hidden, +.e-float-input.e-control-wrapper.e-numeric.e-input-focus .e-numeric-hidden { + border: 0; + height: $numeric-zero-height; + margin: $numric-zero-padding-margin; + padding: $numric-zero-padding-margin; + text-indent: 0; + visibility: hidden; + width: $numric-zero-padding-margin; +} + +div.e-numeric.e-input-group, +span.e-numeric.e-input-group { + &.e-prepend-wrapper, + &.e-append-wrapper { + &.e-float-input.e-control-wrapper label.e-float-text.e-label-bottom { + top: $numeric-prepend-label-bottom-top; + } + + &.e-float-input.e-control-wrapper label.e-float-text.e-label-top { + top: $numeric-prepend-label-top-top; + } + + &.e-outline { + &.e-float-input.e-control-wrapper label.e-float-text.e-label-bottom { + top: $numeric-prepend-outline-label-bottom-top; + } + + &.e-float-input.e-control-wrapper label.e-float-text.e-label-top { + top: $numeric-prepend-outline-label-top-top; + } + } + + &.e-filled { + &.e-float-input.e-control-wrapper label.e-float-text.e-label-bottom { + top: $numeric-prepend-filled-label-bottom-top; + } + + &.e-float-input.e-control-wrapper label.e-float-text.e-label-top { + top: $numeric-prepend-filled-label-top-top; + } + } + } +} + +.e-numeric.e-input-group.e-prepend-wrapper.e-filled input, +.e-numeric.e-input-group.e-append-wrapper.e-filled input { + height: auto; +} + +.e-numeric.e-input-group.e-prepend-wrapper.e-input-focus input.e-input, +.e-numeric.e-input-group.e-prepend-wrapper input.e-input { + padding-left: 0; +} + +.e-numeric.e-rtl.e-input-group.e-prepend-wrapper.e-input-focus input.e-input, +.e-numeric.e-rtl.e-input-group.e-prepend-wrapper input.e-input { + padding-right: 0; +} + +@include export-module('numerictextbox-theme') { + .e-numeric.e-control-wrapper { + #{if(&, '&', '*')}.e-input-group .e-input-group-icon { + font-size: $numeric-input-icon-size; + } + } +} + + + + +//layout variables +$tooltip-drop-shadow: 0 4px 6px rgba(0, 0, 0, .2) !default; +$tooltip-drop-shadow-filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, .25)) !default; +$tooltip-close-icon-border: 1px solid $border !default; +$tooltip-icon-box-shadow: $shadow-sm !default; +$tooltip-font-size: $text-xs !default; +$tooltip-border-radius: $radius-4 !default; +$border-size: 1px !default; +$border-type: solid !default; +$tooltip-opacity: 1 !default; +$tooltip-arrow-outer-border: 8px !default; +$tooltip-arrow-inner-border: 7px !default; +$tooltip-horizontal-padding: 4px !default; +$tooltip-vertical-padding: 8px !default; +$tooltip-line-height: 16px !default; +$tooltip-arrow-icon-font-size: $text-base !default; +$tooltip-tip-bottom-height: 8px !default; +$tooltip-tip-bottom-left: 50% !default; +$tooltip-tip-bottom-top: 100% !default; +$tooltip-tip-bottom-width: 16px !default; + +$tooltip-tip-top-height: 8px !default; +$tooltip-tip-top-left: 50% !default; +$tooltip-tip-top-top: -9px !default; +$tooltip-tip-top-width: 16px !default; + +$tooltip-tip-left-height: 16px !default; +$tooltip-tip-left-left: -9px !default; +$tooltip-tip-left-top: 48% !default; +$tooltip-tip-left-width: 8px !default; + +$tooltip-tip-right-height: 16px !default; +$tooltip-tip-right-left: 100% !default; +$tooltip-tip-right-top: 50% !default; +$tooltip-tip-right-width: 8px !default; + +$tooltip-mobile-font-size: $text-sm !default; +$tooltip-mobile-horizontal-padding: 8px !default; +$tooltip-mobile-vertical-padding: 12px !default; + +//color variables +$tooltip-content-bg-color: $tooltip-bg-color !default; +$tooltip-content-border-color: $tooltip-border !default; +$tooltip-content-font-color: $tooltip-text-color !default; +$tooltip-default-icon-color: $icon-color !default; +$tooltip-icon-bg-normal: $secondary-bg-color !default; +$tooltip-hover-icon-color: $icon-color-hover !default; +$tooltip-icon-bg-hover: $content-bg-color-hover !default; +$tooltip-icon-border-color: $border !default; +$tooltip-tip-content-line-height: 20px !default; +$tooltip-zero-padding-margin: 0 !default; +$tooltip-wrap-min-width: 30px !default; +$tooltip-zero-height: 0 !default; +$tooltip-one-line-height: 1 !default; +$tooltip-close-right: -9px !default; +$tooltip-close-top: -9px !default; +$tooltip-full-height: 100% !default; +$tooltip-full-width: 100% !default; +$tooltip-nrml-close-border-radius: $radius-9 !default; +$tooltip-nrml-close-border: 1px !default; +$tooltip-nrml-close-height: 16px !default; +$tooltip-nrml-close-width: 16px !default; + +@mixin tip-size($height, $left, $top, $width) { + height: $height; + left: $left; + top: $top; + width: $width; +} + +@include export-module('tooltip-layout') { + + .e-tooltip-popup-container { + position: relative; + } + + .e-tooltip-wrap { + max-width: 350px; + min-width: $tooltip-wrap-min-width; + padding: $tooltip-zero-padding-margin; + position: absolute; + visibility: visible; + + .e-arrow-tip { + overflow: hidden; + position: absolute; + + &.e-tip-bottom { + @include tip-size($tooltip-tip-bottom-height, $tooltip-tip-bottom-left, $tooltip-tip-bottom-top, $tooltip-tip-bottom-width); + } + + &.e-tip-top { + @include tip-size($tooltip-tip-top-height, $tooltip-tip-top-left, $tooltip-tip-top-top, $tooltip-tip-top-width); + } + + &.e-tip-left { + @include tip-size($tooltip-tip-left-height, $tooltip-tip-left-left, $tooltip-tip-left-top, $tooltip-tip-left-width); + } + + &.e-tip-right { + @include tip-size($tooltip-tip-right-height, $tooltip-tip-right-left, $tooltip-tip-right-top, $tooltip-tip-right-width); + } + } + + .e-close { + cursor: pointer; + float: right; + position: absolute; + right: $tooltip-close-right; + top: $tooltip-close-top; + z-index: inherit; + border-radius: $tooltip-nrml-close-border-radius; + border-width: $tooltip-nrml-close-border; + box-shadow: $shadow-sm; + box-sizing: border-box; + height: $tooltip-nrml-close-height; + width: $tooltip-nrml-close-width; + } + + .e-tip-content { + background-color: inherit; + height: $tooltip-full-height; + line-height: $tooltip-line-height; + overflow-wrap: break-word; + overflow-x: hidden; + padding: $tooltip-horizontal-padding $tooltip-vertical-padding; + position: relative; + white-space: normal; + width: $tooltip-full-width; + word-break: break-word; + z-index: 1; + } + + &.e-rtl { + .e-close::before { + } + } + } + .e-tooltip-content-placeholder { + display: none; + } +} + +@include export-module('tooltip-theme') { + + .e-tooltip-wrap { + border-radius: $tooltip-border-radius; + + &.e-popup { + background-color: $tooltip-content-bg-color; + border: $border-size $border-type $tooltip-content-border-color; + box-shadow: $tooltip-drop-shadow; + filter: $tooltip-drop-shadow-filter; + } + + .e-arrow-tip-outer { + height: $tooltip-zero-height; + left: 0; + position: absolute; + top: 0; + width: $tooltip-zero-padding-margin; + + &.e-tip-bottom { + border-left: $tooltip-arrow-outer-border $border-type transparent; + border-right: $tooltip-arrow-outer-border $border-type transparent; + border-top: $tooltip-arrow-outer-border $border-type $tooltip-content-border-color; + } + + &.e-tip-top { + border-bottom: $tooltip-arrow-outer-border $border-type $tooltip-content-border-color; + border-left: $tooltip-arrow-outer-border $border-type transparent; + border-right: $tooltip-arrow-outer-border $border-type transparent; + } + + &.e-tip-left { + border-bottom: $tooltip-arrow-outer-border $border-type transparent; + border-right: $tooltip-arrow-outer-border $border-type $tooltip-content-border-color; + border-top: $tooltip-arrow-outer-border $border-type transparent; + } + + &.e-tip-right { + border-bottom: $tooltip-arrow-outer-border $border-type transparent; + border-left: $tooltip-arrow-outer-border $border-type $tooltip-content-border-color; + border-top: $tooltip-arrow-outer-border $border-type transparent; + } + } + + .e-arrow-tip-inner { + height: $tooltip-zero-height; + position: absolute; + width: $tooltip-zero-padding-margin; + z-index: 10; + + &.e-tip-right, + &.e-tip-left, + &.e-tip-bottom, + &.e-tip-top { + color: $tooltip-content-bg-color; + font-family: 'e-toolkit-icons'; + font-size: $tooltip-arrow-icon-font-size; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + text-transform: none; + } + + &.e-tip-bottom, + &.e-tip-top { + right: $tooltip-arrow-icon-font-size; + } + + &.e-tip-right, + &.e-tip-left { + bottom: $tooltip-arrow-icon-font-size; + } + } + + .e-close { + background-color: $tooltip-icon-bg-normal; + border-color: $tooltip-icon-border-color; + border-radius: 8px; + color: $tooltip-default-icon-color; + &:hover { + background-color: $tooltip-icon-bg-hover; + color: $tooltip-hover-icon-color; + } + } + + .e-tip-content { + border-radius: inherit; + color: $tooltip-content-font-color; + font-family: $font-family; + font-size: $tooltip-font-size; + } + } +} + +.e-tooltip-wrap { + /*! Tooltip icons */ + .e-toolkit-icons.e-close::before { + content: '\e709'; + font-family: 'e-toolkit-icons'; + font-size: 12px; + left: 2px; + position: absolute; + top: 2px; + } + + .e-arrow-tip-inner.e-chevron-right-fill::before { + content: '\e719'; + font-family: 'e-toolkit-icons'; + } + + .e-arrow-tip-inner.e-chevron-up-fill::before { + content: '\e716'; + font-family: 'e-toolkit-icons'; + } + + .e-arrow-tip-inner.e-chevron-down-fill::before { + content: '\e717'; + font-family: 'e-toolkit-icons'; + } + + .e-arrow-tip-inner.e-chevron-left-fill::before { + content: '\e718'; + font-family: 'e-toolkit-icons'; + } +} + + + + + + + + +//default +$datepicker-icon: '\e901' !default; +$datepicker-icon-font-size: $font-icon-14 !default; +$datepicker-icon-container-min-height: 28px !default; +$datepicker-icon-container-min-width: 28px !default; +$datepicker-icon-normal-margin: 0 !default; +$datepicker-icon-border-radius: $radius-full !default; +$datepicker-popup-border-radius: $radius-8 !default; +$datepicker-box-sizing: border-box !default; +$datepicker-modal-header-display: block !default; +$datepicker-calendar-tbody-landscape-height: 130px !default; + +// color variables +$datepicker-popup-border: 1px solid $border-light !default; +$datepicker-input-border-style: none !default; +$datepicker-calendar-border-style: none !default; +$datepicker-icon-color: $icon-color !default; +$datepicker-active-icon-color: $datepicker-icon-color !default; +$datepicker-popup-box-shadow: $shadow-lg !default; +$datepicker-overlay: $overlay-bg-color !default; +$datepicker-icon-hover-color: $secondary-text-color-hover !default; +$datepicker-popup-bg-color: $flyout-bg-color !default; +$datepicker-othermonth-row: none !default; +$datepicker-modal-header-bg: $content-bg-color-alt2 !default; +$datepicker-modal-header-color: $content-text-color-alt1 !default; +$modal-year-font-size: $text-sm !default; +$modal-year-font-weight: $font-weight-medium !default; +$modal-year-line-height: 32px !default; +$modal-month-font-size: $text-xl !default; +$modal-month-font-weight: $font-weight-medium !default; +$modal-month-line-height: 32px !default; + +// modal dialog dimensions and styles +$modal-portrait-year-font-size: 4vw !default; +$modal-portrait-header-year-margin: 12vh 0 0 0 !default; +$modal-portrait-month-font-size: 5vw !default; +$modal-portrait-header-padding: 2vh 6vw !default; +$modal-portrait-month-header-padding: 2vh 2vw !default; +$modal-portrait-month-header-vertical-align: middle !default; +$modal-month-header-line-height: 5vh !default; +$modal-month-header-title-line-height: inherit !default; + +$modal-header-border-style: none !default; +$modal-header-border-width: 0 !default; +$modal-header-border-color: $border-light !default; + +// Touch modal popup cancel icon style +$modal-portrait-cancel-icon-float-style: left !default; +$modal-portrait-cancel-icon-padding: 2px !default; +$modal-portrait-prev-icon-margin: 0 !default; +$modal-portrait-next-icon-margin: 0 !default; +$modal-portrait-header-title-margin: 0 !default; +$modal-portrait-header-title-position: absolute !default; +$modal-portrait-header-title-text: center !default; +$modal-portrait-header-title-width: auto !default; +$modal-portrait-cancel-icon-color: inherit !default; +$modal-header-day-line-height: 6vw !default; +$modal-header-left: 5vw !default; + +//Touch modal popup today styles +$modal-portrait-today-float-style: right !default; +$modal-today-text-color: inherit !default; +$modal-portrait-footer-display-style: none !default; +$modal-portrait-icon-float: right !default; + +// Touch modal popup styles +$modal-portrait-header-height: 20vh !default; +$modal-portrait-header-month-height: 10vh !default; +$modal-portrait-calendar-container-height: 79vh !default; +$modal-portrait-calendar-min-height: 100% !default; +$modal-portrait-calendar-min-width: 100% !default; +$modal-portrait-calendar-height: 100% !default; +$modal-portrait-calendar-content-height: 69vh !default; +$modal-portrait-calendar-tabel-height: 69vh !default; + +// Touch modal popup landscape styles +$datepicker-modal-popup-landscape-max-width: 100% !default; +$modal-landscape-header-height: 30vh !default; +$modal-landscape-header-big-height: 25vh !default; +$modal-landscape-calendar-content-height: 60vh !default; +$modal-landscape-calendar-content-table-height: 65vh !default; +$modal-landscape-calendar-content-big-height: 65vh !default; +$modal-landscape-header-year-margin: 12vh 0 0 0 !default; +$modal-landscape-prev-icon-margin: 73vw !default; +$modal-year-landscape-font-size: 3vw !default; +$modal-month-landscape-font-size: 4vw !default; +$datepicker-modal-landscape-overflow: visible !default; +$modal-month-landscape-title-line-height: 12vh !default; + +// tablet device style changes for modal popup +$modal-tablet-font-size: 18px !default; +$modal-tablet-content-dimension: 64px !default; +$modal-tablet-table-header-height: 48px !default; + +//enddefault +$datepicker-mouse-icon-border-radius: $radius-16 !default; +$datepicker-icon-padding: 0 !default; + +$margin-zero: 0; +$padding-zero: 0; +$datepicker-modal-header-padding: 10px 10px 10px 15px; +$datepicker-footer-container-padding: 10px 0; +$date-picker-full-height: 100% !default; +$datepicker-full-width: 100% !default; +$datepicker-min-height: 33px !default; +$date-picker-cell-container-height: 70% !default; +$date-footer-container-font-size: 24px !default; +$date-footer-height: 10% !default; +$date-content-max-height: 50vh !default; +$date-content-min-height: 60vh !default; +$date-picker-popup-landscape-height: 25vh !default; +$date-zero-radius: $radius-0 !default; +$date-mob-popup-height: 15vh !default; +$date-normal-font: 400 !default; +$date-header-mob-prev-height: 35px !default; +$date-header-mob-prev-width: 35px !default; +$date-min-device-height: 55px !default; +$date-min-device-width: 55px !default; +$date-picker-popup-next-height: 35px !default; +$date-picker-popup-next-width: 35px !default; +$date-picker-popup-next-min-height: 55px !default; +$date-picker-popup-next-min-width: 55px !default; + +@include export-module('datepicker-layout') { + .e-input-group.e-control-wrapper.e-date-wrapper.e-non-edit.e-input-focus .e-input:focus ~ .e-clear-icon, + .e-float-input.e-control-wrapper.e-input-group.e-date-wrapper.e-non-edit.e-input-focus input:focus ~ .e-clear-icon { + display: flex; + } + + #{&}.e-datepicker { + #{if(&, '&', '*')} .e-calendar { + + #{if(&, '&', '*')} .e-content table tbody tr.e-month-hide:last-child { + display: $datepicker-othermonth-row; + } + } + + #{if(&, '&', '*')}.e-popup-wrapper { + border-radius: $datepicker-popup-border-radius; + overflow-y: hidden; + pointer-events: auto; + } + + #{if(&, '&', '*')}.e-date-modal { + background-color: $datepicker-overlay; + height: $date-picker-full-height; + left: $margin-zero; + opacity: .5; + pointer-events: auto; + position: fixed; + top: $margin-zero; + width: $datepicker-full-width; + z-index: 999; + } + + #{if(&, '&', '*')} .e-model-header { + background: $datepicker-modal-header-bg; + color: $datepicker-modal-header-color; + cursor: default; + display: $datepicker-modal-header-display; + padding: $datepicker-modal-header-padding; + + #{if(&, '&', '*')} .e-model-year { + font-size: $modal-year-font-size; + font-weight: $modal-year-font-weight; + line-height: $modal-year-line-height; + margin: $margin-zero; + } + } + + #{if(&, '&', '*')} .e-model-month, + #{if(&, '&', '*')} .e-model-day { + font-size: $modal-month-font-size; + font-weight: $modal-month-font-weight; + line-height: $modal-month-line-height; + margin: $margin-zero; + } + } +} + +/* stylelint-disable */ +.e-date-overflow { + overflow: hidden !important; +} + +.e-datepick-mob-popup-wrap { + align-items: center; + display: flex; + flex-direction: column; + height: $date-picker-full-height; + justify-content: center; + left: $margin-zero; + max-height: $date-picker-full-height; + position: fixed; + top: $margin-zero; + width: $datepicker-full-width; + z-index: 1002; + + .e-datepicker.e-popup-wrapper.e-lib.e-popup.e-control.e-popup-open { + position: relative; + top: $margin-zero !important; + left: $margin-zero !important; + } + + .e-datepicker.e-popup-wrapper.e-popup-expand.e-lib.e-popup.e-control.e-popup-open { + min-width: $datepicker-full-width; + min-height: $date-picker-full-height; + } +} + +.e-content-placeholder.e-datepicker.e-placeholder-datepicker { + background-size: 250px 33px; + min-height: $datepicker-min-height; +} + +@media screen and (orientation: landscape) { + .e-datepick-mob-popup-wrap .e-datepicker.e-popup-expand .e-calendar .e-content.e-month td.e-today span.e-day { + line-height: $modal-tablet-content-dimension; + } +} + +.e-datepick-mob-popup-wrap { + #{if(&, '&', '*')} .e-datepicker.e-popup-expand { + border-radius: $date-zero-radius; + + #{if(&, '&', '*')} .e-model-header.e-blazor-device { + height: $date-mob-popup-height; + .e-popup-close { + float: right; + } + } + + #{if(&, '&', '*')} .e-model-header.e-blazor-device { + height: $date-mob-popup-height; + .e-popup-close { + float: right; + } + } + + #{if(&, '&', '*')} .e-model-header { + height: $modal-portrait-header-height; + padding: $modal-portrait-header-padding; + + #{if(&, '&', '*')} .e-day-wrapper { + margin: $modal-portrait-header-year-margin; + } + + #{if(&, '&', '*')} .e-popup-close { + color: $modal-portrait-cancel-icon-color; + float: $modal-portrait-cancel-icon-float-style; + @media (min-device-width: 768px) { + font-size: $modal-tablet-font-size; + } + } + + #{if(&, '&', '*')} .e-btn.e-flat.e-popup-close { + background: transparent; + border-color: transparent; + box-shadow: none; + font-weight: $date-normal-font; + padding: $padding-zero; + } + + #{if(&, '&', '*')} .e-today.e-flat.e-primary { + color: $modal-today-text-color; + float: $modal-portrait-today-float-style; + border-color: transparent; + @media (min-device-width: 768px) { + font-size: $modal-tablet-font-size; + } + } + } + + #{if(&, '&', '*')} .e-model-month, + #{if(&, '&', '*')} .e-model-day { + font-size: $modal-portrait-month-font-size; + line-height: $modal-header-day-line-height; + } + + #{if(&, '&', '*')} .e-calendar { + min-width: $modal-portrait-calendar-min-width; + min-height: $modal-portrait-calendar-min-height; + height: $modal-portrait-calendar-height; + + #{if(&, '&', '*')} .e-header.e-month, + #{if(&, '&', '*')} .e-header.e-year, + #{if(&, '&', '*')} .e-header.e-decade { + height: $modal-portrait-header-month-height; + border-style: $modal-header-border-style; + border-width: $modal-header-border-width; + border-color: $modal-header-border-color; + padding: $modal-portrait-month-header-padding; + line-height: $modal-month-header-line-height; + + #{if(&, '&', '*')} .e-title { + position: $modal-portrait-header-title-position; + line-height: $modal-month-header-title-line-height; + margin-left: $modal-portrait-header-title-margin; + text-align: $modal-portrait-header-title-text; + vertical-align: $modal-portrait-month-header-vertical-align; + width: $modal-portrait-header-title-width; + @media (min-device-width: 768px) { + font-size: $modal-tablet-font-size; + } + & { + left: $modal-header-left; + } + } + + #{if(&, '&', '*')} .e-prev { + margin-right: $modal-portrait-prev-icon-margin; + vertical-align: inherit; + height: $date-header-mob-prev-height; + width: $date-header-mob-prev-width; + @media (min-device-width: 768px) { + height: $date-min-device-height; + width: $date-min-device-width; + } + + #{if(&, '&', '*')} .e-toolkit-icons { + vertical-align: inherit; + @media (min-device-width: 768px) { + font-size: $modal-tablet-font-size; + } + } + } + + #{if(&, '&', '*')} .e-next { + margin-right: $modal-portrait-next-icon-margin; + vertical-align: inherit; + height: $date-picker-popup-next-height; + width: $date-picker-popup-next-width; + @media (min-device-width: 768px) { + height: $date-picker-popup-next-min-height; + width: $date-picker-popup-next-min-width; + } + + #{if(&, '&', '*')} .e-toolkit-icons { + vertical-align: inherit; + @media (min-device-width: 768px) { + font-size: $modal-tablet-font-size; + } + } + } + + #{if(&, '&', '*')} .e-icon-container { + float: $modal-portrait-icon-float; + padding-right: 2vw; + } + } + + #{if(&, '&', '*')} th { + @media (min-device-width: 768px) { + font-size: $modal-tablet-font-size; + height: $modal-tablet-table-header-height; + } + } + + #{if(&, '&', '*')} .e-content span.e-day { + @media (min-device-width: 768px) { + font-size: $modal-tablet-font-size; + height: $modal-tablet-content-dimension; + width: $modal-tablet-content-dimension; + line-height: $modal-tablet-content-dimension; + } + } + + } + + #{if(&, '&', '*')} .e-calendar-cell-container { + height: $modal-portrait-calendar-container-height; + } + + .e-footer-container + { + display: $modal-portrait-footer-display-style; + } + + #{if(&, '&', '*')} .e-content.e-month + { + height: $modal-portrait-calendar-content-height; + table + { + height: $modal-portrait-calendar-tabel-height; + } + + } + + } +} + +@media screen and (orientation: landscape) { + .e-datepick-mob-popup-wrap { + #{if(&, '&', '*')} .e-datepicker.e-popup-expand { + + #{if(&, '&', '*')} .e-model-header.e-blazor-device { + height: $date-picker-popup-landscape-height; + .e-popup-close { + float: right; + } + } + + #{if(&, '&', '*')} .e-calendar-cell-container { + + #{if(&, '&', '*')} .e-content.e-month, + #{if(&, '&', '*')} .e-content.e-year, + #{if(&, '&', '*')} .e-content.e-decade { + @media (max-height: 600px) { + height: $date-content-max-height; + } + + @media (min-height: 600px) { + height: $date-content-min-height; + } + overflow-y: auto; + + #{if(&, '&', '*')} table { + @media (min-height: 600px) { + height: $date-content-min-height; + } + } + } + #{if(&, '&', '*')} .e-footer-container { + @media (min-height: 600px) { + padding: $datepicker-footer-container-padding; + height: $date-footer-height; + font-size: $date-footer-container-font-size; + } + } + } + + #{if(&, '&', '*')} .e-model-header { + + @media (max-height: 600px) { + height: $modal-landscape-header-height; + } + + @media (min-height: 600px) { + height: $modal-landscape-header-big-height; + } + width: $datepicker-modal-popup-landscape-max-width; + + .e-popup-close { + float: $modal-portrait-cancel-icon-float-style; + } + + .e-day-wrapper { + margin: $modal-landscape-header-year-margin; + } + + #{if(&, '&', '*')} .e-model-month, + #{if(&, '&', '*')} .e-model-day { + font-size: $modal-month-landscape-font-size; + } + + } + + #{if(&, '&', '*')} .e-calendar .e-header.e-month, + #{if(&, '&', '*')} .e-calendar .e-header.e-year, + #{if(&, '&', '*')} .e-calendar .e-header.e-decade { + #{if(&, '&', '*')} .e-title { + @media (max-height: 600px) { + line-height: $modal-month-landscape-title-line-height; + } + + @media (min-height: 600px) { + line-height: $modal-month-header-title-line-height; + } + } + } + + #{if(&, '&', '*')} .e-content.e-month, + #{if(&, '&', '*')} .e-content.e-year, + #{if(&, '&', '*')} .e-content.e-decade { + @media (max-height: 600px) { + height: $modal-landscape-calendar-content-height; + } + + @media (min-height: 600px) { + height: $modal-landscape-calendar-content-big-height; + } + overflow-y: auto; + } + + .e-calendar { + display: $datepicker-modal-header-display; + max-width: $datepicker-modal-popup-landscape-max-width; + overflow: $datepicker-modal-landscape-overflow; + } + + .e-calendar-cell-container { + height: $date-picker-cell-container-height; + width: $datepicker-full-width; + } + + .e-calendar.e-device .e-month table tbody { + display: table-row-group; + } + + #{if(&, '&', '*')} .e-content.e-month table , + #{if(&, '&', '*')} .e-content.e-decade table , + #{if(&, '&', '*')} .e-content.e-year table { + @media (max-height: 600px) { + height: $modal-portrait-calendar-content-height; + } + + @media (min-height: 600px) { + height: $modal-landscape-calendar-content-table-height; + } + } + } +} +} +/* stylelint-enable */ + +@include export-module('datepicker-theme') { + #{&}.e-datepicker, + #{if(&, '&', '*')}.e-input-group { + #{if(&, '&', '*')}.e-date-wrapper.e-dateinput-active:active:not(.e-success):not(.e-warning):not(.e-error) { + border: $datepicker-input-border-style; + } + } + + .e-date-wrapper { + #{if(&, '&', '*')} span.e-input-group-icon, + #{if(&, '&', '*')} button.e-input-group-icon { + #{if(&, '&', '*')}.e-timeline-today.e-toolkit-icons.e-active { + color: $datepicker-icon-color; + } + #{if(&, '&', '*')}.e-timeline-today.e-toolkit-icons.e-active { + color: $datepicker-active-icon-color; + } + } + } +} + +@include export-module('datepicker-fluent-icons') { + /*! component icons */ + .e-input-group-icon.e-timeline-today, + #{if(&, '&', '*')}.e-control-wrapper .e-input-group-icon.e-timeline-today { + font-size: $datepicker-icon-font-size; + margin: $datepicker-icon-normal-margin; + padding: $zero-value; + min-height: $datepicker-icon-container-min-height; + min-width: $datepicker-icon-container-min-width; + border-radius: $datepicker-mouse-icon-border-radius; + outline: none; + + #{if(&, '&', '*')}:focus { + background: $datepicker-icon-hover-color; + border-radius: $datepicker-icon-border-radius; + } + } +} + +.e-datepicker.e-popup-holder { + top: -9999px; + left: -9999px; + position: absolute; + visibility: hidden; + width: 0px; + height: 0px; +} + +$radio-btn-border: 1px solid !default; +$radio-btn-height: 16px !default; +$radio-btn-width: 16px !default; +$radio-btn-icon-left: 4px !default; +$radio-btn-icon-top: 4px !default; +$radio-btn-icon-right: 4px !default; +$radio-btn-ripple-position: -8px !default; +$radio-btn-ripple-size: 34px !default; +$radio-btn-icon-height: 8px !default; +$radio-btn-icon-width: 8px !default; +$radio-btn-line-height: 1.2 !default; +$radio-btn-padding-left: 24px !default; +$radio-btn-focus-outline-offset: 0 !default; +$radio-btn-font-size: $text-sm !default; +$radio-btn-background-color: $content-bg-color !default; +$radio-btn-border-color: $border-alt !default; +$radio-btn-checked-border-color: $primary !default; +$radio-btn-checked-color: $primary !default; +$radio-btn-checked-background-color: $content-bg-color !default; +$radio-btn-checked-ripple-bgcolor: transparent !default; +$radio-btn-check-transition: none !default; +$radio-btn-disabled-border-color: $icon-color-disabled !default; +$radio-btn-disabled-checked-border-color: $icon-color-disabled !default; +$radio-btn-disabled-background-color: transparent !default; +$radio-btn-disabled-color: $icon-color-disabled !default; +$radio-btn-disabled-checked-color: $icon-color-disabled !default; +$radio-btn-font-color: $content-text-color !default; +$radio-btn-focus-ripple-bgcolor: $black !default; +$radio-btn-focussed-box-shadow: none !default; +$radio-btn-hover-bgcolor: $content-bg-color !default; +$radio-btn-hover-border-color: $border-hover !default; +$radio-btn-hover-check-bg-color: $primary-bg-color-hover !default; +$radio-btn-hover-check-border-color: $primary-border-color-hover !default; +$radio-btn-ripple-bgcolor: transparent !default; +$radio-btn-focus-check-bg-color: $radio-btn-hover-check-bg-color !default; +$radio-btn-focus-check-border-color: $radio-btn-hover-check-border-color !default; +$radio-btn-focus-outline: $radio-btn-background-color 0 solid !default; +$radio-btn-zero-padding: 0 !default; +$radio-button-border-radius: $radius-full !default; +$radio-label-font-weight: normal !default; +$radio-btn-after-border: 1px solid !default; +$radio-btn-wrapper-line-height: 1 !default; +$radio-btn-radio-height: 1px !default; +$radio-btn-radio-width: 1px !default; +$radio-ripple-left: -10px !default; +$radio-auto-position: auto !default; +$radio-ripple-rtl-container-left: -12px !default; +$radio-nrml-ripple-rtl-container-left: -8px !default; +$radio-btn-border-error-color: $border-error; +$radio-focus-border-radius: $radius-1 !default; +$radio-btn-focus-margin: 7.6px !default; + +@include export-module('radiobutton-layout') { + .e-radio-wrapper { + display: inline-block; + line-height: $radio-btn-wrapper-line-height; + position: relative; + } + /* stylelint-disable property-no-vendor-prefix */ + .e-radio { + -webkit-appearance: none; + height: $radio-btn-radio-height; + opacity: 0; + position: absolute; + width: $radio-btn-radio-width; + + &:not(:checked):not(:disabled):hover { + + label.e-rtl, + + label.e-right { + &::after { + left: $radio-auto-position; + } + } + } + + &:focus-visible { + + label { + box-shadow: $switch-box-shadow; + border-radius: $radio-focus-border-radius; + } + } + + + label { + -webkit-tap-highlight-color: transparent; + cursor: pointer; + display: inline-block; + margin: $radio-btn-zero-padding; + position: relative; + user-select: none; + vertical-align: middle; + white-space: nowrap; + margin: $radio-btn-focus-margin; + + + & .e-label { + display: inline-block; + font-family: $font-family; + font-size: $radio-btn-font-size; + font-weight: $radio-label-font-weight; + line-height: $radio-btn-line-height; + padding-left: $radio-btn-padding-left; + vertical-align: text-top; + white-space: normal; + } + + &::before { + border: $radio-btn-border; + border-radius: $radio-button-border-radius; + box-sizing: border-box; + content: ''; + height: $radio-btn-height; + left: $radio-btn-zero-padding; + position: absolute; + width: $radio-btn-width; + } + + &:focus { + &::before { + box-shadow: $radio-btn-focussed-box-shadow; + } + } + + &::after { + border: $radio-btn-after-border; + border-radius: $radio-button-border-radius; + box-sizing: border-box; + content: ''; + height: $radio-btn-icon-height; + left: $radio-btn-icon-left; + position: absolute; + top: $radio-btn-icon-top; + transform: scale(0); + width: $radio-btn-icon-width; + } + + & .e-ripple-container { + border-radius: $radio-button-border-radius; + height: $radio-btn-ripple-size; + left: $radio-btn-ripple-position; + position: absolute; + top: $radio-btn-ripple-position; + width: $radio-btn-ripple-size; + z-index: 1; + } + + &.e-right, + &.e-rtl { + & .e-label { + padding-left: $radio-btn-zero-padding; + padding-right: $radio-btn-padding-left; + } + + &::before { + left: $radio-auto-position; + right: $radio-btn-zero-padding; + } + + &::after { + left: $radio-auto-position; + right: $radio-btn-icon-right; + } + + & .e-ripple-container { + left: $radio-auto-position; + right: $radio-btn-ripple-position; + } + } + + &.e-right { + &.e-rtl { + & .e-label { + padding-left: $radio-btn-padding-left; + padding-right: $radio-btn-zero-padding; + } + + &::before { + left: $radio-btn-zero-padding; + right: $radio-auto-position; + } + + &::after { + left: $radio-btn-icon-right; + right: $radio-auto-position; + } + + & .e-ripple-container { + left: $radio-nrml-ripple-rtl-container-left; + right: $radio-auto-position; + } + } + } + } + + + + + &:checked { + + label { + &::after { + transform: scale(1); + transition: $radio-btn-check-transition; + } + } + } + } + + .e-radio-wrapper.e-error .e-radio + label::before { + border-color: $radio-btn-border-error-color; + } +} + +@include export-module('radiobutton-theme') { + .e-radio { + + label { + &::before { + background-color: $radio-btn-background-color; + border-color: $radio-btn-border-color; + } + + &.e-focus { + & .e-ripple-container { + background-color: $radio-btn-focus-ripple-bgcolor; + } + } + + & .e-label { + color: $radio-btn-font-color; + } + + & .e-ripple-element { + background-color: $radio-btn-checked-ripple-bgcolor; + } + + &:active { + & .e-ripple-element { + background-color: $radio-btn-ripple-bgcolor; + } + } + } + + &:focus { + + label { + &::before { + border-color: $radio-btn-focus-check-border-color; + box-shadow: $radio-btn-focussed-box-shadow; + } + } + } + + &:focus { + + label { + &::before { + border-color: $radio-btn-hover-border-color; + box-shadow: $radio-btn-focussed-box-shadow; + } + } + } + + &:hover { + + label { + &::before { + border-color: $radio-btn-hover-border-color; + } + } + } + + &:checked { + + label { + &::before { + background-color: $radio-btn-checked-background-color; + border-color: $radio-btn-checked-border-color; + } + + &::after { + background-color: $radio-btn-checked-color; + color: $radio-btn-checked-color; + } + + &:active { + & .e-ripple-element { + background-color: $radio-btn-checked-ripple-bgcolor; + } + } + } + + + .e-focus { + & .e-ripple-container { + background-color: $radio-btn-checked-ripple-bgcolor; + } + + &::before { + outline: $radio-btn-focus-outline; + outline-offset: $radio-btn-focus-outline-offset; + } + } + } + + &:checked { + &:focus { + + label { + &::before { + border-color: $radio-btn-focus-check-border-color; + } + + &::after { + background-color: $radio-btn-focus-check-bg-color; + color: $radio-btn-focus-check-bg-color; + } + } + } + + + label { + &:hover { + & .e-ripple-container { + } + + &::before { + border-color: $radio-btn-hover-check-border-color; + } + + &::after { + background-color: $radio-btn-hover-check-bg-color; + color: $radio-btn-hover-check-bg-color; + } + } + } + } + + &:disabled { + + label { + cursor: default; + pointer-events: none; + + &::before { + background-color: $radio-btn-disabled-background-color; + border-color: $radio-btn-disabled-border-color; + cursor: default; + } + + & .e-ripple-container { + background-color: transparent; + + &::after { + background-color: transparent; + cursor: default; + } + } + + & .e-label { + color: $radio-btn-disabled-color; + } + } + + &:checked { + + label { + &::before { + background-color: $radio-btn-disabled-background-color; + border-color: $radio-btn-disabled-checked-border-color; + } + + &::after { + background-color: $radio-btn-disabled-checked-color; + border-color: $radio-btn-disabled-checked-color; + cursor: default; + } + + & .e-ripple-container, + & .e-ripple-container::after { + background-color: transparent; + } + } + } + } + } +} + + + + +$switch-wrapper-width: 40px !default; +$switch-wrapper-height: 20px !default; +$switch-inner-width: 100% !default; +$switch-inner-height: 100% !default; +$switch-handle-top: 3px !default; +$switch-handle-left: 3px !default; +$switch-handle-margin: auto 0 !default; +$switch-inner-top: 0 !default; +$switch-inner-left: 0 !default; +$switch-off-text-indent: 18px !default; +$switch-on-text-indent: -16px !default; +$switch-handle-active: 100% !default; +$switch-handle-margin-left: -18px !default; +$switch-active-on-opacity: 1 !default; +$switch-off-opacity: 1 !default; +$switch-handle-height: 14px !default; +$switch-handle-width: 14px !default; +$switch-transition: all .2s ease-in-out .1s !default; +$switch-inner-transition: all .2s ease-in-out !default; +$switch-handle-transition: all .2s linear !default; +$switch-active-on-position-left: 0 !default; +$switch-off-active-left: 100% !default; +$switch-on-position-left: -100% !default; +$switch-on-position-left-rtl: 0 !default; +$switch-off-position-left: 0 !default; +$switch-off-position-left-rtl: -100% !default; +$switch-on-rtl: 100% !default; +$switch-off-rtl: 0 !default; +$switch-handle-radius: $radius-full !default; +$switch-handle-bottom: 3px !default; +$switch-border-radius: $radius-20 !default; +$switch-on-off-disabled-bg-color-opacity: 1 !default; +$switch-inner-border-style: 1px solid $border-alt !default; +$switch-inner-active: $primary !default; +$switch-inner-active-bg: $primary !default; +$switch-focus-inner-box-shadow: none !default; +$switch-inner-active-border-color: $primary !default; +$switch-active-background: transparent !default; +$switch-handle-shadow: $shadow-sm !default; +$switch-handle-shadow-disabled: none !default; +$switch-off-bg-color: $chip-secondary-active-bg-color !default; +$switch-active-handle-bg: $primary-text-color !default; +$switch-inner-bg: transparent !default; +$switch-handle-bg-color: $border-alt !default; +$switch-hover-bg-color: $content-bg-color !default; +$switch-font-family: $font-family !default; +$switch-font-size: $text-xs !default; +$switch-inner-hover-bg-color: $primary !default; +$switch-inner-hover-border-color: $primary-bg-color-hover !default; +$switch-inner-on-font-color: $primary-text-color !default; +$switch-inner-off-font-color: $content-text-color !default; +$switch-inner-focus-border: $border-alt !default; +$switch-on-hover-bg-color: $primary-bg-color-hover !default; +$switch-on-off-disabled-bg-color: $content-bg-color !default; +$switch-handle-disabled-bg-color: $border-disabled !default; +$switch-handle-on-disabled-bg-color: $content-text-color-disabled !default; +$switch-border-disabled-bg-color: $border-disabled !default; +$switch-disabled-font-color: $content-text-color-disabled !default; +$switch-on-off-hover-bg-color: transparent !default; +$switch-inner-focus-bg-color: $primary !default; +$switch-inner-focus-off-bg: $content-bg-color !default; +$switch-focus-border-color-active: $primary !default; +$switch-hover-border: $border-hover !default; +$switch-hover-active-border: $primary !default; +$switch-handle-hover-bg-color: $primary-text-color !default; +$switch-small-disabled-rtl-active-bg-color: transparent !default; +$switch-on-bg-color: $primary !default; +$switch-on-disabled-bg-color: transparent !default; +$switch-inner-hover-on-font-color: $primary-text-color !default; +$switch-handle-off-hover-bg-color: $border-hover !default; +$switch-ripple-border-radius: $radius-full !default; +$switch-height: 1px !default; +$switch-width: 1px !default; +$switch-bgr-small-wrapper-margin: 8px !default; +$switch-bgr-wrapper-margin: 10px !default; +$switch-nrml-focus-border-radius: $radius-1 !default; +$switch-box-shadow: $shadow-focus !default; +$toggle-switch-border-disabled: $border-disabled !default; +$switch-focused-outline: none !default; +$switch-focused-outline-active: none !default; +$switch-focused-outline-offset: none !default; + +@include export-module('switch-layout') { + .e-switch-wrapper, + .e-css.e-switch-wrapper { + cursor: pointer; + display: inline-block; + height: $switch-wrapper-height; + position: relative; + user-select: none; + width: $switch-wrapper-width; + margin: $switch-bgr-small-wrapper-margin; + + &:focus, + &.e-focus { + box-shadow: $switch-box-shadow !important; /* stylelint-disable-line declaration-no-important */ + border-radius: $switch-nrml-focus-border-radius; + } + + @at-root { + & .e-switch { + appearance: none; + -moz-appearance: none; + height: $switch-height; + opacity: 0; + position: absolute; + width: $switch-width; + } + + & .e-switch-inner { + -ms-transition: $switch-inner-transition; + -webkit-transition: $switch-inner-transition; + border: $switch-inner-border-style; + border-radius: $switch-border-radius; + box-sizing: border-box; + height: $switch-inner-height; + left: $switch-inner-left; + overflow: hidden; + position: absolute; + top: $switch-inner-top; + transition: $switch-inner-transition; + width: $switch-inner-width; + } + + & .e-switch-on, + & .e-switch-off { + -ms-transition: $switch-transition; + -webkit-transition: $switch-transition; + align-items: center; + border-radius: inherit; + display: flex; + font-family: $switch-font-family; + font-size: $switch-font-size; + height: $switch-inner-height; + justify-content: center; + left: $switch-inner-left; + position: absolute; + transition: $switch-transition; + width: $switch-inner-width; + } + + & .e-switch-on { + left: $switch-on-position-left; + text-indent: $switch-on-text-indent; + } + + & .e-switch-off { + left: $switch-off-position-left; + opacity: $switch-off-opacity; + text-indent: $switch-off-text-indent; + } + + & .e-switch-handle { + -ms-transition: $switch-handle-transition; + -webkit-transition: $switch-handle-transition; + border-radius: $switch-handle-radius; + bottom: $switch-handle-bottom; + height: $switch-handle-height; + left: $switch-handle-left; + margin: $switch-handle-margin; + position: absolute; + top: $switch-handle-top; + transition: $switch-handle-transition; + width: $switch-handle-width; + } + + & .e-switch-inner.e-switch-active .e-switch-on { + left: $switch-active-on-position-left; + opacity: $switch-active-on-opacity; + } + + & .e-switch-inner.e-switch-active .e-switch-off { + left: $switch-off-active-left; + } + + & .e-switch-handle.e-switch-active { + left: $switch-handle-active; + margin-left: $switch-handle-margin-left; + } + + &.e-switch-disabled { + cursor: default; + pointer-events: none; + } + + &.e-rtl { + & .e-switch-handle { + left: $switch-handle-active; + margin-left: $switch-handle-margin-left; + } + + & .e-switch-inner.e-switch-active .e-switch-on { + left: $switch-on-position-left-rtl; + } + + & .e-switch-inner.e-switch-active .e-switch-off { + left: $switch-off-position-left-rtl; + } + + & .e-switch-on { + left: $switch-on-rtl; + } + + & .e-switch-off { + left: $switch-off-rtl; + } + + & .e-switch-handle.e-switch-active { + border-radius: $switch-handle-radius; + height: $switch-handle-height; + left: $switch-handle-left; + margin: $switch-handle-margin; + position: absolute; + top: $switch-handle-top; + transition: $switch-handle-transition; + width: $switch-handle-width; + } + } + } + } +} + +@include export-module('switch-theme') { + .e-switch-wrapper, + .e-css.e-switch-wrapper { + /* stylelint-disable property-no-vendor-prefix */ + -webkit-tap-highlight-color: transparent; + + & .e-switch-off { + background-color: $switch-off-bg-color; + color: $switch-inner-off-font-color; + } + + & .e-switch-handle { + background-color: $switch-handle-bg-color; + box-shadow: $switch-handle-shadow; + } + + & .e-switch-on { + background-color: $switch-on-bg-color; + color: $switch-inner-on-font-color; + } + + & .e-switch-handle.e-switch-active { + background-color: $switch-active-handle-bg; + } + + & .e-switch-inner.e-switch-active { + background-color: $switch-inner-active-bg; + border-color: $switch-inner-active-border-color; + } + + & .e-switch-inner { + background-color: $switch-inner-bg; + } + + &.e-switch-disabled { + & .e-switch-handle.e-switch-active { + box-shadow: $switch-handle-shadow-disabled; + } + + & .e-switch-handle { + background-color: $switch-handle-disabled-bg-color; + box-shadow: $switch-handle-shadow-disabled; + } + + & .e-switch-inner.e-switch-active { + border-color: $switch-border-disabled-bg-color; + } + + & .e-switch-inner .e-switch-off { + opacity: $switch-on-off-disabled-bg-color-opacity; + background-color: $switch-on-off-disabled-bg-color; + border-color: $switch-handle-disabled-bg-color; + color: $switch-disabled-font-color; + } + + & .e-switch-inner .e-switch-on { + color: $switch-disabled-font-color; + opacity: $switch-on-off-disabled-bg-color-opacity; + background-color: $switch-on-disabled-bg-color; + border-color: $toggle-switch-border-disabled !important; /* stylelint-disable-line declaration-no-important */ + } + + & .e-switch-inner { + background-color: transparent; + opacity: $switch-on-off-disabled-bg-color-opacity; + border-color: $switch-border-disabled-bg-color; + } + + &:hover { + & .e-switch-inner.e-switch-active { + border-color: $switch-border-disabled-bg-color; + } + + & .e-switch-inner { + border-color: $switch-border-disabled-bg-color; + color: $switch-disabled-font-color; + } + + & .e-switch-inner.e-switch-active .e-switch-on { + color: $switch-disabled-font-color; + background-color: $switch-on-disabled-bg-color; + } + + & .e-switch-handle { + background-color: $switch-handle-disabled-bg-color; + } + + & .e-switch-handle.e-switch-active { + background-color: $switch-handle-disabled-bg-color; + } + } + } + + &:hover { + & .e-switch-inner.e-switch-active { + background-color: $switch-inner-hover-border-color; + border-color: $switch-inner-hover-border-color; + } + + & .e-switch-inner { + background-color: $switch-hover-bg-color; + border-color: $switch-hover-border; + } + + & .e-switch-inner.e-switch-active .e-switch-on { + background-color: $switch-on-hover-bg-color; + color: $switch-inner-hover-on-font-color; + } + + & .e-switch-handle.e-switch-active { + background-color: $switch-handle-hover-bg-color; + } + } + + &:not(.e-switch-disabled):hover { + & .e-switch-handle:not(.e-switch-active) { + background-color: $switch-handle-off-hover-bg-color; + } + } + + &.e-focus, + &:focus { + & .e-switch-inner { + background-color: $switch-inner-focus-off-bg; + border-color: $switch-inner-focus-border; + box-shadow: $switch-focus-inner-box-shadow; + outline: $switch-focused-outline; + outline-offset: $switch-focused-outline-offset; + } + + & .e-switch-inner.e-switch-active { + background-color: $switch-inner-focus-bg-color; + border-color: $switch-focus-border-color-active; + outline: $switch-focused-outline-active; + } + } + + &.e-active, + &:active { + & .e-switch-inner { + background-color: $content-bg-color; + border-color: $border-pressed; + box-shadow: $switch-focus-inner-box-shadow; + outline: $switch-focused-outline; + outline-offset: $switch-focused-outline-offset; + + &.e-switch-active { + background-color: $primary-border-color-selected; + border-color: $primary-border-color-selected; + } + } + + & .e-switch-inner.e-switch-active { + background-color: $switch-inner-focus-bg-color; + border-color: $switch-focus-border-color-active; + outline: $switch-focused-outline-active; + } + } + + &.e-rtl { + &.e-focus { + & .e-switch-on { + background-color: $switch-on-off-hover-bg-color; + } + + & .e-switch-off { + background-color: $switch-on-off-hover-bg-color; + } + + & .e-switch-inner.e-switch-active { + background-color: $switch-inner-focus-bg-color; + border-color: $switch-focus-border-color-active; + color: $switch-inner-on-font-color; + outline: $switch-focused-outline-active; + } + } + + & .e-switch-on { + background-color: $switch-inner-active; + } + + & .e-switch-handle { + background-color: $switch-handle-bg-color; + box-shadow: $switch-handle-shadow; + } + + & .e-switch-inner.e-switch-active .e-switch-off { + background-color: $switch-off-bg-color; + } + + & .e-switch-handle.e-switch-active { + background-color: $switch-active-handle-bg; + } + + & .e-switch-inner.e-switch-active { + background-color: $switch-inner-active-bg; + border-color: $switch-inner-active-border-color; + } + + &:hover { + & .e-switch-inner.e-switch-active { + background-color: $switch-inner-hover-bg-color; + border-color: $switch-inner-hover-border-color; + } + + & .e-switch-inner { + border-color: $switch-hover-border; + } + + & .e-switch-inner.e-switch-active .e-switch-on { + background-color: $switch-on-hover-bg-color; + } + + & .e-switch-handle.e-switch-active { + background-color: $switch-handle-hover-bg-color; + } + } + + &.e-switch-disabled { + & .e-switch-inner .e-switch-on { + color: $switch-disabled-font-color; + opacity: $switch-on-off-disabled-bg-color-opacity; + background-color: $switch-on-disabled-bg-color; + border-color: $toggle-switch-border-disabled; + } + + + & .e-switch-inner .e-switch-off { + opacity: $switch-on-off-disabled-bg-color-opacity; + background-color: $switch-on-off-disabled-bg-color; + color: $switch-disabled-font-color; + } + + & .e-switch-handle { + background-color: $switch-handle-disabled-bg-color; + box-shadow: $switch-handle-shadow-disabled; + } + + & .e-switch-handle.e-switch-active { + background-color: $switch-handle-on-disabled-bg-color; + box-shadow: $switch-handle-shadow-disabled; + } + + & .e-switch-inner { + background-color: $switch-on-off-disabled-bg-color; + border-color: $switch-border-disabled-bg-color; + opacity: $switch-on-off-disabled-bg-color-opacity; + } + + &:hover { + & .e-switch-inner.e-switch-active .e-switch-on { + color: $switch-disabled-font-color; + background-color: $switch-on-disabled-bg-color; + } + + & .e-switch-inner.e-switch-active { + background-color: $switch-on-off-disabled-bg-color; + border-color: $switch-border-disabled-bg-color; + } + + & .e-switch-inner { + border-color: $switch-border-disabled-bg-color; + color: $switch-disabled-font-color; + } + + & .e-switch-handle.e-switch-active { + background-color: $switch-handle-on-disabled-bg-color; + } + + & .e-switch-handle { + background-color: $switch-handle-disabled-bg-color; + } + } + } + } + + & .e-switch { + &:focus { + box-shadow: $switch-focus-inner-box-shadow; + } + } + } +} + + + + + + + + + + + +$timepicker-default-text-indent: 12px !default; +$timepicker-list-normal-line-height: 32px !default; +$timepicker-list-normal-font-size: $text-sm !default; +$timepicker-list-normal-text-indent: $timepicker-default-text-indent !default; +$timepicker-popup-border-radius: $radius-8 !default; +$timepicker-list-font-weight: $font-weight-normal !default; +$timepicker-list-normal-padding: 4px !default; +$timepicker-font-icon: '\e20c' !default; +$timepicker-icon-normal-font-size: $text-sm !default; +$timepicker-normal-input-min-height: 20px !default; +$timepicker-normal-input-min-width: 20px !default; +$timepicker-list-default-border-style: none !default; +$timepicker-disable-opacity: 1 !default; + +// color variables +$timepicker-popup-shadow: $shadow-lg !default; +$timepicker-list-default-font-color: $content-text-color !default; +$timepicker-list-border-color: 1px solid $border-light !default; +$timepicker-list-hover-border-color: none !default; +$timepicker-list-bg-color: $flyout-bg-color !default; +$timepicker-list-active-bg-color: $content-bg-color-selected !default; +$timepicker-list-active-font-color: $content-text-color-selected !default; +$timepicker-list-active-icon-color: $content-text-color-selected !default; +$timepicker-list-hover-bg-color: $content-bg-color-hover !default; +$timepicker-list-hover-font-color: $content-text-color-hover !default; +$timepicker-list-popup-icon-active-color: $content-text-color-selected !default; +$timepicker-list-active-hover-bg-color: $content-bg-color-hover !default; +$timepicker-list-active-hover-font-color: $content-text-color-selected !default; +$timepicker-disable-text: $content-text-color-disabled !default; +$timepicker-default-overlay: $content-bg-color-alt2 !default; + +// modal dialog colors +$modal-header-bg-color: $content-bg-color-alt1 !default; +$modal-header-text-color: $content-text-color-alt1 !default; + +// modal dialog portrait dimensions +$modal-header-height: 10% !default; +$modal-header-padding: 2.5vh 2.5vw 2.5vh 1.5vw !default; +$modal-header-display-style: flex !default; +$modal-header-content-align: center !default; +$modal-header-portrait-font-size: 2vh !default; +$modal-close-icon-float: left !default; +$modal-portrait-content-padding: 1vh 2vw !default; +$modal-content-height: 90% !default; +$modal-content-overflow: auto !default; +$modal-header-title-transform: capitalize !default; +$modal-header-border-bottom: none !default; +$modal-list-line-height: 5vh !default; +$modal-landscape-list-line-height: 10vh !default; + +// modal dialog landscape dimensions +$modal-header-landscape-height: 15% !default; +$modal-content-landscape-height: 85% !default; +$modal-header-landscape-font-size: 2vw !default; +$modal-landscape-padding: 1vh 1vw !default; +$modal-list-item-padding: 1vh 0 !default; +$modal-mobile-font-size: 14px !default; +$modal-dtp-tablet-font-size: 24px !default; + +$timepicker-list-parent-margin: 0; +$timepicker-list-parent-padding: $timepicker-list-normal-padding 0; +$timepicker-zero-border-radius: $radius-0 !default; +$timepicker-model-title-font-weight: 500 !default; +$timepicker-full-height: 100% !default; +$timepicker-content-placeholder-min-height: 33px !default; +$timepicker-full-width: 100% !default; +$timepicker-border: 1px !default; + +@include export-module('timepicker-layout') { + // timepicker layout + .e-input-group.e-control-wrapper.e-time-wrapper.e-non-edit.e-input-focus .e-input:focus ~ .e-clear-icon, + .e-float-input.e-control-wrapper.e-input-group.e-time-wrapper.e-non-edit.e-input-focus input:focus ~ .e-clear-icon { + display: flex; + } + + .e-time-wrapper, + #{if(&, '&', '*')}.e-control-wrapper.e-time-wrapper { + /* stylelint-disable property-no-vendor-prefix */ + -webkit-tap-highlight-color: transparent; + + #{if(&, '&', '*')} .e-clock.e-toolkit-icons { + font-size: $timepicker-icon-normal-font-size; + } + + #{if(&, '&', '*')} .e-clock.e-toolkit-icons.e-disabled { + pointer-events: none; + } + + #{if(&, '&', '*')} span { + cursor: pointer; + } + } + + #{&}.e-timepicker.e-time-modal { + background-color: $timepicker-default-overlay; + height: $timepicker-full-height; + left: $timepicker-list-parent-margin; + opacity: .5; + pointer-events: auto; + position: fixed; + top: $timepicker-list-parent-margin; + width: $timepicker-full-width; + z-index: 999; + } + + #{&}.e-timepicker.e-popup { + border-style: solid; + border-width: $timepicker-border; + overflow: auto; + + #{if(&, '&', '*')} .e-content { + position: relative; + } + + #{if(&, '&', '*')} .e-list-parent.e-ul { + margin: $timepicker-list-parent-margin; + padding: $timepicker-list-parent-padding; + + #{if(&, '&', '*')} .e-list-item { + cursor: default; + font-size: $timepicker-list-normal-font-size; + overflow: hidden; + position: relative; + text-overflow: ellipsis; + vertical-align: middle; + white-space: nowrap; + width: $timepicker-full-width; + } + + #{if(&, '&', '*')} .e-list-item.e-hover { + cursor: pointer; + } + } + } + + #{&}.e-timepicker.e-popup { + #{if(&, '&', '*')} .e-list-parent.e-ul .e-list-item { + line-height: $timepicker-list-normal-line-height; + text-indent: $timepicker-list-normal-text-indent; + } + } + + .e-content-placeholder.e-timepicker.e-placeholder-timepicker { + background-size: 250px 33px; + min-height: $timepicker-content-placeholder-min-height; + } +} + +/* stylelint-disable */ +.e-time-overflow { + overflow: hidden; +} + +.e-timepicker-mob-popup-wrap { + align-items: center; + display: flex; + flex-direction: column; + height: $timepicker-full-height; + justify-content: center; + left: $timepicker-list-parent-margin; + max-height: $timepicker-full-height; + position: fixed; + top: $timepicker-list-parent-margin; + width: $timepicker-full-width; + z-index: 1002; + + .e-timepicker.e-popup.e-lib.e-control.e-popup-open { + left: $timepicker-list-parent-margin !important; + position: relative; + top: $timepicker-list-parent-margin !important; + } +} + +.e-timepicker-mob-popup-wrap .e-popup-expand.e-timepicker.e-popup, +.e-datetimepicker.e-popup-expand.e-timepicker.e-popup, +.e-timepicker-mob-popup-wrap .e-popup-expand.e-datetimepicker.e-popup, +.e-datetimepicker.e-popup-expand.e-popup { + border-radius: $timepicker-zero-border-radius; +} + +.e-timepicker-mob-popup-wrap .e-popup-expand, +.e-datetimepicker.e-popup-expand { + #{if(&, '&', '*')} .e-model-header { + height: $modal-header-height; + padding: $modal-header-padding; + display: $modal-header-display-style; + align-items: $modal-header-content-align; + font-size: $modal-header-portrait-font-size; + border-bottom: $modal-header-border-bottom; + + #{if(&, '&', '*')} .e-popup-close { + float: $modal-close-icon-float; + padding: $modal-portrait-content-padding; + } + + #{if(&, '&', '*')} .e-model-title { + padding: $modal-portrait-content-padding; + text-transform: $modal-header-title-transform; + font-weight: $timepicker-model-title-font-weight; + } + + #{if(&, '&', '*')} .e-btn.e-popup-close { + font-size: $modal-header-portrait-font-size; + } + } + + #{if(&, '&', '*')} .e-content { + height: $modal-content-height; + overflow: $modal-content-overflow; + + #{if(&, '&', '*')} .e-list-parent.e-ul .e-list-item { + padding: $modal-list-item-padding; + line-height: $modal-list-line-height; + + @media (max-device-width: 768px) { + font-size: $modal-mobile-font-size; + } + + @media (min-device-width: 768px) { + font-size: $modal-dtp-tablet-font-size; + } + } + } +} + +@media screen and (orientation: landscape) { + .e-timepicker-mob-popup-wrap .e-popup-expand, + .e-datetimepicker.e-popup-expand { + #{if(&, '&', '*')} .e-model-header { + height: $modal-header-landscape-height; + font-size: $modal-header-landscape-font-size; + + #{if(&, '&', '*')} .e-popup-close { + padding: $modal-landscape-padding; + } + + #{if(&, '&', '*')} .e-model-title { + padding: $modal-landscape-padding; + } + + #{if(&, '&', '*')} .e-btn.e-popup-close { + font-size: $modal-header-landscape-font-size; + } + } + + #{if(&, '&', '*')} .e-content { + height: $modal-content-landscape-height; + + #{if(&, '&', '*')} .e-list-parent.e-ul .e-list-item { + padding: $modal-list-item-padding; + line-height: $modal-landscape-list-line-height; + } + } + } +} +/* stylelint-enable */ + +@include export-module('timepicker-theme') { + .e-time-wrapper { + #{if(&, '&', '*')} .e-input-group-icon.e-toolkit-icons.e-active { + color: $timepicker-list-active-icon-color; + } + + #{if(&, '&', '*')}.e-input-group:not(.e-disabled) .e-input-group-icon.e-active:active { + color: $timepicker-list-popup-icon-active-color; + } + } + + #{&}.e-timepicker.e-popup { + background-color: $timepicker-list-bg-color; + border: $timepicker-list-border-color; + border-radius: $timepicker-popup-border-radius; + box-shadow: $timepicker-popup-shadow; + + #{if(&, '&', '*')} .e-list-parent.e-ul { + background-color: $timepicker-list-bg-color; + + #{if(&, '&', '*')} li.e-list-item { + border: $timepicker-list-default-border-style; + color: $timepicker-list-default-font-color; + } + + #{if(&, '&', '*')} .e-list-item.e-disabled { + color: $timepicker-disable-text; + opacity: $timepicker-disable-opacity; + pointer-events: none; + touch-action: none; + } + + #{if(&, '&', '*')} .e-list-item.e-hover, + #{if(&, '&', '*')} .e-list-item.e-navigation, + #{if(&, '&', '*')} .e-list-item:focus { + background-color: $timepicker-list-hover-bg-color; + border: $timepicker-list-hover-border-color; + color: $timepicker-list-hover-font-color; + } + + #{if(&, '&', '*')} .e-list-item.e-active { + background-color: $timepicker-list-active-bg-color; + color: $timepicker-list-active-font-color; + } + + #{if(&, '&', '*')} .e-list-item.e-active.e-hover { + background-color: $timepicker-list-active-hover-bg-color; + color: $timepicker-list-active-hover-font-color; + } + } + } + + .e-timepicker-mob-popup-wrap .e-timepicker.e-popup-expand, + .e-datetimepicker.e-popup-expand { + + #{if(&, '&', '*')} .e-model-header { + background-color: $modal-header-bg-color; + color: $modal-header-text-color; + + #{if(&, '&', '*')} .e-popup-close { + color: $modal-header-text-color; + font-weight: $timepicker-model-title-font-weight; + } + } + } +} + +.e-datetimepicker.e-popup-holder { + top: -9999px; + left: -9999px; + position: absolute; + visibility: hidden; + width: 0px; + height: 0px; +} + +.e-datetimepicker.e-popup-wrapper { + overflow-y: auto !important; +} + + + + +/* stylelint-disable-line no-empty-source */ +$multiline-clear-icon-right-position: 10px; +$multiline-clear-icon-top-position: 10px; +$multiline-clear-icon-left-position: 10px; +$input-focus-text-padding-right: 30px; +$input-focus-text-padding-left: 30px; +$textbox-min-height: 33px; + +$textbox-prepend-padding: 9px 3px 9px 13px; +$textbox-append-padding: 9px 13px 9px 3px; +$textbox-rtl-prepend-padding: 9px 13px 9px 3px; +$textbox-icon-template-font-size: 14px; +$textbox-icon-template-margin: 0 3px; +$textbox-outline-prepend-padding: 9px 3px 9px 13px; +$textbox-outline-append-padding: 9px 13px 9px 3px; +$textbox-filled-prepend-padding: 9px 3px 9px 13px; +$textbox-filled-append-padding: 9px 13px 9px 3px; +$textbox-prepend-float-label-top: -15px; +$textbox-prepend-focus-float-label-margin-left: 0; +$textbox-outline-prepend-multiline-label-top: -30px; +$textbox-outline-prepend-input-padding: 10px 12px 9px 0; +$textbox-outline-prepend-append-input-padding: 10px 0 9px; +$textbox-filled-prepend-label-bottom-top: 7px; +$textbox-filled-prepend-label-top: -10px; +$textbox-prepand-multiline-label-top: -30px; +$textbox-prepand-multiline-padding: 9px 3px 9px 13px; +$textbox-append-multiline-padding: 9px 13px 9px 3px; +$textbox-prepand-multiline-outline-padding: 9px 3px 9px 13px; +$textbox-prepand-multiline-filled-padding: 9px 3px 9px 13px; +$textbox-prepand-append-multiline-filled-padding: 3px 3px 1px 3px; +$textbox-prepand-multiline-filled-textarea-padding: 0 12px 5px 1px; +$textbox-prepand-multiline-filled-label-top: -10px; +$textbox-prepand-append-multiline-outline-textarea-padding: 5px 1px 1px 1px; +$textbox-prepand-multiline-outline-textarea-padding: 5px 12px 1px 1px; +$textbox-append-outline-input-padding: 10px 0 9px 12px; +$textbox-append-multiline-filled-template-padding: 9px 13px 9px 3px; +$textbox-append-multiline-filled-textarea-padding: 0 1px 5px 12px; +$textbox-append-multiline-outline-textarea-padding: 0 1px 5px 12px; +$textbox-rtl-outline-prepend-padding: 9px 13px 9px 3px; +$textbox-rtl-prepand-append-input-padding: 9px 3px 9px 2px; +$textbox-rtl-append-outline-template-padding: 9px 3px 9px 13px; +$textbox-rtl-filled-prepend-padding: 9px 13px 9px 3px; +$textbox-rtl-append-filled-template-padding: 9px 3px 9px 13px; +$textbox-append-multiline-outline-template-padding: 9px 13px 9px 3px; +$textbox-rtlt-prepend-multiline-filled-template-padding: 9px 13px 9px 3px; +$textbox-rtl-multiline-append-filled-template-padding: 9px 3px 9px 13px; +$textbox-rtl-prepand-outline-input-padding: 9px 13px 9px 3px; +$textbox-rtl-append-outline-input-padding: 10px 12px 9px 0; +$textbox-rtl-multiline-prepand-filled-textarea-padding: 0 1px 5px 12px; +$textbox-rtl-append-template-padding: 9px 3px 9px 13px; +$textbox-rtl-multiline-append-outline-textarea-padding: 5px 12px 1px 1px; +$textbox-rtl-multiline-append-filled-textarea-padding: 0 12px 5px 1px; +$textbox-rtl-multiline-prepand-template-padding: 9px 13px 9px 3px; +$textbox-rtl-multiline-prepand-outline-textarea-padding: 0 1px 5px 12px; +$textbox-rtl-multiline-outline-prepand-template-padding: 9px 13px 9px 3px; +$textbox-rtl-multiline-prepand-append-outline-textarea-padding: 0 1px 5px 1px; +$textbox-prepend-float-label-bottom: -10px; +$textbox-outline-prepend-label-bottom-top: -8px; +$textbox-outline-prepend-label-top: -14px; +$textbox-multiline-prepand-multiline-label-bottom-top: -9px; +$textbox-multiline-outline-prepand-multiline-label-bottom-top: -9px; +$textbox-multiline-filled-prepand-multiline-label-bottom-top: 7px; +$textbox-icon-template-separator-color: $border-dark; + +.e-content-placeholder.e-textbox.e-placeholder-textbox { + background-size: 300px 33px; + min-height: $textbox-min-height; +} + +.e-input-group.e-input-focus.e-multi-line-input textarea.e-textbox { + padding-right: $input-focus-text-padding-right; +} + +.e-input-group.e-input-focus.e-rtl.e-multi-line-input textarea.e-textbox { + padding-left: $input-focus-text-padding-left; +} + +div.e-input-group, +span.e-input-group { + &.e-prepend-wrapper { + & .e-prepend-template { + padding: $textbox-prepend-padding; + display: flex; + align-items: center; + + & .e-toolkit-icons { + font-size: $textbox-icon-template-font-size; + margin: $textbox-icon-template-margin; + + &:focus-visible { + outline: none; + } + } + + & .e-input-separator { + border: 1px solid $textbox-icon-template-separator-color; + border-width: 0 2px 0 0; + margin: 0 5px; + padding: 7px 0; + } + } + + & input.e-control { + height: auto; + } + + &.e-float-input.e-control-wrapper:not(.e-mask, .e-numeric, .e-outline, .e-filled) label.e-float-text.e-label-top { + top: $textbox-prepend-float-label-top; + } + + &.e-float-input.e-control-wrapper:not(.e-mask, .e-numeric, .e-outline, .e-filled) label.e-float-text.e-label-bottom { + top: $textbox-prepend-float-label-bottom; + } + + &.e-outline { + &.e-multi-line-input { + &.e-float-input.e-control-wrapper label.e-float-text.e-label-top, + &.e-float-input.e-control-wrapper.e-input-focus .e-float-text { + top: $textbox-outline-prepend-multiline-label-top !important; /* stylelint-disable-line declaration-no-important */ + } + } + + & .e-prepend-template { + padding: $textbox-outline-prepend-padding; + } + + & input.e-input, + & input.e-input:focus, + &.e-input-focus input.e-input { + padding: $textbox-outline-prepend-input-padding; + } + + &.e-append-wrapper input.e-input, + &.e-append-wrapper input.e-input:focus, + &.e-append-wrapper.e-input-focus input.e-input { + padding: $textbox-outline-prepend-append-input-padding; + } + + &.e-float-input.e-control-wrapper:not(.e-mask, .e-numeric) label.e-float-text.e-label-bottom { + top: $textbox-outline-prepend-label-bottom-top; + } + + &.e-float-input.e-control-wrapper:not(.e-mask, .e-numeric) label.e-float-text.e-label-top { + top: $textbox-outline-prepend-label-top; + } + } + + &.e-filled { + padding-left: 0; + + &.e-append-wrapper { + padding: 0; + } + + & .e-prepend-template { + padding: $textbox-filled-prepend-padding; + } + + &.e-float-input.e-control-wrapper:not(.e-mask, .e-numeric) label.e-float-text.e-label-bottom { + top: $textbox-filled-prepend-label-bottom-top; + } + + &.e-float-input.e-control-wrapper:not(.e-mask, .e-numeric) label.e-float-text.e-label-top { + top: $textbox-filled-prepend-label-top; + } + } + + &.e-multi-line-input { + & .e-prepend-template { + display: block; + padding: $textbox-prepand-multiline-padding; + + & .e-input-separator { + padding: 5px 0 2px; + } + } + + & textarea.e-input { + height: auto; + } + + & textarea.e-input, + &.e-input-focus textarea.e-input, + & textarea.e-input:focus { + padding: 4px 1px; + } + + &.e-float-input.e-control-wrapper label.e-float-text.e-label-top, + &.e-float-input.e-control-wrapper.e-input-focus .e-float-text { + top: $textbox-prepand-multiline-label-top; + } + + &.e-float-input.e-control-wrapper label.e-float-text.e-label-bottom, + &.e-float-input.e-control-wrapper.e-rtl label.e-float-text.e-label-bottom { + top: $textbox-multiline-prepand-multiline-label-bottom-top; + } + + &.e-filled { + & .e-prepend-template { + padding: $textbox-prepand-multiline-filled-padding; + } + + &.e-append-wrapper textarea.e-input, + &.e-append-wrapper.e-input-focus textarea.e-input, + &.e-append-wrapper textarea.e-input:focus { + padding: $textbox-prepand-append-multiline-filled-padding; + } + + & textarea.e-input, + &.e-input-focus textarea.e-input, + & textarea.e-input:focus { + padding: $textbox-prepand-multiline-filled-textarea-padding; + } + + &.e-float-input.e-control-wrapper label.e-float-text.e-label-top { + top: $textbox-prepand-multiline-filled-label-top; + } + + &.e-float-input.e-control-wrapper label.e-float-text.e-label-bottom { + top: $textbox-multiline-filled-prepand-multiline-label-bottom-top; + } + + &.e-rtl .e-prepend-template { + padding: $textbox-rtlt-prepend-multiline-filled-template-padding; + } + } + + &.e-outline { + & .e-prepend-template { + padding: $textbox-prepand-multiline-outline-padding; + } + + &.e-float-input.e-control-wrapper label.e-float-text.e-label-bottom { + top: $textbox-multiline-outline-prepand-multiline-label-bottom-top; + } + + &.e-append-wrapper textarea.e-input, + &.e-append-wrapper.e-input-focus textarea.e-input, + &.e-append-wrapper textarea.e-input:focus { + padding: $textbox-prepand-append-multiline-outline-textarea-padding; + } + + & textarea.e-input, + &.e-input-focus textarea.e-input, + & textarea.e-input:focus { + padding: $textbox-prepand-multiline-outline-textarea-padding; + } + } + } + + &.e-rtl { + & .e-prepend-template { + padding: $textbox-rtl-prepend-padding; + } + + &.e-outline { + & .e-prepend-template { + padding: $textbox-rtl-outline-prepend-padding; + } + + & input.e-input, + & input.e-input:focus, + &.e-input-focus input.e-input { + padding: $textbox-rtl-prepand-outline-input-padding; + } + + &.e-append-wrapper input.e-input, + &.e-append-wrapper input.e-input:focus, + &.e-append-wrapper.e-input-focus input.e-input { + padding: $textbox-rtl-prepand-append-input-padding; + } + } + + &.e-filled { + padding-right: 0; + + & .e-prepend-template { + padding: $textbox-rtl-filled-prepend-padding; + } + + & textarea.e-input, + &.e-input-focus textarea.e-input, + & textarea.e-input:focus { + padding: $textbox-rtl-multiline-prepand-filled-textarea-padding; + } + } + + &.e-multi-line-input { + & .e-prepend-template { + padding: $textbox-rtl-multiline-prepand-template-padding; + } + + &.e-float-input.e-control-wrapper label.e-label-top { + top: -30px; + } + + &.e-float-input.e-control-wrapper.e-filled .label.e-float-text.e-label-bottom { + top: 7px; + } + + &.e-outline .e-prepend-template { + padding: $textbox-rtl-multiline-outline-prepand-template-padding; + } + + &.e-outline textarea.e-input, + &.e-outline.e-input-focus textarea.e-input, + &.e-outline textarea.e-input:focus { + padding: $textbox-rtl-multiline-prepand-outline-textarea-padding; + } + + &.e-outline.e-append-wrapper textarea.e-input, + &.e-filled.e-append-wrapper textarea.e-input, + &.e-outline.e-append-wrapper.e-input-focus textarea.e-input, + &.e-filled.e-append-wrapper.e-input-focus textarea.e-input, + &.e-outline.e-append-wrapper textarea.e-input:focus, + &.e-filled.e-append-wrapper textarea.e-input:focus { + padding: $textbox-rtl-multiline-prepand-append-outline-textarea-padding; + } + } + } + } + + &.e-append-wrapper { + & .e-append-template { + padding: $textbox-append-padding; + display: flex; + align-items: center; + + & .e-toolkit-icons { + font-size: $textbox-icon-template-font-size; + margin: $textbox-icon-template-margin; + + &:focus-visible { + outline: none; + } + } + + & .e-input-separator { + border: 1px solid $textbox-icon-template-separator-color; + border-width: 0 2px 0 0; + margin: 0 5px; + padding: 7px 0; + } + } + + & input.e-control { + height: auto; + } + + &.e-outline { + & .e-append-template { + padding: $textbox-outline-append-padding; + } + + & input.e-input, + & input.e-input:focus, + &.e-input-focus input.e-input { + padding: $textbox-append-outline-input-padding; + } + } + + &.e-filled { + padding-right: 0; + + & .e-append-template { + padding: $textbox-filled-append-padding; + } + } + + &.e-multi-line-input { + & .e-append-template { + display: block; + padding: $textbox-append-multiline-padding; + + & .e-input-separator { + padding: 5px 0 2px; + } + } + + & textarea.e-input { + height: auto; + } + + &.e-filled { + & .e-append-template { + padding: $textbox-append-multiline-filled-template-padding; + } + + & textarea.e-input, + &.e-input-focus textarea.e-input, + & textarea.e-input:focus { + padding: $textbox-append-multiline-filled-textarea-padding; + } + } + + &.e-outline { + & .e-append-template { + padding: $textbox-append-multiline-outline-template-padding; + } + & textarea.e-input, + &.e-input-focus textarea.e-input, + & textarea.e-input:focus { + padding: $textbox-append-multiline-outline-textarea-padding; + } + } + } + + &.e-rtl { + & .e-append-template { + padding: $textbox-rtl-append-template-padding; + } + + &.e-outline { + & .e-append-template { + padding: $textbox-rtl-append-outline-template-padding; + } + + & input.e-input, + & input.e-input:focus, + &.e-input-focus input.e-input { + padding: $textbox-rtl-append-outline-input-padding; + } + } + + &.e-filled { + padding-left: 0; + + & input.e-input, + & input.e-input:focus, + &.e-input-focus input.e-input { + padding: 14px 12px 5px; + } + + & .e-append-template { + padding: $textbox-rtl-append-filled-template-padding; + } + } + + &.e-multi-line-input.e-filled .e-append-template { + padding: $textbox-rtl-multiline-append-filled-template-padding; + } + + &.e-multi-line-input.e-filled textarea.e-input, + &.e-multi-line-input.e-filled.e-input-focus textarea.e-input, + &.e-multi-line-input.e-filled textarea.e-input:focus { + padding: $textbox-rtl-multiline-append-filled-textarea-padding; + } + + &.e-multi-line-input.e-outline textarea.e-input, + &.e-multi-line-input.e-outline.e-input-focus textarea.e-input, + &.e-multi-line-input.e-outline textarea.e-input:focus { + padding: $textbox-rtl-multiline-append-outline-textarea-padding; + } + } + } +} + + .e-float-input.e-input-group.e-prepend-wrapper.e-append-wrapper label.e-float-text.e-label-top { + margin-left: 0 !important; /* stylelint-disable-line declaration-no-important */ + } + .e-float-input.e-input-group.e-prepend-wrapper label.e-float-text.e-label-top { + margin-left: 0 !important; /* stylelint-disable-line declaration-no-important */ + } + .e-float-input.e-rtl.e-input-group.e-prepend-wrapper.e-append-wrapper label.e-float-text.e-label-top, + .e-float-input.e-rtl.e-input-group.e-prepend-wrapper label.e-float-text.e-label-top { + margin-right: 0 !important; /* stylelint-disable-line declaration-no-important */ + } + +.e-input-group.e-prepend-wrapper.e-input-focus input.e-input { + padding-left: 1px; +} + +.e-input-group.e-rtl.e-prepend-wrapper.e-input-focus input.e-input { + padding-right: 1px; +} + +/* stylelint-disable-line no-empty-source */ + +.e-input-group.e-multi-line-input.e-auto-width { + width: auto; +} + +.e-input-group.e-multi-line-input { + textarea.e-resize-x { + resize: horizontal !important; + } + + textarea.e-resize-y { + resize: vertical !important; + } + + textarea.e-resize-xy { + resize: both !important; + } + + textarea.e-textarea.e-resize-none { + resize: none !important; + } +} + +.e-float-input .e-clear-icon:hover, +.e-float-input.e-control-wrapper .e-clear-icon:hover, +.e-input-group .e-clear-icon:hover, +.e-input-group.e-control-wrapper .e-clear-icon:hover { + background: none; + border: none; +} + +.e-float-input:not(.e-disabled) .e-clear-icon:hover, +.e-float-input.e-control-wrapper:not(.e-disabled) .e-clear-icon:hover, +.e-input-group:not(.e-disabled) .e-clear-icon:hover, +.e-input-group.e-control-wrapper:not(.e-disabled) .e-clear-icon:hover { + background: none; +} + +// WCAG 2.1.1 Keyboard: visual parity after promoting the textarea clear +// icon from to . Strip default