From 8b25feec7d24243ebd14d0afaccd635f95a28c9b Mon Sep 17 00:00:00 2001 From: daileytj Date: Mon, 20 Dec 2021 14:13:27 -0500 Subject: [PATCH 01/84] Update submodule pointer --- demos/showcase | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/showcase b/demos/showcase index 79819c7..8c02b0e 160000 --- a/demos/showcase +++ b/demos/showcase @@ -1 +1 @@ -Subproject commit 79819c7fa4f93baac1573d68f3fde5300edf4cf6 +Subproject commit 8c02b0e504d973b1b8e96815c393f075dfbd5b82 From 75c7c49faa5cfb89af41cf5086a1ee2b3b583984 Mon Sep 17 00:00:00 2001 From: jeffvg Date: Mon, 21 Feb 2022 14:41:50 -0500 Subject: [PATCH 02/84] Feature/BLUI 2923 update ci image --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3e5d946..5fb6499 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ orbs: jobs: build: docker: - - image: circleci/node:12.9.1-browsers + - image: cimg/node:14.19.0-browsers steps: - checkout - restore_cache: @@ -35,7 +35,7 @@ jobs: publish: docker: - - image: circleci/node:12.9.1-browsers + - image: cimg/node:14.19.0-browsers steps: - checkout - attach_workspace: @@ -52,7 +52,7 @@ jobs: tag: docker: - - image: circleci/node:12.9.1-browsers + - image: cimg/node:14.19.0-browsers steps: - checkout - gh/setup From 605c466a17fbdb61a0f48597d14f6476c7981b1b Mon Sep 17 00:00:00 2001 From: jeffvg Date: Mon, 28 Feb 2022 15:28:07 -0500 Subject: [PATCH 03/84] blui 2894 add license crawler and license file --- LICENSES.json | 14 ++ package.json | 4 +- yarn.lock | 350 +++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 366 insertions(+), 2 deletions(-) create mode 100644 LICENSES.json diff --git a/LICENSES.json b/LICENSES.json new file mode 100644 index 0000000..95f171f --- /dev/null +++ b/LICENSES.json @@ -0,0 +1,14 @@ +{ + "@brightlayer-ui/colors@3.0.1": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/brightlayer-ui/colors", + "licenseUrl": "https://github.com/brightlayer-ui/colors/raw/master/LICENSE", + "parents": "@brightlayer-ui/react-native-themes" + }, + "color@3.1.3": { + "licenses": "MIT", + "repository": "https://github.com/Qix-/color", + "licenseUrl": "https://github.com/Qix-/color/raw/master/LICENSE", + "parents": "@brightlayer-ui/react-native-themes" + } +} diff --git a/package.json b/package.json index 9147b56..1abbab0 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "tag:package": "npx -p @brightlayer-ui/tag blui-tag", "update:submodule": "git submodule update --remote", "prettier": "prettier \"src/**/**.{ts,tsx,js,jsx,json,css,scss,html}\" --write", - "prettier:check": "prettier \"src/**/**.{ts,tsx,js,jsx,json,css,scss,html}\" --check" + "prettier:check": "prettier \"src/**/**.{ts,tsx,js,jsx,json,css,scss,html}\" --check", + "generate:licenses": "npm-license-crawler -onlyDirectDependencies -json LICENSES.json" }, "repository": { "type": "git", @@ -46,6 +47,7 @@ "devDependencies": { "@brightlayer-ui/prettier-config": "^1.0.3", "@types/color": "^3.0.1", + "npm-license-crawler": "^0.2.1", "prettier": "^2.4.1", "react-native-paper": "^4.0.0", "typescript": "^3.7.2" diff --git a/yarn.lock b/yarn.lock index 4c496c9..11688d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -46,7 +46,74 @@ dependencies: "@types/color-convert" "*" -color-convert@^1.9.1: +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +ansi-regex@^0.2.0, ansi-regex@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" + integrity sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk= + +ansi-styles@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" + integrity sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94= + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +async@^2.6.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" + integrity sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ= + dependencies: + ansi-styles "^1.1.0" + escape-string-regexp "^1.0.0" + has-ansi "^0.1.0" + strip-ansi "^0.3.0" + supports-color "^0.2.0" + +color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -79,11 +146,79 @@ color@^3.1.2, color@^3.1.3: color-convert "^1.9.1" color-string "^1.5.4" +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= + deepmerge@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== +dezalgo@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= + dependencies: + asap "^2.0.0" + wrappy "1" + +escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +github-url-from-git@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0" + integrity sha1-+YX+3MCpqledyI16/waNVcxiUaA= + +github-url-from-username-repo@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz#7dd79330d2abe69c10c2cef79714c97215791dfa" + integrity sha1-fdeTMNKr5pwQws73lxTJchV5Hfo= + +glob@^5.0.3: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +"graceful-fs@2 || 3": + version "3.0.12" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz#0034947ce9ed695ec8ab0b854bc919e82b1ffaef" + integrity sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg== + dependencies: + natives "^1.1.3" + +graceful-fs@^4.1.2: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + +has-ansi@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" + integrity sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4= + dependencies: + ansi-regex "^0.2.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + hoist-non-react-statics@^2.3.1: version "2.5.5" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" @@ -96,11 +231,145 @@ hoist-non-react-statics@^3.3.0: dependencies: react-is "^16.7.0" +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + is-arrayish@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== +jju@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= + +jquery-extend@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/jquery-extend/-/jquery-extend-2.0.3.tgz#6815cdb01a866ddba30e6f4d0fc5fb6679272735" + integrity sha1-aBXNsBqGbdujDm9ND8X7ZnknJzU= + +json-parse-helpfulerror@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" + integrity sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w= + dependencies: + jju "^1.1.0" + +"license-checker@git+https://github.com/mwittig/license-checker.git#d546e3f738e14c62e732346fa355162d46700893": + version "1.0.0" + resolved "git+https://github.com/mwittig/license-checker.git#d546e3f738e14c62e732346fa355162d46700893" + dependencies: + chalk "~0.5.1" + mkdirp "^0.3.5" + nopt "^2.2.0" + read-installed "~3.1.3" + treeify "^1.0.1" + +lodash@^4.17.14: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +"minimatch@2 || 3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mkdirp@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.5.tgz#de3e5f8961c88c787ee1368df849ac4413eca8d7" + integrity sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc= + +mkdirp@^0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +natives@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" + integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== + +nopt-defaults@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/nopt-defaults/-/nopt-defaults-0.0.1.tgz#f150fcc8882309cbfb76187e12e9bcb20694558b" + integrity sha1-8VD8yIgjCcv7dhh+Eum8sgaUVYs= + +nopt-usage@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/nopt-usage/-/nopt-usage-0.1.0.tgz#b18b8c183e181047ca9e63b7cde7cfc702cca579" + integrity sha1-sYuMGD4YEEfKnmO3zefPxwLMpXk= + +nopt@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-2.2.1.tgz#2aa09b7d1768487b3b89a9c5aa52335bff0baea7" + integrity sha1-KqCbfRdoSHs7ianFqlIzW/8Lrqc= + dependencies: + abbrev "1" + +nopt@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +normalize-package-data@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-1.0.3.tgz#8be955b8907af975f1a4584ea8bb9b41492312f5" + integrity sha1-i+lVuJB6+XXxpFhOqLubQUkjEvU= + dependencies: + github-url-from-git "^1.3.0" + github-url-from-username-repo "^1.0.0" + semver "2 || 3 || 4" + +npm-license-crawler@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/npm-license-crawler/-/npm-license-crawler-0.2.1.tgz#a76a82e0a0407e2032c03dc5b1d518cf9eac9e1d" + integrity sha512-CRchloUjZk/ZSAkb5JbCKNFojLWtbjxwsB7w48kauHXK+5bjby2HXFvGvicVx7uNBY6HBWEPw20qKc/4jlL+1Q== + dependencies: + async "^2.6.1" + chalk "^2.4.2" + jquery-extend "~2.0.3" + license-checker "git+https://github.com/mwittig/license-checker#d546e3f738e14c62e732346fa355162d46700893" + mkdirp "^0.5.1" + nopt "^3.0.6" + nopt-defaults "^0.0.1" + nopt-usage "^0.1.0" + treeify "^1.1.0" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + prettier@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" @@ -127,6 +396,46 @@ react-native-safe-area-view@^0.14.9: dependencies: hoist-non-react-statics "^2.3.1" +read-installed@~3.1.3: + version "3.1.5" + resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-3.1.5.tgz#4ae36081afd3e2204dc2e279807aaa52c30c8c0c" + integrity sha1-SuNgga/T4iBNwuJ5gHqqUsMMjAw= + dependencies: + debuglog "^1.0.1" + read-package-json "1" + readdir-scoped-modules "^1.0.0" + semver "2 || 3 || 4" + slide "~1.1.3" + util-extend "^1.0.1" + optionalDependencies: + graceful-fs "2 || 3" + +read-package-json@1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-1.3.3.tgz#ef79dfda46e165376ee8a57efbfedd4d1b029ba4" + integrity sha1-73nf2kbhZTdu6KV++/7dTRsCm6Q= + dependencies: + glob "^5.0.3" + json-parse-helpfulerror "^1.0.2" + normalize-package-data "^1.0.0" + optionalDependencies: + graceful-fs "2 || 3" + +readdir-scoped-modules@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + +"semver@2 || 3 || 4": + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto= + simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -134,7 +443,46 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +slide@~1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + +strip-ansi@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" + integrity sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA= + dependencies: + ansi-regex "^0.2.1" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + integrity sha1-2S3iaU6z9nMjlz1649i1W0wiGQo= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +treeify@^1.0.1, treeify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" + integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== + typescript@^3.7.2: version "3.9.7" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== + +util-extend@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" + integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8= + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= From 5638fec11d3a03499cdd84c60cae47f6ea0910b7 Mon Sep 17 00:00:00 2001 From: jeffvg Date: Tue, 8 Mar 2022 09:41:07 -0500 Subject: [PATCH 04/84] add precommit and license test --- package.json | 4 +++- scripts/buildTest.sh | 2 ++ yarn.lock | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 1abbab0..0dbacc3 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "update:submodule": "git submodule update --remote", "prettier": "prettier \"src/**/**.{ts,tsx,js,jsx,json,css,scss,html}\" --write", "prettier:check": "prettier \"src/**/**.{ts,tsx,js,jsx,json,css,scss,html}\" --check", - "generate:licenses": "npm-license-crawler -onlyDirectDependencies -json LICENSES.json" + "generate:licenses": "npm-license-crawler -onlyDirectDependencies -json LICENSES.json", + "precommit": "yarn build && yarn generate:licenses && yarn prettier && yarn test" }, "repository": { "type": "git", @@ -57,6 +58,7 @@ "package.json", "README.md", "LICENSE", + "LICENSES.json", "CHANGELOG.md", "/dist" ] diff --git a/scripts/buildTest.sh b/scripts/buildTest.sh index ff4df51..bdf0e05 100755 --- a/scripts/buildTest.sh +++ b/scripts/buildTest.sh @@ -12,6 +12,8 @@ echo -ne " readme: " if [ ! -f ./README.md ]; then echo -e "${RED}Not Found${NC}" && exit 1; else echo -e "${GREEN}Found${NC}"; fi echo -ne " license: " if [ ! -f ./LICENSE ]; then echo -e "${RED}Not Found${NC}" && exit 1; else echo -e "${GREEN}Found${NC}"; fi +echo -ne " licenses.json: " +if [ ! -f ./LICENSES.json ]; then echo -e "${RED}Not Found${NC}" && exit 1; else echo -e "${GREEN}Found${NC}"; fi echo -ne " changelog: " if [ ! -f ./CHANGELOG.md ]; then echo -e "${RED}Not Found${NC}" && exit 1; else echo -e "${GREEN}Found${NC}"; fi echo -ne " blue theme: " diff --git a/yarn.lock b/yarn.lock index 11688d0..81566dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -266,9 +266,9 @@ json-parse-helpfulerror@^1.0.2: dependencies: jju "^1.1.0" -"license-checker@git+https://github.com/mwittig/license-checker.git#d546e3f738e14c62e732346fa355162d46700893": +"license-checker@git+https://github.com/mwittig/license-checker#d546e3f738e14c62e732346fa355162d46700893": version "1.0.0" - resolved "git+https://github.com/mwittig/license-checker.git#d546e3f738e14c62e732346fa355162d46700893" + resolved "git+https://github.com/mwittig/license-checker#d546e3f738e14c62e732346fa355162d46700893" dependencies: chalk "~0.5.1" mkdirp "^0.3.5" From 50a5f3181ec760545e4c82f70eb863f1c45fc5e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Jul 2022 13:52:51 +0000 Subject: [PATCH 05/84] Bump async from 2.6.3 to 2.6.4 Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4. - [Release notes](https://github.com/caolan/async/releases) - [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md) - [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4) --- updated-dependencies: - dependency-name: async dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 81566dc..b87ac17 100644 --- a/yarn.lock +++ b/yarn.lock @@ -74,9 +74,9 @@ asap@^2.0.0: integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= async@^2.6.1: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== dependencies: lodash "^4.17.14" From 8399b8709ccf773089e2f18e6d9f00d97e5b0e94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Jul 2022 13:52:51 +0000 Subject: [PATCH 06/84] Bump minimist from 1.2.5 to 1.2.6 Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 81566dc..06edb10 100644 --- a/yarn.lock +++ b/yarn.lock @@ -289,9 +289,9 @@ lodash@^4.17.14: brace-expansion "^1.1.7" minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== mkdirp@^0.3.5: version "0.3.5" From 22e3d187d60ed9007a98a7db17f10f64f724a814 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Jul 2022 13:52:56 +0000 Subject: [PATCH 07/84] Bump color-string from 1.5.4 to 1.9.1 Bumps [color-string](https://github.com/Qix-/color-string) from 1.5.4 to 1.9.1. - [Release notes](https://github.com/Qix-/color-string/releases) - [Changelog](https://github.com/Qix-/color-string/blob/master/CHANGELOG.md) - [Commits](https://github.com/Qix-/color-string/compare/1.5.4...1.9.1) --- updated-dependencies: - dependency-name: color-string dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 81566dc..8bddbea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -131,9 +131,9 @@ color-name@^1.0.0: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" - integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" @@ -439,7 +439,7 @@ readdir-scoped-modules@^1.0.0: simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== dependencies: is-arrayish "^0.3.1" From d7d2f41eb727b15801e43bd70b6366dbf8a5adba Mon Sep 17 00:00:00 2001 From: EvanMcLaughlin-eaton <119620352+EvanMcLaughlin-eaton@users.noreply.github.com> Date: Thu, 29 Dec 2022 10:17:38 -0500 Subject: [PATCH 08/84] Update config.yml --- .circleci/config.yml | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5fb6499..e39be3b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -50,19 +50,6 @@ jobs: command: | yarn publish:package -b $CIRCLE_BRANCH - tag: - docker: - - image: cimg/node:14.19.0-browsers - steps: - - checkout - - gh/setup - - attach_workspace: - at: . - - run: - name: Tag @brightlayer-ui/react-native-themes - command: | - yarn tag:package -b $CIRCLE_BRANCH -s -blui-react-native-themes - workflows: version: 2 themes: @@ -76,10 +63,3 @@ workflows: only: - master - dev - - tag: - requires: - - publish - filters: - branches: - only: - - master From 8336de4ddd6992fdf8f9a1beede38f9d48e19cf4 Mon Sep 17 00:00:00 2001 From: EvanMcLaughlin-eaton <119620352+EvanMcLaughlin-eaton@users.noreply.github.com> Date: Thu, 29 Dec 2022 10:18:54 -0500 Subject: [PATCH 09/84] Create tagging.yml --- .github/workflows/tagging.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/tagging.yml diff --git a/.github/workflows/tagging.yml b/.github/workflows/tagging.yml new file mode 100644 index 0000000..97bc196 --- /dev/null +++ b/.github/workflows/tagging.yml @@ -0,0 +1,17 @@ +name: Tagging + +env: + GH_TOKEN: ${{ github.token }} + CURRENT_BRANCH: ${{ github.ref_name }} + +on: + push: + branches: + - master + +jobs: + tag-package: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - run: yarn tag:package -b ${CURRENT_BRANCH} From a89acbbdaeb8de950f24fa6a40c12376eec5ff5a Mon Sep 17 00:00:00 2001 From: EvanMcLaughlin-eaton <119620352+EvanMcLaughlin-eaton@users.noreply.github.com> Date: Thu, 29 Dec 2022 10:19:18 -0500 Subject: [PATCH 10/84] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0dbacc3..8cf88ca 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "link:themes": "bash ./scripts/linkThemes.sh", "test": "bash ./scripts/buildTest.sh", "publish:package": "set npm_config_yes=true && npx -p @brightlayer-ui/publish blui-publish", - "tag:package": "npx -p @brightlayer-ui/tag blui-tag", + "tag:package": "npx -p @brightlayer-ui/tag blui-tag -s -blui-react-native-themes", "update:submodule": "git submodule update --remote", "prettier": "prettier \"src/**/**.{ts,tsx,js,jsx,json,css,scss,html}\" --write", "prettier:check": "prettier \"src/**/**.{ts,tsx,js,jsx,json,css,scss,html}\" --check", From 0f27201f61cb8a1de4207097fdc9033ad1764af7 Mon Sep 17 00:00:00 2001 From: EvanMcLaughlin-eaton Date: Fri, 6 Jan 2023 11:35:42 -0500 Subject: [PATCH 11/84] Add template --- .github/ISSUE_TEMPLATE/bug-report.md | 34 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature-request.md | 15 ++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 29 +++++++++++++++++++ .github/workflows/config/pr-labeler.yml | 3 ++ .github/workflows/pr-comment.yml | 19 +++++++++++++ .github/workflows/pr-labeler.yml | 14 ++++++++++ 6 files changed, 114 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/feature-request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/config/pr-labeler.yml create mode 100644 .github/workflows/pr-comment.yml create mode 100644 .github/workflows/pr-labeler.yml diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000..8d92f10 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,34 @@ +--- +name: Bug Report +about: Report a bug with a Brightlayer UI resource +title: '' +labels: 'bug, needs-review, brightlayer-ui' +assignees: '' +--- + +#### Describe the bug / expected behavior + +#### What are the steps to reproduce? + +1. Go to... +2. Click on... + +#### Screenshots / Screen recording + +#### Code snippet / Link to minimum reproduction example + + + +``` +CODE HERE +``` + +#### Your environment information + + + +#### Suggested fix + + + +#### Anything else to add? diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 0000000..e2f2a18 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,15 @@ +--- +name: Feature Request +about: Suggest an idea for this resource +title: '' +labels: 'enhancement, needs-review, brightlayer-ui' +assignees: '' +--- + +#### Describe the desired feature/functionality + +#### Additional Context (where / how would this be used) + +#### Is this request related to a current issue? + +#### Suggested implementation details diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..abc913a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,29 @@ + + +Fixes # . + + + +#### Changes proposed in this Pull Request: + +- +- +- + + + +#### Screenshots / Screen Recording (if applicable) + +- + + + +#### To Test: + +- + + + +#### Any specific feedback you are looking for? + +- diff --git a/.github/workflows/config/pr-labeler.yml b/.github/workflows/config/pr-labeler.yml new file mode 100644 index 0000000..a191dfe --- /dev/null +++ b/.github/workflows/config/pr-labeler.yml @@ -0,0 +1,3 @@ +master: ['hotfix/*', 'release/*', 'dev/*', 'dev*'] +external-dependency: ['combined/*', 'combined-dependabots/*'] +brightlayer-ui: ['*'] diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml new file mode 100644 index 0000000..4015939 --- /dev/null +++ b/.github/workflows/pr-comment.yml @@ -0,0 +1,19 @@ +name: 'Comment on PR' +on: + pull_request: + branches: + - master + +jobs: + example_comment_pr: + runs-on: ubuntu-latest + name: comment PR if needed + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Comment PR + uses: thollander/actions-comment-pull-request@v1 + with: + message: 'Thank you for the master pull request. 👍 Please be sure this pull request is for the master branch. The master branch is used for items that are ready for publishing. + The dev branch is our working branch for all issues and enhancements. Please read our [Contributing Guidelines](https://github.com/etn-ccis/blui-doc-it/blob/master/src/docs/community/contributing-guideline.md) for more information.' + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml new file mode 100644 index 0000000..c0dfb25 --- /dev/null +++ b/.github/workflows/pr-labeler.yml @@ -0,0 +1,14 @@ +name: PR Labeler +on: + pull_request: + types: [opened] + +jobs: + pr-labeler: + runs-on: ubuntu-latest + steps: + - uses: TimonVS/pr-labeler-action@v3 + with: + configuration-path: .github/workflows/config/pr-labeler.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From d1d7d4dc73e7e69f607c6f70a988d3b5ce25025a Mon Sep 17 00:00:00 2001 From: huayunh Date: Fri, 6 Jan 2023 14:58:49 -0500 Subject: [PATCH 12/84] Update GHE links and code owners --- .gitmodules | 2 +- CODEOWNERS | 2 +- LICENSES.json | 4 ++-- README.md | 6 +++--- package.json | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitmodules b/.gitmodules index 37442e0..9472859 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "demos/showcase"] path = demos/showcase - url = https://github.com/brightlayer-ui/react-native-showcase-demo + url = https://github.com/etn-ccis/blui-react-native-showcase-demo branch = dev diff --git a/CODEOWNERS b/CODEOWNERS index 126ad14..2578b5b 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1 +1 @@ -* @emclaug2 @jeffvg @huayunh @daileytj +* @JeffGreiner-eaton @daileytj @surajeaton diff --git a/LICENSES.json b/LICENSES.json index 95f171f..666efbc 100644 --- a/LICENSES.json +++ b/LICENSES.json @@ -1,8 +1,8 @@ { "@brightlayer-ui/colors@3.0.1": { "licenses": "BSD-3-Clause", - "repository": "https://github.com/brightlayer-ui/colors", - "licenseUrl": "https://github.com/brightlayer-ui/colors/raw/master/LICENSE", + "repository": "https://github.com/etn-ccis/blui-colors", + "licenseUrl": "https://github.com/etn-ccis/blui-colors/raw/master/LICENSE", "parents": "@brightlayer-ui/react-native-themes" }, "color@3.1.3": { diff --git a/README.md b/README.md index ccf3441..3d042c5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Brightlayer UI themes for React Native applications -[![](https://img.shields.io/circleci/project/github/brightlayer-ui/react-native-themes/master.svg?style=flat)](https://circleci.com/gh/brightlayer-ui/react-native-themes/tree/master) +[![](https://img.shields.io/circleci/project/github/etn-ccis/blui-react-native-themes/master.svg?style=flat)](https://circleci.com/gh/etn-ccis/blui-react-native-themes/tree/master) [![](https://img.shields.io/npm/v/@brightlayer-ui/react-native-themes.svg?label=@brightlayer-ui/react-native-themes&style=flat)](https://www.npmjs.com/package/@brightlayer-ui/react-native-themes) This package provides theming support for Eaton applications using the Brightlayer UI design system. It includes resources for developers using React Native with [react-native-paper](https://www.npmjs.com/package/react-native-paper). This package comes with two theme options: a Blue theme (standard) and a Dark theme. @@ -61,7 +61,7 @@ import * as BLUIThemes from '@brightlayer-ui/react-native-themes'; The default theme structure for React Native Paper components does not offer us enough control to make some components look exactly the way they should for Brightlayer UI applications. Because of this, we have extended the default theme type definition (see below) and created wrapper components with the correct styles to use in place of some of the standard React Native Paper components. -In order for these components to look correct in your application, you should use the [Brightlayer UI wrapper components](https://github.com/brightlayer-ui/react-native-component-library/blob/master/components/src/themed/README.md) in place of the respective components from React Native Paper. +In order for these components to look correct in your application, you should use the [Brightlayer UI wrapper components](https://github.com/etn-ccis/blui-react-native-component-library/blob/master/components/src/themed/README.md) in place of the respective components from React Native Paper. ### TypeScript @@ -116,5 +116,5 @@ declare global { diff --git a/package.json b/package.json index 8cf88ca..c24e726 100644 --- a/package.json +++ b/package.json @@ -26,12 +26,12 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/brightlayer-ui/react-native-themes.git" + "url": "git+https://github.com/etn-ccis/blui-react-native-themes.git" }, "bugs": { - "url": "https://github.com/brightlayer-ui/react-native-themes/issues" + "url": "https://github.com/etn-ccis/blui-react-native-themes/issues" }, - "homepage": "https://github.com/brightlayer-ui/react-native-themes/tree/master", + "homepage": "https://github.com/etn-ccis/blui-react-native-themes/tree/master", "keywords": [ "Brightlayer UI", "themes", From 50195f123dac5ee3434801db983f66dc8b44c55f Mon Sep 17 00:00:00 2001 From: huayunh Date: Fri, 6 Jan 2023 15:00:52 -0500 Subject: [PATCH 13/84] Link to docit about themes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d042c5..aa6fc9e 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![](https://img.shields.io/circleci/project/github/etn-ccis/blui-react-native-themes/master.svg?style=flat)](https://circleci.com/gh/etn-ccis/blui-react-native-themes/tree/master) [![](https://img.shields.io/npm/v/@brightlayer-ui/react-native-themes.svg?label=@brightlayer-ui/react-native-themes&style=flat)](https://www.npmjs.com/package/@brightlayer-ui/react-native-themes) -This package provides theming support for Eaton applications using the Brightlayer UI design system. It includes resources for developers using React Native with [react-native-paper](https://www.npmjs.com/package/react-native-paper). This package comes with two theme options: a Blue theme (standard) and a Dark theme. +This package provides [theming](https://brightlayer-ui.github.io/style/themes) support for Eaton applications using the Brightlayer UI design system. It includes resources for developers using React Native with [react-native-paper](https://www.npmjs.com/package/react-native-paper). This package comes with two theme options: a Blue theme (standard) and a Dark theme. For other frameworks, check out our related packages: From f8b3a2178405239952f0aa0d600c4c4bf7313819 Mon Sep 17 00:00:00 2001 From: JeffGreiner-eaton Date: Tue, 17 Jan 2023 11:27:42 -0500 Subject: [PATCH 14/84] update labeler --- .github/{workflows/config => }/pr-labeler.yml | 2 +- .github/workflows/pr-labeler.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename .github/{workflows/config => }/pr-labeler.yml (79%) diff --git a/.github/workflows/config/pr-labeler.yml b/.github/pr-labeler.yml similarity index 79% rename from .github/workflows/config/pr-labeler.yml rename to .github/pr-labeler.yml index a191dfe..8441cb8 100644 --- a/.github/workflows/config/pr-labeler.yml +++ b/.github/pr-labeler.yml @@ -1,3 +1,3 @@ master: ['hotfix/*', 'release/*', 'dev/*', 'dev*'] external-dependency: ['combined/*', 'combined-dependabots/*'] -brightlayer-ui: ['*'] +brightlayer-ui: ['*', '*/*'] diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml index c0dfb25..6c5d4be 100644 --- a/.github/workflows/pr-labeler.yml +++ b/.github/workflows/pr-labeler.yml @@ -9,6 +9,6 @@ jobs: steps: - uses: TimonVS/pr-labeler-action@v3 with: - configuration-path: .github/workflows/config/pr-labeler.yml + configuration-path: .github/pr-labeler.yml env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From e94a24263e09678e7e3423dc08543f484b8f88bd Mon Sep 17 00:00:00 2001 From: daileytj Date: Tue, 24 Jan 2023 10:29:23 -0500 Subject: [PATCH 15/84] Add dependabot config that triggers monthly PR --- .github/dependabot.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..7917bd9 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +version: 2 +updates: + - package-ecosystem: 'npm' + directory: '/' + schedule: + interval: 'monthly' + day: 'monday' + open-pull-requests-limit: 1 + target-branch: 'dev' + labels: + - 'external-dependency' \ No newline at end of file From 7b15ee266641d6d176886276d14cc813aeebc963 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Jan 2023 18:41:05 +0000 Subject: [PATCH 16/84] Bump @brightlayer-ui/colors from 3.0.1 to 3.1.1 Bumps [@brightlayer-ui/colors](https://github.com/brightlayer-ui/colors) from 3.0.1 to 3.1.1. - [Release notes](https://github.com/brightlayer-ui/colors/releases) - [Commits](https://github.com/brightlayer-ui/colors/commits) --- updated-dependencies: - dependency-name: "@brightlayer-ui/colors" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 45bf6ea..df81118 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,9 +3,9 @@ "@brightlayer-ui/colors@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@brightlayer-ui/colors/-/colors-3.0.1.tgz#f085acf6b6b4266a01798c78bc25841d15e44b3e" - integrity sha512-AE9F6FN1EQWMoqFTak6q8MN3wg9et2u2SUs6HjYhcS3GVSHjMWVSsuJZ2aD5Lu9409Gfi6pBHDWsJZ5PyeLsdQ== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@brightlayer-ui/colors/-/colors-3.1.1.tgz#7bc86498e30172c410ba4c3237149b16a2eed4c6" + integrity sha512-fV10E5JDuVGDQ0gCY3pEfDwUo1+lvDFC5pmOAAGpN7YDramS6ggUpJ/LmYavKAudw7FNcaJnPi7tsQWJjvv/7w== dependencies: "@brightlayer-ui/types" "^2.0.0" From fa8770f079b6c7fdbeb0bf3e5502f7b2b4f77149 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Feb 2023 11:05:14 +0000 Subject: [PATCH 17/84] Bump typescript from 3.9.7 to 4.9.5 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.7 to 4.9.5. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v3.9.7...v4.9.5) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c24e726..c84846f 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "npm-license-crawler": "^0.2.1", "prettier": "^2.4.1", "react-native-paper": "^4.0.0", - "typescript": "^3.7.2" + "typescript": "^4.9.5" }, "prettier": "@brightlayer-ui/prettier-config", "files": [ diff --git a/yarn.lock b/yarn.lock index df81118..44ec802 100644 --- a/yarn.lock +++ b/yarn.lock @@ -472,10 +472,10 @@ treeify@^1.0.1, treeify@^1.1.0: resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== -typescript@^3.7.2: - version "3.9.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== +typescript@^4.9.5: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== util-extend@^1.0.1: version "1.0.3" From 7c5b10196e87fdeaf59c81478905f157e88e7331 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Mar 2023 12:00:24 +0000 Subject: [PATCH 18/84] Bump color from 3.1.3 to 4.2.3 Bumps [color](https://github.com/Qix-/color) from 3.1.3 to 4.2.3. - [Release notes](https://github.com/Qix-/color/releases) - [Commits](https://github.com/Qix-/color/compare/3.1.3...4.2.3) --- updated-dependencies: - dependency-name: color dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index c84846f..2432008 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ ], "dependencies": { "@brightlayer-ui/colors": "^3.0.0", - "color": "^3.1.3" + "color": "^4.2.3" }, "peerDependencies": { "react-native-paper": "^3.0.0 || ^4.0.0" diff --git a/yarn.lock b/yarn.lock index 44ec802..890e2a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,17 +120,24 @@ color-convert@^1.9.0, color-convert@^1.9.1: dependencies: color-name "1.1.3" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0: +color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.4: +color-string@^1.5.4, color-string@^1.9.0: version "1.9.1" resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== @@ -138,7 +145,7 @@ color-string@^1.5.4: color-name "^1.0.0" simple-swizzle "^0.2.2" -color@^3.1.2, color@^3.1.3: +color@^3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== @@ -146,6 +153,14 @@ color@^3.1.2, color@^3.1.3: color-convert "^1.9.1" color-string "^1.5.4" +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" From d2db63eff14dbc9e1ce30e69c85a92677eab8a84 Mon Sep 17 00:00:00 2001 From: JeffGreiner-eaton Date: Wed, 8 Mar 2023 09:38:32 -0500 Subject: [PATCH 19/84] update actions & workflows --- .github/dependabot.yml | 3 ++- .github/labeler.yml | 3 +++ .github/workflows/laberler.yml | 14 ++++++++++++++ .github/workflows/pr-comment.yml | 5 +++-- .github/workflows/pr-labeler.yml | 12 +++++++++--- 5 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/laberler.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7917bd9..1a78961 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,4 +8,5 @@ updates: open-pull-requests-limit: 1 target-branch: 'dev' labels: - - 'external-dependency' \ No newline at end of file + - 'external-dependency' + - 'brightlayer-ui' \ No newline at end of file diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..aa649aa --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,3 @@ +# Add brightlayer-ui label to any root file changes on fork pull requests +brightlayer-ui: +- '*' \ No newline at end of file diff --git a/.github/workflows/laberler.yml b/.github/workflows/laberler.yml new file mode 100644 index 0000000..6f578b3 --- /dev/null +++ b/.github/workflows/laberler.yml @@ -0,0 +1,14 @@ +name: "Fork PR Labeler" +on: +- pull_request_target + +jobs: + triage: + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v4 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index 4015939..577584f 100644 --- a/.github/workflows/pr-comment.yml +++ b/.github/workflows/pr-comment.yml @@ -1,6 +1,6 @@ name: 'Comment on PR' on: - pull_request: + pull_request_target: branches: - master @@ -12,8 +12,9 @@ jobs: - name: Checkout uses: actions/checkout@v3 - name: Comment PR - uses: thollander/actions-comment-pull-request@v1 + uses: thollander/actions-comment-pull-request@v2 with: message: 'Thank you for the master pull request. 👍 Please be sure this pull request is for the master branch. The master branch is used for items that are ready for publishing. The dev branch is our working branch for all issues and enhancements. Please read our [Contributing Guidelines](https://github.com/etn-ccis/blui-doc-it/blob/master/src/docs/community/contributing-guideline.md) for more information.' GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + comment_tag: execution diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml index 6c5d4be..f837b4f 100644 --- a/.github/workflows/pr-labeler.yml +++ b/.github/workflows/pr-labeler.yml @@ -3,12 +3,18 @@ on: pull_request: types: [opened] +permissions: + contents: read + jobs: pr-labeler: + if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}' + permissions: + contents: read + pull-requests: write runs-on: ubuntu-latest steps: - - uses: TimonVS/pr-labeler-action@v3 + - uses: TimonVS/pr-labeler-action@v4 with: + repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/pr-labeler.yml - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 2564ee92d3ee99284f68fc9601cf76a1450731aa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 Mar 2023 17:23:45 +0000 Subject: [PATCH 20/84] Bump @types/color from 3.0.1 to 3.0.3 Bumps [@types/color](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/color) from 3.0.1 to 3.0.3. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/color) --- updated-dependencies: - dependency-name: "@types/color" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 890e2a0..4015276 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,9 +40,9 @@ integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== "@types/color@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/color/-/color-3.0.1.tgz#2900490ed04da8116c5058cd5dba3572d5a25071" - integrity sha512-oeUWVaAwI+xINDUx+3F2vJkl/vVB03VChFF/Gl3iQCdbcakjuoJyMOba+3BXRtnBhxZ7uBYqQBi9EpLnvSoztA== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/color/-/color-3.0.3.tgz#e6d8d72b7aaef4bb9fe80847c26c7c786191016d" + integrity sha512-X//qzJ3d3Zj82J9sC/C18ZY5f43utPbAJ6PhYt/M7uG6etcF6MRpKdN880KBy43B0BMzSfeT96MzrsNjFI3GbA== dependencies: "@types/color-convert" "*" From 3e405cde3ca6aea1e8a4b5ecc51ef2f314a02115 Mon Sep 17 00:00:00 2001 From: jeffgreiner-eaton Date: Thu, 20 Apr 2023 14:10:12 -0400 Subject: [PATCH 21/84] Blui 3920 update label configs --- .github/pr-labeler.yml | 2 +- .github/workflows/{laberler.yml => labeler.yml} | 4 +++- .github/workflows/pr-labeler.yml | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) rename .github/workflows/{laberler.yml => labeler.yml} (64%) diff --git a/.github/pr-labeler.yml b/.github/pr-labeler.yml index 8441cb8..f8a11a8 100644 --- a/.github/pr-labeler.yml +++ b/.github/pr-labeler.yml @@ -1,3 +1,3 @@ master: ['hotfix/*', 'release/*', 'dev/*', 'dev*'] external-dependency: ['combined/*', 'combined-dependabots/*'] -brightlayer-ui: ['*', '*/*'] +brightlayer-ui: ['feature/*', 'bug/*', 'fix/*', 'experiment/*'] diff --git a/.github/workflows/laberler.yml b/.github/workflows/labeler.yml similarity index 64% rename from .github/workflows/laberler.yml rename to .github/workflows/labeler.yml index 6f578b3..1b6cdc0 100644 --- a/.github/workflows/laberler.yml +++ b/.github/workflows/labeler.yml @@ -10,5 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/labeler@v4 + if: github.event.action == 'opened' with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file + repo-token: "${{ secrets.GITHUB_TOKEN }}" + sync-labels: '' \ No newline at end of file diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml index f837b4f..d397491 100644 --- a/.github/workflows/pr-labeler.yml +++ b/.github/workflows/pr-labeler.yml @@ -15,6 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: TimonVS/pr-labeler-action@v4 + if: github.event.action == 'opened' with: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/pr-labeler.yml From c7ccede5a3fcd899710c88fe0cef03f473e9579f Mon Sep 17 00:00:00 2001 From: huayunh Date: Fri, 21 Apr 2023 12:34:10 -0400 Subject: [PATCH 22/84] Update pr-labeler.yml --- .github/pr-labeler.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pr-labeler.yml b/.github/pr-labeler.yml index f8a11a8..dc5aa37 100644 --- a/.github/pr-labeler.yml +++ b/.github/pr-labeler.yml @@ -1,3 +1,3 @@ master: ['hotfix/*', 'release/*', 'dev/*', 'dev*'] external-dependency: ['combined/*', 'combined-dependabots/*'] -brightlayer-ui: ['feature/*', 'bug/*', 'fix/*', 'experiment/*'] +brightlayer-ui: ['feature/*', 'bug/*', 'fix/*', 'experiment/*', 'dev/*', 'dev*'] From ed035c5539575357f0a26e930a223271e7d59282 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 11:59:41 +0000 Subject: [PATCH 23/84] Bump typescript from 4.9.5 to 5.0.4 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.5 to 5.0.4. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.5...v5.0.4) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2432008..b7a8e45 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "npm-license-crawler": "^0.2.1", "prettier": "^2.4.1", "react-native-paper": "^4.0.0", - "typescript": "^4.9.5" + "typescript": "^5.0.4" }, "prettier": "@brightlayer-ui/prettier-config", "files": [ diff --git a/yarn.lock b/yarn.lock index 4015276..2b83109 100644 --- a/yarn.lock +++ b/yarn.lock @@ -487,10 +487,10 @@ treeify@^1.0.1, treeify@^1.1.0: resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== -typescript@^4.9.5: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== util-extend@^1.0.1: version "1.0.3" From 47e88f8cb9d2c7e8ed28cd7dde44bc278a4536cc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jun 2023 11:57:53 +0000 Subject: [PATCH 24/84] Bump prettier from 2.4.1 to 2.8.8 Bumps [prettier](https://github.com/prettier/prettier) from 2.4.1 to 2.8.8. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.4.1...2.8.8) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2b83109..98dc440 100644 --- a/yarn.lock +++ b/yarn.lock @@ -386,9 +386,9 @@ path-is-absolute@^1.0.0: integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= prettier@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" - integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== react-is@^16.7.0: version "16.13.1" From b6c70cf3bf9874be78d99e47d8e2b196eb63e038 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Jul 2023 11:19:12 +0000 Subject: [PATCH 25/84] Bump typescript from 5.0.4 to 5.1.6 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.4 to 5.1.6. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/commits) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 98dc440..deece97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -488,9 +488,9 @@ treeify@^1.0.1, treeify@^1.1.0: integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== typescript@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" - integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== + version "5.1.6" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" + integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== util-extend@^1.0.1: version "1.0.3" From b1819fe484ecbc51b30bcfd9fbe2f1e0bd00b1c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Aug 2023 11:05:21 +0000 Subject: [PATCH 26/84] Bump prettier from 2.8.8 to 3.0.0 Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.0.0. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.8.8...3.0.0) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b7a8e45..9a7153e 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@brightlayer-ui/prettier-config": "^1.0.3", "@types/color": "^3.0.1", "npm-license-crawler": "^0.2.1", - "prettier": "^2.4.1", + "prettier": "^3.0.0", "react-native-paper": "^4.0.0", "typescript": "^5.0.4" }, diff --git a/yarn.lock b/yarn.lock index deece97..35a373d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -385,10 +385,10 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -prettier@^2.4.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.0.tgz#e7b19f691245a21d618c68bc54dc06122f6105ae" + integrity sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g== react-is@^16.7.0: version "16.13.1" From 282c779f78b1ba6b503efb8972de3bf635f3b79d Mon Sep 17 00:00:00 2001 From: jeffgreiner-eaton Date: Wed, 9 Aug 2023 10:18:40 -0400 Subject: [PATCH 27/84] blui 4197 reuse workflows --- .github/dependabot.yml | 3 +-- .github/labeler.yml | 3 --- .github/pr-labeler.yml | 3 --- .github/workflows/blui-pr-actions.yml | 18 ++++++++++++++++++ .github/workflows/labeler.yml | 16 ---------------- .github/workflows/pr-comment.yml | 20 -------------------- .github/workflows/pr-labeler.yml | 21 --------------------- 7 files changed, 19 insertions(+), 65 deletions(-) delete mode 100644 .github/labeler.yml delete mode 100644 .github/pr-labeler.yml create mode 100644 .github/workflows/blui-pr-actions.yml delete mode 100644 .github/workflows/labeler.yml delete mode 100644 .github/workflows/pr-comment.yml delete mode 100644 .github/workflows/pr-labeler.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1a78961..7917bd9 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,5 +8,4 @@ updates: open-pull-requests-limit: 1 target-branch: 'dev' labels: - - 'external-dependency' - - 'brightlayer-ui' \ No newline at end of file + - 'external-dependency' \ No newline at end of file diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index aa649aa..0000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,3 +0,0 @@ -# Add brightlayer-ui label to any root file changes on fork pull requests -brightlayer-ui: -- '*' \ No newline at end of file diff --git a/.github/pr-labeler.yml b/.github/pr-labeler.yml deleted file mode 100644 index dc5aa37..0000000 --- a/.github/pr-labeler.yml +++ /dev/null @@ -1,3 +0,0 @@ -master: ['hotfix/*', 'release/*', 'dev/*', 'dev*'] -external-dependency: ['combined/*', 'combined-dependabots/*'] -brightlayer-ui: ['feature/*', 'bug/*', 'fix/*', 'experiment/*', 'dev/*', 'dev*'] diff --git a/.github/workflows/blui-pr-actions.yml b/.github/workflows/blui-pr-actions.yml new file mode 100644 index 0000000..f87cf24 --- /dev/null +++ b/.github/workflows/blui-pr-actions.yml @@ -0,0 +1,18 @@ +name: blui-pr-actions +on: + pull_request_target: + types: + - opened + +permissions: + pull-requests: write + contents: read + +jobs: + pr-labels: + uses: etn-ccis/blui-automation/.github/workflows/blui-labels.yml@dev + secrets: inherit + + pr-comment: + uses: etn-ccis/blui-automation/.github/workflows/blui-comment.yml@dev + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml deleted file mode 100644 index 1b6cdc0..0000000 --- a/.github/workflows/labeler.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: "Fork PR Labeler" -on: -- pull_request_target - -jobs: - triage: - permissions: - contents: read - pull-requests: write - runs-on: ubuntu-latest - steps: - - uses: actions/labeler@v4 - if: github.event.action == 'opened' - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" - sync-labels: '' \ No newline at end of file diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml deleted file mode 100644 index 577584f..0000000 --- a/.github/workflows/pr-comment.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: 'Comment on PR' -on: - pull_request_target: - branches: - - master - -jobs: - example_comment_pr: - runs-on: ubuntu-latest - name: comment PR if needed - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Comment PR - uses: thollander/actions-comment-pull-request@v2 - with: - message: 'Thank you for the master pull request. 👍 Please be sure this pull request is for the master branch. The master branch is used for items that are ready for publishing. - The dev branch is our working branch for all issues and enhancements. Please read our [Contributing Guidelines](https://github.com/etn-ccis/blui-doc-it/blob/master/src/docs/community/contributing-guideline.md) for more information.' - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - comment_tag: execution diff --git a/.github/workflows/pr-labeler.yml b/.github/workflows/pr-labeler.yml deleted file mode 100644 index d397491..0000000 --- a/.github/workflows/pr-labeler.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: PR Labeler -on: - pull_request: - types: [opened] - -permissions: - contents: read - -jobs: - pr-labeler: - if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}' - permissions: - contents: read - pull-requests: write - runs-on: ubuntu-latest - steps: - - uses: TimonVS/pr-labeler-action@v4 - if: github.event.action == 'opened' - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - configuration-path: .github/pr-labeler.yml From 65cb08795305d7c4ca4b5167f917e55149589ae1 Mon Sep 17 00:00:00 2001 From: jeffgreiner-eaton Date: Wed, 9 Aug 2023 10:32:37 -0400 Subject: [PATCH 28/84] update docker image --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e39be3b..0c4ff26 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ orbs: jobs: build: docker: - - image: cimg/node:14.19.0-browsers + - image: cimg/node:16.19.1-browsers steps: - checkout - restore_cache: @@ -35,7 +35,7 @@ jobs: publish: docker: - - image: cimg/node:14.19.0-browsers + - image: cimg/node:16.19.1-browsers steps: - checkout - attach_workspace: From 3f18fca33614532d66e3f73ee467af88266a143f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Aug 2023 17:06:12 +0000 Subject: [PATCH 29/84] Bump prettier from 3.0.0 to 3.0.1 Bumps [prettier](https://github.com/prettier/prettier) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.0.0...3.0.1) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 35a373d..9df11ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -386,9 +386,9 @@ path-is-absolute@^1.0.0: integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= prettier@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.0.tgz#e7b19f691245a21d618c68bc54dc06122f6105ae" - integrity sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g== + version "3.0.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.1.tgz#65271fc9320ce4913c57747a70ce635b30beaa40" + integrity sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ== react-is@^16.7.0: version "16.13.1" From 5db545871f0c122642a5c3bff2ca822ff1527001 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Sep 2023 11:42:46 +0000 Subject: [PATCH 30/84] Bump prettier from 3.0.1 to 3.0.3 Bumps [prettier](https://github.com/prettier/prettier) from 3.0.1 to 3.0.3. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.0.1...3.0.3) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9df11ed..6f7b400 100644 --- a/yarn.lock +++ b/yarn.lock @@ -386,9 +386,9 @@ path-is-absolute@^1.0.0: integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= prettier@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.1.tgz#65271fc9320ce4913c57747a70ce635b30beaa40" - integrity sha512-fcOWSnnpCrovBsmFZIGIy9UqK2FaI7Hqax+DIO0A9UxeVoY4iweyaFjS5TavZN97Hfehph0nhsZnjlVKzEQSrQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" + integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== react-is@^16.7.0: version "16.13.1" From 279ee1403c057d9dc9f3e85b728c781e2137dcd3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 11:06:51 +0000 Subject: [PATCH 31/84] Bump @types/color from 3.0.3 to 3.0.4 Bumps [@types/color](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/color) from 3.0.3 to 3.0.4. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/color) --- updated-dependencies: - dependency-name: "@types/color" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6f7b400..3eb79d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,9 +40,9 @@ integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== "@types/color@^3.0.1": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/color/-/color-3.0.3.tgz#e6d8d72b7aaef4bb9fe80847c26c7c786191016d" - integrity sha512-X//qzJ3d3Zj82J9sC/C18ZY5f43utPbAJ6PhYt/M7uG6etcF6MRpKdN880KBy43B0BMzSfeT96MzrsNjFI3GbA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/color/-/color-3.0.4.tgz#53ceca0946660c7779442948878172c6ace13777" + integrity sha512-OpisS4bqJJwbkkQRrMvURf3DOxBoAg9mysHYI7WgrWpSYHqHGKYBULHdz4ih77SILcLDo/zyHGFyfIl9yb8NZQ== dependencies: "@types/color-convert" "*" From 6221e0677e0e1938d6aaf587280b6b1d139e98d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Nov 2023 11:25:10 +0000 Subject: [PATCH 32/84] Bump typescript from 5.1.6 to 5.2.2 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.1.6 to 5.2.2. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v5.1.6...v5.2.2) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 3eb79d3..489c34d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -488,9 +488,9 @@ treeify@^1.0.1, treeify@^1.1.0: integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== typescript@^5.0.4: - version "5.1.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" - integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== util-extend@^1.0.1: version "1.0.3" From 46c2721f29eb990e0cc6c6ee43d09738e4ae3acc Mon Sep 17 00:00:00 2001 From: manojleaton Date: Wed, 8 Nov 2023 11:09:52 +0530 Subject: [PATCH 33/84] updated light theme with md3 colors --- .vscode/settings.json | 3 + package.json | 10 +- src/blueTheme.ts | 166 +- src/shared.ts | 127 +- yarn.lock | 3732 ++++++++++++++++++++++++++++++++++++++++- 5 files changed, 3851 insertions(+), 187 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..72446f4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/package.json b/package.json index 9a7153e..86462cb 100644 --- a/package.json +++ b/package.json @@ -39,19 +39,21 @@ "React Native" ], "dependencies": { - "@brightlayer-ui/colors": "^3.0.0", + "@brightlayer-ui/colors": "4.0.0-alpha.0", "color": "^4.2.3" }, "peerDependencies": { - "react-native-paper": "^3.0.0 || ^4.0.0" + "react-native-paper": "^5.0.0" }, "devDependencies": { "@brightlayer-ui/prettier-config": "^1.0.3", "@types/color": "^3.0.1", "npm-license-crawler": "^0.2.1", "prettier": "^3.0.0", - "react-native-paper": "^4.0.0", - "typescript": "^5.0.4" + "react-native-paper": "^5.0.0", + "typescript": "^5.0.4", + "react-native": "~0.72.6", + "react": "^18.2.0" }, "prettier": "@brightlayer-ui/prettier-config", "files": [ diff --git a/src/blueTheme.ts b/src/blueTheme.ts index a17ebc0..02cab07 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -1,93 +1,85 @@ -/** -Copyright (c) 2020-present, Eaton - -All rights reserved. - -This code is licensed under the BSD-3 license found in the LICENSE file in the root directory of this source tree and at https://opensource.org/licenses/BSD-3-Clause. -**/ - -import { configureFonts, DefaultTheme } from 'react-native-paper'; -import { blue, red, black, gray, lightBlue, white } from '@brightlayer-ui/colors'; -import { fontConfig, ThemeOpacity } from './shared'; +import { MD3LightTheme, configureFonts } from 'react-native-paper'; +import { BLUIColors } from '@brightlayer-ui/colors'; import Color from 'color'; +import { fontConfig } from './shared'; -const themeOpacity: ThemeOpacity = { - disabled: 0.3, - divider: 0.36, - disabledBackground: 0.24, - actionOpacity: 1, -}; - -export const blueTheme: ReactNativePaper.Theme = { - ...DefaultTheme, - dark: false, - roundness: 4, - fonts: { - ...configureFonts(fontConfig), - bold: { - fontFamily: 'OpenSans-Bold', - fontWeight: '700', - }, - }, +export const MD3BluiLightTheme = { + ...MD3LightTheme, + fonts: configureFonts({ config: fontConfig }), colors: { - ...DefaultTheme.colors, - primary: blue[500], - primaryPalette: { - light: blue[50], - main: blue[500], - dark: blue[700], - }, - accent: lightBlue[500], - accentPalette: { - light: lightBlue[50], - main: lightBlue[500], - dark: lightBlue[700], - }, - error: red[500], - errorPalette: { - light: red[50], - main: red[500], - dark: red[700], - }, - divider: Color(black[200]).alpha(themeOpacity.divider).string(), - background: white[200], - surface: white[50], - text: black[500], - placeholder: gray[500], - onSurface: black[500], - textPalette: { - primary: black[500], - secondary: gray[500], - onPrimary: { - light: black[500], - main: white[50], - dark: white[50], - }, - disabled: Color(black[500]).alpha(themeOpacity.disabled).string(), - }, - actionPalette: { - active: gray[500], - background: white[500], - disabled: Color(black[500]).alpha(themeOpacity.disabled).string(), - disabledBackground: Color(black[200]).alpha(themeOpacity.disabledBackground).string(), - }, - disabled: Color(black[500]).alpha(themeOpacity.disabled).string(), - notification: lightBlue[500], - opacity: themeOpacity, - overrides: { - snackbar: { - accent: blue[200], - }, - bottomNavigation: { - inactive: blue[200], - }, - button: { - contained: { - text: { - disabled: blue[200], - }, - }, - }, + ...MD3LightTheme.colors, + primary: BLUIColors.primary[40], + onPrimary: BLUIColors.primary[100], + primaryContainer: BLUIColors.primary[80], + onPrimaryContainer: BLUIColors.primary[30], + secondary: BLUIColors.primary[40], + onSecondary: BLUIColors.primary[100], + secondaryContainer: BLUIColors.primary[80], + onSecondaryContainer: BLUIColors.primary[30], + tertiary: BLUIColors.primary[40], + onTertiary: BLUIColors.primary[100], + tertiaryContainer: BLUIColors.primary[80], + onTertiaryContainer: BLUIColors.primary[30], + error: BLUIColors.error[40], + errorNonText: BLUIColors.error[50], + onError: BLUIColors.primary[100], + errorContainer: BLUIColors.error[90], + onErrorContainer: BLUIColors.error[30], + background: BLUIColors.neutral[98], + onBackground: BLUIColors.neutral[10], + surface: BLUIColors.neutral[98], + onSurface: BLUIColors.neutral[10], + surfaceVariant: BLUIColors.neutralVariant[90], + onSurfaceVariant: BLUIColors.neutralVariant[30], + outline: BLUIColors.neutralVariant[50], + outlineVariant: Color(BLUIColors.neutralVariant[50]).alpha(0.25), + shadow: BLUIColors.primary[0], + scrim: BLUIColors.primary[0], + inverseSurface: 'rgb(47, 48, 51)', + inverseOnSurface: 'rgb(241, 240, 244)', + inversePrimary: 'rgb(169, 199, 255)', + elevation: { + level0: 'transparent', + level1: BLUIColors.primary[100], + level2: BLUIColors.neutral[97], + level3: BLUIColors.neutral[94], + level4: BLUIColors.neutral[92], + level5: BLUIColors.neutral[90], }, + surfaceDisabled: 'rgba(26, 27, 30, 0.12)', + onSurfaceDisabled: 'rgba(26, 27, 30, 0.38)', + backdrop: 'rgba(45, 48, 56, 0.4)', + disabled: BLUIColors.neutral[10], + surfaceContainerLow: BLUIColors.neutral[97], + neutral10: BLUIColors.neutralVariant[10], + neutral30: BLUIColors.neutral[30], + neutral80: BLUIColors.neutral[80], + neutral100: BLUIColors.primary[100], + warning: BLUIColors.warning[40], + warningNonText: BLUIColors.warning[60], + onWarning: BLUIColors.primary[100], + warningContainer: BLUIColors.warning[90], + onWarningContainer: BLUIColors.warning[30], + success: BLUIColors.success[40], + successNonText: BLUIColors.success[50], + onSuccess: BLUIColors.primary[100], + successContainer: BLUIColors.success[90], + onSuccessContainer: BLUIColors.success[30], + orange: BLUIColors.orange[40], + orangeNonText: BLUIColors.orange[50], + onOrange: BLUIColors.primary[100], + orangeContainer: BLUIColors.orange[90], + onOrangeContainer: BLUIColors.orange[30], + purple: BLUIColors.purple[40], + purpleNonText: BLUIColors.purple[50], + onPurple: BLUIColors.primary[100], + purpleContainer: BLUIColors.purple[90], + onPurpleContainer: BLUIColors.purple[30], + primaryNonText: BLUIColors.primary[50], + surfaceContainerLowest: BLUIColors.primary[100], + surfaceContainerLower: BLUIColors.neutral[97], + surfaceContainer: BLUIColors.neutral[94], + surfaceContainerHigh: BLUIColors.neutral[92], + surfaceContainerHighest: BLUIColors.neutral[90], }, }; diff --git a/src/shared.ts b/src/shared.ts index b06c905..4ba7a7b 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -1,66 +1,77 @@ -type FontWeight = 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'; +import { Platform } from 'react-native'; -const defaultFontConfig = { - regular: { +const fweight: '400' = '400'; + +export const fontConfig = { + customVariant: { + fontFamily: Platform.select({ + web: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif', + ios: 'System', + default: 'OpenSans-Regular', + }), + fontWeight: '400' as const, + letterSpacing: 0.5, + lineHeight: 22, + fontSize: 20, + }, + displaySmall: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, + }, + displayMedium: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, + }, + displayLarge: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, + }, + headlineSmall: { fontFamily: 'OpenSans-Regular', - fontWeight: '400' as FontWeight, + fontWeight: 500, }, - medium: { + headlineMedium: { + fontFamily: 'OpenSans-Regular', + fontWeight: 500, + }, + headlineLarge: { + fontFamily: 'OpenSans-Regular', + fontWeight: 500, + }, + titleSmall: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, + }, + titleMedium: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, + }, + titleLarge: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, + }, + labelSmall: { fontFamily: 'OpenSans-SemiBold', - fontWeight: '600' as FontWeight, + fontWeight: 500, }, - light: { - fontFamily: 'OpenSans-Light', - fontWeight: '300' as FontWeight, + labelMedium: { + fontFamily: 'OpenSans-SemiBold', + fontWeight: 500, }, - thin: { - fontFamily: 'OpenSans-Light', - fontWeight: '100' as FontWeight, + labelLarge: { + fontFamily: 'OpenSans-SemiBold', + fontWeight: 500, + }, + bodySmall: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, + }, + bodyMedium: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, + }, + bodyLarge: { + fontFamily: 'OpenSans-Regular', + fontWeight: 400, }, -}; - -export const fontConfig = { - default: defaultFontConfig, - ios: defaultFontConfig, - android: defaultFontConfig, -}; - -export type ThemeOverrides = { - avatar: { - background: string; - }; - - bottomNavigation: { - inactive: string; - }; - button: { - contained: { - text: { - disabled: string; - }; - }; - }; - chip: { - outlined: { - background: string; - }; - flat: { - background: string; - }; - }; - snackbar: { - accent: string; - }; - toggleButtonGroup: { - checked: { - background: string; - }; - }; -}; - -export type ThemeOpacity = { - disabled: number; - divider: number; - disabledBackground: number; - actionOpacity: number; }; diff --git a/yarn.lock b/yarn.lock index 489c34d..f9cce78 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,717 @@ # yarn lockfile v1 -"@brightlayer-ui/colors@^3.0.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@brightlayer-ui/colors/-/colors-3.1.1.tgz#7bc86498e30172c410ba4c3237149b16a2eed4c6" - integrity sha512-fV10E5JDuVGDQ0gCY3pEfDwUo1+lvDFC5pmOAAGpN7YDramS6ggUpJ/LmYavKAudw7FNcaJnPi7tsQWJjvv/7w== +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" + integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== + +"@babel/core@^7.13.16", "@babel/core@^7.20.0": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" + integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.20.0", "@babel/generator@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== + dependencies: + "@babel/types" "^7.23.0" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" + integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz#a71c10f7146d809f4a256c373f462d9bba8cf6ba" + integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== + dependencies: + "@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@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" + integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.13.16", "@babel/parser@^7.20.0", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== + +"@babel/plugin-proposal-async-generator-functions@^7.0.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-export-default-from@^7.0.0": + version "7.22.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.17.tgz#91b60cd338f501cccdf549af2308768911ec5fbb" + integrity sha512-cop/3quQBVvdz6X5SJC6AhUv3C9DrVTM06LUEXimEdWAhCSyOJIr9NiZDU9leHZ0/aiG0Sh7Zmvaku5TWYNgbA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-default-from" "^7.22.5" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.20.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.20.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.0.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz#ac3a24b362a04415a017ab96b9b4483d0e2a6e44" + integrity sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859" + integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-typescript@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-arrow-functions@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" + integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-to-generator@^7.20.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" + integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + +"@babel/plugin-transform-block-scoped-functions@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" + integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.0.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" + integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-classes@^7.0.0": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" + integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" + integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.5" + +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.20.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" + integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2" + integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-flow" "^7.22.5" + +"@babel/plugin-transform-for-of@^7.0.0": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" + integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" + integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== + dependencies: + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-literals@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" + integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-member-expression-literals@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" + integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" + integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== + dependencies: + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-object-super@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" + integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" + integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-property-literals@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" + integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-display-name@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" + integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-self@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz#ca2fdc11bc20d4d46de01137318b13d04e481d8e" + integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-source@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz#49af1615bfdf6ed9d3e9e43e425e0b2b65d15b6c" + integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.0.0": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" + integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/types" "^7.22.15" + +"@babel/plugin-transform-runtime@^7.0.0": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990" + integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" + integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" + integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" + integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" + integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typescript@^7.22.15", "@babel/plugin-transform-typescript@^7.5.0": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" + integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.0.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" + integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-flow@^7.13.13": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.22.15.tgz#30318deb9b3ebd9f5738e96da03a531e0cd3165d" + integrity sha512-dB5aIMqpkgbTfN5vDdTRPzjqtWiZcRESNR88QYnoPR+bmdYoluOzMX9tQerTv0XzSgZYctPfO1oc0N5zdog1ew== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-flow-strip-types" "^7.22.5" + +"@babel/preset-typescript@^7.13.0": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4" + integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.23.0" + "@babel/plugin-transform-typescript" "^7.22.15" + +"@babel/register@^7.13.16": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.15.tgz#c2c294a361d59f5fa7bcc8b97ef7319c32ecaec7" + integrity sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg== + dependencies: + clone-deep "^4.0.1" + find-cache-dir "^2.0.0" + make-dir "^2.1.0" + pirates "^4.0.5" + source-map-support "^0.5.16" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.0.0": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.20.0", "@babel/traverse@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@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.0" + "@babel/types" "^7.23.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.20.0", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@brightlayer-ui/colors@4.0.0-alpha.0": + version "4.0.0-alpha.0" + resolved "https://registry.yarnpkg.com/@brightlayer-ui/colors/-/colors-4.0.0-alpha.0.tgz#d23adfe71d53633d96d5ed619a6821fa876cde28" + integrity sha512-vyqJgwTK6pU621GuGvjgd/vX+82wxn/LFeL2Kvf8Uxy5EyQ6Y4uYrlJowDwVKkvTsEmKxja4uo3vdnhx6fpElQ== dependencies: "@brightlayer-ui/types" "^2.0.0" @@ -19,14 +726,379 @@ resolved "https://registry.yarnpkg.com/@brightlayer-ui/types/-/types-2.0.0.tgz#d8adc0cdb96c164943adbad6e74043128a8b4112" integrity sha512-DTCVwND6YC9qrkQl7pkFlN6QxDReJHtjuAiFU9HkXJN368vlw+fzHQ5/j4sB1sZl2eNwOgccv5ecl2XrlolOCw== -"@callstack/react-theme-provider@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@callstack/react-theme-provider/-/react-theme-provider-3.0.5.tgz#a173e455e9603c9c45357a3b6ace1273086527ca" - integrity sha512-Iec+ybWN0FvNj87sD3oWo/49edGUP0UOSdMnzCJEFJIDYr992ECIuOV89burAAh2/ibPCxgLiK6dmgv2mO/8Tg== +"@callstack/react-theme-provider@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@callstack/react-theme-provider/-/react-theme-provider-3.0.9.tgz#01035fa1231f1fffc1a806be1b55eb82716e80c1" + integrity sha512-tTQ0uDSCL0ypeMa8T/E9wAZRGKWj8kXP7+6RYgPTfOPs9N07C9xM8P02GJ3feETap4Ux5S69D9nteq9mEj86NA== dependencies: deepmerge "^3.2.0" hoist-non-react-statics "^3.3.0" +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@jest/create-cache-key-function@^29.2.1": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" + integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== + dependencies: + "@jest/types" "^29.6.3" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@react-native-community/cli-clean@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-11.3.7.tgz#cb4c2f225f78593412c2d191b55b8570f409a48f" + integrity sha512-twtsv54ohcRyWVzPXL3F9VHGb4Qhn3slqqRs3wEuRzjR7cTmV2TIO2b1VhaqF4HlCgNd+cGuirvLtK2JJyaxMg== + dependencies: + "@react-native-community/cli-tools" "11.3.7" + chalk "^4.1.2" + execa "^5.0.0" + prompts "^2.4.0" + +"@react-native-community/cli-config@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-11.3.7.tgz#4ce95548252ecb094b576369abebf9867c95d277" + integrity sha512-FDBLku9xskS+bx0YFJFLCmUJhEZ4/MMSC9qPYOGBollWYdgE7k/TWI0IeYFmMALAnbCdKQAYP5N29N55Tad8lg== + dependencies: + "@react-native-community/cli-tools" "11.3.7" + chalk "^4.1.2" + cosmiconfig "^5.1.0" + deepmerge "^4.3.0" + glob "^7.1.3" + joi "^17.2.1" + +"@react-native-community/cli-debugger-ui@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.7.tgz#2147b73313af8de3c9b396406d5d344b904cf2bb" + integrity sha512-aVmKuPKHZENR8SrflkMurZqeyLwbKieHdOvaZCh1Nn/0UC5CxWcyST2DB2XQboZwsvr3/WXKJkSUO+SZ1J9qTQ== + dependencies: + serve-static "^1.13.1" + +"@react-native-community/cli-doctor@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-11.3.7.tgz#7d5f5b1aea78134bba713fa97795986345ff1344" + integrity sha512-YEHUqWISOHnsl5+NM14KHelKh68Sr5/HeEZvvNdIcvcKtZic3FU7Xd1WcbNdo3gCq5JvzGFfufx02Tabh5zmrg== + dependencies: + "@react-native-community/cli-config" "11.3.7" + "@react-native-community/cli-platform-android" "11.3.7" + "@react-native-community/cli-platform-ios" "11.3.7" + "@react-native-community/cli-tools" "11.3.7" + chalk "^4.1.2" + command-exists "^1.2.8" + envinfo "^7.7.2" + execa "^5.0.0" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + node-stream-zip "^1.9.1" + ora "^5.4.1" + prompts "^2.4.0" + semver "^7.5.2" + strip-ansi "^5.2.0" + sudo-prompt "^9.0.0" + wcwidth "^1.0.1" + yaml "^2.2.1" + +"@react-native-community/cli-hermes@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-11.3.7.tgz#091e730a1f8bace6c3729e8744bad6141002e0e8" + integrity sha512-chkKd8n/xeZkinRvtH6QcYA8rjNOKU3S3Lw/3Psxgx+hAYV0Gyk95qJHTalx7iu+PwjOOqqvCkJo5jCkYLkoqw== + dependencies: + "@react-native-community/cli-platform-android" "11.3.7" + "@react-native-community/cli-tools" "11.3.7" + chalk "^4.1.2" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + +"@react-native-community/cli-platform-android@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.7.tgz#7845bc48258b6bb55df208a23b3690647f113995" + integrity sha512-WGtXI/Rm178UQb8bu1TAeFC/RJvYGnbHpULXvE20GkmeJ1HIrMjkagyk6kkY3Ej25JAP2R878gv+TJ/XiRhaEg== + dependencies: + "@react-native-community/cli-tools" "11.3.7" + chalk "^4.1.2" + execa "^5.0.0" + glob "^7.1.3" + logkitty "^0.7.1" + +"@react-native-community/cli-platform-ios@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.7.tgz#87478f907634713b7236c77870446a5ca1f35ff1" + integrity sha512-Z/8rseBput49EldX7MogvN6zJlWzZ/4M97s2P+zjS09ZoBU7I0eOKLi0N9wx+95FNBvGQQ/0P62bB9UaFQH2jw== + dependencies: + "@react-native-community/cli-tools" "11.3.7" + chalk "^4.1.2" + execa "^5.0.0" + fast-xml-parser "^4.0.12" + glob "^7.1.3" + ora "^5.4.1" + +"@react-native-community/cli-plugin-metro@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.7.tgz#2e8a9deb30b40495c5c1347a1837a824400fa00f" + integrity sha512-0WhgoBVGF1f9jXcuagQmtxpwpfP+2LbLZH4qMyo6OtYLWLG13n2uRep+8tdGzfNzl1bIuUTeE9yZSAdnf9LfYQ== + dependencies: + "@react-native-community/cli-server-api" "11.3.7" + "@react-native-community/cli-tools" "11.3.7" + chalk "^4.1.2" + execa "^5.0.0" + metro "0.76.8" + metro-config "0.76.8" + metro-core "0.76.8" + metro-react-native-babel-transformer "0.76.8" + metro-resolver "0.76.8" + metro-runtime "0.76.8" + readline "^1.3.0" + +"@react-native-community/cli-server-api@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-11.3.7.tgz#2cce54b3331c9c51b9067129c297ab2e9a142216" + integrity sha512-yoFyGdvR3HxCnU6i9vFqKmmSqFzCbnFSnJ29a+5dppgPRetN+d//O8ard/YHqHzToFnXutAFf2neONn23qcJAg== + dependencies: + "@react-native-community/cli-debugger-ui" "11.3.7" + "@react-native-community/cli-tools" "11.3.7" + compression "^1.7.1" + connect "^3.6.5" + errorhandler "^1.5.1" + nocache "^3.0.1" + pretty-format "^26.6.2" + serve-static "^1.13.1" + ws "^7.5.1" + +"@react-native-community/cli-tools@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-11.3.7.tgz#37aa7efc7b4a1b7077d541f1d7bb11a2ab7b6ff2" + integrity sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA== + dependencies: + appdirsjs "^1.2.4" + chalk "^4.1.2" + find-up "^5.0.0" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + ora "^5.4.1" + semver "^7.5.2" + shell-quote "^1.7.3" + +"@react-native-community/cli-types@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-11.3.7.tgz#12fe7cff3da08bd27e11116531b2e001939854b9" + integrity sha512-OhSr/TiDQkXjL5YOs8+hvGSB+HltLn5ZI0+A3DCiMsjUgTTsYh+Z63OtyMpNjrdCEFcg0MpfdU2uxstCS6Dc5g== + dependencies: + joi "^17.2.1" + +"@react-native-community/cli@11.3.7": + version "11.3.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-11.3.7.tgz#564c0054269d8385fa9d301750b2e56dbb5c0cc9" + integrity sha512-Ou8eDlF+yh2rzXeCTpMPYJ2fuqsusNOhmpYPYNQJQ2h6PvaF30kPomflgRILems+EBBuggRtcT+I+1YH4o/q6w== + dependencies: + "@react-native-community/cli-clean" "11.3.7" + "@react-native-community/cli-config" "11.3.7" + "@react-native-community/cli-debugger-ui" "11.3.7" + "@react-native-community/cli-doctor" "11.3.7" + "@react-native-community/cli-hermes" "11.3.7" + "@react-native-community/cli-plugin-metro" "11.3.7" + "@react-native-community/cli-server-api" "11.3.7" + "@react-native-community/cli-tools" "11.3.7" + "@react-native-community/cli-types" "11.3.7" + chalk "^4.1.2" + commander "^9.4.1" + execa "^5.0.0" + find-up "^4.1.0" + fs-extra "^8.1.0" + graceful-fs "^4.1.3" + prompts "^2.4.0" + semver "^7.5.2" + +"@react-native/assets-registry@^0.72.0": + version "0.72.0" + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.72.0.tgz#c82a76a1d86ec0c3907be76f7faf97a32bbed05d" + integrity sha512-Im93xRJuHHxb1wniGhBMsxLwcfzdYreSZVQGDoMJgkd6+Iky61LInGEHnQCTN0fKNYF1Dvcofb4uMmE1RQHXHQ== + +"@react-native/codegen@^0.72.7": + version "0.72.7" + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.72.7.tgz#b6832ce631ac63143024ea094a6b5480a780e589" + integrity sha512-O7xNcGeXGbY+VoqBGNlZ3O05gxfATlwE1Q1qQf5E38dK+tXn5BY4u0jaQ9DPjfE8pBba8g/BYI1N44lynidMtg== + dependencies: + "@babel/parser" "^7.20.0" + flow-parser "^0.206.0" + jscodeshift "^0.14.0" + nullthrows "^1.1.1" + +"@react-native/gradle-plugin@^0.72.11": + version "0.72.11" + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.72.11.tgz#c063ef12778706611de7a1e42b74b14d9405fb9f" + integrity sha512-P9iRnxiR2w7EHcZ0mJ+fmbPzMby77ZzV6y9sJI3lVLJzF7TLSdbwcQyD3lwMsiL+q5lKUHoZJS4sYmih+P2HXw== + +"@react-native/js-polyfills@^0.72.1": + version "0.72.1" + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.72.1.tgz#905343ef0c51256f128256330fccbdb35b922291" + integrity sha512-cRPZh2rBswFnGt5X5EUEPs0r+pAsXxYsifv/fgy9ZLQokuT52bPH+9xjDR+7TafRua5CttGW83wP4TntRcWNDA== + +"@react-native/normalize-colors@*": + version "0.74.1" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.1.tgz#6e8ccf99954728dcd3cfe0d56e758ee5050a7bea" + integrity sha512-r+bTRs6pImqE3fx4h7bPzH2sOWSrnSHF/RJ7d00pNUj2P6ws3DdhS7WV+/7YosZkloYQfkiIkK3pIHvcYn665w== + +"@react-native/normalize-colors@^0.72.0": + version "0.72.0" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.72.0.tgz#14294b7ed3c1d92176d2a00df48456e8d7d62212" + integrity sha512-285lfdqSXaqKuBbbtP9qL2tDrfxdOFtIMvkKadtleRQkdOxx+uzGvFr82KHmc/sSiMtfXGp7JnFYWVh4sFl7Yw== + +"@react-native/virtualized-lists@^0.72.8": + version "0.72.8" + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz#a2c6a91ea0f1d40eb5a122fb063daedb92ed1dc3" + integrity sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw== + dependencies: + invariant "^2.2.4" + nullthrows "^1.1.1" + +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + "@types/color-convert@*": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-2.0.0.tgz#8f5ee6b9e863dcbee5703f5a517ffb13d3ea4e22" @@ -46,33 +1118,183 @@ dependencies: "@types/color-convert" "*" +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/node@*": + version "20.8.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.10.tgz#a5448b895c753ae929c26ce85cab557c6d4a365e" + integrity sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w== + dependencies: + undici-types "~5.26.4" + +"@types/stack-utils@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.2.tgz#01284dde9ef4e6d8cef6422798d9a3ad18a66f8b" + integrity sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw== + +"@types/yargs-parser@*": + version "21.0.2" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.2.tgz#7bd04c5da378496ef1695a1008bf8f71847a8b8b" + integrity sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw== + +"@types/yargs@^15.0.0": + version "15.0.17" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.17.tgz#bea870ba551b43831bfaa75de2e4a3849c39322b" + integrity sha512-cj53I8GUcWJIgWVTSVe2L7NJAB5XWGdsoMosVvUgv1jEnMbAcsbaCzt1coUcyi8Sda5PgTWAooG8jNyDTD+CWA== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^16.0.0": + version "16.0.7" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.7.tgz#b0d0502cb5f6c17994df72a600049f10bbf17203" + integrity sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.8": + version "17.0.30" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.30.tgz#921094ec92faffd2cd7e5ddb02f95ba158ab5c1d" + integrity sha512-3SJLzYk3yz3EgI9I8OLoH06B3PdXIoU2imrBZzaGqUtUXf5iUNDtmAfCGuQrny1bnmyjh/GM/YNts6WK5jR5Rw== + dependencies: + "@types/yargs-parser" "*" + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +accepts@^1.3.7, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn@^8.8.2: + version "8.11.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +anser@^1.4.9: + version "1.4.10" + resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b" + integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww== + +ansi-fragments@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-fragments/-/ansi-fragments-0.2.1.tgz#24409c56c4cc37817c3d7caa99d8969e2de5a05e" + integrity sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w== + dependencies: + colorette "^1.0.7" + slice-ansi "^2.0.0" + strip-ansi "^5.0.0" + ansi-regex@^0.2.0, ansi-regex@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" integrity sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk= +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" integrity sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94= -ansi-styles@^3.2.1: +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" -asap@^2.0.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +appdirsjs@^1.2.4: + version "1.2.7" + resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.7.tgz#50b4b7948a26ba6090d4aede2ae2dc2b051be3b3" + integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +asap@^2.0.0, asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= +ast-types@0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.15.2.tgz#39ae4809393c4b16df751ee563411423e85fb49d" + integrity sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg== + dependencies: + tslib "^2.0.1" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + async@^2.6.1: version "2.6.4" resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" @@ -80,11 +1302,104 @@ async@^2.6.1: dependencies: lodash "^4.17.14" +async@^3.2.2: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +babel-core@^7.0.0-bridge.0: + version "7.0.0-bridge.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== + +babel-plugin-polyfill-corejs2@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz#b2df0251d8e99f229a8e60fc4efa9a68b41c8313" + integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.3" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.8.5: + version "0.8.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz#25c2d20002da91fe328ff89095c85a391d6856cf" + integrity sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.3" + core-js-compat "^3.33.1" + +babel-plugin-polyfill-regenerator@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz#d4c49e4b44614607c13fb769bcd85c72bb26a4a5" + integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.3" + +babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: + version "7.0.0-beta.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" + integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== + +babel-plugin-transform-flow-enums@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz#d1d0cc9bdc799c850ca110d0ddc9f21b9ec3ef25" + integrity sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ== + dependencies: + "@babel/plugin-syntax-flow" "^7.12.1" + +babel-preset-fbjs@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c" + integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-class-properties" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-member-expression-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-property-literals" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64-js@^1.1.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -93,6 +1408,82 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.9, browserslist@^4.22.1: + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== + dependencies: + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001541: + version "1.0.30001561" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz#752f21f56f96f1b1a52e97aae98c57c562d5d9da" + integrity sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw== + chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -102,6 +1493,14 @@ chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" @@ -113,6 +1512,60 @@ chalk@~0.5.1: strip-ansi "^0.3.0" supports-color "^0.2.0" +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.5.0: + version "2.9.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35" + integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -153,29 +1606,185 @@ color@^3.1.2: color-convert "^1.9.1" color-string "^1.5.4" -color@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" - integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + +colorette@^1.0.7: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== + +command-exists@^1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^9.4.1: + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.1: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +connect@^3.6.5: + version "3.7.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" + integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== + dependencies: + debug "2.6.9" + finalhandler "1.1.2" + parseurl "~1.3.3" + utils-merge "1.0.1" + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +core-js-compat@^3.33.1: + version "3.33.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.2.tgz#3ea4563bfd015ad4e4b52442865b02c62aba5085" + integrity sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw== + dependencies: + browserslist "^4.22.1" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^5.0.5, cosmiconfig@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +dayjs@^1.8.15: + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== + +debug@2.6.9, debug@^2.2.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: - color-convert "^2.0.1" - color-string "^1.9.0" + ms "2.0.0" -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +debug@^4.1.0, debug@^4.1.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + deepmerge@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7" integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== +deepmerge@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +denodeify@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" + integrity sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +deprecated-react-native-prop-types@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-4.1.0.tgz#8ed03a64c21b7fbdd2d000957b6838d4f38d2c66" + integrity sha512-WfepZHmRbbdTvhcolb8aOKEvQdcmTMn5tKLbqbXmkBvjFjRVWAYqsXk/DBsV8TZxws8SdGHLuHaJrHSQUPRdfw== + dependencies: + "@react-native/normalize-colors" "*" + invariant "*" + prop-types "*" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + dezalgo@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" @@ -184,11 +1793,228 @@ dezalgo@^1.0.0: asap "^2.0.0" wrappy "1" +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.535: + version "1.4.577" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.577.tgz#a732f11cf4532be96e5e3f1197dcda54c2cec7ad" + integrity sha512-/5xHPH6f00SxhHw6052r+5S1xO7gHNc89hV7tqlvnStvKbSrDqc/u6AlwPvVWWNj+s4/KL6T6y8ih+nOY0qYNA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +envinfo@^7.7.2: + version "7.11.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" + integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +errorhandler@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.1.tgz#b9ba5d17cf90744cd1e851357a6e75bf806a9a91" + integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A== + dependencies: + accepts "~1.3.7" + escape-html "~1.0.3" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +esprima@^4.0.0, esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +event-target-shim@^5.0.0, event-target-shim@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +fast-xml-parser@^4.0.12: + version "4.3.2" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz#761e641260706d6e13251c4ef8e3f5694d4b0d79" + integrity sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg== + dependencies: + strnum "^1.0.5" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flow-enums-runtime@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/flow-enums-runtime/-/flow-enums-runtime-0.0.5.tgz#95884bfcc82edaf27eef7e1dd09732331cfbafbc" + integrity sha512-PSZF9ZuaZD03sT9YaIs0FrGJ7lSUw7rHZIex+73UYVXg46eL/wxN5PaVcPJFudE2cJu5f0fezitV5aBkLHPUOQ== + +flow-parser@0.*: + version "0.220.1" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.220.1.tgz#8302ef224e2efb549cccb69fcfb8fb8fb2346668" + integrity sha512-RoM3ARqVYvxnwtkM36RjQFzo5Z9p22jUqtuMrN8gzA/8fU6iMLFE3cXkdSFPyfHRXLU8ILH8TCtSFADk1ACPCg== + +flow-parser@^0.206.0: + version "0.206.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.206.0.tgz#f4f794f8026535278393308e01ea72f31000bfef" + integrity sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + github-url-from-git@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0" @@ -210,6 +2036,23 @@ glob@^5.0.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + "graceful-fs@2 || 3": version "3.0.12" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz#0034947ce9ed695ec8ab0b854bc919e82b1ffaef" @@ -217,6 +2060,11 @@ glob@^5.0.3: dependencies: natives "^1.1.3" +graceful-fs@^4.1.11, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + graceful-fs@^4.1.2: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" @@ -234,10 +2082,36 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -hoist-non-react-statics@^2.3.1: - version "2.5.5" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" - integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +hermes-estree@0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.12.0.tgz#8a289f9aee854854422345e6995a48613bac2ca8" + integrity sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw== + +hermes-parser@0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.12.0.tgz#114dc26697cfb41a6302c215b859b74224383773" + integrity sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw== + dependencies: + hermes-estree "0.12.0" + +hermes-profile-transformer@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz#bd0f5ecceda80dd0ddaae443469ab26fb38fc27b" + integrity sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ== + dependencies: + source-map "^0.7.3" hoist-non-react-statics@^3.3.0: version "3.3.2" @@ -246,6 +2120,47 @@ hoist-non-react-statics@^3.3.0: dependencies: react-is "^16.7.0" +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +image-size@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.2.tgz#d778b6d0ab75b2737c1556dd631652eb963bc486" + integrity sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg== + dependencies: + queue "6.0.2" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -254,26 +2169,277 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +invariant@*, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ip@^1.1.5: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + is-arrayish@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-environment-node@^29.2.1: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-regex-util@^27.0.6: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-util@^27.2.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.2.1: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-worker@^27.2.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jju@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= +joi@^17.2.1: + version "17.11.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a" + integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + jquery-extend@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/jquery-extend/-/jquery-extend-2.0.3.tgz#6815cdb01a866ddba30e6f4d0fc5fb6679272735" integrity sha1-aBXNsBqGbdujDm9ND8X7ZnknJzU= +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsc-android@^250231.0.0: + version "250231.0.0" + resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250231.0.0.tgz#91720f8df382a108872fa4b3f558f33ba5e95262" + integrity sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw== + +jsc-safe-url@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz#141c14fbb43791e88d5dc64e85a374575a83477a" + integrity sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== + +jscodeshift@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.14.0.tgz#7542e6715d6d2e8bde0b4e883f0ccea358b46881" + integrity sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA== + dependencies: + "@babel/core" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/preset-flow" "^7.13.13" + "@babel/preset-typescript" "^7.13.0" + "@babel/register" "^7.13.16" + babel-core "^7.0.0-bridge.0" + chalk "^4.1.2" + flow-parser "0.*" + graceful-fs "^4.2.4" + micromatch "^4.0.4" + neo-async "^2.5.0" + node-dir "^0.1.17" + recast "^0.21.0" + temp "^0.8.4" + write-file-atomic "^2.3.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + json-parse-helpfulerror@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" @@ -281,6 +2447,33 @@ json-parse-helpfulerror@^1.0.2: dependencies: jju "^1.1.0" +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + "license-checker@git+https://github.com/mwittig/license-checker#d546e3f738e14c62e732346fa355162d46700893": version "1.0.0" resolved "git+https://github.com/mwittig/license-checker#d546e3f738e14c62e732346fa355162d46700893" @@ -291,12 +2484,408 @@ json-parse-helpfulerror@^1.0.2: read-installed "~3.1.3" treeify "^1.0.1" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.throttle@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== + lodash@^4.17.14: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -"minimatch@2 || 3": +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +logkitty@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7" + integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ== + dependencies: + ansi-fragments "^0.2.1" + dayjs "^1.8.15" + yargs "^15.1.0" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +memoize-one@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +metro-babel-transformer@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.76.8.tgz#5efd1027353b36b73706164ef09c290dceac096a" + integrity sha512-Hh6PW34Ug/nShlBGxkwQJSgPGAzSJ9FwQXhUImkzdsDgVu6zj5bx258J8cJVSandjNoQ8nbaHK6CaHlnbZKbyA== + dependencies: + "@babel/core" "^7.20.0" + hermes-parser "0.12.0" + nullthrows "^1.1.1" + +metro-cache-key@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.76.8.tgz#8a0a5e991c06f56fcc584acadacb313c312bdc16" + integrity sha512-buKQ5xentPig9G6T37Ww/R/bC+/V1MA5xU/D8zjnhlelsrPG6w6LtHUS61ID3zZcMZqYaELWk5UIadIdDsaaLw== + +metro-cache@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.76.8.tgz#296c1c189db2053b89735a8f33dbe82575f53661" + integrity sha512-QBJSJIVNH7Hc/Yo6br/U/qQDUpiUdRgZ2ZBJmvAbmAKp2XDzsapnMwK/3BGj8JNWJF7OLrqrYHsRsukSbUBpvQ== + dependencies: + metro-core "0.76.8" + rimraf "^3.0.2" + +metro-config@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.76.8.tgz#20bd5397fcc6096f98d2a813a7cecb38b8af062d" + integrity sha512-SL1lfKB0qGHALcAk2zBqVgQZpazDYvYFGwCK1ikz0S6Y/CM2i2/HwuZN31kpX6z3mqjv/6KvlzaKoTb1otuSAA== + dependencies: + connect "^3.6.5" + cosmiconfig "^5.0.5" + jest-validate "^29.2.1" + metro "0.76.8" + metro-cache "0.76.8" + metro-core "0.76.8" + metro-runtime "0.76.8" + +metro-core@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.76.8.tgz#917c8157c63406cb223522835abb8e7c6291dcad" + integrity sha512-sl2QLFI3d1b1XUUGxwzw/KbaXXU/bvFYrSKz6Sg19AdYGWFyzsgZ1VISRIDf+HWm4R/TJXluhWMEkEtZuqi3qA== + dependencies: + lodash.throttle "^4.1.1" + metro-resolver "0.76.8" + +metro-file-map@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.76.8.tgz#a1db1185b6c316904ba6b53d628e5d1323991d79" + integrity sha512-A/xP1YNEVwO1SUV9/YYo6/Y1MmzhL4ZnVgcJC3VmHp/BYVOXVStzgVbWv2wILe56IIMkfXU+jpXrGKKYhFyHVw== + dependencies: + anymatch "^3.0.3" + debug "^2.2.0" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + invariant "^2.2.4" + jest-regex-util "^27.0.6" + jest-util "^27.2.0" + jest-worker "^27.2.0" + micromatch "^4.0.4" + node-abort-controller "^3.1.1" + nullthrows "^1.1.1" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +metro-inspector-proxy@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.76.8.tgz#6b8678a7461b0b42f913a7881cc9319b4d3cddff" + integrity sha512-Us5o5UEd4Smgn1+TfHX4LvVPoWVo9VsVMn4Ldbk0g5CQx3Gu0ygc/ei2AKPGTwsOZmKxJeACj7yMH2kgxQP/iw== + dependencies: + connect "^3.6.5" + debug "^2.2.0" + node-fetch "^2.2.0" + ws "^7.5.1" + yargs "^17.6.2" + +metro-minify-terser@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.76.8.tgz#915ab4d1419257fc6a0b9fa15827b83fe69814bf" + integrity sha512-Orbvg18qXHCrSj1KbaeSDVYRy/gkro2PC7Fy2tDSH1c9RB4aH8tuMOIXnKJE+1SXxBtjWmQ5Yirwkth2DyyEZA== + dependencies: + terser "^5.15.0" + +metro-minify-uglify@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.76.8.tgz#74745045ea2dd29f8783db483b2fce58385ba695" + integrity sha512-6l8/bEvtVaTSuhG1FqS0+Mc8lZ3Bl4RI8SeRIifVLC21eeSDp4CEBUWSGjpFyUDfi6R5dXzYaFnSgMNyfxADiQ== + dependencies: + uglify-es "^3.1.9" + +metro-react-native-babel-preset@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.8.tgz#7476efae14363cbdfeeec403b4f01d7348e6c048" + integrity sha512-Ptza08GgqzxEdK8apYsjTx2S8WDUlS2ilBlu9DR1CUcHmg4g3kOkFylZroogVAUKtpYQNYwAvdsjmrSdDNtiAg== + dependencies: + "@babel/core" "^7.20.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.18.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.0" + "@babel/plugin-proposal-numeric-separator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.20.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.18.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.20.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.20.0" + "@babel/plugin-transform-flow-strip-types" "^7.20.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + babel-plugin-transform-flow-enums "^0.0.2" + react-refresh "^0.4.0" + +metro-react-native-babel-transformer@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.8.tgz#c3a98e1f4cd5faf1e21eba8e004b94a90c4db69b" + integrity sha512-3h+LfS1WG1PAzhq8QF0kfXjxuXetbY/lgz8vYMQhgrMMp17WM1DNJD0gjx8tOGYbpbBC1qesJ45KMS4o5TA73A== + dependencies: + "@babel/core" "^7.20.0" + babel-preset-fbjs "^3.4.0" + hermes-parser "0.12.0" + metro-react-native-babel-preset "0.76.8" + nullthrows "^1.1.1" + +metro-resolver@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.76.8.tgz#0862755b9b84e26853978322464fb37c6fdad76d" + integrity sha512-KccOqc10vrzS7ZhG2NSnL2dh3uVydarB7nOhjreQ7C4zyWuiW9XpLC4h47KtGQv3Rnv/NDLJYeDqaJ4/+140HQ== + +metro-runtime@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.76.8.tgz#74b2d301a2be5f3bbde91b8f1312106f8ffe50c3" + integrity sha512-XKahvB+iuYJSCr3QqCpROli4B4zASAYpkK+j3a0CJmokxCDNbgyI4Fp88uIL6rNaZfN0Mv35S0b99SdFXIfHjg== + dependencies: + "@babel/runtime" "^7.0.0" + react-refresh "^0.4.0" + +metro-source-map@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.76.8.tgz#f085800152a6ba0b41ca26833874d31ec36c5a53" + integrity sha512-Hh0ncPsHPVf6wXQSqJqB3K9Zbudht4aUtNpNXYXSxH+pteWqGAXnjtPsRAnCsCWl38wL0jYF0rJDdMajUI3BDw== + dependencies: + "@babel/traverse" "^7.20.0" + "@babel/types" "^7.20.0" + invariant "^2.2.4" + metro-symbolicate "0.76.8" + nullthrows "^1.1.1" + ob1 "0.76.8" + source-map "^0.5.6" + vlq "^1.0.0" + +metro-symbolicate@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.76.8.tgz#f102ac1a306d51597ecc8fdf961c0a88bddbca03" + integrity sha512-LrRL3uy2VkzrIXVlxoPtqb40J6Bf1mlPNmUQewipc3qfKKFgtPHBackqDy1YL0njDsWopCKcfGtFYLn0PTUn3w== + dependencies: + invariant "^2.2.4" + metro-source-map "0.76.8" + nullthrows "^1.1.1" + source-map "^0.5.6" + through2 "^2.0.1" + vlq "^1.0.0" + +metro-transform-plugins@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.76.8.tgz#d77c28a6547a8e3b72250f740fcfbd7f5408f8ba" + integrity sha512-PlkGTQNqS51Bx4vuufSQCdSn2R2rt7korzngo+b5GCkeX5pjinPjnO2kNhQ8l+5bO0iUD/WZ9nsM2PGGKIkWFA== + dependencies: + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.20.0" + nullthrows "^1.1.1" + +metro-transform-worker@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.76.8.tgz#b9012a196cee205170d0c899b8b175b9305acdea" + integrity sha512-mE1fxVAnJKmwwJyDtThildxxos9+DGs9+vTrx2ktSFMEVTtXS/bIv2W6hux1pqivqAfyJpTeACXHk5u2DgGvIQ== + dependencies: + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/parser" "^7.20.0" + "@babel/types" "^7.20.0" + babel-preset-fbjs "^3.4.0" + metro "0.76.8" + metro-babel-transformer "0.76.8" + metro-cache "0.76.8" + metro-cache-key "0.76.8" + metro-source-map "0.76.8" + metro-transform-plugins "0.76.8" + nullthrows "^1.1.1" + +metro@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.76.8.tgz#ba526808b99977ca3f9ac5a7432fd02a340d13a6" + integrity sha512-oQA3gLzrrYv3qKtuWArMgHPbHu8odZOD9AoavrqSFllkPgOtmkBvNNDLCELqv5SjBfqjISNffypg+5UGG3y0pg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/core" "^7.20.0" + "@babel/generator" "^7.20.0" + "@babel/parser" "^7.20.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.20.0" + "@babel/types" "^7.20.0" + accepts "^1.3.7" + async "^3.2.2" + chalk "^4.0.0" + ci-info "^2.0.0" + connect "^3.6.5" + debug "^2.2.0" + denodeify "^1.2.1" + error-stack-parser "^2.0.6" + graceful-fs "^4.2.4" + hermes-parser "0.12.0" + image-size "^1.0.2" + invariant "^2.2.4" + jest-worker "^27.2.0" + jsc-safe-url "^0.2.2" + lodash.throttle "^4.1.1" + metro-babel-transformer "0.76.8" + metro-cache "0.76.8" + metro-cache-key "0.76.8" + metro-config "0.76.8" + metro-core "0.76.8" + metro-file-map "0.76.8" + metro-inspector-proxy "0.76.8" + metro-minify-terser "0.76.8" + metro-minify-uglify "0.76.8" + metro-react-native-babel-preset "0.76.8" + metro-resolver "0.76.8" + metro-runtime "0.76.8" + metro-source-map "0.76.8" + metro-symbolicate "0.76.8" + metro-transform-plugins "0.76.8" + metro-transform-worker "0.76.8" + mime-types "^2.1.27" + node-fetch "^2.2.0" + nullthrows "^1.1.1" + rimraf "^3.0.2" + serialize-error "^2.1.0" + source-map "^0.5.6" + strip-ansi "^6.0.0" + throat "^5.0.0" + ws "^7.5.1" + yargs "^17.6.2" + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -320,11 +2909,75 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.5" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + natives@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.5.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nocache@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" + integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== + +node-abort-controller@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-dir@^0.1.17: + version "0.1.17" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== + dependencies: + minimatch "^3.0.2" + +node-fetch@^2.2.0, node-fetch@^2.6.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== + +node-stream-zip@^1.9.1: + version "1.15.0" + resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" + integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== + nopt-defaults@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/nopt-defaults/-/nopt-defaults-0.0.1.tgz#f150fcc8882309cbfb76187e12e9bcb20694558b" @@ -358,6 +3011,11 @@ normalize-package-data@^1.0.0: github-url-from-username-repo "^1.0.0" semver "2 || 3 || 4" +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + npm-license-crawler@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/npm-license-crawler/-/npm-license-crawler-0.2.1.tgz#a76a82e0a0407e2032c03dc5b1d518cf9eac9e1d" @@ -373,6 +3031,47 @@ npm-license-crawler@^0.2.1: nopt-usage "^0.1.0" treeify "^1.1.0" +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nullthrows@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== + +ob1@0.76.8: + version "0.76.8" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.76.8.tgz#ac4c459465b1c0e2c29aaa527e09fc463d3ffec8" + integrity sha512-dlBkJJV5M/msj9KYA9upc+nUWVwuOFFTbu28X6kZeGwcuW+JxaHSBZ70SYQnk5M+j5JbNLR6yKHmgW4M5E7X5g== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -380,36 +3079,298 @@ once@^1.3.0: dependencies: wrappy "1" +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^6.2.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.5: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + prettier@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== -react-is@^16.7.0: +pretty-format@^26.5.2, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + +pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== + dependencies: + asap "~2.0.6" + +prompts@^2.4.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@*: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +queue@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +react-devtools-core@^4.27.2: + version "4.28.5" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.28.5.tgz#c8442b91f068cdf0c899c543907f7f27d79c2508" + integrity sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA== + dependencies: + shell-quote "^1.6.1" + ws "^7" + +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-native-paper@^4.0.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/react-native-paper/-/react-native-paper-4.4.0.tgz#d22b2a3032a880dbf0f69c4ad9ef065b44102c7e" - integrity sha512-yDb9ME9cP+tOoGV/OZcUX6QpD+kN6fcLXkehfMBDKJ/3rKfq3uA2HhT4mOFKLLCLsGkd4oZwIz7POkJpB+k0aw== +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-native-paper@^5.0.0: + version "5.11.1" + resolved "https://registry.yarnpkg.com/react-native-paper/-/react-native-paper-5.11.1.tgz#34f612d6fb28099334db08a1bd109086ea91dcac" + integrity sha512-axqRTagGL8LtuYh172cx2Q2THOVJ3PTpPjCKhL5ECRdpJs2ceiboVecSiOIBuO3H7dVpaneptBA0vJr9HeVHwg== dependencies: - "@callstack/react-theme-provider" "^3.0.5" + "@callstack/react-theme-provider" "^3.0.9" color "^3.1.2" - react-native-safe-area-view "^0.14.9" + use-latest-callback "^0.1.5" + +react-native@~0.72.6: + version "0.72.6" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.72.6.tgz#9f8d090694907e2f83af22e115cc0e4a3d5fa626" + integrity sha512-RafPY2gM7mcrFySS8TL8x+TIO3q7oAlHpzEmC7Im6pmXni6n1AuufGaVh0Narbr1daxstw7yW7T9BKW5dpVc2A== + dependencies: + "@jest/create-cache-key-function" "^29.2.1" + "@react-native-community/cli" "11.3.7" + "@react-native-community/cli-platform-android" "11.3.7" + "@react-native-community/cli-platform-ios" "11.3.7" + "@react-native/assets-registry" "^0.72.0" + "@react-native/codegen" "^0.72.7" + "@react-native/gradle-plugin" "^0.72.11" + "@react-native/js-polyfills" "^0.72.1" + "@react-native/normalize-colors" "^0.72.0" + "@react-native/virtualized-lists" "^0.72.8" + abort-controller "^3.0.0" + anser "^1.4.9" + base64-js "^1.1.2" + deprecated-react-native-prop-types "4.1.0" + event-target-shim "^5.0.1" + flow-enums-runtime "^0.0.5" + invariant "^2.2.4" + jest-environment-node "^29.2.1" + jsc-android "^250231.0.0" + memoize-one "^5.0.0" + metro-runtime "0.76.8" + metro-source-map "0.76.8" + mkdirp "^0.5.1" + nullthrows "^1.1.1" + pretty-format "^26.5.2" + promise "^8.3.0" + react-devtools-core "^4.27.2" + react-refresh "^0.4.0" + react-shallow-renderer "^16.15.0" + regenerator-runtime "^0.13.2" + scheduler "0.24.0-canary-efb381bbf-20230505" + stacktrace-parser "^0.1.10" + use-sync-external-store "^1.0.0" + whatwg-fetch "^3.0.0" + ws "^6.2.2" + yargs "^17.6.2" -react-native-safe-area-view@^0.14.9: - version "0.14.9" - resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.9.tgz#90ee8383037010d9a5055a97cf97e4c1da1f0c3d" - integrity sha512-WII/ulhpVyL/qbYb7vydq7dJAfZRBcEhg4/UWt6F6nAKpLa3gAceMOxBxI914ppwSP/TdUsandFy6lkJQE0z4A== +react-refresh@^0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" + integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== + +react-shallow-renderer@^16.15.0: + version "16.15.0" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" + integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== + dependencies: + object-assign "^4.1.1" + react-is "^16.12.0 || ^17.0.0 || ^18.0.0" + +react@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== dependencies: - hoist-non-react-statics "^2.3.1" + loose-envify "^1.1.0" read-installed@~3.1.3: version "3.1.5" @@ -436,6 +3397,28 @@ read-package-json@1: optionalDependencies: graceful-fs "2 || 3" +readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + readdir-scoped-modules@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" @@ -446,11 +3429,220 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" +readline@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" + integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== + +recast@^0.21.0: + version "0.21.5" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.21.5.tgz#e8cd22bb51bcd6130e54f87955d33a2b2e57b495" + integrity sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg== + dependencies: + ast-types "0.15.2" + esprima "~4.0.0" + source-map "~0.6.1" + tslib "^2.0.1" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.2: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== + +resolve@^1.14.2: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +scheduler@0.24.0-canary-efb381bbf-20230505: + version "0.24.0-canary-efb381bbf-20230505" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz#5dddc60e29f91cd7f8b983d7ce4a99c2202d178f" + integrity sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA== + dependencies: + loose-envify "^1.1.0" + "semver@2 || 3 || 4": version "4.3.6" resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto= +semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.5.2: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-error@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" + integrity sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw== + +serve-static@^1.13.1: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1, shell-quote@^1.7.3: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -458,11 +3650,110 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + slide@~1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= +source-map-support@^0.5.16, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +stacktrace-parser@^0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" + integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== + dependencies: + type-fest "^0.7.1" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + strip-ansi@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" @@ -470,6 +3761,35 @@ strip-ansi@^0.3.0: dependencies: ansi-regex "^0.2.1" +strip-ansi@^5.0.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + +sudo-prompt@^9.0.0: + version "9.2.1" + resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.2.1.tgz#77efb84309c9ca489527a4e749f287e6bdd52afd" + integrity sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw== + supports-color@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" @@ -482,22 +3802,358 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +temp@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" + integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== + dependencies: + rimraf "~2.6.2" + +terser@^5.15.0: + version "5.24.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.24.0.tgz#4ae50302977bca4831ccc7b4fef63a3c04228364" + integrity sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through2@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + treeify@^1.0.1, treeify@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== +tslib@^2.0.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + typescript@^5.0.4: version "5.2.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== +uglify-es@^3.1.9: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ== + dependencies: + commander "~2.13.0" + source-map "~0.6.1" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +use-latest-callback@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.7.tgz#f189fa4e58ee18c7a2d9de53f92210e118d1b14f" + integrity sha512-Hlrl0lskgZZpo2vIpZ4rA7qA/rAGn2PcDvDH1M47AogqMPB0qlGEdsa66AVkIUiEEDpfxA9/N6hY6MqtaNoqWA== + +use-sync-external-store@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + util-extend@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8= +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vlq@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468" + integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w== + +walker@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-fetch@^3.0.0: + version "3.6.19" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz#caefd92ae630b91c07345537e67f8354db470973" + integrity sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.3.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +ws@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + dependencies: + async-limiter "~1.0.0" + +ws@^7, ws@^7.5.1: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^2.2.1: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^15.1.0: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.6.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 151b8011c9a226eb497d849fba7951b4ce8e1a5e Mon Sep 17 00:00:00 2001 From: manojleaton Date: Wed, 8 Nov 2023 15:12:30 +0530 Subject: [PATCH 34/84] updated the font size, weight, lineheight and letter spacing as per figma --- src/shared.ts | 49 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/src/shared.ts b/src/shared.ts index 4ba7a7b..ffb84a5 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -1,7 +1,5 @@ import { Platform } from 'react-native'; -const fweight: '400' = '400'; - export const fontConfig = { customVariant: { fontFamily: Platform.select({ @@ -17,61 +15,98 @@ export const fontConfig = { displaySmall: { fontFamily: 'OpenSans-Regular', fontWeight: 400, + fontSize: 36, + lineHeight: 45, }, displayMedium: { fontFamily: 'OpenSans-Regular', fontWeight: 400, + fontSize: 45, + lineHeight: 56, }, displayLarge: { fontFamily: 'OpenSans-Regular', fontWeight: 400, + fontSize: 54, + lineHeight: 68, + letterSpacing: 1, }, headlineSmall: { fontFamily: 'OpenSans-Regular', fontWeight: 500, + fontSize: 24, + lineHeight: 32, }, headlineMedium: { fontFamily: 'OpenSans-Regular', fontWeight: 500, + fontSize: 27, + lineHeight: 40, }, headlineLarge: { fontFamily: 'OpenSans-Regular', fontWeight: 500, + fontSize: 32, + lineHeight: 40, }, titleSmall: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: 600, + fontSize: 14, + lineHeight: 20, + letterSpacing: 0.1, }, titleMedium: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: 600, + fontSize: 16, + lineHeight: 24, + letterSpacing: 0.15, }, titleLarge: { fontFamily: 'OpenSans-Regular', fontWeight: 400, + fontSize: 22, + lineHeight: 28, }, labelSmall: { fontFamily: 'OpenSans-SemiBold', - fontWeight: 500, + fontWeight: 600, + fontSize: 11, + lineHeight: 16, + letterSpacing: 0.5, }, labelMedium: { fontFamily: 'OpenSans-SemiBold', - fontWeight: 500, + fontWeight: 600, + fontSize: 12, + lineHeight: 16, + letterSpacing: 0.2, }, labelLarge: { fontFamily: 'OpenSans-SemiBold', - fontWeight: 500, + fontWeight: 600, + fontSize: 14, + lineHeight: 20, + letterSpacing: 0.1, }, bodySmall: { fontFamily: 'OpenSans-Regular', fontWeight: 400, + fontSize: 12, + lineHeight: 16, }, bodyMedium: { fontFamily: 'OpenSans-Regular', fontWeight: 400, + fontSize: 14, + lineHeight: 20, }, bodyLarge: { fontFamily: 'OpenSans-Regular', fontWeight: 400, + fontSize: 16, + lineHeight: 24, + letterSpacing: 0.15, }, }; From 4fd7efc719985cbda46e3959d5ba2ea30c2a2464 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Wed, 8 Nov 2023 18:12:42 +0530 Subject: [PATCH 35/84] added the comment back --- src/blueTheme.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 02cab07..8bd53b4 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -1,7 +1,15 @@ +/** +Copyright (c) 2020-present, Eaton + +All rights reserved. + +This code is licensed under the BSD-3 license found in the LICENSE file in the root directory of this source tree and at https://opensource.org/licenses/BSD-3-Clause. +**/ + import { MD3LightTheme, configureFonts } from 'react-native-paper'; import { BLUIColors } from '@brightlayer-ui/colors'; -import Color from 'color'; import { fontConfig } from './shared'; +import Color from 'color'; export const MD3BluiLightTheme = { ...MD3LightTheme, From 34984d26628a78645a0a39c9a661f9bf888d4067 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Wed, 8 Nov 2023 18:20:29 +0530 Subject: [PATCH 36/84] updated dark theme with md3 colors --- src/blueDarkTheme.ts | 157 +++++++++++++++++++++---------------------- 1 file changed, 78 insertions(+), 79 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 19aeea1..851e949 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -6,88 +6,87 @@ All rights reserved. This code is licensed under the BSD-3 license found in the LICENSE file in the root directory of this source tree and at https://opensource.org/licenses/BSD-3-Clause. **/ -import { configureFonts, DefaultTheme } from 'react-native-paper'; -import { blue, red, darkBlack, black, white, lightBlue } from '@brightlayer-ui/colors'; -import { fontConfig, ThemeOpacity } from './shared'; +import { MD3DarkTheme, configureFonts } from 'react-native-paper'; +import { fontConfig } from './shared'; +import { BLUIColors } from '@brightlayer-ui/colors'; import Color from 'color'; -const themeOpacity: ThemeOpacity = { - disabled: 0.36, - divider: 0.36, - disabledBackground: 0.24, - actionOpacity: 0.1, -}; - -export const blueDarkTheme: ReactNativePaper.Theme = { - ...DefaultTheme, - dark: true, - roundness: 4, - fonts: { - ...configureFonts(fontConfig), - bold: { - fontFamily: 'OpenSans-Bold', - fontWeight: '700', - }, - }, +export const MD3BluiDarkTheme = { + ...MD3DarkTheme, + fonts: configureFonts({ config: fontConfig }), colors: { - ...DefaultTheme.colors, - primary: blue[200], - primaryPalette: { - light: blue[50], - main: blue[200], - dark: blue[500], - }, - accent: lightBlue[200], - accentPalette: { - light: lightBlue[50], - main: lightBlue[200], - dark: lightBlue[500], - }, - error: red[200], - errorPalette: { - light: red[50], - main: red[200], - dark: red[500], - }, - divider: Color(black[200]).alpha(themeOpacity.divider).string(), - background: darkBlack[800], - surface: black[900], - text: black[50], - placeholder: black[200], - onSurface: black[50], - textPalette: { - primary: black[50], - secondary: black[200], - onPrimary: { - light: black[500], - main: black[500], - dark: white[50], - }, - disabled: black[400], - }, - actionPalette: { - active: black[500], - background: black[800], - disabled: Color(black[300]).alpha(themeOpacity.disabled).string(), - disabledBackground: Color(black[200]).alpha(themeOpacity.disabledBackground).string(), - }, - disabled: Color(black[300]).alpha(themeOpacity.disabled).string(), - notification: lightBlue[200], - opacity: themeOpacity, - overrides: { - avatar: { - background: Color(black[50]).alpha(themeOpacity.actionOpacity).string(), - }, - chip: { - flat: { - background: black[500], - }, - }, - toggleButtonGroup: { - checked: { - background: Color(blue[500]).alpha(0.36).string(), - }, - }, + ...MD3DarkTheme.colors, + primary: BLUIColors.primary[80], + onPrimary: BLUIColors.primary[20], + primaryContainer: BLUIColors.primary[30], + onPrimaryContainer: BLUIColors.primary[90], + secondary: BLUIColors.primary[80], + onSecondary: BLUIColors.primary[20], + secondaryContainer: BLUIColors.primary[30], + onSecondaryContainer: BLUIColors.primary[90], + tertiary: BLUIColors.primary[80], + onTertiary: BLUIColors.primary[20], + tertiaryContainer: BLUIColors.primary[30], + onTertiaryContainer: BLUIColors.primary[90], + error: BLUIColors.error[80], + errorNonText: BLUIColors.error[60], + onError: BLUIColors.error[20], + errorContainer: BLUIColors.error[30], + onErrorContainer: BLUIColors.error[90], + background: BLUIColors.neutral[6], + onBackground: BLUIColors.neutral[95], + surface: BLUIColors.neutral[6], + onSurface: BLUIColors.neutral[95], + surfaceVariant: BLUIColors.neutralVariant[30], + onSurfaceVariant: BLUIColors.neutralVariant[70], + outline: BLUIColors.neutralVariant[60], + outlineVariant: Color(BLUIColors.neutralVariant[60]).alpha(0.25), + shadow: BLUIColors.primary[0], + scrim: BLUIColors.primary[0], + inverseSurface: 'rgb(241, 240, 244)', + inverseOnSurface: 'rgb(47, 48, 51)', + inversePrimary: 'rgb(169, 199, 255)', + elevation: { + level0: 'transparent', + level1: BLUIColors.neutral[10], + level2: BLUIColors.neutral[12], + level3: BLUIColors.neutral[17], + level4: '#29363D', + level5: '#2C3941', }, + surfaceDisabled: 'rgba(26, 27, 30, 0.12)', + onSurfaceDisabled: 'rgba(26, 27, 30, 0.38)', + backdrop: Color(BLUIColors.neutralVariant[20]).alpha(0.4), + disabled: BLUIColors.neutral[90], + neutral10: BLUIColors.neutralVariant[10], + neutral30: BLUIColors.neutral[30], + neutral80: BLUIColors.neutral[80], + neutral100: BLUIColors.primary[100], + warning: BLUIColors.warning[90], + warningNonText: BLUIColors.warning[80], + onWarning: BLUIColors.warning[20], + warningContainer: BLUIColors.warning[30], + onWarningContainer: BLUIColors.warning[90], + success: BLUIColors.success[80], + successNonText: BLUIColors.success[70], + onSuccess: BLUIColors.success[20], + successContainer: BLUIColors.success[30], + onSuccessContainer: BLUIColors.success[90], + orange: BLUIColors.orange[80], + orangeNonText: BLUIColors.orange[70], + onOrange: BLUIColors.orange[20], + orangeContainer: BLUIColors.orange[30], + onOrangeContainer: BLUIColors.orange[90], + purple: BLUIColors.purple[80], + purpleNonText: BLUIColors.purple[60], + onPurple: BLUIColors.purple[20], + purpleContainer: BLUIColors.purple[30], + onPurpleContainer: BLUIColors.purple[90], + primaryNonText: BLUIColors.primary[60], + surfaceContainerLowest: BLUIColors.neutral[4], + surfaceContainerLower: BLUIColors.neutral[10], + surfaceContainer: BLUIColors.neutral[12], + surfaceContainerHigh: BLUIColors.neutral[17], + surfaceContainerHighest: BLUIColors.neutral[20], }, }; From 10de92c9e5310cdd736d7f820acb33f46a467f2e Mon Sep 17 00:00:00 2001 From: manojleaton Date: Thu, 9 Nov 2023 16:47:38 +0530 Subject: [PATCH 37/84] review comments code changes and type augmentation --- .gitignore | 1 + src/blueDarkTheme.ts | 10 ++----- src/blueTheme.ts | 11 ++----- src/index.ts | 71 +++++++++++++++++++------------------------- 4 files changed, 37 insertions(+), 56 deletions(-) diff --git a/.gitignore b/.gitignore index 285cd17..7e6361a 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ **/**/npm-debug.log* **/**/yarn-debug.log* **/**/yarn-error.log* +**/**/.vscode \ No newline at end of file diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 851e949..bc9cabe 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -20,6 +20,7 @@ export const MD3BluiDarkTheme = { onPrimary: BLUIColors.primary[20], primaryContainer: BLUIColors.primary[30], onPrimaryContainer: BLUIColors.primary[90], + primaryNonText: BLUIColors.primary[60], secondary: BLUIColors.primary[80], onSecondary: BLUIColors.primary[20], secondaryContainer: BLUIColors.primary[30], @@ -29,10 +30,10 @@ export const MD3BluiDarkTheme = { tertiaryContainer: BLUIColors.primary[30], onTertiaryContainer: BLUIColors.primary[90], error: BLUIColors.error[80], - errorNonText: BLUIColors.error[60], onError: BLUIColors.error[20], errorContainer: BLUIColors.error[30], onErrorContainer: BLUIColors.error[90], + errorNonText: BLUIColors.error[60], background: BLUIColors.neutral[6], onBackground: BLUIColors.neutral[95], surface: BLUIColors.neutral[6], @@ -58,10 +59,6 @@ export const MD3BluiDarkTheme = { onSurfaceDisabled: 'rgba(26, 27, 30, 0.38)', backdrop: Color(BLUIColors.neutralVariant[20]).alpha(0.4), disabled: BLUIColors.neutral[90], - neutral10: BLUIColors.neutralVariant[10], - neutral30: BLUIColors.neutral[30], - neutral80: BLUIColors.neutral[80], - neutral100: BLUIColors.primary[100], warning: BLUIColors.warning[90], warningNonText: BLUIColors.warning[80], onWarning: BLUIColors.warning[20], @@ -82,9 +79,8 @@ export const MD3BluiDarkTheme = { onPurple: BLUIColors.purple[20], purpleContainer: BLUIColors.purple[30], onPurpleContainer: BLUIColors.purple[90], - primaryNonText: BLUIColors.primary[60], surfaceContainerLowest: BLUIColors.neutral[4], - surfaceContainerLower: BLUIColors.neutral[10], + surfaceContainerLow: BLUIColors.neutral[10], surfaceContainer: BLUIColors.neutral[12], surfaceContainerHigh: BLUIColors.neutral[17], surfaceContainerHighest: BLUIColors.neutral[20], diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 8bd53b4..460da14 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -20,6 +20,7 @@ export const MD3BluiLightTheme = { onPrimary: BLUIColors.primary[100], primaryContainer: BLUIColors.primary[80], onPrimaryContainer: BLUIColors.primary[30], + primaryNonText: BLUIColors.primary[50], secondary: BLUIColors.primary[40], onSecondary: BLUIColors.primary[100], secondaryContainer: BLUIColors.primary[80], @@ -29,10 +30,10 @@ export const MD3BluiLightTheme = { tertiaryContainer: BLUIColors.primary[80], onTertiaryContainer: BLUIColors.primary[30], error: BLUIColors.error[40], - errorNonText: BLUIColors.error[50], onError: BLUIColors.primary[100], errorContainer: BLUIColors.error[90], onErrorContainer: BLUIColors.error[30], + errorNonText: BLUIColors.error[50], background: BLUIColors.neutral[98], onBackground: BLUIColors.neutral[10], surface: BLUIColors.neutral[98], @@ -58,11 +59,6 @@ export const MD3BluiLightTheme = { onSurfaceDisabled: 'rgba(26, 27, 30, 0.38)', backdrop: 'rgba(45, 48, 56, 0.4)', disabled: BLUIColors.neutral[10], - surfaceContainerLow: BLUIColors.neutral[97], - neutral10: BLUIColors.neutralVariant[10], - neutral30: BLUIColors.neutral[30], - neutral80: BLUIColors.neutral[80], - neutral100: BLUIColors.primary[100], warning: BLUIColors.warning[40], warningNonText: BLUIColors.warning[60], onWarning: BLUIColors.primary[100], @@ -83,9 +79,8 @@ export const MD3BluiLightTheme = { onPurple: BLUIColors.primary[100], purpleContainer: BLUIColors.purple[90], onPurpleContainer: BLUIColors.purple[30], - primaryNonText: BLUIColors.primary[50], surfaceContainerLowest: BLUIColors.primary[100], - surfaceContainerLower: BLUIColors.neutral[97], + surfaceContainerLow: BLUIColors.neutral[97], surfaceContainer: BLUIColors.neutral[94], surfaceContainerHigh: BLUIColors.neutral[92], surfaceContainerHighest: BLUIColors.neutral[90], diff --git a/src/index.ts b/src/index.ts index 8118756..6d6f605 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,11 +5,8 @@ All rights reserved. This code is licensed under the BSD-3 license found in the LICENSE file in the root directory of this source tree and at https://opensource.org/licenses/BSD-3-Clause. **/ -export { blueTheme as blue } from './blueTheme'; -export { blueDarkTheme as blueDark } from './blueDarkTheme'; -export { ThemeOpacity, ThemeOverrides } from './shared'; -import { $DeepPartial } from '@callstack/react-theme-provider'; -import { ThemeOpacity, ThemeOverrides } from './shared'; +export { MD3BluiLightTheme as blue } from './blueTheme'; +export { MD3BluiDarkTheme as blueDark } from './blueDarkTheme'; // This will still need to be added to an end-user project if they want to access these properties without typescript yelling at them. declare global { @@ -17,44 +14,36 @@ declare global { namespace ReactNativePaper { // eslint-disable-next-line @typescript-eslint/consistent-type-definitions interface ThemeColors { - primaryPalette: { - light: string; - main: string; - dark: string; - }; - accentPalette: { - light: string; - main: string; - dark: string; - }; - errorPalette: { - light: string; - main: string; - dark: string; - }; - divider: string; - textPalette: { - primary: string; - secondary: string; - onPrimary: { - light: string; - main: string; - dark: string; - }; + colors: { + primaryNonText: string; + errorNonText: string; disabled: string; + warning: string; + warningNonText: string; + onWarning: string; + warningContainer: string; + onWarningContainer: string; + success: string; + successNonText: string; + onSuccess: string; + successContainer: string; + onSuccessContainer: string; + orange: string; + orangeNonText: string; + onOrange: string; + orangeContainer: string; + onOrangeContainer: string; + purple: string; + purpleNonText: string; + onPurple: string; + purpleContainer: string; + onPurpleContainer: string; + surfaceContainerLowest: string; + surfaceContainerLow: string; + surfaceContainer: string; + surfaceContainerHigh: string; + surfaceContainerHighest: string; }; - actionPalette: { - active: string; - background: string; - disabled: string; - disabledBackground: string; - }; - overrides: $DeepPartial; - opacity: Partial; - } - // eslint-disable-next-line @typescript-eslint/consistent-type-definitions - interface ThemeFonts { - bold: ThemeFont; } } } From fbabda329b0418f8bc9a5f037f2266f39029ef1b Mon Sep 17 00:00:00 2001 From: manojleaton Date: Thu, 9 Nov 2023 18:01:40 +0530 Subject: [PATCH 38/84] build issue fix --- src/shared.ts | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/shared.ts b/src/shared.ts index ffb84a5..1a17049 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -14,97 +14,97 @@ export const fontConfig = { }, displaySmall: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: '400' as const, fontSize: 36, lineHeight: 45, }, displayMedium: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: '400' as const, fontSize: 45, lineHeight: 56, }, displayLarge: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: '400' as const, fontSize: 54, lineHeight: 68, letterSpacing: 1, }, headlineSmall: { fontFamily: 'OpenSans-Regular', - fontWeight: 500, + fontWeight: '500' as const, fontSize: 24, lineHeight: 32, }, headlineMedium: { fontFamily: 'OpenSans-Regular', - fontWeight: 500, + fontWeight: '500' as const, fontSize: 27, lineHeight: 40, }, headlineLarge: { fontFamily: 'OpenSans-Regular', - fontWeight: 500, + fontWeight: '500' as const, fontSize: 32, lineHeight: 40, }, titleSmall: { fontFamily: 'OpenSans-Regular', - fontWeight: 600, + fontWeight: '600' as const, fontSize: 14, lineHeight: 20, letterSpacing: 0.1, }, titleMedium: { fontFamily: 'OpenSans-Regular', - fontWeight: 600, + fontWeight: '600' as const, fontSize: 16, lineHeight: 24, letterSpacing: 0.15, }, titleLarge: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: '400' as const, fontSize: 22, lineHeight: 28, }, labelSmall: { fontFamily: 'OpenSans-SemiBold', - fontWeight: 600, + fontWeight: '600' as const, fontSize: 11, lineHeight: 16, letterSpacing: 0.5, }, labelMedium: { fontFamily: 'OpenSans-SemiBold', - fontWeight: 600, + fontWeight: '600' as const, fontSize: 12, lineHeight: 16, letterSpacing: 0.2, }, labelLarge: { fontFamily: 'OpenSans-SemiBold', - fontWeight: 600, + fontWeight: '600' as const, fontSize: 14, lineHeight: 20, letterSpacing: 0.1, }, bodySmall: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: '400' as const, fontSize: 12, lineHeight: 16, }, bodyMedium: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: '400' as const, fontSize: 14, lineHeight: 20, }, bodyLarge: { fontFamily: 'OpenSans-Regular', - fontWeight: 400, + fontWeight: '400' as const, fontSize: 16, lineHeight: 24, letterSpacing: 0.15, From 1ec88db18462cb44e14e30059eedafaa5732b86d Mon Sep 17 00:00:00 2001 From: huayunh <96_mouse@sina.com> Date: Thu, 9 Nov 2023 12:47:18 -0500 Subject: [PATCH 39/84] Delete .vscode directory --- .vscode/settings.json | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 72446f4..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "typescript.tsdk": "node_modules/typescript/lib" -} From 3fbf7facc1780be8889cc5ce2facbd08cf38ad44 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Thu, 9 Nov 2023 23:41:31 +0530 Subject: [PATCH 40/84] removed and updated color variants as per review comments --- src/blueDarkTheme.ts | 21 +++++++++------------ src/blueTheme.ts | 11 ++++------- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index bc9cabe..5e2a8bb 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -44,21 +44,18 @@ export const MD3BluiDarkTheme = { outlineVariant: Color(BLUIColors.neutralVariant[60]).alpha(0.25), shadow: BLUIColors.primary[0], scrim: BLUIColors.primary[0], - inverseSurface: 'rgb(241, 240, 244)', - inverseOnSurface: 'rgb(47, 48, 51)', - inversePrimary: 'rgb(169, 199, 255)', + inverseSurface: BLUIColors.neutral[90], + inverseOnSurface: BLUIColors.neutral[10], + inversePrimary: BLUIColors.primary[40], elevation: { level0: 'transparent', - level1: BLUIColors.neutral[10], - level2: BLUIColors.neutral[12], - level3: BLUIColors.neutral[17], - level4: '#29363D', - level5: '#2C3941', + level1: BLUIColors.neutral[4], + level2: BLUIColors.neutral[10], + level3: BLUIColors.neutral[12], + level4: BLUIColors.neutral[17], + level5: BLUIColors.neutral[20], }, - surfaceDisabled: 'rgba(26, 27, 30, 0.12)', - onSurfaceDisabled: 'rgba(26, 27, 30, 0.38)', - backdrop: Color(BLUIColors.neutralVariant[20]).alpha(0.4), - disabled: BLUIColors.neutral[90], + disabled: Color(BLUIColors.neutral[90]).alpha(0.2), warning: BLUIColors.warning[90], warningNonText: BLUIColors.warning[80], onWarning: BLUIColors.warning[20], diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 460da14..4147d90 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -44,9 +44,9 @@ export const MD3BluiLightTheme = { outlineVariant: Color(BLUIColors.neutralVariant[50]).alpha(0.25), shadow: BLUIColors.primary[0], scrim: BLUIColors.primary[0], - inverseSurface: 'rgb(47, 48, 51)', - inverseOnSurface: 'rgb(241, 240, 244)', - inversePrimary: 'rgb(169, 199, 255)', + inverseSurface: BLUIColors.neutral[20], + inverseOnSurface: BLUIColors.neutral[95], + inversePrimary: BLUIColors.primary[80], elevation: { level0: 'transparent', level1: BLUIColors.primary[100], @@ -55,10 +55,7 @@ export const MD3BluiLightTheme = { level4: BLUIColors.neutral[92], level5: BLUIColors.neutral[90], }, - surfaceDisabled: 'rgba(26, 27, 30, 0.12)', - onSurfaceDisabled: 'rgba(26, 27, 30, 0.38)', - backdrop: 'rgba(45, 48, 56, 0.4)', - disabled: BLUIColors.neutral[10], + disabled: Color(BLUIColors.neutral[10]).alpha(0.2), warning: BLUIColors.warning[40], warningNonText: BLUIColors.warning[60], onWarning: BLUIColors.primary[100], From 5b3b7d696a694e82fe70df1d14467482e824aac9 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Fri, 10 Nov 2023 00:55:11 +0530 Subject: [PATCH 41/84] separated the default and custom color variants --- src/blueDarkTheme.ts | 7 +++++-- src/blueTheme.ts | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 5e2a8bb..dc7bafc 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -16,11 +16,11 @@ export const MD3BluiDarkTheme = { fonts: configureFonts({ config: fontConfig }), colors: { ...MD3DarkTheme.colors, + // React Native Paper default theme color variants primary: BLUIColors.primary[80], onPrimary: BLUIColors.primary[20], primaryContainer: BLUIColors.primary[30], onPrimaryContainer: BLUIColors.primary[90], - primaryNonText: BLUIColors.primary[60], secondary: BLUIColors.primary[80], onSecondary: BLUIColors.primary[20], secondaryContainer: BLUIColors.primary[30], @@ -33,7 +33,6 @@ export const MD3BluiDarkTheme = { onError: BLUIColors.error[20], errorContainer: BLUIColors.error[30], onErrorContainer: BLUIColors.error[90], - errorNonText: BLUIColors.error[60], background: BLUIColors.neutral[6], onBackground: BLUIColors.neutral[95], surface: BLUIColors.neutral[6], @@ -55,6 +54,10 @@ export const MD3BluiDarkTheme = { level4: BLUIColors.neutral[17], level5: BLUIColors.neutral[20], }, + + // Custom color variants + primaryNonText: BLUIColors.primary[60], + errorNonText: BLUIColors.error[60], disabled: Color(BLUIColors.neutral[90]).alpha(0.2), warning: BLUIColors.warning[90], warningNonText: BLUIColors.warning[80], diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 4147d90..0d1354c 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -16,11 +16,11 @@ export const MD3BluiLightTheme = { fonts: configureFonts({ config: fontConfig }), colors: { ...MD3LightTheme.colors, + // React Native Paper default theme color variants primary: BLUIColors.primary[40], onPrimary: BLUIColors.primary[100], primaryContainer: BLUIColors.primary[80], onPrimaryContainer: BLUIColors.primary[30], - primaryNonText: BLUIColors.primary[50], secondary: BLUIColors.primary[40], onSecondary: BLUIColors.primary[100], secondaryContainer: BLUIColors.primary[80], @@ -33,7 +33,6 @@ export const MD3BluiLightTheme = { onError: BLUIColors.primary[100], errorContainer: BLUIColors.error[90], onErrorContainer: BLUIColors.error[30], - errorNonText: BLUIColors.error[50], background: BLUIColors.neutral[98], onBackground: BLUIColors.neutral[10], surface: BLUIColors.neutral[98], @@ -55,6 +54,10 @@ export const MD3BluiLightTheme = { level4: BLUIColors.neutral[92], level5: BLUIColors.neutral[90], }, + + // Custom color variants + primaryNonText: BLUIColors.primary[50], + errorNonText: BLUIColors.error[50], disabled: Color(BLUIColors.neutral[10]).alpha(0.2), warning: BLUIColors.warning[40], warningNonText: BLUIColors.warning[60], From 34a684ddc3ad495fd822a43423e8c4c61f29fcc4 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Fri, 10 Nov 2023 01:16:55 +0530 Subject: [PATCH 42/84] added md3 theme updates in changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cde8b1d..b1d429f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +### Changed + +- Updated themes to use Material Design 3 styled palettes and React Native Paper v5 theme structure. + ## v6.0.0 (November 9, 2021) ### Changed @@ -19,6 +23,7 @@ Previous versions listed after this indicator refer to our deprecated `@pxblue` - Many new theme color properties to give greater control over the styles of various components. Note that the global ReactNativePaper namespace will need to be updated in your application to use these properties. ### Removed + - The `blueDarkAlt` theme has been consolidated into the `blueDark` theme and a selection of wrapper components in the `@pxblue/react-native-components` library. This eliminates the need for using two theme providers and writing your own wrappers for these components. - `theme.colors.textSecondary` — use `theme.colors.textPalette.secondary` instead. From 6668987767ae9fcdffc9f9d8e4865d79275fbf29 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Fri, 10 Nov 2023 12:47:45 +0530 Subject: [PATCH 43/84] added alpha version --- CHANGELOG.md | 2 ++ package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1d429f..dc04f74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +## v7.0.0 (Unreleased) + ### Changed - Updated themes to use Material Design 3 styled palettes and React Native Paper v5 theme structure. diff --git a/package.json b/package.json index 86462cb..6153f5e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@brightlayer-ui/react-native-themes", "author": "Brightlayer UI ", "license": "BSD-3-Clause", - "version": "6.0.0", + "version": "7.0.0-alpha.0", "description": "React Native themes for Brightlayer UI applications", "main": "./dist/index.js", "scripts": { From bd4b179bfb198236df76ae3b6e0437ce8e162f4f Mon Sep 17 00:00:00 2001 From: manojleaton Date: Thu, 30 Nov 2023 14:37:42 +0530 Subject: [PATCH 44/84] added comments to the custom color variants --- src/blueDarkTheme.ts | 29 +++++++++++++++++++++++++++++ src/blueTheme.ts | 29 +++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index dc7bafc..71cd49c 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -56,33 +56,62 @@ export const MD3BluiDarkTheme = { }, // Custom color variants + // High-emphasis primary non-text variant, can be used on non-text elements like icons primaryNonText: BLUIColors.primary[60], + // Attention-grabbing error color can be used on non-text elements like icons, which communicate error states errorNonText: BLUIColors.error[60], + // variant used to render disabled elements disabled: Color(BLUIColors.neutral[90]).alpha(0.2), + // warning variant fills, texts, and icons which communicate warning states warning: BLUIColors.warning[90], + // can be used on non-text warning elements like icons warningNonText: BLUIColors.warning[80], + // can be used on warning text and icons against warning onWarning: BLUIColors.warning[20], + // Standout fill warning color against surface warningContainer: BLUIColors.warning[30], + // Text and icons against warning container onWarningContainer: BLUIColors.warning[90], + // success color variant fills, texts, and icons which communicate success states success: BLUIColors.success[80], + // can be used on non-text success elements like icons successNonText: BLUIColors.success[70], + // can be used on success text and icons against warning onSuccess: BLUIColors.success[20], + // Standout fill success color against surface successContainer: BLUIColors.success[30], + // Text and icons against success container onSuccessContainer: BLUIColors.success[90], + // orange color variant fills, texts, and icons orange: BLUIColors.orange[80], + // non-text orange variant can be used on non-text elements like icons orangeNonText: BLUIColors.orange[70], + // can be used on text and icons against orange onOrange: BLUIColors.orange[20], + // Standout fill orange color against surface orangeContainer: BLUIColors.orange[30], + // Text and icons against orange container onOrangeContainer: BLUIColors.orange[90], + // purple color variant fills, texts, and icons purple: BLUIColors.purple[80], + // non-text purple variant can be used on non-text elements like icons purpleNonText: BLUIColors.purple[60], + // can be used on text and icons against purple onPurple: BLUIColors.purple[20], + // Standout fill purple color against surface purpleContainer: BLUIColors.purple[30], + // Text and icons against purple container onPurpleContainer: BLUIColors.purple[90], + // Surface container is the default role, but the others are especially helpful for creating hierarchy and nested containers + // Lowest-emphasis container color surfaceContainerLowest: BLUIColors.neutral[4], + // Low-emphasis container color surfaceContainerLow: BLUIColors.neutral[10], + // Default container color surfaceContainer: BLUIColors.neutral[12], + // High-emphasis container color surfaceContainerHigh: BLUIColors.neutral[17], + // Highest-emphasis container color surfaceContainerHighest: BLUIColors.neutral[20], }, }; diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 0d1354c..c0fb85a 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -56,33 +56,62 @@ export const MD3BluiLightTheme = { }, // Custom color variants + // High-emphasis primary non-text variant, can be used on non-text elements like icons primaryNonText: BLUIColors.primary[50], + // Attention-grabbing error color can be used on non-text elements like icons, which communicate error states errorNonText: BLUIColors.error[50], + // variant used to render disabled elements disabled: Color(BLUIColors.neutral[10]).alpha(0.2), + // warning variant fills, texts, and icons which communicate warning states warning: BLUIColors.warning[40], + // can be used on non-text warning elements like icons warningNonText: BLUIColors.warning[60], + // can be used on warning text and icons against warning onWarning: BLUIColors.primary[100], + // Standout fill warning color against surface warningContainer: BLUIColors.warning[90], + // Text and icons against warning container onWarningContainer: BLUIColors.warning[30], + // success color variant fills, texts, and icons which communicate success states success: BLUIColors.success[40], + // can be used on non-text success elements like icons successNonText: BLUIColors.success[50], + // can be used on success text and icons against warning onSuccess: BLUIColors.primary[100], + // Standout fill success color against surface successContainer: BLUIColors.success[90], + // Text and icons against success container onSuccessContainer: BLUIColors.success[30], + // orange color variant fills, texts, and icons orange: BLUIColors.orange[40], + // non-text orange variant can be used on non-text elements like icons orangeNonText: BLUIColors.orange[50], + // can be used on text and icons against orange onOrange: BLUIColors.primary[100], + // Standout fill orange color against surface orangeContainer: BLUIColors.orange[90], + // Text and icons against orange container onOrangeContainer: BLUIColors.orange[30], + // purple color variant fills, texts, and icons purple: BLUIColors.purple[40], + // non-text purple variant can be used on non-text elements like icons purpleNonText: BLUIColors.purple[50], + // can be used on text and icons against purple onPurple: BLUIColors.primary[100], + // Standout fill purple color against surface purpleContainer: BLUIColors.purple[90], + // Text and icons against purple container onPurpleContainer: BLUIColors.purple[30], + // Surface container is the default role, but the others are especially helpful for creating hierarchy and nested containers + // Lowest-emphasis container color surfaceContainerLowest: BLUIColors.primary[100], + // Low-emphasis container color surfaceContainerLow: BLUIColors.neutral[97], + // Default container color surfaceContainer: BLUIColors.neutral[94], + // High-emphasis container color surfaceContainerHigh: BLUIColors.neutral[92], + // Highest-emphasis container color surfaceContainerHighest: BLUIColors.neutral[90], }, }; From 33583f27568df4ddefa28ab5891c7918d3072da6 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Fri, 1 Dec 2023 11:10:45 +0530 Subject: [PATCH 45/84] comment correction --- src/blueDarkTheme.ts | 2 +- src/blueTheme.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 71cd49c..fa52d21 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -76,7 +76,7 @@ export const MD3BluiDarkTheme = { success: BLUIColors.success[80], // can be used on non-text success elements like icons successNonText: BLUIColors.success[70], - // can be used on success text and icons against warning + // can be used on success text and icons against success onSuccess: BLUIColors.success[20], // Standout fill success color against surface successContainer: BLUIColors.success[30], diff --git a/src/blueTheme.ts b/src/blueTheme.ts index c0fb85a..c107797 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -76,7 +76,7 @@ export const MD3BluiLightTheme = { success: BLUIColors.success[40], // can be used on non-text success elements like icons successNonText: BLUIColors.success[50], - // can be used on success text and icons against warning + // can be used on success text and icons against success onSuccess: BLUIColors.primary[100], // Standout fill success color against surface successContainer: BLUIColors.success[90], From d2701da0db85e663ab1d79bc516f2d78be7f727d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Dec 2023 11:04:28 +0000 Subject: [PATCH 46/84] Bump prettier from 3.0.3 to 3.1.0 Bumps [prettier](https://github.com/prettier/prettier) from 3.0.3 to 3.1.0. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/3.0.3...3.1.0) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index f9cce78..6aa9750 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3214,9 +3214,9 @@ pkg-dir@^3.0.0: find-up "^3.0.0" prettier@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" - integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== + version "3.1.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.0.tgz#c6d16474a5f764ea1a4a373c593b779697744d5e" + integrity sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw== pretty-format@^26.5.2, pretty-format@^26.6.2: version "26.6.2" From 0f78156be4b3707adf8ead75ac023598f2d5d54f Mon Sep 17 00:00:00 2001 From: manojleaton Date: Tue, 5 Dec 2023 18:12:58 +0530 Subject: [PATCH 47/84] added 2 more custom colors --- src/blueDarkTheme.ts | 7 +++++-- src/blueTheme.ts | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index fa52d21..52ee1a2 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -40,7 +40,7 @@ export const MD3BluiDarkTheme = { surfaceVariant: BLUIColors.neutralVariant[30], onSurfaceVariant: BLUIColors.neutralVariant[70], outline: BLUIColors.neutralVariant[60], - outlineVariant: Color(BLUIColors.neutralVariant[60]).alpha(0.25), + outlineVariant: Color(BLUIColors.neutralVariant[60]).alpha(0.25).rgb().string(), shadow: BLUIColors.primary[0], scrim: BLUIColors.primary[0], inverseSurface: BLUIColors.neutral[90], @@ -61,7 +61,7 @@ export const MD3BluiDarkTheme = { // Attention-grabbing error color can be used on non-text elements like icons, which communicate error states errorNonText: BLUIColors.error[60], // variant used to render disabled elements - disabled: Color(BLUIColors.neutral[90]).alpha(0.2), + disabled: Color(BLUIColors.neutral[90]).alpha(0.2).rgb().string(), // warning variant fills, texts, and icons which communicate warning states warning: BLUIColors.warning[90], // can be used on non-text warning elements like icons @@ -113,5 +113,8 @@ export const MD3BluiDarkTheme = { surfaceContainerHigh: BLUIColors.neutral[17], // Highest-emphasis container color surfaceContainerHighest: BLUIColors.neutral[20], + + onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), + disabledContainer: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), }, }; diff --git a/src/blueTheme.ts b/src/blueTheme.ts index c107797..28c4e7a 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -40,7 +40,7 @@ export const MD3BluiLightTheme = { surfaceVariant: BLUIColors.neutralVariant[90], onSurfaceVariant: BLUIColors.neutralVariant[30], outline: BLUIColors.neutralVariant[50], - outlineVariant: Color(BLUIColors.neutralVariant[50]).alpha(0.25), + outlineVariant: Color(BLUIColors.neutralVariant[50]).alpha(0.25).rgb().string(), shadow: BLUIColors.primary[0], scrim: BLUIColors.primary[0], inverseSurface: BLUIColors.neutral[20], @@ -61,7 +61,7 @@ export const MD3BluiLightTheme = { // Attention-grabbing error color can be used on non-text elements like icons, which communicate error states errorNonText: BLUIColors.error[50], // variant used to render disabled elements - disabled: Color(BLUIColors.neutral[10]).alpha(0.2), + disabled: Color(BLUIColors.neutral[10]).alpha(0.2).rgb().string(), // warning variant fills, texts, and icons which communicate warning states warning: BLUIColors.warning[40], // can be used on non-text warning elements like icons @@ -113,5 +113,8 @@ export const MD3BluiLightTheme = { surfaceContainerHigh: BLUIColors.neutral[92], // Highest-emphasis container color surfaceContainerHighest: BLUIColors.neutral[90], + + onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), + disabledContainer: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), }, }; From 63a345b5603fc1f88a7e944445bb66e0b55248af Mon Sep 17 00:00:00 2001 From: jeffgreiner-eaton Date: Tue, 12 Dec 2023 14:11:10 -0500 Subject: [PATCH 48/84] add surfaceDisabled & onSurfaceDisabled --- src/blueDarkTheme.ts | 12 ++++++++---- src/blueTheme.ts | 8 ++++++-- src/shared.ts | 11 ----------- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 52ee1a2..bc6570d 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -39,6 +39,10 @@ export const MD3BluiDarkTheme = { onSurface: BLUIColors.neutral[95], surfaceVariant: BLUIColors.neutralVariant[30], onSurfaceVariant: BLUIColors.neutralVariant[70], + // surfaceDisabled is the same as disabledContainer in design files + surfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.10).rgb().string(), + // onSurfaceDisabled is the same as onDisabledContainer in design files + onSurfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), outline: BLUIColors.neutralVariant[60], outlineVariant: Color(BLUIColors.neutralVariant[60]).alpha(0.25).rgb().string(), shadow: BLUIColors.primary[0], @@ -61,7 +65,7 @@ export const MD3BluiDarkTheme = { // Attention-grabbing error color can be used on non-text elements like icons, which communicate error states errorNonText: BLUIColors.error[60], // variant used to render disabled elements - disabled: Color(BLUIColors.neutral[90]).alpha(0.2).rgb().string(), + disabled: Color(BLUIColors.neutral[95]).alpha(0.25).rgb().string(), // warning variant fills, texts, and icons which communicate warning states warning: BLUIColors.warning[90], // can be used on non-text warning elements like icons @@ -113,8 +117,8 @@ export const MD3BluiDarkTheme = { surfaceContainerHigh: BLUIColors.neutral[17], // Highest-emphasis container color surfaceContainerHighest: BLUIColors.neutral[20], - - onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), - disabledContainer: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), + // This is alias for surface disabled, used as disabled container background + disabledContainer: Color(BLUIColors.neutral[95]).alpha(0.10).rgb().string(), + onDisabledContainer: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), }, }; diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 28c4e7a..16b4216 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -37,6 +37,10 @@ export const MD3BluiLightTheme = { onBackground: BLUIColors.neutral[10], surface: BLUIColors.neutral[98], onSurface: BLUIColors.neutral[10], + // surfaceDisabled is the same as disabledContainer in design files + surfaceDisabled: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), + // onSurfaceDisabled is the same as onDisabledContainer in design files + onSurfaceDisabled: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), surfaceVariant: BLUIColors.neutralVariant[90], onSurfaceVariant: BLUIColors.neutralVariant[30], outline: BLUIColors.neutralVariant[50], @@ -113,8 +117,8 @@ export const MD3BluiLightTheme = { surfaceContainerHigh: BLUIColors.neutral[92], // Highest-emphasis container color surfaceContainerHighest: BLUIColors.neutral[90], - - onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), + // This is alias for surface disabled, used as disabled container background disabledContainer: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), + onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), }, }; diff --git a/src/shared.ts b/src/shared.ts index 1a17049..501b943 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -1,17 +1,6 @@ import { Platform } from 'react-native'; export const fontConfig = { - customVariant: { - fontFamily: Platform.select({ - web: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif', - ios: 'System', - default: 'OpenSans-Regular', - }), - fontWeight: '400' as const, - letterSpacing: 0.5, - lineHeight: 22, - fontSize: 20, - }, displaySmall: { fontFamily: 'OpenSans-Regular', fontWeight: '400' as const, From a772e7eaac59cccbe0ee90bd91f7cd18ba3a8da0 Mon Sep 17 00:00:00 2001 From: jeffgreiner-eaton Date: Tue, 12 Dec 2023 14:12:39 -0500 Subject: [PATCH 49/84] prettier --- src/blueDarkTheme.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index bc6570d..cd2869c 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -40,7 +40,7 @@ export const MD3BluiDarkTheme = { surfaceVariant: BLUIColors.neutralVariant[30], onSurfaceVariant: BLUIColors.neutralVariant[70], // surfaceDisabled is the same as disabledContainer in design files - surfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.10).rgb().string(), + surfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.1).rgb().string(), // onSurfaceDisabled is the same as onDisabledContainer in design files onSurfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), outline: BLUIColors.neutralVariant[60], @@ -118,7 +118,7 @@ export const MD3BluiDarkTheme = { // Highest-emphasis container color surfaceContainerHighest: BLUIColors.neutral[20], // This is alias for surface disabled, used as disabled container background - disabledContainer: Color(BLUIColors.neutral[95]).alpha(0.10).rgb().string(), + disabledContainer: Color(BLUIColors.neutral[95]).alpha(0.1).rgb().string(), onDisabledContainer: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), }, }; From 174dcdc2d9329b0526473a46ee3bc8017cf29a97 Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Thu, 14 Dec 2023 18:26:57 +0530 Subject: [PATCH 50/84] add status colors with containers --- src/blueDarkTheme.ts | 16 ++++++++++++++++ src/blueTheme.ts | 18 +++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index cd2869c..010ccef 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -119,6 +119,22 @@ export const MD3BluiDarkTheme = { surfaceContainerHighest: BLUIColors.neutral[20], // This is alias for surface disabled, used as disabled container background disabledContainer: Color(BLUIColors.neutral[95]).alpha(0.1).rgb().string(), + // Text and icons against disable container onDisabledContainer: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), + errorFilledContainer: BLUIColors.error[40], + onErrorFilledContainer: BLUIColors.error[100], + errorShadedContainer: Color(BLUIColors.error[40]).alpha(0.3).rgb().string(), + onErrorShadedContainer: BLUIColors.error[80], + errorOutlinedContainer: BLUIColors.error[60], + onErrorOutlinedContainer: BLUIColors.error[80], + orangeFilledContainer: BLUIColors.orange[70], + onOrangeFilledContainer: BLUIColors.orange[20], + orangeShadedContainer: Color(BLUIColors.orange[70]).alpha(0.15).rgb().string(), + onOrangeShadedContainer: BLUIColors.orange[80], + orangeOutlinedContainer: BLUIColors.orange[70], + onOrangeOutlinedContainer: BLUIColors.orange[80], + warningFilledContainer: BLUIColors.warning[80], + onWarningFilledContainer: BLUIColors.warning[30], + warningShadedContainer: Color(BLUIColors.warning[90]).alpha(0.1).rgb().string(), }, }; diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 16b4216..a2a688c 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -7,7 +7,7 @@ This code is licensed under the BSD-3 license found in the LICENSE file in the r **/ import { MD3LightTheme, configureFonts } from 'react-native-paper'; -import { BLUIColors } from '@brightlayer-ui/colors'; +import BLUIColors from '@brightlayer-ui/colors'; import { fontConfig } from './shared'; import Color from 'color'; @@ -119,6 +119,22 @@ export const MD3BluiLightTheme = { surfaceContainerHighest: BLUIColors.neutral[90], // This is alias for surface disabled, used as disabled container background disabledContainer: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), + // Text and icons against disable container onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), + errorFilledContainer: BLUIColors.error[40], + onErrorFilledContainer: BLUIColors.error[100], + errorShadedContainer: Color(BLUIColors.error[40]).alpha(0.15).rgb().string(), + onErrorShadedContainer: BLUIColors.error[30], + errorOutlinedContainer: BLUIColors.error[40], + onErrorOutlinedContainer: BLUIColors.error[40], + orangeFilledContainer: BLUIColors.orange[70], + onOrangeFilledContainer: BLUIColors.orange[20], + orangeShadedContainer: Color(BLUIColors.orange[70]).alpha(0.2).rgb().string(), + onOrangeShadedContainer: BLUIColors.orange[30], + orangeOutlinedContainer: BLUIColors.orange[70], + onOrangeOutlinedContainer: BLUIColors.orange[40], + warningFilledContainer: BLUIColors.warning[90], + onWarningFilledContainer: BLUIColors.warning[30], + warningShadedContainer: Color(BLUIColors.warning[90]).alpha(0.5).rgb().string(), }, }; From 9e84767936b53d2291c1dc2337f2c53ab9e9f167 Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Mon, 18 Dec 2023 13:09:51 +0530 Subject: [PATCH 51/84] add comments --- src/blueDarkTheme.ts | 15 +++++++++++++++ src/blueTheme.ts | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 010ccef..f619489 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -121,20 +121,35 @@ export const MD3BluiDarkTheme = { disabledContainer: Color(BLUIColors.neutral[95]).alpha(0.1).rgb().string(), // Text and icons against disable container onDisabledContainer: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), + // Attention-grabbing fill color against error filled surface errorFilledContainer: BLUIColors.error[40], + // Text and icons against error filled container onErrorFilledContainer: BLUIColors.error[100], + // Attention-grabbing fill color against error shaded surface errorShadedContainer: Color(BLUIColors.error[40]).alpha(0.3).rgb().string(), + // Text and icons against error shaded container onErrorShadedContainer: BLUIColors.error[80], + // Attention-grabbing fill color against error outlined surface errorOutlinedContainer: BLUIColors.error[60], + // Text and icons against error outlined container onErrorOutlinedContainer: BLUIColors.error[80], + // Orange color against orange filled surface orangeFilledContainer: BLUIColors.orange[70], + // Text and icons against orange filled container onOrangeFilledContainer: BLUIColors.orange[20], + // Orange color against orange shaded surface orangeShadedContainer: Color(BLUIColors.orange[70]).alpha(0.15).rgb().string(), + // Text and icons against orange shaded container onOrangeShadedContainer: BLUIColors.orange[80], + // Orange color against orange outlined surface orangeOutlinedContainer: BLUIColors.orange[70], + // Text and icons against orange outlined container onOrangeOutlinedContainer: BLUIColors.orange[80], + // Warning color against warning filled surface warningFilledContainer: BLUIColors.warning[80], + // Text and icons against warning filled container onWarningFilledContainer: BLUIColors.warning[30], + // Warning color against warning shaded surface warningShadedContainer: Color(BLUIColors.warning[90]).alpha(0.1).rgb().string(), }, }; diff --git a/src/blueTheme.ts b/src/blueTheme.ts index a2a688c..ea4c0ca 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -121,20 +121,35 @@ export const MD3BluiLightTheme = { disabledContainer: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), // Text and icons against disable container onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), + // Attention-grabbing fill color against error filled surface errorFilledContainer: BLUIColors.error[40], + // Text and icons against error filled container onErrorFilledContainer: BLUIColors.error[100], + // Attention-grabbing fill color against error shaded surface errorShadedContainer: Color(BLUIColors.error[40]).alpha(0.15).rgb().string(), + // Text and icons against error shaded container onErrorShadedContainer: BLUIColors.error[30], + // Attention-grabbing fill color against error outlined surface errorOutlinedContainer: BLUIColors.error[40], + // Text and icons against error outlined container onErrorOutlinedContainer: BLUIColors.error[40], + // Orange color against orange filled surface orangeFilledContainer: BLUIColors.orange[70], + // Text and icons against orange filled container onOrangeFilledContainer: BLUIColors.orange[20], + // Orange color against orange shaded surface orangeShadedContainer: Color(BLUIColors.orange[70]).alpha(0.2).rgb().string(), + // Text and icons against orange shaded container onOrangeShadedContainer: BLUIColors.orange[30], + // Orange color against orange outlined surface orangeOutlinedContainer: BLUIColors.orange[70], + // Text and icons against orange outlined container onOrangeOutlinedContainer: BLUIColors.orange[40], + // Warning color against warning filled surface warningFilledContainer: BLUIColors.warning[90], + // Text and icons against warning filled container onWarningFilledContainer: BLUIColors.warning[30], + // Warning color against warning shaded surface warningShadedContainer: Color(BLUIColors.warning[90]).alpha(0.5).rgb().string(), }, }; From 037d27b7cf807cdcb6e6ab5a24e97456e9401e28 Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Tue, 19 Dec 2023 16:03:26 +0530 Subject: [PATCH 52/84] update remainig colors --- src/blueDarkTheme.ts | 60 +++++++++++++++++++++++++++++++++++++++++--- src/blueTheme.ts | 58 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 113 insertions(+), 5 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index f619489..8e0fae2 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -129,10 +129,10 @@ export const MD3BluiDarkTheme = { errorShadedContainer: Color(BLUIColors.error[40]).alpha(0.3).rgb().string(), // Text and icons against error shaded container onErrorShadedContainer: BLUIColors.error[80], - // Attention-grabbing fill color against error outlined surface - errorOutlinedContainer: BLUIColors.error[60], + // Attention-grabbing fill color against error outlined container + errorOutlinedContainerOutline: BLUIColors.error[60], // Text and icons against error outlined container - onErrorOutlinedContainer: BLUIColors.error[80], + onErrorOutlinedContainerOutline: BLUIColors.error[80], // Orange color against orange filled surface orangeFilledContainer: BLUIColors.orange[70], // Text and icons against orange filled container @@ -151,5 +151,59 @@ export const MD3BluiDarkTheme = { onWarningFilledContainer: BLUIColors.warning[30], // Warning color against warning shaded surface warningShadedContainer: Color(BLUIColors.warning[90]).alpha(0.1).rgb().string(), + // Text and icons against warning shaded container + onWarningShadedContainer: BLUIColors.warning[90], + // Warning color against warning outlined container's outline surface + warningOutlinedContainerOutline: BLUIColors.warning[90], + // Text and icons against warning outlined container's outline surface + onWarningOutlinedContainer: BLUIColors.warning[90], + // Attention-grabbing fill color against success filled container + successFilledContainer: BLUIColors.success[50], + // Text and icons against success filled container + onSuccessFilledContainer: BLUIColors.success[100], + // Attention-grabbing fill color against success shaded surface + successShadedContainer: Color(BLUIColors.success[40]).alpha(0.3).rgb().string(), + // Attention-grabbing label color against success shaded surface + successShadedLabel: BLUIColors.success[90], + // Attention-grabbing fill color against success container's outline + successOutlinedContainerOutline: BLUIColors.success[70], + // Text and icons against success outlined container + onSuccessOutlinedContainer: BLUIColors.success[80], + // Primary color against primary filled surface + primaryFilledContainer: BLUIColors.primary[50], + // Text and icons against primary filled container + onPrimaryFilledContainer: BLUIColors.primary[100], + // Primary color against primary shaded surface + primaryShadedContainer: Color(BLUIColors.primary[40]).alpha(0.4).rgb().string(), + // Text and icons against primary shaded container + onPrimaryShadedContainer: BLUIColors.primary[80], + // Primary color against primary outlined container's outline + primaryOutlinedContainerOutline: BLUIColors.primary[60], + // Text and icons against primary outlined container's outline + onPrimaryOutlinedContainer: BLUIColors.primary[70], + // Purple color against purple filled surface + purpleFilledContainer: BLUIColors.purple[50], + // Text and icons against purple filled container + onPurpleFilledContainer: BLUIColors.purple[100], + // Purple color against purple shaded surface + purpleShadedContainer: Color(BLUIColors.purple[40]).alpha(0.4).rgb().string(), + // Text and icons against purple shaded container + onPurpleShadedContainer: BLUIColors.purple[80], + // Purple color against purple outlined container's outline + purpleOutlinedContainerOutline: BLUIColors.purple[50], + // Text and icons against purple outlined container's outline + onPurpleOutlinedContainer: BLUIColors.purple[70], + // Neutral color against neutral filled surface + neutralFilledContainer: BLUIColors.neutral[50], + // Text and icons against neutral filled container + onNeutralFilledContainer: BLUIColors.neutral[100], + // Neutral color against neutral shaded surface + neutralShadedContainer: Color(BLUIColors.neutral[50]).alpha(0.4).rgb().string(), + // Text and icons against neutral shaded container + onNeutralShadedContainer: BLUIColors.neutral[80], + // Neutral color against neutral outlined container's outline + neutralOutlinedContainerOutline: BLUIColors.neutralVariant[60], + // Text and icons against Neutral outlined container's outline + onNeutralOutlinedContainer: BLUIColors.neutralVariant[70], }, }; diff --git a/src/blueTheme.ts b/src/blueTheme.ts index ea4c0ca..ef4eb3e 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -129,8 +129,8 @@ export const MD3BluiLightTheme = { errorShadedContainer: Color(BLUIColors.error[40]).alpha(0.15).rgb().string(), // Text and icons against error shaded container onErrorShadedContainer: BLUIColors.error[30], - // Attention-grabbing fill color against error outlined surface - errorOutlinedContainer: BLUIColors.error[40], + // Attention-grabbing fill color against error outlined container's outline + errorOutlinedContainerOutline: BLUIColors.error[40], // Text and icons against error outlined container onErrorOutlinedContainer: BLUIColors.error[40], // Orange color against orange filled surface @@ -151,5 +151,59 @@ export const MD3BluiLightTheme = { onWarningFilledContainer: BLUIColors.warning[30], // Warning color against warning shaded surface warningShadedContainer: Color(BLUIColors.warning[90]).alpha(0.5).rgb().string(), + // Text and icons against warning shaded container + onWarningShadedContainer: BLUIColors.warning[30], + // Warning color against warning outlined container's outline + warningOutlinedContainerOutline: BLUIColors.warning[80], + // Text and icons against warning outlined container's outline + onWarningOutlinedContainer: BLUIColors.warning[40], + // Attention-grabbing fill color against success filled container + successFilledContainer: BLUIColors.success[50], + // Text and icons against success filled container + onSuccessFilledContainer: BLUIColors.success[100], + // Attention-grabbing fill color against success shaded surface + successShadedContainer: Color(BLUIColors.success[40]).alpha(0.15).rgb().string(), + // Attention-grabbing label color against success shaded surface + successShadedLabel: BLUIColors.success[30], + // Attention-grabbing fill color against success container's outline + successOutlinedContainerOutline: BLUIColors.success[50], + // Text and icons against success outlined container + onSuccessOutlinedContainer: BLUIColors.success[40], + // Primary color against primary filled surface + primaryFilledContainer: BLUIColors.primary[50], + // Text and icons against primary filled container + onPrimaryFilledContainer: BLUIColors.primary[100], + // Primary color against primary shaded surface + primaryShadedContainer: Color(BLUIColors.primary[40]).alpha(0.15).rgb().string(), + // Text and icons against primary shaded container + onPrimaryShadedContainer: BLUIColors.primary[30], + // Primary color against primary outlined container's outline + primaryOutlinedContainerOutline: BLUIColors.primary[50], + // Text and icons against primary outlined container's outline + onPrimaryOutlinedContainer: BLUIColors.primary[40], + // Purple color against purple filled surface + purpleFilledContainer: BLUIColors.purple[50], + // Text and icons against purple filled container + onPurpleFilledContainer: BLUIColors.purple[100], + // Purple color against purple shaded surface + purpleShadedContainer: Color(BLUIColors.purple[40]).alpha(0.15).rgb().string(), + // Text and icons against purple shaded container + onPurpleShadedContainer: BLUIColors.purple[30], + // Purple color against purple outlined container's outline + purpleOutlinedContainerOutline: BLUIColors.purple[50], + // Text and icons against purple outlined container's outline + onPurpleOutlinedContainer: BLUIColors.purple[40], + // Neutral color against neutral filled surface + neutralFilledContainer: BLUIColors.neutral[50], + // Text and icons against neutral filled container + onNeutralFilledContainer: BLUIColors.neutral[100], + // Neutral color against neutral shaded surface + neutralShadedContainer: Color(BLUIColors.neutral[50]).alpha(0.2).rgb().string(), + // Text and icons against neutral shaded container + onNeutralShadedContainer: BLUIColors.neutral[30], + // Neutral color against neutral outlined container's outline + neutralOutlinedContainerOutline: BLUIColors.neutralVariant[50], + // Text and icons against Neutral outlined container's outline + onNeutralOutlinedContainer: BLUIColors.neutralVariant[30], }, }; From 474ec6a943314c0c429e3a835c223d859551ddd2 Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Tue, 19 Dec 2023 17:47:12 +0530 Subject: [PATCH 53/84] add extendedAppTheme hook in themes --- LICENSES.json | 146 ++++++++++++++++++++++++++++++++++++++++++- package.json | 4 +- src/blueDarkTheme.ts | 2 +- src/blueTheme.ts | 2 +- src/index.ts | 41 +----------- src/shared.ts | 127 +++++++++++++++++++++++++++++++++++++ yarn.lock | 15 ++--- 7 files changed, 281 insertions(+), 56 deletions(-) diff --git a/LICENSES.json b/LICENSES.json index 666efbc..5f2b628 100644 --- a/LICENSES.json +++ b/LICENSES.json @@ -1,14 +1,158 @@ { "@brightlayer-ui/colors@3.0.1": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/brightlayer-ui/colors", + "licenseUrl": "https://github.com/brightlayer-ui/colors/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "@brightlayer-ui/colors@4.0.0": { "licenses": "BSD-3-Clause", "repository": "https://github.com/etn-ccis/blui-colors", "licenseUrl": "https://github.com/etn-ccis/blui-colors/raw/master/LICENSE", "parents": "@brightlayer-ui/react-native-themes" }, - "color@3.1.3": { + "@brightlayer-ui/icons-svg@1.7.0": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/brightlayer-ui/icons", + "licenseUrl": "https://github.com/brightlayer-ui/icons", + "parents": "reactNativeShowcaseDemo" + }, + "@brightlayer-ui/react-native-components@6.0.1": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/brightlayer-ui/react-native-component-library", + "licenseUrl": "https://github.com/brightlayer-ui/react-native-component-library/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "@brightlayer-ui/react-native-progress-icons@1.0.2": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/brightlayer-ui/progress-icons", + "licenseUrl": "https://github.com/brightlayer-ui/progress-icons/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "@brightlayer-ui/react-native-themes@7.0.0-alpha.0": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/etn-ccis/blui-react-native-themes", + "licenseUrl": "https://github.com/etn-ccis/blui-react-native-themes", + "parents": "reactNativeShowcaseDemo" + }, + "@brightlayer-ui/react-native-vector-icons@1.3.1": { + "licenses": "BSD-3-Clause", + "repository": "https://github.com/brightlayer-ui/icons", + "licenseUrl": "https://github.com/brightlayer-ui/icons/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "@react-native-community/masked-view@0.1.11": { + "licenses": "MIT", + "repository": "https://github.com/react-native-community/react-native-masked-view", + "licenseUrl": "https://github.com/react-native-community/react-native-masked-view", + "parents": "reactNativeShowcaseDemo" + }, + "@react-navigation/drawer@5.12.9": { + "licenses": "MIT", + "repository": "https://github.com/react-navigation/react-navigation", + "licenseUrl": "https://github.com/react-navigation/react-navigation/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "@react-navigation/native@5.9.8": { + "licenses": "MIT", + "repository": "https://github.com/react-navigation/react-navigation", + "licenseUrl": "https://github.com/react-navigation/react-navigation/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "@react-navigation/stack@5.14.9": { + "licenses": "MIT", + "repository": "https://github.com/react-navigation/react-navigation", + "licenseUrl": "https://github.com/react-navigation/react-navigation/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "color@3.2.1": { + "licenses": "MIT", + "repository": "https://github.com/Qix-/color", + "licenseUrl": "https://github.com/Qix-/color/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "color@4.2.3": { "licenses": "MIT", "repository": "https://github.com/Qix-/color", "licenseUrl": "https://github.com/Qix-/color/raw/master/LICENSE", "parents": "@brightlayer-ui/react-native-themes" + }, + "lodash.clonedeep@4.5.0": { + "licenses": "MIT", + "repository": "https://github.com/lodash/lodash", + "licenseUrl": "https://github.com/lodash/lodash/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-collapsible@1.6.0": { + "licenses": "MIT", + "repository": "https://oblador@github.com/oblador/react-native-collapsible", + "licenseUrl": "https://oblador@github.com/oblador/react-native-collapsible/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-gesture-handler@1.10.3": { + "licenses": "MIT", + "repository": "https://github.com/software-mansion/react-native-gesture-handler", + "licenseUrl": "https://github.com/software-mansion/react-native-gesture-handler/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-modal@11.10.0": { + "licenses": "MIT", + "repository": "https://github.com/react-native-community/react-native-modal", + "licenseUrl": "https://github.com/react-native-community/react-native-modal/raw/master/LICENSE.md", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-paper@4.10.0": { + "licenses": "MIT", + "repository": "https://github.com/callstack/react-native-paper", + "licenseUrl": "https://github.com/callstack/react-native-paper/raw/master/LICENSE.md", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-reanimated@2.2.4": { + "licenses": "MIT", + "repository": "https://github.com/software-mansion/react-native-reanimated", + "licenseUrl": "https://github.com/software-mansion/react-native-reanimated/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-restart@0.0.17": { + "licenses": "MIT", + "repository": "https://github.com/avishayil/react-native-restart", + "licenseUrl": "https://github.com/avishayil/react-native-restart/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-safe-area-context@3.3.2": { + "licenses": "MIT", + "repository": "https://github.com/th3rdwave/react-native-safe-area-context", + "licenseUrl": "https://github.com/th3rdwave/react-native-safe-area-context/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-screens@3.9.0": { + "licenses": "MIT", + "repository": "https://github.com/software-mansion/react-native-screens", + "licenseUrl": "https://github.com/software-mansion/react-native-screens/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-svg@12.1.1": { + "licenses": "MIT", + "repository": "https://github.com/react-native-community/react-native-svg", + "licenseUrl": "https://github.com/react-native-community/react-native-svg/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native-vector-icons@8.1.0": { + "licenses": "MIT", + "repository": "https://github.com/oblador/react-native-vector-icons", + "licenseUrl": "https://github.com/oblador/react-native-vector-icons/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" + }, + "react-native@0.64.3": { + "licenses": "MIT", + "repository": "github:facebook/react-native", + "licenseUrl": "github:facebook/react-native", + "parents": "reactNativeShowcaseDemo" + }, + "react@17.0.2": { + "licenses": "MIT", + "repository": "https://github.com/facebook/react", + "licenseUrl": "https://github.com/facebook/react/raw/master/LICENSE", + "parents": "reactNativeShowcaseDemo" } } diff --git a/package.json b/package.json index 6153f5e..8516fb9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@brightlayer-ui/react-native-themes", "author": "Brightlayer UI ", "license": "BSD-3-Clause", - "version": "7.0.0-alpha.0", + "version": "7.0.0-alpha.1", "description": "React Native themes for Brightlayer UI applications", "main": "./dist/index.js", "scripts": { @@ -39,7 +39,7 @@ "React Native" ], "dependencies": { - "@brightlayer-ui/colors": "4.0.0-alpha.0", + "@brightlayer-ui/colors": "4.0.0", "color": "^4.2.3" }, "peerDependencies": { diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index cd2869c..4561885 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -8,7 +8,7 @@ This code is licensed under the BSD-3 license found in the LICENSE file in the r import { MD3DarkTheme, configureFonts } from 'react-native-paper'; import { fontConfig } from './shared'; -import { BLUIColors } from '@brightlayer-ui/colors'; +import BLUIColors from '@brightlayer-ui/colors'; import Color from 'color'; export const MD3BluiDarkTheme = { diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 16b4216..9b30ac1 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -7,7 +7,7 @@ This code is licensed under the BSD-3 license found in the LICENSE file in the r **/ import { MD3LightTheme, configureFonts } from 'react-native-paper'; -import { BLUIColors } from '@brightlayer-ui/colors'; +import BLUIColors from '@brightlayer-ui/colors'; import { fontConfig } from './shared'; import Color from 'color'; diff --git a/src/index.ts b/src/index.ts index 6d6f605..165fbb5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,43 +7,4 @@ This code is licensed under the BSD-3 license found in the LICENSE file in the r **/ export { MD3BluiLightTheme as blue } from './blueTheme'; export { MD3BluiDarkTheme as blueDark } from './blueDarkTheme'; - -// This will still need to be added to an end-user project if they want to access these properties without typescript yelling at them. -declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace - namespace ReactNativePaper { - // eslint-disable-next-line @typescript-eslint/consistent-type-definitions - interface ThemeColors { - colors: { - primaryNonText: string; - errorNonText: string; - disabled: string; - warning: string; - warningNonText: string; - onWarning: string; - warningContainer: string; - onWarningContainer: string; - success: string; - successNonText: string; - onSuccess: string; - successContainer: string; - onSuccessContainer: string; - orange: string; - orangeNonText: string; - onOrange: string; - orangeContainer: string; - onOrangeContainer: string; - purple: string; - purpleNonText: string; - onPurple: string; - purpleContainer: string; - onPurpleContainer: string; - surfaceContainerLowest: string; - surfaceContainerLow: string; - surfaceContainer: string; - surfaceContainerHigh: string; - surfaceContainerHighest: string; - }; - } - } -} +export { ExtendedTheme, useExtendedTheme } from './shared'; diff --git a/src/shared.ts b/src/shared.ts index 501b943..2f7f08c 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -1,5 +1,9 @@ import { Platform } from 'react-native'; +import { MD3Theme, useTheme } from 'react-native-paper'; +import { MD3Type, MD3Typescale } from 'react-native-paper/lib/typescript/types'; +import { $DeepPartial } from '@callstack/react-theme-provider'; + export const fontConfig = { displaySmall: { fontFamily: 'OpenSans-Regular', @@ -99,3 +103,126 @@ export const fontConfig = { letterSpacing: 0.15, }, }; + +export type ExtendedTheme = Omit & { + colors: { + primary: string; + primaryContainer: string; + secondary: string; + secondaryContainer: string; + tertiary: string; + tertiaryContainer: string; + surface: string; + surfaceVariant: string; + surfaceDisabled: string; + background: string; + error: string; + errorContainer: string; + onPrimary: string; + onPrimaryContainer: string; + onSecondary: string; + onSecondaryContainer: string; + onTertiary: string; + onTertiaryContainer: string; + onSurface: string; + onSurfaceVariant: string; + onSurfaceDisabled: string; + onError: string; + onErrorContainer: string; + onBackground: string; + outline: string; + outlineVariant: string; + inverseSurface: string; + inverseOnSurface: string; + inversePrimary: string; + shadow: string; + scrim: string; + backdrop: string; + elevation: { + level0: string; + level1: string; + level2: string; + level3: string; + level4: string; + level5: string; + }; + // Custom color variants + primaryNonText: string; + errorNonText: string; + disabled: string; + warning: string; + warningNonText: string; + onWarning: string; + warningContainer: string; + onWarningContainer: string; + success: string; + successNonText: string; + onSuccess: string; + successContainer: string; + onSuccessContainer: string; + orange: string; + orangeNonText: string; + onOrange: string; + orangeContainer: string; + onOrangeContainer: string; + purple: string; + purpleNonText: string; + onPurple: string; + purpleContainer: string; + onPurpleContainer: string; + surfaceContainerLowest: string; + surfaceContainerLow: string; + surfaceContainer: string; + surfaceContainerHigh: string; + surfaceContainerHighest: string; + disabledContainer: string; + onDisabledContainer: string; + errorFilledContainer: string; + onErrorFilledContainer: string; + errorShadedContainer: string; + onErrorShadedContainer: string; + errorOutlinedContainerOutline: string; + onErrorOutlinedContainerOutline: string; + orangeFilledContainer: string; + onOrangeFilledContainer: string; + orangeShadedContainer: string; + onOrangeShadedContainer: string; + orangeOutlinedContainer: string; + onOrangeOutlinedContainer: string; + warningFilledContainer: string; + onWarningFilledContainer: string; + warningShadedContainer: string; + onWarningShadedContainer: string; + warningOutlinedContainerOutline: string; + onWarningOutlinedContainer: string; + successFilledContainer: string; + onSuccessFilledContainer: string; + successShadedContainer: string; + successShadedLabel: string; + successOutlinedContainerOutline: string; + onSuccessOutlinedContainer: string; + primaryFilledContainer: string; + onPrimaryFilledContainer: string; + primaryShadedContainer: string; + onPrimaryShadedContainer: string; + primaryOutlinedContainerOutline: string; + onPrimaryOutlinedContainer: string; + purpleFilledContainer: string; + onPurpleFilledContainer: string; + purpleShadedContainer: string; + onPurpleShadedContainer: string; + purpleOutlinedContainerOutline: string; + onPurpleOutlinedContainer: string; + neutralFilledContainer: string; + onNeutralFilledContainer: string; + neutralShadedContainer: string; + onNeutralShadedContainer: string; + neutralOutlinedContainerOutline: string; + onNeutralOutlinedContainer: string; + }; + fonts: MD3Typescale & { + customVariant: MD3Type; + }; +}; + +export const useExtendedTheme = (overrides?: $DeepPartial): ExtendedTheme => useTheme(overrides); diff --git a/yarn.lock b/yarn.lock index 6aa9750..6fbdc05 100644 --- a/yarn.lock +++ b/yarn.lock @@ -709,23 +709,16 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" -"@brightlayer-ui/colors@4.0.0-alpha.0": - version "4.0.0-alpha.0" - resolved "https://registry.yarnpkg.com/@brightlayer-ui/colors/-/colors-4.0.0-alpha.0.tgz#d23adfe71d53633d96d5ed619a6821fa876cde28" - integrity sha512-vyqJgwTK6pU621GuGvjgd/vX+82wxn/LFeL2Kvf8Uxy5EyQ6Y4uYrlJowDwVKkvTsEmKxja4uo3vdnhx6fpElQ== - dependencies: - "@brightlayer-ui/types" "^2.0.0" +"@brightlayer-ui/colors@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@brightlayer-ui/colors/-/colors-4.0.0.tgz#5bb3706eca98e849d1e80ca4c9f9ca731380d227" + integrity sha512-fF7Ne7cz4yFCzR96HrP1RVBw55s+cWbqYkPallnpmmtYnPwNS/DyAbbHFEnl2bxziq3CvAR2S+D6AnjIeluOZA== "@brightlayer-ui/prettier-config@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@brightlayer-ui/prettier-config/-/prettier-config-1.0.3.tgz#e40a7ae7435c6fd5118acbf249080e0aa81e93af" integrity sha512-EYm3+V7Qd+oYEF+8FadsXAZqXryEHHbGnrV1BMp9selhABjceqUqXPVE4Sn3SKWQdBNJ3En2A3EzgrzRbvRTaw== -"@brightlayer-ui/types@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@brightlayer-ui/types/-/types-2.0.0.tgz#d8adc0cdb96c164943adbad6e74043128a8b4112" - integrity sha512-DTCVwND6YC9qrkQl7pkFlN6QxDReJHtjuAiFU9HkXJN368vlw+fzHQ5/j4sB1sZl2eNwOgccv5ecl2XrlolOCw== - "@callstack/react-theme-provider@^3.0.9": version "3.0.9" resolved "https://registry.yarnpkg.com/@callstack/react-theme-provider/-/react-theme-provider-3.0.9.tgz#01035fa1231f1fffc1a806be1b55eb82716e80c1" From 0ebdde4819584bd7995e8c14f9d1034b52c7e6c6 Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Tue, 19 Dec 2023 17:50:58 +0530 Subject: [PATCH 54/84] fix prettier --- src/shared.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/shared.ts b/src/shared.ts index 2f7f08c..c3a7000 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -225,4 +225,5 @@ export type ExtendedTheme = Omit & { }; }; -export const useExtendedTheme = (overrides?: $DeepPartial): ExtendedTheme => useTheme(overrides); +export const useExtendedTheme = (overrides?: $DeepPartial): ExtendedTheme => + useTheme(overrides); From 43ffa3ecad1dd554b11338e7af439342c5bb9a12 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Tue, 19 Dec 2023 21:27:56 +0530 Subject: [PATCH 55/84] added new color variants --- src/blueDarkTheme.ts | 5 +++++ src/blueTheme.ts | 5 +++++ src/shared.ts | 2 ++ 3 files changed, 12 insertions(+) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 4561885..70bd125 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -119,6 +119,11 @@ export const MD3BluiDarkTheme = { surfaceContainerHighest: BLUIColors.neutral[20], // This is alias for surface disabled, used as disabled container background disabledContainer: Color(BLUIColors.neutral[95]).alpha(0.1).rgb().string(), + // Text and icons against disabled container onDisabledContainer: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), + // Can be used on slider and range selector track + sliderTrack: BLUIColors.neutral[30], + // Disabled version of slider track color variant + sliderTrackDisabled: Color(BLUIColors.neutral[30]).alpha(0.5).rgb().string(), }, }; diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 9b30ac1..b5736d7 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -119,6 +119,11 @@ export const MD3BluiLightTheme = { surfaceContainerHighest: BLUIColors.neutral[90], // This is alias for surface disabled, used as disabled container background disabledContainer: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), + // Text and icons against disabled container onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), + // Can be used on slider and range selector track + sliderTrack: BLUIColors.neutral[80], + // Disabled version of slider track color variant + sliderTrackDisabled: Color(BLUIColors.neutral[80]).alpha(0.3).rgb().string(), }, }; diff --git a/src/shared.ts b/src/shared.ts index c3a7000..d584ba4 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -219,6 +219,8 @@ export type ExtendedTheme = Omit & { onNeutralShadedContainer: string; neutralOutlinedContainerOutline: string; onNeutralOutlinedContainer: string; + sliderTrack: string; + sliderTrackDisabled: string; }; fonts: MD3Typescale & { customVariant: MD3Type; From a44cb4253730bda7592b936407f7ee7d0b067e0b Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Wed, 20 Dec 2023 11:28:37 +0530 Subject: [PATCH 56/84] update comments --- src/blueDarkTheme.ts | 28 ++++++++++++++-------------- src/blueTheme.ts | 28 ++++++++++++++-------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 8e0fae2..251b8e4 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -121,15 +121,15 @@ export const MD3BluiDarkTheme = { disabledContainer: Color(BLUIColors.neutral[95]).alpha(0.1).rgb().string(), // Text and icons against disable container onDisabledContainer: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), - // Attention-grabbing fill color against error filled surface + // Attention-grabbing color against error filled surface errorFilledContainer: BLUIColors.error[40], // Text and icons against error filled container onErrorFilledContainer: BLUIColors.error[100], - // Attention-grabbing fill color against error shaded surface + // Attention-grabbing color against error shaded surface errorShadedContainer: Color(BLUIColors.error[40]).alpha(0.3).rgb().string(), // Text and icons against error shaded container onErrorShadedContainer: BLUIColors.error[80], - // Attention-grabbing fill color against error outlined container + // Attention-grabbing color against error outlined container errorOutlinedContainerOutline: BLUIColors.error[60], // Text and icons against error outlined container onErrorOutlinedContainerOutline: BLUIColors.error[80], @@ -153,19 +153,19 @@ export const MD3BluiDarkTheme = { warningShadedContainer: Color(BLUIColors.warning[90]).alpha(0.1).rgb().string(), // Text and icons against warning shaded container onWarningShadedContainer: BLUIColors.warning[90], - // Warning color against warning outlined container's outline surface + // Warning color against warning outlined container surface warningOutlinedContainerOutline: BLUIColors.warning[90], - // Text and icons against warning outlined container's outline surface + // Text and icons against warning outlined container surface onWarningOutlinedContainer: BLUIColors.warning[90], - // Attention-grabbing fill color against success filled container + // Attention-grabbing color against success filled container successFilledContainer: BLUIColors.success[50], // Text and icons against success filled container onSuccessFilledContainer: BLUIColors.success[100], - // Attention-grabbing fill color against success shaded surface + // Attention-grabbing color against success shaded surface successShadedContainer: Color(BLUIColors.success[40]).alpha(0.3).rgb().string(), // Attention-grabbing label color against success shaded surface successShadedLabel: BLUIColors.success[90], - // Attention-grabbing fill color against success container's outline + // Attention-grabbing color against success container successOutlinedContainerOutline: BLUIColors.success[70], // Text and icons against success outlined container onSuccessOutlinedContainer: BLUIColors.success[80], @@ -177,9 +177,9 @@ export const MD3BluiDarkTheme = { primaryShadedContainer: Color(BLUIColors.primary[40]).alpha(0.4).rgb().string(), // Text and icons against primary shaded container onPrimaryShadedContainer: BLUIColors.primary[80], - // Primary color against primary outlined container's outline + // Primary color against primary outlined container primaryOutlinedContainerOutline: BLUIColors.primary[60], - // Text and icons against primary outlined container's outline + // Text and icons against primary outlined container onPrimaryOutlinedContainer: BLUIColors.primary[70], // Purple color against purple filled surface purpleFilledContainer: BLUIColors.purple[50], @@ -189,9 +189,9 @@ export const MD3BluiDarkTheme = { purpleShadedContainer: Color(BLUIColors.purple[40]).alpha(0.4).rgb().string(), // Text and icons against purple shaded container onPurpleShadedContainer: BLUIColors.purple[80], - // Purple color against purple outlined container's outline + // Purple color against purple outlined container purpleOutlinedContainerOutline: BLUIColors.purple[50], - // Text and icons against purple outlined container's outline + // Text and icons against purple outlined container onPurpleOutlinedContainer: BLUIColors.purple[70], // Neutral color against neutral filled surface neutralFilledContainer: BLUIColors.neutral[50], @@ -201,9 +201,9 @@ export const MD3BluiDarkTheme = { neutralShadedContainer: Color(BLUIColors.neutral[50]).alpha(0.4).rgb().string(), // Text and icons against neutral shaded container onNeutralShadedContainer: BLUIColors.neutral[80], - // Neutral color against neutral outlined container's outline + // Neutral color against neutral outlined container neutralOutlinedContainerOutline: BLUIColors.neutralVariant[60], - // Text and icons against Neutral outlined container's outline + // Text and icons against Neutral outlined container onNeutralOutlinedContainer: BLUIColors.neutralVariant[70], }, }; diff --git a/src/blueTheme.ts b/src/blueTheme.ts index ef4eb3e..e8edab5 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -121,15 +121,15 @@ export const MD3BluiLightTheme = { disabledContainer: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), // Text and icons against disable container onDisabledContainer: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), - // Attention-grabbing fill color against error filled surface + // Attention-grabbing color against error filled surface errorFilledContainer: BLUIColors.error[40], // Text and icons against error filled container onErrorFilledContainer: BLUIColors.error[100], - // Attention-grabbing fill color against error shaded surface + // Attention-grabbing color against error shaded surface errorShadedContainer: Color(BLUIColors.error[40]).alpha(0.15).rgb().string(), // Text and icons against error shaded container onErrorShadedContainer: BLUIColors.error[30], - // Attention-grabbing fill color against error outlined container's outline + // Attention-grabbing color against error outlined container errorOutlinedContainerOutline: BLUIColors.error[40], // Text and icons against error outlined container onErrorOutlinedContainer: BLUIColors.error[40], @@ -153,19 +153,19 @@ export const MD3BluiLightTheme = { warningShadedContainer: Color(BLUIColors.warning[90]).alpha(0.5).rgb().string(), // Text and icons against warning shaded container onWarningShadedContainer: BLUIColors.warning[30], - // Warning color against warning outlined container's outline + // Warning color against warning outlined container warningOutlinedContainerOutline: BLUIColors.warning[80], - // Text and icons against warning outlined container's outline + // Text and icons against warning outlined container onWarningOutlinedContainer: BLUIColors.warning[40], - // Attention-grabbing fill color against success filled container + // Attention-grabbing color against success filled container successFilledContainer: BLUIColors.success[50], // Text and icons against success filled container onSuccessFilledContainer: BLUIColors.success[100], - // Attention-grabbing fill color against success shaded surface + // Attention-grabbing color against success shaded surface successShadedContainer: Color(BLUIColors.success[40]).alpha(0.15).rgb().string(), // Attention-grabbing label color against success shaded surface successShadedLabel: BLUIColors.success[30], - // Attention-grabbing fill color against success container's outline + // Attention-grabbing color against success container successOutlinedContainerOutline: BLUIColors.success[50], // Text and icons against success outlined container onSuccessOutlinedContainer: BLUIColors.success[40], @@ -177,9 +177,9 @@ export const MD3BluiLightTheme = { primaryShadedContainer: Color(BLUIColors.primary[40]).alpha(0.15).rgb().string(), // Text and icons against primary shaded container onPrimaryShadedContainer: BLUIColors.primary[30], - // Primary color against primary outlined container's outline + // Primary color against primary outlined container primaryOutlinedContainerOutline: BLUIColors.primary[50], - // Text and icons against primary outlined container's outline + // Text and icons against primary outlined container onPrimaryOutlinedContainer: BLUIColors.primary[40], // Purple color against purple filled surface purpleFilledContainer: BLUIColors.purple[50], @@ -189,9 +189,9 @@ export const MD3BluiLightTheme = { purpleShadedContainer: Color(BLUIColors.purple[40]).alpha(0.15).rgb().string(), // Text and icons against purple shaded container onPurpleShadedContainer: BLUIColors.purple[30], - // Purple color against purple outlined container's outline + // Purple color against purple outlined container purpleOutlinedContainerOutline: BLUIColors.purple[50], - // Text and icons against purple outlined container's outline + // Text and icons against purple outlined container onPurpleOutlinedContainer: BLUIColors.purple[40], // Neutral color against neutral filled surface neutralFilledContainer: BLUIColors.neutral[50], @@ -201,9 +201,9 @@ export const MD3BluiLightTheme = { neutralShadedContainer: Color(BLUIColors.neutral[50]).alpha(0.2).rgb().string(), // Text and icons against neutral shaded container onNeutralShadedContainer: BLUIColors.neutral[30], - // Neutral color against neutral outlined container's outline + // Neutral color against neutral outlined container neutralOutlinedContainerOutline: BLUIColors.neutralVariant[50], - // Text and icons against Neutral outlined container's outline + // Text and icons against Neutral outlined container onNeutralOutlinedContainer: BLUIColors.neutralVariant[30], }, }; From 1256a2b4d6ed2db374f51a37e16340b160d021c3 Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Wed, 20 Dec 2023 11:37:49 +0530 Subject: [PATCH 57/84] remove custom font --- src/shared.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/shared.ts b/src/shared.ts index d584ba4..d3f83d5 100644 --- a/src/shared.ts +++ b/src/shared.ts @@ -104,7 +104,7 @@ export const fontConfig = { }, }; -export type ExtendedTheme = Omit & { +export type ExtendedTheme = Omit & { colors: { primary: string; primaryContainer: string; @@ -177,6 +177,8 @@ export type ExtendedTheme = Omit & { surfaceContainerHighest: string; disabledContainer: string; onDisabledContainer: string; + sliderTrack: string; + sliderTrackDisabled: string; errorFilledContainer: string; onErrorFilledContainer: string; errorShadedContainer: string; @@ -219,11 +221,6 @@ export type ExtendedTheme = Omit & { onNeutralShadedContainer: string; neutralOutlinedContainerOutline: string; onNeutralOutlinedContainer: string; - sliderTrack: string; - sliderTrackDisabled: string; - }; - fonts: MD3Typescale & { - customVariant: MD3Type; }; }; From 1ee6374b3e7232189688f54fa74d651e7dfaf786 Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Wed, 20 Dec 2023 11:55:32 +0530 Subject: [PATCH 58/84] update readme with useExtendedTheme hook --- README.md | 52 ++++++++-------------------------------------------- package.json | 2 +- 2 files changed, 9 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index aa6fc9e..d04e256 100644 --- a/README.md +++ b/README.md @@ -65,54 +65,18 @@ In order for these components to look correct in your application, you should us ### TypeScript -Our Brightlayer UI themes extend the themes provided by React Native Paper. If you are using these themes in a TypeScript project and want to access any of the properties that were added to the defaults, you need to add the following [global augmentation](https://callstack.github.io/react-native-paper/theming.html#typescript) in your project's index.tsx file: +Our Brightlayer UI themes extend the themes provided by React Native Paper. If you are using these themes in a TypeScript project and want to access any of the properties that were added to the defaults, you need to use useExtendedTheme() hook in your project: ```tsx -declare global { - namespace ReactNativePaper { - interface ThemeColors { - primaryPalette: { - light: string; - main: string; - dark: string; - }; - accentPalette: { - light: string; - main: string; - dark: string; - }; - errorPalette: { - light: string; - main: string; - dark: string; - }; - divider: string; - textPalette: { - primary: string; - secondary: string; - onPrimary: { - light: string; - main: string; - dark: string; - }; - disabled: string; - }; - actionPalette: { - active: string; - background: string; - disabled: string; - disabledBackground: string; - }; - overrides: $DeepPartial; - opacity: Partial; - } - interface ThemeFonts { - bold: ThemeFont; - } - } -} +import { useExtendedTheme } from '@brightlayer-ui/react-native-themes'; +... +theme = useExtendedTheme(); + ``` + +--> \ No newline at end of file From ee97064525b5091234f09925c6ba97f3b26651e4 Mon Sep 17 00:00:00 2001 From: ektaghag-eaton Date: Wed, 3 Jan 2024 17:50:16 +0530 Subject: [PATCH 68/84] update example --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14c81e7..ebcb0e6 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ Our Brightlayer UI themes extend the themes provided by React Native Paper. If y ```tsx import { useExtendedTheme } from '@brightlayer-ui/react-native-themes'; ... -theme = useExtendedTheme(); +const theme = useExtendedTheme(); From 1a33a10a4ba8f6de5b6012deba7546913ccf28d1 Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Fri, 5 Jan 2024 21:30:09 +0530 Subject: [PATCH 69/84] added documentation for components --- RNPComponents/Images/progressBar.png | Bin 0 -> 7963 bytes RNPComponents/Images/snackbar.png | Bin 0 -> 17473 bytes RNPComponents/RNPComponents.md | 47 +++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 RNPComponents/Images/progressBar.png create mode 100644 RNPComponents/Images/snackbar.png create mode 100644 RNPComponents/RNPComponents.md diff --git a/RNPComponents/Images/progressBar.png b/RNPComponents/Images/progressBar.png new file mode 100644 index 0000000000000000000000000000000000000000..33aed48f3deccfed5d337a06e56f3397c30ac9f7 GIT binary patch literal 7963 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
+ +Usage +```tsx +import { ProgressBar } from 'react-native-paper'; + + +``` + + +- ### Snackbar + +In SnackBar we have updated the Background of Snackbar to inverseSurface to match the design + +Snackbar
+ +````tsx +import { Snackbar } from 'react-native-paper'; + {}, + }} + style={{ backgroundColor: theme.colors.inverseSurface }} + > + Snackbar Text + +```` + From 607454c690e05dfe9b92721d8b4fdd0c660911f5 Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Tue, 9 Jan 2024 13:43:16 +0530 Subject: [PATCH 70/84] added documentation for components --- RNPComponents/Images/bottomNavigation.png | Bin 0 -> 21423 bytes RNPComponents/Images/iconButton.png | Bin 0 -> 22913 bytes RNPComponents/Images/toggleButton.png | Bin 0 -> 7834 bytes RNPComponents/RNPComponents.md | 94 +++++++++++++++++++++- 4 files changed, 91 insertions(+), 3 deletions(-) create mode 100644 RNPComponents/Images/bottomNavigation.png create mode 100644 RNPComponents/Images/iconButton.png create mode 100644 RNPComponents/Images/toggleButton.png diff --git a/RNPComponents/Images/bottomNavigation.png b/RNPComponents/Images/bottomNavigation.png new file mode 100644 index 0000000000000000000000000000000000000000..2e8b72fc57b87ad47c3ae71db8701df7f504575a GIT binary patch literal 21423 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¨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 Urf~u%516`u)G>nBYdJ>!52OCM{r~^~ literal 0 HcmV?d00001 diff --git a/RNPComponents/Images/toggleButton.png b/RNPComponents/Images/toggleButton.png new file mode 100644 index 0000000000000000000000000000000000000000..c6758429087605ce3e40047f0798347106c3018d GIT binary patch literal 7834 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 literal 0 HcmV?d00001 diff --git a/RNPComponents/RNPComponents.md b/RNPComponents/RNPComponents.md index 7c20531..9a08df6 100644 --- a/RNPComponents/RNPComponents.md +++ b/RNPComponents/RNPComponents.md @@ -1,6 +1,6 @@ # React Native Paper Component Templates -This Document contains a set of components Templates around various [React Native Paper](https://callstack.github.io/react-native-paper/index.html) components. +This Document contains a set of style override in components around various [React Native Paper](https://callstack.github.io/react-native-paper/index.html) components. By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. To circumvent this issue, we create a template that you can use bring them in alignment with Brightlayer UI applications @@ -8,9 +8,54 @@ These components templates simplify this process so that the end user do not cre ## Component Template +- ### Bottom Navigation + + Recommended style overrides: +* Active color of the selected tab text: primary +* Background color of the Navigation Bar: surfaceContainer + +Bottom Navigation
+ +Usage +```tsx +import { BottomNavigation } from 'react-native-paper'; + + +``` + +- ### Button + +- ### Data Table + +- ### Icon button + +Recommended style overrides: +* background color for contained mode: primary +* icon color for contained mode: onPrimary +* background color for contained-tonal mode: primaryContainer +* icon color for contained-tonal mode: onPrimaryContainer + +IconButton
+ +Usage +```tsx +import { IconButton } from 'react-native-paper'; + + + + + +``` - ### ProgressBar -In Progress Bar we have updated the Background of Progress bar to SurfaceContainerHighest to match the design + Recommended style overrides: +* background color of the track: surfaceContainerHighest ProgressBar
@@ -25,9 +70,12 @@ import { ProgressBar } from 'react-native-paper'; ``` + - ### Snackbar -In SnackBar we have updated the Background of Snackbar to inverseSurface to match the design +Recommended style overrides: +* background color of the SnackBar: inverseSurface + Snackbar
@@ -45,3 +93,43 @@ import { Snackbar } from 'react-native-paper'; ```` +- ### Text Input + +- ### Toggle Button + +Recommended style overrides: +* borderWidth of ToggleButton: 1 +* background color of the ToggleButton for selected: primaryContainer +* icon color of the ToggleButton for selected: onPrimaryContainer +* background color of the ToggleButton for non selected: 'transparent' +* icon color of the ToggleButton for non selected: onSurface + + +toggleButton
+ +````tsx +import { ToggleButton } from 'react-native-paper'; + +//Button style for selected + +// style for not selected + +```` \ No newline at end of file From 6843918aef66128c994832b99ba3813a2601002b Mon Sep 17 00:00:00 2001 From: manojleaton Date: Wed, 10 Jan 2024 15:03:55 +0530 Subject: [PATCH 71/84] added backdrop color variant --- src/blueDarkTheme.ts | 9 +++++---- src/blueTheme.ts | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/blueDarkTheme.ts b/src/blueDarkTheme.ts index 6f91b86..5619800 100644 --- a/src/blueDarkTheme.ts +++ b/src/blueDarkTheme.ts @@ -39,10 +39,6 @@ export const MD3BluiDarkTheme = { onSurface: BLUIColors.neutral[95], surfaceVariant: BLUIColors.neutralVariant[30], onSurfaceVariant: BLUIColors.neutralVariant[70], - // surfaceDisabled is the same as disabledContainer in design files - surfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.1).rgb().string(), - // onSurfaceDisabled is the same as onDisabledContainer in design files - onSurfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), outline: BLUIColors.neutralVariant[60], outlineVariant: Color(BLUIColors.neutralVariant[60]).alpha(0.25).rgb().string(), shadow: BLUIColors.primary[0], @@ -58,6 +54,11 @@ export const MD3BluiDarkTheme = { level4: BLUIColors.neutral[17], level5: BLUIColors.neutral[20], }, + // surfaceDisabled is the same as disabledContainer in design files + surfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.1).rgb().string(), + // onSurfaceDisabled is the same as onDisabledContainer in design files + onSurfaceDisabled: Color(BLUIColors.neutral[95]).alpha(0.15).rgb().string(), + backdrop: Color(BLUIColors.primary[0]).alpha(0.32).rgb().string(), // Custom color variants // High-emphasis primary non-text variant, can be used on non-text elements like icons diff --git a/src/blueTheme.ts b/src/blueTheme.ts index 65e4f05..e398537 100644 --- a/src/blueTheme.ts +++ b/src/blueTheme.ts @@ -37,10 +37,6 @@ export const MD3BluiLightTheme = { onBackground: BLUIColors.neutral[10], surface: BLUIColors.neutral[98], onSurface: BLUIColors.neutral[10], - // surfaceDisabled is the same as disabledContainer in design files - surfaceDisabled: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), - // onSurfaceDisabled is the same as onDisabledContainer in design files - onSurfaceDisabled: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), surfaceVariant: BLUIColors.neutralVariant[90], onSurfaceVariant: BLUIColors.neutralVariant[30], outline: BLUIColors.neutralVariant[50], @@ -58,6 +54,11 @@ export const MD3BluiLightTheme = { level4: BLUIColors.neutral[92], level5: BLUIColors.neutral[90], }, + // surfaceDisabled is the same as disabledContainer in design files + surfaceDisabled: Color(BLUIColors.neutral[10]).alpha(0.05).rgb().string(), + // onSurfaceDisabled is the same as onDisabledContainer in design files + onSurfaceDisabled: Color(BLUIColors.neutral[10]).alpha(0.25).rgb().string(), + backdrop: Color(BLUIColors.primary[0]).alpha(0.32).rgb().string(), // Custom color variants // High-emphasis primary non-text variant, can be used on non-text elements like icons From 5a04e8d6b90fbbc02d2df21dc55836a33e67b898 Mon Sep 17 00:00:00 2001 From: manojleaton Date: Wed, 10 Jan 2024 15:29:10 +0530 Subject: [PATCH 72/84] updated version for publish --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5d7f933..8cee170 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@brightlayer-ui/react-native-themes", "author": "Brightlayer UI ", "license": "BSD-3-Clause", - "version": "7.0.0-alpha.4", + "version": "7.0.0", "description": "React Native themes for Brightlayer UI applications", "main": "./dist/index.js", "scripts": { From 777de5b3fa959069ff5ac4c30cc1001fb28ff101 Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Wed, 10 Jan 2024 15:43:34 +0530 Subject: [PATCH 73/84] added documentation for components --- RNPComponents/Images/avatar.png | Bin 0 -> 28366 bytes RNPComponents/Images/buttonContained.png | Bin 0 -> 18096 bytes RNPComponents/Images/buttonElevated.png | Bin 0 -> 20577 bytes RNPComponents/Images/buttonOutline.png | Bin 0 -> 19808 bytes RNPComponents/Images/buttonText.png | Bin 0 -> 11933 bytes RNPComponents/Images/buttonTonal.png | Bin 0 -> 16918 bytes RNPComponents/Images/dataTable.png | Bin 0 -> 41530 bytes RNPComponents/Images/flatTextInput.png | Bin 0 -> 29967 bytes RNPComponents/Images/outlineTextInput.png | Bin 0 -> 32657 bytes RNPComponents/RNPComponents.md | 529 ++++++++++++++++++---- 10 files changed, 435 insertions(+), 94 deletions(-) create mode 100644 RNPComponents/Images/avatar.png create mode 100644 RNPComponents/Images/buttonContained.png create mode 100644 RNPComponents/Images/buttonElevated.png create mode 100644 RNPComponents/Images/buttonOutline.png create mode 100644 RNPComponents/Images/buttonText.png create mode 100644 RNPComponents/Images/buttonTonal.png create mode 100644 RNPComponents/Images/dataTable.png create mode 100644 RNPComponents/Images/flatTextInput.png create mode 100644 RNPComponents/Images/outlineTextInput.png diff --git a/RNPComponents/Images/avatar.png b/RNPComponents/Images/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..bcb3f276ef0319f53d2e14bfa4db0fac10e7bd86 GIT binary patch literal 28366 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 z znR|(oFbt00&5ao$z%5z0H&A=DrPh6j}bk)xO>nw5jA6l_H4j$+YjwJxt0yU(v{Zedi%P zURhBQuTX)4lrUQ0LD)zF9!pQEWh(Jx+F@U5AP-QU8u&8emTtPNpFd94FubT}xw-?h zM9{+Y`kQ)um7y&3vnlXsX^w_ZMt1FYu`ds=Af}3K(5_u2xg8i|qbu$f>7>Yw=2RIAIM6q z=`{~1pR-71YH5aZut?w7*m45m!c`4s-V=Gcj}B zw;2eLKoAB5gaMi*;HshCvzbY(P3(hC?3}M9p=9uXFV-K+PuG3>7kcAmEq^w0&L3}u-jlIAS8JPLZ zxC^9PSwzrvnEM8sZ@7vr!@rnez+&DSi-Uw@`?5Lq(_p%S+gRs&E;yPuU3oNDKhN9k z(8q7&D_jK6C5C=~?$S)@untcE*JxJyVHD+A+s6}4qxS~f(&$6}(3az**7f<)eQ!5N z$xv_N8p#4GCfNab;t!L*4-PUv`ZBR<;OEwJ(_Aw2Srg19%8+v$%`~>MmC0p3|8{DQ zu5dEI{EF$d>_E{3CPm`cuk$*FJ|rys7`mu)ekfk%Wty5vd+g|m{T)7joS-UZGap9_EqWW9v|j@V)Xp{WLco^S>4kG(g;34n#3BKh zQ1Kl?O0yC_PWG0L@izwHx0TQ>_YZC2qt3~ITTigZfhoX`M^dFF_@<#Qw3|J2{%qHu2B%%f$-LmuU8|2{PihY z>4EESsqs#@wT&*fC`&8}Uxdl&y!!YP2d64VlI4=N!qkng?W_zb9|Jk{S3ak$0JGLg zHW}8nCP`}@P+($G#K&&e-IwGI7H7T*N3ZUYS@DT*`Ml;c8O>@QK(sd|e?hGNA$V6h zD;|GTaV2xeVuH`I#)4QKvvj+czqwLRWp*~M)o`ou6oX&ytBYW)9_6U4ZCZq7EPwx7ESVtU7)K};O(@u|nJ-nQiTwgv1O(ji zXo~+wAMb>r80OuuLc^oR{~+cU^eFnc-)k-W|5)RWdMJvy<6`kg(enQ=<`4hFq0>ms z1pfD4I_Yz1Q2LksnJBjZK<1LDSnd8)z5KsO^g?MA$-FSbt8Vi@^S`3M{(rar2cQ3c eC|YYz&%xK0jz4-_i%_)wXQ&?pNIBRz;Qs)oV~#-p literal 0 HcmV?d00001 diff --git a/RNPComponents/Images/buttonContained.png b/RNPComponents/Images/buttonContained.png new file mode 100644 index 0000000000000000000000000000000000000000..1e5ceaf9a24f6a3d142f1672d82c794a121630eb GIT binary patch literal 18096 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 literal 0 HcmV?d00001 diff --git a/RNPComponents/Images/buttonElevated.png b/RNPComponents/Images/buttonElevated.png new file mode 100644 index 0000000000000000000000000000000000000000..883673a307f2241cc316ef9ccf37fb83f8a0037e GIT binary patch literal 20577 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 Q`JIA;jk7iNjBnCE0h{PAd;kCd literal 0 HcmV?d00001 diff --git a/RNPComponents/Images/buttonOutline.png b/RNPComponents/Images/buttonOutline.png new file mode 100644 index 0000000000000000000000000000000000000000..97af2c07d89db8a12a7b9897439e48f3dd124f8b GIT binary patch literal 19808 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 N(_vS~W`|S1{|%7`_a*=U literal 0 HcmV?d00001 diff --git a/RNPComponents/Images/buttonText.png b/RNPComponents/Images/buttonText.png new file mode 100644 index 0000000000000000000000000000000000000000..84665a87911d010d901936362cb8e69b038a44c0 GIT binary patch literal 11933 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 literal 0 HcmV?d00001 diff --git a/RNPComponents/Images/dataTable.png b/RNPComponents/Images/dataTable.png new file mode 100644 index 0000000000000000000000000000000000000000..748161cd2f26dd2acc0466a4d1404c0de87f3040 GIT binary patch literal 41530 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⪻rHS_JEd|?Ans25(VT;8wJ6(N&&GjMMCyJ7Ko00{%J47 zo3qHIZHv{JffiPD*>T1`K!8x$H zM5@e21*^}8zUzyn>Q>EmA0bVoL|`<}{~8U|v9J0)+23n`79L#upraPFBcq!srzNQaU{_@qw1#WCYuQ9=ryG5x zRq)08#SBv$cGR5_0ButiKW<6Jal}nIcnyG83Zoi~##%2F#j?puJ2v?k%i3b@i`cY1 zsnnXcnOk00NR>59%0OeymWAE(2O~*f5%?xl5Yi;K&&h5j7B(KqX^bqvc9~S;GZWa! za_IO5k@G(W)ty$)h?$<|;R>kZg=PXr>+a~LwyC+%PH$tWr-AgR@#zlCZ+o@=dyuv} zlD445t{+>evf_dIcnhLn0uSl?MiZSDqkRacto6N7wQm@joizvgx|S9#;sAWXzWqTq ziJ)ZspH|1of$2%8@(<5K_-jHhp_A5;5(1^Z_f6i`>qaE5Qlza~ODeEk>C$N1ax8l> zRz4lo@8I|-dxy9Z1mRW8>^diKkwm5~I3?nD^NqD40y}y&;~p?a@tG|^LZgbl1hsI- z$#Bpd9dHYdm<}pBQvxh)vw#kN`J0Gf$+c0=9?ot9aCSvmO>*^%5Vwh1A>g%Gfo8Wo z17yn`Z0?1od8&2m?LG<{ZK~UPS(=Z1MlF;o4`x!c>XwIGi+~NuLz(_qMKGW!z!rV9 z!^t4&%}VG{Q!=9H*P{~j!nJP}aImKtHWu7nSw!C-K}21)O2hW|U1=W#K4w^u+A z7#p?V7gnADZ);*uKAFEPFMSG6rbY6FLv(I!x|2NS0B>oNeb%WAQ%qGYT{L9)+j8XP zh-ZZBt5VU0KFPf#)Uhw8-M~e0a#*G;M`4OnhMjv5tuh-121a<9je8NxXY`(A(UHp6 zgAxLH@`Sm9zc4D7h-J&*U#}U7w|ZCgyJ4ifcDQ`EvU1Y3Ja8BDN>TUxnTCB3_S7}@7Mwp?eQn?qTa&Ls9*cqN;WRX) zJastO)6Z5{RpZaj8JJ0rqPWebnke;KX~%)7*3pKFN;NO#xAWRho*gXoio_4O^=ob~ z0YB+X-1~WCCY!co*rkgWx2WMoi$YKzm{TMl&Hi{7ELeErAZ6E!I9S|AjV5G$FptTM ziKf)G+!Kccmv9d<*A+rP_K&B>S94G2`fq)v5xH?oD~01-vS4uk^j15R{^#tK+;taH z<6A)Iq9r0x;n4AO1Yn^u0Voa?s_d^{eL+5A?^cXQC*MzZfLkpK$4-NVNPJLv^?4Wn z+%$+$8)Rm{ptB!$)5u5_`Xyjjcc8cZ;hpl}z^--LXv6GF7O{zMlhQl@6Z+iU0jz0N zj6G}F4%9qS8TjMxxhTk%h9be9pX7X)abaS)i4qPWF z5gE+^h#K6gI`~Naoe@qgRz%fZtJ&y61C8$~R;RW+F;NYUI5$Q`N9?im5A6auYSso1 zn_4heAI|viuE#8e+@?5uE$_OYHW~B??l!bLxAdIUJ4|`-`Gg)+1|ov=bI*EDs<5d6 zL5XkOuFY>JxZyJ(C~^Lqlkdp~$2T-H4}&SWC&VLwz1+*{x{Ep?9#w##M9nV$vFyKy z$3Y+{x$B}NoN+=tngBt`&nf&=0XXH({7))`-+uB33kxXxxaQzb)BNe60C89I|4?C{ YDdBi3$N=6b%mz1Oh?DMBmDRKoEWq2;7c>3_M8> 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 literal 0 HcmV?d00001 diff --git a/RNPComponents/Images/outlineTextInput.png b/RNPComponents/Images/outlineTextInput.png new file mode 100644 index 0000000000000000000000000000000000000000..922fb26033ea5eed242b878c5998a1e92a20ddbc GIT binary patch literal 32657 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 VYQ4iA&|dkElAOA1sr1{R{{=x4Xv+Wq literal 0 HcmV?d00001 diff --git a/RNPComponents/RNPComponents.md b/RNPComponents/RNPComponents.md index 9a08df6..783bb2f 100644 --- a/RNPComponents/RNPComponents.md +++ b/RNPComponents/RNPComponents.md @@ -8,128 +8,469 @@ These components templates simplify this process so that the end user do not cre ## Component Template +- ### Avatar + + Recommended style overrides: + * Text color of the Avatar for Primary Tonal Avatar: onPrimaryContainer + * Background color of the Avatar for Primary Tonal Avatar: primaryContainer + * Text color of the Avatar for Error Tonal Avatar: onErrorContainer + * Background color of the Avatar for Error Tonal Avatar: errorContainer + * Text color of the Avatar for Error Filled Avatar: onError + * Background color of the Avatar for Error Filled Avatar: error + + Avatar
+ + Usage + ```tsx + import { Avatar } from 'react-native-paper'; + + // Primary Tonal Avatar + + // Primary filled Avatar + + // Error Tonal Avatar + + // Error filled Avatar + + + ``` + - ### Bottom Navigation - Recommended style overrides: -* Active color of the selected tab text: primary -* Background color of the Navigation Bar: surfaceContainer + Recommended style overrides: + * Active color of the selected tab text: primary + * Background color of the Navigation Bar: surfaceContainer + + Bottom Navigation
+ + Usage + ```tsx + import { BottomNavigation } from 'react-native-paper'; + + + ``` + +- **Button** + - #### Contained Mode + Recommended style overrides: + - button color of the error contained button: error + - text color of the error contained button: onError + + + Button Contained Mode
+ + Usage + ```tsx + import { Button } from 'react-native-paper'; + + + + + ``` + + - #### Outlined Mode + + Recommended style overrides: + * text color of the error outlined button: error + + Button Outlined Mode
+ + Usage + ```tsx + import { Button } from 'react-native-paper'; + + + + + ``` + + - #### Text Mode + + Recommended style overrides: + * text color of the error text button: error + + Button Text Mode
+ + Usage + ```tsx + import { Button } from 'react-native-paper'; + + + + + ``` + - #### Elevated Mode + + Recommended style overrides: + * button color of the elevated button: surfaceContainerLow + * text color of the error elevated button: error + * button color of the error elevated button: surfaceContainerLow + * button color of the disabled elevated button: surfaceContainerLow + + Button Elevated Mode
+ + Usage + ```tsx + import { Button } from 'react-native-paper'; + + + + + ``` -Bottom Navigation
+ - #### Contained Tonal Mode -Usage -```tsx -import { BottomNavigation } from 'react-native-paper'; + Recommended style overrides: + * text color of the error text button: onErrorContainer + * button color of the error text button: errorContainer - -``` + Button Contained-tonal Mode
-- ### Button + Usage + ```tsx + import { Button } from 'react-native-paper'; + + + + + ``` - ### Data Table + Recommended style overrides: + * Text color of Table Title: onSurface + * font size of Table Title: theme.fonts.labelLarge + + Data Table
+ + Usage + ```tsx + import { DataTable } from 'react-native-paper'; + + + + + Dessert + + + Calories + + + Fat + + + + {items.slice(from, to).map((item) => ( + + {item.name} + {item.calories} + {item.fat} + + ))} + + + + ``` + - ### Icon button -Recommended style overrides: -* background color for contained mode: primary -* icon color for contained mode: onPrimary -* background color for contained-tonal mode: primaryContainer -* icon color for contained-tonal mode: onPrimaryContainer + Recommended style overrides: + * background color for contained mode: primary + * icon color for contained mode: onPrimary + * background color for contained-tonal mode: primaryContainer + * icon color for contained-tonal mode: onPrimaryContainer -IconButton
+ IconButton
-Usage -```tsx -import { IconButton } from 'react-native-paper'; + Usage + ```tsx + import { IconButton } from 'react-native-paper'; - - - - -``` -- ### ProgressBar + + + + + ``` - Recommended style overrides: -* background color of the track: surfaceContainerHighest - -ProgressBar
+- ### ProgressBar -Usage -```tsx -import { ProgressBar } from 'react-native-paper'; + Recommended style overrides: + * background color of the track: surfaceContainerHighest - -``` + ProgressBar
+ Usage + ```tsx + import { ProgressBar } from 'react-native-paper'; + + ``` - ### Snackbar -Recommended style overrides: -* background color of the SnackBar: inverseSurface + Recommended style overrides: + * background color of the SnackBar: inverseSurface -Snackbar
+ Snackbar
-````tsx -import { Snackbar } from 'react-native-paper'; - {}, - }} - style={{ backgroundColor: theme.colors.inverseSurface }} - > - Snackbar Text - -```` + ````tsx + import { Snackbar } from 'react-native-paper'; + {}, + }} + style={{ backgroundColor: theme.colors.inverseSurface }} + > + Snackbar Text + + ```` - ### Text Input -- ### Toggle Button + - #### Flat Mode + Recommended style overrides: + - underline color of Flat Text Input: onSurfaceVariant + - text color of Flat Text Input: onSurface + - backgroundColor of Flat Text Input: textFieldContainer + - underline color of Disabled Flat Text Input: onDisabledContainer + - backgroundColor of Disabled Flat Text Input: disabledContainer + - underline color of Error Flat Text Input: onSurfaceVariant + - text color of Error Flat Text Input: onSurface + - backgroundColor of Error Flat Text Input: textFieldContainer + - Horizontal Margin for Helper Text: 8, + - Horizontal Padding for Helper Text: 16, + + + Button Contained Mode
+ + Usage + ```tsx + import { TextInput } from 'react-native-paper'; + + setNormalFilledText(value)} + style={{backgroundColor: theme.colors.textFieldContainer}} + /> -Recommended style overrides: -* borderWidth of ToggleButton: 1 -* background color of the ToggleButton for selected: primaryContainer -* icon color of the ToggleButton for selected: onPrimaryContainer -* background color of the ToggleButton for non selected: 'transparent' -* icon color of the ToggleButton for non selected: onSurface - - -toggleButton
- -````tsx -import { ToggleButton } from 'react-native-paper'; - -//Button style for selected - -// style for not selected - { + setErrorFilledText(value); + setHasError(value.length > 4); + }} + error={hasError} + style={{backgroundColor: theme.colors.textFieldContainer}} + /> + + Error Message + + ``` + + - #### Outlined Mode + + Recommended style overrides: + - underline color of Outlined Text Input: onSurfaceVariant + - backgroundColor of Outlined Text Input: transparent + - underline color of Disabled Outlined Text Input: onSurfaceVariant + - backgroundColor of Disabled Outlined Text Input: transparent + - underline color of Error Outlined Text Input: onSurfaceVariant + - backgroundColor of Error Outlined Text Input: transparent + - Horizontal Margin for Helper Text: 8, + - Horizontal Padding for Helper Text: 16, + + Button Outlined TextInput
+ + Usage + ```tsx + import { TextInput } from 'react-native-paper'; + + setNormalFilledText(value)} + style={{ + margin: 8, + backgroundColor: 'transparent', + }} + /> + + setDisabledFilledText(value)} + disabled + style={{ + margin: 8, + backgroundColor: 'transparent', + }} /> -```` \ No newline at end of file + + { + setErrorFilledText(value); + setHasError(value.length > 4); + }} + error={hasError} + style={{ marginHorizontal: 8, marginTop: 8, backgroundColor: 'transparent' }} + /> + + Error Message + + + ``` + +- ### Toggle Button + + Recommended style overrides: + * borderWidth of ToggleButton: 1 + * background color of the ToggleButton for selected: primaryContainer + * icon color of the ToggleButton for selected: onPrimaryContainer + * background color of the ToggleButton for non selected: 'transparent' + * icon color of the ToggleButton for non selected: onSurface + + + toggleButton
+ + ````tsx + import { ToggleButton } from 'react-native-paper'; + + //Button style for selected + + // style for not selected + + ```` \ No newline at end of file From 3073a96d3608cae11c72e5ce0ef2aabc0a5b6d4b Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Wed, 10 Jan 2024 16:32:29 +0530 Subject: [PATCH 74/84] added documentation for components --- RNPComponents/RNPComponents.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RNPComponents/RNPComponents.md b/RNPComponents/RNPComponents.md index 783bb2f..37430b3 100644 --- a/RNPComponents/RNPComponents.md +++ b/RNPComponents/RNPComponents.md @@ -2,9 +2,9 @@ This Document contains a set of style override in components around various [React Native Paper](https://callstack.github.io/react-native-paper/index.html) components. -By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. To circumvent this issue, we create a template that you can use bring them in alignment with Brightlayer UI applications +By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. To circumvent this issue, we create a style overriden components that you can use bring them in alignment with Brightlayer UI applications -These components templates simplify this process so that the end user do not create the component designs to bring them in alignment with Brightlayer UI applications. +These style overriden components simplify this process so that the end user do not create the component designs to bring them in alignment with Brightlayer UI applications. ## Component Template From 9a8c38217e5e2b4bf40e88bb8f96c3d4df7e32eb Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Wed, 10 Jan 2024 16:39:00 +0530 Subject: [PATCH 75/84] update Images for components --- RNPComponents/RNPComponents.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/RNPComponents/RNPComponents.md b/RNPComponents/RNPComponents.md index 37430b3..3dbbd9b 100644 --- a/RNPComponents/RNPComponents.md +++ b/RNPComponents/RNPComponents.md @@ -18,7 +18,7 @@ These style overriden components simplify this process so that the end user do n * Text color of the Avatar for Error Filled Avatar: onError * Background color of the Avatar for Error Filled Avatar: error - Avatar
+ Avatar
Usage ```tsx @@ -41,7 +41,7 @@ These style overriden components simplify this process so that the end user do n * Active color of the selected tab text: primary * Background color of the Navigation Bar: surfaceContainer - Bottom Navigation
+ Bottom Navigation
Usage ```tsx @@ -63,7 +63,7 @@ These style overriden components simplify this process so that the end user do n - text color of the error contained button: onError - Button Contained Mode
+ Button Contained Mode
Usage ```tsx @@ -89,7 +89,7 @@ These style overriden components simplify this process so that the end user do n Recommended style overrides: * text color of the error outlined button: error - Button Outlined Mode
+ Button Outlined Mode
Usage ```tsx @@ -114,7 +114,7 @@ These style overriden components simplify this process so that the end user do n Recommended style overrides: * text color of the error text button: error - Button Text Mode
+ Button Text Mode
Usage ```tsx @@ -141,7 +141,7 @@ These style overriden components simplify this process so that the end user do n * button color of the error elevated button: surfaceContainerLow * button color of the disabled elevated button: surfaceContainerLow - Button Elevated Mode
+ Button Elevated Mode
Usage ```tsx @@ -175,7 +175,7 @@ These style overriden components simplify this process so that the end user do n * text color of the error text button: onErrorContainer * button color of the error text button: errorContainer - Button Contained-tonal Mode
+ Button Contained-tonal Mode
Usage ```tsx @@ -202,7 +202,7 @@ These style overriden components simplify this process so that the end user do n * Text color of Table Title: onSurface * font size of Table Title: theme.fonts.labelLarge - Data Table
+ Data Table
Usage ```tsx @@ -258,7 +258,7 @@ These style overriden components simplify this process so that the end user do n * background color for contained-tonal mode: primaryContainer * icon color for contained-tonal mode: onPrimaryContainer - IconButton
+ IconButton
Usage ```tsx @@ -275,7 +275,7 @@ These style overriden components simplify this process so that the end user do n Recommended style overrides: * background color of the track: surfaceContainerHighest - ProgressBar
+ ProgressBar
Usage ```tsx @@ -293,7 +293,7 @@ These style overriden components simplify this process so that the end user do n * background color of the SnackBar: inverseSurface - Snackbar
+ Snackbar
````tsx import { Snackbar } from 'react-native-paper'; @@ -325,7 +325,7 @@ These style overriden components simplify this process so that the end user do n - Horizontal Padding for Helper Text: 16, - Button Contained Mode
+ Button Contained Mode
Usage ```tsx @@ -384,7 +384,7 @@ These style overriden components simplify this process so that the end user do n - Horizontal Margin for Helper Text: 8, - Horizontal Padding for Helper Text: 16, - Button Outlined TextInput
+ Button Outlined TextInput
Usage ```tsx @@ -446,7 +446,7 @@ These style overriden components simplify this process so that the end user do n * icon color of the ToggleButton for non selected: onSurface - toggleButton
+ toggleButton
````tsx import { ToggleButton } from 'react-native-paper'; From 2d64c110cf92f2402610b3f82f7d2382bf63d76f Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Wed, 10 Jan 2024 18:47:08 +0530 Subject: [PATCH 76/84] update formatting --- RNPComponents/RNPComponents.md | 36 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/RNPComponents/RNPComponents.md b/RNPComponents/RNPComponents.md index 3dbbd9b..85e0c13 100644 --- a/RNPComponents/RNPComponents.md +++ b/RNPComponents/RNPComponents.md @@ -53,7 +53,7 @@ These style overriden components simplify this process so that the end user do n navigationState={{ index, routes }} onIndexChange={setIndex} renderScene={renderScene} - /> + /> ``` - **Button** @@ -76,7 +76,7 @@ These style overriden components simplify this process so that the end user do n mode="contained" buttonColor={theme.colors.error} textColor={theme.colors.onError} - > + > Label @@ -201,6 +199,12 @@ These styles override components will simplify this process so that the end user Recommended style overrides: * Text color of Table Title: onSurface * Font size of Table Title: theme.fonts.labelLarge + * Font size of Table Cell: theme.fonts.bodyMedium + * Font for pagination Label needs to passed inside Text component: ``` + ``` + * Font for pagination selectPageDropdownLabel needs to passed inside Text component: ``` + ``` + Data Table
@@ -231,21 +235,29 @@ These styles override components will simplify this process so that the end user {items.slice(from, to).map((item) => ( - {item.name} - {item.calories} - {item.fat} + {item.name} + {item.calories} + {item.fat} ))} + {`${from + 1}-${to} of ${items.length}`} + + } numberOfItemsPerPageList={numberOfItemsPerPageList} numberOfItemsPerPage={itemsPerPage} onItemsPerPageChange={onItemsPerPageChange} showFastPaginationControls - selectPageDropdownLabel={'Rows per page'} + selectPageDropdownLabel={ + + Rows per page + + } /> ``` @@ -375,11 +387,8 @@ These styles override components will simplify this process so that the end user - #### Outlined Mode Recommended style overrides: - - Underline color of Outlined Text Input: onSurfaceVariant - BackgroundColor of Outlined Text Input: transparent - - Underline color of Disabled Outlined Text Input: onSurfaceVariant - BackgroundColor of Disabled Outlined Text Input: transparent - - Underline color of Error Outlined Text Input: onSurfaceVariant - BackgroundColor of Error Outlined Text Input: transparent - Horizontal Margin for Helper Text: 8, - Horizontal Padding for Helper Text: 16, @@ -394,7 +403,6 @@ These styles override components will simplify this process so that the end user label="TextInput" mode="outlined" value={normalFilledText} - underlineColor={theme.colors.onSurfaceVariant} onChangeText={(value) => setNormalFilledText(value)} style={{ margin: 8, @@ -406,7 +414,6 @@ These styles override components will simplify this process so that the end user label="TextInput" mode="outlined" value={disabledFilledText} - underlineColor={theme.colors.onSurfaceVariant} onChangeText={(value) => setDisabledFilledText(value)} disabled style={{ @@ -419,7 +426,6 @@ These styles override components will simplify this process so that the end user label="TextInput" mode="outlined" value={errorFilledText} - underlineColor={theme.colors.onSurfaceVariant} onChangeText={(value) => { setErrorFilledText(value); setHasError(value.length > 4); From 88e0fb5a45d5abaa8c51dcba646cb8b2a0357b86 Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Fri, 12 Jan 2024 14:16:19 +0530 Subject: [PATCH 80/84] update documentation --- README.md | 8 +++++--- RNPComponents/RNPComponents.md | 10 ++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 7f270d3..b7d5ef7 100644 --- a/README.md +++ b/README.md @@ -57,11 +57,13 @@ import * as BLUIThemes from '@brightlayer-ui/react-native-themes'; > When using either of these themes, you should use our React Native Paper wrapper components (see below). -### React Native Paper Wrapper Components +### React Native Paper Components Style Override -The default theme structure for React Native Paper components does not offer us enough control to make some components look exactly the way they should for Brightlayer UI applications. Because of this, we have extended the default theme type definition (see below) and created wrapper components with the correct styles to use in place of some of the standard React Native Paper components. +This Document contains a set of style overrides in components around various [React Native Paper](https://callstack.github.io/react-native-paper/index.html) components. -In order for these components to look correct in your application, you should use the [Brightlayer UI wrapper components](https://github.com/etn-ccis/blui-react-native-component-library/blob/master/components/src/themed/README.md) in place of the respective components from React Native Paper. +By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. The theme does not cover all cases to circumvent this issue, for some components the end user may need to add extra styles or theme overrides inline that can be used to bring them in alignment with Brightlayer UI applications + +In order to style components listed in the document to look correct in your application, the end user should use the [Brightlayer UI Components Style Override](https://github.com/etn-ccis/blui-react-native-themes/blob/master/RNPComponents/RNPComponents.md) in place of the respective components from React Native Paper. ### TypeScript diff --git a/RNPComponents/RNPComponents.md b/RNPComponents/RNPComponents.md index c51ecef..9c7412b 100644 --- a/RNPComponents/RNPComponents.md +++ b/RNPComponents/RNPComponents.md @@ -1,12 +1,6 @@ -# React Native Paper Component Templates +## React Native Paper Component Style Overrides -This Document contains a set of style overrides in components around various [React Native Paper](https://callstack.github.io/react-native-paper/index.html) components. - -By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. To circumvent this issue, we create styles override components that the end user can use to bring them in alignment with Brightlayer UI applications - -These styles override components will simplify this process so that the end user does not create the component designs to bring them in alignment with Brightlayer UI applications. - -## Component Template +These styles override components will simplify this process so that the end user does not create the component designs to bring them in alignment with Brightlayer UI applications. - ### Avatar From bb2ba86751888232511cf11f8b6fbc5cd3710285 Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Fri, 12 Jan 2024 15:25:33 +0530 Subject: [PATCH 81/84] update documentation --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b7d5ef7..ec33607 100644 --- a/README.md +++ b/README.md @@ -61,9 +61,9 @@ import * as BLUIThemes from '@brightlayer-ui/react-native-themes'; This Document contains a set of style overrides in components around various [React Native Paper](https://callstack.github.io/react-native-paper/index.html) components. -By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. The theme does not cover all cases to circumvent this issue, for some components the end user may need to add extra styles or theme overrides inline that can be used to bring them in alignment with Brightlayer UI applications +By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. The theme does not cover all cases to circumvent this issue, for some components, the end user may need to add extra styles or theme overrides inline that can be used to bring them in alignment with Brightlayer UI applications -In order to style components listed in the document to look correct in your application, the end user should use the [Brightlayer UI Components Style Override](https://github.com/etn-ccis/blui-react-native-themes/blob/master/RNPComponents/RNPComponents.md) in place of the respective components from React Native Paper. +To style components listed in the document to look correct in the application, the end user should use the [Brightlayer UI Components Style Override](https://github.com/etn-ccis/blui-react-native-themes/blob/master/RNPComponents/RNPComponents.md) in place of the respective components from React Native Paper. ### TypeScript From 6725bf4cf09f2ba229512f42ac98f72dbbcce985 Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Fri, 12 Jan 2024 16:12:07 +0530 Subject: [PATCH 82/84] update documentation --- README.md | 4 ++-- RNPComponents/RNPComponents.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ec33607..5635bbd 100644 --- a/README.md +++ b/README.md @@ -61,9 +61,9 @@ import * as BLUIThemes from '@brightlayer-ui/react-native-themes'; This Document contains a set of style overrides in components around various [React Native Paper](https://callstack.github.io/react-native-paper/index.html) components. -By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. The theme does not cover all cases to circumvent this issue, for some components, the end user may need to add extra styles or theme overrides inline that can be used to bring them in alignment with Brightlayer UI applications +By default, the theming mechanism provided by RNP is very minimal and does not allow us to style components precisely the way we want for Brightlayer UI applications. The theme does not cover all cases to circumvent this issue, for some components, you may need to add extra styles or theme overrides inline that can be used to bring them in alignment with Brightlayer UI applications -To style components listed in the document to look correct in the application, the end user should use the [Brightlayer UI Components Style Override](https://github.com/etn-ccis/blui-react-native-themes/blob/master/RNPComponents/RNPComponents.md) in place of the respective components from React Native Paper. +To style components listed in the document to look correct in the application, you should use the [Brightlayer UI Components Style Override](https://github.com/etn-ccis/blui-react-native-themes/blob/master/RNPComponents/RNPComponents.md) in place of the respective components from React Native Paper. ### TypeScript diff --git a/RNPComponents/RNPComponents.md b/RNPComponents/RNPComponents.md index 9c7412b..a2589d5 100644 --- a/RNPComponents/RNPComponents.md +++ b/RNPComponents/RNPComponents.md @@ -1,6 +1,6 @@ ## React Native Paper Component Style Overrides -These styles override components will simplify this process so that the end user does not create the component designs to bring them in alignment with Brightlayer UI applications. +These styles override components will simplify this process so that you do not create the component designs to bring them in alignment with Brightlayer UI applications. - ### Avatar From 946d7c800f090ecdfd4c53d03cc5675c87e2077c Mon Sep 17 00:00:00 2001 From: manojleaton Date: Fri, 12 Jan 2024 17:56:22 +0530 Subject: [PATCH 83/84] updated version release date in changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc04f74..311111a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## v7.0.0 (Unreleased) +## v7.0.0 (January 12, 2024) ### Changed From 6aa65cf3595aa5fb0484ab385793980dd6956ce2 Mon Sep 17 00:00:00 2001 From: Arshdeep Singh Date: Fri, 12 Jan 2024 19:39:01 +0530 Subject: [PATCH 84/84] update documentation --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5635bbd..a146a53 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,6 @@ import * as BLUIThemes from '@brightlayer-ui/react-native-themes'; ``` -> When using either of these themes, you should use our React Native Paper wrapper components (see below). ### React Native Paper Components Style Override