From 986751ca42cd83014280eee87e879335ff4913eb Mon Sep 17 00:00:00 2001 From: Iacopo Leardini Date: Mon, 18 Dec 2023 16:01:16 +0100 Subject: [PATCH 01/11] feat(): setup playwright component testing --- .gitignore | 8 + package-lock.json | 2942 ++++++++++++++++++++++++++++++++++----- package.json | 5 +- playwright-ct.config.ts | 46 + playwright/index.html | 12 + playwright/index.tsx | 16 + 6 files changed, 2711 insertions(+), 318 deletions(-) create mode 100644 playwright-ct.config.ts create mode 100644 playwright/index.html create mode 100644 playwright/index.tsx diff --git a/.gitignore b/.gitignore index 5146233f..20721350 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,11 @@ yarn-error.log* dist .env build-storybook.log +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ diff --git a/package-lock.json b/package-lock.json index e40bfe59..88363c1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "@appquality/appquality-design-system", - "version": "1.0.42", + "version": "1.0.50", "license": "ISC", "dependencies": { "@appquality/mobiscroll": "^5.10.1", @@ -23,6 +23,8 @@ "devDependencies": { "@babel/cli": "^7.14.3", "@babel/preset-typescript": "^7.14.5", + "@playwright/experimental-ct-react17": "^1.40.1", + "@playwright/test": "^1.40.1", "@rollup/plugin-image": "^2.1.1", "@storybook/addon-actions": "^6.2.9", "@storybook/addon-essentials": "^6.2.9", @@ -446,44 +448,45 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", - "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -493,13 +496,19 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, "node_modules/@babel/generator": { - "version": "7.19.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", - "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dependencies": { - "@babel/types": "^7.19.4", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -545,22 +554,33 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dependencies": { - "@babel/compat-data": "^7.19.3", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.19.0", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", @@ -616,9 +636,9 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "engines": { "node": ">=6.9.0" } @@ -636,23 +656,23 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -671,32 +691,32 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-optimise-call-expression": { @@ -712,9 +732,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "engines": { "node": ">=6.9.0" } @@ -754,11 +774,11 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dependencies": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -777,36 +797,36 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } @@ -827,25 +847,25 @@ } }, "node_modules/@babel/helpers": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", - "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.4", - "@babel/types": "^7.19.4" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -853,9 +873,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", - "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1920,6 +1940,36 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-react-pure-annotations": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", @@ -2314,32 +2364,32 @@ } }, "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", - "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.4", - "@babel/types": "^7.19.4", - "debug": "^4.1.0", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -2347,12 +2397,12 @@ } }, "node_modules/@babel/types": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", - "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2667,6 +2717,358 @@ "typescript": ">=2.7" } }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -3654,9 +4056,9 @@ } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -4082,6 +4484,842 @@ "@octokit/openapi-types": "^12.11.0" } }, + "node_modules/@playwright/experimental-ct-core": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/@playwright/experimental-ct-core/-/experimental-ct-core-1.40.1.tgz", + "integrity": "sha512-FjYQP74I2xVAO6W52+Yn2t48FDs+IhOHcWAwZHqAX+lHVHidz4f/b0FY3Qnq8+ZIt5TgqucEzGXbw/TdqJYDtA==", + "dev": true, + "dependencies": { + "playwright": "1.40.1", + "playwright-core": "1.40.1", + "vite": "^4.4.10" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/@types/node": { + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/@playwright/experimental-ct-core/node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/@playwright/experimental-ct-core/node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@playwright/experimental-ct-core/node_modules/vite": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/@playwright/experimental-ct-react17": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/@playwright/experimental-ct-react17/-/experimental-ct-react17-1.40.1.tgz", + "integrity": "sha512-QqKuZXbyTSiZAWJN0xewbMm7JCeRvZFHfzkaG27XInU+AmkJAFm5MAz1diycaD5JCdCwH1Y0mLB2Q6qz6sRyGg==", + "dev": true, + "dependencies": { + "@playwright/experimental-ct-core": "1.40.1", + "@vitejs/plugin-react": "^4.0.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/android-arm": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.9.tgz", + "integrity": "sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/android-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.9.tgz", + "integrity": "sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/android-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.9.tgz", + "integrity": "sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/darwin-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.9.tgz", + "integrity": "sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/darwin-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.9.tgz", + "integrity": "sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.9.tgz", + "integrity": "sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/freebsd-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.9.tgz", + "integrity": "sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-arm": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.9.tgz", + "integrity": "sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.9.tgz", + "integrity": "sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-ia32": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.9.tgz", + "integrity": "sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-loong64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.9.tgz", + "integrity": "sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-mips64el": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.9.tgz", + "integrity": "sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-ppc64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.9.tgz", + "integrity": "sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-riscv64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.9.tgz", + "integrity": "sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-s390x": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.9.tgz", + "integrity": "sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/linux-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.9.tgz", + "integrity": "sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/netbsd-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.9.tgz", + "integrity": "sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/openbsd-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.9.tgz", + "integrity": "sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/sunos-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.9.tgz", + "integrity": "sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/win32-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.9.tgz", + "integrity": "sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/win32-ia32": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.9.tgz", + "integrity": "sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@esbuild/win32-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.9.tgz", + "integrity": "sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@types/node": { + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/@vitejs/plugin-react": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", + "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.5", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/esbuild": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.9.tgz", + "integrity": "sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==", + "dev": true, + "hasInstallScript": true, + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.19.9", + "@esbuild/android-arm64": "0.19.9", + "@esbuild/android-x64": "0.19.9", + "@esbuild/darwin-arm64": "0.19.9", + "@esbuild/darwin-x64": "0.19.9", + "@esbuild/freebsd-arm64": "0.19.9", + "@esbuild/freebsd-x64": "0.19.9", + "@esbuild/linux-arm": "0.19.9", + "@esbuild/linux-arm64": "0.19.9", + "@esbuild/linux-ia32": "0.19.9", + "@esbuild/linux-loong64": "0.19.9", + "@esbuild/linux-mips64el": "0.19.9", + "@esbuild/linux-ppc64": "0.19.9", + "@esbuild/linux-riscv64": "0.19.9", + "@esbuild/linux-s390x": "0.19.9", + "@esbuild/linux-x64": "0.19.9", + "@esbuild/netbsd-x64": "0.19.9", + "@esbuild/openbsd-x64": "0.19.9", + "@esbuild/sunos-x64": "0.19.9", + "@esbuild/win32-arm64": "0.19.9", + "@esbuild/win32-ia32": "0.19.9", + "@esbuild/win32-x64": "0.19.9" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true, + "peer": true + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/rollup": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.1.tgz", + "integrity": "sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==", + "dev": true, + "peer": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.1", + "@rollup/rollup-android-arm64": "4.9.1", + "@rollup/rollup-darwin-arm64": "4.9.1", + "@rollup/rollup-darwin-x64": "4.9.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.1", + "@rollup/rollup-linux-arm64-gnu": "4.9.1", + "@rollup/rollup-linux-arm64-musl": "4.9.1", + "@rollup/rollup-linux-riscv64-gnu": "4.9.1", + "@rollup/rollup-linux-x64-gnu": "4.9.1", + "@rollup/rollup-linux-x64-musl": "4.9.1", + "@rollup/rollup-win32-arm64-msvc": "4.9.1", + "@rollup/rollup-win32-ia32-msvc": "4.9.1", + "@rollup/rollup-win32-x64-msvc": "4.9.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@playwright/experimental-ct-react17/node_modules/vite": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", + "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "dev": true, + "peer": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/@playwright/test": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.40.1.tgz", + "integrity": "sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==", + "dev": true, + "dependencies": { + "playwright": "1.40.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", @@ -4203,6 +5441,188 @@ "rollup": "^1.20.0||^2.0.0" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz", + "integrity": "sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz", + "integrity": "sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz", + "integrity": "sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz", + "integrity": "sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz", + "integrity": "sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz", + "integrity": "sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz", + "integrity": "sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz", + "integrity": "sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz", + "integrity": "sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz", + "integrity": "sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz", + "integrity": "sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz", + "integrity": "sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz", + "integrity": "sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, "node_modules/@samverschueren/stream-to-observable": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", @@ -9145,13 +10565,13 @@ "dev": true }, "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" @@ -12032,9 +13452,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "funding": [ { "type": "opencollective", @@ -12043,13 +13463,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -12367,9 +13791,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001422", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001422.tgz", - "integrity": "sha512-hSesn02u1QacQHhaxl/kNMZwqVG35Sz/8DgvmgedxSH8z9UUpcDYSPYgsj3x5dQNRcNp6BwpSfQfVzYUTm+fog==", + "version": "1.0.30001570", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", + "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==", "funding": [ { "type": "opencollective", @@ -12378,6 +13802,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -15880,9 +17308,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + "version": "1.4.614", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.614.tgz", + "integrity": "sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==" }, "node_modules/elegant-spinner": { "version": "1.0.1", @@ -16243,6 +17671,43 @@ "ext": "^1.1.2" } }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -23853,9 +25318,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -25387,10 +26852,16 @@ "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -25700,9 +27171,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/noms": { "version": "0.0.0", @@ -26924,6 +28395,36 @@ "node": ">=4" } }, + "node_modules/playwright": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.40.1.tgz", + "integrity": "sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==", + "dev": true, + "dependencies": { + "playwright-core": "1.40.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.1.tgz", + "integrity": "sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==", + "dev": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -32077,9 +33578,9 @@ } }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -35028,6 +36529,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/unfetch": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", @@ -35402,9 +36911,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "funding": [ { "type": "opencollective", @@ -35413,6 +36922,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -35420,7 +36933,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -38582,47 +40095,56 @@ } }, "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" } }, "@babel/compat-data": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", - "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==" + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==" }, "@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + } } }, "@babel/generator": { - "version": "7.19.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", - "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "requires": { - "@babel/types": "^7.19.4", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "dependencies": { @@ -38658,14 +40180,30 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "requires": { - "@babel/compat-data": "^7.19.3", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } } }, "@babel/helper-create-class-features-plugin": { @@ -38708,9 +40246,9 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" }, "@babel/helper-explode-assignable-expression": { "version": "7.18.6", @@ -38722,20 +40260,20 @@ } }, "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { @@ -38748,26 +40286,23 @@ } }, "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.15" } }, "@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" } }, "@babel/helper-optimise-call-expression": { @@ -38780,9 +40315,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" }, "@babel/helper-remap-async-to-generator": { "version": "7.18.9", @@ -38810,11 +40345,11 @@ } }, "@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "requires": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.22.5" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -38827,27 +40362,27 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" }, "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==" }, "@babel/helper-wrap-function": { "version": "7.19.0", @@ -38862,29 +40397,29 @@ } }, "@babel/helpers": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", - "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.4", - "@babel/types": "^7.19.4" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", - "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==" + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -39568,6 +41103,24 @@ "@babel/plugin-transform-react-jsx": "^7.18.6" } }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, "@babel/plugin-transform-react-pure-annotations": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", @@ -39851,39 +41404,39 @@ } }, "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", - "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.4", - "@babel/types": "^7.19.4", - "debug": "^4.1.0", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", - "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -40127,6 +41680,160 @@ } } }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "dev": true, + "optional": true + }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -40889,9 +42596,9 @@ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" }, "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -41260,6 +42967,449 @@ "@octokit/openapi-types": "^12.11.0" } }, + "@playwright/experimental-ct-core": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/@playwright/experimental-ct-core/-/experimental-ct-core-1.40.1.tgz", + "integrity": "sha512-FjYQP74I2xVAO6W52+Yn2t48FDs+IhOHcWAwZHqAX+lHVHidz4f/b0FY3Qnq8+ZIt5TgqucEzGXbw/TdqJYDtA==", + "dev": true, + "requires": { + "playwright": "1.40.1", + "playwright-core": "1.40.1", + "vite": "^4.4.10" + }, + "dependencies": { + "@types/node": { + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "optional": true, + "peer": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true, + "peer": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "vite": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", + "dev": true, + "requires": { + "esbuild": "^0.18.10", + "fsevents": "~2.3.2", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + } + } + } + }, + "@playwright/experimental-ct-react17": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/@playwright/experimental-ct-react17/-/experimental-ct-react17-1.40.1.tgz", + "integrity": "sha512-QqKuZXbyTSiZAWJN0xewbMm7JCeRvZFHfzkaG27XInU+AmkJAFm5MAz1diycaD5JCdCwH1Y0mLB2Q6qz6sRyGg==", + "dev": true, + "requires": { + "@playwright/experimental-ct-core": "1.40.1", + "@vitejs/plugin-react": "^4.0.0" + }, + "dependencies": { + "@esbuild/android-arm": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.9.tgz", + "integrity": "sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/android-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.9.tgz", + "integrity": "sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/android-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.9.tgz", + "integrity": "sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/darwin-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.9.tgz", + "integrity": "sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/darwin-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.9.tgz", + "integrity": "sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.9.tgz", + "integrity": "sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/freebsd-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.9.tgz", + "integrity": "sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-arm": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.9.tgz", + "integrity": "sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.9.tgz", + "integrity": "sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-ia32": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.9.tgz", + "integrity": "sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-loong64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.9.tgz", + "integrity": "sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-mips64el": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.9.tgz", + "integrity": "sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-ppc64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.9.tgz", + "integrity": "sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-riscv64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.9.tgz", + "integrity": "sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-s390x": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.9.tgz", + "integrity": "sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/linux-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.9.tgz", + "integrity": "sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/netbsd-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.9.tgz", + "integrity": "sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/openbsd-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.9.tgz", + "integrity": "sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/sunos-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.9.tgz", + "integrity": "sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/win32-arm64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.9.tgz", + "integrity": "sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/win32-ia32": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.9.tgz", + "integrity": "sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==", + "dev": true, + "optional": true, + "peer": true + }, + "@esbuild/win32-x64": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.9.tgz", + "integrity": "sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==", + "dev": true, + "optional": true, + "peer": true + }, + "@types/node": { + "version": "20.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", + "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@vitejs/plugin-react": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", + "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.5", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.0" + } + }, + "acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "optional": true, + "peer": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true, + "peer": true + }, + "esbuild": { + "version": "0.19.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.9.tgz", + "integrity": "sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==", + "dev": true, + "peer": true, + "requires": { + "@esbuild/android-arm": "0.19.9", + "@esbuild/android-arm64": "0.19.9", + "@esbuild/android-x64": "0.19.9", + "@esbuild/darwin-arm64": "0.19.9", + "@esbuild/darwin-x64": "0.19.9", + "@esbuild/freebsd-arm64": "0.19.9", + "@esbuild/freebsd-x64": "0.19.9", + "@esbuild/linux-arm": "0.19.9", + "@esbuild/linux-arm64": "0.19.9", + "@esbuild/linux-ia32": "0.19.9", + "@esbuild/linux-loong64": "0.19.9", + "@esbuild/linux-mips64el": "0.19.9", + "@esbuild/linux-ppc64": "0.19.9", + "@esbuild/linux-riscv64": "0.19.9", + "@esbuild/linux-s390x": "0.19.9", + "@esbuild/linux-x64": "0.19.9", + "@esbuild/netbsd-x64": "0.19.9", + "@esbuild/openbsd-x64": "0.19.9", + "@esbuild/sunos-x64": "0.19.9", + "@esbuild/win32-arm64": "0.19.9", + "@esbuild/win32-ia32": "0.19.9", + "@esbuild/win32-x64": "0.19.9" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true, + "peer": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true, + "peer": true + }, + "postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "dev": true, + "peer": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "rollup": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.1.tgz", + "integrity": "sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==", + "dev": true, + "peer": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.9.1", + "@rollup/rollup-android-arm64": "4.9.1", + "@rollup/rollup-darwin-arm64": "4.9.1", + "@rollup/rollup-darwin-x64": "4.9.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.1", + "@rollup/rollup-linux-arm64-gnu": "4.9.1", + "@rollup/rollup-linux-arm64-musl": "4.9.1", + "@rollup/rollup-linux-riscv64-gnu": "4.9.1", + "@rollup/rollup-linux-x64-gnu": "4.9.1", + "@rollup/rollup-linux-x64-musl": "4.9.1", + "@rollup/rollup-win32-arm64-msvc": "4.9.1", + "@rollup/rollup-win32-ia32-msvc": "4.9.1", + "@rollup/rollup-win32-x64-msvc": "4.9.1", + "fsevents": "~2.3.2" + } + }, + "terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "vite": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", + "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "dev": true, + "peer": true, + "requires": { + "esbuild": "^0.19.3", + "fsevents": "~2.3.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + } + } + } + }, + "@playwright/test": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.40.1.tgz", + "integrity": "sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==", + "dev": true, + "requires": { + "playwright": "1.40.1" + } + }, "@pmmmwh/react-refresh-webpack-plugin": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", @@ -41326,6 +43476,110 @@ "picomatch": "^2.2.2" } }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz", + "integrity": "sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz", + "integrity": "sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz", + "integrity": "sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz", + "integrity": "sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz", + "integrity": "sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz", + "integrity": "sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz", + "integrity": "sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz", + "integrity": "sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz", + "integrity": "sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz", + "integrity": "sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz", + "integrity": "sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz", + "integrity": "sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==", + "dev": true, + "optional": true, + "peer": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz", + "integrity": "sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==", + "dev": true, + "optional": true, + "peer": true + }, "@samverschueren/stream-to-observable": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", @@ -44898,13 +47152,13 @@ "dev": true }, "@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" @@ -47264,14 +49518,14 @@ } }, "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" } }, "bser": { @@ -47527,9 +49781,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001422", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001422.tgz", - "integrity": "sha512-hSesn02u1QacQHhaxl/kNMZwqVG35Sz/8DgvmgedxSH8z9UUpcDYSPYgsj3x5dQNRcNp6BwpSfQfVzYUTm+fog==" + "version": "1.0.30001570", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", + "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==" }, "capture-exit": { "version": "2.0.0", @@ -50338,9 +52592,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + "version": "1.4.614", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.614.tgz", + "integrity": "sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==" }, "elegant-spinner": { "version": "1.0.1", @@ -50644,6 +52898,36 @@ "ext": "^1.1.2" } }, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -56385,9 +58669,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonfile": { "version": "6.1.0", @@ -57620,9 +59904,9 @@ "integrity": "sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==" }, "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true }, "nanomatch": { @@ -57887,9 +60171,9 @@ } }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "noms": { "version": "0.0.0", @@ -58831,6 +61115,22 @@ } } }, + "playwright": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.40.1.tgz", + "integrity": "sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==", + "dev": true, + "requires": { + "fsevents": "2.3.2", + "playwright-core": "1.40.1" + } + }, + "playwright-core": { + "version": "1.40.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.1.tgz", + "integrity": "sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==", + "dev": true + }, "pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -62914,9 +65214,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "send": { "version": "0.18.0", @@ -65272,6 +67572,14 @@ "which-boxed-primitive": "^1.0.2" } }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true, + "optional": true, + "peer": true + }, "unfetch": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", @@ -65558,9 +67866,9 @@ "dev": true }, "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" diff --git a/package.json b/package.json index 3d86223f..7bade61e 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "release": "npx auto shipit --base-branch=main", "storybook": "start-storybook -p 6006 -s public", "build-storybook": "build-storybook -s public", - "test": "react-scripts test" + "test": "react-scripts test", + "test-ct": "playwright test -c playwright-ct.config.ts" }, "eslintConfig": { "extends": [ @@ -59,6 +60,8 @@ "devDependencies": { "@babel/cli": "^7.14.3", "@babel/preset-typescript": "^7.14.5", + "@playwright/experimental-ct-react17": "^1.40.1", + "@playwright/test": "^1.40.1", "@rollup/plugin-image": "^2.1.1", "@storybook/addon-actions": "^6.2.9", "@storybook/addon-essentials": "^6.2.9", diff --git a/playwright-ct.config.ts b/playwright-ct.config.ts new file mode 100644 index 00000000..e9b22d15 --- /dev/null +++ b/playwright-ct.config.ts @@ -0,0 +1,46 @@ +import { defineConfig, devices } from "@playwright/experimental-ct-react17"; + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: "./", + /* The base directory, relative to the config file, for snapshot files created with toMatchSnapshot and toHaveScreenshot. */ + snapshotDir: "./__snapshots__", + /* Maximum time one test can run for. */ + timeout: 10 * 1000, + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: "html", + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: "on-first-retry", + + /* Port to use for Playwright component endpoint. */ + ctPort: 3100, + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: "chromium", + use: { ...devices["Desktop Chrome"] }, + }, + { + name: "firefox", + use: { ...devices["Desktop Firefox"] }, + }, + { + name: "webkit", + use: { ...devices["Desktop Safari"] }, + }, + ], +}); diff --git a/playwright/index.html b/playwright/index.html new file mode 100644 index 00000000..610ddf8a --- /dev/null +++ b/playwright/index.html @@ -0,0 +1,12 @@ + + + + + + Testing Page + + +
+ + + diff --git a/playwright/index.tsx b/playwright/index.tsx new file mode 100644 index 00000000..30198277 --- /dev/null +++ b/playwright/index.tsx @@ -0,0 +1,16 @@ +// Import styles, initialize component theme here. +// import '../src/common.css'; +import React from "react"; +import { beforeMount } from "@playwright/experimental-ct-react17/hooks"; +import GlobalStyle from "../src/shared/globalStyle"; +import { ThemeProvider } from "styled-components"; +import { aqBootstrapTheme } from "../src/stories/theme/defaultTheme"; + +beforeMount(async ({ App }) => { + return ( + + + + + ); +}); From 305b52ece5946445725763be727add55addb6d8c Mon Sep 17 00:00:00 2001 From: Iacopo Leardini Date: Mon, 18 Dec 2023 16:02:01 +0100 Subject: [PATCH 02/11] chore: remove old unused test files --- src/stories/header/header.spec.tsx | 37 ---------- src/stories/pagination/pagination.spec.tsx | 81 ---------------------- src/stories/select/Select.spec.tsx | 25 ------- src/stories/sidebar/sidebar.spec.tsx | 70 ------------------- src/stories/table/table.spec.tsx | 41 ----------- 5 files changed, 254 deletions(-) delete mode 100644 src/stories/header/header.spec.tsx delete mode 100644 src/stories/pagination/pagination.spec.tsx delete mode 100644 src/stories/select/Select.spec.tsx delete mode 100644 src/stories/sidebar/sidebar.spec.tsx delete mode 100644 src/stories/table/table.spec.tsx diff --git a/src/stories/header/header.spec.tsx b/src/stories/header/header.spec.tsx deleted file mode 100644 index 02181094..00000000 --- a/src/stories/header/header.spec.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { render, screen } from "@testing-library/react"; -import { testUser } from "./_data"; -import { - LoadingHeader, - LoggedInHeader, - LoggedOutHeader, -} from "./Header.stories"; - -describe("logged out site-header", () => { - it("should render with the login text only", () => { - render(); - expect(screen.getByText("login")).toBeVisible(); - }); -}); - -describe("logged in site-header user info", () => { - it("should render with the correct user informations only", () => { - render(); - expect(screen.queryByText("login")).toBeNull(); - expect( - screen.getByText(`${testUser.name} ${testUser.surname}`) - ).toBeVisible(); - expect(screen.getByText(`(T${testUser.id})`)).toBeVisible(); - }); -}); - -describe("loading site-header user info", () => { - it("should only render a skeleton animation only", () => { - render(); - expect(screen.queryByText("login")).toBeNull(); - expect( - screen.queryByText(`${testUser.name} ${testUser.surname}`) - ).toBeNull(); - expect(screen.queryByText(`(T${testUser.id})`)).toBeNull(); - expect(screen.getByTestId("skeleton-p")).toBeVisible(); - }); -}); diff --git a/src/stories/pagination/pagination.spec.tsx b/src/stories/pagination/pagination.spec.tsx deleted file mode 100644 index b0403e2c..00000000 --- a/src/stories/pagination/pagination.spec.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import { render, screen } from "@testing-library/react"; -import { BasicPaginationArgs } from "./Pagination.stories.args"; -import { Pagination } from "./Pagination"; -import { ThemeProvider } from "styled-components"; -import { aqBootstrapTheme } from "../theme/defaultTheme"; - -const firstPagePagination = { ...BasicPaginationArgs }; -firstPagePagination.current = 1; -const lastPagePagination = { ...BasicPaginationArgs }; -lastPagePagination.current = lastPagePagination.maxPages; - -jest.mock("react-bootstrap-icons", () => ({ - __esModule: true, - ChevronLeft: () => "ChevronLeft", - ChevronRight: () => "ChevronRight", -})); -describe("Desktop pagination", () => { - beforeAll(() => { - window.matchMedia = - window.matchMedia || - function () { - return { - matches: false, - addListener: function () {}, - removeListener: function () {}, - }; - }; - }); - - it("should render the last page", () => { - render( - - - - ); - expect(screen.getByText(BasicPaginationArgs.maxPages)).toBeInTheDocument(); - }); - - it("should render the current page", () => { - render( - - - - ); - expect(screen.getByText(BasicPaginationArgs.current)).toBeInTheDocument(); - }); - - it("should render the prev and next link if not first or max", () => { - render( - - - - ); - expect(screen.getByText("ChevronRight")).toBeInTheDocument(); - expect(screen.getByText("ChevronLeft")).toBeInTheDocument(); - }); - - it("should not render the prev if first", () => { - render( - - - - ); - expect(screen.getByText("ChevronLeft")).toBeInTheDocument(); - expect(screen.getByText("ChevronLeft")).toHaveAttribute("disabled"); - expect(screen.getByText("ChevronRight")).toBeInTheDocument(); - expect(screen.getByText("ChevronRight")).not.toHaveAttribute("disabled"); - }); - - it("should not render the next if last", () => { - render( - - - - ); - expect(screen.getByText("ChevronLeft")).toBeInTheDocument(); - expect(screen.getByText("ChevronLeft")).not.toHaveAttribute("disabled"); - expect(screen.getByText("ChevronRight")).toBeInTheDocument(); - expect(screen.getByText("ChevronRight")).toHaveAttribute("disabled"); - }); -}); diff --git a/src/stories/select/Select.spec.tsx b/src/stories/select/Select.spec.tsx deleted file mode 100644 index 5d1bf83c..00000000 --- a/src/stories/select/Select.spec.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { render } from "@testing-library/react"; -import { ThemeProvider } from "styled-components"; -import { Select } from "./Select"; -import { aqBootstrapTheme } from "../theme/defaultTheme"; -import { basicOptions } from "./_data"; - -describe("Basic Select should render options correctly", () => { - it("There should be as many options as provided", () => { - const { container } = render( - - )} - + ); }; -const Input = styled(BaseInput)` +export const StyledInput = styled.div<{ type: string; isInvalid?: boolean }>` position: relative; display: flex; flex-wrap: wrap; From a552e859eca5d5ad46af02915626fc78b28d4be4 Mon Sep 17 00:00:00 2001 From: Iacopo Leardini Date: Mon, 18 Dec 2023 18:21:38 +0100 Subject: [PATCH 04/11] wip(DateInput): Add component and its stories --- src/stories/DateInput/DateInput.spec.tsx | 18 + src/stories/DateInput/DateInput.stories.tsx | 29 + src/stories/DateInput/_style.tsx | 4826 +++++++++++++++++++ src/stories/DateInput/index.tsx | 120 + 4 files changed, 4993 insertions(+) create mode 100644 src/stories/DateInput/DateInput.spec.tsx create mode 100644 src/stories/DateInput/DateInput.stories.tsx create mode 100644 src/stories/DateInput/_style.tsx create mode 100644 src/stories/DateInput/index.tsx diff --git a/src/stories/DateInput/DateInput.spec.tsx b/src/stories/DateInput/DateInput.spec.tsx new file mode 100644 index 00000000..2d0fdc9e --- /dev/null +++ b/src/stories/DateInput/DateInput.spec.tsx @@ -0,0 +1,18 @@ +import { test, expect } from "@playwright/experimental-ct-react17"; +import DateInput from "."; + +test.describe("DateInput", () => { + test("should render an input tag and a button to open a datepicker", async ({ + page, + mount, + }) => { + const component = await mount(); + component.locator("input").click(); + expect(component).toBeTruthy(); + }); + test("should print a placeholder if any", async ({ page, mount }) => {}); + test("should accept a date in a specific format", async ({ + page, + mount, + }) => {}); +}); diff --git a/src/stories/DateInput/DateInput.stories.tsx b/src/stories/DateInput/DateInput.stories.tsx new file mode 100644 index 00000000..593b073f --- /dev/null +++ b/src/stories/DateInput/DateInput.stories.tsx @@ -0,0 +1,29 @@ +import DateInput from "."; +import { Story, Meta } from "@storybook/react"; +import { DatepickerGlobalStyle } from "./_style"; + +export default { + title: "Datepicker", + component: DateInput, +} as Meta; + +const DatepickerTemplate: Story = (args) => ( + <> + +

Seleziona una data

+ + +); +export const DatepickerInput = DatepickerTemplate.bind({}); +DatepickerInput.args = { + onChange: ({ value }: { value: Date }) => { + console.log(value); + }, +}; +export const DatepickerInputWithIcon = DatepickerTemplate.bind({}); +DatepickerInput.args = { + onChange: ({ value }: { value: Date }) => { + console.log(value); + }, + enableManualInput: true, +}; diff --git a/src/stories/DateInput/_style.tsx b/src/stories/DateInput/_style.tsx new file mode 100644 index 00000000..9baf7ef0 --- /dev/null +++ b/src/stories/DateInput/_style.tsx @@ -0,0 +1,4826 @@ +import { useEffect } from "react"; +import { createGlobalStyle } from "styled-components"; +import { InvalidFocusStyle, InvalidInputStyle } from "../form/_style"; + +function addOpacityToHex(hex: string, alpha: string) { + let hexAlphaPercent = parseInt((parseFloat(alpha) * 100).toString(), 16); + return `${hex}${hexAlphaPercent}`; +} + +export const DatepickerGlobalStyle = createGlobalStyle`${(props) => { + return ` + @font-face { + font-family: Mobiscroll; + src: url(icons_mobiscroll.woff?vytnpl) format("woff"), + url(icons_mobiscroll.woff) format("woff"), + url(icons_mobiscroll.ttf?vytnpl) format("truetype"); + font-weight: 400; + font-style: normal; + } + + .mbsc-font-icon:before { + font-family: Mobiscroll; + speak: none; + font-style: normal; + font-weight: 400; + font-variant: normal; + text-transform: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + + .mbsc-icon-material-backspace:before { + content: "\\ea01"; + } + + .mbsc-icon-material-check-box-outline-blank:before { + content: "\\ea02"; + } + + .mbsc-icon-material-check:before { + content: "\\ea03"; + } + + .mbsc-icon-material-keyboard-arrow-down:before { + content: "\\ea04"; + } + + .mbsc-icon-material-keyboard-arrow-left:before { + content: "\\ea05"; + } + + .mbsc-icon-material-keyboard-arrow-right:before { + content: "\\ea06"; + } + + .mbsc-icon-material-keyboard-arrow-up:before { + content: "\\ea07"; + } + + .mbsc-icon-material-star-outline:before { + content: "\\ea08"; + } + + .mbsc-icon-material-star:before { + content: "\\ea09"; + } + + .mbsc-icon { + display: inline-block; + vertical-align: middle; + width: 1.5em; + height: 1.5em; + line-height: 1.5em; + text-align: center; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -moz-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + } + + .mbsc-icon > svg { + display: block; + margin: 0 auto; + width: 100%; + height: 100%; + fill: currentColor; + } + + .mbsc-material.mbsc-description.mbsc-disabled, + .mbsc-material.mbsc-form-control-label.mbsc-disabled { + opacity: 0.3; + } + + .mbsc-form-control-label { + display: block; + } + + .mbsc-form-control-input { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + border: 0; + opacity: 0; + margin: 0; + z-index: 3; + } + + .mbsc-material.mbsc-textfield-wrapper { + margin-bottom: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .mbsc-material.mbsc-textfield-inner.mbsc-disabled { + opacity: 0.5; + } + + .mbsc-material.mbsc-textfield { + display: block; + width: 100%; + background-color: transparent; + border-bottom: 0; + font-size: 1em; + -webkit-transition: border-color 0.2s; + transition: border-color 0.2s; + } + + .mbsc-material.mbsc-textfield-has-icon-left { + padding-left: 2em; + } + + .mbsc-material.mbsc-textfield-has-icon-right { + padding-right: 2em; + } + + .mbsc-material.mbsc-textfield-icon { + top: 0.375em; + } + + .mbsc-material.mbsc-textfield-icon-floating, + .mbsc-material.mbsc-textfield-icon-outline, + .mbsc-material.mbsc-textfield-icon-stacked { + top: 1em; + } + + .mbsc-material .mbsc-textfield-ripple { + display: none; + } + + .mbsc-material.mbsc-label { + font-size: 0.75em; + } + + .mbsc-material.mbsc-label-inline { + line-height: 2em; + font-size: 1em; + } + + .mbsc-material.mbsc-label-inline.mbsc-ltr { + padding-right: 0.5em; + } + + .mbsc-material.mbsc-label-inline.mbsc-rtl { + padding-left: 0.5em; + } + + .mbsc-material.mbsc-label-floating { + font-size: 1em; + line-height: 1.5em; + top: 1.125em; + } + + .mbsc-material.mbsc-label-floating-active { + -webkit-transform: translateY(-1.125em) scale(0.75); + transform: translateY(-1.125em) scale(0.75); + } + + .mbsc-material.mbsc-label.mbsc-disabled { + opacity: 0.5; + } + + .mbsc-material.mbsc-error-message.mbsc-ltr { + left: 0; + } + + .mbsc-material.mbsc-error-message.mbsc-rtl { + right: 0; + } + + .mbsc-material.mbsc-error-message-has-icon-left.mbsc-ltr { + left: 2.66667em; + } + + .mbsc-material.mbsc-error-message-has-icon-right.mbsc-rtl { + right: 2.66667em; + } + + .mbsc-material.mbsc-textfield-underline-floating, + .mbsc-material.mbsc-textfield-underline-stacked { + height: 3em; + padding-top: 0.875em; + } + + .mbsc-material.mbsc-textfield-icon-underline { + top: 0.25em; + } + + .mbsc-material.mbsc-textfield-icon-underline.mbsc-textfield-icon-floating, + .mbsc-material.mbsc-textfield-icon-underline.mbsc-textfield-icon-stacked { + top: 1.125em; + } + + .mbsc-material.mbsc-label-underline-inline { + padding-top: 1px; + } + + .mbsc-material.mbsc-label-underline-stacked-has-icon-left.mbsc-ltr { + left: 2.66667em; + } + + .mbsc-material.mbsc-label-underline-stacked-has-icon-right.mbsc-rtl { + right: 2.66667em; + } + + .mbsc-material.mbsc-label-underline-floating-has-icon-left.mbsc-ltr { + left: 2em; + } + + .mbsc-material.mbsc-label-underline-floating-has-icon-right.mbsc-rtl { + right: 2em; + } + + .mbsc-material.mbsc-textfield-box, + .mbsc-material.mbsc-textfield-inner-box { + border-radius: 0.25em; + } + + .mbsc-material.mbsc-textfield-box { + display: block; + width: 100%; + padding: 8px 12px; + color: ${props.theme.palette.primary}; + font-size: 1rem; + background-color: #fff; + background-clip: padding-box; + border: 1px solid ${props.theme.colors.elementGeneric}; + line-height: 1.5; + } + + .mbsc-material.mbsc-textfield-box::placeholder { + font-weight: ${props.theme.typography.fontWeight.light}; + color: ${props.theme.colors.gray500}; + } + + .mbsc-material.mbsc-textfield-box-floating, + .mbsc-material.mbsc-textfield-box-stacked { + height: 3.5em; + padding-top: 1.25em; + } + + .mbsc-material.mbsc-textfield-underline.mbsc-disabled { + border-style: dotted; + } + + .mbsc-material.mbsc-label-box-inline { + padding-top: 1px; + } + + .mbsc-material.mbsc-label-box-stacked { + top: 0.666667em; + } + + .mbsc-material.mbsc-label-box-floating { + top: 1em; + } + + .mbsc-material.mbsc-label-box-floating.mbsc-label-floating-active { + -webkit-transform: translateY(-0.625em) scale(0.75); + transform: translateY(-0.625em) scale(0.75); + } + + .mbsc-material.mbsc-textfield-inner-outline { + padding: 0 2px; + } + + .mbsc-material.mbsc-textfield-outline { + height: 3.5em; + padding: 2px 1em; + border: 0; + border-radius: 4px; + } + + .mbsc-material.mbsc-textfield-fieldset { + top: -0.5em; + border: 1px solid; + border-radius: 4px; + -webkit-transition: border-color 0.2s; + transition: border-color 0.2s; + } + + .mbsc-material.mbsc-textfield-fieldset-has-icon-left { + padding-left: 3em; + } + + .mbsc-material.mbsc-textfield-fieldset-has-icon-right { + padding-right: 3em; + } + + .mbsc-material.mbsc-textfield-fieldset.mbsc-focus { + border-width: 2px; + } + + .mbsc-material.mbsc-textfield-legend { + padding: 0; + margin: 0; + font-size: 0.75em; + color: transparent; + width: 0.01px; + white-space: nowrap; + } + + .mbsc-material.mbsc-textfield-legend-active { + width: auto; + padding: 0 0.333334em; + margin: 0 -0.333334em; + } + + .mbsc-material.mbsc-label-outline-inline { + line-height: 3.375em; + } + + .mbsc-material.mbsc-label-outline-stacked { + top: -0.5em; + margin: 0 2px; + } + + .mbsc-material.mbsc-label-outline-floating { + top: 1em; + margin: 0 2px; + } + + .mbsc-material.mbsc-label-outline-floating.mbsc-label-floating-active { + margin-top: -1px; + -webkit-transform: translateY(-1.5em) scale(0.75); + transform: translateY(-1.5em) scale(0.75); + } + + .mbsc-material.mbsc-error-message-outline { + margin: 0 2px; + } + + .mbsc-material.mbsc-textfield-box-has-icon-left, + .mbsc-material.mbsc-textfield-outline-has-icon-left { + padding-left: 3em; + } + + .mbsc-material.mbsc-textfield-box-has-icon-right, + .mbsc-material.mbsc-textfield-outline-has-icon-right { + padding-right: 3em; + } + + .mbsc-material.mbsc-textfield-icon-box-left, + .mbsc-material.mbsc-textfield-icon-outline-left { + left: 0.75em; + } + + .mbsc-material.mbsc-textfield-icon-box-right, + .mbsc-material.mbsc-textfield-icon-outline-right { + right: 0.75em; + } + + .mbsc-material.mbsc-label-box-stacked.mbsc-ltr, + .mbsc-material.mbsc-label-outline-stacked.mbsc-ltr { + left: 1.333334em; + } + + .mbsc-material.mbsc-label-box-stacked.mbsc-rtl, + .mbsc-material.mbsc-label-outline-stacked.mbsc-rtl { + right: 1.333334em; + } + + .mbsc-material.mbsc-label-box-stacked-has-icon-left.mbsc-ltr, + .mbsc-material.mbsc-label-outline-stacked-has-icon-left.mbsc-ltr { + left: 4em; + } + + .mbsc-material.mbsc-label-box-stacked-has-icon-right.mbsc-rtl, + .mbsc-material.mbsc-label-outline-stacked-has-icon-right.mbsc-rtl { + right: 4em; + } + + .mbsc-material.mbsc-label-box-floating.mbsc-ltr, + .mbsc-material.mbsc-label-outline-floating.mbsc-ltr { + left: 1em; + } + + .mbsc-material.mbsc-label-box-floating.mbsc-rtl, + .mbsc-material.mbsc-label-outline-floating.mbsc-rtl { + right: 1em; + } + + .mbsc-material.mbsc-label-box-floating-has-icon-left.mbsc-ltr, + .mbsc-material.mbsc-label-outline-floating-has-icon-left.mbsc-ltr { + left: 3em; + } + + .mbsc-material.mbsc-label-box-floating-has-icon-left.mbsc-rtl, + .mbsc-material.mbsc-label-outline-floating-has-icon-left.mbsc-rtl { + right: 1em; + } + + .mbsc-material.mbsc-label-box-floating-has-icon-right.mbsc-rtl, + .mbsc-material.mbsc-label-outline-floating-has-icon-right.mbsc-rtl { + right: 3em; + } + + .mbsc-material.mbsc-error-message-box.mbsc-ltr, + .mbsc-material.mbsc-error-message-outline.mbsc-ltr { + left: 1.333334em; + } + + .mbsc-material.mbsc-error-message-box.mbsc-rtl, + .mbsc-material.mbsc-error-message-outline.mbsc-rtl { + right: 1.333334em; + } + + .mbsc-material.mbsc-error-message-box.mbsc-error-message-has-icon-left.mbsc-ltr, + .mbsc-material.mbsc-error-message-outline.mbsc-error-message-has-icon-left.mbsc-ltr { + left: 4em; + } + + .mbsc-material.mbsc-error-message-box.mbsc-error-message-has-icon-right.mbsc-rtl, + .mbsc-material.mbsc-error-message-outline.mbsc-error-message-has-icon-right.mbsc-rtl { + right: 4em; + } + + .mbsc-material.mbsc-select.mbsc-ltr { + padding-right: 3em; + } + + .mbsc-material.mbsc-select.mbsc-rtl { + padding-left: 3em; + } + + .mbsc-material.mbsc-select.mbsc-textfield-has-icon-right.mbsc-ltr { + padding-right: 4.5em; + } + + .mbsc-material.mbsc-select.mbsc-textfield-has-icon-left.mbsc-rtl { + padding-left: 4.5em; + } + + .mbsc-material.mbsc-select.mbsc-textfield-underline-has-icon-right.mbsc-ltr { + padding-right: 3.75em; + } + + .mbsc-material.mbsc-select.mbsc-textfield-underline-has-icon-left.mbsc-rtl { + padding-left: 3.75em; + } + + .mbsc-material.mbsc-select-icon { + top: 0.375em; + } + + .mbsc-material.mbsc-select-icon.mbsc-ltr { + right: 0.75em; + } + + .mbsc-material.mbsc-select-icon.mbsc-rtl { + left: 0.75em; + } + + .mbsc-material.mbsc-select-icon-right.mbsc-ltr { + right: 3em; + } + + .mbsc-material.mbsc-select-icon-left.mbsc-rtl { + left: 3em; + } + + .mbsc-material.mbsc-select-icon-floating, + .mbsc-material.mbsc-select-icon-outline, + .mbsc-material.mbsc-select-icon-stacked { + top: 1em; + } + + .mbsc-material.mbsc-select-icon-underline { + top: 0.25em; + } + + .mbsc-material.mbsc-select-icon-underline.mbsc-ltr { + right: 0; + } + + .mbsc-material.mbsc-select-icon-underline.mbsc-rtl { + left: 0; + } + + .mbsc-material.mbsc-select-icon-underline.mbsc-select-icon-right.mbsc-ltr { + right: 2.25em; + } + + .mbsc-material.mbsc-select-icon-underline.mbsc-select-icon-left.mbsc-rtl { + left: 2.25em; + } + + .mbsc-material.mbsc-select-icon-underline.mbsc-select-icon-floating, + .mbsc-material.mbsc-select-icon-underline.mbsc-select-icon-stacked { + top: 1.125em; + } + + .mbsc-material.mbsc-textarea { + height: 1.875em; + padding-bottom: 0.375em; + } + + .mbsc-material.mbsc-textarea.mbsc-textfield-floating, + .mbsc-material.mbsc-textarea.mbsc-textfield-stacked { + padding-top: 0; + } + + .mbsc-material.mbsc-textarea.mbsc-textfield-outline { + height: 1.5em; + padding-top: 0; + padding-bottom: 0; + } + + .mbsc-material.mbsc-textarea.mbsc-textfield-underline { + padding-bottom: 0.3125em; + } + + .mbsc-material.mbsc-textarea-inner.mbsc-textfield-inner-box { + padding-top: 0.375em; + } + + .mbsc-material.mbsc-textarea-inner.mbsc-textfield-inner-floating, + .mbsc-material.mbsc-textarea-inner.mbsc-textfield-inner-stacked { + padding-top: 1.625em; + } + + .mbsc-material.mbsc-textarea-inner.mbsc-textfield-inner-outline { + padding-top: 1em; + padding-bottom: 1em; + } + + .mbsc-material.mbsc-textarea-inner.mbsc-textfield-inner-underline { + padding-top: 0.25em; + } + + .mbsc-material.mbsc-textarea-inner.mbsc-textfield-inner-underline.mbsc-textfield-inner-floating, + .mbsc-material.mbsc-textarea-inner.mbsc-textfield-inner-underline.mbsc-textfield-inner-stacked { + padding-top: 1.125em; + } + + .mbsc-material.mbsc-textfield.mbsc-error { + border-color: #de3226; + } + + .mbsc-material.mbsc-select-icon, + .mbsc-material.mbsc-textfield-icon { + color: rgba(0, 0, 0, 0.54); + } + + .mbsc-material.mbsc-textfield-ripple { + background-color: #1a73e8; + } + + .mbsc-material.mbsc-textfield-ripple.mbsc-error { + background-color: #de3226; + } + + .mbsc-material.mbsc-label { + color: rgba(0, 0, 0, 0.6); + } + + .mbsc-material.mbsc-label-floating.mbsc-focus, + .mbsc-material.mbsc-label-stacked.mbsc-focus { + color: #1a73e8; + } + + .mbsc-material.mbsc-error-message, + .mbsc-material.mbsc-label.mbsc-error { + color: #de3226; + } + + .mbsc-material.mbsc-select { + background: #fff; + } + + .mbsc-material.mbsc-textfield-box.mbsc-select, + .mbsc-material.mbsc-textfield-inner-box { + background: #f5f5f5; + } + + .mbsc-material.mbsc-textfield-box.mbsc-select.mbsc-hover, + .mbsc-material.mbsc-textfield-inner-box.mbsc-hover { + background: ${props.theme.colors.white}; + } + + .mbsc-material.mbsc-textfield-box.mbsc-select.mbsc-focus, + .mbsc-material.mbsc-textfield-inner-box.mbsc-focus { + background: #e3e3e3; + } + + .mbsc-material.mbsc-textfield-fieldset { + border-color: rgba(0, 0, 0, 0.42); + } + + .mbsc-material.mbsc-textfield-fieldset.mbsc-hover { + border-color: rgba(0, 0, 0, 0.87); + } + + .mbsc-material.mbsc-textfield-fieldset.mbsc-focus { + //border-color: #1a73e8; + } + + .mbsc-material.mbsc-textfield-fieldset.mbsc-error { + border-color: #de3226; + } + + .mbsc-material.mbsc-textfield-fieldset.disabled { + border-color: rgba(0, 0, 0, 0.87); + } + + .mbsc-material-dark.mbsc-textfield { + border-bottom-color: #fff; + color: #fff; + } + + .mbsc-material-dark.mbsc-textfield.mbsc-hover { + border-color: #fff; + } + + .mbsc-material-dark.mbsc-textfield.mbsc-error { + border-color: #de3226; + } + + .mbsc-material-dark.mbsc-select-icon, + .mbsc-material-dark.mbsc-textfield-icon { + color: #fff; + } + + .mbsc-material-dark.mbsc-textfield-ripple { + background-color: transparent; + } + + .mbsc-material-dark.mbsc-textfield-ripple.mbsc-error { + background-color: transparent; + } + + .mbsc-material-dark.mbsc-label { + color: hsla(0, 0%, 100%, 0.6); + } + + .mbsc-material-dark.mbsc-label-floating.mbsc-focus, + .mbsc-material-dark.mbsc-label-stacked.mbsc-focus { + color: #87b0f3; + } + + .mbsc-material-dark.mbsc-error-message, + .mbsc-material-dark.mbsc-label.mbsc-error { + color: #de3226; + } + + .mbsc-material-dark.mbsc-select { + background: #000; + } + + .mbsc-material-dark.mbsc-textfield-box.mbsc-select, + .mbsc-material-dark.mbsc-textfield-inner-box { + background: #0a0a0a; + } + + .mbsc-material-dark.mbsc-textfield-box.mbsc-select.mbsc-hover, + .mbsc-material-dark.mbsc-textfield-inner-box.mbsc-hover { + background: #121212; + } + + .mbsc-material-dark.mbsc-textfield-box.mbsc-select.mbsc-focus, + .mbsc-material-dark.mbsc-textfield-inner-box.mbsc-focus { + background: #1c1c1c; + } + + .mbsc-material-dark.mbsc-textfield-fieldset, + .mbsc-material-dark.mbsc-textfield-fieldset.mbsc-hover { + border-color: #fff; + } + + .mbsc-material-dark.mbsc-textfield-fieldset.mbsc-focus { + border-color: #87b0f3; + } + + .mbsc-material-dark.mbsc-textfield-fieldset.mbsc-error { + border-color: #de3226; + } + + .mbsc-material-dark.mbsc-textfield-fieldset.disabled { + border-color: #fff; + } + + @-webkit-keyframes autofill { + 0% { + opacity: 1; + } + to { + opacity: 1; + } + } + + @keyframes autofill { + 0% { + opacity: 1; + } + to { + opacity: 1; + } + } + + .mbsc-textfield-wrapper { + position: relative; + display: block; + margin: 0; + z-index: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + .mbsc-textfield-wrapper-inline { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + } + + .mbsc-textfield-inner { + -moz-box-sizing: border-box; + box-sizing: border-box; + position: relative; + display: block; + } + + .mbsc-textfield-inner-inline { + -webkit-box-flex: 1; + -webkit-flex: 1 auto; + -moz-box-flex: 1; + -ms-flex: 1 auto; + flex: 1 auto; + } + + .mbsc-textfield { + display: block; + width: 100%; + font-size: 1em; + margin: 0; + padding: 0; + border: 0; + border-radius: 0; + outline: 0; + font-family: ${props.theme.typography.fontFamily.base}; + -moz-box-sizing: border-box; + box-sizing: border-box; + -moz-appearance: none; + appearance: none; + -webkit-appearance: none; + } + + .mbsc-textfield:-webkit-autofill { + -webkit-animation-name: autofill; + animation-name: autofill; + } + + .mbsc-textfield::-webkit-inner-spin-button { + height: 2em; + -webkit-align-self: center; + align-self: center; + } + + .mbsc-textfield::-moz-placeholder { + color: ${props.theme.colors.disabled}; + opacity: 1; + } + + .mbsc-textfield::-webkit-input-placeholder { + color: ${props.theme.colors.disabled}; + opacity: 1; + } + + .mbsc-textfield-floating:-ms-input-placeholder { + color: transparent; + } + + .mbsc-textfield-floating::-moz-placeholder { + opacity: 0; + -moz-transition: opacity 0.2s; + transition: opacity 0.2s; + } + + .mbsc-textfield-floating::-webkit-input-placeholder { + opacity: 0; + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; + } + + .mbsc-textfield-floating::-webkit-datetime-edit { + color: transparent; + } + + .mbsc-textfield-floating-active:-ms-input-placeholder { + color: inherit; + } + + .mbsc-textfield-floating-active::-moz-placeholder { + opacity: 0.5; + } + + .mbsc-textfield-floating-active::-webkit-input-placeholder { + opacity: 0.5; + } + + .mbsc-textfield-floating-active::-webkit-datetime-edit { + color: inherit; + } + + .mbsc-textfield-fieldset { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: 0; + padding: 0 1em; + pointer-events: none; + } + + .mbsc-textfield-icon { + position: absolute; + top: 0; + text-align: center; + } + + .mbsc-textfield-icon-left { + left: 0; + } + + .mbsc-textfield-icon-right { + right: 0; + } + + .mbsc-label { + position: absolute; + z-index: 1; + top: 0; + line-height: 1em; + white-space: nowrap; + text-overflow: ellipsis; + pointer-events: none; + } + + .mbsc-label-inline { + position: static; + overflow: hidden; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -moz-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 30%; + max-width: 12.5em; + -moz-box-sizing: border-box; + box-sizing: border-box; + pointer-events: auto; + } + + .mbsc-label-floating-animate { + -webkit-transition: -webkit-transform 0.2s; + transition: -webkit-transform 0.2s; + transition: transform 0.2s; + transition: transform 0.2s, -webkit-transform 0.2s; + } + + .mbsc-label-floating.mbsc-ltr { + -webkit-transform-origin: top left; + transform-origin: top left; + } + + .mbsc-label-floating.mbsc-rtl { + -webkit-transform-origin: top right; + transform-origin: top right; + } + + .mbsc-error-message { + position: absolute; + top: 100%; + font-size: 0.75em; + line-height: 1.5em; + } + + .mbsc-textfield-file { + position: absolute; + left: 0; + opacity: 0; + } + + .mbsc-select { + cursor: pointer; + } + + .mbsc-select-icon { + position: absolute; + text-align: center; + pointer-events: none; + } + + .mbsc-textarea { + resize: none; + overflow: hidden; + line-height: 1.5em; + } + + .mbsc-toggle-icon:hover { + cursor: pointer; + } + + :root { + --mbsc-safe-top: 0; + --mbsc-safe-right: 0; + --mbsc-safe-bottom: 0; + --mbsc-safe-left: 0; + } + + @supports (top: constant(safe-area-inset-top)) { + :root { + --mbsc-safe-top: constant(safe-area-inset-top); + --mbsc-safe-right: constant(safe-area-inset-right); + --mbsc-safe-bottom: constant(safe-area-inset-bottom); + --mbsc-safe-left: constant(safe-area-inset-left); + } + } + + @supports (top: env(safe-area-inset-top)) { + :root { + --mbsc-safe-top: env(safe-area-inset-top); + --mbsc-safe-right: env(safe-area-inset-right); + --mbsc-safe-bottom: env(safe-area-inset-bottom); + --mbsc-safe-left: env(safe-area-inset-left); + } + } + + .mbsc-font { + font-family: -apple-system, Segoe UI, Roboto, sans-serif; + font-size: 16px; + font-weight: ${props.theme.typography.fontWeight.light}; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-text-size-adjust: 100%; + } + + .mbsc-reset { + margin: 0; + padding: 0; + border: 0; + background: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + + .mbsc-resize { + right: 0; + bottom: 0; + overflow: hidden; + z-index: -1; + } + + .mbsc-resize, + .mbsc-resize-i { + position: absolute; + left: 0; + top: 0; + } + + .mbsc-resize-y { + width: 200%; + height: 200%; + } + + .mbsc-hidden { + visibility: hidden; + } + + .mbsc-ltr { + direction: ltr; + } + + .mbsc-rtl { + direction: rtl; + } + + .mbsc-ripple { + background: currentColor; + position: absolute; + top: 0; + left: 0; + opacity: 0; + border-radius: 1000em; + pointer-events: none; + -webkit-transform: scale(0); + transform: scale(0); + } + + .mbsc-flex, + .mbsc-flex-col { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + } + + .mbsc-flex-col { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -moz-box-orient: vertical; + -moz-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + } + + .mbsc-flex-1-1 { + -webkit-box-flex: 1; + -webkit-flex: 1 1; + -moz-box-flex: 1; + -ms-flex: 1 1; + flex: 1 1; + } + + @media (-webkit-min-device-pixel-ratio: 2) { + .mbsc-hb, + .mbsc-hb:after, + .mbsc-hb:before { + border-width: 0.5px !important; + } + } + + .mbsc-material.mbsc-button { + min-width: 4.571429em; + padding: 0.428572em 1.142858em; + border-radius: 0.285715em; + font-size: 0.875em; + font-weight: 600; + line-height: 1.714286em; + -webkit-transition: box-shadow 0.2s ease-out, background-color 0.2s ease-out; + transition: box-shadow 0.2s ease-out, background-color 0.2s ease-out; + margin: 0.5em; + } + + .mbsc-material.mbsc-button-outline { + border: 1px solid; + } + + .mbsc-material.mbsc-button .mbsc-icon { + font-size: 1.142858em; + } + + .mbsc-material.mbsc-icon-button { + min-width: 0; + padding: 0.5em; + border-radius: 2em; + font-size: 1em; + line-height: normal; + } + + .mbsc-material.mbsc-icon-button .mbsc-icon { + width: 1.5em; + height: 1.5em; + font-size: 1em; + } + + .mbsc-material.mbsc-button.mbsc-disabled, + .mbsc-material.mbsc-button:disabled { + opacity: 0.3; + } + + .mbsc-material.mbsc-ltr.mbsc-button-icon-start { + padding-right: 0.5em; + margin-left: -0.25em; + } + + .mbsc-material.mbsc-ltr.mbsc-button-icon-end, + .mbsc-material.mbsc-rtl.mbsc-button-icon-start { + padding-left: 0.5em; + margin-right: -0.25em; + } + + .mbsc-material.mbsc-rtl.mbsc-button-icon-end { + padding-right: 0.5em; + margin-left: -0.25em; + } + + .mbsc-material .mbsc-button-group, + .mbsc-material .mbsc-button-group-justified { + margin: 0.5em; + } + + .mbsc-material .mbsc-button-group-block { + margin: 0.5em 1em; + } + + .mbsc-material.mbsc-button-standard { + background: #cfcfcf; + color: #000; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), + 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + + .mbsc-material.mbsc-button-standard.mbsc-hover { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), + 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .mbsc-material.mbsc-button-standard.mbsc-active, + .mbsc-material.mbsc-button-standard.mbsc-focus { + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), + 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + } + + .mbsc-material.mbsc-button-flat, + .mbsc-material.mbsc-button-outline { + color: #000; + } + + .mbsc-material.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-flat.mbsc-hover, + .mbsc-material.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-outline.mbsc-hover { + background: rgba(0, 0, 0, 0.2); + } + + .mbsc-material.mbsc-button-flat.mbsc-focus, + .mbsc-material.mbsc-button-outline.mbsc-focus { + background: rgba(0, 0, 0, 0.3); + } + + .mbsc-material.mbsc-button-outline { + border-color: #000; + } + + .mbsc-material.mbsc-button-primary.mbsc-button-standard { + background: #3f97f6; + color: #fff; + } + + .mbsc-material.mbsc-button-secondary.mbsc-button-standard { + background: #90979e; + color: #fff; + } + + .mbsc-material.mbsc-button-success.mbsc-button-standard { + background: #43be5f; + color: #fff; + } + + .mbsc-material.mbsc-button-danger.mbsc-button-standard { + background: #f5504e; + color: #fff; + } + + .mbsc-material.mbsc-button-warning.mbsc-button-standard { + background: #f8b042; + color: #fff; + } + + .mbsc-material.mbsc-button-info.mbsc-button-standard { + background: #5bb7c5; + color: #fff; + } + + .mbsc-material.mbsc-button-dark.mbsc-button-standard { + background: #47494a; + color: #fff; + } + + .mbsc-material.mbsc-button-light.mbsc-button-standard { + background: #fff; + color: #303030; + } + + .mbsc-material.mbsc-button-primary.mbsc-button-flat { + color: #3f97f6; + } + + .mbsc-material.mbsc-button-primary.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-primary.mbsc-button-flat.mbsc-hover { + background: rgba(63, 151, 246, 0.2); + } + + .mbsc-material.mbsc-button-primary.mbsc-button-flat.mbsc-focus { + background: rgba(63, 151, 246, 0.3); + } + + .mbsc-material.mbsc-button-secondary.mbsc-button-flat { + color: #90979e; + } + + .mbsc-material.mbsc-button-secondary.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-secondary.mbsc-button-flat.mbsc-hover { + background: rgba(144, 151, 158, 0.2); + } + + .mbsc-material.mbsc-button-secondary.mbsc-button-flat.mbsc-focus { + background: rgba(144, 151, 158, 0.3); + } + + .mbsc-material.mbsc-button-success.mbsc-button-flat { + color: #43be5f; + } + + .mbsc-material.mbsc-button-success.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-success.mbsc-button-flat.mbsc-hover { + background: rgba(67, 190, 95, 0.2); + } + + .mbsc-material.mbsc-button-success.mbsc-button-flat.mbsc-focus { + background: rgba(67, 190, 95, 0.3); + } + + .mbsc-material.mbsc-button-danger.mbsc-button-flat { + color: #f5504e; + } + + .mbsc-material.mbsc-button-danger.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-danger.mbsc-button-flat.mbsc-hover { + background: rgba(245, 80, 78, 0.2); + } + + .mbsc-material.mbsc-button-danger.mbsc-button-flat.mbsc-focus { + background: rgba(245, 80, 78, 0.3); + } + + .mbsc-material.mbsc-button-warning.mbsc-button-flat { + color: #f8b042; + } + + .mbsc-material.mbsc-button-warning.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-warning.mbsc-button-flat.mbsc-hover { + background: rgba(248, 176, 66, 0.2); + } + + .mbsc-material.mbsc-button-warning.mbsc-button-flat.mbsc-focus { + background: rgba(248, 176, 66, 0.3); + } + + .mbsc-material.mbsc-button-info.mbsc-button-flat { + color: #5bb7c5; + } + + .mbsc-material.mbsc-button-info.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-info.mbsc-button-flat.mbsc-hover { + background: rgba(91, 183, 197, 0.2); + } + + .mbsc-material.mbsc-button-info.mbsc-button-flat.mbsc-focus { + background: rgba(91, 183, 197, 0.3); + } + + .mbsc-material.mbsc-button-dark.mbsc-button-flat { + color: #47494a; + } + + .mbsc-material.mbsc-button-dark.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-dark.mbsc-button-flat.mbsc-hover { + background: rgba(71, 73, 74, 0.2); + } + + .mbsc-material.mbsc-button-dark.mbsc-button-flat.mbsc-focus { + background: rgba(71, 73, 74, 0.3); + } + + .mbsc-material.mbsc-button-light.mbsc-button-flat { + color: #ccc; + } + + .mbsc-material.mbsc-button-light.mbsc-button-flat.mbsc-active, + .mbsc-material.mbsc-button-light.mbsc-button-flat.mbsc-hover { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-material.mbsc-button-light.mbsc-button-flat.mbsc-focus { + background: hsla(0, 0%, 100%, 0.3); + } + + .mbsc-material.mbsc-button-primary.mbsc-button-outline { + border-color: #3f97f6; + color: #3f97f6; + } + + .mbsc-material.mbsc-button-primary.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-primary.mbsc-button-outline.mbsc-hover { + background: rgba(63, 151, 246, 0.2); + } + + .mbsc-material.mbsc-button-primary.mbsc-button-outline.mbsc-focus { + background: rgba(63, 151, 246, 0.3); + } + + .mbsc-material.mbsc-button-secondary.mbsc-button-outline { + border-color: #90979e; + color: #90979e; + } + + .mbsc-material.mbsc-button-secondary.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-secondary.mbsc-button-outline.mbsc-hover { + background: rgba(144, 151, 158, 0.2); + } + + .mbsc-material.mbsc-button-secondary.mbsc-button-outline.mbsc-focus { + background: rgba(144, 151, 158, 0.3); + } + + .mbsc-material.mbsc-button-success.mbsc-button-outline { + border-color: #43be5f; + color: #43be5f; + } + + .mbsc-material.mbsc-button-success.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-success.mbsc-button-outline.mbsc-hover { + background: rgba(67, 190, 95, 0.2); + } + + .mbsc-material.mbsc-button-success.mbsc-button-outline.mbsc-focus { + background: rgba(67, 190, 95, 0.3); + } + + .mbsc-material.mbsc-button-danger.mbsc-button-outline { + border-color: #f5504e; + color: #f5504e; + } + + .mbsc-material.mbsc-button-danger.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-danger.mbsc-button-outline.mbsc-hover { + background: rgba(245, 80, 78, 0.2); + } + + .mbsc-material.mbsc-button-danger.mbsc-button-outline.mbsc-focus { + background: rgba(245, 80, 78, 0.3); + } + + .mbsc-material.mbsc-button-warning.mbsc-button-outline { + border-color: #f8b042; + color: #f8b042; + } + + .mbsc-material.mbsc-button-warning.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-warning.mbsc-button-outline.mbsc-hover { + background: rgba(248, 176, 66, 0.2); + } + + .mbsc-material.mbsc-button-warning.mbsc-button-outline.mbsc-focus { + background: rgba(248, 176, 66, 0.3); + } + + .mbsc-material.mbsc-button-info.mbsc-button-outline { + border-color: #5bb7c5; + color: #5bb7c5; + } + + .mbsc-material.mbsc-button-info.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-info.mbsc-button-outline.mbsc-hover { + background: rgba(91, 183, 197, 0.2); + } + + .mbsc-material.mbsc-button-info.mbsc-button-outline.mbsc-focus { + background: rgba(91, 183, 197, 0.3); + } + + .mbsc-material.mbsc-button-dark.mbsc-button-outline { + border-color: #47494a; + color: #47494a; + } + + .mbsc-material.mbsc-button-dark.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-dark.mbsc-button-outline.mbsc-hover { + background: rgba(71, 73, 74, 0.2); + } + + .mbsc-material.mbsc-button-dark.mbsc-button-outline.mbsc-focus { + background: rgba(71, 73, 74, 0.3); + } + + .mbsc-material.mbsc-button-light.mbsc-button-outline { + border-color: #ccc; + color: #ccc; + } + + .mbsc-material.mbsc-button-light.mbsc-button-outline.mbsc-active, + .mbsc-material.mbsc-button-light.mbsc-button-outline.mbsc-hover { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-material.mbsc-button-light.mbsc-button-outline.mbsc-focus { + background: hsla(0, 0%, 100%, 0.3); + } + + .mbsc-material-dark.mbsc-button-standard { + background: #2b2b2b; + color: #fff; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), + 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + + .mbsc-material-dark.mbsc-button-standard.mbsc-hover { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), + 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .mbsc-material-dark.mbsc-button-standard.mbsc-active, + .mbsc-material-dark.mbsc-button-standard.mbsc-focus { + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), + 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + } + + .mbsc-material-dark.mbsc-button-flat, + .mbsc-material-dark.mbsc-button-outline { + color: #fff; + } + + .mbsc-material-dark.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-flat.mbsc-hover, + .mbsc-material-dark.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-outline.mbsc-hover { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-material-dark.mbsc-button-flat.mbsc-focus, + .mbsc-material-dark.mbsc-button-outline.mbsc-focus { + background: hsla(0, 0%, 100%, 0.3); + } + + .mbsc-material-dark.mbsc-button-outline { + border-color: #fff; + } + + .mbsc-material-dark.mbsc-button-primary.mbsc-button-standard { + background: #3f97f6; + color: #000; + } + + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-standard { + background: #90979e; + color: #000; + } + + .mbsc-material-dark.mbsc-button-success.mbsc-button-standard { + background: #43be5f; + color: #000; + } + + .mbsc-material-dark.mbsc-button-danger.mbsc-button-standard { + background: #f5504e; + color: #000; + } + + .mbsc-material-dark.mbsc-button-warning.mbsc-button-standard { + background: #f8b042; + color: #000; + } + + .mbsc-material-dark.mbsc-button-info.mbsc-button-standard { + background: #5bb7c5; + color: #000; + } + + .mbsc-material-dark.mbsc-button-dark.mbsc-button-standard { + background: #47494a; + color: #000; + } + + .mbsc-material-dark.mbsc-button-light.mbsc-button-standard { + background: #fff; + color: #fff; + } + + .mbsc-material-dark.mbsc-button-primary.mbsc-button-flat { + color: #3f97f6; + } + + .mbsc-material-dark.mbsc-button-primary.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-primary.mbsc-button-flat.mbsc-hover { + background: rgba(63, 151, 246, 0.2); + } + + .mbsc-material-dark.mbsc-button-primary.mbsc-button-flat.mbsc-focus { + background: rgba(63, 151, 246, 0.3); + } + + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-flat { + color: #90979e; + } + + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-flat.mbsc-hover { + background: rgba(144, 151, 158, 0.2); + } + + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-flat.mbsc-focus { + background: rgba(144, 151, 158, 0.3); + } + + .mbsc-material-dark.mbsc-button-success.mbsc-button-flat { + color: #43be5f; + } + + .mbsc-material-dark.mbsc-button-success.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-success.mbsc-button-flat.mbsc-hover { + background: rgba(67, 190, 95, 0.2); + } + + .mbsc-material-dark.mbsc-button-success.mbsc-button-flat.mbsc-focus { + background: rgba(67, 190, 95, 0.3); + } + + .mbsc-material-dark.mbsc-button-danger.mbsc-button-flat { + color: #f5504e; + } + + .mbsc-material-dark.mbsc-button-danger.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-danger.mbsc-button-flat.mbsc-hover { + background: rgba(245, 80, 78, 0.2); + } + + .mbsc-material-dark.mbsc-button-danger.mbsc-button-flat.mbsc-focus { + background: rgba(245, 80, 78, 0.3); + } + + .mbsc-material-dark.mbsc-button-warning.mbsc-button-flat { + color: #f8b042; + } + + .mbsc-material-dark.mbsc-button-warning.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-warning.mbsc-button-flat.mbsc-hover { + background: rgba(248, 176, 66, 0.2); + } + + .mbsc-material-dark.mbsc-button-warning.mbsc-button-flat.mbsc-focus { + background: rgba(248, 176, 66, 0.3); + } + + .mbsc-material-dark.mbsc-button-info.mbsc-button-flat { + color: #5bb7c5; + } + + .mbsc-material-dark.mbsc-button-info.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-info.mbsc-button-flat.mbsc-hover { + background: rgba(91, 183, 197, 0.2); + } + + .mbsc-material-dark.mbsc-button-info.mbsc-button-flat.mbsc-focus { + background: rgba(91, 183, 197, 0.3); + } + + .mbsc-material-dark.mbsc-button-dark.mbsc-button-flat { + color: #47494a; + } + + .mbsc-material-dark.mbsc-button-dark.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-dark.mbsc-button-flat.mbsc-hover { + background: rgba(71, 73, 74, 0.2); + } + + .mbsc-material-dark.mbsc-button-dark.mbsc-button-flat.mbsc-focus { + background: rgba(71, 73, 74, 0.3); + } + + .mbsc-material-dark.mbsc-button-light.mbsc-button-flat { + color: #ccc; + } + + .mbsc-material-dark.mbsc-button-light.mbsc-button-flat.mbsc-active, + .mbsc-material-dark.mbsc-button-light.mbsc-button-flat.mbsc-hover { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-material-dark.mbsc-button-light.mbsc-button-flat.mbsc-focus { + background: hsla(0, 0%, 100%, 0.3); + } + + .mbsc-material-dark.mbsc-button-primary.mbsc-button-outline { + border-color: #3f97f6; + color: #3f97f6; + } + + .mbsc-material-dark.mbsc-button-primary.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-primary.mbsc-button-outline.mbsc-hover { + background: rgba(63, 151, 246, 0.2); + } + + .mbsc-material-dark.mbsc-button-primary.mbsc-button-outline.mbsc-focus { + background: rgba(63, 151, 246, 0.3); + } + + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-outline { + border-color: #90979e; + color: #90979e; + } + + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-outline.mbsc-hover { + background: rgba(144, 151, 158, 0.2); + } + + .mbsc-material-dark.mbsc-button-secondary.mbsc-button-outline.mbsc-focus { + background: rgba(144, 151, 158, 0.3); + } + + .mbsc-material-dark.mbsc-button-success.mbsc-button-outline { + border-color: #43be5f; + color: #43be5f; + } + + .mbsc-material-dark.mbsc-button-success.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-success.mbsc-button-outline.mbsc-hover { + background: rgba(67, 190, 95, 0.2); + } + + .mbsc-material-dark.mbsc-button-success.mbsc-button-outline.mbsc-focus { + background: rgba(67, 190, 95, 0.3); + } + + .mbsc-material-dark.mbsc-button-danger.mbsc-button-outline { + border-color: #f5504e; + color: #f5504e; + } + + .mbsc-material-dark.mbsc-button-danger.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-danger.mbsc-button-outline.mbsc-hover { + background: rgba(245, 80, 78, 0.2); + } + + .mbsc-material-dark.mbsc-button-danger.mbsc-button-outline.mbsc-focus { + background: rgba(245, 80, 78, 0.3); + } + + .mbsc-material-dark.mbsc-button-warning.mbsc-button-outline { + border-color: #f8b042; + color: #f8b042; + } + + .mbsc-material-dark.mbsc-button-warning.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-warning.mbsc-button-outline.mbsc-hover { + background: rgba(248, 176, 66, 0.2); + } + + .mbsc-material-dark.mbsc-button-warning.mbsc-button-outline.mbsc-focus { + background: rgba(248, 176, 66, 0.3); + } + + .mbsc-material-dark.mbsc-button-info.mbsc-button-outline { + border-color: #5bb7c5; + color: #5bb7c5; + } + + .mbsc-material-dark.mbsc-button-info.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-info.mbsc-button-outline.mbsc-hover { + background: rgba(91, 183, 197, 0.2); + } + + .mbsc-material-dark.mbsc-button-info.mbsc-button-outline.mbsc-focus { + background: rgba(91, 183, 197, 0.3); + } + + .mbsc-material-dark.mbsc-button-dark.mbsc-button-outline { + border-color: #47494a; + color: #47494a; + } + + .mbsc-material-dark.mbsc-button-dark.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-dark.mbsc-button-outline.mbsc-hover { + background: rgba(71, 73, 74, 0.2); + } + + .mbsc-material-dark.mbsc-button-dark.mbsc-button-outline.mbsc-focus { + background: rgba(71, 73, 74, 0.3); + } + + .mbsc-material-dark.mbsc-button-light.mbsc-button-outline { + border-color: #ccc; + color: #ccc; + } + + .mbsc-material-dark.mbsc-button-light.mbsc-button-outline.mbsc-active, + .mbsc-material-dark.mbsc-button-light.mbsc-button-outline.mbsc-hover { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-material-dark.mbsc-button-light.mbsc-button-outline.mbsc-focus { + background: hsla(0, 0%, 100%, 0.3); + } + + .mbsc-button { + position: relative; + z-index: 1; + display: inline-block; + vertical-align: middle; + display: inline-flex; + justify-content: center; + align-items: center; + overflow: hidden; + text-align: center; + text-overflow: ellipsis; + font-size: 1em; + box-sizing: border-box; + touch-action: manipulation; + user-select: none; + white-space: nowrap; + cursor: pointer; + } + + .mbsc-button.mbsc-disabled, + .mbsc-button:disabled { + cursor: not-allowed; + } + + .mbsc-button:focus { + outline: 0; + } + + .mbsc-button::-moz-focus-inner { + border: 0; + } + + .mbsc-icon-button { + width: 2.5em; + height: 2.5em; + padding: 0.5em; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -moz-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + } + + .mbsc-button-icon > *, + .mbsc-button-icon > * > * { + height: 100%; + } + + .mbsc-button-icon-end { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -moz-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + + .mbsc-button-group, + .mbsc-button-group-block, + .mbsc-button-group-justified { + border: 1px solid transparent; + } + + .mbsc-button-block, + .mbsc-button-group-block .mbsc-button { + display: block; + width: 100%; + margin-left: 0 !important; + margin-right: 0 !important; + } + + .mbsc-button-group-justified, + .mbsc-button-group-justified mbsc-button { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + } + + .mbsc-button-group-justified .mbsc-button, + .mbsc-button-group-justified mbsc-button { + -webkit-box-flex: 1; + -webkit-flex: 1 auto; + -moz-box-flex: 1; + -ms-flex: 1 auto; + flex: 1 auto; + } + + .mbsc-material.mbsc-popup-body-anchored, + .mbsc-material.mbsc-popup-body-center, + .mbsc-material.mbsc-popup-body-round { + border-radius: 0.25em; + } + + .mbsc-material.mbsc-popup-header { + font-size: 1.25em; + font-weight: 500; + padding: 0.8em 0.8em 0; + line-height: 1.4em; + } + + .mbsc-material.mbsc-popup-buttons { + padding: 0.5em; + } + + .mbsc-material.mbsc-popup-buttons.mbsc-ltr, + .mbsc-material.mbsc-popup-buttons.mbsc-rtl { + text-align: right; + } + + .mbsc-material.mbsc-popup-button.mbsc-button-flat { + margin-left: 0; + margin-right: 0; + } + + .mbsc-material.mbsc-popup-button.mbsc-font { + margin-top: 0; + margin-bottom: 0; + font-weight: 500; + font-size: 0.9375em; + } + + .mbsc-material.mbsc-popup-round .mbsc-popup-body-bottom-full { + border-radius: 0.25em 0.25em 0 0; + } + + .mbsc-material.mbsc-popup-round .mbsc-popup-body-top-full { + border-radius: 0 0 0.25em 0.25em; + } + + .mbsc-material.mbsc-popup-body { + background: #fff; + box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), + 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); + color: #303030; + } + + .mbsc-material.mbsc-popup-arrow { + background: #fff; + box-shadow: 0 0 1em rgba(0, 0, 0, 0.2); + } + + .mbsc-material.mbsc-popup-button.mbsc-font { + color: #1a73e8; + } + + .mbsc-material-dark.mbsc-popup-body { + background: #303030; + box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), + 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); + color: #fff; + } + + .mbsc-material-dark.mbsc-popup-arrow { + background: #303030; + box-shadow: 0 0 1em rgba(0, 0, 0, 0.2); + } + + .mbsc-material-dark.mbsc-popup-button.mbsc-font { + color: #87b0f3; + } + + @-webkit-keyframes mbsc-fade-in { + 0% { + opacity: 0; + } + to { + opacity: 1; + } + } + + @keyframes mbsc-fade-in { + 0% { + opacity: 0; + } + to { + opacity: 1; + } + } + + @-webkit-keyframes mbsc-fade-out { + 0% { + opacity: 1; + } + to { + opacity: 0; + } + } + + @keyframes mbsc-fade-out { + 0% { + opacity: 1; + } + to { + opacity: 0; + } + } + + @-webkit-keyframes mbsc-pop-in { + 0% { + opacity: 0; + -webkit-transform: scale(0.8); + transform: scale(0.8); + } + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + } + + @keyframes mbsc-pop-in { + 0% { + opacity: 0; + -webkit-transform: scale(0.8); + transform: scale(0.8); + } + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + } + + @-webkit-keyframes mbsc-pop-out { + 0% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + to { + opacity: 0; + -webkit-transform: scale(0.8); + transform: scale(0.8); + } + } + + @keyframes mbsc-pop-out { + 0% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + to { + opacity: 0; + -webkit-transform: scale(0.8); + transform: scale(0.8); + } + } + + @-webkit-keyframes mbsc-slide-up-in { + 0% { + -webkit-transform: translateY(100%); + transform: translateY(100%); + } + to { + -webkit-transform: translateY(0); + transform: translateY(0); + } + } + + @keyframes mbsc-slide-up-in { + 0% { + -webkit-transform: translateY(100%); + transform: translateY(100%); + } + to { + -webkit-transform: translateY(0); + transform: translateY(0); + } + } + + @-webkit-keyframes mbsc-slide-up-out { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + to { + -webkit-transform: translateY(100%); + transform: translateY(100%); + } + } + + @keyframes mbsc-slide-up-out { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + to { + -webkit-transform: translateY(100%); + transform: translateY(100%); + } + } + + @-webkit-keyframes mbsc-slide-down-in { + 0% { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + } + to { + -webkit-transform: translateY(0); + transform: translateY(0); + } + } + + @keyframes mbsc-slide-down-in { + 0% { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + } + to { + -webkit-transform: translateY(0); + transform: translateY(0); + } + } + + @-webkit-keyframes mbsc-slide-down-out { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + to { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + } + } + + @keyframes mbsc-slide-down-out { + 0% { + -webkit-transform: translateY(0); + transform: translateY(0); + } + to { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + } + } + + .mbsc-popup-open-ios { + overflow: hidden; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + height: auto; + } + + .mbsc-popup-ctx { + position: relative; + --mbsc-safe-top: 0; + --mbsc-safe-right: 0; + --mbsc-safe-bottom: 0; + --mbsc-safe-left: 0; + } + + .mbsc-popup-limits { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: -1; + } + + .mbsc-popup-limits-anchored, + .mbsc-popup-limits-center { + margin: 1em; + } + + .mbsc-popup-wrapper { + z-index: 99998; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + .mbsc-popup, + .mbsc-popup-wrapper { + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .mbsc-popup-wrapper { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + pointer-events: none; + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -moz-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + border: 0 solid transparent; + } + + .mbsc-popup-wrapper-ctx { + position: absolute; + right: auto; + bottom: auto; + width: 100%; + height: 100%; + overflow: hidden; + } + + .mbsc-popup-wrapper-center { + padding: 1em; + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + border-width: var(--mbsc-safe-top) var(--mbsc-safe-right) + var(--mbsc-safe-bottom) var(--mbsc-safe-left); + } + + .mbsc-popup-wrapper-top { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -moz-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + border-bottom: var(--mbsc-safe-bottom) solid transparent; + } + + .mbsc-popup-wrapper-bottom { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -moz-box-align: end; + -ms-flex-align: end; + align-items: flex-end; + border-top-width: var(--mbsc-safe-top); + } + + .mbsc-popup-wrapper-anchored { + border-left-width: var(--mbsc-safe-left); + border-bottom-width: var(--mbsc-safe-bottom); + border-right-width: var(--mbsc-safe-right); + border-top-width: 0; + } + + .mbsc-popup-hidden { + opacity: 0; + } + + .mbsc-popup-overlay { + position: absolute; + z-index: 1; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: -10em; + pointer-events: auto; + background: rgba(0, 0, 0, 0.5); + -webkit-transform: translateZ(0); + transform: translateZ(0); + } + + .mbsc-popup-overlay-in { + opacity: 1; + -webkit-animation: mbsc-fade-in 0.15s cubic-bezier(0, 0, 0.2, 1); + animation: mbsc-fade-in 0.15s cubic-bezier(0, 0, 0.2, 1); + } + + .mbsc-popup-overlay-out { + opacity: 0; + -webkit-animation: mbsc-fade-out 75ms cubic-bezier(0.4, 0, 1, 1); + animation: mbsc-fade-out 75ms cubic-bezier(0.4, 0, 1, 1); + } + + .mbsc-popup { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -moz-box-orient: vertical; + -moz-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + max-height: 100%; + min-width: 12em; + position: relative; + z-index: 2; + pointer-events: auto; + text-shadow: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + .mbsc-popup-center { + min-width: 16em; + } + + .mbsc-popup-bottom { + width: 100%; + bottom: 0; + } + + .mbsc-popup-top { + width: 100%; + top: 0; + } + + .mbsc-popup-anchored { + position: absolute; + } + + .mbsc-popup-anchored-left { + margin-left: -1em; + } + + .mbsc-popup-anchored-right { + margin-left: 1em; + } + + .mbsc-popup-arrow-wrapper { + position: absolute; + z-index: 1; + overflow: hidden; + pointer-events: none; + } + + .mbsc-popup-arrow-wrapper-bottom, + .mbsc-popup-arrow-wrapper-top { + left: 0; + right: 0; + height: 2em; + } + + .mbsc-popup-arrow-wrapper-left, + .mbsc-popup-arrow-wrapper-right { + top: 0; + bottom: 0; + width: 2em; + } + + .mbsc-popup-arrow-wrapper-top { + top: 100%; + } + + .mbsc-popup-arrow-wrapper-bottom { + bottom: 100%; + } + + .mbsc-popup-arrow-wrapper-left { + left: 100%; + } + + .mbsc-popup-arrow-wrapper-right { + right: 100%; + } + + .mbsc-popup-arrow { + position: absolute; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 1.5em; + height: 1.5em; + pointer-events: auto; + } + + .mbsc-popup-arrow-top { + bottom: 1.25em; + } + + .mbsc-popup-arrow-bottom { + top: 1.25em; + } + + .mbsc-popup-arrow-bottom, + .mbsc-popup-arrow-top { + left: 50%; + margin-left: -0.75em; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + } + + .mbsc-popup-arrow-left { + right: 1.25em; + } + + .mbsc-popup-arrow-right { + left: 1.25em; + } + + .mbsc-popup-arrow-left, + .mbsc-popup-arrow-right { + top: 50%; + margin-top: -0.75em; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + } + + .mbsc-popup-focus { + outline: 0; + } + + .mbsc-popup-body { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -moz-box-orient: vertical; + -moz-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + overflow: hidden; + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -moz-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + } + + .mbsc-popup-body-top { + padding-top: var(--mbsc-safe-top); + } + + .mbsc-popup-body-bottom { + padding-bottom: var(--mbsc-safe-bottom); + } + + .mbsc-popup-body-bottom, + .mbsc-popup-body-top { + padding-left: var(--mbsc-safe-left); + padding-right: var(--mbsc-safe-right); + } + + .mbsc-popup-body-round { + padding: 0; + } + + .mbsc-popup-header { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .mbsc-popup-content { + -webkit-box-flex: 1; + -webkit-flex: 1 1 auto; + -moz-box-flex: 1; + -ms-flex: 1 1 auto; + overflow: auto; + -webkit-overflow-scrolling: touch; + flex: 1 1 auto; + } + + .mbsc-popup-padding { + padding: 1em; + } + + .mbsc-popup-buttons { + -webkit-box-flex: 0; + -webkit-flex: none; + -moz-box-flex: 0; + -ms-flex: none; + flex: none; + } + + .mbsc-popup-pop-in { + opacity: 1; + -webkit-animation: mbsc-pop-in 0.15s cubic-bezier(0, 0, 0.2, 1); + animation: mbsc-pop-in 0.15s cubic-bezier(0, 0, 0.2, 1); + } + + .mbsc-popup-pop-out { + opacity: 0; + -webkit-animation: mbsc-pop-out 75ms cubic-bezier(0.4, 0, 1, 1); + animation: mbsc-pop-out 75ms cubic-bezier(0.4, 0, 1, 1); + } + + .mbsc-popup-slide-up-in { + -webkit-animation: mbsc-slide-up-in 0.25s cubic-bezier(0, 0, 0.2, 1); + animation: mbsc-slide-up-in 0.25s cubic-bezier(0, 0, 0.2, 1); + } + + .mbsc-popup-slide-up-out { + -webkit-animation: mbsc-slide-up-out 0.2s cubic-bezier(0.4, 0, 1, 1); + animation: mbsc-slide-up-out 0.2s cubic-bezier(0.4, 0, 1, 1); + } + + .mbsc-popup-slide-down-in { + -webkit-animation: mbsc-slide-down-in 0.25s cubic-bezier(0, 0, 0.2, 1); + animation: mbsc-slide-down-in 0.25s cubic-bezier(0, 0, 0.2, 1); + } + + .mbsc-popup-slide-down-out { + -webkit-animation: mbsc-slide-down-out 0.2s cubic-bezier(0.4, 0, 1, 1); + animation: mbsc-slide-down-out 0.2s cubic-bezier(0.4, 0, 1, 1); + } + + .mbsc-popup-pointer.mbsc-picker .mbsc-popup-overlay, + .mbsc-popup-pointer .mbsc-popup-overlay-anchored { + background: none; + } + + .mbsc-popup-round .mbsc-popup-slide-up-in { + -webkit-animation-name: mbsc-slide-up-in, mbsc-fade-in; + animation-name: mbsc-slide-up-in, mbsc-fade-in; + } + + .mbsc-popup-round .mbsc-popup-slide-up-out { + -webkit-animation-name: mbsc-slide-up-out, mbsc-fade-out; + animation-name: mbsc-slide-up-out, mbsc-fade-out; + } + + .mbsc-popup-round .mbsc-popup-slide-down-in { + -webkit-animation-name: mbsc-slide-down-in, mbsc-fade-in; + animation-name: mbsc-slide-down-in, mbsc-fade-in; + } + + .mbsc-popup-round .mbsc-popup-slide-down-out { + -webkit-animation-name: mbsc-slide-down-out, mbsc-fade-out; + animation-name: mbsc-slide-down-out, mbsc-fade-out; + } + + .mbsc-popup-round .mbsc-popup-bottom, + .mbsc-popup-round .mbsc-popup-top { + width: auto; + margin-top: 3em; + margin-bottom: 3em; + } + + .mbsc-material.mbsc-calendar-wrapper-fixed:after { + content: ""; + position: absolute; + z-index: 4; + bottom: -0.5em; + left: 0; + right: 0; + height: 0.5em; + pointer-events: none; + } + + .mbsc-material.mbsc-calendar-controls { + padding: 0.5em; + } + + .mbsc-material.mbsc-calendar-header .mbsc-calendar-week-days { + padding: 0 0.5em; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .mbsc-material.mbsc-calendar-week-day { + height: 2.5em; + line-height: 2.5em; + font-size: 0.75em; + font-weight: 700; + } + + .mbsc-material.mbsc-calendar-week-nr { + width: 2.363637em; + font-size: 0.6875em; + line-height: 3em; + font-weight: 700; + } + + .mbsc-material.mbsc-calendar-button.mbsc-button { + padding: 0.428572em; + } + + .mbsc-material.mbsc-calendar-title { + font-size: ${props.theme.typography.fontSize.base}; + font-weight: ${props.theme.typography.fontWeight.light}; + text-transform: none; + line-height: 1.4em; + } + + .mbsc-material.mbsc-calendar-cell-text { + height: 2em; + padding: 0 0.5em; + line-height: 2em; + border-radius: 2em; + } + + .mbsc-material.mbsc-calendar-day-text { + height: 1.846154em; + width: 1.846154em; + line-height: 1.846154em; + margin: 0.230769em auto; + padding: 0; + font-size: 0.8125em; + border: 2px solid transparent; + } + + .mbsc-material.mbsc-range-day:after, + .mbsc-material.mbsc-range-hover:before { + content: ""; + height: 1.75em; + position: absolute; + left: 0; + right: 0; + top: 0.25em; + z-index: -1; + } + + .mbsc-material.mbsc-range-hover:before { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 1.5em; + border-top: 2px dashed; + border-bottom: 2px dashed; + } + + .mbsc-material.mbsc-range-day-end.mbsc-rtl:after, + .mbsc-material.mbsc-range-day-start.mbsc-ltr:after { + margin-left: -0.875em; + border-radius: 2em 0 0 2em; + left: 50%; + right: 0; + } + + .mbsc-material.mbsc-range-day-end.mbsc-ltr:after, + .mbsc-material.mbsc-range-day-start.mbsc-rtl:after { + margin-right: -0.875em; + border-radius: 0 2em 2em 0; + right: 50%; + left: 0; + } + + .mbsc-material.mbsc-range-hover-end.mbsc-rtl:before, + .mbsc-material.mbsc-range-hover-start.mbsc-ltr:before { + left: 50%; + right: 0; + } + + .mbsc-material.mbsc-range-hover-end.mbsc-ltr:before, + .mbsc-material.mbsc-range-hover-start.mbsc-rtl:before { + right: 50%; + left: 0; + } + + .mbsc-material.mbsc-range-day-start.mbsc-range-day-end:after, + .mbsc-material.mbsc-range-hover-start.mbsc-range-hover-end:before { + display: none; + } + + .mbsc-material.mbsc-calendar-marks { + margin-top: -0.375em; + -webkit-transition: -webkit-transform 0.1s ease-out; + transition: -webkit-transform 0.1s ease-out; + transition: transform 0.1s ease-out; + transition: transform 0.1s ease-out, -webkit-transform 0.1s ease-out; + } + + .mbsc-material.mbsc-calendar-day-colors .mbsc-calendar-marks, + .mbsc-material.mbsc-focus .mbsc-calendar-marks, + .mbsc-material.mbsc-highlighted .mbsc-calendar-marks, + .mbsc-material.mbsc-hover-highlighted .mbsc-calendar-marks, + .mbsc-material.mbsc-hover .mbsc-calendar-marks, + .mbsc-material.mbsc-selected .mbsc-calendar-marks { + -webkit-transform: translate3d(0, 0.25em, 0); + transform: translate3d(0, 0.25em, 0); + } + + .mbsc-material.mbsc-calendar-label { + font-weight: 600; + border-radius: 0.2em; + } + + .mbsc-material.mbsc-calendar-label-background { + background: currentColor; + border-radius: 0.2em; + } + + .mbsc-material.mbsc-calendar-text:before { + border-radius: 0.2em; + } + + .mbsc-material.mbsc-calendar-height-md .mbsc-calendar-slide { + padding: 0; + } + + .mbsc-material.mbsc-calendar-height-md .mbsc-calendar-day { + border-left: 1px solid; + border-bottom: 1px solid; + } + + .mbsc-material.mbsc-calendar-height-md .mbsc-calendar-week-nr { + padding: 0; + font-size: 0.6875em; + line-height: 3.636363em; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-week-days { + padding: 0; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-week-day { + padding: 0 1em; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-day-inner { + min-height: 4em; + } + + .mbsc-material.mbsc-calendar-width-md + .mbsc-calendar-day-labels + .mbsc-calendar-day-inner { + min-height: 5.5em; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-day-text { + margin: 0.461539em; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-marks { + padding: 0 1.125em; + margin-left: -1px; + margin-right: -1px; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-text { + height: 1.8em; + line-height: 1.8em; + margin: 0 0.4em 0.2em; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-text:before { + border-radius: 0.4em; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-label { + padding: 0 0.4em; + border-radius: 0.4em; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-label-background { + border-radius: 0.4em; + } + + .mbsc-material.mbsc-calendar-width-md .mbsc-calendar-label-text { + font-size: 1.2em; + } + + .mbsc-material.mbsc-calendar-height-md.mbsc-calendar-width-md + .mbsc-calendar-day.mbsc-ltr, + .mbsc-material.mbsc-calendar-height-md.mbsc-calendar-width-md + .mbsc-calendar-marks.mbsc-ltr, + .mbsc-material.mbsc-calendar-height-md.mbsc-calendar-width-md + .mbsc-calendar-week-day.mbsc-ltr { + text-align: left; + } + + .mbsc-material.mbsc-calendar-height-md.mbsc-calendar-width-md + .mbsc-calendar-day.mbsc-rtl, + .mbsc-material.mbsc-calendar-height-md.mbsc-calendar-width-md + .mbsc-calendar-marks.mbsc-rtl, + .mbsc-material.mbsc-calendar-height-md.mbsc-calendar-width-md + .mbsc-calendar-week-day.mbsc-rtl { + text-align: right; + } + + .mbsc-material.mbsc-calendar-wrapper:after { + box-shadow: inset 0 0.5em 0.25em -0.5em rgba(48, 48, 48, 0.5); + } + + .mbsc-material.mbsc-calendar-button.mbsc-button { + color: #303030; + } + + .mbsc-material.mbsc-calendar-picker-slide, + .mbsc-material.mbsc-calendar-slide { + background: #fff; + } + + .mbsc-material.mbsc-calendar-week-day { + color: rgba(48, 48, 48, 0.7); + } + + .mbsc-material.mbsc-calendar-cell-text { + color: #303030; + } + + .mbsc-material.mbsc-calendar-today { + color: #1a73e8; + } + + .mbsc-material.mbsc-focus .mbsc-calendar-cell-text { + box-shadow: 0 0 0 2px rgba(48, 48, 48, 0.7); + } + + .mbsc-material.mbsc-hover .mbsc-calendar-cell-text { + background: rgba(0, 0, 0, 0.1); + } + + .mbsc-material.mbsc-range-hover:before { + border-color: #e6e6e6; + } + + .mbsc-material.mbsc-range-day:after { + background-color: rgba(26, 115, 232, 0.25); + } + + .mbsc-material.mbsc-selected .mbsc-calendar-cell-text { + background: #1a73e8; + border-color: #1a73e8; + color: #fff; + } + + .mbsc-material.mbsc-calendar-mark { + background: #1a73e8; + } + + .mbsc-material.mbsc-calendar-label { + color: #1a73e8; + } + + .mbsc-material.mbsc-calendar-label-inner { + color: #fff; + } + + .mbsc-material.mbsc-calendar-label.mbsc-calendar-label-active, + .mbsc-material.mbsc-calendar-label.mbsc-calendar-label-dragging { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12), + 0 1px 3px -1px rgba(0, 0, 0, 0.2); + } + + .mbsc-material.mbsc-calendar-text-more { + box-shadow: none; + } + + .mbsc-material.mbsc-calendar-text-more .mbsc-calendar-label-text { + color: #303030; + } + + .mbsc-material.mbsc-calendar-popup .mbsc-popup-arrow, + .mbsc-material.mbsc-calendar-popup .mbsc-popup-body { + background: #fff; + } + + .mbsc-material.mbsc-calendar-height-md .mbsc-calendar-day, + .mbsc-material.mbsc-calendar-height-md .mbsc-calendar-week-day { + border-color: #cfcfcf; + } + + .mbsc-material-dark.mbsc-calendar-wrapper:after { + box-shadow: inset 0 0.5em 0.25em -0.5em hsla(0, 0%, 100%, 0.5); + } + + .mbsc-material-dark.mbsc-calendar-button.mbsc-button { + color: #fff; + } + + .mbsc-material-dark.mbsc-calendar-slide { + background: #000; + } + + .mbsc-material-dark.mbsc-calendar-picker-slide { + background: #303030; + } + + .mbsc-material-dark.mbsc-calendar-week-day { + color: hsla(0, 0%, 100%, 0.7); + } + + .mbsc-material-dark.mbsc-calendar-cell-text { + color: #fff; + } + + .mbsc-material-dark.mbsc-calendar-today { + color: #87b0f3; + } + + .mbsc-material-dark.mbsc-focus .mbsc-calendar-cell-text { + box-shadow: 0 0 0 2px hsla(0, 0%, 100%, 0.7); + } + + .mbsc-material-dark.mbsc-hover .mbsc-calendar-cell-text { + background: hsla(0, 0%, 100%, 0.1); + } + + .mbsc-material-dark.mbsc-range-hover:before { + border-color: #1a1a1a; + } + + .mbsc-material-dark.mbsc-range-day:after { + background-color: rgba(135, 176, 243, 0.25); + } + + .mbsc-material-dark.mbsc-selected .mbsc-calendar-cell-text { + background: #87b0f3; + border-color: #87b0f3; + color: #000; + } + + .mbsc-material-dark.mbsc-calendar-mark { + background: #87b0f3; + } + + .mbsc-material-dark.mbsc-calendar-label { + color: #87b0f3; + } + + .mbsc-material-dark.mbsc-calendar-label-inner { + color: #000; + } + + .mbsc-material-dark.mbsc-calendar-label.mbsc-calendar-label-active, + .mbsc-material-dark.mbsc-calendar-label.mbsc-calendar-label-dragging { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12), + 0 1px 3px -1px rgba(0, 0, 0, 0.2); + } + + .mbsc-material-dark.mbsc-calendar-text-more { + box-shadow: none; + } + + .mbsc-material-dark.mbsc-calendar-text-more .mbsc-calendar-label-text { + color: #fff; + } + + .mbsc-material-dark.mbsc-calendar-popup .mbsc-popup-arrow, + .mbsc-material-dark.mbsc-calendar-popup .mbsc-popup-body { + background: #303030; + } + + .mbsc-material-dark.mbsc-calendar-height-md .mbsc-calendar-day, + .mbsc-material-dark.mbsc-calendar-height-md .mbsc-calendar-week-day { + border-color: #2b2b2b; + } + + @-webkit-keyframes mbsc-zoom-in-up { + 0% { + opacity: 0; + -webkit-transform: scale(2); + transform: scale(2); + } + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + } + + @keyframes mbsc-zoom-in-up { + 0% { + opacity: 0; + -webkit-transform: scale(2); + transform: scale(2); + } + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + } + + @-webkit-keyframes mbsc-zoom-in-down { + 0% { + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + } + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + } + + @keyframes mbsc-zoom-in-down { + 0% { + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + } + to { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + } + + @-webkit-keyframes mbsc-zoom-out-up { + 0% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + to { + opacity: 0; + -webkit-transform: scale(2); + transform: scale(2); + } + } + + @keyframes mbsc-zoom-out-up { + 0% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + to { + opacity: 0; + -webkit-transform: scale(2); + transform: scale(2); + } + } + + @-webkit-keyframes mbsc-zoom-out-down { + 0% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + to { + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + } + } + + @keyframes mbsc-zoom-out-down { + 0% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + to { + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + } + } + + .mbsc-calendar { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -moz-box-orient: vertical; + -moz-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -ms-touch-action: manipulation; + touch-action: manipulation; + position: relative; + } + + .mbsc-calendar-wrapper { + position: relative; + display: table; + table-layout: fixed; + width: 100%; + height: 100%; + } + + .mbsc-calendar-header { + position: relative; + z-index: 1; + will-change: opacity; + } + + .mbsc-calendar, + .mbsc-calendar-controls, + .mbsc-calendar-title-wrapper { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + } + + .mbsc-calendar-controls { + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + -moz-box-sizing: content-box; + box-sizing: content-box; + min-height: 2.5em; + } + + .mbsc-calendar-button.mbsc-button.mbsc-reset { + margin: 0; + } + + .mbsc-calendar-button-prev-multi { + -webkit-box-ordinal-group: 0; + -webkit-order: -1; + -moz-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + + .mbsc-calendar-button-next-multi { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -moz-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + + .mbsc-calendar-body { + height: 100%; + -moz-box-sizing: border-box; + box-sizing: border-box; + display: table-row; + } + + .mbsc-calendar-body-inner { + height: 100%; + position: relative; + overflow: hidden; + margin-left: -1px; + } + + .mbsc-calendar-wrapper-fixed { + display: block; + height: auto; + -webkit-box-flex: 0; + -webkit-flex: 0 0 auto; + -moz-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + } + + .mbsc-calendar-wrapper-fixed .mbsc-calendar-header { + display: block; + } + + .mbsc-calendar-wrapper-fixed .mbsc-calendar-body { + display: block; + height: auto; + } + + .mbsc-calendar-hidden { + visibility: hidden; + } + + .mbsc-calendar-title-wrapper { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + overflow: hidden; + } + + .mbsc-calendar-title-wrapper-multi .mbsc-calendar-button { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .mbsc-calendar-title { + overflow: hidden; + text-overflow: ellipsis; + font-size: 1.125em; + padding: 0 0.25em; + display: inline-block; + vertical-align: middle; + } + + .mbsc-calendar-scroll-wrapper { + display: block; + overflow: hidden; + position: relative; + height: 100%; + } + + .mbsc-calendar-picker-wrapper { + position: relative; + width: 15em; + height: 15em; + overflow: hidden; + } + + .mbsc-calendar-picker { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + } + + .mbsc-calendar-picker-main { + position: relative; + } + + .mbsc-calendar-picker-in-up { + opacity: 0; + -webkit-animation: mbsc-zoom-in-up 0.2s cubic-bezier(0, 0, 0.2, 1); + animation: mbsc-zoom-in-up 0.2s cubic-bezier(0, 0, 0.2, 1); + } + + .mbsc-calendar-picker-in-down { + opacity: 0; + -webkit-animation: mbsc-zoom-in-down 0.2s cubic-bezier(0, 0, 0.2, 1); + animation: mbsc-zoom-in-down 0.2s cubic-bezier(0, 0, 0.2, 1); + } + + .mbsc-calendar-picker-out-up { + opacity: 0; + -webkit-animation: mbsc-zoom-out-up 0.2s cubic-bezier(0.4, 0, 1, 1); + animation: mbsc-zoom-out-up 0.2s cubic-bezier(0.4, 0, 1, 1); + } + + .mbsc-calendar-picker-out-down { + opacity: 0; + -webkit-animation: mbsc-zoom-out-down 0.2s cubic-bezier(0, 0, 0.2, 1); + animation: mbsc-zoom-out-down 0.2s cubic-bezier(0, 0, 0.2, 1); + } + + .mbsc-calendar-scroll-wrapper > div { + height: 100%; + } + + .mbsc-calendar-scroll-wrapper > div > div { + height: 100%; + -webkit-transform: translateZ(0); + transform: translateZ(0); + } + + .mbsc-calendar-slide { + position: absolute; + z-index: 0; + top: 0; + width: 100%; + height: 100%; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .mbsc-calendar-slide.mbsc-ltr { + left: 0; + } + + .mbsc-calendar-slide.mbsc-rtl { + right: 0; + } + + .mbsc-calendar-slide:first-child { + position: relative; + } + + .mbsc-calendar-table { + height: 100%; + -webkit-transform: translateZ(0); + transform: translateZ(0); + } + + .mbsc-calendar-table, + .mbsc-calendar-week-days { + display: table; + table-layout: fixed; + width: 100%; + } + + .mbsc-calendar-row, + .mbsc-calendar-table .mbsc-calendar-week-days { + display: table-row; + } + + .mbsc-calendar-cell, + .mbsc-calendar-week-day { + display: table-cell; + } + + .mbsc-calendar-cell { + position: relative; + text-align: center; + white-space: nowrap; + cursor: pointer; + } + + .mbsc-calendar-cell:focus { + outline: 0; + } + + .mbsc-calendar-cell-inner { + display: inline-block; + padding: 0 0.25em; + vertical-align: middle; + } + + .mbsc-calendar-cell.mbsc-disabled { + cursor: not-allowed; + } + + .mbsc-calendar-week-day { + height: 2em; + font-size: 0.6875em; + line-height: 2em; + text-align: center; + border-bottom: 1px solid transparent; + } + + .mbsc-calendar-month, + .mbsc-calendar-year { + vertical-align: middle; + } + + .mbsc-calendar-month-text, + .mbsc-calendar-year-text { + overflow: hidden; + text-overflow: ellipsis; + min-width: 4.5em; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .mbsc-calendar-day { + max-width: 14.285715%; + text-align: center; + vertical-align: top; + } + + .mbsc-calendar-day-text { + display: inline-block; + text-align: center; + -moz-box-sizing: content-box; + box-sizing: content-box; + } + + .mbsc-calendar-day-inner { + display: table; + position: relative; + width: 100%; + height: 100%; + padding: 0; + border: 1px solid transparent; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .mbsc-calendar-day-hidden { + visibility: hidden; + } + + .mbsc-calendar-day-outer .mbsc-appquality.mbsc-calendar-day-text { + color: ${props.theme.colors.disabled}; + } + + .mbsc-calendar-day-outer.mbsc-selected .mbsc-calendar-day-text { + opacity: 1; + } + + .mbsc-disabled .mbsc-calendar-cell-text { + opacity: 0.2; + } + + .mbsc-calendar-day-highlight:before { + content: " "; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.1); + } + + .mbsc-calendar-day-marked { + padding-bottom: 0.25em; + } + + .mbsc-calendar-marks { + position: absolute; + left: 0; + right: 0; + height: 0.375em; + margin-top: -0.125em; + overflow: hidden; + white-space: nowrap; + text-align: center; + } + + .mbsc-calendar-mark { + display: inline-block; + vertical-align: top; + width: 0.25em; + height: 0.25em; + margin: 0.0625em; + border-radius: 0.25em; + } + + .mbsc-calendar-labels { + position: absolute; + left: 0; + right: 0; + } + + .mbsc-calendar-label-wrapper { + position: absolute; + z-index: 2; + pointer-events: none; + } + + .mbsc-calendar-label { + padding: 0 0.3em; + } + + .mbsc-calendar-text:focus { + outline: 0; + } + + .mbsc-calendar-label-text { + overflow: hidden; + text-overflow: ellipsis; + position: relative; + z-index: 2; + } + + .mbsc-calendar-label-background, + .mbsc-calendar-text:before { + content: ""; + position: absolute; + z-index: 0; + top: 0; + right: 0; + bottom: 0; + left: 0; + -webkit-transition: background-color 0.2s; + transition: background-color 0.2s; + } + + .mbsc-calendar-label.mbsc-calendar-label-hover:before { + background-color: rgba(0, 0, 0, 0.2); + z-index: 1; + } + + .mbsc-calendar-text-more { + padding: 0 0.3em; + } + + .mbsc-calendar-text-more.mbsc-calendar-label-active:before, + .mbsc-calendar-text-more.mbsc-calendar-label-hover:before { + background-color: rgba(0, 0, 0, 0.1); + } + + .mbsc-calendar-text { + display: block; + position: relative; + height: 1.6em; + line-height: 1.6em; + font-size: 0.625em; + white-space: nowrap; + margin: 0 0.1em 0.2em; + } + + .mbsc-calendar-text-placeholder { + z-index: -1; + } + + .mbsc-calendar-text.mbsc-ltr { + text-align: left; + } + + .mbsc-calendar-text.mbsc-rtl { + text-align: right; + } + + .mbsc-calendar-label-resize { + position: absolute; + top: 0; + height: 100%; + width: 0.5em; + z-index: 2; + cursor: ew-resize; + } + + .mbsc-calendar-label-resize:after { + content: ""; + display: none; + position: absolute; + top: 50%; + width: 0.8em; + height: 0.8em; + margin-top: -0.4em; + background: #fff; + border-radius: 0.8em; + border: 1px solid; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .mbsc-calendar-label-resize-end.mbsc-rtl, + .mbsc-calendar-label-resize-start.mbsc-ltr { + left: 0; + } + + .mbsc-calendar-label-resize-end.mbsc-ltr, + .mbsc-calendar-label-resize-start.mbsc-rtl { + right: 0; + } + + .mbsc-calendar-label-resize-end.mbsc-rtl:after, + .mbsc-calendar-label-resize-start.mbsc-ltr:after { + left: -0.4em; + } + + .mbsc-calendar-label-resize-end.mbsc-ltr:after, + .mbsc-calendar-label-resize-start.mbsc-rtl:after { + right: -0.4em; + } + + .mbsc-calendar-label-resize-end-touch:before, + .mbsc-calendar-label-resize-start-touch:before { + content: ""; + position: absolute; + top: 50%; + margin-top: -1em; + width: 2em; + height: 2em; + } + + .mbsc-calendar-label-resize-start-touch:before { + left: -1em; + } + + .mbsc-calendar-label-resize-end-touch:before { + right: -1em; + } + + .mbsc-calendar-label-dragging .mbsc-calendar-label-resize:after, + .mbsc-calendar-label-hover .mbsc-calendar-label-resize:after { + display: block; + } + + .mbsc-calendar-label-inactive { + opacity: 0.4; + } + + .mbsc-calendar-label-hidden { + visibility: hidden; + } + + .mbsc-calendar-labels-dragging { + z-index: 3; + } + + .mbsc-material.mbsc-scroller-wheel-wrapper { + margin: 0 0.25em; + padding: 0.5em 0; + } + + .mbsc-material.mbsc-scroller-wheel-cont { + border-width: 2px; + } + + .mbsc-material.mbsc-scroller-wheel-group { + padding: 2em 0.25em; + } + + .mbsc-material.mbsc-scroller-wheel-item { + padding: 0 0.272727em; + font-size: ${props.theme.typography.fontSize.base}; + text-align: center; + } + + .mbsc-material.mbsc-wheel-item-multi { + padding: 0 2em; + } + + .mbsc-material.mbsc-wheel-checkmark { + -moz-box-sizing: border-box; + box-sizing: border-box; + position: absolute; + top: 50%; + display: none; + border-radius: 0.1875em; + width: 1.3em; + height: 1.3em; + margin-top: -0.55em; + } + + .mbsc-material.mbsc-wheel-checkmark:after { + content: ""; + -moz-box-sizing: border-box; + box-sizing: border-box; + position: absolute; + display: block; + top: 0.27273em; + left: 0.27273em; + width: 0.8125em; + height: 0.4375em; + opacity: 0; + border: 0.125em solid; + border-top: 0; + border-right: 0; + -webkit-transform: scale(0) rotate(-45deg); + transform: scale(0) rotate(-45deg); + -webkit-transition: -webkit-transform 0.1s ease-out; + transition: -webkit-transform 0.1s ease-out; + transition: transform 0.1s ease-out; + transition: transform 0.1s ease-out, -webkit-transform 0.1s ease-out; + } + + .mbsc-material.mbsc-wheel-checkmark.mbsc-selected:after { + opacity: 1; + -webkit-transform: scale(1) rotate(-45deg); + transform: scale(1) rotate(-45deg); + } + + .mbsc-material.mbsc-wheel-checkmark.mbsc-ltr { + left: 0.25em; + } + + .mbsc-material.mbsc-wheel-checkmark.mbsc-rtl { + right: 0.25em; + } + + .mbsc-material.mbsc-wheel-item-multi .mbsc-material.mbsc-wheel-checkmark { + display: block; + } + + .mbsc-material.mbsc-scroller-pointer .mbsc-scroller-wheel-group { + padding: 0 0.5em; + } + + .mbsc-material.mbsc-scroller-pointer .mbsc-scroller-wheel-wrapper { + margin: 0; + padding: 0; + } + + .mbsc-material.mbsc-scroller-pointer .mbsc-scroller-wheel-item { + font-size: 1em; + padding: 0 1.25em; + } + + .mbsc-material.mbsc-scroller-pointer .mbsc-wheel-item-multi { + padding: 0 2em; + } + + .mbsc-material.mbsc-scroller-pointer + .mbsc-wheel-group-cont-single + .mbsc-scroller-wheel-item.mbsc-ltr, + .mbsc-material.mbsc-scroller-pointer .mbsc-wheel-item-multi.mbsc-ltr { + text-align: left; + } + + .mbsc-material.mbsc-scroller-pointer + .mbsc-wheel-group-cont-single + .mbsc-scroller-wheel-item.mbsc-rtl, + .mbsc-material.mbsc-scroller-pointer .mbsc-wheel-item-multi.mbsc-rtl { + text-align: right; + } + + .mbsc-material.mbsc-scroller-wheel-cont { + border-color: #1a73e8; + } + + .mbsc-material.mbsc-scroller-pointer + .mbsc-wheel-group-cont-single + .mbsc-scroller-wheel-single, + .mbsc-material.mbsc-scroller-wheel-multi { + border-color: transparent; + } + + .mbsc-material.mbsc-scroller-wheel-item.mbsc-active, + .mbsc-material.mbsc-scroller-wheel-item.mbsc-focus, + .mbsc-material.mbsc-scroller-wheel-item.mbsc-hover { + background: rgba(0, 0, 0, 0.05); + } + + .mbsc-material.mbsc-wheel-checkmark:after { + border-color: #1a73e8; + } + + .mbsc-material.mbsc-scroller-pointer + .mbsc-wheel-group-cont-single + .mbsc-scroller-wheel-item.mbsc-selected { + color: #1a73e8; + background: rgba(0, 0, 0, 0.15); + } + + .mbsc-material-dark.mbsc-scroller-wheel-cont { + border-color: #87b0f3; + } + + .mbsc-material-dark.mbsc-scroller-pointer + .mbsc-wheel-group-cont-single + .mbsc-scroller-wheel-single, + .mbsc-material-dark.mbsc-scroller-wheel-multi { + border-color: transparent; + } + + .mbsc-material-dark.mbsc-scroller-wheel-item.mbsc-active, + .mbsc-material-dark.mbsc-scroller-wheel-item.mbsc-focus, + .mbsc-material-dark.mbsc-scroller-wheel-item.mbsc-hover { + background: rgba(0, 0, 0, 0.05); + } + + .mbsc-material-dark.mbsc-wheel-checkmark:after { + border-color: #87b0f3; + } + + .mbsc-material-dark.mbsc-scroller-pointer + .mbsc-wheel-group-cont-single + .mbsc-scroller-wheel-item.mbsc-selected { + color: #87b0f3; + background: rgba(0, 0, 0, 0.15); + } + + .mbsc-scroller { + width: 100%; + -moz-box-sizing: border-box; + box-sizing: border-box; + position: relative; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + .mbsc-scroller-wheel-group-cont { + position: relative; + max-width: 100%; + vertical-align: middle; + display: inline-block; + overflow: hidden; + } + + .mbsc-scroller-wheel-group-cont:first-child:last-child { + display: block; + } + + .mbsc-scroller-wheel-group { + margin: 0 auto; + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -webkit-flex-direction: row; + -moz-box-orient: horizontal; + -moz-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-pack: center; + -webkit-justify-content: center; + -moz-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + } + + .mbsc-scroller-wheel-group-3d { + -webkit-perspective: 1200px; + perspective: 1200px; + } + + .mbsc-scroller-wheel-wrapper { + display: block; + max-width: 100%; + position: relative; + -ms-touch-action: none; + touch-action: none; + min-width: 80px; + } + + .mbsc-scroller-wheel-line { + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + } + + .mbsc-scroller-wheel-line, + .mbsc-scroller-wheel-overlay { + display: none; + position: absolute; + left: 0; + right: 0; + pointer-events: none; + } + + .mbsc-scroller-wheel-overlay { + z-index: 2; + top: 0; + bottom: 0; + } + + .mbsc-scroller-wheel { + display: block; + overflow: hidden; + margin: -1px 0; + } + + .mbsc-scroller-wheel, + .mbsc-scroller-wheel-cont { + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + } + + .mbsc-scroller-wheel-cont { + position: relative; + z-index: 1; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + } + + .mbsc-scroller-wheel-cont-3d { + overflow: hidden; + border: 0; + } + + .mbsc-scroller-wheel-cont-3d > div { + position: relative; + top: -1px; + } + + .mbsc-scroller-items-3d { + position: absolute; + top: 50%; + left: 0; + right: 0; + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); + } + + .mbsc-scroller .mbsc-scroller-wheel, + .mbsc-scroller .mbsc-scroller-wheel-cont { + -moz-box-sizing: content-box; + box-sizing: content-box; + } + + .mbsc-scroller-wheel-item { + display: block; + position: relative; + cursor: pointer; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + .mbsc-scroller-wheel-item:focus { + outline: 0; + } + + .mbsc-scroller-wheel-item-3d { + position: absolute; + width: 100%; + top: 0; + left: 0; + cursor: pointer; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + } + + .mbsc-scroller-wheel-item.mbsc-disabled { + opacity: 0.3; + } + + .mbsc-scroller-bar-cont { + display: none; + position: absolute; + z-index: 4; + top: 0; + bottom: 0; + width: 10px; + opacity: 0; + background: rgba(0, 0, 0, 0.05); + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-transition: opacity 0.2s; + transition: opacity 0.2s; + } + + .mbsc-scroller-bar-cont.mbsc-ltr { + right: 0; + } + + .mbsc-scroller-bar-cont.mbsc-rtl { + left: 0; + } + + .mbsc-scroller-bar-hidden { + display: none; + } + + .mbsc-scroller-bar-started, + .mbsc-scroller-wheel:hover .mbsc-scroller-bar-cont { + opacity: 1; + } + + .mbsc-scroller-bar { + position: absolute; + right: 0; + top: 0; + width: 10px; + } + + .mbsc-scroller-bar:after { + content: ""; + position: absolute; + top: 2px; + right: 2px; + bottom: 2px; + left: 2px; + background: rgba(0, 0, 0, 0.5); + border-radius: 3px; + } + + .mbsc-material.mbsc-segmented { + padding: 0.75em; + } + + .mbsc-material.mbsc-segmented-selectbox { + display: none; + } + + .mbsc-material.mbsc-segmented-item:first-child .mbsc-segmented-button { + border-top-left-radius: 0.25em; + border-bottom-left-radius: 0.25em; + } + + .mbsc-material.mbsc-segmented-item:first-child + .mbsc-segmented-button.mbsc-rtl { + border-radius: 0 0.25em 0.25em 0; + border-right-width: 0.142858em; + } + + .mbsc-material.mbsc-segmented-item:last-child .mbsc-segmented-button { + border-top-right-radius: 0.25em; + border-bottom-right-radius: 0.25em; + border-right-width: 0.142858em; + } + + .mbsc-material.mbsc-segmented-item:last-child + .mbsc-segmented-button.mbsc-rtl { + border-radius: 0.25em 0 0 0.25em; + border-right-width: 0; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button { + margin: 0; + padding: 0.285715em 1.142858em; + border: 0.142858em solid transparent; + border-right-width: 0; + border-radius: 0; + background: none; + box-shadow: none; + min-width: auto; + font-size: 0.875em; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-active, + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-hover { + box-shadow: none; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-focus:after { + content: ""; + display: block; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-primary { + color: #3f97f6; + border-color: #3f97f6; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-primary.mbsc-active, + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-primary.mbsc-hover { + background: rgba(63, 151, 246, 0.2); + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-primary.mbsc-selected { + background: #3f97f6; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-secondary { + color: #90979e; + border-color: #90979e; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-secondary.mbsc-active, + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-secondary.mbsc-hover { + background: rgba(144, 151, 158, 0.2); + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-secondary.mbsc-selected { + background: #90979e; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-success { + color: #43be5f; + border-color: #43be5f; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-success.mbsc-active, + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-success.mbsc-hover { + background: rgba(67, 190, 95, 0.2); + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-success.mbsc-selected { + background: #43be5f; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-danger { + color: #f5504e; + border-color: #f5504e; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-danger.mbsc-active, + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-danger.mbsc-hover { + background: rgba(245, 80, 78, 0.2); + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-danger.mbsc-selected { + background: #f5504e; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-warning { + color: #f8b042; + border-color: #f8b042; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-warning.mbsc-active, + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-warning.mbsc-hover { + background: rgba(248, 176, 66, 0.2); + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-warning.mbsc-selected { + background: #f8b042; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-info { + color: #5bb7c5; + border-color: #5bb7c5; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-info.mbsc-active, + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-info.mbsc-hover { + background: rgba(91, 183, 197, 0.2); + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-button-info.mbsc-selected { + background: #5bb7c5; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button { + border-color: #1a73e8; + color: #000; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-active, + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-hover { + background: rgba(0, 0, 0, 0.2); + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-selected { + background: #1a73e8; + color: #fff; + } + + .mbsc-material.mbsc-segmented-button.mbsc-button.mbsc-focus:after { + background: rgba(0, 0, 0, 0.2); + } + + .mbsc-material-dark.mbsc-segmented-button.mbsc-button { + border-color: #87b0f3; + color: #fff; + } + + .mbsc-material-dark.mbsc-segmented-button.mbsc-button.mbsc-active, + .mbsc-material-dark.mbsc-segmented-button.mbsc-button.mbsc-hover { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-material-dark.mbsc-segmented-button.mbsc-button.mbsc-selected { + background: #87b0f3; + color: #000; + } + + .mbsc-material-dark.mbsc-segmented-button.mbsc-button.mbsc-focus:after { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-segmented { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + overflow: hidden; + } + + .mbsc-segmented-item { + margin: 0; + position: relative; + vertical-align: top; + text-align: center; + font-size: 1em; + -webkit-box-flex: 1; + -webkit-flex: 1 1 0; + -moz-box-flex: 1; + -ms-flex: 1 1 0px; + flex: 1 1 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + min-width: 0; + } + + .mbsc-segmented-label { + display: block; + margin: 0; + padding: 0; + } + + .mbsc-segmented-input { + width: 1px; + height: 0; + opacity: 0; + position: absolute; + } + + .mbsc-segmented-button.mbsc-button { + width: 100%; + } + + .mbsc-material.mbsc-picker-header { + font-size: 1.25em; + font-weight: 500; + padding: 0.8em 0.8em 0; + line-height: 1.4em; + text-align: center; + } + + .mbsc-material.mbsc-range-control-wrapper .mbsc-segmented { + padding: 0; + max-width: 100%; + width: 18.5em; + } + + .mbsc-material.mbsc-range-control-wrapper + .mbsc-segmented-button.mbsc-button.mbsc-font { + background: none; + border: 0; + border-bottom: 2px solid transparent; + border-radius: 0; + padding: 0.8571422em 1.142857em; + display: block; + } + + .mbsc-material.mbsc-range-control-wrapper .mbsc-segmented-button.mbsc-ltr { + text-align: left; + } + + .mbsc-material.mbsc-range-control-wrapper .mbsc-segmented-button.mbsc-rtl { + text-align: right; + } + + .mbsc-material.mbsc-range-control-wrapper + .mbsc-range-value-nonempty + .mbsc-segmented-button.mbsc-ltr { + padding-right: 2.642857em; + } + + .mbsc-material.mbsc-range-control-wrapper + .mbsc-range-value-nonempty + .mbsc-segmented-button.mbsc-rtl { + padding-left: 2.642857em; + } + + .mbsc-material.mbsc-datepicker-control-calendar.mbsc-datepicker-control-time + .mbsc-range-control-wrapper + .mbsc-segmented, + .mbsc-material.mbsc-datepicker-control-date.mbsc-datepicker-control-time + .mbsc-range-control-wrapper + .mbsc-segmented, + .mbsc-material.mbsc-datepicker-control-datetime + .mbsc-range-control-wrapper + .mbsc-segmented { + width: 25em; + } + + .mbsc-material.mbsc-range-control-label { + text-transform: capitalize; + color: ${props.theme.colors.cyan300}; + } + + .mbsc-material.mbsc-range-control-value { + font-weight: 700; + overflow: hidden; + text-overflow: ellipsis; + } + + .mbsc-material.mbsc-range-label-clear { + margin-top: -0.625em; + right: 0.75em; + width: 1.3125em; + height: 1.3125em; + } + + .mbsc-material.mbsc-range-label-clear.mbsc-ltr { + right: 0.75em; + } + + .mbsc-material.mbsc-range-label-clear.mbsc-rtl { + left: 0.75em; + } + + .mbsc-material.mbsc-datepicker .mbsc-calendar-title { + font-size: 1.142858em; + line-height: 1.75em; + } + + .mbsc-material.mbsc-datepicker .mbsc-calendar-slide { + background: #fff; + } + + .mbsc-material.mbsc-datepicker-inline { + background: #fff; + color: #303030; + } + + .mbsc-material.mbsc-datepicker-inline .mbsc-calendar-slide { + background: #fff; + } + + .mbsc-material.mbsc-range-control-wrapper { + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + } + + .mbsc-material.mbsc-range-control-wrapper + .mbsc-material.mbsc-segmented-button.mbsc-selected { + border-bottom-color: #1a73e8; + } + + .mbsc-material.mbsc-range-control-label.active, + .mbsc-material.mbsc-range-control-value.active { + color: #1a73e8; + } + + .mbsc-material.mbsc-range-control-text-empty, + .mbsc-material.mbsc-range-control-text-empty.active { + color: rgba(48, 48, 48, 0.4); + } + + .mbsc-material.mbsc-range-label-clear { + color: #b0b0b0; + } + + .mbsc-material.mbsc-range-label-clear:hover { + color: #7d7d7d; + } + + .mbsc-material-dark.mbsc-datepicker .mbsc-calendar-slide { + background: #303030; + } + + .mbsc-material-dark.mbsc-datepicker-inline { + background: #000; + color: #fff; + } + + .mbsc-material-dark.mbsc-datepicker-inline .mbsc-calendar-slide { + background: #000; + } + + .mbsc-material-dark.mbsc-range-control-wrapper { + border-bottom: 1px solid hsla(0, 0%, 100%, 0.2); + } + + .mbsc-material-dark.mbsc-range-control-wrapper + .mbsc-material-dark.mbsc-segmented-button.mbsc-selected { + border-bottom-color: #87b0f3; + } + + .mbsc-material-dark.mbsc-range-control-label.active, + .mbsc-material-dark.mbsc-range-control-value.active { + color: #87b0f3; + } + + .mbsc-material-dark.mbsc-range-control-text-empty, + .mbsc-material-dark.mbsc-range-control-text-empty.active { + color: hsla(0, 0%, 100%, 0.4); + } + + .mbsc-material-dark.mbsc-range-label-clear { + color: grey; + } + + .mbsc-material-dark.mbsc-range-label-clear:hover { + color: #b3b3b3; + } + + mbsc-datetime { + display: block; + width: 100%; + } + + .mbsc-datepicker .mbsc-calendar { + padding-bottom: 0.5em; + } + + .mbsc-datepicker .mbsc-calendar-week-days { + padding: 0 0.5em; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-left: -1px; + } + + .mbsc-range-control-wrapper .mbsc-segmented-input { + width: 1px; + } + + .mbsc-range-label-clear { + position: absolute; + top: 50%; + display: none; + } + + .mbsc-range-label-clear.active { + display: block; + } + + .mbsc-range-label-clear.mbsc-range-value-empty { + display: none; + } + + .mbsc-datepicker-tab-wrapper { + position: relative; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + overflow: hidden; + } + + .mbsc-datepicker-tab, + .mbsc-datepicker-tab-wrapper { + display: -webkit-box; + display: -webkit-flex; + display: -moz-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -moz-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + } + + .mbsc-datepicker-tab { + visibility: hidden; + max-width: 100%; + -webkit-box-align: center; + -webkit-align-items: center; + -moz-box-align: center; + -ms-flex-align: center; + align-items: center; + } + + .mbsc-datepicker-tab-expand { + -webkit-box-flex: 1; + -webkit-flex: 1; + -moz-box-flex: 1; + -ms-flex: 1; + flex: 1; + } + + .mbsc-datepicker-tab-active { + visibility: visible; + } + + .mbsc-datepicker-time-modal { + position: absolute; + z-index: 1; + top: 0; + left: 0; + right: 0; + max-width: none; + height: 100%; + } + + .mbsc-datepicker .mbsc-calendar-slide { + padding: 0 0.5em; + } + + .mbsc-appquality.mbsc-calendar-wrapper:after { + box-shadow: inset 0 0.5em 0.25em -0.5em rgba(23, 64, 92, 0.5); + } + + .mbsc-appquality.mbsc-calendar-button.mbsc-button { + color: ${props.theme.palette.primary}; + } + + .mbsc-appquality.mbsc-calendar-picker-slide, + .mbsc-appquality.mbsc-calendar-slide { + background: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-calendar-week-day { + color: ${props.theme.palette.primary}; + font-weight: ${props.theme.typography.fontWeight.light}; + font-size: ${props.theme.typography.fontSize.base}; + } + + .mbsc-appquality.mbsc-calendar-cell-text { + color: ${props.theme.palette.primary}; + } + + .mbsc-appquality.mbsc-calendar-today { + color: ${props.theme.palette.primary}; + font-weight: ${props.theme.typography.fontWeight.normal}; + } + + .mbsc-appquality.mbsc-focus .mbsc-calendar-cell-text { + box-shadow: 0 0 0 2px rgba(23, 64, 92, 0.7); + } + + .mbsc-appquality.mbsc-hover .mbsc-calendar-cell-text { + background: ${props.theme.colors.gray100}; + } + + .mbsc-appquality.mbsc-range-hover:before { + border-color: #d4d4d4; + } + + .mbsc-appquality.mbsc-range-day:after { + background-color: rgba(62, 173, 83, 0.25); + } + + .mbsc-appquality.mbsc-selected .mbsc-calendar-cell-text { + background: ${props.theme.palette.secondary}; + border-color: ${props.theme.palette.secondary}; + color: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-calendar-mark { + background: ${props.theme.palette.secondary}; + } + + .mbsc-appquality.mbsc-calendar-label { + color: ${props.theme.palette.secondary}; + } + + .mbsc-appquality.mbsc-calendar-label-inner { + color: #fff; + } + + .mbsc-appquality.mbsc-calendar-label.mbsc-calendar-label-active, + .mbsc-appquality.mbsc-calendar-label.mbsc-calendar-label-dragging { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12), + 0 1px 3px -1px rgba(0, 0, 0, 0.2); + } + + .mbsc-appquality.mbsc-calendar-text-more { + box-shadow: none; + } + + .mbsc-appquality.mbsc-calendar-text-more .mbsc-calendar-label-text { + color: ${props.theme.palette.primary}; + } + + .mbsc-appquality.mbsc-calendar-popup .mbsc-popup-arrow, + .mbsc-appquality.mbsc-calendar-popup .mbsc-popup-body { + background: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-calendar-height-md .mbsc-calendar-day, + .mbsc-appquality.mbsc-calendar-height-md .mbsc-calendar-week-day { + border-color: #bdbdbd; + } + + .mbsc-appquality.mbsc-datepicker .mbsc-calendar-slide { + background: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-datepicker-inline { + background: ${props.theme.colors.white}; + color: ${props.theme.palette.primary}; + } + + .mbsc-appquality.mbsc-datepicker-inline .mbsc-calendar-slide { + background: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-range-control-wrapper { + border-bottom: 1px solid ${props.theme.colors.disabled}; + } + + .mbsc-appquality.mbsc-range-control-wrapper + .mbsc-appquality.mbsc-segmented-button.mbsc-selected { + border-bottom-color: ${props.theme.palette.secondary}; + } + + .mbsc-appquality.mbsc-range-control-label.active { + color: ${props.theme.palette.info}; + font-weight: ${props.theme.typography.fontWeight.normal}; + } + .mbsc-appquality.mbsc-range-control-value.active { + color: ${props.theme.palette.secondary}; + } + + .mbsc-appquality.mbsc-range-control-text-empty, + .mbsc-appquality.mbsc-range-control-text-empty.active { + color: ${props.theme.colors.disabled}; + text-transform: capitalize; + } + + .mbsc-appquality.mbsc-range-label-clear { + color: #8fc1e3; + } + + .mbsc-appquality.mbsc-range-label-clear:hover { + color: #3d94cf; + } + + .mbsc-appquality.mbsc-button-standard { + background: #bdbdbd; + color: #000; + box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), + 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + } + + .mbsc-appquality.mbsc-button-standard.mbsc-hover { + box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), + 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12); + } + + .mbsc-appquality.mbsc-button-standard.mbsc-active, + .mbsc-appquality.mbsc-button-standard.mbsc-focus { + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), + 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12); + } + + .mbsc-appquality.mbsc-button-flat, + .mbsc-appquality.mbsc-button-outline { + color: #000; + } + + .mbsc-appquality.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-flat.mbsc-hover, + .mbsc-appquality.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-outline.mbsc-hover { + background: ${props.theme.colors.gray100}; + } + + .mbsc-appquality.mbsc-button-flat.mbsc-popup-button-primary.mbsc-active, + .mbsc-appquality.mbsc-button-flat.mbsc-popup-button-primary.mbsc-hover, + .mbsc-appquality.mbsc-button-outline.mbsc-popup-button-primary.mbsc-active, + .mbsc-appquality.mbsc-button-outline.mbsc-popup-button-primary.mbsc-hover { + background: ${props.theme.colors.purple100}; + } + + .mbsc-appquality.mbsc-button-flat.mbsc-focus, + .mbsc-appquality.mbsc-button-outline.mbsc-focus { + background: rgba(0, 0, 0, 0.3); + } + + .mbsc-appquality.mbsc-button-outline { + border-color: #000; + } + + .mbsc-appquality.mbsc-button-primary.mbsc-button-standard { + background: #3f97f6; + color: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-button-secondary.mbsc-button-standard { + background: #90979e; + color: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-button-success.mbsc-button-standard { + background: #43be5f; + color: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-button-danger.mbsc-button-standard { + background: #f5504e; + color: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-button-warning.mbsc-button-standard { + background: #f8b042; + color: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-button-info.mbsc-button-standard { + background: #5bb7c5; + color: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-button-dark.mbsc-button-standard { + background: #47494a; + color: ${props.theme.colors.white}; + } + + .mbsc-appquality.mbsc-button-light.mbsc-button-standard { + background: #fff; + color: ${props.theme.palette.primary}; + } + + .mbsc-appquality.mbsc-button-primary.mbsc-button-flat { + color: #3f97f6; + } + + .mbsc-appquality.mbsc-button-primary.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-primary.mbsc-button-flat.mbsc-hover { + background: rgba(63, 151, 246, 0.2); + } + + .mbsc-appquality.mbsc-button-primary.mbsc-button-flat.mbsc-focus { + background: rgba(63, 151, 246, 0.3); + } + + .mbsc-appquality.mbsc-button-secondary.mbsc-button-flat { + color: #90979e; + } + + .mbsc-appquality.mbsc-button-secondary.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-secondary.mbsc-button-flat.mbsc-hover { + background: rgba(144, 151, 158, 0.2); + } + + .mbsc-appquality.mbsc-button-secondary.mbsc-button-flat.mbsc-focus { + background: rgba(144, 151, 158, 0.3); + } + + .mbsc-appquality.mbsc-button-success.mbsc-button-flat { + color: #43be5f; + } + + .mbsc-appquality.mbsc-button-success.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-success.mbsc-button-flat.mbsc-hover { + background: rgba(67, 190, 95, 0.2); + } + + .mbsc-appquality.mbsc-button-success.mbsc-button-flat.mbsc-focus { + background: rgba(67, 190, 95, 0.3); + } + + .mbsc-appquality.mbsc-button-danger.mbsc-button-flat { + color: #f5504e; + } + + .mbsc-appquality.mbsc-button-danger.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-danger.mbsc-button-flat.mbsc-hover { + background: rgba(245, 80, 78, 0.2); + } + + .mbsc-appquality.mbsc-button-danger.mbsc-button-flat.mbsc-focus { + background: rgba(245, 80, 78, 0.3); + } + + .mbsc-appquality.mbsc-button-warning.mbsc-button-flat { + color: #f8b042; + } + + .mbsc-appquality.mbsc-button-warning.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-warning.mbsc-button-flat.mbsc-hover { + background: rgba(248, 176, 66, 0.2); + } + + .mbsc-appquality.mbsc-button-warning.mbsc-button-flat.mbsc-focus { + background: rgba(248, 176, 66, 0.3); + } + + .mbsc-appquality.mbsc-button-info.mbsc-button-flat { + color: #5bb7c5; + } + + .mbsc-appquality.mbsc-button-info.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-info.mbsc-button-flat.mbsc-hover { + background: rgba(91, 183, 197, 0.2); + } + + .mbsc-appquality.mbsc-button-info.mbsc-button-flat.mbsc-focus { + background: rgba(91, 183, 197, 0.3); + } + + .mbsc-appquality.mbsc-button-dark.mbsc-button-flat { + color: #47494a; + } + + .mbsc-appquality.mbsc-button-dark.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-dark.mbsc-button-flat.mbsc-hover { + background: rgba(71, 73, 74, 0.2); + } + + .mbsc-appquality.mbsc-button-dark.mbsc-button-flat.mbsc-focus { + background: rgba(71, 73, 74, 0.3); + } + + .mbsc-appquality.mbsc-button-light.mbsc-button-flat { + color: #ccc; + } + + .mbsc-appquality.mbsc-button-light.mbsc-button-flat.mbsc-active, + .mbsc-appquality.mbsc-button-light.mbsc-button-flat.mbsc-hover { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-appquality.mbsc-button-light.mbsc-button-flat.mbsc-focus { + background: hsla(0, 0%, 100%, 0.3); + } + + .mbsc-appquality.mbsc-button-primary.mbsc-button-outline { + border-color: #3f97f6; + color: #3f97f6; + } + + .mbsc-appquality.mbsc-button-primary.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-primary.mbsc-button-outline.mbsc-hover { + background: rgba(63, 151, 246, 0.2); + } + + .mbsc-appquality.mbsc-button-primary.mbsc-button-outline.mbsc-focus { + background: rgba(63, 151, 246, 0.3); + } + + .mbsc-appquality.mbsc-button-secondary.mbsc-button-outline { + border-color: #90979e; + color: #90979e; + } + + .mbsc-appquality.mbsc-button-secondary.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-secondary.mbsc-button-outline.mbsc-hover { + background: rgba(144, 151, 158, 0.2); + } + + .mbsc-appquality.mbsc-button-secondary.mbsc-button-outline.mbsc-focus { + background: rgba(144, 151, 158, 0.3); + } + + .mbsc-appquality.mbsc-button-success.mbsc-button-outline { + border-color: #43be5f; + color: #43be5f; + } + + .mbsc-appquality.mbsc-button-success.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-success.mbsc-button-outline.mbsc-hover { + background: rgba(67, 190, 95, 0.2); + } + + .mbsc-appquality.mbsc-button-success.mbsc-button-outline.mbsc-focus { + background: rgba(67, 190, 95, 0.3); + } + + .mbsc-appquality.mbsc-button-danger.mbsc-button-outline { + border-color: #f5504e; + color: #f5504e; + } + + .mbsc-appquality.mbsc-button-danger.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-danger.mbsc-button-outline.mbsc-hover { + background: rgba(245, 80, 78, 0.2); + } + + .mbsc-appquality.mbsc-button-danger.mbsc-button-outline.mbsc-focus { + background: rgba(245, 80, 78, 0.3); + } + + .mbsc-appquality.mbsc-button-warning.mbsc-button-outline { + border-color: #f8b042; + color: #f8b042; + } + + .mbsc-appquality.mbsc-button-warning.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-warning.mbsc-button-outline.mbsc-hover { + background: rgba(248, 176, 66, 0.2); + } + + .mbsc-appquality.mbsc-button-warning.mbsc-button-outline.mbsc-focus { + background: rgba(248, 176, 66, 0.3); + } + + .mbsc-appquality.mbsc-button-info.mbsc-button-outline { + border-color: #5bb7c5; + color: #5bb7c5; + } + + .mbsc-appquality.mbsc-button-info.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-info.mbsc-button-outline.mbsc-hover { + background: rgba(91, 183, 197, 0.2); + } + + .mbsc-appquality.mbsc-button-info.mbsc-button-outline.mbsc-focus { + background: rgba(91, 183, 197, 0.3); + } + + .mbsc-appquality.mbsc-button-dark.mbsc-button-outline { + border-color: #47494a; + color: #47494a; + } + + .mbsc-appquality.mbsc-button-dark.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-dark.mbsc-button-outline.mbsc-hover { + background: rgba(71, 73, 74, 0.2); + } + + .mbsc-appquality.mbsc-button-dark.mbsc-button-outline.mbsc-focus { + background: rgba(71, 73, 74, 0.3); + } + + .mbsc-appquality.mbsc-button-light.mbsc-button-outline { + border-color: #ccc; + color: #ccc; + } + + .mbsc-appquality.mbsc-button-light.mbsc-button-outline.mbsc-active, + .mbsc-appquality.mbsc-button-light.mbsc-button-outline.mbsc-hover { + background: hsla(0, 0%, 100%, 0.2); + } + + .mbsc-appquality.mbsc-button-light.mbsc-button-outline.mbsc-focus { + background: hsla(0, 0%, 100%, 0.3); + } + + .mbsc-appquality.mbsc-popup-body { + background: ${props.theme.colors.white}; + box-shadow: 0 11px 15px -7px rgba(0, 0, 0, 0.2), + 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12); + color: ${props.theme.palette.primary}; + } + + .mbsc-appquality.mbsc-popup-arrow { + background: ${props.theme.colors.white}; + box-shadow: 0 0 1em rgba(0, 0, 0, 0.2); + } + + .mbsc-appquality.mbsc-popup-button.mbsc-font { + color: ${props.theme.palette.primary}; + } + + .mbsc-appquality.mbsc-popup-button.mbsc-font.mbsc-popup-button-close { + color: ${props.theme.palette.danger}; + } + + .mbsc-appquality.mbsc-scroller-wheel-cont { + border-color: ${props.theme.palette.secondary}; + } + + .mbsc-appquality.mbsc-scroller-pointer + .mbsc-wheel-group-cont-single + .mbsc-scroller-wheel-single, + .mbsc-appquality.mbsc-scroller-wheel-multi { + border-color: transparent; + } + + .mbsc-appquality.mbsc-scroller-wheel-item.mbsc-active, + .mbsc-appquality.mbsc-scroller-wheel-item.mbsc-focus, + .mbsc-appquality.mbsc-scroller-wheel-item.mbsc-hover { + background: ${addOpacityToHex(props.theme.colors.gray400, "0.2")}; + } + + .mbsc-appquality.mbsc-wheel-checkmark:after { + border-color: ${props.theme.palette.secondary}; + } + + .mbsc-appquality.mbsc-scroller-pointer + .mbsc-wheel-group-cont-single + .mbsc-scroller-wheel-item.mbsc-selected { + color: ${props.theme.palette.secondary}; + background: rgba(0, 0, 0, 0.15); + } + .mbsc-material.mbsc-textfield-box { + ${InvalidInputStyle} + &:focus { + ${InvalidFocusStyle} + } + } +`; +}}`; + +const DatepickerStyle = () => { + useEffect(() => { + (window as any).MBSCappqGlobalStyleAlreadyRendered = false; + }); + if ((window as any).MBSCappqGlobalStyleAlreadyRendered) return null; + return ( + <> + + {((window as any).MBSCappqGlobalStyleAlreadyRendered = true)} + + ); +}; + +export default DatepickerStyle; diff --git a/src/stories/DateInput/index.tsx b/src/stories/DateInput/index.tsx new file mode 100644 index 00000000..4a8e9e44 --- /dev/null +++ b/src/stories/DateInput/index.tsx @@ -0,0 +1,120 @@ +import { + Datepicker as MobiScrollDatePicker, + localeIt, + localeEn, + localeEs, +} from "@appquality/mobiscroll"; +import { useState } from "react"; +import { Calendar } from "react-bootstrap-icons"; +import styled from "styled-components"; +import { Button } from "../button/Button"; +import { StyledInput } from "../form/input/Input"; + +const StyledWrapper = styled.div` + position: relative; + + .mbsc-appquality.mbsc-textfield { + width: 0 !important; + border: none; + height: 0px; + padding: 0px; + } + ${Button} { + position: absolute; + top: 2px; + right: 2px; + } +`; + +export interface DatepickerProps { + id: string; + value?: string; + minDate?: Date; + maxDate?: Date; + locale?: string; + onOpen?: () => void; + onCancel?: ({ value, valueText }: { value: Date; valueText: string }) => void; + onChange?: ({ value, valueText }: { value: Date; valueText: string }) => void; + placeholder?: string; + controls?: Array<"date" | "calendar">; + setText?: string; + cancelText?: string; + dateFormat?: string; + inputTitle?: string; + datePattern?: string; +} + +const DateInput = ({ + value, + minDate, + maxDate, + onChange, + onOpen, + onCancel, + locale, + controls = ["date"], + placeholder, + setText = "Set", + cancelText = "Cancel", + dateFormat = "DD-MM-YYYY", + inputTitle = "Date in the format DD-MM-YYYY", + datePattern = "d{2}-d{2}-d{4}", +}: DatepickerProps) => { + let currentLocale = localeEn; + if (locale === "it") currentLocale = localeIt; + if (locale === "es") currentLocale = localeEs; + const [openPicker, setOpenPicker] = useState(false); + const [pickerValue, setPickerValue] = useState(); + const [textValue, setTextValue] = useState(value || ""); + + const show = () => { + setOpenPicker(true); + }; + const onClose = () => { + setOpenPicker(false); + }; + const onDatePick = (v: { value: Date; textValue: string }) => { + setTextValue(textValue); + setOpenPicker(false); + }; + return ( + + + e.preventDefault()} + placeholder={placeholder} + /> + + + + + ); +}; + +export default DateInput; From a3d59b934b333247938b0e30ff6d102ae526f176 Mon Sep 17 00:00:00 2001 From: Davide Bizzi Date: Tue, 19 Dec 2023 14:42:49 +0100 Subject: [PATCH 05/11] feat: Handle password input --- package.json | 1 + src/stories/form/input/Input.stories.tsx | 11 +++++++++- src/stories/form/input/Input.tsx | 14 +++++++------ .../form/input/inputIcons/PasswordIcon.tsx | 21 +++++++++++++++++++ .../form/input/inputIcons/SearchIcon.tsx | 11 ++++++++++ 5 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 src/stories/form/input/inputIcons/PasswordIcon.tsx create mode 100644 src/stories/form/input/inputIcons/SearchIcon.tsx diff --git a/package.json b/package.json index 7bade61e..47482346 100644 --- a/package.json +++ b/package.json @@ -82,6 +82,7 @@ "@types/react-transition-group": "^4.4.1", "@types/styled-components": "^5.1.10", "auto": "^10.29.2", + "babel-loader": "^8.1.0", "chromatic": "^5.9.0", "copyfiles": "^2.4.1", "cross-env": "^7.0.3", diff --git a/src/stories/form/input/Input.stories.tsx b/src/stories/form/input/Input.stories.tsx index 992ebecd..81038370 100644 --- a/src/stories/form/input/Input.stories.tsx +++ b/src/stories/form/input/Input.stories.tsx @@ -1,5 +1,5 @@ +import { Meta, Story } from "@storybook/react"; import Input from "./Input"; -import { Story, Meta } from "@storybook/react"; export default { title: "Inputs", @@ -30,3 +30,12 @@ export const ReadonlyInput: Story = () => ( disabled={true} /> ); + +export const PasswordInput: Story = () => ( + +); diff --git a/src/stories/form/input/Input.tsx b/src/stories/form/input/Input.tsx index 0454d524..478a1cc3 100644 --- a/src/stories/form/input/Input.tsx +++ b/src/stories/form/input/Input.tsx @@ -1,6 +1,8 @@ -import { Search } from "react-bootstrap-icons"; +import { useState } from "react"; import styled from "styled-components"; import { InvalidFocusStyle, InvalidInputStyle } from "../_style"; +import PasswordIcon from "./inputIcons/PasswordIcon"; +import SearchIcon from "./inputIcons/SearchIcon"; const Input = ({ id, @@ -25,11 +27,12 @@ const Input = ({ extra?: any; onChange?: (val: string) => void; }) => { + const [currentType, setType] = useState(type); return ( onChange && onChange(e.target.value)} {...extra} /> - {type === "search" && ( - - - + {type === "search" && } + {type === "password" && ( + )} ); diff --git a/src/stories/form/input/inputIcons/PasswordIcon.tsx b/src/stories/form/input/inputIcons/PasswordIcon.tsx new file mode 100644 index 00000000..bacc42f3 --- /dev/null +++ b/src/stories/form/input/inputIcons/PasswordIcon.tsx @@ -0,0 +1,21 @@ +import { EyeFill, EyeSlash } from "react-bootstrap-icons"; + +const PasswordIcon = ({ + type, + setType, +}: { + type: string; + setType: (value: string) => void; +}) => { + return ( + + {type === "text" ? ( + setType("password")} /> + ) : ( + setType("text")} /> + )} + + ); +}; + +export default PasswordIcon; diff --git a/src/stories/form/input/inputIcons/SearchIcon.tsx b/src/stories/form/input/inputIcons/SearchIcon.tsx new file mode 100644 index 00000000..4ca16ffc --- /dev/null +++ b/src/stories/form/input/inputIcons/SearchIcon.tsx @@ -0,0 +1,11 @@ +import { Search } from "react-bootstrap-icons"; + +const SearchIcon = () => { + return ( + + + + ); +}; + +export default SearchIcon; From 06b74cf671437e4716fb5589e47de4f5cae14f02 Mon Sep 17 00:00:00 2001 From: Davide Bizzi Date: Tue, 19 Dec 2023 15:45:07 +0100 Subject: [PATCH 06/11] feat: Allow alt message for button --- src/stories/button/Button.tsx | 5 +++-- src/stories/button/_component.tsx | 2 ++ src/stories/button/_types.ts | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/stories/button/Button.tsx b/src/stories/button/Button.tsx index 208e1fd3..26504dbb 100644 --- a/src/stories/button/Button.tsx +++ b/src/stories/button/Button.tsx @@ -1,8 +1,8 @@ import styled, { DefaultTheme } from "styled-components"; -import getButtonSize from "./getButtonSize"; -import getButtonStyle from "./getButtonStyle"; import { ButtonComponent } from "./_component"; import { ButtonProps } from "./_types"; +import getButtonSize from "./getButtonSize"; +import getButtonStyle from "./getButtonStyle"; export const Button = styled(ButtonComponent)( ({ @@ -13,6 +13,7 @@ export const Button = styled(ButtonComponent)( flat = false, squared = false, variant = false, + alt, }: ButtonProps & { theme: DefaultTheme }) => { let styles = getButtonStyle(type, flat, disabled, variant, theme); styles += getButtonSize(size, squared, theme); diff --git a/src/stories/button/_component.tsx b/src/stories/button/_component.tsx index 646945e8..9aa3aa10 100644 --- a/src/stories/button/_component.tsx +++ b/src/stories/button/_component.tsx @@ -13,12 +13,14 @@ export const ButtonComponent = ({ flat, squared, variant, + alt, children, ...props }: ButtonProps) => { let Component = as; return ( Date: Tue, 19 Dec 2023 15:49:25 +0100 Subject: [PATCH 07/11] feat: Allow setting alt in password input --- src/stories/form/input/Input.tsx | 17 +++++++++-- .../form/input/inputIcons/PasswordIcon.tsx | 28 +++++++++++++++++-- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/src/stories/form/input/Input.tsx b/src/stories/form/input/Input.tsx index 478a1cc3..95a6acc9 100644 --- a/src/stories/form/input/Input.tsx +++ b/src/stories/form/input/Input.tsx @@ -15,6 +15,7 @@ const Input = ({ extra, onChange, autocomplete = true, + i18n, }: { id: string; type: string; @@ -26,6 +27,10 @@ const Input = ({ isInvalid?: boolean; extra?: any; onChange?: (val: string) => void; + i18n?: { + showPassword?: string; + hidePassword?: string; + }; }) => { const [currentType, setType] = useState(type); return ( @@ -42,7 +47,7 @@ const Input = ({ /> {type === "search" && } {type === "password" && ( - + )} ); @@ -54,12 +59,18 @@ export const StyledInput = styled.div<{ type: string; isInvalid?: boolean }>` flex-wrap: wrap; align-items: stretch; width: 100%; - .input-group-text { + .input-group-text, + .input-group-button { position: absolute; right: 15px; - top: 29%; + display: flex; + align-items: center; + height: 100%; color: ${(props) => props.theme.variants.primary}; } + .input-group-text { + top: 29%; + } input[type="search"] { -webkit-appearance: none; diff --git a/src/stories/form/input/inputIcons/PasswordIcon.tsx b/src/stories/form/input/inputIcons/PasswordIcon.tsx index bacc42f3..19163f5c 100644 --- a/src/stories/form/input/inputIcons/PasswordIcon.tsx +++ b/src/stories/form/input/inputIcons/PasswordIcon.tsx @@ -1,18 +1,40 @@ import { EyeFill, EyeSlash } from "react-bootstrap-icons"; +import { Button } from "../../../button/Button"; const PasswordIcon = ({ type, setType, + i18n, }: { type: string; setType: (value: string) => void; + i18n?: { + showPassword?: string; + hidePassword?: string; + }; }) => { return ( - + {type === "text" ? ( - setType("password")} /> + ) : ( - setType("text")} /> + )} ); From 4b265f719057e2a013d89f3259960700d20f7bd9 Mon Sep 17 00:00:00 2001 From: Iacopo Leardini Date: Tue, 19 Dec 2023 17:41:54 +0100 Subject: [PATCH 08/11] feat(Button): use title instead of alt text --- src/stories/button/_component.tsx | 4 ++-- src/stories/button/_types.ts | 2 +- src/stories/form/input/inputIcons/PasswordIcon.tsx | 8 ++++++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/stories/button/_component.tsx b/src/stories/button/_component.tsx index 9aa3aa10..024f22e1 100644 --- a/src/stories/button/_component.tsx +++ b/src/stories/button/_component.tsx @@ -13,14 +13,14 @@ export const ButtonComponent = ({ flat, squared, variant, - alt, + title, children, ...props }: ButtonProps) => { let Component = as; return ( {type === "text" ? ( - + + + + ); }; From 2e03fda0012e9aea809bd12e4e176aa9cd99203d Mon Sep 17 00:00:00 2001 From: Davide Bizzi Date: Wed, 20 Dec 2023 09:55:49 +0100 Subject: [PATCH 10/11] fix: Remove prop --- src/stories/button/Button.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/stories/button/Button.tsx b/src/stories/button/Button.tsx index 26504dbb..8311c334 100644 --- a/src/stories/button/Button.tsx +++ b/src/stories/button/Button.tsx @@ -13,7 +13,6 @@ export const Button = styled(ButtonComponent)( flat = false, squared = false, variant = false, - alt, }: ButtonProps & { theme: DefaultTheme }) => { let styles = getButtonStyle(type, flat, disabled, variant, theme); styles += getButtonSize(size, squared, theme); From 885019ccb8dc4097a1c1db9ce88efbbff8dc347c Mon Sep 17 00:00:00 2001 From: Davide Bizzi Date: Wed, 20 Dec 2023 10:07:05 +0100 Subject: [PATCH 11/11] fix: Fix search icon position --- src/stories/form/input/Input.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/stories/form/input/Input.tsx b/src/stories/form/input/Input.tsx index 95a6acc9..20722ea0 100644 --- a/src/stories/form/input/Input.tsx +++ b/src/stories/form/input/Input.tsx @@ -68,9 +68,6 @@ export const StyledInput = styled.div<{ type: string; isInvalid?: boolean }>` height: 100%; color: ${(props) => props.theme.variants.primary}; } - .input-group-text { - top: 29%; - } input[type="search"] { -webkit-appearance: none;