From cd19824b625c2479c5056915e4c6ee1f5757bc6c Mon Sep 17 00:00:00 2001 From: = <=> Date: Tue, 1 Dec 2020 22:22:36 +0100 Subject: [PATCH] Add daily stats and redesing meal list --- package.json | 4 - src/assets/logo.svg | 4 + src/components/BarcodeScanner/index.js | 4 +- src/components/DailyStats/index.js | 61 ++++ src/components/ListMeal/index.js | 39 +++ src/components/MacronutrientsChart/index.js | 51 ++++ src/components/MacronutrientsDetails/index.js | 40 +++ src/components/MenuList/index.js | 106 ++----- src/components/Navbar/index.js | 4 +- src/components/RadialChart/index.js | 66 +++++ src/components/ScrollableTabs/index.js | 128 +++++++- src/components/TabPanel/index.js | 2 +- src/pages/Home/index.js | 52 +++- src/utils/loadable.js | 13 + src/utils/theme.js | 2 +- yarn.lock | 275 +----------------- 16 files changed, 476 insertions(+), 375 deletions(-) create mode 100644 src/assets/logo.svg create mode 100644 src/components/DailyStats/index.js create mode 100644 src/components/ListMeal/index.js create mode 100644 src/components/MacronutrientsChart/index.js create mode 100644 src/components/MacronutrientsDetails/index.js create mode 100644 src/components/RadialChart/index.js create mode 100644 src/utils/loadable.js diff --git a/package.json b/package.json index c3473b0..c79622c 100644 --- a/package.json +++ b/package.json @@ -5,15 +5,12 @@ "dependencies": { "@material-ui/core": "^4.11.1", "@material-ui/icons": "^4.9.1", - "@tailwindcss/forms": "^0.2.1", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", "@zxing/library": "^0.18.3", "add": "^2.0.6", - "autoprefixer": "^10.0.4", "lodash": "^4.17.20", - "postcss": "^8.1.10", "prop-types": "^15.7.2", "react": "^17.0.1", "react-dom": "^17.0.1", @@ -26,7 +23,6 @@ "redux": "^4.0.5", "redux-saga": "^1.1.3", "reselect": "^4.0.0", - "tailwindcss": "^2.0.1", "web-vitals": "^0.2.4", "yarn": "^1.22.10" }, diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 0000000..4b9393f --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/components/BarcodeScanner/index.js b/src/components/BarcodeScanner/index.js index 5db1010..e4fce2c 100644 --- a/src/components/BarcodeScanner/index.js +++ b/src/components/BarcodeScanner/index.js @@ -23,14 +23,14 @@ const BarcodeScanner = ({ .catch(onError) } }, - [onUpdate] + [onUpdate, onError] ) useEffect(() => { const id = setInterval(capture, 500) return () => clearInterval(id) - }, []); + }); return ( ({ + root: { + paddingTop: theme.spacing(2), + paddingBottom: theme.spacing(2), + }, + subtitle: { + color: grey[400] + } +})) + +const DailyStats = ({ caloriesLeft, macronutrients }) => { + const classes = useStyles() + + return ( + + + + + Calories left + + + {caloriesLeft} kcal + + + + {macronutrients.map(({ current, max, label, color }, index) => ( + + ))} + + + + ) +} + +DailyStats.propTypes = { + caloriesLeft: PropTypes.number.isRequired, + macronutrients: PropTypes.arrayOf(PropTypes.shape({ + current: PropTypes.number.isRequired, + max: PropTypes.number.isRequired, + label: PropTypes.string.isRequired, + color: PropTypes.string.isRequired, + })).isRequired +} + +export default DailyStats diff --git a/src/components/ListMeal/index.js b/src/components/ListMeal/index.js new file mode 100644 index 0000000..9060a1d --- /dev/null +++ b/src/components/ListMeal/index.js @@ -0,0 +1,39 @@ +import {IconButton, List, ListItem, ListItemText} from "@material-ui/core"; +import PropTypes from 'prop-types' +import {Close} from "@material-ui/icons"; +import React from "react"; +import MacronutrientsDetails from "components/MacronutrientsDetails"; + +const ListMeal = ({ name, macronutrients }) => { + const handleClick = () => { + console.log('remove item, Meal component') + } + + return ( + + + + } + /> + + + + + + ) +} + +ListMeal.propTypes = { + name: PropTypes.string.isRequired, + macronutrients: PropTypes.arrayOf(PropTypes.shape({ + value: PropTypes.number.isRequired, + unit: PropTypes.string.isRequired, + })).isRequired, +} + +export default ListMeal diff --git a/src/components/MacronutrientsChart/index.js b/src/components/MacronutrientsChart/index.js new file mode 100644 index 0000000..7d3ff1a --- /dev/null +++ b/src/components/MacronutrientsChart/index.js @@ -0,0 +1,51 @@ +import {Grid, Typography} from "@material-ui/core"; +import { makeStyles} from '@material-ui/core/styles' +import PropTypes from "prop-types"; +import React from "react"; +import RadialChart from "../RadialChart"; + +const useStyles = makeStyles((theme) => ({ + root: { + padding: theme.spacing(2), + width: 'auto' + }, + chart: { + paddingRight: theme.spacing(1) + } +})) + +const MacronutrientsChart = ({ max, current, label, color }) => { + const classes = useStyles() + + const progress = current / max * 100 + const macronutrientsLeft = max - current; + + return ( + + + + + {label} + + + {macronutrientsLeft}g + + + + ) +} + +MacronutrientsChart.propTypes = { + max: PropTypes.number.isRequired, + current: PropTypes.number.isRequired, + label: PropTypes.string.isRequired, + color: PropTypes.string.isRequired, +} + +export default MacronutrientsChart diff --git a/src/components/MacronutrientsDetails/index.js b/src/components/MacronutrientsDetails/index.js new file mode 100644 index 0000000..627c833 --- /dev/null +++ b/src/components/MacronutrientsDetails/index.js @@ -0,0 +1,40 @@ +import {makeStyles} from "@material-ui/core/styles"; +import {Chip, Grid} from "@material-ui/core"; +import PropTypes from "prop-types"; +import React from "react"; + +const useStyles = makeStyles((theme) => ({ + chip: { + marginTop: theme.spacing(1), + '&:not(:last-child)': { + marginRight: theme.spacing(1), + } + } +})) + +const MacronutrientsDetails = ({ macronutrients }) => { + const classes = useStyles() + + return ( + + {macronutrients.map(({ value, unit }, index) => ( + + ))} + + ) +} + +MacronutrientsDetails.propTypes = { + macronutrients: PropTypes.arrayOf(PropTypes.shape({ + value: PropTypes.number.isRequired, + unit: PropTypes.string.isRequired, + })).isRequired, +} + +export default MacronutrientsDetails diff --git a/src/components/MenuList/index.js b/src/components/MenuList/index.js index bec94d0..8f8e956 100644 --- a/src/components/MenuList/index.js +++ b/src/components/MenuList/index.js @@ -1,87 +1,37 @@ -import React from 'react'; -import { makeStyles } from '@material-ui/core/styles' -import {List, ListItem, ListItemSecondaryAction, ListItemText, IconButton, Box, Typography} from '@material-ui/core'; -import { Add as AddIcon } from '@material-ui/icons'; +import React, { useState } from 'react'; +import {List, ListItem, Collapse, ListItemText} from '@material-ui/core'; +import {ExpandLess, ExpandMore} from '@material-ui/icons'; +import MacronutrientsDetails from 'components/MacronutrientsDetails' +import ListMeal from 'components/ListMeal' -const ITEMS = [ - { - calories: 0, - proteins: 0, - fats: 0, - carbohydrates: 0, - mealName: 'breakfast', - meals: [] - }, - { - calories: 0, - proteins: 0, - fats: 0, - carbohydrates: 0, - mealName: 'lunch', - meals: [] - }, - { - calories: 0, - proteins: 0, - fats: 0, - carbohydrates: 0, - mealName: 'dinner', - meals: [] - }, - { - calories: 0, - proteins: 0, - fats: 0, - carbohydrates: 0, - mealName: 'supper', - meals: [] - } -] +const MenuList = ({ list }) => { + const [openListName, setOpenListName] = useState({}); + const handleClick = (listName) => { + const isOpen = openListName[listName] -const useStyles = makeStyles((theme) => ({ - root: { - display: 'flex', - alignItems: 'center', - justifyContent: 'space-between', - paddingRight: theme.spacing(2) - }, -})); - -const Macronutrients = ({ calories, proteins, fats, carbohydrates }) => { - const classes = useStyles() - - const macronutrients = [ - calories, proteins, fats, carbohydrates - ] - - return ( - - {macronutrients.map((value, index) => ( - - {value}{' '}{index === 0 ? 'kcal' : 'g'} - - ))} - - ) -} - -const MenuList = ({ items }) => { + setOpenListName(prev => ({ + ...prev, + [listName]: !isOpen + })); + }; return ( - {ITEMS.map(({calories, proteins, fats, carbohydrates, mealName, meals}, index) => ( - - } - /> - - - - - - + {list.map(({ listName, macronutrients, meals }, index) => ( +
+ handleClick(listName)}> + } /> + {openListName[listName] ? : } + + {meals.length ? ( + + {meals.map(({ name, macronutrients }, index) => ( + + ))} + + ) : null } +
))}
); diff --git a/src/components/Navbar/index.js b/src/components/Navbar/index.js index fb70d2b..fb8e637 100644 --- a/src/components/Navbar/index.js +++ b/src/components/Navbar/index.js @@ -20,9 +20,9 @@ const Navbar = () => { const classes = useStyles() return ( - + - + diff --git a/src/components/RadialChart/index.js b/src/components/RadialChart/index.js new file mode 100644 index 0000000..b595c9b --- /dev/null +++ b/src/components/RadialChart/index.js @@ -0,0 +1,66 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { makeStyles } from '@material-ui/core/styles' + +const useStyles = makeStyles((theme) => ({ + root: { + position: `relative`, + display: `inline-block`, + transition: `all 0.3s ease-in` + }, + total: { + opacity: 0.3, + }, + progress: { + transform: `rotate(90deg)`, + transformOrigin: `center`, + transition: `all 0.6s cubic-bezier(0.58, 0.16, 0.5, 1.14)`, + transitionDelay: `0.3s`, + } +})) + +const RadialChart = ({ progress, color, width, height, className }) => { + const classes = useStyles() + + const circleRadius = 80; + const circumference = 2 * 3.14 * circleRadius; + const strokeLength = circumference / 100 * progress; + + return ( +
+ + + + +
+ ) +} + +RadialChart.propTypes = { + progress: PropTypes.number.isRequired, + color: PropTypes.string.isRequired, + width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired, + height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired, +}; + +export default RadialChart; diff --git a/src/components/ScrollableTabs/index.js b/src/components/ScrollableTabs/index.js index 7aaf63f..5157135 100644 --- a/src/components/ScrollableTabs/index.js +++ b/src/components/ScrollableTabs/index.js @@ -1,9 +1,115 @@ import React, {useState} from "react"; import PropTypes from "prop-types"; import { Box, Tab, Tabs } from "@material-ui/core"; +import {makeStyles} from "@material-ui/core/styles"; import TabLabel from 'components/TabLabel'; import TabPanel from 'components/TabPanel'; +import MenuList from 'components/MenuList' + +const ITEMS = [ + { + macronutrients: [ + { + value: 1245, + unit: ' kcal', + }, + { + value: 228.6, + unit: 'g', + }, + { + value: 227.0, + unit: 'g', + }, + { + value: 127.0, + unit: 'g', + }, + ], + listName: 'BREAKFAST', + meals: [ + { + name: 'eggs', + macronutrients: [ + { + value: 1245, + unit: ' kcal', + }, + { + value: 228.6, + unit: 'g', + }, + { + value: 227.0, + unit: 'g', + }, + { + value: 127.0, + unit: 'g', + }, + ], + }, + { + name: 'bread', + macronutrients: [ + { + value: 1245, + unit: ' kcal', + }, + { + value: 228.6, + unit: 'g', + }, + { + value: 227.0, + unit: 'g', + }, + { + value: 127.0, + unit: 'g', + }, + ], + }, + { + name: 'corn flakes', + macronutrients: [ + { + value: 1245, + unit: ' kcal', + }, + { + value: 228.6, + unit: 'g', + }, + { + value: 227.0, + unit: 'g', + }, + { + value: 127.0, + unit: 'g', + }, + ], + } + ] + }, + { + macronutrients: [], + listName: 'LUNCH', + meals: [] + }, + { + macronutrients: [], + listName: 'DINNER', + meals: [] + }, + { + macronutrients: [], + listName: 'SUPPER', + meals: [] + } +] const a11yProps = (index) => { return { @@ -12,7 +118,15 @@ const a11yProps = (index) => { }; } -const ScrollableTabs = ({ tabs, panels }) => { +const useStyles = makeStyles((theme) => ({ + tab: { + width: `100%` + } +})) + +const ScrollableTabs = ({ tabs }) => { + const classes = useStyles() + const [value, setValue] = useState(0); const handleChange = (event, newValue) => { @@ -25,21 +139,22 @@ const ScrollableTabs = ({ tabs, panels }) => { value={value} onChange={handleChange} variant="scrollable" - scrollButtons="desktop" indicatorColor="primary" + scrollButtons="on" > {tabs.map((label, index) => ( } {...a11yProps(index)} /> ))} - {panels.map((Component, index) => ( - - + {tabs.map((_, index) => ( + + ))} @@ -49,7 +164,6 @@ const ScrollableTabs = ({ tabs, panels }) => { ScrollableTabs.propTypes = { tabs: PropTypes.arrayOf(PropTypes.string).isRequired, - panels: PropTypes.arrayOf(PropTypes.node).isRequired } export default ScrollableTabs diff --git a/src/components/TabPanel/index.js b/src/components/TabPanel/index.js index cf33f99..0ff834b 100644 --- a/src/components/TabPanel/index.js +++ b/src/components/TabPanel/index.js @@ -21,7 +21,7 @@ const TabPanel = ({ children, value, index, ...other }) => { } TabPanel.propTypes = { - children: PropTypes.node, + children: PropTypes.node.isRequired, index: PropTypes.any.isRequired, value: PropTypes.any.isRequired, }; diff --git a/src/pages/Home/index.js b/src/pages/Home/index.js index 6988f80..2f7b4b6 100644 --- a/src/pages/Home/index.js +++ b/src/pages/Home/index.js @@ -1,13 +1,11 @@ import React from 'react'; import {makeStyles} from "@material-ui/core/styles"; import { Container, Grid, Paper } from '@material-ui/core'; - import ScrollableTabs from 'components/ScrollableTabs'; -import MenuList from 'components/MenuList' - -let i = 1 -const TABS = Array.from({ length: 30 }, () => i++) -const PANELS = Array.from({ length: 30 }, () => MenuList) +import DailyStats from 'components/DailyStats' +import purple from "@material-ui/core/colors/purple"; +import amber from "@material-ui/core/colors/amber"; +import blue from "@material-ui/core/colors/blue"; const useStyles = makeStyles((theme) => ({ root: { @@ -18,26 +16,50 @@ const useStyles = makeStyles((theme) => ({ }, })); +const CALORIESLEFT = 1234 + + + +const MACRONUTRIENTS = [ + { + current: 123, + max: 250, + label: 'Carbs', + color: purple[500], + }, + { + current: 35, + max: 250, + label: 'Fat', + color: amber[500], + }, + { + current: 210, + max: 250, + label: 'Protein', + color: blue[500], + }, +] + +let i = 1 +const TABS = Array.from({ length: 30 }, () => `${i++}`) const HomePage = () => { const classes = useStyles() return ( - - + + - + - + + Hello world - - - - Hello world - + diff --git a/src/utils/loadable.js b/src/utils/loadable.js new file mode 100644 index 0000000..ec78a64 --- /dev/null +++ b/src/utils/loadable.js @@ -0,0 +1,13 @@ +import React, { lazy, Suspense } from 'react'; + +const loadable = (importFunc, { fallback = null } = { fallback: null }) => { + const LazyComponent = lazy(importFunc); + + return props => ( + + + + ); +}; + +export default loadable; diff --git a/src/utils/theme.js b/src/utils/theme.js index 472743d..606bd8c 100644 --- a/src/utils/theme.js +++ b/src/utils/theme.js @@ -4,7 +4,7 @@ export const theme = createMuiTheme({ palette: { type: 'dark', primary: { - main: '#512da8', + main: '#33CC0D', }, secondary: { main: '#40c4ff', diff --git a/yarn.lock b/yarn.lock index 0844327..ca58d2e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1054,14 +1054,6 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@fullhuman/postcss-purgecss@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.0.0.tgz#e39bf7a7d2a2c664ed151b639785b2efcbca33ff" - integrity sha512-cvuOgMwIVlfgWcUMqg5p33NbGUxLwMrKtDKkm3QRfOo4PRVNR6+y/xd9OyXTVZiB1bIpKNJ0ZObYPWD3DRQDtw== - dependencies: - postcss "7.0.32" - purgecss "^3.0.0" - "@hapi/address@2.x.x": version "2.1.4" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" @@ -1600,13 +1592,6 @@ "@svgr/plugin-svgo" "^5.4.0" loader-utils "^2.0.0" -"@tailwindcss/forms@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.2.1.tgz#3244b185854fae1a7cbe8d2456314d8b2d98cf43" - integrity sha512-czfvEdY+J2Ogfd6RUSr/ZSUmDxTujr34M++YLnp2cCPC3oJ4kFvFMaRXA6cEXKw7F1hJuapdjXRjsXIEXGgORg== - dependencies: - mini-svg-data-uri "^1.2.3" - "@testing-library/dom@^7.28.1": version "7.28.1" resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-7.28.1.tgz#dea78be6e1e6db32ddcb29a449e94d9700c79eb9" @@ -2189,16 +2174,7 @@ acorn-jsx@^5.2.0: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.0, acorn-walk@^7.1.1: +acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== @@ -2208,7 +2184,7 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.0.0, acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -2516,18 +2492,6 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^10.0.4: - version "10.0.4" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.0.4.tgz#f87ac6105d7861e31af794b8ebb1c6d4390d3d55" - integrity sha512-hmjYejN/WTyPP9cdNmiwtwqM8/ACVJPD5ExtwoOceQohNbgnFNiwpL2+U4bXS8aXozBL00WvH6WhqbuHf0Fgfg== - dependencies: - browserslist "^4.14.7" - caniuse-lite "^1.0.30001161" - colorette "^1.2.1" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss-value-parser "^4.1.0" - autoprefixer@^9.6.1: version "9.8.6" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" @@ -2966,17 +2930,6 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.6.2, browserslist@^4. escalade "^3.1.0" node-releases "^1.1.61" -browserslist@^4.14.7: - version "4.14.7" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" - integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== - dependencies: - caniuse-lite "^1.0.30001157" - colorette "^1.2.1" - electron-to-chromium "^1.3.591" - escalade "^3.1.1" - node-releases "^1.1.66" - bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -3023,7 +2976,7 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -bytes@3.1.0, bytes@^3.0.0: +bytes@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== @@ -3119,11 +3072,6 @@ camel-case@^4.1.1: pascal-case "^3.1.1" tslib "^1.10.0" -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -3154,11 +3102,6 @@ caniuse-lite@^1.0.30001125: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz#bebde28f893fa9594dadcaa7d6b8e2aa0299df20" integrity sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA== -caniuse-lite@^1.0.30001157, caniuse-lite@^1.0.30001161: - version "1.0.30001161" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001161.tgz#64f7ffe79ee780b8c92843ff34feb36cea4651e0" - integrity sha512-JharrCDxOqPLBULF9/SPa6yMcBRTjZARJ6sc3cuKrPfyIk64JN6kuMINWqA99Xc8uElMFcROliwtz0n9pYej+g== - capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -3426,7 +3369,7 @@ color-string@^1.5.4: color-name "^1.0.0" simple-swizzle "^0.2.2" -color@^3.0.0, color@^3.1.3: +color@^3.0.0: version "3.1.3" resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== @@ -3456,11 +3399,6 @@ commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" - integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== - common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -3815,11 +3753,6 @@ css-tree@1.0.0-alpha.39: mdn-data "2.0.6" source-map "^0.6.1" -css-unit-converter@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" - integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== - css-vendor@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" @@ -4181,11 +4114,6 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= - del@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" @@ -4240,20 +4168,6 @@ detect-port-alt@1.1.6: address "^1.0.1" debug "^2.6.0" -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - -didyoumean@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" - integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= - diff-sequences@^26.5.0: version "26.5.0" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.5.0.tgz#ef766cf09d43ed40406611f11c6d8d9dd8b2fefd" @@ -4470,11 +4384,6 @@ electron-to-chromium@^1.3.571: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.583.tgz#47a9fde74740b1205dba96db2e433132964ba3ee" integrity sha512-L9BwLwJohjZW9mQESI79HRzhicPk1DFgM+8hOCfGgGCFEcA3Otpv7QK6SGtYoZvfQfE3wKLh0Hd5ptqUFv3gvQ== -electron-to-chromium@^1.3.591: - version "1.3.610" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.610.tgz#1254eb394acd220a836ea1f203f8cded4e487052" - integrity sha512-eFDC+yVQpEhtlapk4CYDPfV9ajF9cEof5TBcO49L1ETO+aYogrKWDmYpZyxBScMNe8Bo/gJamH4amQ4yyvXg4g== - elliptic@^6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" @@ -4647,7 +4556,7 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -escalade@^3.0.2, escalade@^3.1.0, escalade@^3.1.1: +escalade@^3.0.2, escalade@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== @@ -5513,7 +5422,7 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5790,11 +5699,6 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== - html-webpack-plugin@4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" @@ -6194,13 +6098,6 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" -is-core-module@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -7389,11 +7286,6 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= -lodash.toarray@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" - integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -7652,11 +7544,6 @@ mini-css-extract-plugin@0.11.3: schema-utils "^1.0.0" webpack-sources "^1.1.0" -mini-svg-data-uri@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.2.3.tgz#e16baa92ad55ddaa1c2c135759129f41910bc39f" - integrity sha512-zd6KCAyXgmq6FV1mR10oKXYtvmA9vRoB6xPSTUJTbFApCtkefDnYueVR1gkof3KcdLZo1Y8mjF2DFmQMIxsHNQ== - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -7759,11 +7646,6 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -modern-normalize@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.0.0.tgz#539d84a1e141338b01b346f3e27396d0ed17601e" - integrity sha512-1lM+BMLGuDfsdwf3rsgBSrxJwAZHFIrQ8YR61xIqdHo0uNKI9M52wNpHSrliZATJp51On6JD0AfRxd4YGSU0lw== - move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -7819,11 +7701,6 @@ nanoid@^3.1.15: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.15.tgz#28e7c4ce56aff2d0c2d37814c7aef9d6c5b3e6f3" integrity sha512-n8rXUZ8UU3lV6+43atPrSizqzh25n1/f00Wx1sCiE7R1sSHytZLTTiQl8DjC4IDLOnEZDlgJhy0yO4VsIpMxow== -nanoid@^3.1.18: - version "3.1.18" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.18.tgz#0680db22ab01c372e89209f5d18283d98de3e96d" - integrity sha512-rndlDjbbHbcV3xi+R2fpJ+PbGMdfBxz5v1fATIQFq0DP64FsicQdwnKLy47K4kZHdRpmQXtz24eGsxQqamzYTA== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -7881,13 +7758,6 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" -node-emoji@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" - integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== - dependencies: - lodash.toarray "^4.4.0" - node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -7949,11 +7819,6 @@ node-releases@^1.1.61: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.64.tgz#71b4ae988e9b1dd7c1ffce58dd9e561752dfebc5" integrity sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg== -node-releases@^1.1.66: - version "1.1.67" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" - integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== - normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -8046,11 +7911,6 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-hash@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" - integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== - object-inspect@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" @@ -8755,16 +8615,6 @@ postcss-font-variant@^4.0.0: dependencies: postcss "^7.0.2" -postcss-functions@^3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e" - integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4= - dependencies: - glob "^7.1.2" - object-assign "^4.1.1" - postcss "^6.0.9" - postcss-value-parser "^3.3.0" - postcss-gap-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" @@ -8788,14 +8638,6 @@ postcss-initial@^3.0.0: lodash.template "^4.5.0" postcss "^7.0.2" -postcss-js@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-3.0.3.tgz#2f0bd370a2e8599d45439f6970403b5873abda33" - integrity sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw== - dependencies: - camelcase-css "^2.0.1" - postcss "^8.1.6" - postcss-lab-function@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" @@ -8932,13 +8774,6 @@ postcss-modules-values@^3.0.0: icss-utils "^4.0.0" postcss "^7.0.6" -postcss-nested@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.1.tgz#e7a77f7a806a09c8de0f2c163d8e3d09f00f3139" - integrity sha512-ZHNSAoHrMtbEzjq+Qs4R0gHijpXc6F1YUv4TGmGaz7rtfMvVJBbu5hMOH+CrhEaljQpEmx5N/P8i1pXTkbVAmg== - dependencies: - postcss-selector-parser "^6.0.4" - postcss-nesting@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" @@ -9188,7 +9023,7 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== @@ -9217,7 +9052,7 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0: +postcss-value-parser@^3.0.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== @@ -9245,24 +9080,6 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@7.0.32: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^6.0.9: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.35" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" @@ -9282,16 +9099,6 @@ postcss@^8.1.0: nanoid "^3.1.15" source-map "^0.6.1" -postcss@^8.1.10, postcss@^8.1.6: - version "8.1.10" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.10.tgz#129834f94c720554d2cfdaeb27d5542ac4a026ea" - integrity sha512-iBXEV5VTTYaRRdxiFYzTtuv2lGMQBExqkZKSzkJe+Fl6rvQrA/49UVGKqB+LG54hpW/TtDBMGds8j33GFNW7pg== - dependencies: - colorette "^1.2.1" - nanoid "^3.1.18" - source-map "^0.6.1" - vfile-location "^3.2.0" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9340,11 +9147,6 @@ pretty-format@^26.6.0, pretty-format@^26.6.1: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-hrtime@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - 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" @@ -9459,16 +9261,6 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -purgecss@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-3.0.0.tgz#039c191871bb999894222a00c4c8b179fccdb043" - integrity sha512-t3FGCwyX9XWV3ffvnAXTw6Y3Z9kNlcgm14VImNK66xKi5sdqxSA2I0SFYxtmZbAKuIZVckPdazw5iKL/oY/2TA== - dependencies: - commander "^6.0.0" - glob "^7.0.0" - postcss "7.0.32" - postcss-selector-parser "^6.0.2" - q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -9920,14 +9712,6 @@ reduce-css-calc@^1.3.0: math-expression-evaluator "^1.2.14" reduce-function-call "^1.0.1" -reduce-css-calc@^2.1.6: - version "2.1.7" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.7.tgz#1ace2e02c286d78abcd01fd92bfe8097ab0602c2" - integrity sha512-fDnlZ+AybAS3C7Q9xDq5y8A2z+lT63zLbynew/lur/IR24OQF5x98tfNwf79mzEdfywZ0a2wpM860FhFfMxZlA== - dependencies: - css-unit-converter "^1.1.1" - postcss-value-parser "^3.3.0" - reduce-function-call@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.3.tgz#60350f7fb252c0a67eb10fd4694d16909971300f" @@ -10190,14 +9974,6 @@ resolve@1.18.1, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14 is-core-module "^2.0.0" path-parse "^1.0.6" -resolve@^1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -11090,7 +10866,7 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -supports-color@^5.3.0, supports-color@^5.4.0: +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== @@ -11163,32 +10939,6 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tailwindcss@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.0.1.tgz#8d336917819341d1018208e8b3ed8cbc46e6b643" - integrity sha512-57G3jdcVBWTPkHCNSAfDAo1Qp2Nkr4H6WnLD0luNFh1td+KwQp9FOVcqj0SYBH6qwVQJawzT+0/zLxzKmyznGw== - dependencies: - "@fullhuman/postcss-purgecss" "^3.0.0" - bytes "^3.0.0" - chalk "^4.1.0" - color "^3.1.3" - detective "^5.2.0" - didyoumean "^1.2.1" - fs-extra "^9.0.1" - html-tags "^3.1.0" - lodash "^4.17.20" - modern-normalize "^1.0.0" - node-emoji "^1.8.1" - object-hash "^2.0.3" - postcss-functions "^3" - postcss-js "^3.0.3" - postcss-nested "^5.0.1" - postcss-selector-parser "^6.0.4" - postcss-value-parser "^4.1.0" - pretty-hrtime "^1.0.3" - reduce-css-calc "^2.1.6" - resolve "^1.19.0" - tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -11802,11 +11552,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vfile-location@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" - integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== - vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" @@ -12278,7 +12023,7 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: +xtend@^4.0.0, 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==