From 9429bb28875205109688dcd1e9c92ccf1e7fe037 Mon Sep 17 00:00:00 2001 From: sandra Date: Wed, 28 Sep 2022 15:47:21 +0200 Subject: [PATCH 01/23] feat: TeamEditorDrawerHeader --- .../src/components/base/ColorModeToggle.tsx | 70 +++++++++-- .../src/components/base/IconSwitch.tsx | 30 +++++ .../theme-editor/ThemeEditorDrawerHeader.tsx | 110 ++++++++++++------ 3 files changed, 166 insertions(+), 44 deletions(-) diff --git a/packages/chakra-ui-core/src/components/base/ColorModeToggle.tsx b/packages/chakra-ui-core/src/components/base/ColorModeToggle.tsx index a875cde..0d939f8 100644 --- a/packages/chakra-ui-core/src/components/base/ColorModeToggle.tsx +++ b/packages/chakra-ui-core/src/components/base/ColorModeToggle.tsx @@ -1,7 +1,18 @@ -import { Stack, Text, useColorMode, StackProps, ThemingProps } from '@chakra-ui/react' +import { + Stack, + Text, + useColorMode, + StackProps, + ThemingProps, + Tabs, + TabList, + Tab, + Icon, + HStack, +} from '@chakra-ui/react' import React, { FC } from 'react' -import { FaSun } from 'react-icons/fa' -import { RiMoonClearFill } from 'react-icons/ri' +import { ImSun } from 'react-icons/im' +import { RiMoonClearLine } from 'react-icons/ri' import { IconSwitch } from './IconSwitch' type ColorModeToggleProps = { @@ -12,7 +23,8 @@ type ColorModeToggleProps = { const ColorModeToggle: FC = (props) => { const { size = 'md', showLabel, colorScheme = 'gray', fontSize, ...rest } = props - const { colorMode, toggleColorMode } = useColorMode() + const { colorMode, setColorMode } = useColorMode() + const colorModeValues = ['light', 'dark'] return ( = (props) => { {colorMode} )} - + /> */} + setColorMode(colorModeValues[index])} + variant="unstyled" + boxShadow="0px 4px 8px rgba(0, 0, 0, 0.05), 0px 0px 1px rgba(0, 0, 0, 0.2)" + borderRadius="md" + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + p={0.5} + > + + {colorModeValues.map((value) => ( + + + + ))} + + ) } diff --git a/packages/chakra-ui-core/src/components/base/IconSwitch.tsx b/packages/chakra-ui-core/src/components/base/IconSwitch.tsx index 4ec54a1..260b259 100644 --- a/packages/chakra-ui-core/src/components/base/IconSwitch.tsx +++ b/packages/chakra-ui-core/src/components/base/IconSwitch.tsx @@ -80,6 +80,7 @@ export const IconSwitch = forwardRef((props, ref) => { justifyContent: 'center', d: 'flex', ...styles.thumb, + bgColor: props.value == 'light' ? 'gray.100' : 'gray.800', }), [styles.thumb] ) @@ -134,3 +135,32 @@ export const IconSwitch = forwardRef((props, ref) => { ) }) + +{ + /* + + + + {!state.isChecked ? ( + + ) : ( + + )} + + + {children && ( + + {children} + + )} + */ +} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx index 94bff7b..901c94e 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx @@ -9,10 +9,13 @@ import { ButtonGroup, Button, useColorModeValue, + HStack, + useColorMode, + Heading, } from '@chakra-ui/react' import { FaRedo } from 'react-icons/fa' import { MdClose } from 'react-icons/md' -import { RiArrowGoBackFill, RiArrowGoForwardFill } from 'react-icons/ri' +import { BsArrow90DegLeft, BsArrow90DegRight } from 'react-icons/bs' import { useRecoilState } from 'recoil' import { ThemeIcon, ColorModeToggle } from '../base' import { setThemeTokens } from '../../utils/updateThemeTokens' @@ -30,8 +33,8 @@ export const ThemeEditorDrawerHeader: FC = ({ const { canUndo, canRedo, undo, redo } = useThemeEditor() const [kitThemeState, setThemeState] = useRecoilState(themeEditorState) const shadow = useColorModeValue('surface', 'surfaceDark') - const bgColor = useColorModeValue('whiteAlpha.600', 'gray.900') - + const bgColor = useColorModeValue('white', 'gray.900') + const { colorMode } = useColorMode() const handleResetTheme = useCallback(() => { setThemeState({ ...kitThemeState, @@ -46,22 +49,28 @@ export const ThemeEditorDrawerHeader: FC = ({ {/* button as first element to let autofocus on open */} @@ -71,12 +80,11 @@ export const ThemeEditorDrawerHeader: FC = ({ backgroundColor={bgColor} pl={{ base: 3, lg: 6 }} pr={{ base: '75px', lg: '100px' }} - py={{ base: 2, lg: 3 }} - shadow="sm" + py={{ base: 0, lg: 6 }} > - - + + {/* = ({ fontSize="1rem" bg="transparent" > */} - Hyper Theme + + Hyper Theme + {/* */} - + - + */} {/* = ({ Reset theme */} - - + + - - - } - aria-label="undo" - disabled={!canUndo} - onClick={undo} - /> - - - } - aria-label="redo" - disabled={!canRedo} - onClick={redo} - /> - ) From ae3266b524cf84aba7bcbe934f3f8a2714399db9 Mon Sep 17 00:00:00 2001 From: sandra Date: Thu, 29 Sep 2022 09:16:03 +0200 Subject: [PATCH 02/23] feat: ThemeEditorDrawerFooter --- .../theme-editor/ThemeDownloadButton.tsx | 8 ++++-- .../theme-editor/ThemeEditorDrawerFooter.tsx | 24 ++++++++++------- .../theme-editor/ThemeEditorDrawerHeader.tsx | 27 ++++++++++++------- 3 files changed, 37 insertions(+), 22 deletions(-) diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx index 73e600b..87cc3bd 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx @@ -10,6 +10,8 @@ import { Box, } from '@chakra-ui/react' import { FaChevronDown, FaDownload } from 'react-icons/fa' +import { HiArrowDown } from 'react-icons/hi' + import { SiJavascript, SiTypescript } from 'react-icons/si' import BaseMenu from '../base/BaseMenu' import BaseMenuItem from '../base/BaseMenuItem' @@ -109,16 +111,18 @@ const ThemeDownloadMenuButton = ({ downloading = false, ...rest }) => { return ( ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx index 5f7e606..f4cf7d1 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx @@ -1,4 +1,4 @@ -import { DrawerFooter, Button, useColorModeValue } from '@chakra-ui/react' +import { Flex } from '@chakra-ui/react' import React, { FC } from 'react' import { ThemeDownloadButton } from '.' @@ -12,18 +12,24 @@ export const ThemeEditorDrawerFooter: FC = ({ isMobile, actionButton = , }) => { - const bgColor = useColorModeValue('whiteAlpha.600', 'gray.900') + // const bgColor = useColorModeValue('whiteAlpha.600', 'gray.900') return ( - + {actionButton} + + ) +} + +/* + - {actionButton} - - ) -} + */ diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx index 901c94e..6ae37b9 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx @@ -13,7 +13,7 @@ import { useColorMode, Heading, } from '@chakra-ui/react' -import { FaRedo } from 'react-icons/fa' +import { BsArrowClockwise } from 'react-icons/bs' import { MdClose } from 'react-icons/md' import { BsArrow90DegLeft, BsArrow90DegRight } from 'react-icons/bs' import { useRecoilState } from 'recoil' @@ -103,8 +103,8 @@ export const ThemeEditorDrawerHeader: FC = ({ Hyper Theme {/* */} - - + + = ({ _focus={{ border: 'none' }} /> - {/* */} + fontSize="15px" + size="sm" + height="27px" + w="10px" + variant="outline" + border="none" + color={colorMode == 'light' ? 'gray.600' : 'gray.100'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + _focus={{ border: 'none' }} + boxShadow="0px 4px 8px rgba(0, 0, 0, 0.05), 0px 0px 1px rgba(0, 0, 0, 0.2)" + /> {/* Date: Fri, 30 Sep 2022 11:06:31 +0200 Subject: [PATCH 03/23] update:stepper on principal accordion --- package.json | 5 +- .../chakra-ui-colors/src/StepperContainer.tsx | 37 + .../src/ThemeEditorColors.tsx | 437 +-- .../theme-editor/ThemeEditorAccordionItem.tsx | 3 +- yarn.lock | 2465 ++++++++++++++++- 5 files changed, 2672 insertions(+), 275 deletions(-) create mode 100644 packages/chakra-ui-colors/src/StepperContainer.tsx diff --git a/package.json b/package.json index 11bc338..b62e470 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "babel-eslint": "10.1.0", "babel-jest": "^27.3.1", "babel-loader": "^8.2.2", + "chakra-ui-steps": "^1.7.4", "cpy-cli": "^3.1.1", "enzyme": "^3.11.0", "enzyme-to-json": "^3.6.2", @@ -91,7 +92,9 @@ "test-watch": "yarn test-watch:unit", "test": "yarn test:unit" }, - "devDependencies": {}, + "devDependencies": { + "lerna": "^5.5.2" + }, "release-it": { "plugins": { "release-it-yarn-workspaces": true, diff --git a/packages/chakra-ui-colors/src/StepperContainer.tsx b/packages/chakra-ui-colors/src/StepperContainer.tsx new file mode 100644 index 0000000..0c6f9a3 --- /dev/null +++ b/packages/chakra-ui-colors/src/StepperContainer.tsx @@ -0,0 +1,37 @@ + + +import React, { FC } from "react"; +import { Box as PseudoBox, calc } from '@chakra-ui/react' + + +type Props = { + +} + +export const StepperContainer: FC = (props) => { + return ( + {props.children} + + + + ) +} + + + + + + + + + diff --git a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx index 3c656e8..6ee184e 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx @@ -2,224 +2,241 @@ import React, { FC, useCallback, useMemo } from 'react' import { Accordion } from '@chakra-ui/react' import { CgColorPicker } from 'react-icons/cg' import { - useThemeEditor, - ThemeEditorAccordionItem, - EmptyBox, - themeColorKeys, - ThemeEditorRootPanelProps, + useThemeEditor, + ThemeEditorAccordionItem, + EmptyBox, + themeColorKeys, + ThemeEditorRootPanelProps, } from '@hypertheme-editor/chakra-ui-core' import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { ThemeEditorPalettePopoverForm } from './ThemeEditorPalettePopoverForm' import { generatePalette } from './generateColorPalette' +//my modifications +import { StepperContainer } from './StepperContainer' + + + type Props = { - // + // } & Partial export const ThemeEditorColors: FC = (props) => { - const { theme, setTheme } = useThemeEditor() - - const handleChangeColor = useCallback( - ({ token, value }) => { - if (theme && theme.colors && theme.colors[token]) { - if (typeof theme.colors[token] === 'string' && theme.colors[token] !== value) { - try { - const newTheme = { - ...theme, - colors: { - ...theme.colors, - [token]: value, - }, - } as any - // setThemeSingleColor(token, value) - setTheme(newTheme) - } catch (error) { - // - } - } else { - try { - const newColorPalette = generatePalette(value) - const newTheme = { - ...theme, - colors: { - ...theme.colors, - [token]: newColorPalette, - }, - } as any - setTheme(newTheme) - } catch (error) { - // - } - } - } - }, - [setTheme, theme] - ) - - const handleDeleteCustomColor = useCallback( - (token: string) => { - if (theme?.colors && theme.colors[token]) { - const newThemeColors = { - ...theme?.colors, + const { theme, setTheme } = useThemeEditor() + + const handleChangeColor = useCallback( + ({ token, value }) => { + if (theme && theme.colors && theme.colors[token]) { + if (typeof theme.colors[token] === 'string' && theme.colors[token] !== value) { + try { + const newTheme = { + ...theme, + colors: { + ...theme.colors, + [token]: value, + }, + } as any + // setThemeSingleColor(token, value) + setTheme(newTheme) + } catch (error) { + // + } + } else { + try { + const newColorPalette = generatePalette(value) + const newTheme = { + ...theme, + colors: { + ...theme.colors, + [token]: newColorPalette, + }, + } as any + setTheme(newTheme) + } catch (error) { + // + } + } + } + }, + [setTheme, theme] + ) + + const handleDeleteCustomColor = useCallback( + (token: string) => { + if (theme?.colors && theme.colors[token]) { + const newThemeColors = { + ...theme?.colors, + } + delete newThemeColors[token] + setTheme({ ...theme, colors: newThemeColors }) + } + }, + [setTheme, theme] + ) + + const customColorTokens = useMemo(() => { + if (!theme || !theme.colors) { + return [] } - delete newThemeColors[token] - setTheme({ ...theme, colors: newThemeColors }) - } - }, - [setTheme, theme] - ) - - const customColorTokens = useMemo(() => { - if (!theme || !theme.colors) { - return [] - } - - return Object.keys(theme.colors).filter((item) => themeColorKeys.indexOf(item) === -1) - }, [theme]) - - return ( - - - {customColorTokens.map((item, index) => { - return ( - - ) - })} - {customColorTokens.length == 0 ? ( - - - - ) : ( - - )} - - - - - - - - - - - - - - - - - - - - - ) + + return Object.keys(theme.colors).filter((item) => themeColorKeys.indexOf(item) === -1) + }, [theme]) + + return ( + + + + {customColorTokens.map((item, index) => { + return ( + + ) + })} + {customColorTokens.length == 0 ? ( + + + + ) : ( + + )} + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index ea543b2..424ffc2 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -62,7 +62,8 @@ export const ThemeEditorAccordionItem: FC = (prop )} - + + {title} {tag && ( diff --git a/yarn.lock b/yarn.lock index 1aea2a1..8dd7f36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2666,6 +2666,11 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== +"@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -2680,11 +2685,21 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== +"@hutson/parse-repository-url@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== + "@iarna/toml@2.2.5": version "2.2.5" resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== +"@isaacs/string-locale-compare@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -2902,6 +2917,690 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@lerna/add@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/add/-/add-5.5.2.tgz#d5970f408f7f8fa2eaa139e7d3c6a67bdd5fedb2" + integrity sha512-YCBpwDtNICvjTEG7klXITXFC8pZd8NrmkC8yseaTGm51VPNneZVPJZHWhOlWM4spn50ELVP1p2nnSl6COt50aw== + dependencies: + "@lerna/bootstrap" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/filter-options" "5.5.2" + "@lerna/npm-conf" "5.5.2" + "@lerna/validation-error" "5.5.2" + dedent "^0.7.0" + npm-package-arg "8.1.1" + p-map "^4.0.0" + pacote "^13.6.1" + semver "^7.3.4" + +"@lerna/bootstrap@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/bootstrap/-/bootstrap-5.5.2.tgz#d5bedcc001cd4af35043ca5c77342276c8095853" + integrity sha512-oJ9G1MC/TMukJAZAf+bPJ2veAiiUj6/BGe99nagQh7uiXhH1N0uItd/aMC6xBHggu0ZVOQEY7mvL0/z1lGsM4w== + dependencies: + "@lerna/command" "5.5.2" + "@lerna/filter-options" "5.5.2" + "@lerna/has-npm-version" "5.5.2" + "@lerna/npm-install" "5.5.2" + "@lerna/package-graph" "5.5.2" + "@lerna/pulse-till-done" "5.5.2" + "@lerna/rimraf-dir" "5.5.2" + "@lerna/run-lifecycle" "5.5.2" + "@lerna/run-topologically" "5.5.2" + "@lerna/symlink-binary" "5.5.2" + "@lerna/symlink-dependencies" "5.5.2" + "@lerna/validation-error" "5.5.2" + "@npmcli/arborist" "5.3.0" + dedent "^0.7.0" + get-port "^5.1.1" + multimatch "^5.0.0" + npm-package-arg "8.1.1" + npmlog "^6.0.2" + p-map "^4.0.0" + p-map-series "^2.1.0" + p-waterfall "^2.1.1" + semver "^7.3.4" + +"@lerna/changed@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/changed/-/changed-5.5.2.tgz#903600271c58650bc1873e2441aaf9028658e1b8" + integrity sha512-/kF5TKkiXb0921aorZAMsNFAtcaVcDAvO7GndvcZZiDssc4K7weXhR+wsHi9e4dCJ2nVakhVJw0PqRNknd7x/A== + dependencies: + "@lerna/collect-updates" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/listable" "5.5.2" + "@lerna/output" "5.5.2" + +"@lerna/check-working-tree@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/check-working-tree/-/check-working-tree-5.5.2.tgz#4f3de3efe2e8d0c6a62da4c66c17acf6776edaa6" + integrity sha512-FRkEe9Wcr8Lw3dR0AIOrWfODfEAcDKBF5Ol7bIA5wkPLMJbuPBgx4T1rABdRp94SVOnqkRwT9rrsFOESLcQJzQ== + dependencies: + "@lerna/collect-uncommitted" "5.5.2" + "@lerna/describe-ref" "5.5.2" + "@lerna/validation-error" "5.5.2" + +"@lerna/child-process@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-5.5.2.tgz#f95d8aeb01c0cb6e6520bc9de28ff27c8516f588" + integrity sha512-JvTrIEDwq7bd0Nw/4TGAFa4miP8UKARfxhYwHkqX5vM+slNx3BiImkyDhG46C3zR2k/OrOK02CYbBUi6eI2OAw== + dependencies: + chalk "^4.1.0" + execa "^5.0.0" + strong-log-transformer "^2.1.0" + +"@lerna/clean@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/clean/-/clean-5.5.2.tgz#5de2de1d66a66ee65dbea0b30513f784b4391bd2" + integrity sha512-C38x2B+yTg2zFWSV6/K6grX+7Dzgyw7YpRfhFr1Mat77mhku60lE3mqwU2qCLHlmKBmHV2rB85gYI8yysJ2rIg== + dependencies: + "@lerna/command" "5.5.2" + "@lerna/filter-options" "5.5.2" + "@lerna/prompt" "5.5.2" + "@lerna/pulse-till-done" "5.5.2" + "@lerna/rimraf-dir" "5.5.2" + p-map "^4.0.0" + p-map-series "^2.1.0" + p-waterfall "^2.1.1" + +"@lerna/cli@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/cli/-/cli-5.5.2.tgz#d4766d324908ebf9b5a9579ac5ee2f7deedcc9d4" + integrity sha512-u32ulEL5CBNYZOTG5dRrVJUT8DovDzjrLj/y/MKXpuD127PwWDe0TE//1NP8qagTLBtn5EiKqiuZlosAYTpiBA== + dependencies: + "@lerna/global-options" "5.5.2" + dedent "^0.7.0" + npmlog "^6.0.2" + yargs "^16.2.0" + +"@lerna/collect-uncommitted@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/collect-uncommitted/-/collect-uncommitted-5.5.2.tgz#4397813f4b7ab169e427026548921c93f8be685c" + integrity sha512-2SzH21lDz016Dhu3MjmID9iCMTHYiZ/iu0UKT4I6glmDa44kre18Bp8ihyNzBXNWryj6KjB/0wxgb6dOtccw9A== + dependencies: + "@lerna/child-process" "5.5.2" + chalk "^4.1.0" + npmlog "^6.0.2" + +"@lerna/collect-updates@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/collect-updates/-/collect-updates-5.5.2.tgz#1278aa341b84fcc84ab4efb153464dcbc7706ee0" + integrity sha512-EeAazUjRenojQujM8W2zAxbw8/qEf5qd0pQYFKLCKkT8f332hoYzH8aJqnpAVY5vjFxxxxpjFjExfvMKqkwWVQ== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/describe-ref" "5.5.2" + minimatch "^3.0.4" + npmlog "^6.0.2" + slash "^3.0.0" + +"@lerna/command@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/command/-/command-5.5.2.tgz#4dcc4c772e82b9069b1b52a4947354825d0debaf" + integrity sha512-hcqKcngUCX6p9i2ipyzFVnTDZILAoxS0xn5YtLXLU2F16o/RIeEuhBrWeExhRXGBo1Rt3goxyq6/bKKaPU5i2Q== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/package-graph" "5.5.2" + "@lerna/project" "5.5.2" + "@lerna/validation-error" "5.5.2" + "@lerna/write-log-file" "5.5.2" + clone-deep "^4.0.1" + dedent "^0.7.0" + execa "^5.0.0" + is-ci "^2.0.0" + npmlog "^6.0.2" + +"@lerna/conventional-commits@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/conventional-commits/-/conventional-commits-5.5.2.tgz#810da2733f4350e01f8320991296f6e1ba8d25c1" + integrity sha512-lFq1RTx41QEPU7N1yyqQRhVH1zPpRqWbdSpepBnSgeUKw/aE0pbkgNi+C6BKuSB/9OzY78j1OPbZSYrk4OWEBQ== + dependencies: + "@lerna/validation-error" "5.5.2" + conventional-changelog-angular "^5.0.12" + conventional-changelog-core "^4.2.4" + conventional-recommended-bump "^6.1.0" + fs-extra "^9.1.0" + get-stream "^6.0.0" + npm-package-arg "8.1.1" + npmlog "^6.0.2" + pify "^5.0.0" + semver "^7.3.4" + +"@lerna/create-symlink@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/create-symlink/-/create-symlink-5.5.2.tgz#9593da204b2409bcd3555ad6f67b9d7cb5b7cdfc" + integrity sha512-/C0SP2C5+Lvol4Uul0/p0YJML/AOv1dO4y3NrRpYGnN750AuQMuhJQsBcHip80sFStKnNaUxXQb82itkL/mduw== + dependencies: + cmd-shim "^5.0.0" + fs-extra "^9.1.0" + npmlog "^6.0.2" + +"@lerna/create@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-5.5.2.tgz#6091f550df9a389c9a8239e18f91b1acfdab1dcd" + integrity sha512-NawigXIAwPJjwDKTKo4aqmos8GIAYK8AQumwy027X418GzXf504L1acRm3c+3LmL1IrZTStWkqSNs56GrKRY9A== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/npm-conf" "5.5.2" + "@lerna/validation-error" "5.5.2" + dedent "^0.7.0" + fs-extra "^9.1.0" + globby "^11.0.2" + init-package-json "^3.0.2" + npm-package-arg "8.1.1" + p-reduce "^2.1.0" + pacote "^13.6.1" + pify "^5.0.0" + semver "^7.3.4" + slash "^3.0.0" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^4.0.0" + yargs-parser "20.2.4" + +"@lerna/describe-ref@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/describe-ref/-/describe-ref-5.5.2.tgz#ba64e568bfbea8cca81b0a919550c33cf8359869" + integrity sha512-JY1Lk8sHX4mBk83t1wW8ak+QWzlExZluOMUixIWLhzHlOzRXnx/WJnvW3E2UgN/RFOBHsI8XA6RmzV/xd/D44Q== + dependencies: + "@lerna/child-process" "5.5.2" + npmlog "^6.0.2" + +"@lerna/diff@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/diff/-/diff-5.5.2.tgz#ff51712f1554cfea499954c406a79cea15744795" + integrity sha512-cBXCF/WXh59j6ydTObUB5vhij1cO1kmEVaW4su8rMqLy0eyAmYAckwnL4WIu3NUDlIm7ykaDp+itdAXPeUdDmw== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/validation-error" "5.5.2" + npmlog "^6.0.2" + +"@lerna/exec@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/exec/-/exec-5.5.2.tgz#70f64ec8c801905f9af30f1a6b955aa1160e142e" + integrity sha512-hwEIxSp3Gor5pMZp7jMrQ7qcfzyJOI5Zegj9K72M5KKRYSXI1uFxexZzN2ZJCso/rHg9H4TCa9P2wjmoo8KPag== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/filter-options" "5.5.2" + "@lerna/profiler" "5.5.2" + "@lerna/run-topologically" "5.5.2" + "@lerna/validation-error" "5.5.2" + p-map "^4.0.0" + +"@lerna/filter-options@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/filter-options/-/filter-options-5.5.2.tgz#bf495abd596a170d8625281fadff052112fb2571" + integrity sha512-h9KrfntDjR1PTC0Xeu07dYytSdZ4jcKz/ykaqhELgXVDbzOUY9RnQd32e4XJ8KRSERMe4VS7DxOnxV4LNI0xqA== + dependencies: + "@lerna/collect-updates" "5.5.2" + "@lerna/filter-packages" "5.5.2" + dedent "^0.7.0" + npmlog "^6.0.2" + +"@lerna/filter-packages@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/filter-packages/-/filter-packages-5.5.2.tgz#043784114fb0a8924b08536b5f62f0e741fc9362" + integrity sha512-EaZA0ibWKnpBePFt5gVbiTYgXwOs01naVPcPnBQt5EhHVN878rUoNXNnhT/X/KXFiiy6v3CW53sczlqTNoFuSg== + dependencies: + "@lerna/validation-error" "5.5.2" + multimatch "^5.0.0" + npmlog "^6.0.2" + +"@lerna/get-npm-exec-opts@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/get-npm-exec-opts/-/get-npm-exec-opts-5.5.2.tgz#a17489e5c4c5c180bee3095d1418782bdf7db615" + integrity sha512-CSwUpQrEYe20KEJnpdLxeLdYMaIElTQM9SiiFKUwnm/825TObkdDQ/fAG9Vk3fkHljPcu7SiV1A/g2XkbmpJUA== + dependencies: + npmlog "^6.0.2" + +"@lerna/get-packed@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/get-packed/-/get-packed-5.5.2.tgz#f355773cbd295bc305ffc59050be9e6cdcc53825" + integrity sha512-C+2/oKqTdgskuK3SpoxzxJSffwQGRU/W8BA5rC/HmRN2xom8xlgZjP0Pcsv7ucW1BjE367hh+4E/BRZXPxuvVQ== + dependencies: + fs-extra "^9.1.0" + ssri "^9.0.1" + tar "^6.1.0" + +"@lerna/github-client@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/github-client/-/github-client-5.5.2.tgz#003ad2712786338b347d9675294be7e40f7f2a84" + integrity sha512-aIed5+l+QoiQmlCvcRoGgJ9z0Wo/7BZU0cbcds7OyhB6e723xtBTk3nXOASFI9TdcRcrnVpOFOISUKU+48d7Ig== + dependencies: + "@lerna/child-process" "5.5.2" + "@octokit/plugin-enterprise-rest" "^6.0.1" + "@octokit/rest" "^19.0.3" + git-url-parse "^13.1.0" + npmlog "^6.0.2" + +"@lerna/gitlab-client@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/gitlab-client/-/gitlab-client-5.5.2.tgz#1d14b5f71e3e8074ea1894941702f32f0cff5031" + integrity sha512-iSNk8ktwRXL5JgTYvKdEQASHLgo8Vq4RLX1hOFhOMszxKeT2kjCXLqefto3TlJ5xOGQb/kaGBm++jp+uZxhdog== + dependencies: + node-fetch "^2.6.1" + npmlog "^6.0.2" + +"@lerna/global-options@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/global-options/-/global-options-5.5.2.tgz#4eafa90fb62036701ed04319adb33ab4901f1f5d" + integrity sha512-YaFCLMm7oThPpmRvrDX/VuoihrWCqBVm3zG+c8OM7sjs1MXDKycbdhtjzIwysWocEpf0NjUtdQS7v6gUhfNiFQ== + +"@lerna/has-npm-version@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/has-npm-version/-/has-npm-version-5.5.2.tgz#4bb84f223aa6a6b608e057b6a3dc7bd96dbbe03f" + integrity sha512-8BHJCVPy5o0vERm0jjcwYSCNOK+EclbufR05kqorsYzCu0xWPOc3SDlo5mXuWsG61SlT3RdV9SJ3Rab15fOLAg== + dependencies: + "@lerna/child-process" "5.5.2" + semver "^7.3.4" + +"@lerna/import@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/import/-/import-5.5.2.tgz#7f18d17723a320ceea694955c351c7c8d60e3152" + integrity sha512-QtHJEo/9RRO9oILzSK45k5apsAyUEgwpGj4Ys3gZ7rFuXQ4+xHi9R6YC0IjwyiSfoN/i3Qbsku+PByxhhzkxHQ== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/prompt" "5.5.2" + "@lerna/pulse-till-done" "5.5.2" + "@lerna/validation-error" "5.5.2" + dedent "^0.7.0" + fs-extra "^9.1.0" + p-map-series "^2.1.0" + +"@lerna/info@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/info/-/info-5.5.2.tgz#8ae7b2efb64579f6aa153c597cd2da99e2716802" + integrity sha512-Ek+bCooAfng+K4Fgy9i6jKBMpZZQ3lQpv6SWg8TbrwGR/el8FYBJod3+I5khJ2RJqHAmjLBz6wiSyVPMjwvptw== + dependencies: + "@lerna/command" "5.5.2" + "@lerna/output" "5.5.2" + envinfo "^7.7.4" + +"@lerna/init@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/init/-/init-5.5.2.tgz#51439bacfcf6670bda042541566432836c6fb54e" + integrity sha512-CKHrcOlm2XXXF384FeCKK+CjKBW22HkJ5CcLlU1gnTFD2QarrBwTOGjpRaREXP8T/k3q7h0W0FK8B77opqLwDg== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/project" "5.5.2" + fs-extra "^9.1.0" + p-map "^4.0.0" + write-json-file "^4.3.0" + +"@lerna/link@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/link/-/link-5.5.2.tgz#ed9225f29cb8887f5da124ebb54f7e0c978896bb" + integrity sha512-B/0a+biXO2uMSbNw1Vv9YMrfse0i8HU9mrrWQbXIHws3j0i5Wxuxvd7B/r0xzYN5LF5AFDxrPjPNTgC49U/58Q== + dependencies: + "@lerna/command" "5.5.2" + "@lerna/package-graph" "5.5.2" + "@lerna/symlink-dependencies" "5.5.2" + "@lerna/validation-error" "5.5.2" + p-map "^4.0.0" + slash "^3.0.0" + +"@lerna/list@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/list/-/list-5.5.2.tgz#dfebcaae284bb25d2a5d1223086a95cd22bc4701" + integrity sha512-uC/LRq9zcOM33vV6l4Nmx18vXNNIcaxFHVCBOC3IxZJb0MTPzKFqlu/YIVQaJMWeHpiIo6OfbK4mbH1h8yXmHw== + dependencies: + "@lerna/command" "5.5.2" + "@lerna/filter-options" "5.5.2" + "@lerna/listable" "5.5.2" + "@lerna/output" "5.5.2" + +"@lerna/listable@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/listable/-/listable-5.5.2.tgz#ed2858acef7886067ff373f501102999caf86c55" + integrity sha512-CEDTaLB8V7faSSTgB1II1USpda5PQWUkfsvDJekJ4yZ4dql3XnzqdVZ48zLqPArl/30e0g1gWGOBkdKqswY+Yg== + dependencies: + "@lerna/query-graph" "5.5.2" + chalk "^4.1.0" + columnify "^1.6.0" + +"@lerna/log-packed@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/log-packed/-/log-packed-5.5.2.tgz#3f651f2d010e830aa3dfe34b59ba8767c29e0658" + integrity sha512-k1tKZdNuAIj9t7ZJBSzua5zEnPoweKLpuXYzuiBE8CALBfl2Zf9szsbDQDsERDOxQ365+FEgK+GfkmvxtYx4tw== + dependencies: + byte-size "^7.0.0" + columnify "^1.6.0" + has-unicode "^2.0.1" + npmlog "^6.0.2" + +"@lerna/npm-conf@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/npm-conf/-/npm-conf-5.5.2.tgz#bec9b5d7d729be86386a154170bd65e6057578c6" + integrity sha512-X2EE1TCSfsYy2XTUUN0+QXXEPvecuGk3mpTXR5KP+ScAs0WmTisRLyJ9lofh/9e0SIIGdVYmh2PykhgduyOKsg== + dependencies: + config-chain "^1.1.12" + pify "^5.0.0" + +"@lerna/npm-dist-tag@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/npm-dist-tag/-/npm-dist-tag-5.5.2.tgz#56b441efb85cd3de88f15c97553942372da9a774" + integrity sha512-Od4liA0ISunwatHxArHdaxFc/m9dXMI0fAFqbScgeqVkY8OeoHEY/AlINjglYChtGcbKdHm1ml8qvlK9Tr2EXg== + dependencies: + "@lerna/otplease" "5.5.2" + npm-package-arg "8.1.1" + npm-registry-fetch "^13.3.0" + npmlog "^6.0.2" + +"@lerna/npm-install@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/npm-install/-/npm-install-5.5.2.tgz#26dcbf45b27f06e9744b9283c23d30d7feeaabb5" + integrity sha512-aDIDRS9C9uWheuc6JEntNqTcaTcSFyTx4FgUw5FDHrwsTZ9TiEAB9O+XyDKIlcGHlNviuQt270boUHjsvOoMcg== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/get-npm-exec-opts" "5.5.2" + fs-extra "^9.1.0" + npm-package-arg "8.1.1" + npmlog "^6.0.2" + signal-exit "^3.0.3" + write-pkg "^4.0.0" + +"@lerna/npm-publish@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/npm-publish/-/npm-publish-5.5.2.tgz#be9c2f8eaf1ab21619ad43434e6f69a56e9eda28" + integrity sha512-TRYkkocg/VFy9MwWtfIa2gNXFkMwkDfaS1exgJK4DKbjH3hiBo/cDG3Zx/jMBGvetv4CLsC2n+phRhozgCezTA== + dependencies: + "@lerna/otplease" "5.5.2" + "@lerna/run-lifecycle" "5.5.2" + fs-extra "^9.1.0" + libnpmpublish "^6.0.4" + npm-package-arg "8.1.1" + npmlog "^6.0.2" + pify "^5.0.0" + read-package-json "^5.0.1" + +"@lerna/npm-run-script@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/npm-run-script/-/npm-run-script-5.5.2.tgz#790ac839f3f761deb017dd02a666488be0a7f24b" + integrity sha512-lKn4ybw/97SMR/0j5UcJraL+gpfXv2HWKmlrG47JuAMJaEFkQQyCh4EdP3cGPCnSzrI5zXsil8SS/JelkhQpkg== + dependencies: + "@lerna/child-process" "5.5.2" + "@lerna/get-npm-exec-opts" "5.5.2" + npmlog "^6.0.2" + +"@lerna/otplease@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/otplease/-/otplease-5.5.2.tgz#ae49aa9e2298d68282f641ebd7a94d1b9677e28b" + integrity sha512-kZwSWTLGFWLoFX0p6RJ8AARIo6P/wkIcUyAFrVU3YTesN7KqbujpzaVTf5bAWsDdeiRWizCGM1TVw2IDUtStQg== + dependencies: + "@lerna/prompt" "5.5.2" + +"@lerna/output@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/output/-/output-5.5.2.tgz#2c0aa22c15f887ff1835d15fdf7ca198110f2fb7" + integrity sha512-Sv5qMvwnY7RGUw3JHyNUHNlQ4f/167kK1tczCaHUXa1SmOq5adMBbiMNApa2y5s8B+v9OahkU2nnOOaIuVy0HQ== + dependencies: + npmlog "^6.0.2" + +"@lerna/pack-directory@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/pack-directory/-/pack-directory-5.5.2.tgz#4a499fd2d2deeed0d2a1859c51b98f96b4b7ef9f" + integrity sha512-LvBbOeSwbpHPL7w9cI0Jtpa6r61N3KboD4nutNlWaT9LRv0dLlex2k10Pfc8u15agQ62leLhHa6UmjFt16msEA== + dependencies: + "@lerna/get-packed" "5.5.2" + "@lerna/package" "5.5.2" + "@lerna/run-lifecycle" "5.5.2" + "@lerna/temp-write" "5.5.2" + npm-packlist "^5.1.1" + npmlog "^6.0.2" + tar "^6.1.0" + +"@lerna/package-graph@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/package-graph/-/package-graph-5.5.2.tgz#ae1d52f520f376cf819823fe16524c0f39c6b32c" + integrity sha512-tyMokkrktvohhU3PE3nZLdjrmozcrV8ql37u0l/axHXrfNiV3RDn9ENVvYXnLnP2BCHV572RRpbI5kYto4wtRg== + dependencies: + "@lerna/prerelease-id-from-version" "5.5.2" + "@lerna/validation-error" "5.5.2" + npm-package-arg "8.1.1" + npmlog "^6.0.2" + semver "^7.3.4" + +"@lerna/package@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/package/-/package-5.5.2.tgz#5f692289d1164a4d3456cba0c45ec6ea5fc0f4a7" + integrity sha512-/36+oq5Q63EYSyjW5mHPR3aMrXDo6Wn8zKcl9Dfd4bn+w0AfK/EbId7iB/TrFaNdGtw8CrhK+e5CmgiMBeXMPw== + dependencies: + load-json-file "^6.2.0" + npm-package-arg "8.1.1" + write-pkg "^4.0.0" + +"@lerna/prerelease-id-from-version@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/prerelease-id-from-version/-/prerelease-id-from-version-5.5.2.tgz#0d27ce30aca010266db8f0de86509b44778cc1f3" + integrity sha512-FokuA8PFH+YMlbVvPsrTWgfZzaeXDmSmXGKzF8yEM7008UOFx9a3ivDzPnRK7IDaO9nUmt++Snb3QLey1ldYlQ== + dependencies: + semver "^7.3.4" + +"@lerna/profiler@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/profiler/-/profiler-5.5.2.tgz#b977a5b59388671b9bb6b4d3a2e7ae84a228d121" + integrity sha512-030TM1sG0h/vSJ+49e8K1HtVIt94i6lOIRILTF4zkx+O00Fcg91wBtdIduKhZZt1ziWRi1v2soijKR26IDC+Tg== + dependencies: + fs-extra "^9.1.0" + npmlog "^6.0.2" + upath "^2.0.1" + +"@lerna/project@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/project/-/project-5.5.2.tgz#02d1f031509347e62e665c862dd319703ce5528a" + integrity sha512-NtHov7CCM3DHbj6xaD9lTErOnEmz0s+piJP/nVw6aIvfkhvUl1fB6SnttM+0GHZrT6WSIXFWsb0pkRMTBn55Bw== + dependencies: + "@lerna/package" "5.5.2" + "@lerna/validation-error" "5.5.2" + cosmiconfig "^7.0.0" + dedent "^0.7.0" + dot-prop "^6.0.1" + glob-parent "^5.1.1" + globby "^11.0.2" + js-yaml "^4.1.0" + load-json-file "^6.2.0" + npmlog "^6.0.2" + p-map "^4.0.0" + resolve-from "^5.0.0" + write-json-file "^4.3.0" + +"@lerna/prompt@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/prompt/-/prompt-5.5.2.tgz#d21e1ef3d18ad5cf2418c640927bbb64f54e72dd" + integrity sha512-flV5SOu9CZrTf2YxGgMPwiAsv2jkUzyIs3cTTdFhFtKoZV7YPVZkGyMhqhEMIuUCOeITFY+emar9iPS6d7U4Jg== + dependencies: + inquirer "^8.2.4" + npmlog "^6.0.2" + +"@lerna/publish@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/publish/-/publish-5.5.2.tgz#4253ffa0bbd55b7b4380e247c6039a2f283b13a6" + integrity sha512-ZC8LP4I3nLcVIcyqiRAVvGRaCkHHBdYVcqtF7S9KA8w2VvuAeqHRFUTIhKBziVbYnwI2uzJXGIRWP50U+p/wAA== + dependencies: + "@lerna/check-working-tree" "5.5.2" + "@lerna/child-process" "5.5.2" + "@lerna/collect-updates" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/describe-ref" "5.5.2" + "@lerna/log-packed" "5.5.2" + "@lerna/npm-conf" "5.5.2" + "@lerna/npm-dist-tag" "5.5.2" + "@lerna/npm-publish" "5.5.2" + "@lerna/otplease" "5.5.2" + "@lerna/output" "5.5.2" + "@lerna/pack-directory" "5.5.2" + "@lerna/prerelease-id-from-version" "5.5.2" + "@lerna/prompt" "5.5.2" + "@lerna/pulse-till-done" "5.5.2" + "@lerna/run-lifecycle" "5.5.2" + "@lerna/run-topologically" "5.5.2" + "@lerna/validation-error" "5.5.2" + "@lerna/version" "5.5.2" + fs-extra "^9.1.0" + libnpmaccess "^6.0.3" + npm-package-arg "8.1.1" + npm-registry-fetch "^13.3.0" + npmlog "^6.0.2" + p-map "^4.0.0" + p-pipe "^3.1.0" + pacote "^13.6.1" + semver "^7.3.4" + +"@lerna/pulse-till-done@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/pulse-till-done/-/pulse-till-done-5.5.2.tgz#b71aa52971ecfc75b756151321f0bef49d9e3ff4" + integrity sha512-e8sRby4FxSU9QjdRYXvHQtb5GMVO5XDnSH83RWdSxAVFGVEVWKqI3qg3otGH1JlD/kOu195d+ZzndF9qqMvveQ== + dependencies: + npmlog "^6.0.2" + +"@lerna/query-graph@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/query-graph/-/query-graph-5.5.2.tgz#3bfe53430936a62c3f225cb5af91709876da982e" + integrity sha512-krKt+mvGm+9fp71ZGUO1MiUZsL+W6dAKx5kBPNWkrw5TFZCasZJHRSIqby9iXpjma+MYohjFjLVvg1PIYKt/kg== + dependencies: + "@lerna/package-graph" "5.5.2" + +"@lerna/resolve-symlink@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/resolve-symlink/-/resolve-symlink-5.5.2.tgz#ba1e3a04600b6ffae604e522e5a4abf2bf52b936" + integrity sha512-JLJg6/IFqpmGjFfKvj+lntcsGGWbIxF2uAcrVKldqwcPTmlMvolg51lL+wqII3s8N3gZIGdxhjXfhDdKuKtEzQ== + dependencies: + fs-extra "^9.1.0" + npmlog "^6.0.2" + read-cmd-shim "^3.0.0" + +"@lerna/rimraf-dir@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/rimraf-dir/-/rimraf-dir-5.5.2.tgz#e1de764dadd7ca305d1d2698676f5fcfbe0d0ada" + integrity sha512-siE1RpEpSLFlnnbAJZz+CuBIcOqXrhR/SXVBnPDpIg4tGgHns+Q99m6K29ltuh+vZMBLMYnnyfPYitJFYTC3MQ== + dependencies: + "@lerna/child-process" "5.5.2" + npmlog "^6.0.2" + path-exists "^4.0.0" + rimraf "^3.0.2" + +"@lerna/run-lifecycle@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/run-lifecycle/-/run-lifecycle-5.5.2.tgz#8a4faa272007495729b7ef39206b47cde094074a" + integrity sha512-d5pF0abAv6MVNG3xhG1BakHZtr93vIn27aqgBvu9XK1CW6GdbpBpCv1kc8RjHyOpjjFDt4+uK2TG7s7T0oCZPw== + dependencies: + "@lerna/npm-conf" "5.5.2" + "@npmcli/run-script" "^4.1.7" + npmlog "^6.0.2" + p-queue "^6.6.2" + +"@lerna/run-topologically@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/run-topologically/-/run-topologically-5.5.2.tgz#e485f7ce859198ad0e487814ea8ca83ebcb17ada" + integrity sha512-o3XYXk7hG8ijUjejgXoa7fuQvzEohMUm4AB5SPBbvq1BhoqIZfW50KlBNjud1zVD4OsA8jJOfjItcY9KfxowuA== + dependencies: + "@lerna/query-graph" "5.5.2" + p-queue "^6.6.2" + +"@lerna/run@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/run/-/run-5.5.2.tgz#8449406d9257def944b9cba28c76ed12246bc8a4" + integrity sha512-KVMkjL2ehW+/6VAwTTLgq82Rgw4W6vOz1I9XwwO/bk9h7DoY1HlE8leaaYRNqT+Cv437A9AwggR+LswhoK3alA== + dependencies: + "@lerna/command" "5.5.2" + "@lerna/filter-options" "5.5.2" + "@lerna/npm-run-script" "5.5.2" + "@lerna/output" "5.5.2" + "@lerna/profiler" "5.5.2" + "@lerna/run-topologically" "5.5.2" + "@lerna/timer" "5.5.2" + "@lerna/validation-error" "5.5.2" + fs-extra "^9.1.0" + p-map "^4.0.0" + +"@lerna/symlink-binary@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/symlink-binary/-/symlink-binary-5.5.2.tgz#0227875212576e2a20a450ebe3362bfa7708284a" + integrity sha512-fQAN0ClwlVLThqm+m9d4lIfa2TuONocdNQocmou8UBDI/C/VVW6dvD+tSL3I4jYIYJWsXJe1hBBjil4ZYXpQrQ== + dependencies: + "@lerna/create-symlink" "5.5.2" + "@lerna/package" "5.5.2" + fs-extra "^9.1.0" + p-map "^4.0.0" + +"@lerna/symlink-dependencies@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/symlink-dependencies/-/symlink-dependencies-5.5.2.tgz#f97eab64a0ad0702ef2da1690e7eeafb1c4e5c29" + integrity sha512-eNIICnlUD1YCiIY50O2TKHkxXCF4rYAFOCVWTiUS098tNKLssTPnIQrK3ASKxK9t7srmfcm49LFxNRPjVKjSBw== + dependencies: + "@lerna/create-symlink" "5.5.2" + "@lerna/resolve-symlink" "5.5.2" + "@lerna/symlink-binary" "5.5.2" + fs-extra "^9.1.0" + p-map "^4.0.0" + p-map-series "^2.1.0" + +"@lerna/temp-write@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/temp-write/-/temp-write-5.5.2.tgz#86cb3b3190bcb959d84bb2e06a910543f3957af3" + integrity sha512-K/9L+25qIw4qw/SSLxwfAWzaUE3luqGTusd3x934Hg2sBQVX28xddwaZlasQ6qen7ETp6Ec9vSVWF2ffWTxKJg== + dependencies: + graceful-fs "^4.1.15" + is-stream "^2.0.0" + make-dir "^3.0.0" + temp-dir "^1.0.0" + uuid "^8.3.2" + +"@lerna/timer@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/timer/-/timer-5.5.2.tgz#d28b4c4431e2988e0c308d8c9d98c503416dae21" + integrity sha512-QcnMFwcP7xlT9DH4oGVuDYuSOfpAghG4wj7D8vN1GhJFd9ueDCzTFJpFRd6INacIbESBNMjq5WuTeNdxcDo8Fg== + +"@lerna/validation-error@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/validation-error/-/validation-error-5.5.2.tgz#6ef92fdfab30404fc7d3668499c03c5740158d81" + integrity sha512-ZffmtrgOkihUxpho529rDI0llDV9YFNJqh0qF2+doFePeTtFKkFVFHZvxP9hPZPMOLypX9OHwCVfMaTlIpIjjA== + dependencies: + npmlog "^6.0.2" + +"@lerna/version@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/version/-/version-5.5.2.tgz#938020878fe274d8569cbd443c4c14732afd8c67" + integrity sha512-MMO0rnC9Y8JQEl6+XJMu0JM/bWpe6mGNhQJ8C9W1hkpMwxrizhcoEFb9Vq/q/tw7DjCVc3inrb/5s50cRmrmtg== + dependencies: + "@lerna/check-working-tree" "5.5.2" + "@lerna/child-process" "5.5.2" + "@lerna/collect-updates" "5.5.2" + "@lerna/command" "5.5.2" + "@lerna/conventional-commits" "5.5.2" + "@lerna/github-client" "5.5.2" + "@lerna/gitlab-client" "5.5.2" + "@lerna/output" "5.5.2" + "@lerna/prerelease-id-from-version" "5.5.2" + "@lerna/prompt" "5.5.2" + "@lerna/run-lifecycle" "5.5.2" + "@lerna/run-topologically" "5.5.2" + "@lerna/temp-write" "5.5.2" + "@lerna/validation-error" "5.5.2" + chalk "^4.1.0" + dedent "^0.7.0" + load-json-file "^6.2.0" + minimatch "^3.0.4" + npmlog "^6.0.2" + p-map "^4.0.0" + p-pipe "^3.1.0" + p-reduce "^2.1.0" + p-waterfall "^2.1.1" + semver "^7.3.4" + slash "^3.0.0" + write-json-file "^4.3.0" + +"@lerna/write-log-file@5.5.2": + version "5.5.2" + resolved "https://registry.yarnpkg.com/@lerna/write-log-file/-/write-log-file-5.5.2.tgz#4ae8243b8e2821feea9f25c67488409a7fe82544" + integrity sha512-eeW10lriUl3w6WXtYk30z4rZB77QXeQCkLgSMv6Rqa7AMCTZNPhIBJQ0Nkmxo8LaFSWMhin1pLhHTYdqcsaFLA== + dependencies: + npmlog "^6.0.2" + write-file-atomic "^4.0.1" + "@mdx-js/loader@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/loader/-/loader-1.6.22.tgz#d9e8fe7f8185ff13c9c8639c048b123e30d322c4" @@ -2980,6 +3679,46 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/arborist@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.3.0.tgz#321d9424677bfc08569e98a5ac445ee781f32053" + integrity sha512-+rZ9zgL1lnbl8Xbb1NQdMjveOMwj4lIYfcDtyJHHi5x4X8jtR6m8SXooJMZy5vmFVZ8w7A2Bnd/oX9eTuU8w5A== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/metavuln-calculator" "^3.0.1" + "@npmcli/move-file" "^2.0.0" + "@npmcli/name-from-folder" "^1.0.1" + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/package-json" "^2.0.0" + "@npmcli/run-script" "^4.1.3" + bin-links "^3.0.0" + cacache "^16.0.6" + common-ancestor-path "^1.0.1" + json-parse-even-better-errors "^2.3.1" + json-stringify-nice "^1.1.4" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + nopt "^5.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.0.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.0" + npmlog "^6.0.2" + pacote "^13.6.1" + parse-conflict-json "^2.0.1" + proc-log "^2.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^1.0.1" + read-package-json-fast "^2.0.2" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.0" + treeverse "^2.0.0" + walk-up-path "^1.0.0" + "@npmcli/fs@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" @@ -2988,6 +3727,57 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" +"@npmcli/fs@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/git@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" + integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w== + dependencies: + "@npmcli/promise-spawn" "^3.0.0" + lru-cache "^7.4.4" + mkdirp "^1.0.4" + npm-pick-manifest "^7.0.0" + proc-log "^2.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" + +"@npmcli/installed-package-contents@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== + dependencies: + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +"@npmcli/map-workspaces@^2.0.3": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc" + integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== + dependencies: + "@npmcli/name-from-folder" "^1.0.1" + glob "^8.0.1" + minimatch "^5.0.1" + read-package-json-fast "^2.0.3" + +"@npmcli/metavuln-calculator@^3.0.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622" + integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA== + dependencies: + cacache "^16.0.0" + json-parse-even-better-errors "^2.3.1" + pacote "^13.0.3" + semver "^7.3.5" + "@npmcli/move-file@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" @@ -2996,6 +3786,63 @@ mkdirp "^1.0.4" rimraf "^3.0.2" +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/name-from-folder@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" + integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== + +"@npmcli/node-gyp@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" + integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== + +"@npmcli/package-json@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a" + integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA== + dependencies: + json-parse-even-better-errors "^2.3.1" + +"@npmcli/promise-spawn@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" + integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== + dependencies: + infer-owner "^1.0.4" + +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.1.7": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946" + integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg== + dependencies: + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" + node-gyp "^9.0.0" + read-package-json-fast "^2.0.3" + which "^2.0.2" + +"@nrwl/cli@14.7.13": + version "14.7.13" + resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-14.7.13.tgz#32ab43fd2cc385e573496a45f1cc9bc95a2e5e9e" + integrity sha512-roEowDw1TxNsfL/pv752pO/gZrxhfpO1BUQ47madKn/ujupzVe/ropufrT7taDntwQMcHWLrHG3lJyqOexUJIA== + dependencies: + nx "14.7.13" + +"@nrwl/tao@14.7.13": + version "14.7.13" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-14.7.13.tgz#66a77ffab4869a6b79a4456b4d2915c7bb866445" + integrity sha512-nZzbMCNC5UK/Tf7kRbAqdLF5PSqom6aGd3q9m1TKbpxu9ufE5jvK0mF4EDvVJO7LCBnWaLgpZOINRfRPBLGueA== + dependencies: + nx "14.7.13" + "@octokit/auth-token@^3.0.0": version "3.0.1" resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.1.tgz#88bc2baf5d706cb258474e722a720a8365dff2ec" @@ -3044,6 +3891,16 @@ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-13.1.0.tgz#30459b45e6dd388d48d72de166f2f08ee8ece5b6" integrity sha512-Z7vzLqfTkoVQyoy/2iQla1N2I4Vav2wi4JbZK8QxIYAfBimhuflosFxmsqw5LTH7DkdNW46ZYpAcqJf0XaS8SQ== +"@octokit/openapi-types@^13.11.0": + version "13.12.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-13.12.0.tgz#cd49f28127ee06ee3edc6f2b5f5648c7332f6014" + integrity sha512-1QYzZrwnn3rTQE7ZoSxXrO8lhu0aIbac1c+qIPOPEaVXBWSaUyLV1x9yt4uDQOwmu6u5ywVS8OJgs+ErDLf6vQ== + +"@octokit/plugin-enterprise-rest@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== + "@octokit/plugin-paginate-rest@^3.0.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz#86f8be759ce2d6d7c879a31490fd2f7410b731f0" @@ -3051,6 +3908,13 @@ dependencies: "@octokit/types" "^6.41.0" +"@octokit/plugin-paginate-rest@^4.0.0": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-4.3.1.tgz#553e653ee0318605acd23bf3a799c8bfafdedae3" + integrity sha512-h8KKxESmSFTcXX409CAxlaOYscEDvN2KGQRsLCGT1NSqRW+D6EXLVQ8vuHhFznS9MuH9QYw1GfsUN30bg8hjVA== + dependencies: + "@octokit/types" "^7.5.0" + "@octokit/plugin-request-log@^1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" @@ -3095,6 +3959,16 @@ "@octokit/plugin-request-log" "^1.0.4" "@octokit/plugin-rest-endpoint-methods" "^6.0.0" +"@octokit/rest@^19.0.3": + version "19.0.4" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.4.tgz#fd8bed1cefffa486e9ae46a9dc608ce81bcfcbdd" + integrity sha512-LwG668+6lE8zlSYOfwPj4FxWdv/qFXYBpv79TWIQEpBLKA9D/IMcWsF/U9RGpA3YqMVDiTxpgVpEW3zTFfPFTA== + dependencies: + "@octokit/core" "^4.0.0" + "@octokit/plugin-paginate-rest" "^4.0.0" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^6.0.0" + "@octokit/types@^6.41.0": version "6.41.0" resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04" @@ -3109,6 +3983,21 @@ dependencies: "@octokit/openapi-types" "^13.1.0" +"@octokit/types@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-7.5.0.tgz#85646021bd618467b7cc465d9734b3f2878c9fae" + integrity sha512-aHm+olfIZjQpzoODpl+RCZzchKOrdSLJs+yfI7pMMcmB19Li6vidgx0DwUDO/Ic4Q3fq/lOjJORVCcLZefcrJw== + dependencies: + "@octokit/openapi-types" "^13.11.0" + +"@parcel/watcher@2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.4.tgz#f300fef4cc38008ff4b8c29d92588eced3ce014b" + integrity sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg== + dependencies: + node-addon-api "^3.2.1" + node-gyp-build "^4.3.0" + "@pmmmwh/react-refresh-webpack-plugin@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz#1eec460596d200c0236bf195b078a5d1df89b766" @@ -3990,6 +4879,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": version "7.1.16" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" @@ -4819,11 +5713,44 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +"@yarnpkg/parsers@^3.0.0-rc.18": + version "3.0.0-rc.21" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.21.tgz#71a4114668c56eb5d1c3d8527ec229c01ddd5197" + integrity sha512-aM82UlEU12+grklXCyGnMXMqChrW8BDI6DZuw2JjijLyErEqZ/9MjEyYhcn+oz8bKSvudEAe8ygRzkt1cVMOtQ== + dependencies: + js-yaml "^3.10.0" + tslib "^2.4.0" + +"@zkochan/js-yaml@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" + integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== + dependencies: + argparse "^2.0.1" + +JSONStream@^1.0.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== +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== + accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -4892,6 +5819,11 @@ acorn@^8.7.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== + address@1.1.2, address@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" @@ -4904,7 +5836,7 @@ agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: dependencies: debug "4" -agentkeepalive@^4.1.3: +agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== @@ -5119,6 +6051,19 @@ aproba@^1.0.3, aproba@^1.1.1: resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== +"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + are-we-there-yet@~1.1.2: version "1.1.7" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" @@ -5134,6 +6079,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + aria-hidden@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.1.3.tgz#bb48de18dc84787a3c6eee113709c473c64ec254" @@ -5164,11 +6114,21 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + array-includes@^3.0.3, array-includes@^3.1.1, array-includes@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" @@ -5264,6 +6224,11 @@ arrify@^2.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== +asap@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + asn1.js@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" @@ -5635,6 +6600,18 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +bin-links@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" + integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== + dependencies: + cmd-shim "^5.0.0" + mkdirp-infer-owner "^2.0.0" + npm-normalize-package-bin "^2.0.0" + read-cmd-shim "^3.0.0" + rimraf "^3.0.0" + write-file-atomic "^4.0.0" + binary-extensions@^1.0.0: version "1.13.1" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" @@ -5652,6 +6629,15 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bl@^4.0.3, 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" + bl@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/bl/-/bl-5.0.0.tgz#6928804a41e9da9034868e1c50ca88f21f57aea2" @@ -5738,6 +6724,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -5897,6 +6890,14 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +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" + buffer@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" @@ -5915,6 +6916,23 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== + +builtins@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +byte-size@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-7.0.1.tgz#b1daf3386de7ab9d706b941a748dbfc71130dee3" + integrity sha512-crQdqyCwhokxwV1UyDzLZanhkugAgft7vt0qbbdt60C6Zf3CAiGmtUCylbtYwrU6loOUw3euGrNtW1J651ot1A== + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -5993,6 +7011,30 @@ cacache@^15.0.5, cacache@^15.2.0: tar "^6.0.2" unique-filename "^1.1.1" +cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -6108,6 +7150,11 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== +chakra-ui-steps@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/chakra-ui-steps/-/chakra-ui-steps-1.7.4.tgz#9174c87b66f530f83ad7ab2568e5dd450b1e5576" + integrity sha512-EAHW04azBL0Vz0vR9uMJ92qTKeOc86gbHGXoeRd8wAKcTyQOf7vK5eyS4BUWq8Bflb2ZXVAdLhJtVumNerEuzg== + chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -6117,6 +7164,14 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@5.0.1, chalk@^5.0.0, chalk@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6" @@ -6141,7 +7196,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -6237,6 +7292,21 @@ chokidar@^3.4.1, chokidar@^3.4.2: optionalDependencies: fsevents "~2.3.2" +chokidar@^3.5.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -6307,6 +7377,13 @@ cli-boxes@^3.0.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== +cli-cursor@3.1.0, 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-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -6333,7 +7410,12 @@ cli-highlight@^2.1.11: parse5-htmlparser2-tree-adapter "^6.0.0" yargs "^16.0.0" -cli-spinners@^2.6.1: +cli-spinners@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + +cli-spinners@^2.5.0, cli-spinners@^2.6.1: version "2.7.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== @@ -6353,6 +7435,11 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + cli-width@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-4.0.0.tgz#a5622f6a3b0a9e3e711a25f099bf2399f608caf6" @@ -6402,6 +7489,13 @@ clsx@^1.1.1: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== +cmd-shim@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" + integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== + dependencies: + mkdirp-infer-owner "^2.0.0" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -6454,6 +7548,11 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + colord@^2.1.0: version "2.7.0" resolved "https://registry.yarnpkg.com/colord/-/colord-2.7.0.tgz#706ea36fe0cd651b585eb142fe64b6480185270e" @@ -6469,6 +7568,14 @@ colors@^1.1.2: resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -6496,6 +7603,11 @@ commander@^6.2.1: resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + common-tags@^1.4.0, common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -6506,6 +7618,14 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -6556,7 +7676,17 @@ concat-stream@^1.5.0: readable-stream "^2.2.2" typedarray "^0.0.6" -config-chain@^1.1.11: +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +config-chain@^1.1.11, config-chain@^1.1.12: version "1.1.13" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== @@ -6585,7 +7715,7 @@ console-browserify@^1.1.0: resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== -console-control-strings@^1.0.0, console-control-strings@~1.1.0: +console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= @@ -6612,6 +7742,88 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== +conventional-changelog-angular@^5.0.12: + version "5.0.13" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== + dependencies: + compare-func "^2.0.0" + q "^1.5.1" + +conventional-changelog-core@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" + integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== + dependencies: + add-stream "^1.0.0" + conventional-changelog-writer "^5.0.0" + conventional-commits-parser "^3.2.0" + dateformat "^3.0.0" + get-pkg-repo "^4.0.0" + git-raw-commits "^2.0.8" + git-remote-origin-url "^2.0.0" + git-semver-tags "^4.1.1" + lodash "^4.17.15" + normalize-package-data "^3.0.0" + q "^1.5.1" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" + through2 "^4.0.0" + +conventional-changelog-preset-loader@^2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" + integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== + +conventional-changelog-writer@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" + integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== + dependencies: + conventional-commits-filter "^2.0.7" + dateformat "^3.0.0" + handlebars "^4.7.7" + json-stringify-safe "^5.0.1" + lodash "^4.17.15" + meow "^8.0.0" + semver "^6.0.0" + split "^1.0.0" + through2 "^4.0.0" + +conventional-commits-filter@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" + integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== + dependencies: + lodash.ismatch "^4.4.0" + modify-values "^1.0.0" + +conventional-commits-parser@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== + dependencies: + JSONStream "^1.0.4" + is-text-path "^1.0.1" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +conventional-recommended-bump@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" + integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== + dependencies: + concat-stream "^2.0.0" + conventional-changelog-preset-loader "^2.3.4" + conventional-commits-filter "^2.0.7" + conventional-commits-parser "^3.2.0" + git-raw-commits "^2.0.8" + git-semver-tags "^4.1.1" + meow "^8.0.0" + q "^1.5.1" + convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" @@ -6911,6 +8123,11 @@ damerau-levenshtein@^1.0.6: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + data-uri-to-buffer@3: version "3.0.1" resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" @@ -6930,6 +8147,11 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" +dateformat@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -6958,6 +8180,11 @@ debug@^4.3.3: 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 sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== + decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -7126,6 +8353,11 @@ detab@2.0.4: dependencies: repeat-string "^1.5.4" +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== + detect-indent@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" @@ -7157,6 +8389,14 @@ detect-port@^1.3.0: address "^1.0.1" debug "^2.6.0" +dezalgo@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== + dependencies: + asap "^2.0.0" + wrappy "1" + diff-sequences@^27.0.6: version "27.0.6" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" @@ -7284,6 +8524,13 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + dot-prop@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" @@ -7320,6 +8567,11 @@ dotenv@^8.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== +dotenv@~10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + downshift@^6.0.15: version "6.1.7" resolved "https://registry.yarnpkg.com/downshift/-/downshift-6.1.7.tgz#fdb4c4e4f1d11587985cd76e21e8b4b3fa72e44c" @@ -7425,14 +8677,14 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.12: +encoding@^0.1.12, encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -7457,7 +8709,7 @@ enhanced-resolve@^4.5.0: memory-fs "^0.5.0" tapable "^1.0.0" -enquirer@^2.3.5: +enquirer@^2.3.5, enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -7474,6 +8726,16 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +envinfo@^7.7.4: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + enzyme-shallow-equal@^1.0.0, enzyme-shallow-equal@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz#b9256cb25a5f430f9bfe073a84808c1d74fced2e" @@ -8111,6 +9373,11 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + events@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -8291,6 +9558,17 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-glob@3.2.7, fast-glob@^3.1.1: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" @@ -8303,17 +9581,6 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.1.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - fast-glob@^3.2.11: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" @@ -8374,6 +9641,13 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== +figures@3.2.0, figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -8535,6 +9809,11 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" @@ -8685,6 +9964,11 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@8.1.0, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -8705,7 +9989,16 @@ fs-extra@^0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" -fs-extra@^9.0.0, fs-extra@^9.0.1: +fs-extra@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -8715,7 +10008,7 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-minipass@^2.0.0: +fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== @@ -8803,6 +10096,20 @@ fuse.js@^3.6.1: resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.6.1.tgz#7de85fdd6e1b3377c23ce010892656385fd9b10c" integrity sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw== +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -8846,6 +10153,21 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-pkg-repo@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== + dependencies: + "@hutson/parse-repository-url" "^3.0.0" + hosted-git-info "^4.0.0" + through2 "^2.0.0" + yargs "^16.2.0" + +get-port@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== + get-stdin@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" @@ -8895,6 +10217,33 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +git-raw-commits@^2.0.8: + version "2.0.11" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== + dependencies: + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-semver-tags@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" + integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== + dependencies: + meow "^8.0.0" + semver "^6.0.0" + git-up@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/git-up/-/git-up-6.0.0.tgz#dbd6e4eee270338be847a0601e6d0763c90b74db" @@ -8903,6 +10252,14 @@ git-up@^6.0.0: is-ssh "^1.4.0" parse-url "^7.0.2" +git-up@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467" + integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== + dependencies: + is-ssh "^1.4.0" + parse-url "^8.1.0" + git-url-parse@12.0.0: version "12.0.0" resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-12.0.0.tgz#4ba70bc1e99138321c57e3765aaf7428e5abb793" @@ -8910,6 +10267,20 @@ git-url-parse@12.0.0: dependencies: git-up "^6.0.0" +git-url-parse@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-13.1.0.tgz#07e136b5baa08d59fabdf0e33170de425adf07b4" + integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA== + dependencies: + git-up "^7.0.0" + +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== + dependencies: + ini "^1.3.2" + github-slugger@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" @@ -8938,7 +10309,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -8957,6 +10328,18 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= +glob@7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" @@ -8981,6 +10364,17 @@ glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.0.1: + version "8.0.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" + integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + global-dirs@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" @@ -9127,6 +10521,18 @@ hamt_plus@1.0.2: resolved "https://registry.yarnpkg.com/hamt_plus/-/hamt_plus-1.0.2.tgz#e21c252968c7e33b20f6a1b094cd85787a265601" integrity sha1-4hwlKWjH4zsg9qGwlM2FeHomVgE= +handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" @@ -9173,7 +10579,7 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-unicode@^2.0.0: +has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= @@ -9342,13 +10748,27 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.0: +hosted-git-info@^3.0.6: + version "3.0.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" + integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" +hosted-git-info@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.1.0.tgz#9786123f92ef3627f24abc3f15c20d98ec4a6594" + integrity sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q== + dependencies: + lru-cache "^7.5.1" + html-element-map@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.3.1.tgz#44b2cbcfa7be7aa4ff59779e47e51012e1c73c08" @@ -9474,6 +10894,15 @@ http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http2-wrapper@^2.1.10: version "2.1.11" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.1.11.tgz#d7c980c7ffb85be3859b6a96c800b2951ae257ef" @@ -9541,7 +10970,7 @@ icss-utils@^4.0.0, icss-utils@^4.1.1: dependencies: postcss "^7.0.14" -ieee754@^1.1.4, ieee754@^1.2.1: +ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -9551,21 +10980,28 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= +ignore-walk@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" + integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== + dependencies: + minimatch "^5.0.1" + ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.0.4, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + ignore@^5.1.2, ignore@^5.1.4: version "5.1.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== -ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - immer@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" @@ -9640,11 +11076,24 @@ ini@2.0.0: resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: +ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +init-package-json@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" + integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A== + dependencies: + npm-package-arg "^9.0.1" + promzard "^0.3.0" + read "^1.0.7" + read-package-json "^5.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^4.0.0" + inline-style-parser@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" @@ -9690,6 +11139,27 @@ inquirer@^6.2.2: strip-ansi "^5.1.0" through "^2.3.6" +inquirer@^8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" + integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" @@ -9841,6 +11311,13 @@ is-core-module@^2.2.0: dependencies: has "^1.0.3" +is-core-module@^2.5.0, is-core-module@^2.8.1: + version "2.10.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== + 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" @@ -9981,6 +11458,11 @@ is-installed-globally@^0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +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-interactive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" @@ -10045,7 +11527,7 @@ is-path-inside@^3.0.2: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^1.1.0: +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= @@ -10148,11 +11630,23 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== + dependencies: + text-extensions "^1.0.0" + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +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-unicode-supported@^1.1.0, is-unicode-supported@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.2.0.tgz#f4f54f34d8ebc84a46b93559a036763b6d3e1014" @@ -10768,7 +12262,14 @@ js-string-escape@^1.0.1: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.0, js-yaml@^3.13.1: +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.10.0, js-yaml@^3.13.0, 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== @@ -10824,12 +12325,12 @@ json-buffer@3.0.1: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: 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-even-better-errors@^2.3.0: +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== @@ -10849,6 +12350,16 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + json5@2.x, json5@^2.1.2, json5@^2.1.3: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" @@ -10863,6 +12374,11 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +jsonc-parser@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + jsonc-parser@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" @@ -10891,6 +12407,11 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonparse@^1.2.0, jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" @@ -10904,6 +12425,16 @@ junk@^3.1.0: resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== +just-diff-apply@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.4.1.tgz#1debed059ad009863b4db0e8d8f333d743cdd83b" + integrity sha512-AAV5Jw7tsniWwih8Ly3fXxEZ06y+6p5TwQMsw0dzZ/wPKilzyDgdAnL0Ug4NNIquPUOh1vfFWEHbmXUqM5+o8g== + +just-diff@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.1.1.tgz#8da6414342a5ed6d02ccd64f5586cbbed3146202" + integrity sha512-u8HXJ3HlNrTzY7zrYYKjNEfBlyjqhdBkoyTVdjtn7p02RJD5NvR8rIClzeGA7t+UYP1/7eAkWNLU0+P3QrEqKQ== + keyv@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" @@ -11001,6 +12532,32 @@ lerna-changelog@^2.2.0: progress "^2.0.0" yargs "^17.1.0" +lerna@^5.5.2: + version "5.5.2" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-5.5.2.tgz#3b96ea81bb71a0e57c110b64c6dc2cc58d7acca9" + integrity sha512-P0ThZMfWJ4BP9xRbXaLyoOCYjlPN615FRV2ZBnTBA12lw32IlcREIgvF0N1zZX7wXtsmN56rU3CABoJ5lU8xuw== + dependencies: + "@lerna/add" "5.5.2" + "@lerna/bootstrap" "5.5.2" + "@lerna/changed" "5.5.2" + "@lerna/clean" "5.5.2" + "@lerna/cli" "5.5.2" + "@lerna/create" "5.5.2" + "@lerna/diff" "5.5.2" + "@lerna/exec" "5.5.2" + "@lerna/import" "5.5.2" + "@lerna/info" "5.5.2" + "@lerna/init" "5.5.2" + "@lerna/link" "5.5.2" + "@lerna/list" "5.5.2" + "@lerna/publish" "5.5.2" + "@lerna/run" "5.5.2" + "@lerna/version" "5.5.2" + import-local "^3.0.2" + npmlog "^6.0.2" + nx ">=14.6.1 < 16" + typescript "^3 || ^4" + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -11022,6 +12579,27 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +libnpmaccess@^6.0.3: + version "6.0.4" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" + integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag== + dependencies: + aproba "^2.0.0" + minipass "^3.1.1" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + +libnpmpublish@^6.0.4: + version "6.0.5" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.5.tgz#5a894f3de2e267d62f86be2a508e362599b5a4b1" + integrity sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg== + dependencies: + normalize-package-data "^4.0.0" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + semver "^7.3.7" + ssri "^9.0.0" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -11037,6 +12615,26 @@ load-json-file@^2.0.0: pify "^2.0.0" strip-bom "^3.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +load-json-file@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== + dependencies: + graceful-fs "^4.1.15" + parse-json "^5.0.0" + strip-bom "^4.0.0" + type-fest "^0.6.0" + loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -11120,6 +12718,11 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= +lodash.ismatch@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== + lodash.memoize@4.x, lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -11170,6 +12773,14 @@ lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17. resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +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" + log-symbols@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93" @@ -11237,6 +12848,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.14.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" + integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== + macos-release@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-3.1.0.tgz#6165bb0736ae567ed6649e36ce6a24d87cbb7aca" @@ -11269,6 +12885,28 @@ make-error@1.x: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + make-fetch-happen@^9.0.0: version "9.1.0" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" @@ -11480,6 +13118,23 @@ meow@^6.1.1: type-fest "^0.13.1" yargs-parser "^18.1.3" +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -11847,7 +13502,21 @@ minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist-options@^4.0.2: +minimatch@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" + integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" + +minimist-options@4.1.0, minimist-options@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== @@ -11879,6 +13548,17 @@ minipass-fetch@^1.3.2: optionalDependencies: encoding "^0.1.12" +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + minipass-flush@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" @@ -11886,6 +13566,14 @@ minipass-flush@^1.0.5: dependencies: minipass "^3.0.0" +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" @@ -11907,14 +13595,14 @@ minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" -minipass@^3.1.3: +minipass@^3.1.3, minipass@^3.1.6: version "3.3.4" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== dependencies: yallist "^4.0.0" -minizlib@^2.0.0, minizlib@^2.1.1: +minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -11946,6 +13634,15 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mkdirp-infer-owner@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== + dependencies: + chownr "^2.0.0" + infer-owner "^1.0.4" + mkdirp "^1.0.3" + mkdirp@^0.5.1, mkdirp@^0.5.3: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" @@ -11958,6 +13655,11 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +modify-values@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== + moo@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" @@ -12000,12 +13702,23 @@ ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +multimatch@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -mute-stream@0.0.8: +mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== @@ -12073,12 +13786,12 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -negotiator@^0.6.2: +negotiator@^0.6.2, 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, neo-async@^2.6.1: +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -12113,6 +13826,11 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-addon-api@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + node-dir@^0.1.10: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" @@ -12148,6 +13866,27 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-gyp-build@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.5.0.tgz#7a64eefa0b21112f89f58379da128ac177f20e40" + integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg== + +node-gyp@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.1.0.tgz#c8d8e590678ea1f7b8097511dedf41fc126648f8" + integrity sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -12197,6 +13936,13 @@ node-releases@^2.0.1: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + 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" @@ -12207,6 +13953,26 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" + integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== + dependencies: + hosted-git-info "^5.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -12229,6 +13995,89 @@ normalize-url@^6.0.1, normalize-url@^6.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== +npm-bundled@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== + dependencies: + npm-normalize-package-bin "^1.0.1" + +npm-bundled@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4" + integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw== + dependencies: + npm-normalize-package-bin "^2.0.0" + +npm-install-checks@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" + integrity sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA== + dependencies: + semver "^7.1.1" + +npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + +npm-normalize-package-bin@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" + integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== + +npm-package-arg@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.1.tgz#00ebf16ac395c63318e67ce66780a06db6df1b04" + integrity sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg== + dependencies: + hosted-git-info "^3.0.6" + semver "^7.0.0" + validate-npm-package-name "^3.0.0" + +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.0.tgz#a60e9f1e7c03e4e3e4e994ea87fff8b90b522987" + integrity sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw== + dependencies: + hosted-git-info "^5.0.0" + proc-log "^2.0.1" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + +npm-packlist@^5.1.0, npm-packlist@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" + integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg== + dependencies: + glob "^8.0.1" + ignore-walk "^5.0.1" + npm-bundled "^2.0.0" + npm-normalize-package-bin "^2.0.0" + +npm-pick-manifest@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" + integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== + dependencies: + npm-install-checks "^5.0.0" + npm-normalize-package-bin "^2.0.0" + npm-package-arg "^9.0.0" + semver "^7.3.5" + +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.0: + version "13.3.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" + integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== + dependencies: + make-fetch-happen "^10.0.6" + minipass "^3.1.6" + minipass-fetch "^2.0.3" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^9.0.1" + proc-log "^2.0.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -12260,6 +14109,16 @@ npmlog@^4.1.2: gauge "~2.7.3" set-blocking "~2.0.0" +npmlog@^6.0.0, npmlog@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + nth-check@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" @@ -12282,6 +14141,46 @@ nwsapi@^2.2.0: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== +nx@14.7.13, "nx@>=14.6.1 < 16": + version "14.7.13" + resolved "https://registry.yarnpkg.com/nx/-/nx-14.7.13.tgz#1c71c0a2b574cdfadf146650b57807cda7d7d789" + integrity sha512-NWeZ2fDjx6rkueA/lbu6tK4qfSvp6xrvQtv81Cpyae8BhhkoI36QoxkySJVBetIY/MypDPSl9JHqJwkBju4PQw== + dependencies: + "@nrwl/cli" "14.7.13" + "@nrwl/tao" "14.7.13" + "@parcel/watcher" "2.0.4" + "@yarnpkg/lockfile" "^1.1.0" + "@yarnpkg/parsers" "^3.0.0-rc.18" + "@zkochan/js-yaml" "0.0.6" + chalk "4.1.0" + chokidar "^3.5.1" + cli-cursor "3.1.0" + cli-spinners "2.6.1" + cliui "^7.0.2" + dotenv "~10.0.0" + enquirer "~2.3.6" + fast-glob "3.2.7" + figures "3.2.0" + flat "^5.0.2" + fs-extra "^10.1.0" + glob "7.1.4" + ignore "^5.0.4" + js-yaml "4.1.0" + jsonc-parser "3.2.0" + minimatch "3.0.5" + npm-run-path "^4.0.1" + open "^8.4.0" + semver "7.3.4" + string-width "^4.2.3" + strong-log-transformer "^2.1.0" + tar-stream "~2.2.0" + tmp "~0.2.1" + tsconfig-paths "^3.9.0" + tslib "^2.3.0" + v8-compile-cache "2.3.0" + yargs "^17.4.0" + yargs-parser "21.0.1" + object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -12443,7 +14342,7 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -open@8.4.0: +open@8.4.0, open@^8.4.0: version "8.4.0" resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== @@ -12499,6 +14398,21 @@ ora@6.1.2, ora@^6.1.2: strip-ansi "^7.0.1" wcwidth "^1.0.1" +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" + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -12602,6 +14516,11 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-map-series@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" + integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== + p-map@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" @@ -12621,7 +14540,25 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-timeout@^3.1.0: +p-pipe@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" + integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== + +p-queue@^6.6.2: + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + +p-reduce@^2.0.0, p-reduce@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== + +p-timeout@^3.1.0, p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== @@ -12638,6 +14575,13 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +p-waterfall@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" + integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== + dependencies: + p-reduce "^2.0.0" + pac-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" @@ -12672,6 +14616,33 @@ package-json@^8.1.0: registry-url "^6.0.0" semver "^7.3.7" +pacote@^13.0.3, pacote@^13.6.1: + version "13.6.2" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" + integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/promise-spawn" "^3.0.0" + "@npmcli/run-script" "^4.1.0" + cacache "^16.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" + npm-packlist "^5.1.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + promise-retry "^2.0.1" + read-package-json "^5.0.0" + read-package-json-fast "^2.0.3" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" @@ -12712,6 +14683,15 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-conflict-json@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323" + integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== + dependencies: + json-parse-even-better-errors "^2.3.1" + just-diff "^5.0.1" + just-diff-apply "^5.2.0" + parse-entities@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" @@ -12731,6 +14711,14 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +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" + parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -12748,6 +14736,13 @@ parse-path@^5.0.0: dependencies: protocols "^2.0.0" +parse-path@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b" + integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== + dependencies: + protocols "^2.0.0" + parse-url@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-7.0.2.tgz#d21232417199b8d371c6aec0cedf1406fd6393f0" @@ -12758,6 +14753,13 @@ parse-url@^7.0.2: parse-path "^5.0.0" protocols "^2.0.1" +parse-url@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d" + integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== + dependencies: + parse-path "^7.0.0" + parse5-htmlparser2-tree-adapter@^6.0.0, parse5-htmlparser2-tree-adapter@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" @@ -12905,7 +14907,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -pify@^2.0.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= @@ -12920,6 +14922,11 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + pirates@^4.0.0, pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -13197,6 +15204,11 @@ prismjs@~1.24.0: resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.1.tgz#c4d7895c4d6500289482fa8936d9cdd192684036" integrity sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow== +proc-log@^2.0.0, proc-log@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" + integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== + 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" @@ -13212,6 +15224,16 @@ progress@^2.0.0: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.1.tgz#4bdee03aeb85674385ca934da7114e9bcd3c6e24" + integrity sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q== + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -13282,6 +15304,13 @@ prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== + dependencies: + read "1" + prop-types@^15.0.0, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.0, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" @@ -13404,6 +15433,11 @@ pupa@^3.1.0: dependencies: escape-goat "^4.0.0" +q@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" @@ -13792,6 +15826,29 @@ react@17.0.1, react@^17.0.2: loose-envify "^1.1.0" object-assign "^4.1.1" +read-cmd-shim@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz#868c235ec59d1de2db69e11aec885bc095aea087" + integrity sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g== + +read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" + integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== + dependencies: + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" + +read-package-json@^5.0.0, read-package-json@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" + integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== + dependencies: + glob "^8.0.1" + json-parse-even-better-errors "^2.3.1" + normalize-package-data "^4.0.0" + npm-normalize-package-bin "^2.0.0" + read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -13800,6 +15857,14 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -13818,6 +15883,15 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -13828,6 +15902,13 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" +read@1, read@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== + dependencies: + mute-stream "~0.0.4" + "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -13851,7 +15932,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -13860,6 +15941,16 @@ readable-stream@^3.4.0, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readdir-scoped-modules@^1.1.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" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -14249,6 +16340,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +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" + restore-cursor@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" @@ -14368,6 +16467,13 @@ rxjs@^6.4.0, rxjs@^6.5.2: dependencies: tslib "^1.9.0" +rxjs@^7.5.5: + version "7.5.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" + integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== + dependencies: + tslib "^2.1.0" + rxjs@^7.5.6: version "7.5.6" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" @@ -14497,7 +16603,14 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.7, semver@^7.3.7: +semver@7.3.4: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + +semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -14768,6 +16881,15 @@ socks-proxy-agent@^6.0.0: debug "^4.3.3" socks "^2.6.2" +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + socks@^2.3.3, socks@^2.6.2: version "2.7.0" resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz#f9225acdb841e874dca25f870e9130990f3913d0" @@ -14776,6 +16898,20 @@ socks@^2.3.3, socks@^2.6.2: ip "^2.0.0" smart-buffer "^4.2.0" +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== + dependencies: + is-plain-obj "^1.0.0" + +sort-keys@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-4.2.0.tgz#6b7638cee42c506fff8c1cecde7376d21315be18" + integrity sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg== + dependencies: + is-plain-obj "^2.0.0" + source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -14863,6 +16999,20 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -14882,6 +17032,13 @@ ssri@^8.0.0, ssri@^8.0.1: dependencies: minipass "^3.1.1" +ssri@^9.0.0, ssri@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -15000,6 +17157,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +"string-width@^1.0.2 || 2 || 3 || 4", 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-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -15018,15 +17184,6 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.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-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -15196,6 +17353,15 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strong-log-transformer@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + style-loader@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" @@ -15307,7 +17473,18 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar@^6.0.2: +tar-stream@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -15333,6 +17510,11 @@ telejson@^5.3.2: lodash "^4.17.21" memoizerific "^1.11.3" +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== + term-size@^2.1.0: version "2.2.1" resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" @@ -15403,6 +17585,11 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== + text-table@0.2.0, text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -15440,7 +17627,14 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -through@^2.3.6: +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -15464,7 +17658,7 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@^0.2.1: +tmp@^0.2.1, tmp@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== @@ -15554,6 +17748,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +treeverse@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" + integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -15628,6 +17827,11 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -15664,6 +17868,11 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -15674,6 +17883,11 @@ type-fest@^0.21.3: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +type-fest@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" + integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== + type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" @@ -15714,6 +17928,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +"typescript@^3 || ^4": + version "4.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" + integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== + typescript@^3.2.1, typescript@^3.9.3: version "3.9.10" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" @@ -15724,6 +17943,11 @@ typescript@^4.3.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== +uglify-js@^3.1.4: + version "3.17.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.2.tgz#f55f668b9a64b213977ae688703b6bbb7ca861c6" + integrity sha512-bbxglRjsGQMchfvXZNusUcYgiB9Hx2K4AHYXQy2DITZ9Rd+JzhX7+hoocE5Winr7z2oHvPsekkBwXtigvxevXg== + unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" @@ -15799,6 +18023,13 @@ unique-filename@^1.1.1: dependencies: unique-slug "^2.0.0" +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + unique-slug@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" @@ -15806,6 +18037,13 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + unique-string@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" @@ -15916,6 +18154,11 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +upath@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== + update-notifier@6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" @@ -16064,6 +18307,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + uvu@^0.5.0: version "0.5.6" resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" @@ -16074,7 +18322,7 @@ uvu@^0.5.0: kleur "^4.0.3" sade "^1.7.3" -v8-compile-cache@^2.0.3: +v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -16097,7 +18345,7 @@ v8-to-istanbul@^8.1.0: convert-source-map "^1.6.0" source-map "^0.7.3" -validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== @@ -16105,6 +18353,20 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== + dependencies: + builtins "^1.0.3" + +validate-npm-package-name@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" + integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== + dependencies: + builtins "^5.0.0" + validate-peer-dependencies@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/validate-peer-dependencies/-/validate-peer-dependencies-1.2.0.tgz#22aab93c514f4fda457d36c80685e8b1160d2036" @@ -16241,6 +18503,11 @@ walk-sync@^2.0.2: matcher-collection "^2.0.0" minimatch "^3.0.4" +walk-up-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" + integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== + walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -16273,7 +18540,7 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" -wcwidth@^1.0.1: +wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= @@ -16449,6 +18716,13 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + widest-line@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" @@ -16480,6 +18754,11 @@ word-wrap@^1.2.3, word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -16526,6 +18805,15 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write-file-atomic@^2.4.2: + 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" + write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" @@ -16536,6 +18824,47 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +write-json-file@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" + integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.15" + make-dir "^2.1.0" + pify "^4.0.1" + sort-keys "^2.0.0" + write-file-atomic "^2.4.2" + +write-json-file@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-4.3.0.tgz#908493d6fd23225344af324016e4ca8f702dd12d" + integrity sha512-PxiShnxf0IlnQuMYOPPhPkhExoCQuTUNPOa/2JWCYTmBquU9njyyDuwRKN26IZBlp4yn1nt+Agh2HOOBl+55HQ== + dependencies: + detect-indent "^6.0.0" + graceful-fs "^4.1.15" + is-plain-obj "^2.0.0" + make-dir "^3.0.0" + sort-keys "^4.0.0" + write-file-atomic "^3.0.0" + +write-pkg@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" + integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== + dependencies: + sort-keys "^2.0.0" + type-fest "^0.4.1" + write-json-file "^3.2.0" + write@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" @@ -16598,11 +18927,21 @@ yaml@^1.10.0, yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.7: +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.7: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@21.0.1: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + yargs-parser@21.1.1, yargs-parser@^21.0.0: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" @@ -16653,7 +18992,7 @@ yargs@^16.0.0, yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.1.0: +yargs@^17.1.0, yargs@^17.4.0: version "17.5.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== From d9ca181e416c7c8da2911a627050fb3da6530da5 Mon Sep 17 00:00:00 2001 From: sandra Date: Fri, 30 Sep 2022 13:05:58 +0200 Subject: [PATCH 04/23] feat: export theme modal header --- .../theme-editor/ThemeDownloadButton.tsx | 26 +++- .../theme-editor/ThemeEditorDrawerFooter.tsx | 74 +++++++++- .../theme-editor/ThemeEditorDrawerHeader.tsx | 130 +++++++++--------- 3 files changed, 163 insertions(+), 67 deletions(-) diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx index 87cc3bd..5799a6d 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx @@ -17,6 +17,7 @@ import BaseMenu from '../base/BaseMenu' import BaseMenuItem from '../base/BaseMenuItem' import { API_ENDPOINT } from '../../constants' import { useThemeEditor } from '../../hooks/useThemeEditor' +import { transform } from '@babel/core' const GENERATE_THEME_ENDPOINT = `${API_ENDPOINT}/generate-theme` @@ -27,6 +28,29 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { const { theme } = useThemeEditor() const toast = useToast() + // Prende le keys di un oggetto e le trasforma in un array di stringhe + console.log('theme', theme) + const arrayP = ['blur', 'colors'] + const getKeys = (obj) => { + return Object.keys(obj) + } + console.log('obj to array', getKeys(theme)) + + // Prende un array di stringhe e lo trasforma in un oggetto + const objectify = (array) => { + return array.reduce((obj, item) => { + if (theme !== undefined) { + console.log('obj', obj) + console.log('themeobj', theme[item]) + console.log('item', item) + obj[item] = theme[item] + return obj + } + }, {}) + } + + console.log('object', objectify(arrayP)) + const handleDownload = useCallback( (language: string) => async () => { try { @@ -122,7 +146,7 @@ const ThemeDownloadMenuButton = ({ downloading = false, ...rest }) => { py={8} {...rest} > - Export theme + Export theme ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx index f4cf7d1..9c47ad8 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx @@ -1,22 +1,88 @@ -import { Flex } from '@chakra-ui/react' +import { + Button, + Drawer, + DrawerBody, + DrawerCloseButton, + DrawerContent, + DrawerFooter, + DrawerHeader, + Flex, + Heading, + useColorModeValue, + useDisclosure, + Text, + useColorMode, + Box, +} from '@chakra-ui/react' import React, { FC } from 'react' import { ThemeDownloadButton } from '.' +import { ThemeIcon } from '../base' +import { ThemeEditorDrawerHeader, ThemeEditorDrawerHeaderProps } from './ThemeEditorDrawerHeader' export type ThemeEditorDrawerFooterProps = { onClose?: () => void isMobile?: boolean actionButton?: React.ReactNode + headerComponent?: React.ReactElement< + ThemeEditorDrawerHeaderProps, + React.JSXElementConstructor + > } export const ThemeEditorDrawerFooter: FC = ({ - onClose, isMobile, actionButton = , + headerComponent = , }) => { // const bgColor = useColorModeValue('whiteAlpha.600', 'gray.900') + const { colorMode } = useColorMode() + const shadow = useColorModeValue('surface', 'surfaceDark') + const bgColor = useColorModeValue('white', 'gray.900') + const { isOpen, onOpen, onClose } = useDisclosure() return ( - - {actionButton} + + + + + {React.isValidElement(headerComponent) && + React.cloneElement( + headerComponent as React.ReactElement, + { + onClose, + children: ( + + + Export + + + Hyper Theme + + + ), + } + )} + + + + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx index 6ae37b9..8b0502a 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx @@ -24,11 +24,13 @@ import { themeEditorState, useThemeEditor } from '../../hooks/useThemeEditor' export type ThemeEditorDrawerHeaderProps = { onClose?: () => void initialFocusRef?: MutableRefObject + children?: React.ReactNode } export const ThemeEditorDrawerHeader: FC = ({ onClose, initialFocusRef, + children, }) => { const { canUndo, canRedo, undo, redo } = useThemeEditor() const [kitThemeState, setThemeState] = useRecoilState(themeEditorState) @@ -77,15 +79,18 @@ export const ThemeEditorDrawerHeader: FC = ({ - - - {/* + {children ? ( + children + ) : ( + + {/* = ({ fontSize="1rem" bg="transparent" > */} - - Hyper Theme - - {/* */} - - - + Hyper Theme + + {/* */} + + + + } + fontSize="16px" + height="27px" + width="27px" + aria-label="undo" + disabled={!canUndo} + onClick={undo} + variant="outline" + border="none" + color={colorMode == 'light' ? 'gray.600' : 'gray.100'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + _focus={{ border: 'none' }} + /> + + } + fontSize="16px" + height="27px" + width="27px" + aria-label="redo" + disabled={!canRedo} + onClick={redo} + variant="outline" + border="none" + color={colorMode == 'light' ? 'gray.600' : 'gray.100'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + _focus={{ border: 'none' }} + /> + } - fontSize="16px" - height="27px" - width="27px" - aria-label="undo" - disabled={!canUndo} - onClick={undo} - variant="outline" - border="none" - color={colorMode == 'light' ? 'gray.600' : 'gray.100'} - bgColor={colorMode == 'light' ? 'white' : 'gray.700'} - _focus={{ border: 'none' }} - /> - - } - fontSize="16px" + aria-label="reset" + icon={} + onClick={handleResetTheme} + fontSize="15px" + size="sm" height="27px" - width="27px" - aria-label="redo" - disabled={!canRedo} - onClick={redo} + w="10px" variant="outline" border="none" color={colorMode == 'light' ? 'gray.600' : 'gray.100'} bgColor={colorMode == 'light' ? 'white' : 'gray.700'} _focus={{ border: 'none' }} + boxShadow="0px 4px 8px rgba(0, 0, 0, 0.05), 0px 0px 1px rgba(0, 0, 0, 0.2)" /> - - } - onClick={handleResetTheme} - fontSize="15px" - size="sm" - height="27px" - w="10px" - variant="outline" - border="none" - color={colorMode == 'light' ? 'gray.600' : 'gray.100'} - bgColor={colorMode == 'light' ? 'white' : 'gray.700'} - _focus={{ border: 'none' }} - boxShadow="0px 4px 8px rgba(0, 0, 0, 0.05), 0px 0px 1px rgba(0, 0, 0, 0.2)" - /> - {/* = ({ Reset theme */} - - + + + )} From 501c617ef1176cb643d9952feca3f26d626045ff Mon Sep 17 00:00:00 2001 From: sandra Date: Fri, 30 Sep 2022 18:54:25 +0200 Subject: [PATCH 05/23] feat: ThemeProperty --- .../theme-editor/ThemeEditorDrawerFooter.tsx | 59 +----- .../theme-editor/ThemeExportDrawer.tsx | 181 ++++++++++++++++++ 2 files changed, 184 insertions(+), 56 deletions(-) create mode 100644 packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx index 9c47ad8..914461c 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx @@ -1,42 +1,18 @@ -import { - Button, - Drawer, - DrawerBody, - DrawerCloseButton, - DrawerContent, - DrawerFooter, - DrawerHeader, - Flex, - Heading, - useColorModeValue, - useDisclosure, - Text, - useColorMode, - Box, -} from '@chakra-ui/react' +import { Button, Flex, useDisclosure } from '@chakra-ui/react' import React, { FC } from 'react' import { ThemeDownloadButton } from '.' -import { ThemeIcon } from '../base' -import { ThemeEditorDrawerHeader, ThemeEditorDrawerHeaderProps } from './ThemeEditorDrawerHeader' +import { ThemeExportDrawer } from './ThemeExportDrawer' export type ThemeEditorDrawerFooterProps = { onClose?: () => void isMobile?: boolean actionButton?: React.ReactNode - headerComponent?: React.ReactElement< - ThemeEditorDrawerHeaderProps, - React.JSXElementConstructor - > } export const ThemeEditorDrawerFooter: FC = ({ isMobile, actionButton = , - headerComponent = , }) => { // const bgColor = useColorModeValue('whiteAlpha.600', 'gray.900') - const { colorMode } = useColorMode() - const shadow = useColorModeValue('surface', 'surfaceDark') - const bgColor = useColorModeValue('white', 'gray.900') const { isOpen, onOpen, onClose } = useDisclosure() return ( @@ -53,36 +29,7 @@ export const ThemeEditorDrawerFooter: FC = ({ > Export theme - - - {React.isValidElement(headerComponent) && - React.cloneElement( - headerComponent as React.ReactElement, - { - onClose, - children: ( - - - Export - - - Hyper Theme - - - ), - } - )} - - - - + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx new file mode 100644 index 0000000..d43e25a --- /dev/null +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx @@ -0,0 +1,181 @@ +import { + Checkbox, + Drawer, + DrawerBody, + DrawerContent, + DrawerFooter, + Flex, + Grid, + GridItem, + Heading, + useColorModeValue, + Text, + useCheckbox, + ChakraProvider, + chakra, + useCheckboxGroup, + Box, +} from '@chakra-ui/react' +import React, { FC } from 'react' +import { ThemeEditorDrawerHeaderProps } from '.' +import { useThemeEditor } from '../../hooks/useThemeEditor' +import { ThemeEditorDrawerHeader } from './ThemeEditorDrawerHeader' + +export type ThemeExportDrawerProps = { + isOpen: boolean + onClose: () => void + headerComponent?: React.ReactElement< + ThemeEditorDrawerHeaderProps, + React.JSXElementConstructor + > +} + +export const ThemeExportDrawer: FC = ({ + isOpen, + onClose, + headerComponent = , +}) => { + const bgColor = useColorModeValue('white', 'gray.900') + const { theme } = useThemeEditor() + const { + colors, + fonts, + fontSizes, + fontWeights, + lineHeights, + letterSpacings, + shadows, + radii, + space, + ...baseProperties + } = theme as any + const themeLabels = [ + 'Colors', + 'Font', + 'Font Sizes', + 'Font Weight', + 'Line Height', + 'Letter Spacing', + 'Shadows', + 'Radii', + 'Space', + ] + const editableProperties = { + colors, + fonts, + fontSizes, + fontWeights, + lineHeights, + letterSpacings, + shadows, + radii, + space, + } + const getKeys = (obj) => { + return Object.keys(obj) + } + const { value, getCheckboxProps } = useCheckboxGroup({ + defaultValue: [], + }) + console.log('theme', theme) + console.log('editable', editableProperties) + console.log('selected values', value) + + return ( + + + {React.isValidElement(headerComponent) && + React.cloneElement( + headerComponent as React.ReactElement, + { + onClose, + children: ( + + + Export + + + Hyper Theme + + + ), + } + )} + + + {getKeys(editableProperties).map((key, index) => { + return ( + + + + ) + })} + + + + + + ) +} + +const ThemeProperty = (props) => { + const { state, getCheckboxProps, getInputProps, getLabelProps, htmlProps } = useCheckbox(props) + const bgColor = useColorModeValue('white', 'gray.700') + const checkboxBgColor = useColorModeValue('gray.100', 'gray.800') + return ( + + + + + + + {props.label} + + + ) +} From 253783404cb50e1ad327a48e9f9cf1ec0286e963 Mon Sep 17 00:00:00 2001 From: mirela Date: Wed, 5 Oct 2022 18:08:49 +0200 Subject: [PATCH 06/23] updated:Palette drawer and Palette Colors --- package.json | 1 + .../src/IconStepperContainer.tsx | 37 ++ .../chakra-ui-colors/src/StepperContainer.tsx | 14 +- .../src/ThemeEditorColorItem.tsx | 227 +++++----- .../src/ThemeEditorColors.tsx | 28 +- .../src/ThemeEditorPalette.tsx | 166 +++---- .../src/ThemeEditorPaletteColorItem.tsx | 311 ++++++------- .../src/ThemeEditorPaletteDrawer.tsx | 256 +++++------ .../src/ThemeEditorPaletteDrawerHeader.tsx | 166 ++++--- .../src/ThemeEditorPalettePopoverForm.tsx | 408 +++++++++--------- packages/chakra-ui-colors/tsconfig.json | 2 +- .../src/components/base/BaseListItem.tsx | 172 ++++---- .../src/components/base/ColorModeToggle.tsx | 62 +-- .../theme-editor/ThemeEditorAccordionItem.tsx | 197 ++++----- .../theme-editor/ThemeEditorDrawerHeader.tsx | 231 +++++----- yarn.lock | 19 + 16 files changed, 1245 insertions(+), 1052 deletions(-) create mode 100644 packages/chakra-ui-colors/src/IconStepperContainer.tsx diff --git a/package.json b/package.json index b62e470..9c901e5 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@babel/core": "^7.16.0", "@babel/preset-env": "^7.16.0", "@babel/preset-typescript": "^7.16.0", + "@chakra-ui/icons": "^2.0.10", "@chakra-ui/react": "^1.6.7", "@emotion/react": "^11.4.0", "@emotion/styled": "^11.3.0", diff --git a/packages/chakra-ui-colors/src/IconStepperContainer.tsx b/packages/chakra-ui-colors/src/IconStepperContainer.tsx new file mode 100644 index 0000000..306e7fc --- /dev/null +++ b/packages/chakra-ui-colors/src/IconStepperContainer.tsx @@ -0,0 +1,37 @@ + +import React, { FC } from "react"; +import { Box, Circle } from '@chakra-ui/react' + + + +type Props = { + +} + + +export const IconStepperContainer: FC = (props) => { + + return ( + {props.children} + + + + ) +} + + + + + + + + + diff --git a/packages/chakra-ui-colors/src/StepperContainer.tsx b/packages/chakra-ui-colors/src/StepperContainer.tsx index 0c6f9a3..8a7113d 100644 --- a/packages/chakra-ui-colors/src/StepperContainer.tsx +++ b/packages/chakra-ui-colors/src/StepperContainer.tsx @@ -1,25 +1,27 @@ - import React, { FC } from "react"; -import { Box as PseudoBox, calc } from '@chakra-ui/react' +import { Box as PseudoBox } from '@chakra-ui/react' + type Props = { } + export const StepperContainer: FC = (props) => { return ( {props.children} diff --git a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx index 7fff665..ed9c438 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx @@ -1,15 +1,16 @@ import React, { FC, useCallback, useState, useEffect, useMemo } from 'react' import { - Box, - Flex, - BoxProps, - useColorModeValue, - Input, - Text, - Popover, - PopoverTrigger, - PopoverContent, - PopoverBody, + Box, + Flex, + BoxProps, + useColorModeValue, + Input, + Text, + Popover, + PopoverTrigger, + PopoverContent, + PopoverBody, + Circle } from '@chakra-ui/react' import { useDebouncyEffect } from 'use-debouncy' import { RgbaStringColorPicker } from 'react-colorful' @@ -17,117 +18,129 @@ import { colord, extend } from 'colord' import namesPlugin from 'colord/plugins/names' import { COLOR_PICKER_TRANSPARENT_SAFE_BG_B64 } from './constants' import { ElementsHighlighter } from '@hypertheme-editor/chakra-ui-core' +// +import { FaLink } from 'react-icons/fa' +import { BiCopy } from 'react-icons/bi' extend([namesPlugin]) export type ThemeEditorColorItemProps = { - title: string - value?: string - token: string - colorIndex: number - onChange: (value: { token: string; colorIndex: number; value: string }) => void + title: string + value?: string + token: string + colorIndex: number + onChange: (value: { token: string; colorIndex: number; value: string }) => void } & Omit const ThemeEditorColorItem: FC = ({ - p, - px, - title = 'Primary', - token, - colorIndex, - value, - onChange, - ...rest + p, + px, + title = 'Primary', + token, + colorIndex, + value, + onChange, + ...rest }) => { - const [currentValue, setCurrentValue] = useState(value) + const [currentValue, setCurrentValue] = useState(value) - const rgbaString = useMemo(() => { - if (!currentValue) { - return '#ffffff' - } - return currentValue.startsWith('rgba') ? currentValue : colord(currentValue).toRgbString() - }, [currentValue]) + const rgbaString = useMemo(() => { + if (!currentValue) { + return '#ffffff' + } + return currentValue.startsWith('rgba') ? currentValue : colord(currentValue).toRgbString() + }, [currentValue]) - const shadow = useColorModeValue('surface', 'surfaceDark') - const safeB64Bg = useColorModeValue( - COLOR_PICKER_TRANSPARENT_SAFE_BG_B64[0], - COLOR_PICKER_TRANSPARENT_SAFE_BG_B64[1] - ) + const shadow = useColorModeValue('surface', 'surfaceDark') + const safeB64Bg = useColorModeValue( + COLOR_PICKER_TRANSPARENT_SAFE_BG_B64[0], + COLOR_PICKER_TRANSPARENT_SAFE_BG_B64[1] + ) - const handleValueChange: React.ChangeEventHandler = useCallback((event) => { - setCurrentValue(event.target.value) - }, []) + const handleValueChange: React.ChangeEventHandler = useCallback((event) => { + setCurrentValue(event.target.value) + }, []) - useDebouncyEffect( - () => { - if (colord(currentValue as any).isValid() && currentValue !== value) { - onChange({ token, colorIndex, value: currentValue! }) - } - }, - 500, - [currentValue] - ) + useDebouncyEffect( + () => { + if (colord(currentValue as any).isValid() && currentValue !== value) { + onChange({ token, colorIndex, value: currentValue! }) + } + }, + 500, + [currentValue] + ) - useEffect(() => { - setCurrentValue(value) - }, [value]) + useEffect(() => { + setCurrentValue(value) + }, [value]) - return ( - - - {title} - - - - - - - - - - - - - - - - - - - - - - ) + return ( + + { /* + {title} + */} + + + + + + + + + + + + + + + + + {colorIndex} + + + + + + + + ) } export default ThemeEditorColorItem diff --git a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx index 6ee184e..af29f8c 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx @@ -1,5 +1,5 @@ import React, { FC, useCallback, useMemo } from 'react' -import { Accordion } from '@chakra-ui/react' +import { Accordion, Box, Circle } from '@chakra-ui/react' import { CgColorPicker } from 'react-icons/cg' import { useThemeEditor, @@ -14,9 +14,8 @@ import { generatePalette } from './generateColorPalette' //my modifications import { StepperContainer } from './StepperContainer' - - - +import { IconStepperContainer } from './IconStepperContainer' +import { BiGridVertical } from 'react-icons/bi' type Props = { // } & Partial @@ -83,16 +82,19 @@ export const ThemeEditorColors: FC = (props) => { }, [theme]) return ( - - + + {customColorTokens.map((item, index) => { - return ( + //added a box with the bi-grid icon + return ( = (props) => { onDelete={handleDeleteCustomColor} showIndex - /> + + + /> ) })} {customColorTokens.length == 0 ? ( @@ -130,7 +134,8 @@ export const ThemeEditorColors: FC = (props) => { - + = (props) => { value={`${theme?.colors?.blue[500]}`} onChange={handleChangeColor} showIndex + borderBottom='2px solid gray.300' /> = (props) => { value={`${theme?.colors?.red[500]}`} onChange={handleChangeColor} showIndex + /> = (props) => { value={`${theme?.colors?.green[500]}`} onChange={handleChangeColor} showIndex + /> = (props) => { value={`${theme?.colors?.orange[500]}`} onChange={handleChangeColor} showIndex + /> = (props) => { value={`${theme?.colors?.yellow[500]}`} onChange={handleChangeColor} showIndex + /> - scale?: (string | number)[] - value?: string - token: string - showIndex?: boolean - disableEditDrawer?: boolean + palette: Record + scale?: (string | number)[] + value?: string + token: string + showIndex?: boolean + disableEditDrawer?: boolean } & Omit const ThemeEditorPalette: FC = ({ - p, - px, - palette, - token, - scale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900], - value, - showIndex, - disableEditDrawer, - ...rest + p, + px, + palette, + token, + scale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900], + value, + showIndex, + disableEditDrawer, + ...rest }) => { - const { onOpen, onClose, isOpen } = useDisclosure() - const shadow = useColorModeValue('surface', 'surfaceDark') - const borderColor = useColorModeValue('blackAlpha.100', 'whiteAlpha.100') + const { onOpen, onClose, isOpen } = useDisclosure() + const shadow = useColorModeValue('surface', 'surfaceDark') + const borderColor = useColorModeValue('blackAlpha.100', 'whiteAlpha.100') - return ( - <> - - - {scale.map((paletteIndex, key) => ( -
+ - {showIndex && ( - = 0 ? 'gray.500' : palette[scale[9 - key]]} - size="xs" - d={{ base: 'none', md: 'inline' }} + - {paletteIndex} - - )} -
- ))} -
-
- {!disableEditDrawer && ( - - )} - - ) + {scale.map((paletteIndex, key) => ( +
+ {showIndex && ( + = 0 ? 'gray.500' : palette[scale[9 - key]]} + size="xs" + d={{ base: 'none', md: 'inline' }} + > + {paletteIndex} + + )} +
+ ))} + + + {!disableEditDrawer && ( + + )} + + ) } export default ThemeEditorPalette diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx index 7c2bced..09a0085 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx @@ -1,17 +1,17 @@ import React, { FC, useCallback, useState, useEffect, useMemo } from 'react' import { - Box, - Flex, - BoxProps, - useColorModeValue, - Input, - Text, - Popover, - PopoverTrigger, - PopoverContent, - PopoverBody, - Button, - Icon, + Box, + Flex, + BoxProps, + useColorModeValue, + Input, + Text, + Popover, + PopoverTrigger, + PopoverContent, + PopoverBody, + Button, + Icon, } from '@chakra-ui/react' import { useDebouncyEffect } from 'use-debouncy' import { RgbaStringColorPicker } from 'react-colorful' @@ -25,159 +25,164 @@ import { ElementsHighlighter } from '@hypertheme-editor/chakra-ui-core' extend([namesPlugin]) export type ThemeEditorPaletteColorItemProps = { - title: string - palette?: Record - scale?: (string | number)[] - value?: string - token: string - onChange: (value: { token: string; value: string }) => void - onDelete?: (token: string) => void - hasDelete?: boolean - showIndex?: boolean + title: string + palette?: Record + scale?: (string | number)[] + value?: string + token: string + onChange: (value: { token: string; value: string }) => void + onDelete?: (token: string) => void + hasDelete?: boolean + showIndex?: boolean } & Omit const ThemeEditorPaletteColorItem: FC = ({ - p, - px, - palette, - title = 'Primary', - token, - scale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900], - value, - onChange, - hasDelete, - onDelete, - showIndex, - ...rest + p, + px, + palette, + title = 'Primary', + token, + scale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900], + value, + onChange, + hasDelete, + onDelete, + showIndex, + ...rest }) => { - const [currentValue, setCurrentValue] = useState(value) + const [currentValue, setCurrentValue] = useState(value) - const rgbaString = useMemo(() => { - if (!currentValue) { - return '#ffffff' - } - return currentValue.startsWith('rgba') ? currentValue : colord(currentValue).toRgbString() - }, [currentValue]) + const rgbaString = useMemo(() => { + if (!currentValue) { + return '#ffffff' + } + return currentValue.startsWith('rgba') ? currentValue : colord(currentValue).toRgbString() + }, [currentValue]) - const shadow = useColorModeValue('surface', 'surfaceDark') - const safeB64Bg = useColorModeValue( - COLOR_PICKER_TRANSPARENT_SAFE_BG_B64[0], - COLOR_PICKER_TRANSPARENT_SAFE_BG_B64[1] - ) + const shadow = useColorModeValue('surface', 'surfaceDark') + const safeB64Bg = useColorModeValue( + COLOR_PICKER_TRANSPARENT_SAFE_BG_B64[0], + COLOR_PICKER_TRANSPARENT_SAFE_BG_B64[1] + ) - const handleValueChange: React.ChangeEventHandler = useCallback((event) => { - setCurrentValue(event.target.value) - }, []) + const handleValueChange: React.ChangeEventHandler = useCallback((event) => { + setCurrentValue(event.target.value) + }, []) - const handleDelete = useCallback(() => { - if (onDelete) { - onDelete(token) - } - }, [onDelete, token]) + const handleDelete = useCallback(() => { + if (onDelete) { + onDelete(token) + } + }, [onDelete, token]) - useDebouncyEffect( - () => { - if (colord(currentValue as any).isValid() && currentValue !== value) { - onChange({ token, value: currentValue! }) - } - }, - 500, - [currentValue] - ) + useDebouncyEffect( + () => { + if (colord(currentValue as any).isValid() && currentValue !== value) { + onChange({ token, value: currentValue! }) + } + }, + 500, + [currentValue] + ) - useEffect(() => { - setCurrentValue(value) - }, [value]) + useEffect(() => { + setCurrentValue(value) + }, [value]) - // useEffect(() => { - // if (onChange && isColor(debouncedValue)) { - // onChange({ token, value: debouncedValue }) - // } - // // eslint-disable-next-line react-hooks/exhaustive-deps - // }, [debouncedValue]) + // useEffect(() => { + // if (onChange && isColor(debouncedValue)) { + // onChange({ token, value: debouncedValue }) + // } + // // eslint-disable-next-line react-hooks/exhaustive-deps + // }, [debouncedValue]) - return ( - - - {title} - - - - - - - - - - - - - - - - - 0 - ? scale.map((s) => `colors.${token}.${s}`) - : `colors.${token}${palette ? '.500' : ''}` - } - > - 0 ? 32 : '100%'} - size="sm" - borderRadius="6px" - shadow={shadow} - cursor="pointer" - px="0.5rem" - pos="sticky" - left="0" - value={currentValue} - onChange={handleValueChange} - fontSize="0.875rem" - placeholder="Color code" - /> - - {palette && scale && scale.length > 0 && ( - - )} - {hasDelete && ( - - )} - - - ) + return ( + + + {title} + + + + + + + + + + + + + + + + + 0 + ? scale.map((s) => `colors.${token}.${s}`) + : `colors.${token}${palette ? '.500' : ''}` + } + > + 0 ? 32 : '100%'} + //size="sm" + size='md' + variant='filled' + borderRadius="6px" + //shadow={shadow} + border='none' + cursor="pointer" + px="0.5rem" + pos="sticky" + left="0" + value={currentValue} + onChange={handleValueChange} + fontSize="0.875rem" + placeholder="Color code" + /> + + {palette && scale && scale.length > 0 && ( + + )} + {hasDelete && ( + + )} + + + ) } export default ThemeEditorPaletteColorItem diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx index 1524fe7..9bc291b 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx @@ -1,143 +1,153 @@ import React, { FC, useCallback, useRef } from 'react' import { - Button, - Drawer, - DrawerBody, - DrawerContent, - DrawerProps, - useColorModeValue, - DrawerFooter, - Box, - SimpleGrid, + Button, + Drawer, + DrawerBody, + DrawerContent, + DrawerProps, + useColorModeValue, + DrawerFooter, + Box, + SimpleGrid, } from '@chakra-ui/react' import { BaseListItem, useThemeEditor } from '@hypertheme-editor/chakra-ui-core' import ThemeEditorColorItem from './ThemeEditorColorItem' import { ThemeEditorPaletteDrawerHeader } from './ThemeEditorPaletteDrawerHeader' export type ThemeEditorPaletteDrawerProps = { - palette: Record - scale?: (string | number)[] - token: string - showIndex?: boolean + palette: Record + scale?: (string | number)[] + token: string + showIndex?: boolean } & Omit const ThemeEditorPaletteDrawer: FC = (props) => { - const { - onClose, - palette, - scale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900], - token, - ...rest - } = props - const { theme, setTheme } = useThemeEditor() + const { + onClose, + palette, + scale = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900], + token, + ...rest + } = props + const { theme, setTheme } = useThemeEditor() - const btnRef = useRef() - const closeBtnRef = useRef() + const btnRef = useRef() + const closeBtnRef = useRef() - const bgColor = useColorModeValue('white', 'gray.900') - const bgColor2 = useColorModeValue('white', 'gray.800') + const bgColor = useColorModeValue('white', 'gray.900') + const bgColor2 = useColorModeValue('white', 'gray.800') - const shadow = useColorModeValue('surface', 'surfaceDark') + const shadow = useColorModeValue('surface', 'surfaceDark') - const handleChangeColor = useCallback( - ({ token, index, value }) => { - if (theme && theme.colors && theme.colors[token] && theme.colors[token][index]) { - if ( - typeof theme.colors[token][index] === 'string' && - theme.colors[token][index] !== value - ) { - try { - const newTheme = { - ...theme, - colors: { - ...theme.colors, - [token]: { - ...theme.colors[token], - [index]: value, - }, - }, - } as any - // setThemeColor(token, index, value) - setTheme(newTheme) - } catch (error) { - // - } - } - // } else { - // try { - // const newColorPalette = generatePalette(value) - // const newTheme = { - // ...theme, - // colors: { - // ...theme.colors, - // [token]: newColorPalette, - // }, - // } as any - // setThemeColorPalette(token, newColorPalette) - // setTheme(newTheme) - // } catch (error) { - // // - // } - // } - } - }, - [setTheme, theme] - ) + const handleChangeColor = useCallback( + ({ token, index, value }) => { + if (theme && theme.colors && theme.colors[token] && theme.colors[token][index]) { + if ( + typeof theme.colors[token][index] === 'string' && + theme.colors[token][index] !== value + ) { + try { + const newTheme = { + ...theme, + colors: { + ...theme.colors, + [token]: { + ...theme.colors[token], + [index]: value, + }, + }, + } as any + // setThemeColor(token, index, value) + setTheme(newTheme) + } catch (error) { + // + } + } + // } else { + // try { + // const newColorPalette = generatePalette(value) + // const newTheme = { + // ...theme, + // colors: { + // ...theme.colors, + // [token]: newColorPalette, + // }, + // } as any + // setThemeColorPalette(token, newColorPalette) + // setTheme(newTheme) + // } catch (error) { + // // + // } + // } + } + }, + [setTheme, theme] + ) + + return ( + - - - - - {scale.map((paletteIndex, key) => ( - - { - handleChangeColor({ token, index: colorIndex, value }) - }} - /> - - ))} - - - - - - - - - - ) + + + + + {scale.map((paletteIndex, key) => ( + + + { + handleChangeColor({ token, index: colorIndex, value }) + }} + /> + + + ))} + + + + + + + + + + ) } export default ThemeEditorPaletteDrawer diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx index 1657b79..c5733a2 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx @@ -1,37 +1,38 @@ import React, { FC, MutableRefObject } from 'react' import { - DrawerHeader, - Flex, - Box, - IconButton, - Divider, - ButtonGroup, - Button, - Text, + DrawerHeader, + Flex, + Box, + IconButton, + Divider, + ButtonGroup, + Button, + Text, } from '@chakra-ui/react' -import { MdClose } from 'react-icons/md' -import { RiArrowGoBackFill, RiArrowGoForwardFill } from 'react-icons/ri' +//import { MdClose } from 'react-icons/md' +//import { RiArrowGoBackFill, RiArrowGoForwardFill } from 'react-icons/ri' import { ColorModeToggle, useThemeEditor } from '@hypertheme-editor/chakra-ui-core' -import ThemeEditorPalette from './ThemeEditorPalette' - +//import ThemeEditorPalette from './ThemeEditorPalette' +import { BiArrowBack } from 'react-icons/bi' +import { BsArrow90DegLeft, BsArrow90DegRight } from 'react-icons/bs' type Props = { - onClose: () => void - initialFocusRef: MutableRefObject - token: string + onClose: () => void + initialFocusRef: MutableRefObject + token: string } export const ThemeEditorPaletteDrawerHeader: FC = ({ onClose, initialFocusRef, token }) => { - const { canUndo, canRedo, undo, redo, theme } = useThemeEditor() + const { canUndo, canRedo, undo, redo, theme } = useThemeEditor() - return ( - - - {theme?.colors && ( + return ( + + + { /* {theme?.colors && ( = ({ onClose, initialFocu d={{ base: 'none', sm: 'grid' }} disableEditDrawer /> - )} - - - {token} palette - - - - - - + )}*/} - - } - aria-label="redo" - disabled={!canRedo} - onClick={redo} - /> - + + + {token} palette + + + + + } + icon={} + bg='white' + aria-label="undo" + disabled={!canUndo} + onClick={undo} + border='1px solid #bcbcbc' + /> - - - ) -} + + } + icon={} + aria-label="redo" + disabled={!canRedo} + onClick={redo} + bg='white' + border='1px solid #bcbcbc' + /> + + + + + + {/* + } + aria-label="undo" + disabled={!canUndo} + onClick={undo} + /> + + + } + aria-label="redo" + disabled={!canRedo} + onClick={redo} + /> + + + */} + + ) +} \ No newline at end of file diff --git a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx index da86d12..b18c04a 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx @@ -1,163 +1,179 @@ import React, { FC, useState, useCallback, useMemo } from 'react' import { - Button, - ButtonGroup, - ButtonProps, - FormControl, - FormLabel, - Icon, - Input, - InputProps, - Popover, - PopoverBody, - PopoverCloseButton, - PopoverContent, - PopoverHeader, - PopoverTrigger, - Stack, - Switch, - useDisclosure, - Flex, - PopoverFooter, + Button, + ButtonGroup, + ButtonProps, + FormControl, + FormLabel, + Icon, + Input, + InputProps, + Popover, + PopoverBody, + PopoverCloseButton, + PopoverContent, + PopoverHeader, + PopoverTrigger, + Stack, + Switch, + useDisclosure, + Flex, + PopoverFooter, } from '@chakra-ui/react' import { - setThemeColorsOfPalette, - setThemeSingleColor, - useThemeEditor, + setThemeColorsOfPalette, + setThemeSingleColor, + useThemeEditor, } from '@hypertheme-editor/chakra-ui-core' import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { generatePalette } from './generateColorPalette' -import { CgColorPicker } from 'react-icons/cg' + +import { FaPlus } from 'react-icons/fa' +import { IconStepperContainer } from './IconStepperContainer' + type Props = { - buttonProps?: ButtonProps + buttonProps?: ButtonProps } const initialFormValues = { - name: '', - isPaletteColor: true, + name: '', + isPaletteColor: true, } const TextInput: FC = React.forwardRef( - (props, ref) => { - return ( - - - {props.label} - - - - ) - } + (props, ref) => { + return ( + + + {props.label} + + + + ) + } ) export const ThemeEditorPalettePopoverForm: FC = (props) => { - const { buttonProps } = props - - const { onOpen, onClose, isOpen } = useDisclosure() - const [tempPalette, setTempPalette] = useState | undefined>(undefined) - const initialFocusRef = React.useRef(null) - const { theme, setTheme } = useThemeEditor() - const [formState, setFormState] = useState>(initialFormValues) - - const handleInputChange = useCallback>( - (event) => { - const { target } = event - const value = target.type === 'checkbox' ? target.checked : target.value - const { name } = target - - if (name === 'isPaletteColor' && formState.color) { - if (value) { - setTempPalette(generatePalette(formState.color)) - } else { - setTempPalette(undefined) - } - } - - setFormState({ - ...formState, - [name]: value, - }) - }, - [formState] - ) - - const handleColorChange = useCallback( - ({ token, value }) => { - setFormState({ - ...formState, - color: value, - }) - - if (formState.isPaletteColor) { - setTempPalette(generatePalette(value)) - } else { - setTempPalette(undefined) - } - }, - [formState] - ) - - const handleCreateCustomColor = useCallback(() => { - try { - const token = formState.name.toLowerCase() - const newPalette = generatePalette(formState.color) - const newTheme = { - ...theme, - colors: { - ...theme!.colors, - [token]: formState.isPaletteColor ? newPalette : formState.color, + const { buttonProps } = props + + const { onOpen, onClose, isOpen } = useDisclosure() + const [tempPalette, setTempPalette] = useState | undefined>(undefined) + const initialFocusRef = React.useRef(null) + const { theme, setTheme } = useThemeEditor() + const [formState, setFormState] = useState>(initialFormValues) + + const handleInputChange = useCallback>( + (event) => { + const { target } = event + const value = target.type === 'checkbox' ? target.checked : target.value + const { name } = target + + if (name === 'isPaletteColor' && formState.color) { + if (value) { + setTempPalette(generatePalette(formState.color)) + } else { + setTempPalette(undefined) + } + } + + setFormState({ + ...formState, + [name]: value, + }) }, - } as any - - if (formState.isPaletteColor) { - setThemeColorsOfPalette(token, newPalette) - } else { - setThemeSingleColor(token, formState.color) - } - - setTheme(newTheme) - setFormState(initialFormValues) - setTempPalette(undefined) - onClose() - } catch (error) { - // - } - }, [formState.color, formState.isPaletteColor, formState.name, onClose, setTheme, theme]) - - const isFormValid = useMemo(() => formState.name && formState.color, [formState]) - - return ( - - - - - - {/* */} - - - Add Color - - - - {/* + [formState] + ) + + const handleColorChange = useCallback( + ({ token, value }) => { + setFormState({ + ...formState, + color: value, + }) + + if (formState.isPaletteColor) { + setTempPalette(generatePalette(value)) + } else { + setTempPalette(undefined) + } + }, + [formState] + ) + + const handleCreateCustomColor = useCallback(() => { + try { + const token = formState.name.toLowerCase() + const newPalette = generatePalette(formState.color) + const newTheme = { + ...theme, + colors: { + ...theme!.colors, + [token]: formState.isPaletteColor ? newPalette : formState.color, + }, + } as any + + if (formState.isPaletteColor) { + setThemeColorsOfPalette(token, newPalette) + } else { + setThemeSingleColor(token, formState.color) + } + + setTheme(newTheme) + setFormState(initialFormValues) + setTempPalette(undefined) + onClose() + } catch (error) { + // + } + }, [formState.color, formState.isPaletteColor, formState.name, onClose, setTheme, theme]) + + const isFormValid = useMemo(() => formState.name && formState.color, [formState]) + + return ( + + + + + + + + {/* */} + + + Add Color + + + + {/* = (props) => { */} - - - - - - - Palette - - - - - - - - - - - - - - - ) + + + + + + + Palette + + + + + + + + + + + + + + + ) } diff --git a/packages/chakra-ui-colors/tsconfig.json b/packages/chakra-ui-colors/tsconfig.json index 2c56cc4..c24318d 100644 --- a/packages/chakra-ui-colors/tsconfig.json +++ b/packages/chakra-ui-colors/tsconfig.json @@ -27,7 +27,7 @@ }, "include": [ "src" - ], +, "../chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx" ], "exclude": [ "node_modules", "lib", diff --git a/packages/chakra-ui-core/src/components/base/BaseListItem.tsx b/packages/chakra-ui-core/src/components/base/BaseListItem.tsx index 1701926..83bdb35 100644 --- a/packages/chakra-ui-core/src/components/base/BaseListItem.tsx +++ b/packages/chakra-ui-core/src/components/base/BaseListItem.tsx @@ -1,100 +1,102 @@ import React, { FC } from 'react' import { - useColorModeValue, - Box, - Text, - Circle, - Stack, - Flex, - ThemingProps, - As, - BoxProps, + useColorModeValue, + Box, + Text, + Circle, + Stack, + Flex, + ThemingProps, + As, + BoxProps, } from '@chakra-ui/react' import { FaArrowRight } from 'react-icons/fa' export type BaseListItemProps = { - subtitle?: string - bgImage?: string - icon?: As - endIcon?: React.ReactElement - isClickable?: boolean + subtitle?: string + bgImage?: string + icon?: As + endIcon?: React.ReactElement + isClickable?: boolean + } & Pick & - BoxProps + BoxProps const BaseListItem: FC = ({ - title, - subtitle, - colorScheme = 'gray', - children, - icon: Icon, - endIcon = , - isClickable, - ...rest -}) => { - const focusBgColor = useColorModeValue(`${colorScheme}.100`, `${colorScheme}.800`) + title, + subtitle, + colorScheme = 'gray', + children, + icon: Icon, + endIcon = , + isClickable, - return ( - - - - {Icon && ( - - - - )} - {title && ( - - {title} - - )} - {children} - - {subtitle && ( - - {subtitle} - - )} - + ...rest +}) => { + const focusBgColor = useColorModeValue(`${colorScheme}.100`, `${colorScheme}.800`) - {endIcon && isClickable && ( - - {React.cloneElement(endIcon, {})} - - )} - - ) + + + {Icon && ( + + + + )} + {title && ( + + {title} + + )} + {children} + + {subtitle && ( + + {subtitle} + + )} + + + {endIcon && isClickable && ( + + {React.cloneElement(endIcon, {})} + + )} + + ) } export default BaseListItem diff --git a/packages/chakra-ui-core/src/components/base/ColorModeToggle.tsx b/packages/chakra-ui-core/src/components/base/ColorModeToggle.tsx index a875cde..c6cbd44 100644 --- a/packages/chakra-ui-core/src/components/base/ColorModeToggle.tsx +++ b/packages/chakra-ui-core/src/components/base/ColorModeToggle.tsx @@ -5,41 +5,41 @@ import { RiMoonClearFill } from 'react-icons/ri' import { IconSwitch } from './IconSwitch' type ColorModeToggleProps = { - size?: 'sm' | 'md' | 'lg' - showLabel?: boolean + size?: 'sm' | 'md' | 'lg' + showLabel?: boolean } & StackProps & - ThemingProps + ThemingProps const ColorModeToggle: FC = (props) => { - const { size = 'md', showLabel, colorScheme = 'gray', fontSize, ...rest } = props - const { colorMode, toggleColorMode } = useColorMode() + const { size = 'md', showLabel, colorScheme = 'gray', fontSize, ...rest } = props + const { colorMode, toggleColorMode } = useColorMode() - return ( - - {showLabel && ( - - {colorMode} - - )} - - - ) + return ( + + {showLabel && ( + + {colorMode} + + )} + + + ) } export default ColorModeToggle diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index 424ffc2..b89b0af 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -1,112 +1,113 @@ import React, { FC } from 'react' import { - Box, - Text, - AccordionItemProps, - AccordionButton, - AccordionItem, - AccordionIcon, - Circle, - useColorModeValue, - ThemingProps, - As, - Tag, - Flex, - Collapse, - Icon as ChakraIcon, + Box, + Text, + AccordionItemProps, + AccordionButton, + AccordionItem, + AccordionIcon, + Circle, + useColorModeValue, + ThemingProps, + As, + Tag, + Flex, + Collapse, + Icon as ChakraIcon, } from '@chakra-ui/react' import { FaLock } from 'react-icons/fa' export type ThemeEditorAccordionItemProps = { - title?: string - subtitle?: string - icon?: As - endIcon?: As - tag?: string - unmountOnExit?: boolean + title?: string + subtitle?: string + icon?: As + endIcon?: As + tag?: string + unmountOnExit?: boolean } & AccordionItemProps & - Pick + Pick export const ThemeEditorAccordionItem: FC = (props) => { - const { - title = 'Accordion title', - subtitle, - colorScheme = 'gray', - icon: Icon, - tag, - children, - isDisabled, - unmountOnExit = true, - ...rest - } = props - const hoverBgColor = useColorModeValue('gray.200', 'gray.700') - const bgColor = useColorModeValue(`${colorScheme}.200`, `${colorScheme}.900`) + const { + title = 'Accordion title', + subtitle, + colorScheme = 'gray', + icon: Icon, + tag, + children, + isDisabled, + unmountOnExit = true, + ...rest + } = props + const hoverBgColor = useColorModeValue('gray.200', 'gray.700') + const bgColor = useColorModeValue(`${colorScheme}.200`, `${colorScheme}.900`) - return ( - - {({ isExpanded }) => ( - <> - - {Icon && ( - - - - )} - - - - {title} - {tag && ( - - {tag} - - )} - - {subtitle && ( - - {subtitle} - - )} - + return ( + + {({ isExpanded }) => ( + <> + + {Icon && ( + + + + )} + + + + {title} + {tag && ( + + {tag} + + )} + + {subtitle && ( + + {subtitle} + + )} + - {!isDisabled ? : } - - - *': { - w: 'full', - px: '0.5rem', - py: '0.5rem', - borderRadius: 'none', - }, - }} - > - {children} - - - - )} - - ) + {!isDisabled ? : } + + + *': { + w: 'full', + px: '0.5rem', + py: '0.5rem', + borderRadius: 'none', + }, + }} + > + {children} + + + + )} + + ) } export default ThemeEditorAccordionItem diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx index 94bff7b..6c68f67 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx @@ -1,83 +1,89 @@ import React, { FC, useCallback, MutableRefObject } from 'react' import { - DrawerHeader, - Flex, - Box, - IconButton, - Icon, - Divider, - ButtonGroup, - Button, - useColorModeValue, + DrawerHeader, + Flex, + Box, + IconButton, + Icon, + Divider, + ButtonGroup, + Button, + useColorModeValue, } from '@chakra-ui/react' import { FaRedo } from 'react-icons/fa' import { MdClose } from 'react-icons/md' -import { RiArrowGoBackFill, RiArrowGoForwardFill } from 'react-icons/ri' +//import { RiArrowGoBackFill, RiArrowGoForwardFill } from 'react-icons/ri' import { useRecoilState } from 'recoil' -import { ThemeIcon, ColorModeToggle } from '../base' -import { setThemeTokens } from '../../utils/updateThemeTokens' -import { themeEditorState, useThemeEditor } from '../../hooks/useThemeEditor' +import { ThemeIcon, ColorModeToggle } from '@hypertheme-editor/chakra-ui-core/src/components/base' +import { setThemeTokens } from '@hypertheme-editor/chakra-ui-core/src/utils/updateThemeTokens' +import { themeEditorState, useThemeEditor } from '@hypertheme-editor/chakra-ui-core/src/hooks/useThemeEditor' +import { BsArrow90DegLeft, BsArrow90DegRight } from 'react-icons/bs' + export type ThemeEditorDrawerHeaderProps = { - onClose?: () => void - initialFocusRef?: MutableRefObject + onClose?: () => void + initialFocusRef?: MutableRefObject } export const ThemeEditorDrawerHeader: FC = ({ - onClose, - initialFocusRef, + onClose, + initialFocusRef, }) => { - const { canUndo, canRedo, undo, redo } = useThemeEditor() - const [kitThemeState, setThemeState] = useRecoilState(themeEditorState) - const shadow = useColorModeValue('surface', 'surfaceDark') - const bgColor = useColorModeValue('whiteAlpha.600', 'gray.900') + const { canUndo, canRedo, undo, redo } = useThemeEditor() + const [kitThemeState, setThemeState] = useRecoilState(themeEditorState) + const shadow = useColorModeValue('surface', 'surfaceDark') + const bgColor = useColorModeValue('whiteAlpha.600', 'gray.900') - const handleResetTheme = useCallback(() => { - setThemeState({ - ...kitThemeState, - undoable: [], - undone: [], - currentTheme: kitThemeState.initialTheme, - }) - setThemeTokens(kitThemeState.initialTheme as any) - }, [kitThemeState, setThemeState]) + const handleResetTheme = useCallback(() => { + setThemeState({ + ...kitThemeState, + undoable: [], + undone: [], + currentTheme: kitThemeState.initialTheme, + }) + setThemeTokens(kitThemeState.initialTheme as any) + }, [kitThemeState, setThemeState]) - return ( - - {/* button as first element to let autofocus on open */} - - - + return ( + + {/* button as first element to let autofocus on open */} + + + - - - - - {/* + + + + {/* = ({ fontSize="1rem" bg="transparent" > */} - Hyper Theme - {/* */} - - - - {/* */} + + + + } + bg='white' + aria-label="undo" + disabled={!canUndo} + onClick={undo} + border='1px solid #bcbcbc' + /> + + + } + aria-label="redo" + disabled={!canRedo} + onClick={redo} + bg='white' + border='1px solid #bcbcbc' + /> + + {/* */} + {/* = ({ Reset theme */} - - - + + + + + {/* + } + aria-label="undo" + disabled={!canUndo} + onClick={undo} + /> + + + } + aria-label="redo" + disabled={!canRedo} + onClick={redo} + /> + */} + + + + ) - - } - aria-label="undo" - disabled={!canUndo} - onClick={undo} - /> - - } - aria-label="redo" - disabled={!canRedo} - onClick={redo} - /> - - - - ) } diff --git a/yarn.lock b/yarn.lock index 8dd7f36..0ba1e52 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2052,6 +2052,20 @@ dependencies: "@chakra-ui/utils" "1.8.2" +"@chakra-ui/icon@3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@chakra-ui/icon/-/icon-3.0.10.tgz#1a11b5edb42a8af7aa5b6dec2bf2c6c4df1869fc" + integrity sha512-utO569d9bptEraJrEhuImfNzQ8v+a8PsQh8kTsodCzg8B16R3t5TTuoqeJqS6Nq16Vq6w87QbX3/4A73CNK5fw== + dependencies: + "@chakra-ui/shared-utils" "2.0.1" + +"@chakra-ui/icons@^2.0.10": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@chakra-ui/icons/-/icons-2.0.10.tgz#61aeb44c913c10e7ff77addc798494e50d66c760" + integrity sha512-hxMspvysOay2NsJyadM611F/Y4vVzJU/YkXTxsyBjm6v/DbENhpVmPnUf+kwwyl7dINNb9iOF+kuGxnuIEO1Tw== + dependencies: + "@chakra-ui/icon" "3.0.10" + "@chakra-ui/image@1.0.20": version "1.0.20" resolved "https://registry.yarnpkg.com/@chakra-ui/image/-/image-1.0.20.tgz#18057ca248f17c813ad60812ac4c7965a1de1fda" @@ -2277,6 +2291,11 @@ "@chakra-ui/form-control" "1.4.1" "@chakra-ui/utils" "1.8.2" +"@chakra-ui/shared-utils@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/shared-utils/-/shared-utils-2.0.1.tgz#41e314e42c96039e8ffb265e73145cf755813ab4" + integrity sha512-NXDBl/u4wrSNp0ON5R3r3evkRurrAz2yuO7neooaG+O5HEenVouGqm4CsXd6lUAPmjwiGzA0LQFNCt0Hj92dXg== + "@chakra-ui/skeleton@1.1.18": version "1.1.18" resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-1.1.18.tgz#872df12d51487dca18faa8a7a4eaeedd791b9423" From cbb0638682d1ad2a09eb1fdef8caed2d7324761e Mon Sep 17 00:00:00 2001 From: sandra Date: Thu, 6 Oct 2022 10:17:30 +0200 Subject: [PATCH 07/23] feat: export modal footer --- .../theme-editor/ThemeDownloadButton.tsx | 51 +++++++++---------- .../theme-editor/ThemeEditorDrawer.tsx | 1 + .../theme-editor/ThemeEditorDrawerFooter.tsx | 2 +- .../theme-editor/ThemeEditorDrawerHeader.tsx | 4 +- .../theme-editor/ThemeExportDrawer.tsx | 46 +++++++++++++++-- .../src/hooks/useThemeEditor.ts | 4 ++ 6 files changed, 75 insertions(+), 33 deletions(-) diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx index 5799a6d..5773dd3 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx @@ -18,6 +18,7 @@ import BaseMenuItem from '../base/BaseMenuItem' import { API_ENDPOINT } from '../../constants' import { useThemeEditor } from '../../hooks/useThemeEditor' import { transform } from '@babel/core' +import { BsArrowRight } from 'react-icons/bs' const GENERATE_THEME_ENDPOINT = `${API_ENDPOINT}/generate-theme` @@ -29,15 +30,15 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { const toast = useToast() // Prende le keys di un oggetto e le trasforma in un array di stringhe - console.log('theme', theme) + /* console.log('theme', theme) const arrayP = ['blur', 'colors'] const getKeys = (obj) => { return Object.keys(obj) } - console.log('obj to array', getKeys(theme)) + console.log('obj to array', getKeys(theme)) */ // Prende un array di stringhe e lo trasforma in un oggetto - const objectify = (array) => { + /* const objectify = (array) => { return array.reduce((obj, item) => { if (theme !== undefined) { console.log('obj', obj) @@ -49,7 +50,7 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { }, {}) } - console.log('object', objectify(arrayP)) + console.log('object', objectify(arrayP)) */ const handleDownload = useCallback( (language: string) => async () => { @@ -75,7 +76,6 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { }) return } - const resultBlob = await result.blob() const url = window.URL.createObjectURL(resultBlob) const a = document.createElement('a') @@ -101,6 +101,25 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { ) return ( + + ) +} + +/* + return ( = ({ ...rest }) => { ) -} - -const ThemeDownloadMenuButton = ({ downloading = false, ...rest }) => { - return ( - - ) -} +*/ diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx index a7c42e4..ac7656a 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx @@ -7,6 +7,7 @@ import { DrawerContent, DrawerProps, useColorModeValue, + Text, } from '@chakra-ui/react' import { IconType } from 'react-icons' import ThemeEditorAccordion from './ThemeEditorAccordion' diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx index 914461c..44ef6e5 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx @@ -10,7 +10,7 @@ export type ThemeEditorDrawerFooterProps = { } export const ThemeEditorDrawerFooter: FC = ({ isMobile, - actionButton = , + // actionButton = , }) => { // const bgColor = useColorModeValue('whiteAlpha.600', 'gray.900') const { isOpen, onOpen, onClose } = useDisclosure() diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx index 8b0502a..813fa40 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx @@ -22,12 +22,14 @@ import { setThemeTokens } from '../../utils/updateThemeTokens' import { themeEditorState, useThemeEditor } from '../../hooks/useThemeEditor' export type ThemeEditorDrawerHeaderProps = { + title?: string onClose?: () => void initialFocusRef?: MutableRefObject children?: React.ReactNode } export const ThemeEditorDrawerHeader: FC = ({ + title = 'Hyper Theme', onClose, initialFocusRef, children, @@ -105,7 +107,7 @@ export const ThemeEditorDrawerHeader: FC = ({ h={{ lg: '60%' }} mb={{ base: 1, lg: 0 }} > - Hyper Theme + {title} {/* */} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx index d43e25a..d1cba82 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx @@ -15,11 +15,20 @@ import { chakra, useCheckboxGroup, Box, + Button, + Menu, + MenuButton, + MenuItem, + MenuList, + Icon, } from '@chakra-ui/react' -import React, { FC } from 'react' +import React, { FC, useCallback, useEffect, useRef, useState } from 'react' +import { MdKeyboardArrowDown } from 'react-icons/md' import { ThemeEditorDrawerHeaderProps } from '.' + import { useThemeEditor } from '../../hooks/useThemeEditor' import { ThemeEditorDrawerHeader } from './ThemeEditorDrawerHeader' +import { ThemeDownloadButton } from './ThemeDownloadButton' export type ThemeExportDrawerProps = { isOpen: boolean @@ -77,9 +86,10 @@ export const ThemeExportDrawer: FC = ({ const { value, getCheckboxProps } = useCheckboxGroup({ defaultValue: [], }) + const [selectedLanguage, setSelectedLanguage] = useState('ts') console.log('theme', theme) - console.log('editable', editableProperties) - console.log('selected values', value) + /* console.log('editable', editableProperties) + console.log('selected values', value) */ return ( @@ -109,6 +119,9 @@ export const ThemeExportDrawer: FC = ({ } )} + + + {getKeys(editableProperties).map((key, index) => { return ( @@ -119,7 +132,30 @@ export const ThemeExportDrawer: FC = ({ })} - + + + + }> + {selectedLanguage === 'ts' ? 'TypeScript' : 'JavaScript'} + + + setSelectedLanguage((e.target as HTMLInputElement).value)} + > + TypeScript + + setSelectedLanguage((e.target as HTMLInputElement).value)} + > + JavaScript + + + + + + ) @@ -154,7 +190,7 @@ const ThemeProperty = (props) => { borderRadius="2xl" w="40px" h="40px" - colorScheme="primary" + colorscheme="primary" bgColor={state.isChecked ? 'primary.500' : checkboxBgColor} {...getCheckboxProps()} > diff --git a/packages/chakra-ui-core/src/hooks/useThemeEditor.ts b/packages/chakra-ui-core/src/hooks/useThemeEditor.ts index d8e5cf4..30be0fb 100644 --- a/packages/chakra-ui-core/src/hooks/useThemeEditor.ts +++ b/packages/chakra-ui-core/src/hooks/useThemeEditor.ts @@ -33,10 +33,14 @@ export const themeEditorState = atom({ default: { initialTheme: undefined, currentTheme: undefined, undoable: [], undone: [] }, effects_UNSTABLE: [ ({ onSet, setSelf }) => { + console.log('onSet', onSet, 'setSelf', setSelf) onSet((newValue) => { + console.log('newValue', newValue) if (newValue instanceof DefaultValue) { // + console.log('newValue in if', newValue) } else { + console.log('else') localStorage.setItem( THEME_STATE_LOCAL_STORAGE_KEY, JSON.stringify({ From 0292ffe4348bff152ed9868963fefad50965cf44 Mon Sep 17 00:00:00 2001 From: sandra Date: Thu, 6 Oct 2022 17:20:26 +0200 Subject: [PATCH 08/23] feat: ThemeExportDrawer dark mode --- .../theme-editor/ThemeDownloadButton.tsx | 32 +++-- .../theme-editor/ThemeEditorDrawerFooter.tsx | 4 +- .../theme-editor/ThemeExportDrawer.tsx | 110 +++++++++++++----- 3 files changed, 111 insertions(+), 35 deletions(-) diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx index 5773dd3..7403c54 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx @@ -1,4 +1,4 @@ -import React, { FC, useCallback, useState } from 'react' +import React, { FC, useCallback, useEffect, useState } from 'react' import { Button, ButtonProps, @@ -16,17 +16,28 @@ import { SiJavascript, SiTypescript } from 'react-icons/si' import BaseMenu from '../base/BaseMenu' import BaseMenuItem from '../base/BaseMenuItem' import { API_ENDPOINT } from '../../constants' -import { useThemeEditor } from '../../hooks/useThemeEditor' +import { Theme, useThemeEditor } from '../../hooks/useThemeEditor' import { transform } from '@babel/core' import { BsArrowRight } from 'react-icons/bs' const GENERATE_THEME_ENDPOINT = `${API_ENDPOINT}/generate-theme` -type Props = {} & ButtonProps +type Props = { + baseTheme: any + selectedProperties: string[] | number[] + selectAll: boolean + selectedLanguage: string +} & ButtonProps -export const ThemeDownloadButton: FC = ({ ...rest }) => { +export const ThemeDownloadButton: FC = ({ + baseTheme, + selectedProperties, + selectAll, + selectedLanguage, + ...rest +}) => { const [downloading, setDownloading] = useState(false) - const { theme } = useThemeEditor() + let { theme, setTheme } = useThemeEditor() const toast = useToast() // Prende le keys di un oggetto e le trasforma in un array di stringhe @@ -38,7 +49,7 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { console.log('obj to array', getKeys(theme)) */ // Prende un array di stringhe e lo trasforma in un oggetto - /* const objectify = (array) => { + const objectify = (array) => { return array.reduce((obj, item) => { if (theme !== undefined) { console.log('obj', obj) @@ -50,7 +61,11 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { }, {}) } - console.log('object', objectify(arrayP)) */ + // TO UNCOMMENT ONCE THE API IS READY + /* useEffect(() => { + const newTheme = objectify(selectedProperties) + setTheme({ newTheme, ...baseTheme }) + }, []) */ const handleDownload = useCallback( (language: string) => async () => { @@ -85,6 +100,7 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { a.click() a.remove() } catch (error) { + console.log('wee error', error) // show an alert here // toast({ // title: 'Error during the download.', @@ -110,7 +126,7 @@ export const ThemeDownloadButton: FC = ({ ...rest }) => { disabled={downloading} w="fit-content" px={10} - onClick={handleDownload('ts')} + onClick={handleDownload(selectedLanguage)} {...rest} > Export diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx index 44ef6e5..f710822 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx @@ -1,5 +1,6 @@ -import { Button, Flex, useDisclosure } from '@chakra-ui/react' +import { Button, Flex, Icon, useDisclosure } from '@chakra-ui/react' import React, { FC } from 'react' +import { AiOutlineArrowDown } from 'react-icons/ai' import { ThemeDownloadButton } from '.' import { ThemeExportDrawer } from './ThemeExportDrawer' @@ -24,6 +25,7 @@ export const ThemeEditorDrawerFooter: FC = ({ variant="solid" borderRadius="3xl" w="full" + leftIcon={} px={8} py={8} > diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx index d1cba82..62285cb 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx @@ -21,6 +21,8 @@ import { MenuItem, MenuList, Icon, + useColorMode, + HStack, } from '@chakra-ui/react' import React, { FC, useCallback, useEffect, useRef, useState } from 'react' import { MdKeyboardArrowDown } from 'react-icons/md' @@ -56,7 +58,7 @@ export const ThemeExportDrawer: FC = ({ shadows, radii, space, - ...baseProperties + ...baseTheme } = theme as any const themeLabels = [ 'Colors', @@ -83,11 +85,13 @@ export const ThemeExportDrawer: FC = ({ const getKeys = (obj) => { return Object.keys(obj) } - const { value, getCheckboxProps } = useCheckboxGroup({ + const { value, setValue, getCheckboxProps } = useCheckboxGroup({ defaultValue: [], }) const [selectedLanguage, setSelectedLanguage] = useState('ts') + const [selectAll, setSelectAll] = useState(false) console.log('theme', theme) + const { colorMode } = useColorMode() /* console.log('editable', editableProperties) console.log('selected values', value) */ @@ -118,35 +122,85 @@ export const ThemeExportDrawer: FC = ({ ), } )} - - - + + + Export + {getKeys(editableProperties).map((key, index) => { return ( - + ) })} - + - }> - {selectedLanguage === 'ts' ? 'TypeScript' : 'JavaScript'} + } + > + + + + + {selectedLanguage === 'ts' ? 'TypeScript' : 'JavaScript'} + setSelectedLanguage((e.target as HTMLInputElement).value)} > TypeScript setSelectedLanguage((e.target as HTMLInputElement).value)} > JavaScript @@ -154,7 +208,12 @@ export const ThemeExportDrawer: FC = ({ - + @@ -163,21 +222,22 @@ export const ThemeExportDrawer: FC = ({ const ThemeProperty = (props) => { const { state, getCheckboxProps, getInputProps, getLabelProps, htmlProps } = useCheckbox(props) - const bgColor = useColorModeValue('white', 'gray.700') - const checkboxBgColor = useColorModeValue('gray.100', 'gray.800') + const { colorMode } = useColorMode() + const bgColor = useColorModeValue('white', 'gray.800') + const checkboxBgColor = useColorModeValue('gray.100', 'gray.900') + const checked = state.isChecked || props.selected + return ( { w="40px" h="40px" colorscheme="primary" - bgColor={state.isChecked ? 'primary.500' : checkboxBgColor} + bgColor={ + checked ? (colorMode === 'light' ? 'primary.500' : 'primary.600') : checkboxBgColor + } {...getCheckboxProps()} > - {props.label} From fb9097ad9914116c9e17738ef6ddffc65c86f751 Mon Sep 17 00:00:00 2001 From: mirela Date: Thu, 6 Oct 2022 21:57:03 +0200 Subject: [PATCH 09/23] update:palette color --- .../{ => Stepper}/IconStepperContainer.tsx | 2 +- .../src/Stepper/StepperContainer.tsx | 44 +++++++++++++++++++ .../chakra-ui-colors/src/StepperContainer.tsx | 39 ---------------- .../src/ThemeEditorColorItem.tsx | 42 ++++++++++++++++-- .../src/ThemeEditorColors.tsx | 32 +++++++++----- .../src/ThemeEditorPalette.tsx | 12 ++--- .../src/ThemeEditorPaletteColorItem.tsx | 18 +++++--- .../src/ThemeEditorPalettePopoverForm.tsx | 14 +++--- .../theme-editor/ThemeEditorAccordion.tsx | 39 ++++++++-------- 9 files changed, 150 insertions(+), 92 deletions(-) rename packages/chakra-ui-colors/src/{ => Stepper}/IconStepperContainer.tsx (74%) create mode 100644 packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx delete mode 100644 packages/chakra-ui-colors/src/StepperContainer.tsx diff --git a/packages/chakra-ui-colors/src/IconStepperContainer.tsx b/packages/chakra-ui-colors/src/Stepper/IconStepperContainer.tsx similarity index 74% rename from packages/chakra-ui-colors/src/IconStepperContainer.tsx rename to packages/chakra-ui-colors/src/Stepper/IconStepperContainer.tsx index 306e7fc..3042000 100644 --- a/packages/chakra-ui-colors/src/IconStepperContainer.tsx +++ b/packages/chakra-ui-colors/src/Stepper/IconStepperContainer.tsx @@ -19,7 +19,7 @@ export const IconStepperContainer: FC = (props) => { marginRight='1.2rem' paddingLeft='1rem' paddingBottom='0' - _after={{ content: `""`, position: "absolute", left: "calc(-1.5px)", top: "2.7em", width: "14px", height: "12px", borderLeft: "solid 2px #E8EBF0", borderBottom: "solid 2px #E8EBF0", borderRadius: "0 0 0 8px", zIndex: '1' }} + _after={{ content: `""`, position: "absolute", left: "calc(-7px)", top: "2.8em", width: "14px", height: "12px", borderLeft: "solid 2px #E8EBF0", borderBottom: "solid 2px #E8EBF0", borderRadius: "0 0 0 6px", zIndex: '1' }} >{props.children} diff --git a/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx b/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx new file mode 100644 index 0000000..d01d314 --- /dev/null +++ b/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx @@ -0,0 +1,44 @@ + +import React, { FC } from "react"; +import { Box as PseudoBox, useColorModeValue } from '@chakra-ui/react' +import { GrAnalytics } from "react-icons/gr"; + + + +type Props = { + +} + + +export const StepperContainer: FC = (props) => { + const bgColor = useColorModeValue('#E8EBF0', 'gray.200') + + return ( + + {props.children} + + + + ) +} + + + + + + + + + diff --git a/packages/chakra-ui-colors/src/StepperContainer.tsx b/packages/chakra-ui-colors/src/StepperContainer.tsx deleted file mode 100644 index 8a7113d..0000000 --- a/packages/chakra-ui-colors/src/StepperContainer.tsx +++ /dev/null @@ -1,39 +0,0 @@ - -import React, { FC } from "react"; -import { Box as PseudoBox } from '@chakra-ui/react' - - - -type Props = { - -} - - -export const StepperContainer: FC = (props) => { - return ( - {props.children} - - - - ) -} - - - - - - - - - diff --git a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx index ed9c438..39c3ba3 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx @@ -10,7 +10,9 @@ import { PopoverTrigger, PopoverContent, PopoverBody, - Circle + + Icon, + Tooltip } from '@chakra-ui/react' import { useDebouncyEffect } from 'use-debouncy' import { RgbaStringColorPicker } from 'react-colorful' @@ -19,7 +21,7 @@ import namesPlugin from 'colord/plugins/names' import { COLOR_PICKER_TRANSPARENT_SAFE_BG_B64 } from './constants' import { ElementsHighlighter } from '@hypertheme-editor/chakra-ui-core' // -import { FaLink } from 'react-icons/fa' +//import { CopyToClipboard } from "react-copy-to-clipboard"; import { BiCopy } from 'react-icons/bi' extend([namesPlugin]) @@ -43,6 +45,16 @@ const ThemeEditorColorItem: FC = ({ ...rest }) => { const [currentValue, setCurrentValue] = useState(value) + const [isCopied, setCopied] = useState(false); + //copy function + useEffect(() => { + const timeout = setTimeout(() => { + setCopied(false); + }, 3000); + + return () => clearTimeout(timeout); + }, [isCopied]); + // const rgbaString = useMemo(() => { if (!currentValue) { @@ -58,7 +70,8 @@ const ThemeEditorColorItem: FC = ({ ) const handleValueChange: React.ChangeEventHandler = useCallback((event) => { - setCurrentValue(event.target.value) + setCurrentValue(event.target.value), + setCopied(false); }, []) useDebouncyEffect( @@ -75,6 +88,9 @@ const ThemeEditorColorItem: FC = ({ setCurrentValue(value) }, [value]) + + + return ( { /* @@ -94,6 +110,7 @@ const ThemeEditorColorItem: FC = ({ _hover={{ shadow: 'md', }} + > = ({ pos="sticky" left="0" value={currentValue} + onChange={handleValueChange} + fontSize="0.875rem" placeholder="Color code" border='none' /> - + + + + {/* setCopied(true)}> + + */} + + ) diff --git a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx index af29f8c..82e837a 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx @@ -1,5 +1,5 @@ import React, { FC, useCallback, useMemo } from 'react' -import { Accordion, Box, Circle } from '@chakra-ui/react' +import { Accordion, Box, Circle, useColorMode, useColorModeValue } from '@chakra-ui/react' import { CgColorPicker } from 'react-icons/cg' import { useThemeEditor, @@ -13,8 +13,8 @@ import { ThemeEditorPalettePopoverForm } from './ThemeEditorPalettePopoverForm' import { generatePalette } from './generateColorPalette' //my modifications -import { StepperContainer } from './StepperContainer' -import { IconStepperContainer } from './IconStepperContainer' +import { StepperContainer } from './Stepper/StepperContainer' +import { IconStepperContainer } from './Stepper/IconStepperContainer' import { BiGridVertical } from 'react-icons/bi' type Props = { // @@ -81,20 +81,24 @@ export const ThemeEditorColors: FC = (props) => { return Object.keys(theme.colors).filter((item) => themeColorKeys.indexOf(item) === -1) }, [theme]) + + return ( - + {customColorTokens.map((item, index) => { //added a box with the bi-grid icon - return ( + return ( = (props) => { hasDelete onDelete={handleDeleteCustomColor} showIndex + mt='-1' + + @@ -134,7 +141,8 @@ export const ThemeEditorColors: FC = (props) => { - = (props) => { /> - + = (props) => { /> - + = ({ closeOnMouseDown hasArrow isDisabled={disableEditDrawer} + > = ({ {scale.map((paletteIndex, key) => (
= ({ return ( - + {title} @@ -142,9 +142,10 @@ const ThemeEditorPaletteColorItem: FC = ({ } > 0 ? 32 : '100%'} - //size="sm" - size='md' + // w={palette && scale && scale.length > 0 ? 32 : '100%'} + width='162px' + height='40px' + // size='sm' variant='filled' borderRadius="6px" //shadow={shadow} @@ -166,7 +167,8 @@ const ThemeEditorPaletteColorItem: FC = ({ )} {hasDelete && ( )} diff --git a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx index b18c04a..9897cd5 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx @@ -29,7 +29,7 @@ import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { generatePalette } from './generateColorPalette' import { FaPlus } from 'react-icons/fa' -import { IconStepperContainer } from './IconStepperContainer' +import { IconStepperContainer } from './Stepper/IconStepperContainer' type Props = { @@ -131,7 +131,7 @@ export const ThemeEditorPalettePopoverForm: FC = (props) => { const isFormValid = useMemo(() => formState.name && formState.color, [formState]) return ( - + = (props) => { diff --git a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx index 9897cd5..a26cc48 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx @@ -19,6 +19,8 @@ import { useDisclosure, Flex, PopoverFooter, + useColorMode, + useColorModeValue, } from '@chakra-ui/react' import { setThemeColorsOfPalette, @@ -129,7 +131,7 @@ export const ThemeEditorPalettePopoverForm: FC = (props) => { }, [formState.color, formState.isPaletteColor, formState.name, onClose, setTheme, theme]) const isFormValid = useMemo(() => formState.name && formState.color, [formState]) - + const bgColor = useColorModeValue('#EBF7F0', '#FFFFFF') return ( = (props) => { height='32px' boxShadow='md' rounded='md' - bgColor='#EBF7F0' + bgColor='bgColor' color='#6FCF97' alignSelf="flex-start" //px="2.5rem" diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordion.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordion.tsx index 31c337b..9e66441 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordion.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordion.tsx @@ -9,10 +9,11 @@ export type ThemeEditorAccordionProps = { export const ThemeEditorAccordion: FC = (props) => { const { children, ...rest } = props const shadow = useColorModeValue('surface', 'surfaceDark') + const bgColor = useColorModeValue('white', 'gray.800') return ( - + {React.Children.map(children, (child, key) => { return React.cloneElement(child, { diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index b89b0af..81dbb0d 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -8,6 +8,7 @@ import { AccordionIcon, Circle, useColorModeValue, + useColorMode, ThemingProps, As, Tag, @@ -15,7 +16,7 @@ import { Collapse, Icon as ChakraIcon, } from '@chakra-ui/react' -import { FaLock } from 'react-icons/fa' +import { FaLock, FaPlus } from 'react-icons/fa' export type ThemeEditorAccordionItemProps = { title?: string @@ -36,20 +37,24 @@ export const ThemeEditorAccordionItem: FC = (prop tag, children, isDisabled, + unmountOnExit = true, ...rest } = props const hoverBgColor = useColorModeValue('gray.200', 'gray.700') const bgColor = useColorModeValue(`${colorScheme}.200`, `${colorScheme}.900`) - + const { colorMode } = useColorMode() return ( - + {({ isExpanded }) => ( <> {Icon && ( = (prop bgColor={`${colorScheme}.200`} color={`${colorScheme}.600`} fontSize="0.875rem" - mr="0.5rem" + // mr="0.5rem" + mr='1rem' > )} - + {title} {tag && ( = (prop )} - {subtitle && ( + {subtitle && !isExpanded && ( + {subtitle} )} - + + {title == "Custom colors" && isExpanded && ( + + )} {!isDisabled ? : } export const FreeVersionWithRootPanel = (args) => ( - - - - - - {/* - - - - - */} - - - + + + + + + + + + + {/* */} + + + + ) export const FreeVersionWithoutRootPanel = (args) => ( - - - - - - {/* + + + + + + {/* */} - - - + + + ) export const ProVersion = (args) => ( - - + + - - - - - {/* + + + + + {/* @@ -81,26 +82,26 @@ export const ProVersion = (args) => ( */} - - - - + + + + ) export const ControlledThemeEditor = (args) => { - const [isOpen, setIsOpen] = useState(true) - const onClick = useCallback(() => setIsOpen(!isOpen), [isOpen]) - const onClose = () => setIsOpen(false) + const [isOpen, setIsOpen] = useState(true) + const onClick = useCallback(() => setIsOpen(!isOpen), [isOpen]) + const onClose = () => setIsOpen(false) - return ( - - + return ( + + - - - - - ) + + + + + ) } From 1c92da8dd22da41a67325d49a4b851c8cbe08ca3 Mon Sep 17 00:00:00 2001 From: sandra Date: Tue, 11 Oct 2022 09:36:49 +0200 Subject: [PATCH 11/23] refactor: ThemeExportDrawer structure --- .../theme-editor/ThemeDownloadButton.tsx | 18 +- .../theme-editor/ThemeEditorDrawer.tsx | 2 +- .../theme-editor/ThemeEditorDrawerFooter.tsx | 17 +- .../theme-editor/ThemeEditorDrawerHeader.tsx | 179 +++++++++--------- .../theme-editor/ThemeExportDrawer.tsx | 161 +++------------- .../theme-editor/ThemeExportDrawerFooter.tsx | 90 +++++++++ .../components/theme-editor/ThemeProperty.tsx | 65 +++++++ .../chakra-ui-theme/src/foundations/colors.ts | 20 +- 8 files changed, 308 insertions(+), 244 deletions(-) create mode 100644 packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawerFooter.tsx create mode 100644 packages/chakra-ui-core/src/components/theme-editor/ThemeProperty.tsx diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx index 7403c54..646a3d6 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeDownloadButton.tsx @@ -39,6 +39,8 @@ export const ThemeDownloadButton: FC = ({ const [downloading, setDownloading] = useState(false) let { theme, setTheme } = useThemeEditor() const toast = useToast() + console.log('theme', theme) + console.log('baseTheme', baseTheme) // Prende le keys di un oggetto e le trasforma in un array di stringhe /* console.log('theme', theme) @@ -62,10 +64,20 @@ export const ThemeDownloadButton: FC = ({ } // TO UNCOMMENT ONCE THE API IS READY - /* useEffect(() => { + /* useEffect(() => { const newTheme = objectify(selectedProperties) - setTheme({ newTheme, ...baseTheme }) - }, []) */ + if (selectedProperties.length > 0) { + setTheme({ newTheme, ...baseTheme }) + } else { + setTheme({ ...baseTheme }) + } + }, [theme, setTheme, baseTheme]) */ + const { colors, ...others } = theme as Theme + const { blue, ...otherColors } = colors as any + + useEffect(() => { + setTheme({ colors: { blue: '', ...otherColors }, ...others }) + }, []) const handleDownload = useCallback( (language: string) => async () => { diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx index 6915d50..5c0c574 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx @@ -135,7 +135,7 @@ export const ThemeEditorDrawer: FC = ({ React.cloneElement( footerComponent as React.ReactElement, { - onClose, + // onClose, isMobile, } )} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx index f710822..cdcbf4b 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerFooter.tsx @@ -5,9 +5,9 @@ import { ThemeDownloadButton } from '.' import { ThemeExportDrawer } from './ThemeExportDrawer' export type ThemeEditorDrawerFooterProps = { - onClose?: () => void + // onClose?: () => void isMobile?: boolean - actionButton?: React.ReactNode + // actionButton?: React.ReactNode } export const ThemeEditorDrawerFooter: FC = ({ isMobile, @@ -17,16 +17,23 @@ export const ThemeEditorDrawerFooter: FC = ({ const { isOpen, onOpen, onClose } = useDisclosure() return ( - + - - - {children ? ( - children - ) : ( - - {/* + {children ? children : } + + + + ) +} + +const ThemeEditorDrawerDefaultHeader = ({ title }) => { + const { canUndo, canRedo, undo, redo } = useThemeEditor() + const { colorMode } = useColorMode() + const [kitThemeState, setThemeState] = useRecoilState(themeEditorState) + const handleResetTheme = useCallback(() => { + setThemeState({ + ...kitThemeState, + undoable: [], + undone: [], + currentTheme: kitThemeState.initialTheme, + }) + setThemeTokens(kitThemeState.initialTheme as any) + }, [kitThemeState, setThemeState]) + + return ( + + {/* = ({ fontSize="1rem" bg="transparent" > */} - - {title} - - {/* */} - - - - } - fontSize="16px" - height="27px" - width="27px" - aria-label="undo" - disabled={!canUndo} - onClick={undo} - variant="outline" - border="none" - color={colorMode == 'light' ? 'gray.600' : 'gray.100'} - bgColor={colorMode == 'light' ? 'white' : 'gray.700'} - _focus={{ border: 'none' }} - /> - - } - fontSize="16px" - height="27px" - width="27px" - aria-label="redo" - disabled={!canRedo} - onClick={redo} - variant="outline" - border="none" - color={colorMode == 'light' ? 'gray.600' : 'gray.100'} - bgColor={colorMode == 'light' ? 'white' : 'gray.700'} - _focus={{ border: 'none' }} - /> - - } - onClick={handleResetTheme} - fontSize="15px" - size="sm" - height="27px" - w="10px" - variant="outline" - border="none" - color={colorMode == 'light' ? 'gray.600' : 'gray.100'} - bgColor={colorMode == 'light' ? 'white' : 'gray.700'} - _focus={{ border: 'none' }} - boxShadow="0px 4px 8px rgba(0, 0, 0, 0.05), 0px 0px 1px rgba(0, 0, 0, 0.2)" - /> - {/* + {title} + + {/* */} + + + + } + fontSize="16px" + height="27px" + width="27px" + aria-label="undo" + disabled={!canUndo} + onClick={undo} + variant="outline" + border="none" + color={colorMode == 'light' ? 'gray.600' : 'gray.100'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + _focus={{ border: 'none' }} + /> + + } + fontSize="16px" + height="27px" + width="27px" + aria-label="redo" + disabled={!canRedo} + onClick={redo} + variant="outline" + border="none" + color={colorMode == 'light' ? 'gray.600' : 'gray.100'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + _focus={{ border: 'none' }} + /> + + } + onClick={handleResetTheme} + fontSize="15px" + size="sm" + height="27px" + w="10px" + variant="outline" + border="none" + color={colorMode == 'light' ? 'gray.600' : 'gray.100'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + _focus={{ border: 'none' }} + boxShadow="0px 4px 8px rgba(0, 0, 0, 0.05), 0px 0px 1px rgba(0, 0, 0, 0.2)" + /> + {/* = ({ Reset theme */} - - - )} - - - + + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx index 62285cb..74a7b1a 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawer.tsx @@ -1,36 +1,29 @@ import { - Checkbox, Drawer, DrawerBody, DrawerContent, - DrawerFooter, Flex, Grid, GridItem, Heading, useColorModeValue, Text, - useCheckbox, - ChakraProvider, - chakra, useCheckboxGroup, - Box, Button, - Menu, - MenuButton, - MenuItem, - MenuList, - Icon, useColorMode, - HStack, } from '@chakra-ui/react' -import React, { FC, useCallback, useEffect, useRef, useState } from 'react' -import { MdKeyboardArrowDown } from 'react-icons/md' +import React, { FC, useState } from 'react' import { ThemeEditorDrawerHeaderProps } from '.' import { useThemeEditor } from '../../hooks/useThemeEditor' import { ThemeEditorDrawerHeader } from './ThemeEditorDrawerHeader' -import { ThemeDownloadButton } from './ThemeDownloadButton' +import { ThemeProperty } from './ThemeProperty' +import { ThemeExportDrawerFooter } from './ThemeExportDrawerFooter' +import { BiPaint } from 'react-icons/bi' +import { AiOutlineFontSize, AiOutlineRadiusUpright } from 'react-icons/ai' +import { BsFonts } from 'react-icons/bs' +import { CgEditShadows, CgFontSpacing, CgFormatLineHeight, CgSpaceBetween } from 'react-icons/cg' +import { FaBold } from 'react-icons/fa' export type ThemeExportDrawerProps = { isOpen: boolean @@ -60,7 +53,7 @@ export const ThemeExportDrawer: FC = ({ space, ...baseTheme } = theme as any - const themeLabels = [ + /* const themeLabels = [ 'Colors', 'Font', 'Font Sizes', @@ -70,6 +63,17 @@ export const ThemeExportDrawer: FC = ({ 'Shadows', 'Radii', 'Space', + ] */ + const themeLabels = [ + { title: 'Colors', icon: BiPaint }, + { title: 'Font', icon: BsFonts }, + { title: 'Font Sizes', icon: AiOutlineFontSize }, + { title: 'Font Weight', icon: FaBold }, + { title: 'Line Height', icon: CgFormatLineHeight }, + { title: 'Letter Spacing', icon: CgFontSpacing }, + { title: 'Shadows', icon: CgEditShadows }, + { title: 'Radii', icon: AiOutlineRadiusUpright }, + { title: 'Space', icon: CgSpaceBetween }, ] const editableProperties = { colors, @@ -104,16 +108,16 @@ export const ThemeExportDrawer: FC = ({ { onClose, children: ( - - + + Export Hyper Theme @@ -147,7 +151,8 @@ export const ThemeExportDrawer: FC = ({ @@ -156,120 +161,8 @@ export const ThemeExportDrawer: FC = ({ })} - - - - } - > - - - - - {selectedLanguage === 'ts' ? 'TypeScript' : 'JavaScript'} - - - - setSelectedLanguage((e.target as HTMLInputElement).value)} - > - TypeScript - - setSelectedLanguage((e.target as HTMLInputElement).value)} - > - JavaScript - - - - - - + ) } - -const ThemeProperty = (props) => { - const { state, getCheckboxProps, getInputProps, getLabelProps, htmlProps } = useCheckbox(props) - const { colorMode } = useColorMode() - const bgColor = useColorModeValue('white', 'gray.800') - const checkboxBgColor = useColorModeValue('gray.100', 'gray.900') - const checked = state.isChecked || props.selected - - return ( - - - - - - - {props.label} - - - ) -} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawerFooter.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawerFooter.tsx new file mode 100644 index 0000000..e0788be --- /dev/null +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeExportDrawerFooter.tsx @@ -0,0 +1,90 @@ +import { + Button, + DrawerFooter, + Flex, + HStack, + Icon, + Menu, + MenuButton, + MenuItem, + MenuList, + useColorMode, + Text, +} from '@chakra-ui/react' +import React, { FC, useState } from 'react' +import { MdKeyboardArrowDown } from 'react-icons/md' +import { SiTypescript, SiJavascript } from 'react-icons/si' +import { ThemeDownloadButton } from './ThemeDownloadButton' + +type ThemeExportDrawerFooterProps = { + baseTheme: any + value: any + selectAll: boolean +} + +export const ThemeExportDrawerFooter: FC = (props) => { + const [selectedLanguage, setSelectedLanguage] = useState('ts') + const { colorMode } = useColorMode() + return ( + + + + } + > + + + + + {selectedLanguage === 'ts' ? 'TypeScript' : 'JavaScript'} + + + + setSelectedLanguage((e.target as HTMLInputElement).value)} + > + TypeScript + + setSelectedLanguage((e.target as HTMLInputElement).value)} + > + JavaScript + + + + + + + ) +} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeProperty.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeProperty.tsx new file mode 100644 index 0000000..eb3f748 --- /dev/null +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeProperty.tsx @@ -0,0 +1,65 @@ +import { + useCheckbox, + useColorMode, + useColorModeValue, + chakra, + Flex, + Text, + Icon, +} from '@chakra-ui/react' +import React from 'react' + +export const ThemeProperty = (props) => { + const { state, getCheckboxProps, getInputProps, getLabelProps, htmlProps } = useCheckbox(props) + const { colorMode } = useColorMode() + const bgColor = useColorModeValue('white', 'gray.800') + const checkboxBgColor = useColorModeValue('gray.100', 'gray.900') + const checked = state.isChecked || props.selected + + return ( + + + + + + + {props.label} + + + ) +} diff --git a/packages/chakra-ui-theme/src/foundations/colors.ts b/packages/chakra-ui-theme/src/foundations/colors.ts index 4fcb7c1..ab7252b 100644 --- a/packages/chakra-ui-theme/src/foundations/colors.ts +++ b/packages/chakra-ui-theme/src/foundations/colors.ts @@ -2,16 +2,16 @@ import { Colors } from '@chakra-ui/react' const colors: Colors = { primary: { - 50: '#FBE5FF', - 100: '#F3D4FF', - 200: '#D6BEFB', - 300: '#BB9CF5', - 400: '#A280EB', - 500: '#7F58DE', - 600: '#6140BE', - 700: '#472C9F', - 800: '#301C80', - 900: '#20106A', + 50: '#ffffff', + 100: '#d1d2fa', + 200: '#babbf8', + 300: '#a3a4f6', + 400: '#8b8df4', + 500: '#5D5FEF', + 600: '#2f31ea', + 700: '#171ae8', + 800: '#1517d1', + 900: '#1012a3', }, secondary: { 50: '#EAFDED', From 8044d8836d7c88fb5d739f3746842e7f92bd16e2 Mon Sep 17 00:00:00 2001 From: mirela Date: Tue, 11 Oct 2022 10:00:42 +0200 Subject: [PATCH 12/23] fix:dark mode --- .../src/Popover/PopoverComponent.tsx | 260 ++++++++++++++++++ .../src/ThemeEditorColorItem.tsx | 70 ++--- .../src/ThemeEditorColors.tsx | 9 +- .../src/ThemeEditorPaletteColorItem.tsx | 9 +- .../src/ThemeEditorPaletteDrawer.tsx | 11 +- .../src/ThemeEditorPaletteDrawerHeader.tsx | 12 +- .../src/ThemeEditorPalettePopoverForm.tsx | 4 +- packages/chakra-ui-colors/src/index.ts | 1 + .../stories/ThemeEditorColors.stories.tsx | 56 ++-- .../ThemeEditorProvider.tsx | 22 +- .../theme-editor/ThemeEditorAccordionItem.tsx | 16 +- .../theme-editor/ThemeEditorDrawer.tsx | 233 ++++++++-------- .../src/components/theme-editor/index.ts | 5 + .../src/HyperThemeEditor.tsx | 26 +- 14 files changed, 517 insertions(+), 217 deletions(-) create mode 100644 packages/chakra-ui-colors/src/Popover/PopoverComponent.tsx diff --git a/packages/chakra-ui-colors/src/Popover/PopoverComponent.tsx b/packages/chakra-ui-colors/src/Popover/PopoverComponent.tsx new file mode 100644 index 0000000..52195c6 --- /dev/null +++ b/packages/chakra-ui-colors/src/Popover/PopoverComponent.tsx @@ -0,0 +1,260 @@ +import React, { FC, useState, useCallback, useMemo } from 'react' +import { + Button, + ButtonGroup, + ButtonProps, + FormControl, + FormLabel, + Icon, + Input, + InputProps, + Popover, + PopoverBody, + PopoverCloseButton, + PopoverContent, + PopoverHeader, + PopoverTrigger, + Stack, + Switch, + useDisclosure, + Flex, + PopoverFooter, + useColorMode, + useColorModeValue, +} from '@chakra-ui/react' +import { + setThemeColorsOfPalette, + setThemeSingleColor, + useThemeEditor, +} from '@hypertheme-editor/chakra-ui-core' + +import { generatePalette } from '../generateColorPalette' +import ThemeEditorPaletteColorItem from '../ThemeEditorPaletteColorItem' + + + + + +type Props = { + buttonProps?: ButtonProps +} + +const initialFormValues = { + name: '', + isPaletteColor: true, +} + +const TextInput: FC = React.forwardRef( + (props, ref) => { + return ( + + + {props.label} + + + + ) + } +) + +export const StarPopoverComponent: FC = (props) => { + const { buttonProps } = props + + const { onOpen, onClose, isOpen } = useDisclosure() + const [tempPalette, setTempPalette] = useState | undefined>(undefined) + const initialFocusRef = React.useRef(null) + const { theme, setTheme } = useThemeEditor() + const [formState, setFormState] = useState>(initialFormValues) + + const handleInputChange = useCallback>( + (event) => { + const { target } = event + const value = target.type === 'checkbox' ? target.checked : target.value + const { name } = target + + if (name === 'isPaletteColor' && formState.color) { + if (value) { + setTempPalette(generatePalette(formState.color)) + } else { + setTempPalette(undefined) + } + } + + setFormState({ + ...formState, + [name]: value, + }) + }, + [formState] + ) + + const handleColorChange = useCallback( + ({ token, value }) => { + setFormState({ + ...formState, + color: value, + }) + + if (formState.isPaletteColor) { + setTempPalette(generatePalette(value)) + } else { + setTempPalette(undefined) + } + }, + [formState] + ) + + const handleCreateCustomColor = useCallback(() => { + try { + const token = formState.name.toLowerCase() + const newPalette = generatePalette(formState.color) + const newTheme = { + ...theme, + colors: { + ...theme!.colors, + [token]: formState.isPaletteColor ? newPalette : formState.color, + }, + } as any + + if (formState.isPaletteColor) { + setThemeColorsOfPalette(token, newPalette) + } else { + setThemeSingleColor(token, formState.color) + } + + setTheme(newTheme) + setFormState(initialFormValues) + setTempPalette(undefined) + onClose() + } catch (error) { + // + } + }, [formState.color, formState.isPaletteColor, formState.name, onClose, setTheme, theme]) + + const isFormValid = useMemo(() => formState.name && formState.color, [formState]) + const bgColor = useColorModeValue('#EBF7F0', '#FFFFFF') + return ( + + + + + + + + {/* */} + + + Add Color + + + + {/* + + + + + + + + + */} + + + + + + + + Palette + + + + + + + + + + + + + + + ) +} diff --git a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx index 233faac..731bba3 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx @@ -12,7 +12,10 @@ import { PopoverBody, Icon, - Tooltip + Tooltip, + useColorMode, + toast, + useToast } from '@chakra-ui/react' import { useDebouncyEffect } from 'use-debouncy' import { RgbaStringColorPicker } from 'react-colorful' @@ -20,8 +23,7 @@ import { colord, extend } from 'colord' import namesPlugin from 'colord/plugins/names' import { COLOR_PICKER_TRANSPARENT_SAFE_BG_B64 } from './constants' import { ElementsHighlighter } from '@hypertheme-editor/chakra-ui-core' -// -//import { CopyToClipboard } from "react-copy-to-clipboard"; + import { BiCopy } from 'react-icons/bi' extend([namesPlugin]) @@ -45,15 +47,10 @@ const ThemeEditorColorItem: FC = ({ ...rest }) => { const [currentValue, setCurrentValue] = useState(value) - const [isCopied, setCopied] = useState(false); + const toast = useToast() + //copy function - useEffect(() => { - const timeout = setTimeout(() => { - setCopied(false); - }, 3000); - return () => clearTimeout(timeout); - }, [isCopied]); // const rgbaString = useMemo(() => { @@ -70,8 +67,8 @@ const ThemeEditorColorItem: FC = ({ ) const handleValueChange: React.ChangeEventHandler = useCallback((event) => { - setCurrentValue(event.target.value), - setCopied(false); + setCurrentValue(event.target.value) + }, []) useDebouncyEffect( @@ -89,14 +86,29 @@ const ThemeEditorColorItem: FC = ({ }, [value]) + const { colorMode } = useColorMode() + + const copyToClipBoard = async () => { + if ("clipboard" in navigator) { + await navigator.clipboard.writeText(currentValue || ''); + toast({ + title: 'Copied!', + variant: 'success', + position: 'top-right', + duration: 2000 + }) + } else { + document.execCommand("copy", true, currentValue || ''); + } + } return ( { /* - {title} + {title} bgColor={colorMode === 'light' ? 'white' : '#1E1E2F'} */} - + @@ -135,13 +147,16 @@ const ThemeEditorColorItem: FC = ({ = ({ fontSize="0.875rem" placeholder="Color code" - border='none' + /> - - - + + + {/* setCopied(true)}> */} @@ -177,4 +185,4 @@ const ThemeEditorColorItem: FC = ({ ) } -export default ThemeEditorColorItem +export default ThemeEditorColorItem; diff --git a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx index a9c6e4e..39368aa 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx @@ -16,10 +16,11 @@ import { generatePalette } from './generateColorPalette' import { StepperContainer } from './Stepper/StepperContainer' import { IconStepperContainer } from './Stepper/IconStepperContainer' import { BiGridVertical } from 'react-icons/bi' -import { GrAnalytics } from 'react-icons/gr' +import { FaPlus } from 'react-icons/fa' + type Props = { - // + } & Partial export const ThemeEditorColors: FC = (props) => { @@ -86,7 +87,7 @@ export const ThemeEditorColors: FC = (props) => { const { colorMode } = useColorMode() return ( - + = (props) => { ) : ( - + Add )} diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx index 209b108..feb00a4 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx @@ -12,6 +12,7 @@ import { PopoverBody, Button, Icon, + useColorMode, } from '@chakra-ui/react' import { useDebouncyEffect } from 'use-debouncy' import { RgbaStringColorPicker } from 'react-colorful' @@ -95,7 +96,7 @@ const ThemeEditorPaletteColorItem: FC = ({ // } // // eslint-disable-next-line react-hooks/exhaustive-deps // }, [debouncedValue]) - + const { colorMode } = useColorMode() return ( @@ -157,6 +158,7 @@ const ThemeEditorPaletteColorItem: FC = ({ value={currentValue} onChange={handleValueChange} fontSize="0.875rem" + bgColor={colorMode == 'light' ? '' : '#14141F'} placeholder="Color code" /> @@ -178,10 +180,9 @@ const ThemeEditorPaletteColorItem: FC = ({ color: 'red.500', opacity: 1, }} - > - + > + )} diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx index df529b6..bdb5183 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx @@ -9,6 +9,7 @@ import { DrawerFooter, Box, SimpleGrid, + useColorMode, } from '@chakra-ui/react' import { BaseListItem, useThemeEditor } from '@hypertheme-editor/chakra-ui-core' import ThemeEditorColorItem from './ThemeEditorColorItem' @@ -84,7 +85,7 @@ const ThemeEditorPaletteDrawer: FC = (props) => { }, [setTheme, theme] ) - + const { colorMode } = useColorMode() return ( = (props) => { {scale.map((paletteIndex, key) => ( - + diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx index c5733a2..ca2476f 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx @@ -8,6 +8,7 @@ import { ButtonGroup, Button, Text, + useColorMode, } from '@chakra-ui/react' //import { MdClose } from 'react-icons/md' //import { RiArrowGoBackFill, RiArrowGoForwardFill } from 'react-icons/ri' @@ -23,7 +24,7 @@ type Props = { export const ThemeEditorPaletteDrawerHeader: FC = ({ onClose, initialFocusRef, token }) => { const { canUndo, canRedo, undo, redo, theme } = useThemeEditor() - + const { colorMode } = useColorMode() return ( = ({ onClose, initialFocu ml="1rem" mr='1rem' ref={initialFocusRef} - bg='white' - boxShadow='xs' + boxShadow='xs' + bg={colorMode == 'light' ? 'white' : '#2B2B3Bs'} > @@ -69,11 +70,12 @@ export const ThemeEditorPaletteDrawerHeader: FC = ({ onClose, initialFocu } icon={} - bg='white' + aria-label="undo" disabled={!canUndo} onClick={undo} border='1px solid #bcbcbc' + bg={colorMode == 'light' ? 'white' : '#2B2B3Bs'} /> @@ -83,7 +85,7 @@ export const ThemeEditorPaletteDrawerHeader: FC = ({ onClose, initialFocu aria-label="redo" disabled={!canRedo} onClick={redo} - bg='white' + bg={colorMode == 'light' ? 'white' : '#2B2B3B'} border='1px solid #bcbcbc' /> diff --git a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx index a26cc48..146c9cf 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx @@ -30,7 +30,6 @@ import { import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { generatePalette } from './generateColorPalette' -import { FaPlus } from 'react-icons/fa' import { IconStepperContainer } from './Stepper/IconStepperContainer' @@ -165,7 +164,8 @@ export const ThemeEditorPalettePopoverForm: FC = (props) => { {...buttonProps} > - Add + {/* Add*/} + {props.children} export const ThemeEditorColorsWithRootPanel = (args) => ( - - - - - - - - - - - + + + + + + + + + + + ) export const ThemeEditorColorsWithoutRootPanel = (args) => ( - - - - - - - - - + + + + + + + + + ) diff --git a/packages/chakra-ui-core/src/components/theme-editor-provider/ThemeEditorProvider.tsx b/packages/chakra-ui-core/src/components/theme-editor-provider/ThemeEditorProvider.tsx index 1dd3a73..f951868 100644 --- a/packages/chakra-ui-core/src/components/theme-editor-provider/ThemeEditorProvider.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor-provider/ThemeEditorProvider.tsx @@ -4,19 +4,21 @@ import { RecoilRoot } from 'recoil' import { ThemeStateInitializer } from './ThemeStateInitializer' import { GoogleFontFamiliesStateInitializer } from '../../utils/GoogleFontFamiliesStateInitializer' + type Props = { - children: React.ReactNode | React.ReactNode[] - disableGoogleFonts?: boolean + children: React.ReactNode | React.ReactNode[] + disableGoogleFonts?: boolean } export const ThemeEditorProvider: FC = ({ children, disableGoogleFonts = true }) => { - const chakraTheme = useTheme() + const chakraTheme = useTheme() + + return ( + + - return ( - - - {!disableGoogleFonts && } - {children} - - ) + {!disableGoogleFonts && } + {children} + + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index 81dbb0d..136254b 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -17,6 +17,9 @@ import { Icon as ChakraIcon, } from '@chakra-ui/react' import { FaLock, FaPlus } from 'react-icons/fa' +import { StarPopoverComponent } from '../../../../chakra-ui-colors/src/Popover/PopoverComponent' + + export type ThemeEditorAccordionItemProps = { title?: string @@ -50,11 +53,18 @@ export const ThemeEditorAccordionItem: FC = (prop <> {Icon && ( = (prop )} + {title == "Custom colors" && isExpanded && ( + + )} + {!isDisabled ? : } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx index a7c42e4..a087be5 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx @@ -1,12 +1,12 @@ import React, { FC, useRef, ReactElement } from 'react' import { - Alert, - AlertIcon, - Drawer, - DrawerBody, - DrawerContent, - DrawerProps, - useColorModeValue, + Alert, + AlertIcon, + Drawer, + DrawerBody, + DrawerContent, + DrawerProps, + useColorModeValue, } from '@chakra-ui/react' import { IconType } from 'react-icons' import ThemeEditorAccordion from './ThemeEditorAccordion' @@ -23,124 +23,125 @@ import { ThemeEditorRootPanel } from './ThemeEditorRootPanel' const mobileReadyItems = ['Colors'] export type ThemeEditorDrawerProps = Omit & { - children?: + children?: | ReactElement<{ icon: IconType; title: string } & Record>[] | ReactElement<{ icon: IconType; title: string } & Record> - hideUpgradeToPro?: boolean - hideCredits?: boolean - headerComponent?: React.ReactElement< - ThemeEditorDrawerHeaderProps, - React.JSXElementConstructor - > - footerComponent?: React.ReactElement< - ThemeEditorDrawerFooterProps, - React.JSXElementConstructor - > - // additionalBody?: React.ReactNode - isOpen?: boolean - onClose?: () => void + hideUpgradeToPro?: boolean + hideCredits?: boolean + headerComponent?: React.ReactElement< + ThemeEditorDrawerHeaderProps, + React.JSXElementConstructor + > + footerComponent?: React.ReactElement< + ThemeEditorDrawerFooterProps, + React.JSXElementConstructor + > + // additionalBody?: React.ReactNode + isOpen?: boolean + onClose?: () => void } export const ThemeEditorDrawer: FC = ({ - hideUpgradeToPro, - hideCredits, - onClose, - isOpen, - children, - headerComponent = , - footerComponent = , - ...rest + hideUpgradeToPro, + hideCredits, + onClose, + isOpen, + children, + headerComponent = , + footerComponent = , + ...rest }) => { - const bgColor = useColorModeValue('white', 'rgba(23,25,35,1)') - const btnRef = useRef() - const initialFocusRef = useRef() - const isMobile = useIsMobile() - const isCompatible = useIsBrowserCompatible() - // const storedIndex = localStorage.getItem(DRAWER_EXPANDED_INDEX_LOCAL_STORAGE_KEY) - // const defaultIndex = storedIndex && parseInt(storedIndex) >= 0 ? parseInt(storedIndex) : 0 + const bgColor = useColorModeValue('white', 'rgba(23,25,35,1)') + const btnRef = useRef() + const initialFocusRef = useRef() + const isMobile = useIsMobile() + const isCompatible = useIsBrowserCompatible() + // const storedIndex = localStorage.getItem(DRAWER_EXPANDED_INDEX_LOCAL_STORAGE_KEY) + // const defaultIndex = storedIndex && parseInt(storedIndex) >= 0 ? parseInt(storedIndex) : 0 - // const handleOnChangeIndex = (expandedIndex) => { - // localStorage.setItem( - // DRAWER_EXPANDED_INDEX_LOCAL_STORAGE_KEY, - // expandedIndex >= 0 ? expandedIndex : 0 - // ) - // } + // const handleOnChangeIndex = (expandedIndex) => { + // localStorage.setItem( + // DRAWER_EXPANDED_INDEX_LOCAL_STORAGE_KEY, + // expandedIndex >= 0 ? expandedIndex : 0 + // ) + // } - return ( - - - {React.isValidElement(headerComponent) && - React.cloneElement( - headerComponent as React.ReactElement, - { - onClose, - initialFocusRef, - } - )} - - {!isCompatible && ( - - - This browser is not compatible, most of the features will not work. - - )} - - {React.Children.map(React.Children.toArray(children), (child, index) => { - const { icon, title, children, ...panelProps } = (child as ReactElement).props - return ( - + {React.isValidElement(headerComponent) && + React.cloneElement( + headerComponent as React.ReactElement, + { + onClose, + initialFocusRef, + } + )} + - {(child as ReactElement).type === ThemeEditorRootPanel - ? children - : React.cloneElement( - child as ReactElement, + {!isCompatible && ( + + + This browser is not compatible, most of the features will not work. + + )} + + {React.Children.map(React.Children.toArray(children), (child, index) => { + const { icon, title, children, ...panelProps } = (child as ReactElement).props + return ( + + {(child as ReactElement).type === ThemeEditorRootPanel + ? children + : React.cloneElement( + child as ReactElement, + { + ...panelProps, + }, + children + )} + + ) + })} + + {!hideUpgradeToPro && } + {!hideCredits && } + + {React.isValidElement(footerComponent) && + React.cloneElement( + footerComponent as React.ReactElement, { - ...panelProps, - }, - children - )} - - ) - })} - - {!hideUpgradeToPro && } - {!hideCredits && } - - {React.isValidElement(footerComponent) && - React.cloneElement( - footerComponent as React.ReactElement, - { - onClose, - isMobile, - } - )} - - - ) + onClose, + isMobile, + } + )} + + + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/index.ts b/packages/chakra-ui-core/src/components/theme-editor/index.ts index 9362959..c5f9a9b 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/index.ts +++ b/packages/chakra-ui-core/src/components/theme-editor/index.ts @@ -14,12 +14,15 @@ import { } from './ThemeEditorRootPanel' import ThemeEditorAccordion from './ThemeEditorAccordion' import ThemeEditorAccordionItem from './ThemeEditorAccordionItem' + import { ThemeEditor, ThemeEditorProps as ThemeEditorPropsToExport } from './ThemeEditor' import { ThemeEditorDrawerFooter, ThemeEditorDrawerFooterProps as ThemeEditorDrawerFooterPropsToExport, } from './ThemeEditorDrawerFooter' + + export { ThemeEditor, ThemeDownloadButton, @@ -30,6 +33,8 @@ export { ThemeEditorRootPanel, ThemeEditorAccordion, ThemeEditorAccordionItem, + + } export type ThemeEditorProps = ThemeEditorPropsToExport diff --git a/packages/hypertheme-chakra-ui/src/HyperThemeEditor.tsx b/packages/hypertheme-chakra-ui/src/HyperThemeEditor.tsx index 6cdcfb7..783b697 100644 --- a/packages/hypertheme-chakra-ui/src/HyperThemeEditor.tsx +++ b/packages/hypertheme-chakra-ui/src/HyperThemeEditor.tsx @@ -1,9 +1,9 @@ import React, { FC } from 'react' import { - ThemeEditor, - ThemeEditorButton, - ThemeEditorButtonProps, - ThemeEditorDrawer, + ThemeEditor, + ThemeEditorButton, + ThemeEditorButtonProps, + ThemeEditorDrawer, } from '@hypertheme-editor/chakra-ui-core' import { ThemeEditorColors } from '@hypertheme-editor/chakra-ui-colors' import { ThemeEditorFontSizes } from '@hypertheme-editor/chakra-ui-font-sizes' @@ -13,13 +13,13 @@ import { ImFontSize } from 'react-icons/im' export type HyperThemeEditorProps = ThemeEditorButtonProps export const HyperThemeEditor: FC = (props) => { - return ( - - - - - - - - ) + return ( + + + + + + + + ) } From a8a20cc815079506b23e74a4e8f0bd34c34bb506 Mon Sep 17 00:00:00 2001 From: mirela Date: Tue, 11 Oct 2022 10:19:10 +0200 Subject: [PATCH 13/23] feat:header --- package.json | 1 + yarn.lock | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/package.json b/package.json index 9c901e5..a933399 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "babel-eslint": "10.1.0", "babel-jest": "^27.3.1", "babel-loader": "^8.2.2", + "bootstrap": "^5.2.2", "chakra-ui-steps": "^1.7.4", "cpy-cli": "^3.1.1", "enzyme": "^3.11.0", diff --git a/yarn.lock b/yarn.lock index 0ba1e52..6c62a19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6707,6 +6707,11 @@ boolify@^1.0.0: resolved "https://registry.yarnpkg.com/boolify/-/boolify-1.0.1.tgz#b5c09e17cacd113d11b7bb3ed384cc012994d86b" integrity sha1-tcCeF8rNET0Rt7s+04TMASmU2Gs= +bootstrap@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.2.2.tgz#834e053eed584a65e244d8aa112a6959f56e27a0" + integrity sha512-dEtzMTV71n6Fhmbg4fYJzQsw1N29hJKO1js5ackCgIpDcGid2ETMGC6zwSYw09v05Y+oRdQ9loC54zB1La3hHQ== + boxen@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" From 68f35ca07a1815ec59a43103eec38f7bfaa20de4 Mon Sep 17 00:00:00 2001 From: mirela Date: Tue, 11 Oct 2022 12:31:35 +0200 Subject: [PATCH 14/23] fix:header --- .../src/ThemeEditorPalettePopoverForm.tsx | 3 +- .../theme-editor/ThemeEditorAccordionItem.tsx | 6 +- .../stories/ThemeEditor.stories.tsx | 92 +++++++++---------- 3 files changed, 51 insertions(+), 50 deletions(-) diff --git a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx index 146c9cf..965b69f 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx @@ -31,6 +31,7 @@ import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { generatePalette } from './generateColorPalette' import { IconStepperContainer } from './Stepper/IconStepperContainer' +import { FaPlus } from 'react-icons/fa' type Props = { @@ -164,7 +165,7 @@ export const ThemeEditorPalettePopoverForm: FC = (props) => { {...buttonProps} > - {/* Add*/} + {/* Add */} {props.children} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index 136254b..8eb39cc 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -17,7 +17,7 @@ import { Icon as ChakraIcon, } from '@chakra-ui/react' import { FaLock, FaPlus } from 'react-icons/fa' -import { StarPopoverComponent } from '../../../../chakra-ui-colors/src/Popover/PopoverComponent' + @@ -56,8 +56,8 @@ export const ThemeEditorAccordionItem: FC = (prop height={title == 'Colors' ? '76px' : '56px'} mb={title == 'Colors' ? '-0.2em' : ''} boxShadow={isExpanded ? 'base' : 'none'} - bgColor={colorMode == 'light' ? 'white' : '#2B2B3B'} - color={colorMode == 'light' ? 'gray' : 'white'} + bgColor={isExpanded && colorMode == 'dark' ? '#2B2B3B' : ''} + color={colorMode == 'light' ? 'gray.700' : 'white'} p={{ base: 3, sm: 4 }} // borderRadius={rest.borderRadius || 'md'} borderRadius='12px' diff --git a/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx b/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx index d6823fd..58463e8 100644 --- a/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx +++ b/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx @@ -7,68 +7,68 @@ import { ImFontSize } from 'react-icons/im' import { BiText } from 'react-icons/bi' import { MdRoundedCorner } from 'react-icons/md' import // ThemeEditorButton, -// ThemeEditorProvider, -// ThemeEditorRootPanel, -// ThemeEditorDrawer, -// ThemeEditor, -'@hypertheme-editor/chakra-ui-core' + // ThemeEditorProvider, + // ThemeEditorRootPanel, + // ThemeEditorDrawer, + // ThemeEditor, + '@hypertheme-editor/chakra-ui-core' import { ThemeEditorColors } from '@hypertheme-editor/chakra-ui-colors' import { ThemeEditorFontSizes } from '@hypertheme-editor/chakra-ui-font-sizes' import { - HyperThemeEditor, - ThemeEditorButton, - ThemeEditorProvider, - ThemeEditorRootPanel, - ThemeEditorDrawer, - ThemeEditor, + HyperThemeEditor, + ThemeEditorButton, + ThemeEditorProvider, + ThemeEditorRootPanel, + ThemeEditorDrawer, + ThemeEditor, } from '../src' export default { - title: 'HyperThemeEditor/hypertheme-chakra-ui/ThemeEditor Community', - component: ThemeEditor, - argTypes: {}, + title: 'HyperThemeEditor/hypertheme-chakra-ui/ThemeEditor Community', + component: ThemeEditor, + argTypes: {}, } as ComponentMeta export const DefaultEditor = (args) => ( - - - - + + + + ) export const DefaultEditorWithHiddenCredits = (args) => ( - - - - + + + + ) export const WithRootPanel = (args) => ( - - - - - - - - - - - - - - + + + + + + + + + + + + + + ) export const WithoutRootPanel = (args) => ( - - - - - - - - - - + + + + + + + + + + ) From ed803ec4e320135f5ec710f53c9216d52643aa39 Mon Sep 17 00:00:00 2001 From: mirela Date: Wed, 12 Oct 2022 13:45:10 +0200 Subject: [PATCH 15/23] fix:details --- .../src/Popover/PopoverComponent.tsx | 260 ---------------- .../src/ThemeEditorColors.tsx | 8 +- .../src/ThemeEditorPaletteColorItem.tsx | 4 +- .../src/ThemeEditorPaletteDrawerHeader.tsx | 3 +- .../src/ThemeEditorPalettePopoverForm.tsx | 187 ++++++------ packages/chakra-ui-colors/tsconfig.json | 2 +- .../theme-editor/Popover/PopoverComponent.tsx | 278 ++++++++++++++++++ .../components/theme-editor/ThemeEditor.tsx | 38 ++- .../theme-editor/ThemeEditorAccordionItem.tsx | 37 ++- .../theme-editor/ThemeEditorDrawer.tsx | 7 +- .../theme-editor/ThemeEditorRootPanel.tsx | 7 +- .../src/components/theme-editor/index.ts | 5 +- .../stories/ThemeEditor.stories.tsx | 5 +- .../chakra-ui-theme/src/ThemeProvider.tsx | 33 ++- .../stories/ThemeEditor.stories.tsx | 29 +- 15 files changed, 477 insertions(+), 426 deletions(-) delete mode 100644 packages/chakra-ui-colors/src/Popover/PopoverComponent.tsx create mode 100644 packages/chakra-ui-core/src/components/theme-editor/Popover/PopoverComponent.tsx diff --git a/packages/chakra-ui-colors/src/Popover/PopoverComponent.tsx b/packages/chakra-ui-colors/src/Popover/PopoverComponent.tsx deleted file mode 100644 index 52195c6..0000000 --- a/packages/chakra-ui-colors/src/Popover/PopoverComponent.tsx +++ /dev/null @@ -1,260 +0,0 @@ -import React, { FC, useState, useCallback, useMemo } from 'react' -import { - Button, - ButtonGroup, - ButtonProps, - FormControl, - FormLabel, - Icon, - Input, - InputProps, - Popover, - PopoverBody, - PopoverCloseButton, - PopoverContent, - PopoverHeader, - PopoverTrigger, - Stack, - Switch, - useDisclosure, - Flex, - PopoverFooter, - useColorMode, - useColorModeValue, -} from '@chakra-ui/react' -import { - setThemeColorsOfPalette, - setThemeSingleColor, - useThemeEditor, -} from '@hypertheme-editor/chakra-ui-core' - -import { generatePalette } from '../generateColorPalette' -import ThemeEditorPaletteColorItem from '../ThemeEditorPaletteColorItem' - - - - - -type Props = { - buttonProps?: ButtonProps -} - -const initialFormValues = { - name: '', - isPaletteColor: true, -} - -const TextInput: FC = React.forwardRef( - (props, ref) => { - return ( - - - {props.label} - - - - ) - } -) - -export const StarPopoverComponent: FC = (props) => { - const { buttonProps } = props - - const { onOpen, onClose, isOpen } = useDisclosure() - const [tempPalette, setTempPalette] = useState | undefined>(undefined) - const initialFocusRef = React.useRef(null) - const { theme, setTheme } = useThemeEditor() - const [formState, setFormState] = useState>(initialFormValues) - - const handleInputChange = useCallback>( - (event) => { - const { target } = event - const value = target.type === 'checkbox' ? target.checked : target.value - const { name } = target - - if (name === 'isPaletteColor' && formState.color) { - if (value) { - setTempPalette(generatePalette(formState.color)) - } else { - setTempPalette(undefined) - } - } - - setFormState({ - ...formState, - [name]: value, - }) - }, - [formState] - ) - - const handleColorChange = useCallback( - ({ token, value }) => { - setFormState({ - ...formState, - color: value, - }) - - if (formState.isPaletteColor) { - setTempPalette(generatePalette(value)) - } else { - setTempPalette(undefined) - } - }, - [formState] - ) - - const handleCreateCustomColor = useCallback(() => { - try { - const token = formState.name.toLowerCase() - const newPalette = generatePalette(formState.color) - const newTheme = { - ...theme, - colors: { - ...theme!.colors, - [token]: formState.isPaletteColor ? newPalette : formState.color, - }, - } as any - - if (formState.isPaletteColor) { - setThemeColorsOfPalette(token, newPalette) - } else { - setThemeSingleColor(token, formState.color) - } - - setTheme(newTheme) - setFormState(initialFormValues) - setTempPalette(undefined) - onClose() - } catch (error) { - // - } - }, [formState.color, formState.isPaletteColor, formState.name, onClose, setTheme, theme]) - - const isFormValid = useMemo(() => formState.name && formState.color, [formState]) - const bgColor = useColorModeValue('#EBF7F0', '#FFFFFF') - return ( - - - - - - - - {/* */} - - - Add Color - - - - {/* - - - - - - - - - */} - - - - - - - - Palette - - - - - - - - - - - - - - - ) -} diff --git a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx index 906e1de..f6ede30 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx @@ -18,7 +18,7 @@ import { COLOR_EXPANDED_INDEX_LOCAL_STORAGE_KEY } from './constants' import { StepperContainer } from './Stepper/StepperContainer' import { IconStepperContainer } from './Stepper/IconStepperContainer' import { BiGridVertical } from 'react-icons/bi' -import { FaPlus } from 'react-icons/fa' + type Props = { @@ -90,7 +90,7 @@ export const ThemeEditorColors: FC = (props) => { const { colorMode } = useColorMode() return ( - + = (props) => { subtitle="Add your first custom color:" spacing={1} icon={CgColorPicker} - + zIndex='100000' > ) : ( - Add + )} diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx index feb00a4..42f1b26 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx @@ -144,7 +144,7 @@ const ThemeEditorPaletteColorItem: FC = ({ > 0 ? 32 : '100%'} - width='162px' + width='10.125rem' height='40px' // size='sm' variant='filled' @@ -182,7 +182,7 @@ const ThemeEditorPaletteColorItem: FC = ({ }} > - + )} diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx index ca2476f..a8ad166 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx @@ -75,7 +75,8 @@ export const ThemeEditorPaletteDrawerHeader: FC = ({ onClose, initialFocu disabled={!canUndo} onClick={undo} border='1px solid #bcbcbc' - bg={colorMode == 'light' ? 'white' : '#2B2B3Bs'} + bg={colorMode == 'light' ? 'white' : 'gray.700'} + mr='-0.5px' /> diff --git a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx index 965b69f..11ed8a7 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx @@ -30,7 +30,7 @@ import { import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { generatePalette } from './generateColorPalette' -import { IconStepperContainer } from './Stepper/IconStepperContainer' + import { FaPlus } from 'react-icons/fa' @@ -133,52 +133,52 @@ export const ThemeEditorPalettePopoverForm: FC = (props) => { const isFormValid = useMemo(() => formState.name && formState.color, [formState]) const bgColor = useColorModeValue('#EBF7F0', '#FFFFFF') return ( - - - - - - - {/* */} - - - Add Color - - - - {/* + Add + + + + + {/* */} + + + Add Color + + + + {/* = (props) => { */} - + /> - - + + + + Palette + + - - - Palette - - - - - - - - - - - - - + + + + + + + + + + + + ) } diff --git a/packages/chakra-ui-colors/tsconfig.json b/packages/chakra-ui-colors/tsconfig.json index c24318d..2ddafba 100644 --- a/packages/chakra-ui-colors/tsconfig.json +++ b/packages/chakra-ui-colors/tsconfig.json @@ -27,7 +27,7 @@ }, "include": [ "src" -, "../chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx" ], +, "../chakra-ui-core/src/components/theme-editor/ThemeEditorDrawerHeader.tsx", "../chakra-ui-core/src/components/theme-editor/Popover" ], "exclude": [ "node_modules", "lib", diff --git a/packages/chakra-ui-core/src/components/theme-editor/Popover/PopoverComponent.tsx b/packages/chakra-ui-core/src/components/theme-editor/Popover/PopoverComponent.tsx new file mode 100644 index 0000000..7186ede --- /dev/null +++ b/packages/chakra-ui-core/src/components/theme-editor/Popover/PopoverComponent.tsx @@ -0,0 +1,278 @@ +import React, { FC, useState, useCallback, useMemo, useRef } from 'react' +import { + Button, + ButtonGroup, + ButtonProps, + FormControl, + FormLabel, + Icon, + Input, + InputProps, + Popover, + PopoverBody, + PopoverCloseButton, + PopoverContent, + PopoverHeader, + PopoverTrigger, + Stack, + Switch, + useDisclosure, + Flex, + PopoverFooter, + useColorMode, + useColorModeValue, + + Box, + Circle, +} from '@chakra-ui/react' +import { + setThemeColorsOfPalette, + setThemeSingleColor, + useThemeEditor, +} from '@hypertheme-editor/chakra-ui-core' + +import { generatePalette } from '../../../../../chakra-ui-colors/src/generateColorPalette' +import ThemeEditorPaletteColorItem from '../../../../../chakra-ui-colors/src/ThemeEditorPaletteColorItem' +import { FaPlus } from 'react-icons/fa' + + + + + + + + +type Props = { + buttonProps?: ButtonProps +} + +const initialFormValues = { + name: '', + isPaletteColor: true, + +} + +const TextInput: FC = React.forwardRef( + (props, ref) => { + return ( + + + {props.label} + + + + ) + } +) + +export const PopoverComponent: FC = (props) => { + + const ref = React.useRef() + const { buttonProps } = props + + const { onOpen, onClose, isOpen } = useDisclosure() + const [tempPalette, setTempPalette] = useState | undefined>(undefined) + const initialFocusRef = React.useRef(null) + const { theme, setTheme } = useThemeEditor() + const [formState, setFormState] = useState>(initialFormValues) + + const handleInputChange = useCallback>( + (event) => { + const { target } = event + const value = target.type === 'checkbox' ? target.checked : target.value + const { name } = target + + if (name === 'isPaletteColor' && formState.color) { + if (value) { + setTempPalette(generatePalette(formState.color)) + } else { + setTempPalette(undefined) + } + } + + setFormState({ + ...formState, + [name]: value, + }) + }, + [formState] + ) + + const handleColorChange = useCallback( + ({ token, value }) => { + setFormState({ + ...formState, + color: value, + }) + + if (formState.isPaletteColor) { + setTempPalette(generatePalette(value)) + } else { + setTempPalette(undefined) + } + }, + [formState] + ) + + const handleCreateCustomColor = useCallback(() => { + try { + const token = formState.name.toLowerCase() + const newPalette = generatePalette(formState.color) + const newTheme = { + ...theme, + colors: { + ...theme!.colors, + [token]: formState.isPaletteColor ? newPalette : formState.color, + }, + } as any + + if (formState.isPaletteColor) { + setThemeColorsOfPalette(token, newPalette) + } else { + setThemeSingleColor(token, formState.color) + } + + setTheme(newTheme) + setFormState(initialFormValues) + setTempPalette(undefined) + onClose() + } catch (error) { + // + } + }, [formState.color, formState.isPaletteColor, formState.name, onClose, setTheme, theme]) + + const isFormValid = useMemo(() => formState.name && formState.color, [formState]) + const bgColor = useColorModeValue('#EBF7F0', '#FFFFFF') + const { colorMode } = useColorMode() + + + return ( + <> + + + + + + + + + + {/* */} + + + Add Color + + + + {/* + + + + + + + + + */} + + + + + + + + Palette + + + + + + + + + + + + + + + + + ) +} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditor.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditor.tsx index 39bce41..0fbceca 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditor.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditor.tsx @@ -3,28 +3,34 @@ import { ThemeProvider, useDisclosure, UseDisclosureProps } from '@chakra-ui/rea import { ThemeEditorDrawerProps } from './ThemeEditorDrawer' import { ThemeEditorButtonProps } from './ThemeEditorButton' import { theme } from '@hypertheme-editor/chakra-ui-theme' +import { RecoilRoot } from 'recoil' + type ThemeEditorChild = React.ReactElement< - ThemeEditorButtonProps | ThemeEditorDrawerProps, - React.JSXElementConstructor + ThemeEditorButtonProps | ThemeEditorDrawerProps, + React.JSXElementConstructor > export type ThemeEditorProps = { - children: ThemeEditorChild[] | ThemeEditorChild + children: ThemeEditorChild[] | ThemeEditorChild } & UseDisclosureProps export const ThemeEditor: FC = ({ children, ...disclosureProps }) => { - const { isOpen, onOpen, onClose } = useDisclosure(disclosureProps) - - return ( - - {React.Children.map(React.Children.toArray(children), (child, index) => { - return React.cloneElement(child as any, { - isOpen, - onOpen, - onClose, - }) - })} - - ) + const { isOpen, onOpen, onClose } = useDisclosure(disclosureProps) + + return ( + + + + + {React.Children.map(React.Children.toArray(children), (child, index) => { + return React.cloneElement(child as any, { + isOpen, + onOpen, + onClose, + }) + })} + + + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index 8eb39cc..ef4fd4b 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -15,10 +15,10 @@ import { Flex, Collapse, Icon as ChakraIcon, + } from '@chakra-ui/react' import { FaLock, FaPlus } from 'react-icons/fa' - - +import { PopoverComponent } from './Popover/PopoverComponent' export type ThemeEditorAccordionItemProps = { @@ -30,8 +30,12 @@ export type ThemeEditorAccordionItemProps = { unmountOnExit?: boolean } & AccordionItemProps & Pick +// + + export const ThemeEditorAccordionItem: FC = (props) => { + const { title = 'Accordion title', subtitle, @@ -47,14 +51,21 @@ export const ThemeEditorAccordionItem: FC = (prop const hoverBgColor = useColorModeValue('gray.200', 'gray.700') const bgColor = useColorModeValue(`${colorScheme}.200`, `${colorScheme}.900`) const { colorMode } = useColorMode() + const ref = React.useRef() + + + + + return ( - + {({ isExpanded }) => ( <> = (prop {subtitle && !isExpanded && ( - + {subtitle} )} - + + {title == 'Colors' ? 'Change colors, create new one, generate palette..' : ''} + {title == "Custom colors" && isExpanded && ( - - - + // + + + // )} - {!isDisabled ? : } @@ -135,3 +151,6 @@ export const ThemeEditorAccordionItem: FC = (prop } export default ThemeEditorAccordionItem + + + diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx index 26ec40b..f7a4017 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx @@ -21,12 +21,13 @@ import { useIsBrowserCompatible } from '../../utils/isBrowserCompatible' import { ThemeEditorRootPanel } from './ThemeEditorRootPanel' import { DRAWER_EXPANDED_INDEX_LOCAL_STORAGE_KEY } from '../../constants' import { useAccordionState } from '../../hooks/useAccordionState' +import { RecoilRoot } from 'recoil' const mobileReadyItems = ['Colors'] export type ThemeEditorDrawerProps = Omit & { children?: - | ReactElement<{ icon: IconType; title: string } & Record>[] + | ReactElement<{ icon: IconType; title: string, subtitle: string } & Record>[] | ReactElement<{ icon: IconType; title: string } & Record> hideUpgradeToPro?: boolean hideCredits?: boolean @@ -61,6 +62,7 @@ export const ThemeEditorDrawer: FC = ({ const [defaultIndex, setDefaultIndex] = useAccordionState(DRAWER_EXPANDED_INDEX_LOCAL_STORAGE_KEY) return ( + = ({ onChange={setDefaultIndex} > {React.Children.map(React.Children.toArray(children), (child, index) => { - const { icon, title, children, ...panelProps } = (child as ReactElement).props + const { icon, title, subtitle, children, ...panelProps } = (child as ReactElement).props return ( = () => { - return null + return null } diff --git a/packages/chakra-ui-core/src/components/theme-editor/index.ts b/packages/chakra-ui-core/src/components/theme-editor/index.ts index c5f9a9b..a1e5d34 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/index.ts +++ b/packages/chakra-ui-core/src/components/theme-editor/index.ts @@ -1,5 +1,6 @@ import { ThemeDownloadButton } from './ThemeDownloadButton' import { ThemeEditorDrawer } from './ThemeEditorDrawer' + import { ThemeEditorButton, ThemeEditorButtonProps as ThemeEditorButtonPropsToExport, @@ -14,7 +15,7 @@ import { } from './ThemeEditorRootPanel' import ThemeEditorAccordion from './ThemeEditorAccordion' import ThemeEditorAccordionItem from './ThemeEditorAccordionItem' - +import { PopoverComponent } from './Popover/PopoverComponent' import { ThemeEditor, ThemeEditorProps as ThemeEditorPropsToExport } from './ThemeEditor' import { ThemeEditorDrawerFooter, @@ -33,7 +34,7 @@ export { ThemeEditorRootPanel, ThemeEditorAccordion, ThemeEditorAccordionItem, - +PopoverComponent } diff --git a/packages/chakra-ui-core/stories/ThemeEditor.stories.tsx b/packages/chakra-ui-core/stories/ThemeEditor.stories.tsx index 5401a78..6ba81e1 100644 --- a/packages/chakra-ui-core/stories/ThemeEditor.stories.tsx +++ b/packages/chakra-ui-core/stories/ThemeEditor.stories.tsx @@ -2,10 +2,9 @@ import React, { useCallback, useState } from 'react' import { ComponentMeta } from '@storybook/react' import { Button } from '@chakra-ui/react' -import { CgColorPicker, CgEditShadows, CgSpaceBetween } from 'react-icons/cg' +import { CgColorPicker } from 'react-icons/cg' import { ImFontSize } from 'react-icons/im' -import { BiText } from 'react-icons/bi' -import { MdRoundedCorner } from 'react-icons/md' + import ColorModeToggle from '../src/components/base/ColorModeToggle' import { ThemeEditorButton, diff --git a/packages/chakra-ui-theme/src/ThemeProvider.tsx b/packages/chakra-ui-theme/src/ThemeProvider.tsx index 97d3f7f..692492d 100644 --- a/packages/chakra-ui-theme/src/ThemeProvider.tsx +++ b/packages/chakra-ui-theme/src/ThemeProvider.tsx @@ -1,29 +1,30 @@ import { - ChakraProvider, - ColorModeScript, - extendTheme, - Theme, + ChakraProvider, + ColorModeScript, + extendTheme, + Theme, } from '@chakra-ui/react' import React, { FC } from 'react' type ThemeProviderProps = { - theme: Theme + theme: Theme } const ThemeProvider: FC = (props) => { - const { theme, children } = props + const { theme, children } = props - const customTheme = extendTheme({ - ...theme, - config: { ...theme.config, cssVarPrefix: 'hyper-theme' }, - }) + const customTheme = extendTheme({ + ...theme, + config: { ...theme.config, cssVarPrefix: 'hyper-theme' }, + }) - return ( -
- - {children} -
- ) + return ( +
+ + + {children} +
+ ) } export default ThemeProvider diff --git a/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx b/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx index 58463e8..8f176fc 100644 --- a/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx +++ b/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx @@ -4,23 +4,24 @@ import { ComponentMeta } from '@storybook/react' import { Button } from '@chakra-ui/react' import { CgColorPicker, CgEditShadows, CgSpaceBetween } from 'react-icons/cg' import { ImFontSize } from 'react-icons/im' -import { BiText } from 'react-icons/bi' -import { MdRoundedCorner } from 'react-icons/md' -import // ThemeEditorButton, - // ThemeEditorProvider, - // ThemeEditorRootPanel, - // ThemeEditorDrawer, - // ThemeEditor, - '@hypertheme-editor/chakra-ui-core' -import { ThemeEditorColors } from '@hypertheme-editor/chakra-ui-colors' -import { ThemeEditorFontSizes } from '@hypertheme-editor/chakra-ui-font-sizes' + import { - HyperThemeEditor, ThemeEditorButton, ThemeEditorProvider, ThemeEditorRootPanel, ThemeEditorDrawer, ThemeEditor, +} from + '@hypertheme-editor/chakra-ui-core' +import { ThemeEditorColors } from '@hypertheme-editor/chakra-ui-colors' +import { ThemeEditorFontSizes } from '@hypertheme-editor/chakra-ui-font-sizes' +import { + HyperThemeEditor, + // ThemeEditorButton, + // ThemeEditorProvider, + // ThemeEditorRootPanel, + // ThemeEditorDrawer, + // ThemeEditor, } from '../src' export default { @@ -43,13 +44,13 @@ export const DefaultEditorWithHiddenCredits = (args) => ( ) -export const WithRootPanel = (args) => ( +export const WithRootPanel = (args: any) => ( - + @@ -60,7 +61,7 @@ export const WithRootPanel = (args) => ( ) -export const WithoutRootPanel = (args) => ( +export const WithoutRootPanel = (args: any) => ( From 880d9f8742cfe123962eb8db99fbf6d2ceb11290 Mon Sep 17 00:00:00 2001 From: mirela Date: Wed, 12 Oct 2022 14:01:09 +0200 Subject: [PATCH 16/23] fix:details --- packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx index 42f1b26..40c383d 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx @@ -182,7 +182,7 @@ const ThemeEditorPaletteColorItem: FC = ({ }} > - + )} From 027f1969a3a4e258214c8009101c4d662f1915f1 Mon Sep 17 00:00:00 2001 From: mirela Date: Wed, 12 Oct 2022 17:48:50 +0200 Subject: [PATCH 17/23] fix: details --- .../src/ThemeEditorPaletteDrawer.tsx | 8 +++-- .../src/ThemeEditorPaletteDrawerHeader.tsx | 36 +++++++++++++------ 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx index bdb5183..617ee55 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx @@ -97,14 +97,16 @@ const ThemeEditorPaletteDrawer: FC = (props) => { {...rest} > - + - + {scale.map((paletteIndex, key) => ( = (props) => { diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx index a8ad166..5709ea9 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx @@ -66,28 +66,42 @@ export const ThemeEditorPaletteDrawerHeader: FC = ({ onClose, initialFocu - + + } icon={} - + fontSize="16px" + height="27px" + width="27px" aria-label="undo" disabled={!canUndo} onClick={undo} - border='1px solid #bcbcbc' - bg={colorMode == 'light' ? 'white' : 'gray.700'} - mr='-0.5px' + variant="outline" + border="none" + color={colorMode == 'light' ? 'gray.600' : 'gray.100'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + _focus={{ border: 'none' }} /> - - + } icon={} + fontSize="16px" + height="27px" + width="27px" aria-label="redo" disabled={!canRedo} onClick={redo} - bg={colorMode == 'light' ? 'white' : '#2B2B3B'} - border='1px solid #bcbcbc' + variant="outline" + border="none" + color={colorMode == 'light' ? 'gray.600' : 'gray.100'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} + _focus={{ border: 'none' }} /> From 59cfd5c5ae867a4f4b9f10c4390605f22df4c6b0 Mon Sep 17 00:00:00 2001 From: mirela Date: Thu, 13 Oct 2022 11:14:08 +0200 Subject: [PATCH 18/23] fix:details --- packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx | 2 +- .../chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx | 9 ++++++--- .../src/ThemeEditorPaletteDrawerHeader.tsx | 2 +- .../components/theme-editor/ThemeEditorAccordionItem.tsx | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx index 731bba3..1ca884d 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx @@ -172,7 +172,7 @@ const ThemeEditorColorItem: FC = ({ /> - {/* setCopied(true)}> diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx index 40c383d..8739e28 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx @@ -175,14 +175,17 @@ const ThemeEditorPaletteColorItem: FC = ({ variant="ghost" onClick={handleDelete} px="0.5rem" - opacity={0.5} + opacity={0.8} _hover={{ - color: 'red.500', + // color: 'red.500', opacity: 1, }} > - + )} diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx index 5709ea9..5f54260 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawerHeader.tsx @@ -55,7 +55,7 @@ export const ThemeEditorPaletteDrawerHeader: FC = ({ onClose, initialFocu ref={initialFocusRef} boxShadow='xs' - bg={colorMode == 'light' ? 'white' : '#2B2B3Bs'} + bgColor={colorMode == 'light' ? 'white' : 'gray.700'} > diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index ef4fd4b..381ab3a 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -108,13 +108,13 @@ export const ThemeEditorAccordionItem: FC = (prop {subtitle && !isExpanded && ( {subtitle} )} - + {title == 'Colors' ? 'Change colors, create new one, generate palette..' : ''} From b9002a55a36c89cfdc904d5ad90dcc2627eda72d Mon Sep 17 00:00:00 2001 From: mirela Date: Thu, 13 Oct 2022 14:30:22 +0200 Subject: [PATCH 19/23] fix:details --- .../chakra-ui-colors/src/ThemeEditorColorItem.tsx | 2 +- .../chakra-ui-colors/src/ThemeEditorPalette.tsx | 2 +- .../src/ThemeEditorPaletteColorItem.tsx | 8 ++++---- .../src/ThemeEditorPalettePopoverForm.tsx | 14 +++++++++----- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx index 1ca884d..be51dc1 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx @@ -148,7 +148,7 @@ const ThemeEditorColorItem: FC = ({ = ({ overflow="hidden" w="100%" //borderRadius="6px" - + mr='-1.5em' p={0} h={10} //border="1px solid" diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx index 8739e28..4ce8fb1 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx @@ -102,7 +102,7 @@ const ThemeEditorPaletteColorItem: FC = ({ {title} - + @@ -143,7 +143,7 @@ const ThemeEditorPaletteColorItem: FC = ({ } > 0 ? 32 : '100%'} + // w={palette && scale && scale.length > 0 ? 32 : '100%'} width='10.125rem' height='40px' // size='sm' @@ -165,11 +165,11 @@ const ThemeEditorPaletteColorItem: FC = ({ {palette && scale && scale.length > 0 && ( + mx={6} /> )} {hasDelete && ( - + ) } From e11c6d21237b4a3c653876fc249bd66b4dd05b2f Mon Sep 17 00:00:00 2001 From: mirela Date: Thu, 13 Oct 2022 14:56:18 +0200 Subject: [PATCH 20/23] fix:details --- .../chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx index 4ce8fb1..b26303a 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx @@ -154,7 +154,7 @@ const ThemeEditorPaletteColorItem: FC = ({ cursor="pointer" px="0.5rem" pos="sticky" - left="0" + ml={2} value={currentValue} onChange={handleValueChange} fontSize="0.875rem" @@ -175,11 +175,12 @@ const ThemeEditorPaletteColorItem: FC = ({ variant="ghost" onClick={handleDelete} px="0.5rem" - opacity={0.8} + opacity='0.7' _hover={{ - // color: 'red.500', - opacity: 1, + //color: 'red.500', + opacity: '0.8' }} + _active={{ opacity: '1', border: 'none', boxShadow: 'none' }} > Date: Fri, 14 Oct 2022 11:33:47 +0200 Subject: [PATCH 21/23] fix: build --- .../src/ThemeEditorColors.tsx | 512 +++++++++--------- .../theme-editor/Popover/PopoverComponent.tsx | 278 ---------- .../theme-editor/ThemeEditorAccordionItem.tsx | 281 +++++----- .../src/components/theme-editor/index.ts | 5 - .../stories/ThemeEditor.stories.tsx | 118 ++-- 5 files changed, 466 insertions(+), 728 deletions(-) delete mode 100644 packages/chakra-ui-core/src/components/theme-editor/Popover/PopoverComponent.tsx diff --git a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx index f6ede30..e8e00e5 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx @@ -2,12 +2,12 @@ import React, { FC, useCallback, useMemo } from 'react' import { Accordion, Box, Circle, Icon, useColorMode, useColorModeValue } from '@chakra-ui/react' import { CgColorPicker } from 'react-icons/cg' import { - useThemeEditor, - useAccordionState, - ThemeEditorAccordionItem, - EmptyBox, - themeColorKeys, - ThemeEditorRootPanelProps, + useThemeEditor, + useAccordionState, + ThemeEditorAccordionItem, + EmptyBox, + themeColorKeys, + ThemeEditorRootPanelProps, } from '@hypertheme-editor/chakra-ui-core' import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { ThemeEditorPalettePopoverForm } from './ThemeEditorPalettePopoverForm' @@ -19,252 +19,276 @@ import { StepperContainer } from './Stepper/StepperContainer' import { IconStepperContainer } from './Stepper/IconStepperContainer' import { BiGridVertical } from 'react-icons/bi' - - -type Props = { - -} & Partial +type Props = {} & Partial export const ThemeEditorColors: FC = (props) => { - const { theme, setTheme } = useThemeEditor() - const [defaultIndex, setDefaultIndex] = useAccordionState(COLOR_EXPANDED_INDEX_LOCAL_STORAGE_KEY) + const { theme, setTheme } = useThemeEditor() + const [defaultIndex, setDefaultIndex] = useAccordionState(COLOR_EXPANDED_INDEX_LOCAL_STORAGE_KEY) - const handleChangeColor = useCallback( - ({ token, value }) => { - if (theme && theme.colors && theme.colors[token]) { - if (typeof theme.colors[token] === 'string' && theme.colors[token] !== value) { - try { - const newTheme = { - ...theme, - colors: { - ...theme.colors, - [token]: value, - }, - } as any - // setThemeSingleColor(token, value) - setTheme(newTheme) - } catch (error) { - // - } - } else { - try { - const newColorPalette = generatePalette(value) - const newTheme = { - ...theme, - colors: { - ...theme.colors, - [token]: newColorPalette, - }, - } as any - setTheme(newTheme) - } catch (error) { - // - } - } - } - }, - [setTheme, theme] - ) - - const handleDeleteCustomColor = useCallback( - (token: string) => { - if (theme?.colors && theme.colors[token]) { - const newThemeColors = { - ...theme?.colors, - } - delete newThemeColors[token] - setTheme({ ...theme, colors: newThemeColors }) - } - }, - [setTheme, theme] - ) - - const customColorTokens = useMemo(() => { - if (!theme || !theme.colors) { - return [] + const handleChangeColor = useCallback( + ({ token, value }) => { + if (theme && theme.colors && theme.colors[token]) { + if (typeof theme.colors[token] === 'string' && theme.colors[token] !== value) { + try { + const newTheme = { + ...theme, + colors: { + ...theme.colors, + [token]: value, + }, + } as any + // setThemeSingleColor(token, value) + setTheme(newTheme) + } catch (error) { + // + } + } else { + try { + const newColorPalette = generatePalette(value) + const newTheme = { + ...theme, + colors: { + ...theme.colors, + [token]: newColorPalette, + }, + } as any + setTheme(newTheme) + } catch (error) { + // + } } + } + }, + [setTheme, theme] + ) - return Object.keys(theme.colors).filter((item) => themeColorKeys.indexOf(item) === -1) - }, [theme]) - - const { colorMode } = useColorMode() - - return ( - - - - {customColorTokens.map((item, index) => { - //added a box with the bi-grid icon - return ( - { + if (theme?.colors && theme.colors[token]) { + const newThemeColors = { + ...theme?.colors, + } + delete newThemeColors[token] + setTheme({ ...theme, colors: newThemeColors }) + } + }, + [setTheme, theme] + ) + const customColorTokens = useMemo(() => { + if (!theme || !theme.colors) { + return [] + } + return Object.keys(theme.colors).filter((item) => themeColorKeys.indexOf(item) === -1) + }, [theme]) - /> - ) - })} - {customColorTokens.length == 0 ? ( - - - - ) : ( - - )} - - - - + + } + > + {customColorTokens.map((item, index) => { + //added a box with the bi-grid icon + return ( + + - - - - - - - - - - - - - - - - - - - - - - - - ) + + + +
+ ) + })} + {customColorTokens.length == 0 ? ( + + + + ) : ( + + {' '} + + + )} + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/Popover/PopoverComponent.tsx b/packages/chakra-ui-core/src/components/theme-editor/Popover/PopoverComponent.tsx deleted file mode 100644 index 7186ede..0000000 --- a/packages/chakra-ui-core/src/components/theme-editor/Popover/PopoverComponent.tsx +++ /dev/null @@ -1,278 +0,0 @@ -import React, { FC, useState, useCallback, useMemo, useRef } from 'react' -import { - Button, - ButtonGroup, - ButtonProps, - FormControl, - FormLabel, - Icon, - Input, - InputProps, - Popover, - PopoverBody, - PopoverCloseButton, - PopoverContent, - PopoverHeader, - PopoverTrigger, - Stack, - Switch, - useDisclosure, - Flex, - PopoverFooter, - useColorMode, - useColorModeValue, - - Box, - Circle, -} from '@chakra-ui/react' -import { - setThemeColorsOfPalette, - setThemeSingleColor, - useThemeEditor, -} from '@hypertheme-editor/chakra-ui-core' - -import { generatePalette } from '../../../../../chakra-ui-colors/src/generateColorPalette' -import ThemeEditorPaletteColorItem from '../../../../../chakra-ui-colors/src/ThemeEditorPaletteColorItem' -import { FaPlus } from 'react-icons/fa' - - - - - - - - -type Props = { - buttonProps?: ButtonProps -} - -const initialFormValues = { - name: '', - isPaletteColor: true, - -} - -const TextInput: FC = React.forwardRef( - (props, ref) => { - return ( - - - {props.label} - - - - ) - } -) - -export const PopoverComponent: FC = (props) => { - - const ref = React.useRef() - const { buttonProps } = props - - const { onOpen, onClose, isOpen } = useDisclosure() - const [tempPalette, setTempPalette] = useState | undefined>(undefined) - const initialFocusRef = React.useRef(null) - const { theme, setTheme } = useThemeEditor() - const [formState, setFormState] = useState>(initialFormValues) - - const handleInputChange = useCallback>( - (event) => { - const { target } = event - const value = target.type === 'checkbox' ? target.checked : target.value - const { name } = target - - if (name === 'isPaletteColor' && formState.color) { - if (value) { - setTempPalette(generatePalette(formState.color)) - } else { - setTempPalette(undefined) - } - } - - setFormState({ - ...formState, - [name]: value, - }) - }, - [formState] - ) - - const handleColorChange = useCallback( - ({ token, value }) => { - setFormState({ - ...formState, - color: value, - }) - - if (formState.isPaletteColor) { - setTempPalette(generatePalette(value)) - } else { - setTempPalette(undefined) - } - }, - [formState] - ) - - const handleCreateCustomColor = useCallback(() => { - try { - const token = formState.name.toLowerCase() - const newPalette = generatePalette(formState.color) - const newTheme = { - ...theme, - colors: { - ...theme!.colors, - [token]: formState.isPaletteColor ? newPalette : formState.color, - }, - } as any - - if (formState.isPaletteColor) { - setThemeColorsOfPalette(token, newPalette) - } else { - setThemeSingleColor(token, formState.color) - } - - setTheme(newTheme) - setFormState(initialFormValues) - setTempPalette(undefined) - onClose() - } catch (error) { - // - } - }, [formState.color, formState.isPaletteColor, formState.name, onClose, setTheme, theme]) - - const isFormValid = useMemo(() => formState.name && formState.color, [formState]) - const bgColor = useColorModeValue('#EBF7F0', '#FFFFFF') - const { colorMode } = useColorMode() - - - return ( - <> - - - - - - - - - - {/* */} - - - Add Color - - - - {/* - - - - - - - - - */} - - - - - - - - Palette - - - - - - - - - - - - - - - - - ) -} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index ef4fd4b..0131e12 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -1,156 +1,153 @@ import React, { FC } from 'react' import { - Box, - Text, - AccordionItemProps, - AccordionButton, - AccordionItem, - AccordionIcon, - Circle, - useColorModeValue, - useColorMode, - ThemingProps, - As, - Tag, - Flex, - Collapse, - Icon as ChakraIcon, - + Box, + Text, + AccordionItemProps, + AccordionButton, + AccordionItem, + AccordionIcon, + Circle, + useColorModeValue, + useColorMode, + ThemingProps, + As, + Tag, + Flex, + Collapse, + Icon as ChakraIcon, } from '@chakra-ui/react' import { FaLock, FaPlus } from 'react-icons/fa' -import { PopoverComponent } from './Popover/PopoverComponent' - export type ThemeEditorAccordionItemProps = { - title?: string - subtitle?: string - icon?: As - endIcon?: As - tag?: string - unmountOnExit?: boolean + title?: string + subtitle?: string + icon?: As + endIcon?: As + tag?: string + unmountOnExit?: boolean + rightComponent?: React.ReactElement } & AccordionItemProps & - Pick + Pick // - - export const ThemeEditorAccordionItem: FC = (props) => { - - const { - title = 'Accordion title', - subtitle, - colorScheme = 'gray', - icon: Icon, - tag, - children, - isDisabled, - - unmountOnExit = true, - ...rest - } = props - const hoverBgColor = useColorModeValue('gray.200', 'gray.700') - const bgColor = useColorModeValue(`${colorScheme}.200`, `${colorScheme}.900`) - const { colorMode } = useColorMode() - const ref = React.useRef() - - - - - - return ( - - {({ isExpanded }) => ( - <> - - {Icon && ( - - - - )} - - - - {title} - {tag && ( - - {tag} - - )} - - {subtitle && !isExpanded && ( - - - {subtitle} - - )} - - {title == 'Colors' ? 'Change colors, create new one, generate palette..' : ''} - - - - {title == "Custom colors" && isExpanded && ( - // - - - // - )} - {!isDisabled ? : } - - - *': { - w: 'full', - px: '0.5rem', - py: '0.5rem', - borderRadius: 'none', - }, - }} - > - {children} - - - + const { + title = 'Accordion title', + subtitle, + colorScheme = 'gray', + icon: Icon, + tag, + children, + isDisabled, + rightComponent, + + unmountOnExit = true, + ...rest + } = props + const hoverBgColor = useColorModeValue('gray.200', 'gray.700') + const bgColor = useColorModeValue(`${colorScheme}.200`, `${colorScheme}.900`) + const { colorMode } = useColorMode() + const ref = React.useRef() + + return ( + + {({ isExpanded }) => ( + <> + + {Icon && ( + + + )} - - ) + + + {title} + {tag && ( + + {tag} + + )} + + {subtitle && !isExpanded && ( + + {subtitle} + + )} + + {title == 'Colors' ? 'Change colors, create new one, generate palette..' : ''} + + + {/* {title == 'Custom colors' && isExpanded && ( + + + {' '} + + + + )} */} + {rightComponent && <>{rightComponent}} + {!isDisabled ? : } + + + *': { + w: 'full', + px: '0.5rem', + py: '0.5rem', + borderRadius: 'none', + }, + }} + > + {children} + + + + )} + + ) } export default ThemeEditorAccordionItem - - - diff --git a/packages/chakra-ui-core/src/components/theme-editor/index.ts b/packages/chakra-ui-core/src/components/theme-editor/index.ts index a1e5d34..3031886 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/index.ts +++ b/packages/chakra-ui-core/src/components/theme-editor/index.ts @@ -15,15 +15,12 @@ import { } from './ThemeEditorRootPanel' import ThemeEditorAccordion from './ThemeEditorAccordion' import ThemeEditorAccordionItem from './ThemeEditorAccordionItem' -import { PopoverComponent } from './Popover/PopoverComponent' import { ThemeEditor, ThemeEditorProps as ThemeEditorPropsToExport } from './ThemeEditor' import { ThemeEditorDrawerFooter, ThemeEditorDrawerFooterProps as ThemeEditorDrawerFooterPropsToExport, } from './ThemeEditorDrawerFooter' - - export { ThemeEditor, ThemeDownloadButton, @@ -34,8 +31,6 @@ export { ThemeEditorRootPanel, ThemeEditorAccordion, ThemeEditorAccordionItem, -PopoverComponent - } export type ThemeEditorProps = ThemeEditorPropsToExport diff --git a/packages/chakra-ui-core/stories/ThemeEditor.stories.tsx b/packages/chakra-ui-core/stories/ThemeEditor.stories.tsx index 6ba81e1..55f3ccc 100644 --- a/packages/chakra-ui-core/stories/ThemeEditor.stories.tsx +++ b/packages/chakra-ui-core/stories/ThemeEditor.stories.tsx @@ -7,62 +7,62 @@ import { ImFontSize } from 'react-icons/im' import ColorModeToggle from '../src/components/base/ColorModeToggle' import { - ThemeEditorButton, - ThemeEditorProvider, - ThemeEditorRootPanel, - ThemeEditorDrawer, - ThemeEditor, + ThemeEditorButton, + ThemeEditorProvider, + ThemeEditorRootPanel, + ThemeEditorDrawer, + ThemeEditor, } from '../src' -import { ThemeEditorColors } from '../../chakra-ui-colors/src/ThemeEditorColors' +import { ThemeEditorColors } from '../../hypertheme-chakra-ui/src' export default { - title: 'HyperThemeEditor/chakra-ui-core/ThemeEditor', - component: ThemeEditor, - argTypes: {}, - disclosureProps: {}, + title: 'HyperThemeEditor/chakra-ui-core/ThemeEditor', + component: ThemeEditor, + argTypes: {}, + disclosureProps: {}, } as ComponentMeta export const FreeVersionWithRootPanel = (args) => ( - - - - - - - - - - {/* */} - - - - + + + + + + + + + + {/* */} + + + + ) export const FreeVersionWithoutRootPanel = (args) => ( - - - - - - {/* + + + + + + {/* */} - - - + + + ) export const ProVersion = (args) => ( - - + + - - - - - {/* + + + + + {/* @@ -81,26 +81,26 @@ export const ProVersion = (args) => ( */} - - - - + + + + ) export const ControlledThemeEditor = (args) => { - const [isOpen, setIsOpen] = useState(true) - const onClick = useCallback(() => setIsOpen(!isOpen), [isOpen]) - const onClose = () => setIsOpen(false) + const [isOpen, setIsOpen] = useState(true) + const onClick = useCallback(() => setIsOpen(!isOpen), [isOpen]) + const onClose = () => setIsOpen(false) - return ( - - + return ( + + - - - - - ) + + + + + ) } From deaf629ed6faab05547c207e9902f8287c3d16bd Mon Sep 17 00:00:00 2001 From: mirela Date: Sun, 16 Oct 2022 18:30:51 +0200 Subject: [PATCH 22/23] update: colors-ui --- .../src/Stepper/StepperContainer.tsx | 10 +- .../src/ThemeEditorColorItem.tsx | 4 +- .../src/ThemeEditorColors.tsx | 586 ++++++++++-------- .../src/ThemeEditorPalette.tsx | 1 + .../src/ThemeEditorPaletteColorItem.tsx | 8 +- .../src/ThemeEditorPaletteDrawer.tsx | 3 +- .../src/ThemeEditorPalettePopoverForm.tsx | 35 +- .../components/theme-editor/ThemeEditor.tsx | 3 +- .../theme-editor/ThemeEditorAccordion.tsx | 5 +- .../theme-editor/ThemeEditorAccordionItem.tsx | 281 ++++----- .../theme-editor/ThemeEditorButton.tsx | 47 +- .../theme-editor/ThemeEditorDrawer.tsx | 6 +- .../theme-editor/ThemeEditorRootPanel.tsx | 1 + .../src/HyperThemeEditor.tsx | 4 +- .../stories/ThemeEditor.stories.tsx | 4 +- 15 files changed, 522 insertions(+), 476 deletions(-) diff --git a/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx b/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx index ee58d31..98eef95 100644 --- a/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx +++ b/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx @@ -1,7 +1,7 @@ import React, { FC } from "react"; import { Box as PseudoBox, useColorMode, useColorModeValue } from '@chakra-ui/react' -import { GrAnalytics } from "react-icons/gr"; + @@ -23,10 +23,10 @@ export const StepperContainer: FC = (props) => { marginRight='1.2rem' paddingLeft='0.3rem' paddingBottom='0' - _before={{ content: `""`, position: "absolute", right: "100%", mt: '-0.5em', height: '110%', width: '2px', backgroundColor: colorMode }} - _after={{ content: `""`, position: "absolute", left: "calc(-1.5px)", top: "1.3em", width: "16px", height: "6px", borderLeft: `solid 2px ${colorMode}`, borderBottom: `solid 2px ${colorMode}`, borderRadius: "0 0 0 6px", borderEndColor: ` ${colorMode}`, borderLeftColor: ` ${colorMode}` }} - _last={{ _before: { height: "1.8em" } }} - _first={{ _before: { mt: '-0.7em', height: '120%', _after: { top: '2.5em' } } }} + _before={{ content: `""`, position: "absolute", right: "100%", mt: '-0.5em', height: '112.15%', width: '2px', backgroundColor: colorMode }} + _after={{ content: `""`, position: "absolute", left: "calc(-1.9px)", top: "1.3em", width: "16px", height: "6px", borderLeft: `solid 2px ${colorMode}`, borderBottom: `solid 2px ${colorMode}`, borderRadius: "0 0 0 6px", borderEndColor: ` ${colorMode}`, borderLeftColor: ` ${colorMode}` }} + _last={{ _before: { height: "1.8em", mt: '-0.5em' } }} + _first={{ _before: { mt: '-0.8em', height: '130%', _after: { top: '2.5em' } } }} > {props.children} diff --git a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx index be51dc1..5fa819c 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColorItem.tsx @@ -175,9 +175,7 @@ const ThemeEditorColorItem: FC = ({ - {/* setCopied(true)}> - - */} + diff --git a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx index e8e00e5..4adf96b 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorColors.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorColors.tsx @@ -1,13 +1,13 @@ import React, { FC, useCallback, useMemo } from 'react' -import { Accordion, Box, Circle, Icon, useColorMode, useColorModeValue } from '@chakra-ui/react' +import { Accordion, Box, Button, Circle, Icon, useColorMode, useColorModeValue } from '@chakra-ui/react' import { CgColorPicker } from 'react-icons/cg' import { - useThemeEditor, - useAccordionState, - ThemeEditorAccordionItem, - EmptyBox, - themeColorKeys, - ThemeEditorRootPanelProps, + useThemeEditor, + useAccordionState, + ThemeEditorAccordionItem, + EmptyBox, + themeColorKeys, + ThemeEditorRootPanelProps, } from '@hypertheme-editor/chakra-ui-core' import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { ThemeEditorPalettePopoverForm } from './ThemeEditorPalettePopoverForm' @@ -18,277 +18,327 @@ import { COLOR_EXPANDED_INDEX_LOCAL_STORAGE_KEY } from './constants' import { StepperContainer } from './Stepper/StepperContainer' import { IconStepperContainer } from './Stepper/IconStepperContainer' import { BiGridVertical } from 'react-icons/bi' +import { FaPlus } from 'react-icons/fa' type Props = {} & Partial export const ThemeEditorColors: FC = (props) => { - const { theme, setTheme } = useThemeEditor() - const [defaultIndex, setDefaultIndex] = useAccordionState(COLOR_EXPANDED_INDEX_LOCAL_STORAGE_KEY) + const { theme, setTheme } = useThemeEditor() + const [defaultIndex, setDefaultIndex] = useAccordionState(COLOR_EXPANDED_INDEX_LOCAL_STORAGE_KEY) - const handleChangeColor = useCallback( - ({ token, value }) => { - if (theme && theme.colors && theme.colors[token]) { - if (typeof theme.colors[token] === 'string' && theme.colors[token] !== value) { - try { - const newTheme = { - ...theme, - colors: { - ...theme.colors, - [token]: value, - }, - } as any - // setThemeSingleColor(token, value) - setTheme(newTheme) - } catch (error) { - // - } - } else { - try { - const newColorPalette = generatePalette(value) - const newTheme = { - ...theme, - colors: { - ...theme.colors, - [token]: newColorPalette, - }, - } as any - setTheme(newTheme) - } catch (error) { - // - } - } - } - }, - [setTheme, theme] - ) + const handleChangeColor = useCallback( + ({ token, value }) => { + if (theme && theme.colors && theme.colors[token]) { + if (typeof theme.colors[token] === 'string' && theme.colors[token] !== value) { + try { + const newTheme = { + ...theme, + colors: { + ...theme.colors, + [token]: value, + }, + } as any + // setThemeSingleColor(token, value) + setTheme(newTheme) + } catch (error) { + // + } + } else { + try { + const newColorPalette = generatePalette(value) + const newTheme = { + ...theme, + colors: { + ...theme.colors, + [token]: newColorPalette, + }, + } as any + setTheme(newTheme) + } catch (error) { + // + } + } + } + }, + [setTheme, theme] + ) - const handleDeleteCustomColor = useCallback( - (token: string) => { - if (theme?.colors && theme.colors[token]) { - const newThemeColors = { - ...theme?.colors, - } - delete newThemeColors[token] - setTheme({ ...theme, colors: newThemeColors }) - } - }, - [setTheme, theme] - ) + const handleDeleteCustomColor = useCallback( + (token: string) => { + if (theme?.colors && theme.colors[token]) { + const newThemeColors = { + ...theme?.colors, + } + delete newThemeColors[token] + setTheme({ ...theme, colors: newThemeColors }) + } + }, + [setTheme, theme] + ) - const customColorTokens = useMemo(() => { - if (!theme || !theme.colors) { - return [] - } + const customColorTokens = useMemo(() => { + if (!theme || !theme.colors) { + return [] + } - return Object.keys(theme.colors).filter((item) => themeColorKeys.indexOf(item) === -1) - }, [theme]) + return Object.keys(theme.colors).filter((item) => themeColorKeys.indexOf(item) === -1) + }, [theme]) - const { colorMode } = useColorMode() + const { colorMode } = useColorMode() + const bgCircle = useColorModeValue('gray.300', 'gray.600') + return ( + - - } > - {customColorTokens.map((item, index) => { - //added a box with the bi-grid icon - return ( - - + + + + } />} > - - - - - ) - })} - {customColorTokens.length == 0 ? ( - - - - ) : ( - - {' '} - - - )} - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) + {customColorTokens.map((item, index) => { + //added a box with the bi-grid icon + return ( + + + + + + + ) + })} + {customColorTokens.length == 0 ? ( + + Add + } /> + + ) : ( + + + Add + } /> + + )} + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) } diff --git a/packages/chakra-ui-colors/src/ThemeEditorPalette.tsx b/packages/chakra-ui-colors/src/ThemeEditorPalette.tsx index 5502565..151fc28 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPalette.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPalette.tsx @@ -22,6 +22,7 @@ export type ThemeEditorPaletteProps = { token: string showIndex?: boolean disableEditDrawer?: boolean + } & Omit const ThemeEditorPalette: FC = ({ diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx index b26303a..6adcff2 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteColorItem.tsx @@ -175,16 +175,16 @@ const ThemeEditorPaletteColorItem: FC = ({ variant="ghost" onClick={handleDelete} px="0.5rem" - opacity='0.7' + opacity='0.8' _hover={{ //color: 'red.500', - opacity: '0.8' + opacity: '1' }} - _active={{ opacity: '1', border: 'none', boxShadow: 'none' }} + _active={{ border: 'none', boxShadow: 'none' }} > diff --git a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx index 617ee55..10612f9 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPaletteDrawer.tsx @@ -119,6 +119,8 @@ const ThemeEditorPaletteDrawer: FC = (props) => { bgColor={bgColor2} overflow="visible" + + > = (props) => { flexDirection='row' justifyContent='space-between' alignItems='center' - title={`${token.toLowerCase()}.${paletteIndex}`} token={token} colorIndex={paletteIndex as number} diff --git a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx index beaa166..996e8d2 100644 --- a/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx +++ b/packages/chakra-ui-colors/src/ThemeEditorPalettePopoverForm.tsx @@ -21,6 +21,7 @@ import { PopoverFooter, useColorMode, useColorModeValue, + Box, } from '@chakra-ui/react' import { setThemeColorsOfPalette, @@ -31,11 +32,11 @@ import ThemeEditorPaletteColorItem from './ThemeEditorPaletteColorItem' import { generatePalette } from './generateColorPalette' -import { FaPlus } from 'react-icons/fa' type Props = { buttonProps?: ButtonProps + triggerComponent?: React.ReactElement } const initialFormValues = { @@ -57,7 +58,7 @@ const TextInput: FC = React.forwardRe ) export const ThemeEditorPalettePopoverForm: FC = (props) => { - const { buttonProps } = props + const { buttonProps, triggerComponent } = props const { onOpen, onClose, isOpen } = useDisclosure() const [tempPalette, setTempPalette] = useState | undefined>(undefined) @@ -145,33 +146,18 @@ export const ThemeEditorPalettePopoverForm: FC = (props) => { trigger="click" + > - + + e.stopPropagation()}> - + + onClick={(e) => e.stopPropagation()}> {/* */} @@ -209,9 +195,6 @@ export const ThemeEditorPalettePopoverForm: FC = (props) => { value={formState?.name} onChange={handleInputChange} ref={initialFocusRef} - - // border='none' - /> diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditor.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditor.tsx index 0fbceca..0c842ef 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditor.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditor.tsx @@ -3,7 +3,7 @@ import { ThemeProvider, useDisclosure, UseDisclosureProps } from '@chakra-ui/rea import { ThemeEditorDrawerProps } from './ThemeEditorDrawer' import { ThemeEditorButtonProps } from './ThemeEditorButton' import { theme } from '@hypertheme-editor/chakra-ui-theme' -import { RecoilRoot } from 'recoil' + type ThemeEditorChild = React.ReactElement< @@ -28,6 +28,7 @@ export const ThemeEditor: FC = ({ children, ...disclosureProps isOpen, onOpen, onClose, + }) })} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordion.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordion.tsx index 066b43a..25c636d 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordion.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordion.tsx @@ -2,6 +2,7 @@ import React, { FC } from 'react' import { AccordionProps, Accordion, useColorModeValue, Stack } from '@chakra-ui/react' export type ThemeEditorAccordionProps = { + children?: any } & AccordionProps @@ -12,16 +13,16 @@ export const ThemeEditorAccordion: FC = (props) => { const bgColor = useColorModeValue('white', 'gray.800') return ( - + {React.Children.map(children, (child, key) => { return React.cloneElement(child, { - shadow, bgColor, borderRadius: rest.borderRadius || 'md', borderWidth: 0, key, border: 'none', + }) })} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index 0131e12..b73e6cf 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -1,153 +1,156 @@ import React, { FC } from 'react' import { - Box, - Text, - AccordionItemProps, - AccordionButton, - AccordionItem, - AccordionIcon, - Circle, - useColorModeValue, - useColorMode, - ThemingProps, - As, - Tag, - Flex, - Collapse, - Icon as ChakraIcon, + Box, + Text, + AccordionItemProps, + AccordionButton, + AccordionItem, + AccordionIcon, + Circle, + useColorModeValue, + useColorMode, + ThemingProps, + As, + Tag, + Flex, + Collapse, + Icon as ChakraIcon, + Accordion, } from '@chakra-ui/react' -import { FaLock, FaPlus } from 'react-icons/fa' +import { FaLock } from 'react-icons/fa' export type ThemeEditorAccordionItemProps = { - title?: string - subtitle?: string - icon?: As - endIcon?: As - tag?: string - unmountOnExit?: boolean - rightComponent?: React.ReactElement + title?: string + subtitle?: string + icon?: As + endIcon?: As + tag?: string + unmountOnExit?: boolean + customHeight?: string + collapsedSubtitle?: string, + rightComponent?: React.ReactElement + } & AccordionItemProps & - Pick + Pick // export const ThemeEditorAccordionItem: FC = (props) => { - const { - title = 'Accordion title', - subtitle, - colorScheme = 'gray', - icon: Icon, - tag, - children, - isDisabled, - rightComponent, + const { + title = 'Accordion title', + subtitle, + colorScheme = 'gray', + icon: Icon, + tag, + children, + isDisabled, + collapsedSubtitle, + customHeight, + rightComponent, + unmountOnExit = true, + ...rest + } = props + const hoverBgColor = useColorModeValue('gray.200', 'gray.700') + const bgColor = useColorModeValue(`${colorScheme}.200`, `${colorScheme}.900`) + const { colorMode } = useColorMode() + const ref = React.useRef() + + return ( + + {({ isExpanded }) => ( + <> + + {Icon && ( + + + + )} + + + {title} + {tag && ( + + {tag} + + )} + + {subtitle && ( + + {subtitle} + + )} + {collapsedSubtitle && !isExpanded && ( + + {collapsedSubtitle} + + + )} - unmountOnExit = true, - ...rest - } = props - const hoverBgColor = useColorModeValue('gray.200', 'gray.700') - const bgColor = useColorModeValue(`${colorScheme}.200`, `${colorScheme}.900`) - const { colorMode } = useColorMode() - const ref = React.useRef() + - return ( - - {({ isExpanded }) => ( - <> - - {Icon && ( - - - - )} - - - {title} - {tag && ( - - {tag} - - )} - - {subtitle && !isExpanded && ( - - {subtitle} - - )} - - {title == 'Colors' ? 'Change colors, create new one, generate palette..' : ''} - - - {/* {title == 'Custom colors' && isExpanded && ( - - - {' '} - - - - )} */} - {rightComponent && <>{rightComponent}} - {!isDisabled ? : } - - - *': { - w: 'full', - px: '0.5rem', - py: '0.5rem', - borderRadius: 'none', - }, - }} - > - {children} - - - - )} - - ) + {rightComponent && isExpanded && <>{rightComponent}} + {!isDisabled ? : } + + + *': { + w: 'full', + px: '0.5rem', + py: '0.5rem', + borderRadius: 'none', + }, + }} + > + {children} + + + + ) + } + + ) } export default ThemeEditorAccordionItem diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorButton.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorButton.tsx index 06b94a9..e7b6568 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorButton.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorButton.tsx @@ -3,31 +3,34 @@ import { Button, ButtonProps, ThemeProvider, Text, Divider } from '@chakra-ui/re import ThemeIcon from '../base/ThemeIcon' export type ThemeEditorButtonProps = { - label?: string - onOpen?: () => void - isOpen?: boolean + label?: string + + onOpen?: () => void + isOpen?: boolean } & Omit export const ThemeEditorButton: FC = ({ - label, - size, - onOpen, - isOpen, - ...rest + label, + + size, + onOpen, + isOpen, + ...rest }) => { - const themeIconSize = useMemo(() => (typeof size === 'undefined' ? undefined : size), [size]) + const themeIconSize = useMemo(() => (typeof size === 'undefined' ? undefined : size), [size]) + + return ( + - ) + + + )} + + + ) } diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx index f7a4017..cc39cf3 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorDrawer.tsx @@ -21,7 +21,7 @@ import { useIsBrowserCompatible } from '../../utils/isBrowserCompatible' import { ThemeEditorRootPanel } from './ThemeEditorRootPanel' import { DRAWER_EXPANDED_INDEX_LOCAL_STORAGE_KEY } from '../../constants' import { useAccordionState } from '../../hooks/useAccordionState' -import { RecoilRoot } from 'recoil' + const mobileReadyItems = ['Colors'] @@ -49,6 +49,7 @@ export const ThemeEditorDrawer: FC = ({ hideCredits, onClose, isOpen, + children, headerComponent = , footerComponent = , @@ -105,6 +106,7 @@ export const ThemeEditorDrawer: FC = ({ borderRadius="md" index={defaultIndex} onChange={setDefaultIndex} + > {React.Children.map(React.Children.toArray(children), (child, index) => { const { icon, title, subtitle, children, ...panelProps } = (child as ReactElement).props @@ -117,6 +119,8 @@ export const ThemeEditorDrawer: FC = ({ fontSize="lg" unmountOnExit={true} isDisabled={isMobile && mobileReadyItems.indexOf(title) == -1} + + > {(child as ReactElement).type === ThemeEditorRootPanel ? children diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorRootPanel.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorRootPanel.tsx index cf54356..9bc1a22 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorRootPanel.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorRootPanel.tsx @@ -6,6 +6,7 @@ export type ThemeEditorRootPanelProps = { icon: IconType title: string + } & ThemeEditorAccordionItemProps export const ThemeEditorRootPanel: FC = () => { diff --git a/packages/hypertheme-chakra-ui/src/HyperThemeEditor.tsx b/packages/hypertheme-chakra-ui/src/HyperThemeEditor.tsx index 783b697..0a12caa 100644 --- a/packages/hypertheme-chakra-ui/src/HyperThemeEditor.tsx +++ b/packages/hypertheme-chakra-ui/src/HyperThemeEditor.tsx @@ -16,8 +16,8 @@ export const HyperThemeEditor: FC = (props) => { return ( - - + + diff --git a/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx b/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx index 8f176fc..1ddde59 100644 --- a/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx +++ b/packages/hypertheme-chakra-ui/stories/ThemeEditor.stories.tsx @@ -50,7 +50,7 @@ export const WithRootPanel = (args: any) => ( - + @@ -67,7 +67,7 @@ export const WithoutRootPanel = (args: any) => ( - + From 1cd2050ebf95021df1262dc66988d27c29f94341 Mon Sep 17 00:00:00 2001 From: mirela Date: Mon, 17 Oct 2022 10:40:37 +0200 Subject: [PATCH 23/23] update:colors-ui --- packages/chakra-ui-colors/src/Stepper/IconStepperContainer.tsx | 2 +- packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx | 2 +- .../src/components/theme-editor/ThemeEditorAccordionItem.tsx | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/chakra-ui-colors/src/Stepper/IconStepperContainer.tsx b/packages/chakra-ui-colors/src/Stepper/IconStepperContainer.tsx index e0f6d50..9769d53 100644 --- a/packages/chakra-ui-colors/src/Stepper/IconStepperContainer.tsx +++ b/packages/chakra-ui-colors/src/Stepper/IconStepperContainer.tsx @@ -20,7 +20,7 @@ export const IconStepperContainer: FC = (props) => { paddingLeft='1rem' paddingBottom='0' - _after={{ content: `""`, position: "absolute", left: "calc(-7px)", top: "2.8em", width: "14px", height: "12px", borderLeft: `solid 2px ${colorMode}`, borderBottom: `solid 2px ${colorMode}`, borderRadius: "0 0 0 6px", zIndex: '1', borderEndColor: ` ${colorMode}`, borderLeftColor: ` ${colorMode}` }} + _after={{ content: `""`, position: "absolute", left: "calc(-7.5px)", top: "2.8em", width: "14px", height: "12px", borderLeft: `solid 2px ${colorMode}`, borderBottom: `solid 2px ${colorMode}`, borderRadius: "0 0 0 6px", zIndex: '1', borderEndColor: ` ${colorMode}`, borderLeftColor: ` ${colorMode}` }} >{props.children} diff --git a/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx b/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx index 98eef95..b7fe749 100644 --- a/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx +++ b/packages/chakra-ui-colors/src/Stepper/StepperContainer.tsx @@ -23,7 +23,7 @@ export const StepperContainer: FC = (props) => { marginRight='1.2rem' paddingLeft='0.3rem' paddingBottom='0' - _before={{ content: `""`, position: "absolute", right: "100%", mt: '-0.5em', height: '112.15%', width: '2px', backgroundColor: colorMode }} + _before={{ content: `""`, position: "absolute", right: "100%", mt: '-0.5em', height: '111%', width: '2px', backgroundColor: colorMode }} _after={{ content: `""`, position: "absolute", left: "calc(-1.9px)", top: "1.3em", width: "16px", height: "6px", borderLeft: `solid 2px ${colorMode}`, borderBottom: `solid 2px ${colorMode}`, borderRadius: "0 0 0 6px", borderEndColor: ` ${colorMode}`, borderLeftColor: ` ${colorMode}` }} _last={{ _before: { height: "1.8em", mt: '-0.5em' } }} _first={{ _before: { mt: '-0.8em', height: '130%', _after: { top: '2.5em' } } }} diff --git a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx index b73e6cf..65f90e5 100644 --- a/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx +++ b/packages/chakra-ui-core/src/components/theme-editor/ThemeEditorAccordionItem.tsx @@ -62,7 +62,8 @@ export const ThemeEditorAccordionItem: FC = (prop boxShadow={isExpanded ? 'base' : 'none'} bgColor={isExpanded && colorMode == 'dark' ? '#2B2B3B' : ''} color={colorMode == 'light' ? 'gray.700' : 'white'} - p={{ base: 3, sm: 4 }} + p={{ base: 2, sm: 3 }} + //p='16px' borderRadius="12px" _hover={{ bgColor: hoverBgColor }} height={customHeight}