From 52a17ecc210778bc4ccc7354f4d4e838e1e418aa Mon Sep 17 00:00:00 2001 From: Eugene Chybisov Date: Tue, 8 Feb 2022 13:14:27 +0200 Subject: [PATCH] feat: update token drawer --- libs/react-scripts/package.json | 2 +- package.json | 6 +- packages/widget/package.json | 4 +- .../src/components/NavigationHeader.tsx | 6 +- packages/widget/src/components/Select.tsx | 6 + .../src/components/SelectTokenDrawer.tsx | 166 +++++++++++++++--- .../src/components/SwapInputAdornment.tsx | 5 +- .../widget/src/components/WalletHeader.tsx | 2 +- packages/widget/src/i18n/en/translation.json | 25 +-- packages/widget/src/pages/SwapPage.tsx | 5 +- yarn.lock | 120 ++++++++++--- 11 files changed, 281 insertions(+), 66 deletions(-) diff --git a/libs/react-scripts/package.json b/libs/react-scripts/package.json index c0e21e768..31a822415 100644 --- a/libs/react-scripts/package.json +++ b/libs/react-scripts/package.json @@ -70,7 +70,7 @@ "semver": "^7.3.5", "source-map-loader": "^3.0.0", "style-loader": "^3.3.1", - "tailwindcss": "^3.0.18", + "tailwindcss": "^3.0.19", "terser-webpack-plugin": "^5.3.1", "webpack": "^5.68.0", "webpack-dev-server": "^4.7.4", diff --git a/package.json b/package.json index d6cdd028f..4f0483f59 100644 --- a/package.json +++ b/package.json @@ -14,12 +14,12 @@ "@testing-library/jest-dom": "^5.16.2", "@testing-library/react": "^12.0.0", "@testing-library/user-event": "^13.2.1", - "@types/node": "^17.0.15", + "@types/node": "^17.0.16", "@types/react": "^17.0.39", "@types/react-dom": "^17.0.11", "@types/uuid": "^8.3.4", - "@typescript-eslint/eslint-plugin": "^5.10.2", - "@typescript-eslint/parser": "^5.10.2", + "@typescript-eslint/eslint-plugin": "^5.11.0", + "@typescript-eslint/parser": "^5.11.0", "eslint": "^8.8.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-prettier": "^8.3.0", diff --git a/packages/widget/package.json b/packages/widget/package.json index 882df0351..af406407e 100644 --- a/packages/widget/package.json +++ b/packages/widget/package.json @@ -13,8 +13,8 @@ "i18next": "^21.6.11", "react": "^18.0.0-rc.0", "react-dom": "^18.0.0-rc.0", - "react-hook-form": "^7.26.0", - "react-i18next": "^11.15.3", + "react-hook-form": "^7.26.1", + "react-i18next": "^11.15.4", "react-query": "^3.34.14", "react-router-dom": "^6.2.1" }, diff --git a/packages/widget/src/components/NavigationHeader.tsx b/packages/widget/src/components/NavigationHeader.tsx index 0e9100ec8..3fbab72cb 100644 --- a/packages/widget/src/components/NavigationHeader.tsx +++ b/packages/widget/src/components/NavigationHeader.tsx @@ -26,11 +26,11 @@ export const NavigationHeader: React.FC = () => { const handleHeaderTitle = () => { switch (location.pathname) { case routes.settings: - return t(`swap.header.settings`); + return t(`header.settings`); case routes.selectToken: - return t(`swap.header.iWouldLikeToSwap`); + return t(`header.iWouldLikeToSwap`); default: - return t(`swap.header.swap`); + return t(`header.swap`); } }; diff --git a/packages/widget/src/components/Select.tsx b/packages/widget/src/components/Select.tsx index bb71ea457..41e17b7a8 100644 --- a/packages/widget/src/components/Select.tsx +++ b/packages/widget/src/components/Select.tsx @@ -1,5 +1,6 @@ import { Select as MuiSelect } from '@mui/material'; import { inputBaseClasses } from '@mui/material/InputBase'; +import { listItemIconClasses } from '@mui/material/ListItemIcon'; import { outlinedInputClasses } from '@mui/material/OutlinedInput'; import { alpha, styled } from '@mui/material/styles'; @@ -19,6 +20,11 @@ export const Select = styled(MuiSelect)(({ theme }) => ({ ]), [`& .${inputBaseClasses.input}`]: { padding: '8.5px 14px', + display: 'flex', + alignItems: 'center', + }, + [`& .${listItemIconClasses.root}`]: { + minWidth: 38, }, [`& .${outlinedInputClasses.notchedOutline}`]: { display: 'none', diff --git a/packages/widget/src/components/SelectTokenDrawer.tsx b/packages/widget/src/components/SelectTokenDrawer.tsx index c72211373..01a3b2086 100644 --- a/packages/widget/src/components/SelectTokenDrawer.tsx +++ b/packages/widget/src/components/SelectTokenDrawer.tsx @@ -1,14 +1,26 @@ -import { Inbox as InboxIcon } from '@mui/icons-material'; +import { Search as SearchIcon } from '@mui/icons-material'; import { + Avatar, Box, Divider, Drawer, DrawerProps, + FormControl, + InputAdornment, List, ListItem, + ListItemAvatar, + ListItemButton, ListItemIcon, ListItemText, + MenuItem, + Select as MuiSelect, + Typography, } from '@mui/material'; +import { inputBaseClasses } from '@mui/material/InputBase'; +import { listItemIconClasses } from '@mui/material/ListItemIcon'; +import { outlinedInputClasses } from '@mui/material/OutlinedInput'; +import { styled } from '@mui/material/styles'; import { forwardRef, RefObject, @@ -17,8 +29,12 @@ import { useImperativeHandle, useState, } from 'react'; +import { useFormContext } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; import { useMatch, useNavigate } from 'react-router-dom'; import { routes } from '../utils/routes'; +import { Input } from './Input'; +import { Select } from './Select'; export type SelectTokenDrawerProps = DrawerProps & { tokens?: string[]; @@ -30,13 +46,45 @@ export interface SelectTokenDrawerBase { closeDrawer(): void; } +const TokenListItemButton = styled(ListItemButton)({ + borderRadius: '8px', + '&:hover': { + backgroundColor: 'rgba(0, 0, 0, 0.02)', + }, +}); + +export const TokenFilterSelect = styled(MuiSelect)(({ theme }) => ({ + backgroundColor: + theme.palette.mode === 'light' + ? theme.palette.grey[100] + : theme.palette.grey[900], + borderRadius: 8, + border: 'none', + '&:focus': { + outline: 'none', + }, + [`& .${inputBaseClasses.input}`]: { + padding: '4px 12px', + display: 'flex', + alignItems: 'center', + }, + [`& .${listItemIconClasses.root}`]: { + minWidth: 38, + }, + [`& .${outlinedInputClasses.notchedOutline}`]: { + display: 'none', + }, +})); + export const SelectTokenDrawer = forwardRef< SelectTokenDrawerBase, SelectTokenDrawerProps >(({ tokens, containerRef }, ref) => { + const { t } = useTranslation(); const navigate = useNavigate(); const [open, setOpen] = useState(false); const homeMatch = useMatch(routes.home); + const { register } = useFormContext(); const openDrawer = useCallback(() => { navigate(routes.selectToken, { replace: true }); @@ -63,28 +111,6 @@ export const SelectTokenDrawer = forwardRef< } }, [homeMatch, open]); - const list = () => ( - - - - - - - - - - - - - - - - - - - - ); - return ( - {list()} + + + + + + + } + /> + + + + + + {t(`swap.form.selectChain`)} + + + + + + + {t(`swap.form.selectToken`)} + + + + {t(`swap.form.myTokens`)} + {t(`swap.form.allTokens`)} + + + + + + {[1, 2, 3].map((index) => ( + + 0.99999991 + + } + disablePadding + > + + + + + + + + ))} + + ); }); diff --git a/packages/widget/src/components/SwapInputAdornment.tsx b/packages/widget/src/components/SwapInputAdornment.tsx index d19ad7d16..13a2a4df6 100644 --- a/packages/widget/src/components/SwapInputAdornment.tsx +++ b/packages/widget/src/components/SwapInputAdornment.tsx @@ -28,7 +28,10 @@ export const SwapFromInputAdornment: React.FC<{ {t(`swap.form.max`)} - {t(`swap.form.maxAmount`, { value: maxAmount })} + {t(`swap.form.maxAmount`, { + value: maxAmount, + minimumFractionDigits: 5, + })} {t(`swap.form.price`, { value: price })} diff --git a/packages/widget/src/components/WalletHeader.tsx b/packages/widget/src/components/WalletHeader.tsx index b29e79936..29abf73fa 100644 --- a/packages/widget/src/components/WalletHeader.tsx +++ b/packages/widget/src/components/WalletHeader.tsx @@ -14,7 +14,7 @@ export const WalletHeader: React.FC = () => { color="grey.500" mt={2} > - {t(`swap.header.walletConnected`, { walletAddress: '0000000000' })} + {t(`header.walletConnected`, { walletAddress: '0000000000' })} ); diff --git a/packages/widget/src/i18n/en/translation.json b/packages/widget/src/i18n/en/translation.json index 7c50b8334..a48956b8e 100644 --- a/packages/widget/src/i18n/en/translation.json +++ b/packages/widget/src/i18n/en/translation.json @@ -1,18 +1,18 @@ { + "header": { + "walletConnected": "Connected: {{walletAddress}}", + "walletNotConnected": "Wallet is not connected.", + "swap": "Swap", + "settings": "Settings", + "iWouldLikeToSwap": "I'd like to swap", + "processIsOn": "Process is on..." + }, "swap": { - "header": { - "walletConnected": "Connected: {{walletAddress}}", - "walletNotConnected": "Wallet is not connected.", - "swap": "Swap", - "settings": "Settings", - "iWouldLikeToSwap": "I'd like to swap", - "processIsOn": "Process is on..." - }, "form": { "from": "I'd like to swap", "to": "And receive to", "max": "Max", - "maxAmount": "({{value, number(minimumFractionDigits: 2)}})", + "maxAmount": "({{value, number}})", "price": "\u2248 {{value, currency(currency: USD)}}", "sendToRecipient": "Send to recipient", "routePriority": { @@ -22,7 +22,12 @@ "recipientsAddress": "Recipient's {{chain}} address", "correctnessConfirmation": "I confirm that the address above is correct", "gas": "Gas:", - "waitingTime": "Waiting time:" + "waitingTime": "Waiting time:", + "tokenSearch": "Search your token", + "selectChain": "Select Chain", + "selectToken": "Select Token", + "myTokens": "My tokens", + "allTokens": "All tokens" }, "button": "Swap" } diff --git a/packages/widget/src/pages/SwapPage.tsx b/packages/widget/src/pages/SwapPage.tsx index 56c7e85c1..7547deedc 100644 --- a/packages/widget/src/pages/SwapPage.tsx +++ b/packages/widget/src/pages/SwapPage.tsx @@ -86,7 +86,10 @@ export const SwapPage: React.FC = () => { defaultValue={0} autoComplete="off" endAdornment={ - + } aria-describedby="" inputProps={{ diff --git a/yarn.lock b/yarn.lock index ee8afc3a7..c552dd553 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2864,10 +2864,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.14.tgz#33b9b94f789a8fedd30a68efdbca4dbb06b61f20" integrity sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng== -"@types/node@^17.0.15": - version "17.0.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.15.tgz#97779282c09c09577120a2162e71d8380003590a" - integrity sha512-zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA== +"@types/node@^17.0.16": + version "17.0.16" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.16.tgz#e3733f46797b9df9e853ca9f719c8a6f7b84cd26" + integrity sha512-ydLaGVfQOQ6hI1xK2A5nVh8bl0OGoIfYMxPWHqqYe9bTkWCfqiVvZoh2I/QF2sNSkZzZyROBoTefIEI+PB6iIA== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -3018,7 +3018,22 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.10.2", "@typescript-eslint/eslint-plugin@^5.5.0": +"@typescript-eslint/eslint-plugin@^5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.11.0.tgz#3b866371d8d75c70f9b81535e7f7d3aa26527c7a" + integrity sha512-HJh33bgzXe6jGRocOj4FmefD7hRY4itgjzOrSs3JPrTNXsX7j5+nQPciAUj/1nZtwo2kAc3C75jZO+T23gzSGw== + dependencies: + "@typescript-eslint/scope-manager" "5.11.0" + "@typescript-eslint/type-utils" "5.11.0" + "@typescript-eslint/utils" "5.11.0" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/eslint-plugin@^5.5.0": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz#f8c1d59fc37bd6d9d11c97267fdfe722c4777152" integrity sha512-4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q== @@ -3040,7 +3055,17 @@ dependencies: "@typescript-eslint/utils" "5.10.2" -"@typescript-eslint/parser@^5.10.2", "@typescript-eslint/parser@^5.5.0": +"@typescript-eslint/parser@^5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.11.0.tgz#b4fcaf65513f9b34bdcbffdda055724a5efb7e04" + integrity sha512-x0DCjetHZYBRovJdr3U0zG9OOdNXUaFLJ82ehr1AlkArljJuwEsgnud+Q7umlGDFLFrs8tU8ybQDFocp/eX8mQ== + dependencies: + "@typescript-eslint/scope-manager" "5.11.0" + "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/typescript-estree" "5.11.0" + debug "^4.3.2" + +"@typescript-eslint/parser@^5.5.0": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.2.tgz#b6076d27cc5499ce3f2c625f5ccde946ecb7db9a" integrity sha512-JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg== @@ -3058,6 +3083,14 @@ "@typescript-eslint/types" "5.10.2" "@typescript-eslint/visitor-keys" "5.10.2" +"@typescript-eslint/scope-manager@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.11.0.tgz#f5aef83ff253f457ecbee5f46f762298f0101e4b" + integrity sha512-z+K4LlahDFVMww20t/0zcA7gq/NgOawaLuxgqGRVKS0PiZlCTIUtX0EJbC0BK1JtR4CelmkPK67zuCgpdlF4EA== + dependencies: + "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/visitor-keys" "5.11.0" + "@typescript-eslint/type-utils@5.10.2": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.2.tgz#ad5acdf98a7d2ab030bea81f17da457519101ceb" @@ -3067,11 +3100,25 @@ debug "^4.3.2" tsutils "^3.21.0" +"@typescript-eslint/type-utils@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.11.0.tgz#58be0ba73d1f6ef8983d79f7f0bc2209b253fefe" + integrity sha512-wDqdsYO6ofLaD4DsGZ0jGwxp4HrzD2YKulpEZXmgN3xo4BHJwf7kq49JTRpV0Gx6bxkSUmc9s0EIK1xPbFFpIA== + dependencies: + "@typescript-eslint/utils" "5.11.0" + debug "^4.3.2" + tsutils "^3.21.0" + "@typescript-eslint/types@5.10.2": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.2.tgz#604d15d795c4601fffba6ecb4587ff9fdec68ce8" integrity sha512-Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w== +"@typescript-eslint/types@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.11.0.tgz#ba345818a2540fdf2755c804dc2158517ab61188" + integrity sha512-cxgBFGSRCoBEhvSVLkKw39+kMzUKHlJGVwwMbPcTZX3qEhuXhrjwaZXWMxVfxDgyMm+b5Q5b29Llo2yow8Y7xQ== + "@typescript-eslint/typescript-estree@5.10.2": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.2.tgz#810906056cd3ddcb35aa333fdbbef3713b0fe4a7" @@ -3085,6 +3132,19 @@ semver "^7.3.5" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.11.0.tgz#53f9e09b88368191e52020af77c312a4777ffa43" + integrity sha512-yVH9hKIv3ZN3lw8m/Jy5I4oXO4ZBMqijcXCdA4mY8ull6TPTAoQnKKrcZ0HDXg7Bsl0Unwwx7jcXMuNZc0m4lg== + dependencies: + "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/visitor-keys" "5.11.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + "@typescript-eslint/utils@5.10.2", "@typescript-eslint/utils@^5.10.2": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.2.tgz#1fcd37547c32c648ab11aea7173ec30060ee87a8" @@ -3097,6 +3157,18 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" +"@typescript-eslint/utils@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.11.0.tgz#d91548ef180d74c95d417950336d9260fdbe1dc5" + integrity sha512-g2I480tFE1iYRDyMhxPAtLQ9HAn0jjBtipgTCZmd9I9s11OV8CTsG+YfFciuNDcHqm4csbAgC2aVZCHzLxMSUw== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.11.0" + "@typescript-eslint/types" "5.11.0" + "@typescript-eslint/typescript-estree" "5.11.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + "@typescript-eslint/visitor-keys@5.10.2": version "5.10.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.2.tgz#fdbf272d8e61c045d865bd6c8b41bea73d222f3d" @@ -3105,6 +3177,14 @@ "@typescript-eslint/types" "5.10.2" eslint-visitor-keys "^3.0.0" +"@typescript-eslint/visitor-keys@5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.11.0.tgz#888542381f1a2ac745b06d110c83c0b261487ebb" + integrity sha512-E8w/vJReMGuloGxJDkpPlGwhxocxOpSVgSvjiLO5IxZPmxZF30weOeJYyPSEACwM+X4NziYS9q+WkN/2DHYQwA== + dependencies: + "@typescript-eslint/types" "5.11.0" + eslint-visitor-keys "^3.0.0" + "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -9762,15 +9842,15 @@ react-error-overlay@^6.0.10: resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.10.tgz#0fe26db4fa85d9dbb8624729580e90e7159a59a6" integrity sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA== -react-hook-form@^7.26.0: - version "7.26.0" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.26.0.tgz#270ae0e7a27c01a57011efacd3d692c977eb1c5d" - integrity sha512-nSkCyJB5Ey5QUw3AGQp22JP7TNfPdyC4wqfmheH87NNsHhQwCZgGjexXdBfd7SRt4SHoVzbdPvu6kXG5sSs66Q== +react-hook-form@^7.26.1: + version "7.26.1" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.26.1.tgz#8f5c0aa81a452f5ebcb6a2d7253800011e735b1c" + integrity sha512-/Qw/7IsCCVfYSGryJAMcouEpIDgWZJPeHR15J0IFSgo1BgofcfnY+AeUDcYD1E3yzzXYpR7NHyJehhkBKvjdMg== -react-i18next@^11.15.3: - version "11.15.3" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.15.3.tgz#7608fb3cacc02ac75a62fc2d68b579f140b198dd" - integrity sha512-RSUEM4So3Tu2JHV0JsZ5Yje+4nz66YViMfPZoywxOy0xyn3L7tE2CHvJ7Y9LUsrTU7vGmZ5bwb8PpjnkatdIxg== +react-i18next@^11.15.4: + version "11.15.4" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.15.4.tgz#fe0c792ea93f038548e838cecae3ed4173822937" + integrity sha512-jKJNAcVcbPGK+yrTcXhLblgPY16n6NbpZZL3Mk8nswj1v3ayIiUBVDU09SgqnT+DluyQBS97hwSvPU5yVFG0yg== dependencies: "@babel/runtime" "^7.14.5" html-escaper "^2.0.2" @@ -10151,7 +10231,7 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.21.0: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -10964,10 +11044,10 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -tailwindcss@^3.0.18: - version "3.0.18" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.18.tgz#ea4825e6496d77dc21877b6b61c7cc56cda3add5" - integrity sha512-ihPTpEyA5ANgZbwKlgrbfnzOp9R5vDHFWmqxB1PT8NwOGCOFVVMl+Ps1cQQ369acaqqf1BEF77roCwK0lvNmTw== +tailwindcss@^3.0.19: + version "3.0.19" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.19.tgz#cd789953e6762af2e80c5a3e5d6da3a975ee8215" + integrity sha512-rjsdfz/qZya5xQ0OVynEMETgWq1CacmftgMYeXXh6bRM5vxsNwRSbMJsCCIjq/w67om9VP/AFMolOwiE+5VKig== dependencies: arg "^5.0.1" chalk "^4.1.2" @@ -10988,7 +11068,7 @@ tailwindcss@^3.0.18: postcss-selector-parser "^6.0.9" postcss-value-parser "^4.2.0" quick-lru "^5.1.1" - resolve "^1.21.0" + resolve "^1.22.0" tapable@^1.0.0: version "1.1.3"