diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b213e92a6..762d9f17fa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,12 +25,10 @@ jobs: - run: pnpm install - name: Build nivo packages run: make pkgs-build + env: + SKIP_SIZE: true - run: make pkgs-lint - run: make pkgs-test - # Make sure that we can build the website - - run: make website-build - # Make sure that we can build storybook - - run: make storybook-build end-to-end-tests: runs-on: ubuntu-22.04 @@ -53,6 +51,8 @@ jobs: runTests: false - name: Build nivo packages run: make pkgs-build + env: + SKIP_SIZE: true - name: Cypress run uses: cypress-io/github-action@v5 with: diff --git a/Makefile b/Makefile index dc3b637528..2c0b17d5bc 100644 --- a/Makefile +++ b/Makefile @@ -2,8 +2,6 @@ MAKEFLAGS += --no-print-directory SOURCES = packages -.PHONY: help bootstrap init pkgs-build pkgs-publish clean-all website-install website website-build website-deploy storybook storybook-build storybook-deploy deploy-all e2e-open - ######################################################################################################################## # # HELP @@ -32,6 +30,7 @@ HELP_HELPER = \ }; \ print "\n"; } +.PHONY: help help: ##prints help @perl -e '$(HELP_HELPER)' $(MAKEFILE_LIST) @@ -43,14 +42,17 @@ help: ##prints help # ######################################################################################################################## +.PHONY: install install: ##@0 global install - @pnpm install + pnpm install --frozen-lockfile +.PHONY: init init: ##@0 global cleanup/install/bootstrap @$(MAKE) clean-all @$(MAKE) install @$(MAKE) pkgs-build +.PHONY: fmt fmt: ##@0 global format code using prettier (js, css, md) @pnpm prettier --color --write \ "packages/*/{src,tests}/**/*.{js,ts,tsx}" \ @@ -63,6 +65,7 @@ fmt: ##@0 global format code using prettier (js, css, md) "cypress/src/**/*.{js,ts,tsx}" \ "README.md" +.PHONY: fmt-check fmt-check: ##@0 global check if files were all formatted using prettier @echo "${YELLOW}Checking formatting${RESET}" @pnpm prettier --color --list-different \ @@ -76,16 +79,20 @@ fmt-check: ##@0 global check if files were all formatted using prettier "cypress/src/**/*.{js,ts,tsx}" \ "README.md" +.PHONY: test test: ##@0 global run all checks/tests (packages, website) @$(MAKE) fmt-check @$(MAKE) lint @$(MAKE) pkgs-test +.PHONY: vercel-build vercel-build: ##@0 global Build the website and storybook to vercel - @$(MAKE) website-build - @$(MAKE) storybook-build + @echo "${YELLOW}Building the website and storybook${RESET}" + $(MAKE) website-build + $(MAKE) storybook-build @cp -a storybook/storybook-static website/public/storybook +.PHONY: clean-all clean-all: ##@0 global uninstall node modules, remove transpiled code & lock files @rm -rf node_modules @rm -rf package-lock.json @@ -105,6 +112,7 @@ define clean-source-all rm -rf $(1)/*/package-lock.json endef + ######################################################################################################################## # # 1. PACKAGES @@ -115,10 +123,12 @@ pkg-lint-%: ##@1 packages run eslint on package @echo "${YELLOW}Running eslint on package ${WHITE}@nivo/${*}${RESET}" @pnpm eslint ./packages/${*}/{src,tests}/**/*.{js,ts,tsx} +.PHONY: pkgs-lint pkgs-lint: ##@1 packages run eslint on all packages @echo "${YELLOW}Running eslint on all packages${RESET}" @pnpm eslint "./packages/*/{src,tests}/**/*.{js,ts,tsx}" +.PHONY: pkgs-lint-fix pkgs-lint-fix: ##@1 packages run eslint on all packages with a fix option @echo "${YELLOW}Running eslint on all packages${RESET}" @pnpm eslint "./packages/*/{src,tests}/**/*.{js,ts,tsx}" --fix @@ -138,27 +148,38 @@ pkg-update-test-%: ##@1 packages run tests for a package and update its snapshot pkg-watch-test-%: ##@1 packages run tests for a package and watch for changes @export BABEL_ENV=development; pnpm jest -c ./packages/jest.config.js --rootDir . ./packages/${*}/tests --watch +.PHONY: pkgs-test pkgs-test: ##@1 packages run tests for all packages @echo "${YELLOW}Running test suites for all packages${RESET}" @export BABEL_ENV=development; pnpm jest -c ./packages/jest.config.js --workerThreads --rootDir . ./packages/*/tests +.PHONY: pkgs-watch-test pkgs-watch-test: ##@1 packages run tests for all packages and watch for changes @echo "${YELLOW}Running test suites watcher for all packages${RESET}" @export BABEL_ENV=development; pnpm jest -c ./packages/jest.config.js --rootDir . ./packages/*/tests --watch +.PHONY: pkgs-test-cover pkgs-test-cover: ##@1 packages run tests for all packages with code coverage @echo "${YELLOW}Running test suites coverage for all packages${RESET}" @export BABEL_ENV=development; pnpm jest -c ./packages/jest.config.js --rootDir . --coverage ./packages/*/tests +.PHONY: pkgs-build pkgs-build: pkgs-types ##@1 packages build all packages @# Using exit code 255 in case of error as it'll make xargs stop immediately. - @export SKIP_TYPES=TRUE;find ./packages -type d -maxdepth 1 ! -path ./packages \ + @# Skipping type generation as it's already done via `pkgs-types` in one go. + @# | xargs -I '{}' sh -c '$(MAKE) pkg-build-{} || exit 255' + find ./packages -type d -maxdepth 1 ! -path ./packages | sed 's|^./packages/||' | sort | xargs -I '{}' sh -c 'echo "make pkg-build-{}"' + @export SKIP_TYPES=TRUE; find ./packages -type d -maxdepth 1 ! -path ./packages \ | sed 's|^./packages/||' \ - | xargs -P 8 -I '{}' sh -c '$(MAKE) pkg-build-{} || exit 255' + | sort \ + | xargs -I '{}' sh -c '$(MAKE) pkg-build-{}' + @echo "${GREEN}Packages built${RESET}" +.PHONY: pkgs-types pkgs-types: ##@1 packages build all package types @pnpm tsc --build ./tsconfig.monorepo.json +.PHONY: pkgs-types-clean pkgs-types-clean: ##@1 packages clean all package types @pnpm tsc --build --clean ./tsconfig.monorepo.json @@ -175,12 +196,15 @@ pkg-types-%: ##@1 packages generate types for a specific package fi; pkg-build-%: pkg-types-% ##@1 packages build a package + @echo "${YELLOW}Building package ${WHITE}@nivo/${*}${RESET}" @-rm -rf ./packages/${*}/dist/nivo-${*}* @export PACKAGE=${*}; NODE_ENV=production BABEL_ENV=production ./node_modules/.bin/rollup -c conf/rollup.config.mjs +.PHONY: pkgs-screenshots pkgs-screenshots: ##@1 packages generate screenshots for packages readme (website dev server must be running) @node scripts/capture.mjs +.PHONY: pkgs-publish-dry-run pkgs-publish-dry-run: ##@1 packages dry run for packages publication #@$(MAKE) pkgs-build @pnpm lerna publish \ @@ -191,12 +215,14 @@ pkgs-publish-dry-run: ##@1 packages dry run for packages publication --registry "http://localhost:4873" \ --loglevel verbose +.PHONY: pkgs-publish pkgs-publish: ##@1 packages publish all packages @$(MAKE) pkgs-build @echo "${YELLOW}Publishing packages${RESET}" @pnpm lerna publish --exact +.PHONY: pkgs-publish-next pkgs-publish-next: ##@1 packages publish all packages for @next npm tag @$(MAKE) pkgs-build @@ -208,62 +234,61 @@ pkg-dev-%: ##@1 packages build package (es flavor) on change, eg. `package-watch @rm -rf ./packages/${*}/cjs @export PACKAGE=${*}; NODE_ENV=development BABEL_ENV=development ./node_modules/.bin/rollup -c conf/rollup.config.mjs -w + ######################################################################################################################## # # 2. WEBSITE # ######################################################################################################################## +.PHONY: website-deps-up website-deps-up: ##@2 website interactive upgrade of website's dependencies @pnpm upgrade-interactive --latest +.PHONY: website website: ##@2 website start website in dev mode @echo "${YELLOW}Starting website dev server${RESET}" @cd website && pnpm start +.PHONY: website-build website-build: ##@2 website build website @echo "${YELLOW}Building website${RESET}" @-rm -rf website/.cache @cd website && pnpm build +.PHONY: website-serve website-serve: ##@2 website build & serve website @$(MAKE) website-build @cd website && pnpm serve -website-deploy: ##@2 website build & deploy website - @$(MAKE) website-build - - @echo "${YELLOW}Deploying website${RESET}" - @pnpm gh-pages -d website/public -r git@github.com:plouc/nivo.git -b gh-pages - +.PHONY: website-audit website-audit: ##@2 website audit website build @cd website && pnpm analyze +.PHONY: website-lint website-lint: ##@2 website run eslint on the website code @pnpm eslint ./website/src +.PHONY: website-sprites website-sprites: ##@2 website build sprite sheet @glue --img website/src/assets --css website/src/styles website/src/assets/icons + ######################################################################################################################## # # 3. STORYBOOK # ######################################################################################################################## +.PHONY: storybook storybook: ##@3 storybook start storybook in dev mode on port 6006 @pnpm --filter storybook dev +.PHONY: storybook-build storybook-build: ##@3 storybook build storybook @echo "${YELLOW}Building storybook${RESET}" @pnpm --filter storybook build -storybook-deploy: ##@3 storybook build and deploy storybook - @$(MAKE) storybook-build - - @echo "${YELLOW}Deploying storybook${RESET}" - @pnpm gh-pages -d storybook/storybook-static -r git@github.com:plouc/nivo.git -b gh-pages -e storybook - ######################################################################################################################## # @@ -271,9 +296,11 @@ storybook-deploy: ##@3 storybook build and deploy storybook # ######################################################################################################################## +.PHONY: end-to-end-open end-to-end-open: ##@4 end-to-end open cypress pnpm --filter nivo-e2e open +.PHONY: end-to-end-test end-to-end-test: ##@4 end-to-end build pnpm --filter nivo-e2e test @@ -284,16 +311,20 @@ end-to-end-test: ##@4 end-to-end build # ######################################################################################################################## +.PHONY: api-dev api-dev: ##@5 API run API in dev mode (watcher) @echo "${YELLOW}Starting API in dev mode${RESET}" @cd api && pnpm dev +.PHONY: api api: ##@5 API run API in regular mode (no watcher) @echo "${YELLOW}Starting API${RESET}" @cd api && pnpm start +.PHONY: api-lint api-lint: ##@5 API run eslint on the API code @pnpm eslint ./api/src +.PHONY: api-deploy api-deploy: ##@5 API Deploy API on heroku git subtree push --prefix api heroku master diff --git a/conf/rollup.config.mjs b/conf/rollup.config.mjs index b85071fdd5..9500726726 100644 --- a/conf/rollup.config.mjs +++ b/conf/rollup.config.mjs @@ -5,10 +5,11 @@ import stripBanner from 'rollup-plugin-strip-banner' import cleanup from 'rollup-plugin-cleanup' import size from 'rollup-plugin-size' import { visualizer } from 'rollup-plugin-visualizer' -import terser from "@rollup/plugin-terser" +import terser from '@rollup/plugin-terser' const pkg = process.env.PACKAGE const isWatching = process.env.ROLLUP_WATCH === 'true' +const skipSize = process.env.SKIP_SIZE === 'true' const extensions = ['.js', '.jsx', '.es6', '.es', '.mjs', '.ts', '.tsx'] const babelConfig = { @@ -21,6 +22,8 @@ const babelConfig = { const externals = [ 'prop-types', 'joi', + 'express', + 'uuid', ] let input = `./packages/${pkg}/src/index.js` @@ -53,7 +56,7 @@ const commonPlugins = [ modulesOnly: true, }), babel(babelConfig), - !isWatching && terser(), + // !isWatching && terser(), cleanup() ] @@ -68,12 +71,12 @@ const configs = [ }, plugins: [ ...commonPlugins, - !isWatching && size({ + !skipSize && !isWatching && size({ filename: `stats/${pkg}-size.es.json`, }), - !isWatching && visualizer({ + !skipSize && !isWatching && visualizer({ + template: 'raw-data', filename: `stats/${pkg}-stats.es.json`, - json: true, }) ].filter(Boolean), } diff --git a/package.json b/package.json index 0525039db4..b5252a301e 100644 --- a/package.json +++ b/package.json @@ -17,30 +17,32 @@ }, "keywords": [], "devDependencies": { - "@babel/core": "^7.21.5", + "@babel/core": "^7.21.8", "@ekino/config": "^0.3.0", "@rollup/plugin-babel": "^6.0.3", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-terser": "^0.4.1", - "@types/enzyme": "^3.10.10", - "@types/jest": "^27.0.3", - "@types/lodash": "^4.14.170", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "@typescript-eslint/eslint-plugin": "^5.59.1", - "@typescript-eslint/parser": "^5.59.1", + "@types/enzyme": "^3.10.13", + "@types/jest": "^27.5.2", + "@types/lodash": "^4.14.194", + "@types/react": "^18.2.6", + "@types/react-dom": "^18.2.4", + "@types/react-test-renderer": "^18.0.0", + "@typescript-eslint/eslint-plugin": "^5.59.5", + "@typescript-eslint/parser": "^5.59.5", "@wojtekmaj/enzyme-adapter-react-17": "0.6.6", "@wyze/clog-cli": "^1.0.1", "babel-jest": "^29.5.0", - "babel-loader": "^8.2.3", + "babel-loader": "^8.3.0", "chalk": "^5.2.0", "chalk-template": "^1.0.0", + "cypress": "^12.12.0", "enzyme": "^3.11.0", - "eslint": "^8.39.0", + "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-config-react-app": "^7.0.1", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", @@ -48,25 +50,23 @@ "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "jsdom": "^22.0.0", - "lerna": "^6.6.1", + "lerna": "^6.6.2", "lodash": "^4.17.21", "prettier": "^2.8.8", - "prop-types": "^15.7.2", + "prop-types": "^15.8.1", "puppeteer": "^19.11.1", "raf": "^3.4.1", - "react": "^18.0.2", - "react-dom": "^18.0.2", + "react": "18.2.0", + "react-dom": "18.2.0", "react-test-renderer": "^18.2.0", - "@types/react-test-renderer": "^18.0.0", "resize-observer-polyfill": "^1.5.1", - "rollup": "^3.21.0", + "rollup": "^3.21.6", "rollup-plugin-cleanup": "^3.2.1", "rollup-plugin-size": "^0.3.1", "rollup-plugin-strip-banner": "^3.0.0", - "rollup-plugin-visualizer": "^5.5.2", - "serve": "^13.0.2", - "typescript": "^4.9.5", - "cypress": "^12.11.0" + "rollup-plugin-visualizer": "^5.9.0", + "serve": "^13.0.4", + "typescript": "^4.9.5" }, "resolutions": { "@types/react": "^18.2.0", diff --git a/packages/annotations/package.json b/packages/annotations/package.json index a479a96403..a23f86abae 100644 --- a/packages/annotations/package.json +++ b/packages/annotations/package.json @@ -30,6 +30,7 @@ "dependencies": { "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", + "@nivo/theming": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/prop-types": "^15.7.2", "lodash": "^4.17.21", diff --git a/packages/annotations/src/AnnotationLink.tsx b/packages/annotations/src/AnnotationLink.tsx index 75601e043a..0fa0049f26 100644 --- a/packages/annotations/src/AnnotationLink.tsx +++ b/packages/annotations/src/AnnotationLink.tsx @@ -1,6 +1,7 @@ import { useMemo } from 'react' import { animated } from '@react-spring/web' -import { useAnimatedPath, useTheme } from '@nivo/core' +import { useAnimatedPath } from '@nivo/core' +import { useTheme } from '@nivo/theming' export const AnnotationLink = ({ points, diff --git a/packages/annotations/src/AnnotationNote.tsx b/packages/annotations/src/AnnotationNote.tsx index 07cb942df0..e3562f106e 100644 --- a/packages/annotations/src/AnnotationNote.tsx +++ b/packages/annotations/src/AnnotationNote.tsx @@ -1,7 +1,8 @@ import { createElement } from 'react' import omit from 'lodash/omit' import { useSpring, animated } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { NoteSvg } from './types' export const AnnotationNote = ({ diff --git a/packages/annotations/src/CircleAnnotationOutline.tsx b/packages/annotations/src/CircleAnnotationOutline.tsx index e045375bfa..68dab40f74 100644 --- a/packages/annotations/src/CircleAnnotationOutline.tsx +++ b/packages/annotations/src/CircleAnnotationOutline.tsx @@ -1,5 +1,6 @@ import { useSpring, animated } from '@react-spring/web' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' export const CircleAnnotationOutline = ({ x, y, size }: { x: number; y: number; size: number }) => { const theme = useTheme() diff --git a/packages/annotations/src/DotAnnotationOutline.tsx b/packages/annotations/src/DotAnnotationOutline.tsx index 9abfe85203..91223cb1e7 100644 --- a/packages/annotations/src/DotAnnotationOutline.tsx +++ b/packages/annotations/src/DotAnnotationOutline.tsx @@ -1,5 +1,6 @@ import { useSpring, animated } from '@react-spring/web' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { defaultProps } from './props' export const DotAnnotationOutline = ({ diff --git a/packages/annotations/src/RectAnnotationOutline.tsx b/packages/annotations/src/RectAnnotationOutline.tsx index 0f742ec8df..9bbd3ec2f8 100644 --- a/packages/annotations/src/RectAnnotationOutline.tsx +++ b/packages/annotations/src/RectAnnotationOutline.tsx @@ -1,5 +1,6 @@ import { useSpring, animated } from '@react-spring/web' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' export const RectAnnotationOutline = ({ x, diff --git a/packages/annotations/src/canvas.ts b/packages/annotations/src/canvas.ts index 96c0d23450..9df0f5fab1 100644 --- a/packages/annotations/src/canvas.ts +++ b/packages/annotations/src/canvas.ts @@ -1,4 +1,4 @@ -import { CompleteTheme } from '@nivo/core' +import { Theme } from '@nivo/theming' import { ComputedAnnotation } from './types' import { isCanvasNote, isCircleAnnotation, isDotAnnotation, isRectAnnotation } from './utils' @@ -19,7 +19,7 @@ export const renderAnnotationsToCanvas = ( theme, }: { annotations: ComputedAnnotation[] - theme: CompleteTheme + theme: Theme } ) => { if (annotations.length === 0) return diff --git a/packages/annotations/src/types.ts b/packages/annotations/src/types.ts index 07fbc2ff46..21f3a302c9 100644 --- a/packages/annotations/src/types.ts +++ b/packages/annotations/src/types.ts @@ -1,4 +1,4 @@ -import { CompleteTheme } from '@nivo/core' +import { Theme } from '@nivo/theming' import { ReactElement } from 'react' // The types below are from lodash but the babel plugin won't let us import it @@ -38,7 +38,7 @@ export type NoteCanvasRenderer = ( datum: Datum x: number y: number - theme: CompleteTheme + theme: Theme } ) => void diff --git a/packages/arcs/package.json b/packages/arcs/package.json index 9b53b7f4f4..67b36f9da9 100644 --- a/packages/arcs/package.json +++ b/packages/arcs/package.json @@ -30,6 +30,8 @@ "dependencies": { "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-shape": "^2.0.0", "d3-shape": "^1.3.5" diff --git a/packages/arcs/src/ArcsLayer.tsx b/packages/arcs/src/ArcsLayer.tsx index 483030d1ae..29a4795bf7 100644 --- a/packages/arcs/src/ArcsLayer.tsx +++ b/packages/arcs/src/ArcsLayer.tsx @@ -1,5 +1,5 @@ import { createElement } from 'react' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig, useInheritedColor } from '@nivo/colors' import { DatumWithArcAndColor, ArcGenerator } from './types' import { useArcsTransition } from './useArcsTransition' diff --git a/packages/arcs/src/arc_labels/ArcLabel.tsx b/packages/arcs/src/arc_labels/ArcLabel.tsx index 5ce3e8ae1f..3319990463 100644 --- a/packages/arcs/src/arc_labels/ArcLabel.tsx +++ b/packages/arcs/src/arc_labels/ArcLabel.tsx @@ -1,6 +1,7 @@ import { CSSProperties } from 'react' import { SpringValue, Interpolation, animated } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { DatumWithArcAndColor } from '../types' const staticStyle: CSSProperties = { @@ -25,7 +26,7 @@ export const ArcLabel = ({ return ( - ({ }} > {label} - + ) } diff --git a/packages/arcs/src/arc_labels/ArcLabelsLayer.tsx b/packages/arcs/src/arc_labels/ArcLabelsLayer.tsx index 66b46970d2..6457a734e7 100644 --- a/packages/arcs/src/arc_labels/ArcLabelsLayer.tsx +++ b/packages/arcs/src/arc_labels/ArcLabelsLayer.tsx @@ -1,5 +1,6 @@ import { createElement, useMemo } from 'react' -import { PropertyAccessor, usePropertyAccessor, radiansToDegrees, useTheme } from '@nivo/core' +import { PropertyAccessor, usePropertyAccessor, radiansToDegrees } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { useArcCentersTransition } from '../centers' import { ArcTransitionMode } from '../arcTransitionMode' diff --git a/packages/arcs/src/arc_labels/canvas.ts b/packages/arcs/src/arc_labels/canvas.ts index 7551e1d763..7cdd515907 100644 --- a/packages/arcs/src/arc_labels/canvas.ts +++ b/packages/arcs/src/arc_labels/canvas.ts @@ -1,18 +1,27 @@ -import { CompleteTheme } from '@nivo/core' +import { Theme } from '@nivo/theming' +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { DatumWithArcAndColor } from '../types' import { ArcLabel } from './useArcLabels' export const drawCanvasArcLabels = ( ctx: CanvasRenderingContext2D, labels: ArcLabel[], - theme: CompleteTheme + theme: Theme ) => { + setCanvasFont(ctx, theme.labels.text) ctx.textAlign = 'center' ctx.textBaseline = 'middle' - ctx.font = `${theme.labels.text.fontSize}px ${theme.labels.text.fontFamily}` labels.forEach(label => { - ctx.fillStyle = label.textColor - ctx.fillText(`${label.label}`, label.x, label.y) + drawCanvasText( + ctx, + { + ...theme.labels.text, + fill: label.textColor, + }, + String(label.label), + label.x, + label.y + ) }) } diff --git a/packages/arcs/src/arc_labels/useArcLabels.ts b/packages/arcs/src/arc_labels/useArcLabels.ts index c0bb234682..19dedf4ff2 100644 --- a/packages/arcs/src/arc_labels/useArcLabels.ts +++ b/packages/arcs/src/arc_labels/useArcLabels.ts @@ -1,5 +1,6 @@ import { useCallback } from 'react' -import { PropertyAccessor, usePropertyAccessor, useTheme } from '@nivo/core' +import { PropertyAccessor, usePropertyAccessor } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig, useInheritedColor } from '@nivo/colors' import { DatumWithArcAndColor } from '../types' import { useArcCenters, ArcCenter } from '../centers' diff --git a/packages/arcs/src/arc_link_labels/ArcLinkLabel.tsx b/packages/arcs/src/arc_link_labels/ArcLinkLabel.tsx index c69aa7b683..3ec7b93e93 100644 --- a/packages/arcs/src/arc_link_labels/ArcLinkLabel.tsx +++ b/packages/arcs/src/arc_link_labels/ArcLinkLabel.tsx @@ -1,5 +1,6 @@ -import { useTheme } from '@nivo/core' import { SpringValue, Interpolation, animated } from '@react-spring/web' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { DatumWithArcAndColor } from '../types' export interface ArcLinkLabelProps { @@ -30,7 +31,7 @@ export const ArcLinkLabel = ({ strokeWidth={style.thickness} d={style.path} /> - ({ }} > {label} - + ) } diff --git a/packages/arcs/src/arc_link_labels/canvas.ts b/packages/arcs/src/arc_link_labels/canvas.ts index 5319b2ed18..60973f01c0 100644 --- a/packages/arcs/src/arc_link_labels/canvas.ts +++ b/packages/arcs/src/arc_link_labels/canvas.ts @@ -1,24 +1,32 @@ -import { - // @ts-ignore - textPropsByEngine, - CompleteTheme, -} from '@nivo/core' +// @ts-ignore +import { textPropsByEngine } from '@nivo/core' +import { Theme } from '@nivo/theming' +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { DatumWithArcAndColor } from '../types' import { ArcLinkLabel } from './types' export const drawCanvasArcLinkLabels = ( ctx: CanvasRenderingContext2D, labels: ArcLinkLabel[], - theme: CompleteTheme, + theme: Theme, strokeWidth: number ) => { ctx.textBaseline = 'middle' - ctx.font = `${theme.labels.text.fontSize}px ${theme.labels.text.fontFamily}` + setCanvasFont(ctx, theme.labels.text) labels.forEach(label => { ctx.fillStyle = label.textColor ctx.textAlign = textPropsByEngine.canvas.align[label.textAnchor] - ctx.fillText(`${label.label}`, label.x, label.y) + drawCanvasText( + ctx, + { + ...theme.labels.text, + fill: label.textColor, + }, + String(label.label), + label.x, + label.y + ) ctx.beginPath() ctx.strokeStyle = label.linkColor diff --git a/packages/arcs/src/arc_link_labels/useArcLinkLabels.ts b/packages/arcs/src/arc_link_labels/useArcLinkLabels.ts index 0b6872a1c7..19f48cdd07 100644 --- a/packages/arcs/src/arc_link_labels/useArcLinkLabels.ts +++ b/packages/arcs/src/arc_link_labels/useArcLinkLabels.ts @@ -1,5 +1,6 @@ import { useCallback } from 'react' -import { PropertyAccessor, usePropertyAccessor, useTheme } from '@nivo/core' +import { PropertyAccessor, usePropertyAccessor } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig, useInheritedColor } from '@nivo/colors' import { DatumWithArcAndColor } from '../types' import { ArcLinkWithDatum, ArcLinkLabel } from './types' diff --git a/packages/arcs/src/arc_link_labels/useArcLinkLabelsTransition.ts b/packages/arcs/src/arc_link_labels/useArcLinkLabelsTransition.ts index b652e20747..a6aa20e36b 100644 --- a/packages/arcs/src/arc_link_labels/useArcLinkLabelsTransition.ts +++ b/packages/arcs/src/arc_link_labels/useArcLinkLabelsTransition.ts @@ -1,7 +1,8 @@ import { useMemo } from 'react' import { SpringValue, useTransition, to } from '@react-spring/web' import { line } from 'd3-shape' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig, useInheritedColor } from '@nivo/colors' import { DatumWithArcAndColor, Point } from '../types' import { useFilteredDataBySkipAngle } from '../utils' diff --git a/packages/axes/package.json b/packages/axes/package.json index 8a9b822171..0afa40db18 100644 --- a/packages/axes/package.json +++ b/packages/axes/package.json @@ -29,6 +29,8 @@ "dependencies": { "@nivo/core": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-format": "^1.4.1", "@types/d3-time-format": "^2.3.1", diff --git a/packages/axes/src/canvas.ts b/packages/axes/src/canvas.ts index 8834e3000e..f304bd0c77 100644 --- a/packages/axes/src/canvas.ts +++ b/packages/axes/src/canvas.ts @@ -1,5 +1,7 @@ -import { degreesToRadians, CompleteTheme } from '@nivo/core' +import { degreesToRadians } from '@nivo/core' +import { Theme } from '@nivo/theming' import { ScaleValue, AnyScale, TicksSpec } from '@nivo/scales' +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { computeCartesianTicks, getFormatter, computeGridLines } from './compute' import { positions } from './props' import { AxisLegendPosition, CanvasAxisProps, ValueFormatter } from './types' @@ -40,7 +42,7 @@ export const renderAxisToCanvas = ( legend?: string legendPosition?: AxisLegendPosition legendOffset?: number - theme: CompleteTheme + theme: Theme } ) => { const { ticks, textAlign, textBaseline } = computeCartesianTicks({ @@ -60,10 +62,7 @@ export const renderAxisToCanvas = ( ctx.textAlign = textAlign ctx.textBaseline = textBaseline - const textStyle = theme.axis.ticks.text - ctx.font = `${textStyle.fontWeight ? `${textStyle.fontWeight} ` : ''}${textStyle.fontSize}px ${ - textStyle.fontFamily - }` + setCanvasFont(ctx, theme.axis.ticks.text) if ((theme.axis.domain.line.strokeWidth ?? 0) > 0) { ctx.lineWidth = Number(theme.axis.domain.line.strokeWidth) @@ -102,18 +101,8 @@ export const renderAxisToCanvas = ( ctx.translate(tick.x + tick.textX, tick.y + tick.textY) ctx.rotate(degreesToRadians(tickRotation)) - if (textStyle.outlineWidth > 0) { - ctx.strokeStyle = textStyle.outlineColor - ctx.lineWidth = textStyle.outlineWidth * 2 - ctx.lineJoin = 'round' - ctx.strokeText(`${value}`, 0, 0) - } - - if (theme.axis.ticks.text.fill) { - ctx.fillStyle = textStyle.fill - } + drawCanvasText(ctx, theme.axis.ticks.text, `${value}`) - ctx.fillText(`${value}`, 0, 0) ctx.restore() }) @@ -150,16 +139,12 @@ export const renderAxisToCanvas = ( ctx.translate(legendX, legendY) ctx.rotate(degreesToRadians(legendRotation)) - ctx.font = `${ - theme.axis.legend.text.fontWeight ? `${theme.axis.legend.text.fontWeight} ` : '' - }${theme.axis.legend.text.fontSize}px ${theme.axis.legend.text.fontFamily}` - - if (theme.axis.legend.text.fill) { - ctx.fillStyle = theme.axis.legend.text.fill - } + setCanvasFont(ctx, theme.axis.legend.text) ctx.textAlign = textAlign ctx.textBaseline = 'middle' + drawCanvasText(ctx, theme.axis.legend.text, legend) + ctx.fillText(legend, 0, 0) } @@ -189,7 +174,7 @@ export const renderAxesToCanvas = ( right?: CanvasAxisProps | null bottom?: CanvasAxisProps | null left?: CanvasAxisProps | null - theme: CompleteTheme + theme: Theme } ) => { const axes = { top, right, bottom, left } diff --git a/packages/axes/src/components/Axis.tsx b/packages/axes/src/components/Axis.tsx index 6da3ea5bfc..0f7974830d 100644 --- a/packages/axes/src/components/Axis.tsx +++ b/packages/axes/src/components/Axis.tsx @@ -1,7 +1,9 @@ import { useMemo, memo, useCallback } from 'react' import * as React from 'react' import { useSpring, useTransition, animated } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { ScaleValue, AnyScale } from '@nivo/scales' import { computeCartesianTicks, getFormatter } from '../compute' import { AxisTick } from './AxisTick' @@ -34,7 +36,6 @@ export const NonMemoizedAxis = ({ onClick?: (event: React.MouseEvent, value: Value | string) => void }) => { const theme = useTheme() - const legendTextStyle = theme.axis.legend.text const formatValue = useMemo(() => getFormatter(format, scale), [format, scale]) @@ -81,33 +82,16 @@ export const NonMemoizedAxis = ({ } legendNode = ( - <> - {legendTextStyle.outlineWidth > 0 && ( - - {legend} - - )} - - {legend} - - + + {legend} + ) } diff --git a/packages/axes/src/components/AxisTick.tsx b/packages/axes/src/components/AxisTick.tsx index bbd887d24f..20b31b0d27 100644 --- a/packages/axes/src/components/AxisTick.tsx +++ b/packages/axes/src/components/AxisTick.tsx @@ -1,7 +1,8 @@ import { useMemo, memo } from 'react' import * as React from 'react' import { animated } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { ScaleValue } from '@nivo/scales' import { AxisTickProps } from '../types' @@ -17,8 +18,6 @@ const AxisTick = ({ }: AxisTickProps) => { const theme = useTheme() const lineStyle = theme.axis.ticks.line - const textStyle = theme.axis.ticks.text - const value = format?.(_value) ?? _value const props = useMemo(() => { @@ -37,27 +36,14 @@ const AxisTick = ({ return ( - {textStyle.outlineWidth > 0 && ( - - {`${value}`} - - )} - {`${value}`} - + ) } diff --git a/packages/axes/src/components/GridLine.tsx b/packages/axes/src/components/GridLine.tsx index 191bbebe0c..2f9b6822e7 100644 --- a/packages/axes/src/components/GridLine.tsx +++ b/packages/axes/src/components/GridLine.tsx @@ -1,6 +1,6 @@ import { memo, SVGAttributes } from 'react' import { SpringValues, animated } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' export const GridLine = memo( ({ diff --git a/packages/bar/package.json b/packages/bar/package.json index fa53860361..c180254029 100644 --- a/packages/bar/package.json +++ b/packages/bar/package.json @@ -31,15 +31,18 @@ "dependencies": { "@nivo/annotations": "workspace:*", "@nivo/axes": "workspace:*", + "@nivo/canvas": "workspace:*", "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5", "lodash": "^4.17.21" }, diff --git a/packages/bar/src/Bar.tsx b/packages/bar/src/Bar.tsx index 80e8aad802..b51a551282 100644 --- a/packages/bar/src/Bar.tsx +++ b/packages/bar/src/Bar.tsx @@ -38,7 +38,7 @@ const InnerBar = ({ height, groupMode, - layout, + layout = svgDefaultProps.layout, reverse, minValue, maxValue, diff --git a/packages/bar/src/BarCanvas.tsx b/packages/bar/src/BarCanvas.tsx index 7f69196a6c..9a3ab7a366 100644 --- a/packages/bar/src/BarCanvas.tsx +++ b/packages/bar/src/BarCanvas.tsx @@ -5,14 +5,10 @@ import { BarDatum, ComputedBarDatum, } from './types' -import { - Container, - Margin, - getRelativeCursor, - isCursorInRect, - useDimensions, - useTheme, -} from '@nivo/core' +import { Container, Margin, getRelativeCursor, isCursorInRect, useDimensions } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { roundedRect } from '@nivo/canvas' +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { ForwardedRef, createElement, @@ -62,7 +58,7 @@ const InnerBarCanvas = ({ height, groupMode, - layout, + layout = canvasDefaultProps.layout, reverse, minValue, maxValue, @@ -92,8 +88,8 @@ const InnerBarCanvas = ({ borderRadius, borderWidth, label, - labelColor, shouldRenderLabel, + labelStyle, } ) => { ctx.fillStyle = color @@ -105,22 +101,7 @@ const InnerBarCanvas = ({ ctx.beginPath() - if (borderRadius > 0) { - const radius = Math.min(borderRadius, height) - - ctx.moveTo(x + radius, y) - ctx.lineTo(x + width - radius, y) - ctx.quadraticCurveTo(x + width, y, x + width, y + radius) - ctx.lineTo(x + width, y + height - radius) - ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height) - ctx.lineTo(x + radius, y + height) - ctx.quadraticCurveTo(x, y + height, x, y + height - radius) - ctx.lineTo(x, y + radius) - ctx.quadraticCurveTo(x, y, x + radius, y) - ctx.closePath() - } else { - ctx.rect(x, y, width, height) - } + roundedRect(ctx, x, y, width, height, Math.min(borderRadius, height)) ctx.fill() @@ -131,8 +112,7 @@ const InnerBarCanvas = ({ if (shouldRenderLabel) { ctx.textBaseline = 'middle' ctx.textAlign = 'center' - ctx.fillStyle = labelColor - ctx.fillText(label, x + width / 2, y + height / 2) + drawCanvasText(ctx, labelStyle, label, x + width / 2, y + height / 2) } }, @@ -308,8 +288,8 @@ const InnerBarCanvas = ({ if (enableGridX) { renderGridLinesToCanvas(ctx, { - width, - height, + width: innerWidth, + height: innerHeight, scale: xScale, axis: 'x', values: gridXValues, @@ -318,8 +298,8 @@ const InnerBarCanvas = ({ if (enableGridY) { renderGridLinesToCanvas(ctx, { - width, - height, + width: innerWidth, + height: innerHeight, scale: yScale, axis: 'y', values: gridYValues, @@ -339,6 +319,8 @@ const InnerBarCanvas = ({ theme, }) } else if (layer === 'bars') { + setCanvasFont(ctx, theme.text) + barsWithValue.forEach(bar => { renderBar(ctx, { bar, @@ -346,8 +328,11 @@ const InnerBarCanvas = ({ borderRadius, borderWidth, label: getLabel(bar.data), - labelColor: getLabelColor(bar) as string, shouldRenderLabel: shouldRenderBarLabel(bar), + labelStyle: { + ...theme.labels.text, + fill: getLabelColor(bar) as string, + }, }) }) } else if (layer === 'legends') { diff --git a/packages/bar/src/BarItem.tsx b/packages/bar/src/BarItem.tsx index 7ac2cf789f..37f8bfbe4b 100644 --- a/packages/bar/src/BarItem.tsx +++ b/packages/bar/src/BarItem.tsx @@ -1,6 +1,7 @@ import { createElement, MouseEvent, useCallback, useMemo } from 'react' import { animated, to } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { useTooltip } from '@nivo/tooltip' import { BarDatum, BarItemProps } from './types' @@ -101,7 +102,7 @@ export const BarItem = ({ onBlur={isInteractive && isFocusable ? handleBlur : undefined} /> {shouldRenderLabel && ( - ({ }} > {label} - + )} ) diff --git a/packages/bar/src/hooks.ts b/packages/bar/src/hooks.ts index 880b5983b7..fa2b385154 100644 --- a/packages/bar/src/hooks.ts +++ b/packages/bar/src/hooks.ts @@ -1,6 +1,7 @@ import { useCallback, useMemo, useState } from 'react' import { useInheritedColor, useOrdinalColorScale } from '@nivo/colors' -import { usePropertyAccessor, useTheme, useValueFormatter, Margin } from '@nivo/core' +import { usePropertyAccessor, useValueFormatter, Margin } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { DataProps, BarCommonProps, diff --git a/packages/bar/src/types.ts b/packages/bar/src/types.ts index 8644bff6c8..5bbbaa7ffc 100644 --- a/packages/bar/src/types.ts +++ b/packages/bar/src/types.ts @@ -9,9 +9,9 @@ import { MotionProps, PropertyAccessor, SvgDefsAndFill, - Theme, ValueFormat, } from '@nivo/core' +import { PartialTheme, TextStyle } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' import { AnyScale, ScaleSpec, ScaleBandSpec } from '@nivo/scales' @@ -188,7 +188,7 @@ export type RenderBarProps = Omit< | 'ariaDescribedBy' > & { borderColor: string - labelColor: string + labelStyle: TextStyle } export interface BarTooltipProps extends ComputedDatum { @@ -251,7 +251,7 @@ export type BarCommonProps = { colorBy: 'id' | 'indexValue' colors: OrdinalColorScaleConfig> - theme: Theme + theme: PartialTheme annotations: AnnotationMatcher>[] legends: BarLegendProps[] diff --git a/packages/boxplot/package.json b/packages/boxplot/package.json index 3885d06bec..91835c012c 100644 --- a/packages/boxplot/package.json +++ b/packages/boxplot/package.json @@ -40,11 +40,12 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5", "lodash": "^4.17.21" }, diff --git a/packages/boxplot/src/BoxPlotTooltip.tsx b/packages/boxplot/src/BoxPlotTooltip.tsx index e294a28751..989677a9d1 100644 --- a/packages/boxplot/src/BoxPlotTooltip.tsx +++ b/packages/boxplot/src/BoxPlotTooltip.tsx @@ -1,7 +1,7 @@ import { BoxPlotSummaryFormatted, BoxPlotTooltipProps, BoxPlotSummary } from './types' import { Chip } from '@nivo/tooltip' import { memo } from 'react' -import { useTheme, CompleteTheme } from '@nivo/core' +import { useTheme, Theme } from '@nivo/theming' interface BoxPlotSummaryTooltipProps { label: string @@ -23,11 +23,11 @@ export const defaultTranslation = { Quantiles: 'Quantiles', } -type ExtendedTheme = CompleteTheme & { +type ExtendedTheme = Theme & { translation: Translation } -const hasTranslation = (theme: CompleteTheme | ExtendedTheme): theme is ExtendedTheme => { +const hasTranslation = (theme: Theme | ExtendedTheme): theme is ExtendedTheme => { return 'translation' in theme } diff --git a/packages/boxplot/src/hooks.ts b/packages/boxplot/src/hooks.ts index 5d93fe300f..882fc3e609 100644 --- a/packages/boxplot/src/hooks.ts +++ b/packages/boxplot/src/hooks.ts @@ -1,7 +1,8 @@ import { useMemo, useState } from 'react' import { SpringConfig, useTransition } from '@react-spring/web' import { useInheritedColor, useOrdinalColorScale } from '@nivo/colors' -import { PropertyAccessor, usePropertyAccessor, useTheme, useValueFormatter } from '@nivo/core' +import { PropertyAccessor, usePropertyAccessor, useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { BoxPlotCommonProps, BoxPlotDatum, diff --git a/packages/boxplot/src/types.ts b/packages/boxplot/src/types.ts index 0961bf4838..c876244c25 100644 --- a/packages/boxplot/src/types.ts +++ b/packages/boxplot/src/types.ts @@ -9,9 +9,9 @@ import { MotionProps, PropertyAccessor, SvgDefsAndFill, - Theme, ValueFormat, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' import { @@ -231,7 +231,7 @@ export type BoxPlotCommonProps = { colorBy: 'group' | 'subGroup' colors: OrdinalColorScaleConfig - theme: Theme & { translation: BoxPlotDatum } + theme: PartialTheme & { translation: BoxPlotDatum } annotations: AnnotationMatcher[] legends: LegendProps[] diff --git a/packages/bullet/package.json b/packages/bullet/package.json index 5dbbe7105c..c79f8d79f9 100644 --- a/packages/bullet/package.json +++ b/packages/bullet/package.json @@ -34,6 +34,8 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2" }, diff --git a/packages/bullet/src/BulletItem.tsx b/packages/bullet/src/BulletItem.tsx index c0a4abcc4e..dfb656518d 100644 --- a/packages/bullet/src/BulletItem.tsx +++ b/packages/bullet/src/BulletItem.tsx @@ -1,8 +1,13 @@ import { useMemo } from 'react' import { useSpring, animated } from '@react-spring/web' import { Axis } from '@nivo/axes' -// @ts-ignore -import { getColorScale, useMotionConfig, useTheme } from '@nivo/core' +import { + // @ts-ignore + getColorScale, + useMotionConfig, +} from '@nivo/core' +import { Text } from '@nivo/text' +import { useTheme } from '@nivo/theming' import { useTooltip } from '@nivo/tooltip' import { stackValues } from './compute' import { BulletMarkers } from './BulletMarkers' @@ -158,15 +163,15 @@ export const BulletItem = ({ const titleNode = ( {typeof title === 'string' ? ( - {title} - + ) : ( title )} diff --git a/packages/bullet/src/BulletRects.tsx b/packages/bullet/src/BulletRects.tsx index 790501f31d..8f90492dd4 100644 --- a/packages/bullet/src/BulletRects.tsx +++ b/packages/bullet/src/BulletRects.tsx @@ -1,6 +1,7 @@ import { createElement, useMemo } from 'react' import { useTransition, animated, to } from '@react-spring/web' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { computeRects } from './compute' import { BulletRectsProps, BulletRectComputedRect, BulletRectAnimatedProps } from './types' import { useInheritedColor } from '@nivo/colors' diff --git a/packages/bullet/src/types.ts b/packages/bullet/src/types.ts index f3493298bb..d3f2fea57b 100644 --- a/packages/bullet/src/types.ts +++ b/packages/bullet/src/types.ts @@ -1,5 +1,6 @@ import * as React from 'react' -import { Box, Dimensions, Theme, Colors, MotionProps } from '@nivo/core' +import { Box, Dimensions, Colors, MotionProps } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig } from '@nivo/colors' import { ScaleLinear } from '@nivo/scales' import { SpringValues } from '@react-spring/web' @@ -75,7 +76,7 @@ export type CommonBulletProps = Dimensions & { axisPosition: 'before' | 'after' - theme: Theme + theme: PartialTheme isInteractive: boolean diff --git a/packages/bullet/tests/Bullet.test.tsx b/packages/bullet/tests/Bullet.test.tsx index 6b5184c123..58ba4790aa 100644 --- a/packages/bullet/tests/Bullet.test.tsx +++ b/packages/bullet/tests/Bullet.test.tsx @@ -243,7 +243,7 @@ describe('Bullet', () => { expect(onRangeClick).toHaveBeenCalledTimes(1) expect(onRangeClick).toHaveBeenCalledWith( { - color: 'rgb(65, 125, 224)', + color: 'rgb(66, 125, 224)', id: 'A', index: 0, v0: 0, @@ -385,11 +385,11 @@ describe('Bullet', () => { expect(props).toMatchInlineSnapshot(` { - "borderColor": "rgb(65, 125, 224)", + "borderColor": "rgb(66, 125, 224)", "borderWidth": 0, - "color": "rgba(65, 125, 224, 1)", + "color": "rgba(66, 125, 224, 1)", "data": { - "color": "rgb(65, 125, 224)", + "color": "rgb(66, 125, 224)", "index": 0, "v0": 0, "v1": 10, diff --git a/packages/bump/package.json b/packages/bump/package.json index 74500186af..3bc9880342 100644 --- a/packages/bump/package.json +++ b/packages/bump/package.json @@ -35,11 +35,13 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5" }, "peerDependencies": { diff --git a/packages/bump/src/area-bump/AreasLabels.tsx b/packages/bump/src/area-bump/AreasLabels.tsx index dbc1041fab..e260aaf05c 100644 --- a/packages/bump/src/area-bump/AreasLabels.tsx +++ b/packages/bump/src/area-bump/AreasLabels.tsx @@ -1,6 +1,8 @@ -import { useSprings, animated } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useSprings } from '@react-spring/web' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig } from '@nivo/colors' +import { Text } from '@nivo/text' import { AreaBumpComputedSerie, AreaBumpDatum, @@ -59,7 +61,7 @@ export const AreasLabels = < const label = labels[index] return ( - {label.label} - + ) })} diff --git a/packages/bump/src/area-bump/hooks.ts b/packages/bump/src/area-bump/hooks.ts index 2cde764946..60a90182ea 100644 --- a/packages/bump/src/area-bump/hooks.ts +++ b/packages/bump/src/area-bump/hooks.ts @@ -1,6 +1,6 @@ import { createElement, useMemo, useCallback, useState, MouseEvent } from 'react' import { area as d3Area, curveBasis, curveLinear } from 'd3-shape' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useOrdinalColorScale, useInheritedColor, InheritedColorConfig } from '@nivo/colors' import { useTooltip } from '@nivo/tooltip' import { computeSeries } from './compute' diff --git a/packages/bump/src/area-bump/types.ts b/packages/bump/src/area-bump/types.ts index 94e0413d6b..b663a8c98e 100644 --- a/packages/bump/src/area-bump/types.ts +++ b/packages/bump/src/area-bump/types.ts @@ -1,6 +1,7 @@ import { FunctionComponent, MouseEvent } from 'react' import { Area } from 'd3-shape' -import { Box, Theme, Dimensions, MotionProps, CssMixBlendMode, SvgDefsAndFill } from '@nivo/core' +import { Box, Dimensions, MotionProps, CssMixBlendMode, SvgDefsAndFill } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { AxisProps } from '@nivo/axes' import { ScalePoint } from '@nivo/scales' @@ -130,7 +131,7 @@ export type AreaBumpCommonProps< spacing: number xPadding: number - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig> blendMode: CssMixBlendMode fillOpacity: number diff --git a/packages/bump/src/bump/LinesLabels.tsx b/packages/bump/src/bump/LinesLabels.tsx index 7d0c680646..ac51744bd3 100644 --- a/packages/bump/src/bump/LinesLabels.tsx +++ b/packages/bump/src/bump/LinesLabels.tsx @@ -1,6 +1,8 @@ -import { useSprings, animated } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useSprings } from '@react-spring/web' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig } from '@nivo/colors' +import { Text } from '@nivo/text' import { BumpComputedSerie, BumpDatum, BumpLabel, BumpSerieExtraProps } from './types' import { useBumpSeriesLabels } from './hooks' @@ -51,7 +53,7 @@ export const LinesLabels = {label.label} - + ) })} diff --git a/packages/bump/src/bump/hooks.ts b/packages/bump/src/bump/hooks.ts index e89f294980..b1983d8a84 100644 --- a/packages/bump/src/bump/hooks.ts +++ b/packages/bump/src/bump/hooks.ts @@ -1,6 +1,6 @@ import { createElement, useMemo, useCallback, useState, MouseEvent } from 'react' import { line as d3Line, curveBasis, curveLinear } from 'd3-shape' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useOrdinalColorScale, useInheritedColor, InheritedColorConfig } from '@nivo/colors' import { useTooltip } from '@nivo/tooltip' import { diff --git a/packages/bump/src/bump/types.ts b/packages/bump/src/bump/types.ts index b9f86443a9..5cad17bf94 100644 --- a/packages/bump/src/bump/types.ts +++ b/packages/bump/src/bump/types.ts @@ -1,6 +1,7 @@ import { FunctionComponent, MouseEvent } from 'react' import { Line as D3Line } from 'd3-shape' -import { Theme, Box, Dimensions, MotionProps } from '@nivo/core' +import { Box, Dimensions, MotionProps } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { OrdinalColorScaleConfig, InheritedColorConfig } from '@nivo/colors' import { AxisProps } from '@nivo/axes' import { ScalePoint } from '@nivo/scales' @@ -129,7 +130,7 @@ export type BumpCommonProps> lineWidth: number activeLineWidth: number diff --git a/packages/calendar/package.json b/packages/calendar/package.json index 9c28cf85b7..b968eb9d95 100644 --- a/packages/calendar/package.json +++ b/packages/calendar/package.json @@ -31,11 +31,13 @@ "dependencies": { "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-time": "^1.0.10", "@types/d3-time-format": "^3.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-time": "^1.0.10", "d3-time-format": "^3.0.0", "lodash": "^4.17.21" diff --git a/packages/calendar/src/Calendar.tsx b/packages/calendar/src/Calendar.tsx index 70d13dea23..2e5a35884c 100644 --- a/packages/calendar/src/Calendar.tsx +++ b/packages/calendar/src/Calendar.tsx @@ -1,5 +1,6 @@ import { CalendarSvgProps } from './types' -import { Container, SvgWrapper, useTheme, useDimensions, useValueFormatter } from '@nivo/core' +import { Container, SvgWrapper, useDimensions, useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { BoxLegendSvg } from '@nivo/legends' import { CalendarYearLegends } from './CalendarYearLegends' import { CalendarMonthPath } from './CalendarMonthPath' diff --git a/packages/calendar/src/CalendarCanvas.tsx b/packages/calendar/src/CalendarCanvas.tsx index 9256d9a033..256fa3cd2b 100644 --- a/packages/calendar/src/CalendarCanvas.tsx +++ b/packages/calendar/src/CalendarCanvas.tsx @@ -7,10 +7,11 @@ import { getRelativeCursor, degreesToRadians, useDimensions, - useTheme, useValueFormatter, } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { renderLegendToCanvas } from '@nivo/legends' +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { calendarCanvasDefaultProps } from './props' import { useCalendarLayout, useColorScale, useMonthLegends, useYearLegends, useDays } from './hooks' import { useTooltip } from '@nivo/tooltip' @@ -157,14 +158,17 @@ const InnerCalendarCanvas = memo( ctx.textAlign = 'center' ctx.textBaseline = 'middle' - ctx.fillStyle = theme.labels.text.fill ?? '' - ctx.font = `${theme.labels.text.fontSize}px ${theme.labels.text.fontFamily}` + setCanvasFont(ctx, theme.labels.text) monthLegends.forEach(month => { ctx.save() ctx.translate(month.x, month.y) ctx.rotate(degreesToRadians(month.rotation)) - ctx.fillText(String(monthLegend(month.year, month.month, month.date)), 0, 0) + drawCanvasText( + ctx, + theme.labels.text, + String(monthLegend(month.year, month.month, month.date)) + ) ctx.restore() }) @@ -172,7 +176,7 @@ const InnerCalendarCanvas = memo( ctx.save() ctx.translate(year.x, year.y) ctx.rotate(degreesToRadians(year.rotation)) - ctx.fillText(String(yearLegend(year.year)), 0, 0) + drawCanvasText(ctx, theme.labels.text, String(yearLegend(year.year))) ctx.restore() }) diff --git a/packages/calendar/src/CalendarMonthLegends.tsx b/packages/calendar/src/CalendarMonthLegends.tsx index 31ce49f575..34ea27375e 100644 --- a/packages/calendar/src/CalendarMonthLegends.tsx +++ b/packages/calendar/src/CalendarMonthLegends.tsx @@ -1,19 +1,20 @@ -import { CalendarMonthLegendsProps } from './types' import { memo } from 'react' +import { Text } from '@nivo/text' +import { CalendarMonthLegendsProps } from './types' export const CalendarMonthLegends = memo(({ months, legend, theme }: CalendarMonthLegendsProps) => { return ( <> {months.map(month => { return ( - {legend(month.year, month.month, month.date)} - + ) })} diff --git a/packages/calendar/src/CalendarYearLegends.tsx b/packages/calendar/src/CalendarYearLegends.tsx index f561245dc6..9ca03b7ba4 100644 --- a/packages/calendar/src/CalendarYearLegends.tsx +++ b/packages/calendar/src/CalendarYearLegends.tsx @@ -1,19 +1,20 @@ -import { CalendarYearLegendsProps } from './types' import { memo } from 'react' +import { Text } from '@nivo/text' +import { CalendarYearLegendsProps } from './types' export const CalendarYearLegends = memo(({ years, legend, theme }: CalendarYearLegendsProps) => { return ( <> {years.map(year => { return ( - {legend(year.year)} - + ) })} diff --git a/packages/calendar/src/TimeRange.tsx b/packages/calendar/src/TimeRange.tsx index 467208d117..a340d6a6eb 100644 --- a/packages/calendar/src/TimeRange.tsx +++ b/packages/calendar/src/TimeRange.tsx @@ -1,6 +1,8 @@ import { useMemo } from 'react' -import { Container, SvgWrapper, useValueFormatter, useTheme, useDimensions } from '@nivo/core' +import { Container, SvgWrapper, useValueFormatter, useDimensions } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { BoxLegendSvg } from '@nivo/legends' +import { Text } from '@nivo/text' import { computeWeekdays, computeCellSize, @@ -136,14 +138,14 @@ const InnerTimeRange = ({ return ( {weekdayLegends.map(legend => ( - {legend.value} - + ))} {days.map(d => { return ( diff --git a/packages/calendar/src/types.ts b/packages/calendar/src/types.ts index 2843347278..05338e5b44 100644 --- a/packages/calendar/src/types.ts +++ b/packages/calendar/src/types.ts @@ -1,4 +1,6 @@ -import { Box, BoxAlign, CompleteTheme, Dimensions, Theme, ValueFormat } from '@nivo/core' +import { Box, BoxAlign, Dimensions, ValueFormat } from '@nivo/core' +import { Theme } from '@nivo/theming' +import { PartialTheme } from '@nivo/theming' import { LegendProps } from '@nivo/legends' export type BBox = Record<'x' | 'y' | 'height' | 'width', number> @@ -56,14 +58,14 @@ export interface ColorScale { export type CalendarYearLegendsProps = { legend: (year: number) => string | number - theme: CompleteTheme + theme: Theme years: YearLegend[] } export type CalendarMonthLegendsProps = { legend: (year: number, month: number, date: Date) => string | number months: MonthLegend[] - theme: CompleteTheme + theme: Theme } export type CalendarTooltipProps = { @@ -145,7 +147,7 @@ export type CommonCalendarProps = { valueFormat: ValueFormat legendFormat: ValueFormat - theme: Theme + theme: PartialTheme // interactivity isInteractive: boolean diff --git a/packages/chord/package.json b/packages/chord/package.json index 73de500d5f..30dea5db2d 100644 --- a/packages/chord/package.json +++ b/packages/chord/package.json @@ -33,6 +33,8 @@ "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-chord": "^3.0.1", diff --git a/packages/chord/src/ChordArcs.tsx b/packages/chord/src/ChordArcs.tsx index 34c2ac6a3d..0a70ee878c 100644 --- a/packages/chord/src/ChordArcs.tsx +++ b/packages/chord/src/ChordArcs.tsx @@ -1,6 +1,7 @@ import { memo } from 'react' import { useTransition } from '@react-spring/web' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { ChordArc } from './ChordArc' import { ArcDatum, ArcGenerator, ChordCommonProps, ArcAnimatedProps } from './types' diff --git a/packages/chord/src/ChordCanvas.tsx b/packages/chord/src/ChordCanvas.tsx index e572fa32f2..3d91fee36b 100644 --- a/packages/chord/src/ChordCanvas.tsx +++ b/packages/chord/src/ChordCanvas.tsx @@ -1,7 +1,6 @@ import { createElement, useRef, useEffect, useCallback, MouseEvent } from 'react' import { useDimensions, - useTheme, // @ts-ignore midAngle, // @ts-ignore @@ -11,10 +10,12 @@ import { Margin, Container, } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { findArcUnderCursor } from '@nivo/arcs' import { useInheritedColor } from '@nivo/colors' import { renderLegendToCanvas } from '@nivo/legends' import { useTooltip } from '@nivo/tooltip' +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { useChord, useChordSelection, useCustomLayerProps } from './hooks' import { ArcDatum, ChordCanvasProps } from './types' import { canvasDefaultProps } from './defaults' @@ -198,9 +199,7 @@ const InnerChordCanvas = ({ ctx.save() ctx.translate(margin.left + center[0], margin.top + center[1]) - ctx.font = `${theme.labels.text.fontSize}px ${ - theme.labels.text.fontFamily || 'sans-serif' - }` + setCanvasFont(ctx, theme.labels.text) arcs.forEach(arc => { const angle = midAngle(arc) @@ -212,8 +211,14 @@ const InnerChordCanvas = ({ ctx.textAlign = props.align ctx.textBaseline = props.baseline - ctx.fillStyle = getLabelTextColor(arc) - ctx.fillText(arc.label, 0, 0) + drawCanvasText( + ctx, + { + ...theme.labels.text, + fill: getLabelTextColor(arc), + }, + arc.label + ) ctx.restore() }) diff --git a/packages/chord/src/ChordLabels.tsx b/packages/chord/src/ChordLabels.tsx index 66d9f4c944..0c4e7ff798 100644 --- a/packages/chord/src/ChordLabels.tsx +++ b/packages/chord/src/ChordLabels.tsx @@ -1,12 +1,13 @@ import { memo, useMemo } from 'react' -import { useTransition, animated, to } from '@react-spring/web' +import { useTransition, to } from '@react-spring/web' import { // @ts-ignore midAngle, // @ts-ignore getPolarLabelProps, - useTheme, } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { useMotionConfig } from '@nivo/core' import { ArcDatum, ChordCommonProps } from './types' import { useInheritedColor } from '@nivo/colors' @@ -94,7 +95,7 @@ export const ChordLabels = memo(({ arcs, radius, rotation, color }: ChordLabelsP return ( <> {transition((transitionProps, label) => ( - {label.label} - + ))} ) diff --git a/packages/chord/src/ChordRibbons.tsx b/packages/chord/src/ChordRibbons.tsx index fd19da5e82..ec7110fa57 100644 --- a/packages/chord/src/ChordRibbons.tsx +++ b/packages/chord/src/ChordRibbons.tsx @@ -1,11 +1,11 @@ import { memo } from 'react' import { useTransition } from '@react-spring/web' import { - useTheme, // @ts-ignore midAngle, useMotionConfig, } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { ChordRibbon } from './ChordRibbon' import { diff --git a/packages/chord/src/types.ts b/packages/chord/src/types.ts index 7dafb931c9..73b943f000 100644 --- a/packages/chord/src/types.ts +++ b/packages/chord/src/types.ts @@ -3,13 +3,13 @@ import { RibbonGenerator as D3RibbonGenerator } from 'd3-chord' import { Arc as D3Arc } from 'd3-shape' import { Box, - Theme, Dimensions, MotionProps, CssMixBlendMode, PropertyAccessor, ValueFormat, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' @@ -114,7 +114,7 @@ export type ChordCommonProps = { innerRadiusRatio: number innerRadiusOffset: number - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig> arcOpacity: number diff --git a/packages/circle-packing/package.json b/packages/circle-packing/package.json index 99cda2cf13..6342c50dde 100644 --- a/packages/circle-packing/package.json +++ b/packages/circle-packing/package.json @@ -31,6 +31,7 @@ "dependencies": { "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-hierarchy": "^1.1.8", diff --git a/packages/circle-packing/src/CirclePackingCanvas.tsx b/packages/circle-packing/src/CirclePackingCanvas.tsx index d7b4f54071..c5fccef134 100644 --- a/packages/circle-packing/src/CirclePackingCanvas.tsx +++ b/packages/circle-packing/src/CirclePackingCanvas.tsx @@ -1,6 +1,7 @@ import { useCallback, useEffect, useRef, createElement } from 'react' import * as React from 'react' -import { useDimensions, useTheme, Container } from '@nivo/core' +import { useDimensions, Container } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig, useInheritedColor } from '@nivo/colors' import { useTooltip } from '@nivo/tooltip' import { CirclePackingCanvasProps, ComputedDatum } from './types' diff --git a/packages/circle-packing/src/Circles.tsx b/packages/circle-packing/src/Circles.tsx index 3e56273828..9285319e1a 100644 --- a/packages/circle-packing/src/Circles.tsx +++ b/packages/circle-packing/src/Circles.tsx @@ -1,7 +1,8 @@ import { createElement, useMemo, MouseEvent } from 'react' import * as React from 'react' import { useTransition, to, SpringValue } from '@react-spring/web' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { useTooltip } from '@nivo/tooltip' import { ComputedDatum, CircleComponent, MouseHandlers, CirclePackingCommonProps } from './types' diff --git a/packages/circle-packing/src/LabelHtml.tsx b/packages/circle-packing/src/LabelHtml.tsx index 47ffa68913..4f8cabdbae 100644 --- a/packages/circle-packing/src/LabelHtml.tsx +++ b/packages/circle-packing/src/LabelHtml.tsx @@ -1,5 +1,5 @@ import { animated } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { LabelProps } from './types' import { interpolatePosition, interpolateSize } from './CircleHtml' diff --git a/packages/circle-packing/src/LabelSvg.tsx b/packages/circle-packing/src/LabelSvg.tsx index 31677d832a..6582b0e685 100644 --- a/packages/circle-packing/src/LabelSvg.tsx +++ b/packages/circle-packing/src/LabelSvg.tsx @@ -1,5 +1,5 @@ import { animated } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { LabelProps } from './types' export const LabelSvg = ({ node, label, style }: LabelProps) => { diff --git a/packages/circle-packing/src/hooks.ts b/packages/circle-packing/src/hooks.ts index 42ab46481c..abcff1db64 100644 --- a/packages/circle-packing/src/hooks.ts +++ b/packages/circle-packing/src/hooks.ts @@ -2,13 +2,8 @@ import { useMemo, MouseEvent, MutableRefObject, useCallback } from 'react' import { pack as d3Pack, hierarchy as d3Hierarchy } from 'd3-hierarchy' import cloneDeep from 'lodash/cloneDeep' import sortBy from 'lodash/sortBy' -import { - usePropertyAccessor, - useValueFormatter, - useTheme, - getRelativeCursor, - getDistance, -} from '@nivo/core' +import { usePropertyAccessor, useValueFormatter, getRelativeCursor, getDistance } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor, useOrdinalColorScale } from '@nivo/colors' import { CirclePackingCommonProps, diff --git a/packages/circle-packing/src/types.ts b/packages/circle-packing/src/types.ts index 21694d0352..21bc8ec943 100644 --- a/packages/circle-packing/src/types.ts +++ b/packages/circle-packing/src/types.ts @@ -1,6 +1,7 @@ import * as React from 'react' import { Interpolation, SpringValue } from '@react-spring/web' -import { Box, MotionProps, Theme, PropertyAccessor, ValueFormat, SvgDefsAndFill } from '@nivo/core' +import { Box, MotionProps, PropertyAccessor, ValueFormat, SvgDefsAndFill } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' export interface ComputedDatum { @@ -55,7 +56,7 @@ export interface CirclePackingCommonProps { margin?: Box padding: number leavesOnly: boolean - theme?: Theme + theme?: PartialTheme colors: OrdinalColorScaleConfig, 'color' | 'fill'>> colorBy: 'id' | 'depth' inheritColorFromParent: boolean diff --git a/packages/colors/package.json b/packages/colors/package.json index 3a85b6033d..e0a34613e9 100644 --- a/packages/colors/package.json +++ b/packages/colors/package.json @@ -21,14 +21,14 @@ "!dist/tsconfig.tsbuildinfo" ], "dependencies": { - "@nivo/core": "workspace:*", + "@nivo/theming": "workspace:*", "@types/d3-color": "^2.0.0", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-scale-chromatic": "^2.0.0", "@types/prop-types": "^15.7.2", "d3-color": "^3.1.0", - "d3-scale": "^3.2.3", - "d3-scale-chromatic": "^2.0.0", + "d3-scale": "^4.0.2", + "d3-scale-chromatic": "^3.0.0", "lodash": "^4.17.21", "prop-types": "^15.7.2" }, diff --git a/packages/colors/src/inheritedColor.ts b/packages/colors/src/inheritedColor.ts index fbd73fdf81..696adebb05 100644 --- a/packages/colors/src/inheritedColor.ts +++ b/packages/colors/src/inheritedColor.ts @@ -1,7 +1,7 @@ import { useMemo } from 'react' import { get, isPlainObject } from 'lodash' import { rgb, RGBColor } from 'd3-color' -import { Theme } from '@nivo/core' +import { Theme } from '@nivo/theming' export type ColorModifierBrightness = ['brighter', number] diff --git a/packages/core/index.d.ts b/packages/core/index.d.ts index addeb3d636..6ccf642d56 100644 --- a/packages/core/index.d.ts +++ b/packages/core/index.d.ts @@ -1,5 +1,6 @@ import * as React from 'react' import { Interpolation, SpringConfig } from '@react-spring/web' +import { PartialTheme } from '@nivo/theming' import { CurveFactory } from 'd3-shape' import { ComponentType } from 'react' @@ -45,226 +46,6 @@ export interface ColorProps { colorBy?: string | GetColor } -/** - * Required text properties + optional ones. - */ -export type TextStyle = { - fontFamily: Exclude - fontSize: Exclude - fill: string - outlineWidth: number - outlineColor: string -} & Partial - -export type CompleteTheme = { - background: string - text: TextStyle - axis: { - domain: { - line: Partial - } - ticks: { - line: Partial - text: TextStyle - } - legend: { - text: TextStyle - } - } - grid: { - line: Partial - } - crosshair: { - line: { - stroke: string - strokeWidth: number - strokeOpacity: number - strokeDasharray: string - } - } - legends: { - hidden: { - symbol: Partial<{ - fill: string - opacity: number - }> - text: TextStyle - } - title: { - text: TextStyle - } - text: TextStyle - ticks: { - line: Partial - text: TextStyle - } - } - labels: { - text: Partial - } - markers: { - lineColor: string - lineStrokeWidth: number - textColor: string - fontSize: string | 0 - text: TextStyle - } - dots: { - text: TextStyle - } - tooltip: { - container: Partial - basic: Partial - chip: Partial - table: Partial - tableCell: Partial - tableCellValue: Partial - } - annotations: { - text: { - fill: string - outlineWidth: number - outlineColor: string - outlineOpacity: number - } & Partial> - link: { - stroke: string - strokeWidth: number - outlineWidth: number - outlineColor: string - outlineOpacity: number - } & Partial> - outline: { - stroke: string - strokeWidth: number - outlineWidth: number - outlineColor: string - outlineOpacity: number - } & Partial> - symbol: { - fill: string - outlineWidth: number - outlineColor: string - outlineOpacity: number - } & Partial> - } -} - -/** - * Required properties without inheritance. - * - * The theme supports defining styles at the top level - * (for text for example), which are then used to populate - * similar nested properties. - * - * For example `text` will be merged with `axis.ticks.text`, - * we use this approach so that it's simpler to define global styles. - */ -export type ThemeWithoutInheritance = { - background: CompleteTheme['background'] - text: CompleteTheme['text'] - axis: { - domain: { - line: CompleteTheme['axis']['domain']['line'] - } - ticks: { - line: CompleteTheme['axis']['ticks']['line'] - text: Partial - } - legend: Partial<{ - text: Partial - }> - } - grid: { - line: CompleteTheme['grid']['line'] - } - crosshair: { - line: CompleteTheme['crosshair']['line'] - } - legends: { - hidden: { - symbol: CompleteTheme['legends']['hidden']['symbol'] - text: Partial - } - title: { - text: Partial - } - text: Partial - ticks: { - line: CompleteTheme['legends']['ticks']['line'] - text: Partial - } - } - labels: { - text: Partial - } - markers: Partial - dots: { - text: Partial - } - tooltip: CompleteTheme['tooltip'] - annotations: { - text: Partial - link: CompleteTheme['annotations']['link'] - outline: CompleteTheme['annotations']['outline'] - symbol: CompleteTheme['annotations']['symbol'] - } -} - -export type Theme = Partial<{ - background: CompleteTheme['background'] - text: Partial - axis: Partial<{ - domain: Partial<{ - line: Partial - }> - ticks: Partial<{ - line: Partial - text: Partial - }> - legend: Partial<{ - text: Partial - }> - }> - grid: Partial<{ - line: Partial - }> - crosshair: Partial<{ - line: Partial - }> - legends: Partial<{ - hidden: Partial<{ - symbol: CompleteTheme['legends']['hidden']['symbol'] - text: CompleteTheme['legends']['hidden']['text'] - }> - title: Partial<{ - text: Partial - }> - text: Partial - ticks: Partial<{ - line: Partial - text: Partial - }> - }> - labels: Partial<{ - text: Partial - }> - markers: Partial - dots: Partial<{ - text: Partial - }> - tooltip: Partial - annotations: Partial<{ - text: Partial - link: Partial - outline: Partial - symbol: Partial - }> -}> - -export function useTheme(): CompleteTheme -export function usePartialTheme(theme?: Theme): CompleteTheme - export type MotionProps = Partial<{ animate: boolean motionConfig: string | SpringConfig @@ -461,7 +242,7 @@ type SvgWrapperType = ( export const SvgWrapper: SvgWrapperType interface ContainerProps { - theme?: Theme + theme?: PartialTheme renderWrapper?: boolean isInteractive?: boolean animate?: boolean @@ -475,13 +256,6 @@ type ResponsiveWrapperType = (props: { }) => JSX.Element export const ResponsiveWrapper: ResponsiveWrapperType -interface ThemeProviderProps { - theme?: Theme -} - -type ThemeProviderType = (props: React.PropsWithChildren) => JSX.Element -export const ThemeProvider: ThemeProviderType - export function getDistance(x1: number, y1: number, x2: number, y2: number): number export function getAngle(x1: number, y1: number, x2: number, y2: number): number diff --git a/packages/core/package.json b/packages/core/package.json index 931fe76a13..72f99794ef 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -22,14 +22,15 @@ ], "dependencies": { "@nivo/recompose": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-shape": "^2.0.0", "d3-color": "^3.1.0", "d3-format": "^1.4.4", - "d3-interpolate": "^2.0.1", - "d3-scale": "^3.2.3", - "d3-scale-chromatic": "^2.0.0", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-scale-chromatic": "^3.0.0", "d3-shape": "^1.3.5", "d3-time-format": "^3.0.0", "lodash": "^4.17.21" diff --git a/packages/core/src/components/Container.js b/packages/core/src/components/Container.js index 025cf8fbf9..abf4a6a315 100644 --- a/packages/core/src/components/Container.js +++ b/packages/core/src/components/Container.js @@ -1,7 +1,7 @@ import { useRef } from 'react' import PropTypes from 'prop-types' import { TooltipProvider, Tooltip } from '@nivo/tooltip' -import { ThemeProvider } from '../theming' +import { ThemeProvider } from '@nivo/theming' import { MotionConfigProvider } from '../motion' import { ConditionalWrapper } from './ConditionalWrapper' diff --git a/packages/core/src/components/LegacyContainer.js b/packages/core/src/components/LegacyContainer.js index 5214c42a6d..3b3f1214e2 100644 --- a/packages/core/src/components/LegacyContainer.js +++ b/packages/core/src/components/LegacyContainer.js @@ -7,7 +7,7 @@ import { Tooltip, } from '@nivo/tooltip' import noop from '../lib/noop' -import { ThemeProvider } from '../theming' +import { ThemeProvider } from '@nivo/theming' import { MotionConfigProvider } from '../motion' import { ConditionalWrapper } from './ConditionalWrapper' diff --git a/packages/core/src/components/SvgWrapper.js b/packages/core/src/components/SvgWrapper.js index 99e9e12b5a..95c969b83f 100644 --- a/packages/core/src/components/SvgWrapper.js +++ b/packages/core/src/components/SvgWrapper.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types' import { Defs } from './defs' -import { useTheme } from '../theming' +import { useTheme } from '@nivo/theming' const SvgWrapper = ({ width, diff --git a/packages/core/src/components/cartesian/markers/CartesianMarkersItem.js b/packages/core/src/components/cartesian/markers/CartesianMarkersItem.js index ce9cc7d61c..66daa44ad8 100644 --- a/packages/core/src/components/cartesian/markers/CartesianMarkersItem.js +++ b/packages/core/src/components/cartesian/markers/CartesianMarkersItem.js @@ -8,7 +8,7 @@ */ import { memo } from 'react' import PropTypes from 'prop-types' -import { useTheme } from '../../../theming' +import { useTheme } from '@nivo/theming' /** * diff --git a/packages/core/src/components/dots/DotsItem.js b/packages/core/src/components/dots/DotsItem.js index 9c4faaad8a..e6f51e049d 100644 --- a/packages/core/src/components/dots/DotsItem.js +++ b/packages/core/src/components/dots/DotsItem.js @@ -1,7 +1,7 @@ import { createElement, memo } from 'react' import PropTypes from 'prop-types' import { useSpring, animated } from '@react-spring/web' -import { useTheme } from '../../theming' +import { useTheme } from '@nivo/theming' import { useMotionConfig } from '../../motion' import DotsItemSymbol from './DotsItemSymbol' diff --git a/packages/core/src/hooks/index.js b/packages/core/src/hooks/index.js index 82374fae1c..c2bbb74740 100644 --- a/packages/core/src/hooks/index.js +++ b/packages/core/src/hooks/index.js @@ -2,5 +2,4 @@ export * from './useAnimatedPath' export * from './useCurveInterpolation' export * from './useDimensions' export * from './useMeasure' -export * from './usePartialTheme' export * from './useValueFormatter' diff --git a/packages/core/src/hooks/usePartialTheme.js b/packages/core/src/hooks/usePartialTheme.js deleted file mode 100644 index 60cc23f9aa..0000000000 --- a/packages/core/src/hooks/usePartialTheme.js +++ /dev/null @@ -1,5 +0,0 @@ -import { useMemo } from 'react' -import { defaultTheme, extendDefaultTheme } from '../theming' - -export const usePartialTheme = partialTheme => - useMemo(() => extendDefaultTheme(defaultTheme, partialTheme), [partialTheme]) diff --git a/packages/core/src/index.js b/packages/core/src/index.js index 58edc8811e..f04e3c3907 100644 --- a/packages/core/src/index.js +++ b/packages/core/src/index.js @@ -24,6 +24,5 @@ export * from './lib/polar' export * from './lib/interactivity' export * from './lib/defs' export * from './lib/bridge' -export * from './theming' export * from './motion' export * from './defaults' diff --git a/packages/core/src/theming/context.js b/packages/core/src/theming/context.js deleted file mode 100644 index e69fc66810..0000000000 --- a/packages/core/src/theming/context.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * This file is part of the nivo project. - * - * Copyright 2016-present, Raphaël Benitte. - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -import { createContext, useContext } from 'react' -import PropTypes from 'prop-types' -import { usePartialTheme } from '../hooks' - -export const themeContext = createContext() - -// required to preserve equality -const defaultPartialTheme = {} - -export const ThemeProvider = ({ theme: partialTheme = defaultPartialTheme, children }) => { - const theme = usePartialTheme(partialTheme) - - return {children} -} - -ThemeProvider.propTypes = { - children: PropTypes.node.isRequired, - theme: PropTypes.object, -} - -export const useTheme = () => useContext(themeContext) diff --git a/packages/core/src/theming/extend.js b/packages/core/src/theming/extend.js deleted file mode 100644 index 4dfa6eb4d9..0000000000 --- a/packages/core/src/theming/extend.js +++ /dev/null @@ -1,53 +0,0 @@ -/* - * This file is part of the nivo project. - * - * Copyright 2016-present, Raphaël Benitte. - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -import merge from 'lodash/merge' -import get from 'lodash/get' -import set from 'lodash/set' - -const textProps = [ - 'axis.ticks.text', - 'axis.legend.text', - 'legends.title.text', - 'legends.text', - 'legends.ticks.text', - 'legends.title.text', - 'labels.text', - 'dots.text', - 'markers.text', - 'annotations.text', -] - -/** - * @param {ThemeWithoutInheritance} defaultTheme - * @param {Theme} customTheme - * @returns {CompleteTheme} - */ -export const extendDefaultTheme = (defaultTheme, customTheme) => { - const theme = merge({}, defaultTheme, customTheme) - - textProps.forEach(prop => { - if (get(theme, `${prop}.fontFamily`) === undefined) { - set(theme, `${prop}.fontFamily`, theme.text.fontFamily) - } - if (get(theme, `${prop}.fontSize`) === undefined) { - set(theme, `${prop}.fontSize`, theme.text.fontSize) - } - if (get(theme, `${prop}.fill`) === undefined) { - set(theme, `${prop}.fill`, theme.text.fill) - } - if (get(theme, `${prop}.outlineWidth`) === undefined) { - set(theme, `${prop}.outlineWidth`, theme.text.outlineWidth) - } - if (get(theme, `${prop}.outlineColor`) === undefined) { - set(theme, `${prop}.outlineColor`, theme.text.outlineColor) - } - }) - - return theme -} diff --git a/packages/core/src/theming/index.js b/packages/core/src/theming/index.js deleted file mode 100644 index 0aeec6f4b1..0000000000 --- a/packages/core/src/theming/index.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - * This file is part of the nivo project. - * - * Copyright 2016-present, Raphaël Benitte. - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -export * from './propTypes' -export * from './defaultTheme' -export * from './extend' -export * from './context' diff --git a/packages/core/src/theming/propTypes.js b/packages/core/src/theming/propTypes.js deleted file mode 100644 index 631a350904..0000000000 --- a/packages/core/src/theming/propTypes.js +++ /dev/null @@ -1,115 +0,0 @@ -/* - * This file is part of the nivo project. - * - * Copyright 2016-present, Raphaël Benitte. - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ -import PropTypes from 'prop-types' - -const textProps = { - fill: PropTypes.string, - fontSize: PropTypes.number, - fontFamily: PropTypes.string, -} - -export const axisThemePropType = PropTypes.shape({ - domain: PropTypes.shape({ - line: PropTypes.shape({ - stroke: PropTypes.string.isRequired, - strokeWidth: PropTypes.number.isRequired, - strokeDasharray: PropTypes.string, - }).isRequired, - }).isRequired, - ticks: PropTypes.shape({ - line: PropTypes.shape({ - stroke: PropTypes.string.isRequired, - strokeWidth: PropTypes.number.isRequired, - strokeDasharray: PropTypes.string, - }).isRequired, - text: PropTypes.shape({ ...textProps }).isRequired, - }).isRequired, - legend: PropTypes.shape({ - text: PropTypes.shape({ ...textProps }).isRequired, - }).isRequired, -}) - -export const gridThemePropType = PropTypes.shape({ - line: PropTypes.shape({ - stroke: PropTypes.string.isRequired, - strokeWidth: PropTypes.number.isRequired, - strokeDasharray: PropTypes.string, - }).isRequired, -}) - -export const legendsThemePropType = PropTypes.shape({ - hidden: PropTypes.shape({ - symbol: PropTypes.shape({ - fill: PropTypes.string.isRequired, - opacity: PropTypes.number, - }).isRequired, - text: PropTypes.shape({ ...textProps, opacity: PropTypes.number }).isRequired, - }).isRequired, - text: PropTypes.shape({ ...textProps }).isRequired, -}) - -export const labelsThemePropType = PropTypes.shape({ - text: PropTypes.shape({ ...textProps }).isRequired, -}) - -export const dotsThemePropType = PropTypes.shape({ - text: PropTypes.shape({ ...textProps }).isRequired, -}) - -export const markersThemePropType = PropTypes.shape({ - text: PropTypes.shape({ ...textProps }).isRequired, -}) - -export const crosshairPropType = PropTypes.shape({ - line: PropTypes.shape({ - stroke: PropTypes.string.isRequired, - strokeWidth: PropTypes.number.isRequired, - strokeDasharray: PropTypes.string, - }).isRequired, -}) - -export const annotationsPropType = PropTypes.shape({ - text: PropTypes.shape({ - ...textProps, - outlineWidth: PropTypes.number.isRequired, - outlineColor: PropTypes.string.isRequired, - }).isRequired, - link: PropTypes.shape({ - stroke: PropTypes.string.isRequired, - strokeWidth: PropTypes.number.isRequired, - outlineWidth: PropTypes.number.isRequired, - outlineColor: PropTypes.string.isRequired, - }).isRequired, - outline: PropTypes.shape({ - stroke: PropTypes.string.isRequired, - strokeWidth: PropTypes.number.isRequired, - outlineWidth: PropTypes.number.isRequired, - outlineColor: PropTypes.string.isRequired, - }).isRequired, - symbol: PropTypes.shape({ - fill: PropTypes.string.isRequired, - outlineWidth: PropTypes.number.isRequired, - outlineColor: PropTypes.string.isRequired, - }).isRequired, -}) - -export const themePropType = PropTypes.shape({ - background: PropTypes.string.isRequired, - fontFamily: PropTypes.string.isRequired, - fontSize: PropTypes.number.isRequired, - textColor: PropTypes.string.isRequired, - axis: axisThemePropType.isRequired, - grid: gridThemePropType.isRequired, - legends: legendsThemePropType.isRequired, - labels: labelsThemePropType.isRequired, - dots: dotsThemePropType.isRequired, - markers: markersThemePropType, - crosshair: crosshairPropType.isRequired, - annotations: annotationsPropType.isRequired, -}) diff --git a/packages/funnel/package.json b/packages/funnel/package.json index 2282d2e7fb..6eac9affd7 100644 --- a/packages/funnel/package.json +++ b/packages/funnel/package.json @@ -32,11 +32,13 @@ "@nivo/annotations": "workspace:*", "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5" }, "peerDependencies": { diff --git a/packages/funnel/src/PartLabel.tsx b/packages/funnel/src/PartLabel.tsx index 22bac86ac6..8a78a95770 100644 --- a/packages/funnel/src/PartLabel.tsx +++ b/packages/funnel/src/PartLabel.tsx @@ -1,5 +1,7 @@ import { useSpring, animated } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { FunnelDatum, FunnelPart } from './types' interface PartLabelProps { @@ -19,7 +21,7 @@ export const PartLabel = ({ part }: PartLabelProps) => return ( - ({ part }: PartLabelProps) => }} > {part.formattedValue} - + ) } diff --git a/packages/funnel/src/Separator.tsx b/packages/funnel/src/Separator.tsx index b52f0f86fe..92cc93cf6f 100644 --- a/packages/funnel/src/Separator.tsx +++ b/packages/funnel/src/Separator.tsx @@ -1,5 +1,6 @@ import { useSpring, animated } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { SeparatorProps as SeparatorType } from './types' interface SeparatorProps { diff --git a/packages/funnel/src/hooks.ts b/packages/funnel/src/hooks.ts index ca026177ab..eb0d8e265c 100644 --- a/packages/funnel/src/hooks.ts +++ b/packages/funnel/src/hooks.ts @@ -2,7 +2,8 @@ import { createElement, useMemo, useState, MouseEvent } from 'react' import { line, area, curveBasis, curveLinear } from 'd3-shape' import { ScaleLinear, scaleLinear } from 'd3-scale' import { useInheritedColor, useOrdinalColorScale } from '@nivo/colors' -import { useTheme, useValueFormatter } from '@nivo/core' +import { useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useAnnotations } from '@nivo/annotations' import { useTooltip, TooltipActionsContextData } from '@nivo/tooltip' import { svgDefaultProps as defaults } from './props' diff --git a/packages/funnel/src/types.ts b/packages/funnel/src/types.ts index 1c4b35caba..5912c33f4d 100644 --- a/packages/funnel/src/types.ts +++ b/packages/funnel/src/types.ts @@ -1,6 +1,7 @@ import { AriaAttributes, FunctionComponent, MouseEvent } from 'react' import { Area, Line } from 'd3-shape' -import { Box, Theme, Dimensions, MotionProps, ValueFormat } from '@nivo/core' +import { Box, Dimensions, MotionProps, ValueFormat } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { AnnotationMatcher } from '@nivo/annotations' import { PartTooltipProps } from './PartTooltip' @@ -93,7 +94,7 @@ export interface FunnelCommonProps { spacing: number shapeBlending: number - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig fillOpacity: number borderWidth: number diff --git a/packages/geo/index.d.ts b/packages/geo/index.d.ts index f0567d22c3..c9cdaa572c 100644 --- a/packages/geo/index.d.ts +++ b/packages/geo/index.d.ts @@ -1,5 +1,6 @@ import * as React from 'react' -import { Dimensions, Theme, Box } from '@nivo/core' +import { Dimensions, Box } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { LegendProps } from '@nivo/legends' declare module '@nivo/geo' { @@ -37,7 +38,7 @@ declare module '@nivo/geo' { isInteractive?: boolean - theme?: Theme + theme?: PartialTheme } /////////////////////////////////////////////////////////////////////////// diff --git a/packages/geo/package.json b/packages/geo/package.json index 265be2a129..30912b2a85 100644 --- a/packages/geo/package.json +++ b/packages/geo/package.json @@ -32,6 +32,7 @@ "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "d3-format": "^1.4.4", "d3-geo": "^1.11.3", diff --git a/packages/geo/src/Choropleth.js b/packages/geo/src/Choropleth.js index 80ab7eb7f7..76d0c57330 100644 --- a/packages/geo/src/Choropleth.js +++ b/packages/geo/src/Choropleth.js @@ -7,7 +7,8 @@ * file that was distributed with this source code. */ import { memo, Fragment, useCallback } from 'react' -import { SvgWrapper, withContainer, useDimensions, useTheme, bindDefs } from '@nivo/core' +import { SvgWrapper, withContainer, useDimensions, bindDefs } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { BoxLegendSvg } from '@nivo/legends' import { useTooltip } from '@nivo/tooltip' import { ChoroplethPropTypes, ChoroplethDefaultProps } from './props' diff --git a/packages/geo/src/ChoroplethCanvas.js b/packages/geo/src/ChoroplethCanvas.js index d9886e9c88..8b4b49b87d 100644 --- a/packages/geo/src/ChoroplethCanvas.js +++ b/packages/geo/src/ChoroplethCanvas.js @@ -8,7 +8,8 @@ */ import { memo, useRef, useEffect, useCallback } from 'react' import { geoContains } from 'd3-geo' -import { getRelativeCursor, withContainer, useDimensions, useTheme } from '@nivo/core' +import { getRelativeCursor, withContainer, useDimensions } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { renderLegendToCanvas } from '@nivo/legends' import { useTooltip } from '@nivo/tooltip' import { ChoroplethCanvasDefaultProps, ChoroplethCanvasPropTypes } from './props' diff --git a/packages/geo/src/GeoMap.js b/packages/geo/src/GeoMap.js index fb4394906a..7c3946b475 100644 --- a/packages/geo/src/GeoMap.js +++ b/packages/geo/src/GeoMap.js @@ -7,7 +7,8 @@ * file that was distributed with this source code. */ import { Fragment, useCallback, memo } from 'react' -import { SvgWrapper, withContainer, useDimensions, useTheme } from '@nivo/core' +import { SvgWrapper, withContainer, useDimensions } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useTooltip } from '@nivo/tooltip' import { GeoMapPropTypes, GeoMapDefaultProps } from './props' import GeoGraticule from './GeoGraticule' diff --git a/packages/geo/src/GeoMapCanvas.js b/packages/geo/src/GeoMapCanvas.js index 22a727455b..a5327fd38e 100644 --- a/packages/geo/src/GeoMapCanvas.js +++ b/packages/geo/src/GeoMapCanvas.js @@ -8,7 +8,8 @@ */ import { memo, useRef, useEffect, useCallback } from 'react' import { geoContains } from 'd3-geo' -import { getRelativeCursor, withContainer, useDimensions, useTheme } from '@nivo/core' +import { getRelativeCursor, withContainer, useDimensions } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useTooltip } from '@nivo/tooltip' import { GeoMapCanvasDefaultProps, GeoMapCanvasPropTypes } from './props' import { useGeoMap } from './hooks' diff --git a/packages/geo/src/hooks.js b/packages/geo/src/hooks.js index afc18d610b..a8ce90f81f 100644 --- a/packages/geo/src/hooks.js +++ b/packages/geo/src/hooks.js @@ -23,7 +23,8 @@ import { geoNaturalEarth1, geoGraticule, } from 'd3-geo' -import { guessQuantizeColorScale, useTheme } from '@nivo/core' +import { guessQuantizeColorScale } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { useQuantizeColorScaleLegendData } from '@nivo/legends' diff --git a/packages/heatmap/package.json b/packages/heatmap/package.json index fa9a958061..2a48e4b401 100644 --- a/packages/heatmap/package.json +++ b/packages/heatmap/package.json @@ -35,10 +35,12 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", - "d3-scale": "^3.2.3" + "@types/d3-scale": "^4.0.2", + "d3-scale": "^4.0.2" }, "peerDependencies": { "react": ">= 16.14.0 < 19.0.0" diff --git a/packages/heatmap/src/HeatMapCanvas.tsx b/packages/heatmap/src/HeatMapCanvas.tsx index 13d4461038..4dda48a3d2 100644 --- a/packages/heatmap/src/HeatMapCanvas.tsx +++ b/packages/heatmap/src/HeatMapCanvas.tsx @@ -1,5 +1,6 @@ import { useEffect, useRef, useCallback, createElement, useMemo, MouseEvent } from 'react' -import { getRelativeCursor, isCursorInRect, useDimensions, useTheme, Container } from '@nivo/core' +import { getRelativeCursor, isCursorInRect, useDimensions, Container } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { renderAxesToCanvas, renderGridLinesToCanvas } from '@nivo/axes' import { useTooltip } from '@nivo/tooltip' import { renderContinuousColorLegendToCanvas } from '@nivo/legends' diff --git a/packages/heatmap/src/HeatMapCellCircle.tsx b/packages/heatmap/src/HeatMapCellCircle.tsx index f9848cef0e..bbfc06e55c 100644 --- a/packages/heatmap/src/HeatMapCellCircle.tsx +++ b/packages/heatmap/src/HeatMapCellCircle.tsx @@ -1,6 +1,7 @@ import { memo, useMemo } from 'react' import { animated, to } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { HeatMapDatum, CellComponentProps } from './types' const NonMemoizedHeatMapCellCircle = ({ @@ -44,7 +45,7 @@ const NonMemoizedHeatMapCellCircle = ({ stroke={animatedProps.borderColor} /> {enableLabels && ( - ({ }} > {cell.label} - + )} ) diff --git a/packages/heatmap/src/HeatMapCellRect.tsx b/packages/heatmap/src/HeatMapCellRect.tsx index 960a50565e..4f79f79337 100644 --- a/packages/heatmap/src/HeatMapCellRect.tsx +++ b/packages/heatmap/src/HeatMapCellRect.tsx @@ -1,6 +1,7 @@ import { memo, useMemo } from 'react' import { animated, to } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { CellComponentProps, HeatMapDatum } from './types' const NonMemoizedHeatMapCellRect = ({ @@ -52,7 +53,7 @@ const NonMemoizedHeatMapCellRect = ({ ry={borderRadius} /> {enableLabels && ( - ({ }} > {cell.label} - + )} ) diff --git a/packages/heatmap/src/canvas.tsx b/packages/heatmap/src/canvas.tsx index 922db945f9..1d3d1aa9fb 100644 --- a/packages/heatmap/src/canvas.tsx +++ b/packages/heatmap/src/canvas.tsx @@ -1,3 +1,4 @@ +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { CellCanvasRendererProps, HeatMapDatum } from './types' export const renderRect = ( @@ -24,13 +25,19 @@ export const renderRect = ( } if (enableLabels) { - ctx.fillStyle = labelTextColor - ctx.font = `${theme.labels.text.fontWeight ? `${theme.labels.text.fontWeight} ` : ''}${ - theme.labels.text.fontSize - }px ${theme.labels.text.fontFamily}` + setCanvasFont(ctx, theme.labels.text) ctx.textAlign = 'center' ctx.textBaseline = 'middle' - ctx.fillText(label, x, y) + drawCanvasText( + ctx, + { + ...theme.labels.text, + fill: labelTextColor, + }, + label, + x, + y + ) } ctx.restore() @@ -65,13 +72,19 @@ export const renderCircle = ( } if (enableLabels) { - ctx.fillStyle = labelTextColor - ctx.font = `${theme.labels.text.fontWeight ? `${theme.labels.text.fontWeight} ` : ''}${ - theme.labels.text.fontSize - }px ${theme.labels.text.fontFamily}` + setCanvasFont(ctx, theme.labels.text) ctx.textAlign = 'center' ctx.textBaseline = 'middle' - ctx.fillText(label, x, y) + drawCanvasText( + ctx, + { + ...theme.labels.text, + fill: labelTextColor, + }, + label, + x, + y + ) } ctx.restore() diff --git a/packages/heatmap/src/hooks.ts b/packages/heatmap/src/hooks.ts index 513e07a244..513b138818 100644 --- a/packages/heatmap/src/hooks.ts +++ b/packages/heatmap/src/hooks.ts @@ -1,5 +1,6 @@ import { useMemo, useCallback, useState } from 'react' -import { useTheme, usePropertyAccessor, useValueFormatter } from '@nivo/core' +import { usePropertyAccessor, useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor, getContinuousColorScale } from '@nivo/colors' import { AnnotationMatcher, useAnnotations } from '@nivo/annotations' import { diff --git a/packages/heatmap/src/types.ts b/packages/heatmap/src/types.ts index 4a50850fb8..6ebb1db5fd 100644 --- a/packages/heatmap/src/types.ts +++ b/packages/heatmap/src/types.ts @@ -1,14 +1,7 @@ import { AriaAttributes, MouseEvent, FunctionComponent } from 'react' import { AnimatedProps } from '@react-spring/web' -import { - Box, - Theme, - CompleteTheme, - Dimensions, - MotionProps, - PropertyAccessor, - ValueFormat, -} from '@nivo/core' +import { Box, Dimensions, MotionProps, PropertyAccessor, ValueFormat } from '@nivo/core' +import { PartialTheme, Theme } from '@nivo/theming' import { AxisProps, CanvasAxisProps } from '@nivo/axes' import { InheritedColorConfig, ContinuousColorScaleConfig } from '@nivo/colors' import { AnchoredContinuousColorsLegendProps } from '@nivo/legends' @@ -103,7 +96,7 @@ export interface CellCanvasRendererProps { cell: ComputedCell borderWidth: number enableLabels: boolean - theme: CompleteTheme + theme: Theme } export type CellCanvasRenderer = ( ctx: CanvasRenderingContext2D, @@ -133,7 +126,7 @@ export type HeatMapCommonProps = { enableGridX: boolean enableGridY: boolean - theme: Theme + theme: PartialTheme colors: | ContinuousColorScaleConfig | (( diff --git a/packages/legends/package.json b/packages/legends/package.json index 9d90855221..be3ca4f541 100644 --- a/packages/legends/package.json +++ b/packages/legends/package.json @@ -24,9 +24,11 @@ "dependencies": { "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", - "@types/d3-scale": "^3.2.3", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", + "@types/d3-scale": "^4.0.2", "@types/prop-types": "^15.7.2", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "prop-types": "^15.7.2" }, "peerDependencies": { diff --git a/packages/legends/src/canvas.ts b/packages/legends/src/canvas.ts index 2f59d88a62..7fe50c78a9 100644 --- a/packages/legends/src/canvas.ts +++ b/packages/legends/src/canvas.ts @@ -1,4 +1,6 @@ -import { CompleteTheme, degreesToRadians } from '@nivo/core' +import { degreesToRadians } from '@nivo/core' +import { Theme } from '@nivo/theming' +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { computeDimensions, computePositionFromAnchor, @@ -69,7 +71,7 @@ export const renderLegendToCanvas = ( ctx.save() ctx.translate(x, y) - ctx.font = `${theme.legends.text.fontSize}px ${theme.legends.text.fontFamily || 'sans-serif'}` + setCanvasFont(ctx, theme.legends.text) data.forEach((d, i) => { const itemX = i * xStep + padding.left @@ -90,13 +92,20 @@ export const renderLegendToCanvas = ( ctx.fillRect(itemX + symbolX, itemY + symbolY, symbolSize, symbolSize) ctx.textAlign = textAlignMapping[labelAnchor] - if (labelAlignment === 'central') { ctx.textBaseline = 'middle' } - ctx.fillStyle = itemTextColor ?? theme.legends.text.fill ?? 'black' - ctx.fillText(String(d.label), itemX + labelX, itemY + labelY) + drawCanvasText( + ctx, + { + ...theme.legends.text, + fill: itemTextColor ?? theme.legends.text.fill, + }, + String(d.label), + itemX + labelX, + itemY + labelY + ) }) ctx.restore() @@ -125,7 +134,7 @@ export const renderContinuousColorLegendToCanvas = ( titleOffset = continuousColorsLegendDefaults.titleOffset, theme, }: AnchoredContinuousColorsLegendProps & { - theme: CompleteTheme + theme: Theme } ) => { const { @@ -191,9 +200,7 @@ export const renderContinuousColorLegendToCanvas = ( ctx.fillStyle = gradient ctx.fillRect(0, 0, width, height) - ctx.font = `${ - theme.legends.ticks.text.fontWeight ? `${theme.legends.ticks.text.fontWeight} ` : '' - }${theme.legends.ticks.text.fontSize}px ${theme.legends.ticks.text.fontFamily}` + setCanvasFont(ctx, theme.legends.ticks.text) ticks.forEach(tick => { if ((theme.legends.ticks.line.strokeWidth ?? 0) > 0) { @@ -209,13 +216,9 @@ export const renderContinuousColorLegendToCanvas = ( ctx.stroke() } - if (theme.legends.ticks.text.fill) { - ctx.fillStyle = theme.legends.ticks.text.fill - } ctx.textAlign = tick.textHorizontalAlign === 'middle' ? 'center' : tick.textHorizontalAlign ctx.textBaseline = tick.textVerticalAlign === 'central' ? 'middle' : tick.textVerticalAlign - - ctx.fillText(tick.text, tick.textX, tick.textY) + drawCanvasText(ctx, theme.legends.ticks.text, tick.text, tick.textX, tick.textY) }) if (titleText) { @@ -223,16 +226,10 @@ export const renderContinuousColorLegendToCanvas = ( ctx.translate(titleX, titleY) ctx.rotate(degreesToRadians(titleRotation)) - ctx.font = `${ - theme.legends.title.text.fontWeight ? `${theme.legends.title.text.fontWeight} ` : '' - }${theme.legends.title.text.fontSize}px ${theme.legends.title.text.fontFamily}` - if (theme.legends.title.text.fill) { - ctx.fillStyle = theme.legends.title.text.fill - } + setCanvasFont(ctx, theme.legends.title.text) ctx.textAlign = titleHorizontalAlign === 'middle' ? 'center' : titleHorizontalAlign ctx.textBaseline = titleVerticalAlign - - ctx.fillText(titleText, 0, 0) + drawCanvasText(ctx, theme.legends.title.text, titleText) ctx.restore() } diff --git a/packages/legends/src/svg/ContinuousColorsLegendSvg.tsx b/packages/legends/src/svg/ContinuousColorsLegendSvg.tsx index feb2e57871..39f909848c 100644 --- a/packages/legends/src/svg/ContinuousColorsLegendSvg.tsx +++ b/packages/legends/src/svg/ContinuousColorsLegendSvg.tsx @@ -1,5 +1,5 @@ import { Fragment } from 'react' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { computeContinuousColorsLegend } from '../compute' import { ContinuousColorsLegendProps } from '../types' import { continuousColorsLegendDefaults } from '../defaults' diff --git a/packages/legends/src/svg/LegendSvgItem.tsx b/packages/legends/src/svg/LegendSvgItem.tsx index 4aaa7fe2e2..8e4ffc9848 100644 --- a/packages/legends/src/svg/LegendSvgItem.tsx +++ b/packages/legends/src/svg/LegendSvgItem.tsx @@ -1,6 +1,7 @@ import { useState, useCallback } from 'react' import * as React from 'react' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { LegendSvgItemProps } from '../types' import { computeItemLayout } from '../compute' import { SymbolCircle, SymbolDiamond, SymbolSquare, SymbolTriangle } from './symbols' @@ -132,7 +133,7 @@ export const LegendSvgItem = ({ borderColor: style.symbolBorderColor ?? symbolBorderColor, ...(data.hidden ? theme.legends.hidden.symbol : undefined), })} - {data.label} - + ) } diff --git a/packages/legends/src/types.ts b/packages/legends/src/types.ts index adea14c59a..7018bba934 100644 --- a/packages/legends/src/types.ts +++ b/packages/legends/src/types.ts @@ -1,6 +1,7 @@ import * as React from 'react' import { ScaleDiverging, ScaleQuantize, ScaleSequential } from 'd3-scale' -import { CompleteTheme, ValueFormat } from '@nivo/core' +import { ValueFormat } from '@nivo/core' +import { Theme } from '@nivo/theming' import { SymbolProps } from './svg/symbols/types' /** @@ -135,7 +136,7 @@ export type LegendCanvasProps = { symbolSize?: number symbolSpacing?: number - theme: CompleteTheme + theme: Theme } & Required> & Pick< CommonLegendProps, diff --git a/packages/legends/tests/svg/LegendSvgItem.test.tsx b/packages/legends/tests/svg/LegendSvgItem.test.tsx index 721cc92db8..cd4b61a2e7 100644 --- a/packages/legends/tests/svg/LegendSvgItem.test.tsx +++ b/packages/legends/tests/svg/LegendSvgItem.test.tsx @@ -1,7 +1,5 @@ -import renderer from 'react-test-renderer' -import { mount } from 'enzyme' -// @ts-ignore -import { ThemeProvider } from '@nivo/core' +import { create } from 'react-test-renderer' +import { ThemeProvider } from '@nivo/theming' import { LegendSvgItem } from '../../src' import * as shapes from '../../src/svg/symbols' @@ -20,23 +18,21 @@ const commonProps = { const directions = ['left-to-right', 'right-to-left', 'top-to-bottom', 'bottom-to-top'] const LegendSvgItemWithTheme = props => ( - + ) directions.forEach(direction => { it(`should support ${direction} direction`, () => { - const component = renderer.create( - - ) + const component = create() const tree = component.toJSON() expect(tree).toMatchSnapshot() }) it(`should support ${direction} direction justified`, () => { - const component = renderer.create( + const component = create( ) @@ -47,53 +43,53 @@ directions.forEach(direction => { describe('symbolShape', () => { it('should support circle shape', () => { - const wrapper = mount( + const wrapper = create( - ) + ).root - expect(wrapper.find(shapes.SymbolCircle)).toHaveLength(1) + expect(wrapper.findAllByType(shapes.SymbolCircle)).toHaveLength(1) }) it('should support diamond shape', () => { - const wrapper = mount( + const wrapper = create( - ) + ).root - expect(wrapper.find(shapes.SymbolDiamond)).toHaveLength(1) + expect(wrapper.findAllByType(shapes.SymbolDiamond)).toHaveLength(1) }) it('should support square shape', () => { - const wrapper = mount( + const wrapper = create( - ) + ).root - expect(wrapper.find(shapes.SymbolSquare)).toHaveLength(1) + expect(wrapper.findAllByType(shapes.SymbolSquare)).toHaveLength(1) }) it('should support triangle shape', () => { - const wrapper = mount( + const wrapper = create( - ) + ).root - expect(wrapper.find(shapes.SymbolTriangle)).toHaveLength(1) + expect(wrapper.findAllByType(shapes.SymbolTriangle)).toHaveLength(1) }) it('should support custom shape', () => { const CustomShape = () => - const wrapper = mount( + const wrapper = create( - ) + ).root - expect(wrapper.find(CustomShape)).toHaveLength(1) + expect(wrapper.findAllByType(CustomShape)).toHaveLength(1) }) }) diff --git a/packages/line/index.d.ts b/packages/line/index.d.ts index 864ee191ba..48a7098319 100644 --- a/packages/line/index.d.ts +++ b/packages/line/index.d.ts @@ -10,13 +10,13 @@ import * as React from 'react' import { Dimensions, Box, - Theme, MotionProps, CartesianMarkerProps, SvgDefsAndFill, ValueFormat, DatumValue as CoreDatumValue, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' import { ScaleSpec, Scale, TicksSpec } from '@nivo/scales' @@ -155,7 +155,7 @@ export interface LineProps { lineWidth?: number colors?: OrdinalColorScaleConfig - theme?: Theme + theme?: PartialTheme axisTop?: AxisProps | null axisRight?: AxisProps | null diff --git a/packages/line/package.json b/packages/line/package.json index 0d54b2ad50..5bec8c63b4 100644 --- a/packages/line/package.json +++ b/packages/line/package.json @@ -35,6 +35,7 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@nivo/voronoi": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", diff --git a/packages/line/src/Line.js b/packages/line/src/Line.js index 613734740f..5a83a99c45 100644 --- a/packages/line/src/Line.js +++ b/packages/line/src/Line.js @@ -7,14 +7,8 @@ * file that was distributed with this source code. */ import { Fragment, useState } from 'react' -import { - bindDefs, - withContainer, - useDimensions, - useTheme, - SvgWrapper, - CartesianMarkers, -} from '@nivo/core' +import { bindDefs, withContainer, useDimensions, SvgWrapper, CartesianMarkers } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { Axes, Grid } from '@nivo/axes' import { BoxLegendSvg } from '@nivo/legends' diff --git a/packages/line/src/LineCanvas.js b/packages/line/src/LineCanvas.js index d47660d152..99575885c1 100644 --- a/packages/line/src/LineCanvas.js +++ b/packages/line/src/LineCanvas.js @@ -7,13 +7,8 @@ * file that was distributed with this source code. */ import { createElement, useRef, useEffect, useState, useCallback, forwardRef } from 'react' -import { - withContainer, - useDimensions, - useTheme, - getRelativeCursor, - isCursorInRect, -} from '@nivo/core' +import { withContainer, useDimensions, getRelativeCursor, isCursorInRect } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { renderAxesToCanvas, renderGridLinesToCanvas } from '@nivo/axes' import { renderLegendToCanvas } from '@nivo/legends' import { useTooltip } from '@nivo/tooltip' diff --git a/packages/line/src/Points.js b/packages/line/src/Points.js index 887ed2cd8d..36b4debd45 100644 --- a/packages/line/src/Points.js +++ b/packages/line/src/Points.js @@ -8,7 +8,8 @@ */ import { memo } from 'react' import PropTypes from 'prop-types' -import { getLabelGenerator, DotsItem, useTheme } from '@nivo/core' +import { getLabelGenerator, DotsItem } from '@nivo/core' +import { useTheme } from '@nivo/theming' const Points = ({ points, symbol, size, borderWidth, enableLabel, label, labelYOffset }) => { const theme = useTheme() diff --git a/packages/line/src/SliceTooltip.js b/packages/line/src/SliceTooltip.js index c570f22745..9de54efc30 100644 --- a/packages/line/src/SliceTooltip.js +++ b/packages/line/src/SliceTooltip.js @@ -8,7 +8,7 @@ */ import { memo } from 'react' import PropTypes from 'prop-types' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { Chip, TableTooltip } from '@nivo/tooltip' const SliceTooltip = ({ slice, axis }) => { diff --git a/packages/line/src/hooks.js b/packages/line/src/hooks.js index 93e6d0fa3e..e4d40e7235 100644 --- a/packages/line/src/hooks.js +++ b/packages/line/src/hooks.js @@ -8,7 +8,8 @@ */ import { useCallback, useMemo, useState } from 'react' import { area, line } from 'd3-shape' -import { curveFromProp, useTheme, useValueFormatter } from '@nivo/core' +import { curveFromProp, useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useOrdinalColorScale, useInheritedColor } from '@nivo/colors' import { computeXYScalesForSeries } from '@nivo/scales' import { LineDefaultProps } from './props' diff --git a/packages/marimekko/package.json b/packages/marimekko/package.json index 024678d4c5..9c5d443b93 100644 --- a/packages/marimekko/package.json +++ b/packages/marimekko/package.json @@ -26,6 +26,7 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-shape": "^2.0.0", diff --git a/packages/marimekko/src/hooks.ts b/packages/marimekko/src/hooks.ts index 3c78f8f117..00f1bc150c 100644 --- a/packages/marimekko/src/hooks.ts +++ b/packages/marimekko/src/hooks.ts @@ -1,7 +1,8 @@ import { useMemo } from 'react' import { get } from 'lodash' import { stack as d3Stack, Stack, Series } from 'd3-shape' -import { useValueFormatter, useTheme } from '@nivo/core' +import { useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig, useInheritedColor, useOrdinalColorScale } from '@nivo/colors' import { createLinearScale, ScaleLinear } from '@nivo/scales' import { @@ -20,8 +21,8 @@ import { // d3 stack does not support defining `.keys()` using // a mix of keys and custom value accessors, so we're -// building a map of accessors in any case, we're gonna -// use it later for `stack.value()`. +// building a map of accessors in any case, we're going +// to use it later for `stack.value()`. export const useDataDimensions = (rawDimensions: DataProps['dimensions']) => useMemo(() => { const dimensions: Record number> = {} @@ -31,7 +32,7 @@ export const useDataDimensions = (rawDimensions: DataProps[' dimensions[dimension.id] = typeof dimension.value === 'function' ? dimension.value - : (datum: RawDatum) => get(datum, dimension.value as string, 0) + : (datum: RawDatum) => get(datum, dimension.value as string, 0) as number }) return { dimensionIds, dimensions } diff --git a/packages/marimekko/src/types.ts b/packages/marimekko/src/types.ts index 80da75b253..03a1525c6a 100644 --- a/packages/marimekko/src/types.ts +++ b/packages/marimekko/src/types.ts @@ -7,7 +7,8 @@ import { stackOffsetWiggle, } from 'd3-shape' import { ScaleLinear } from '@nivo/scales' -import { Box, Dimensions, Theme, SvgDefsAndFill, MotionProps, ValueFormat } from '@nivo/core' +import { Box, Dimensions, SvgDefsAndFill, MotionProps, ValueFormat } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { AxisProps } from '@nivo/axes' import { OrdinalColorScaleConfig, InheritedColorConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' @@ -125,7 +126,7 @@ export type CommonProps = { // colors, theme and border colors: OrdinalColorScaleConfig, 'color' | 'fill'>> - theme: Theme + theme: PartialTheme borderWidth: number borderColor: InheritedColorConfig> diff --git a/packages/network/package.json b/packages/network/package.json index 8c212ba2c8..ba2029b018 100644 --- a/packages/network/package.json +++ b/packages/network/package.json @@ -34,6 +34,7 @@ "@nivo/annotations": "workspace:*", "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-force": "^2.1.0", diff --git a/packages/network/src/NetworkCanvas.tsx b/packages/network/src/NetworkCanvas.tsx index ea15a7e5dc..7bfa4ca26c 100644 --- a/packages/network/src/NetworkCanvas.tsx +++ b/packages/network/src/NetworkCanvas.tsx @@ -8,7 +8,8 @@ import { MouseEvent, useMemo, } from 'react' -import { getDistance, getRelativeCursor, Container, useDimensions, useTheme } from '@nivo/core' +import { getDistance, getRelativeCursor, Container, useDimensions } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useTooltip } from '@nivo/tooltip' import { useComputedAnnotations, renderAnnotationsToCanvas } from '@nivo/annotations' import { canvasDefaultProps } from './defaults' diff --git a/packages/network/src/hooks.ts b/packages/network/src/hooks.ts index 0f80c623ab..0bbdc85443 100644 --- a/packages/network/src/hooks.ts +++ b/packages/network/src/hooks.ts @@ -1,6 +1,6 @@ import { useState, useEffect, useMemo, useCallback } from 'react' import { forceSimulation, forceManyBody, forceCenter, forceLink } from 'd3-force' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { AnnotationMatcher, useAnnotations } from '@nivo/annotations' import { commonDefaultProps } from './defaults' diff --git a/packages/network/src/types.ts b/packages/network/src/types.ts index c9010e8ad0..34d5377f9d 100644 --- a/packages/network/src/types.ts +++ b/packages/network/src/types.ts @@ -1,6 +1,7 @@ import { AriaAttributes, MouseEvent, FunctionComponent } from 'react' import { AnimatedProps } from '@react-spring/web' -import { Box, Theme, Dimensions, MotionProps, CssMixBlendMode } from '@nivo/core' +import { Box, Dimensions, MotionProps, CssMixBlendMode } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig } from '@nivo/colors' import { AnnotationMatcher } from '@nivo/annotations' @@ -144,7 +145,7 @@ export type NetworkCommonProps = distanceMax: number iterations: number - theme: Theme + theme: PartialTheme nodeSize: DerivedProp activeNodeSize: DerivedProp diff --git a/packages/parallel-coordinates/package.json b/packages/parallel-coordinates/package.json index 2af228d8a3..ebe215146e 100644 --- a/packages/parallel-coordinates/package.json +++ b/packages/parallel-coordinates/package.json @@ -35,11 +35,12 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5" }, "peerDependencies": { diff --git a/packages/parallel-coordinates/src/canvas/ParallelCoordinatesCanvas.tsx b/packages/parallel-coordinates/src/canvas/ParallelCoordinatesCanvas.tsx index 033e9e62ea..e6d0b27628 100644 --- a/packages/parallel-coordinates/src/canvas/ParallelCoordinatesCanvas.tsx +++ b/packages/parallel-coordinates/src/canvas/ParallelCoordinatesCanvas.tsx @@ -1,17 +1,21 @@ import { useEffect, useRef } from 'react' -import { Container, useDimensions, useTheme } from '@nivo/core' +import { Container, useDimensions } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { renderAxisToCanvas } from '@nivo/axes' import { renderLegendToCanvas } from '@nivo/legends' import { useParallelCoordinates } from '../hooks' -import { BaseDatum, ParallelCoordinatesCanvasProps } from '../types' +import { BaseDatum, DatumGroupKeys, ParallelCoordinatesCanvasProps } from '../types' import { canvasDefaultProps } from '../defaults' -type InnerParallelCoordinatesCanvasProps = Omit< - ParallelCoordinatesCanvasProps, - 'renderWrapper' | 'theme' -> +type InnerParallelCoordinatesCanvasProps< + Datum extends BaseDatum, + GroupBy extends DatumGroupKeys | undefined +> = Omit, 'renderWrapper' | 'theme'> -export const InnerParallelCoordinatesCanvas = ({ +export const InnerParallelCoordinatesCanvas = < + Datum extends BaseDatum, + GroupBy extends DatumGroupKeys | undefined +>({ data, layout = canvasDefaultProps.layout, variables, @@ -33,7 +37,7 @@ export const InnerParallelCoordinatesCanvas = ({ ariaLabelledBy, ariaDescribedBy, pixelRatio = canvasDefaultProps.pixelRatio, -}: InnerParallelCoordinatesCanvasProps) => { +}: InnerParallelCoordinatesCanvasProps) => { const canvasEl = useRef(null) const { margin, innerWidth, innerHeight, outerWidth, outerHeight } = useDimensions( @@ -49,7 +53,7 @@ export const InnerParallelCoordinatesCanvas = ({ lineGenerator, legendData, customLayerContext, - } = useParallelCoordinates({ + } = useParallelCoordinates({ width: innerWidth, height: innerHeight, data, @@ -161,15 +165,21 @@ export const InnerParallelCoordinatesCanvas = ({ ) } -export const ParallelCoordinatesCanvas = ({ +export const ParallelCoordinatesCanvas = < + Datum extends BaseDatum, + GroupBy extends DatumGroupKeys | undefined = undefined +>({ theme, isInteractive = canvasDefaultProps.isInteractive, animate = canvasDefaultProps.animate, motionConfig = canvasDefaultProps.motionConfig, renderWrapper, ...otherProps -}: ParallelCoordinatesCanvasProps) => ( +}: ParallelCoordinatesCanvasProps) => ( - isInteractive={isInteractive} {...otherProps} /> + + isInteractive={isInteractive} + {...otherProps} + /> ) diff --git a/packages/parallel-coordinates/src/canvas/ResponsiveParallelCoordinatesCanvas.tsx b/packages/parallel-coordinates/src/canvas/ResponsiveParallelCoordinatesCanvas.tsx index 2318dee7ef..85b083f968 100644 --- a/packages/parallel-coordinates/src/canvas/ResponsiveParallelCoordinatesCanvas.tsx +++ b/packages/parallel-coordinates/src/canvas/ResponsiveParallelCoordinatesCanvas.tsx @@ -1,13 +1,16 @@ import { ResponsiveWrapper } from '@nivo/core' -import { BaseDatum, ParallelCoordinatesCanvasProps } from '../types' +import { BaseDatum, DatumGroupKeys, ParallelCoordinatesCanvasProps } from '../types' import { ParallelCoordinatesCanvas } from './ParallelCoordinatesCanvas' -export const ResponsiveParallelCoordinatesCanvas = ( - props: Omit, 'height' | 'width'> +export const ResponsiveParallelCoordinatesCanvas = < + Datum extends BaseDatum, + GroupBy extends DatumGroupKeys | undefined = undefined +>( + props: Omit, 'height' | 'width'> ) => ( {({ width, height }) => ( - width={width} height={height} {...props} /> + width={width} height={height} {...props} /> )} ) diff --git a/packages/parallel-coordinates/src/types.ts b/packages/parallel-coordinates/src/types.ts index 8816652190..d573e19410 100644 --- a/packages/parallel-coordinates/src/types.ts +++ b/packages/parallel-coordinates/src/types.ts @@ -1,6 +1,7 @@ import { AriaAttributes, FunctionComponent } from 'react' import { Line } from 'd3-shape' -import { Box, Dimensions, MotionProps, LineCurveFactoryId, Theme, ValueFormat } from '@nivo/core' +import { Box, Dimensions, MotionProps, LineCurveFactoryId, ValueFormat } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { OrdinalColorScaleConfig } from '@nivo/colors' import { AxisProps } from '@nivo/axes' import { ScaleLinear } from '@nivo/scales' @@ -117,7 +118,7 @@ export interface CommonProps< layout: 'horizontal' | 'vertical' curve: LineCurveFactoryId - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig> lineWidth: number lineOpacity: number @@ -173,9 +174,12 @@ type ParallelCoordinatesCanvasLayer = | LayerId | ParallelCoordinatesCanvasCustomLayer -export type ParallelCoordinatesCanvasProps = DataProps & +export type ParallelCoordinatesCanvasProps< + Datum extends BaseDatum, + GroupBy extends DatumGroupKeys | undefined +> = DataProps & Dimensions & - Partial> & { + Partial> & { layers: ParallelCoordinatesCanvasLayer[] pixelRatio?: number } diff --git a/packages/pie/package.json b/packages/pie/package.json index dda804514e..11533d3ec5 100644 --- a/packages/pie/package.json +++ b/packages/pie/package.json @@ -33,6 +33,7 @@ "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@types/d3-shape": "^2.0.0", "d3-shape": "^1.3.5" diff --git a/packages/pie/src/PieCanvas.tsx b/packages/pie/src/PieCanvas.tsx index a270588e1d..cf16ad39e3 100644 --- a/packages/pie/src/PieCanvas.tsx +++ b/packages/pie/src/PieCanvas.tsx @@ -1,6 +1,6 @@ -import { createElement, useEffect, useMemo, useRef } from 'react' -import * as React from 'react' -import { getRelativeCursor, useDimensions, useTheme, Container } from '@nivo/core' +import { createElement, useEffect, useMemo, useRef, MouseEvent } from 'react' +import { getRelativeCursor, useDimensions, Container } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { renderLegendToCanvas } from '@nivo/legends' import { useInheritedColor, InheritedColorConfig } from '@nivo/colors' import { useTooltip } from '@nivo/tooltip' @@ -218,7 +218,7 @@ const InnerPieCanvas = ({ [dataWithArc] ) - const getArcFromMouse = (event: React.MouseEvent) => { + const getArcFromMouse = (event: MouseEvent) => { if (!canvasEl.current) return null const [x, y] = getRelativeCursor(canvasEl.current, event) @@ -240,7 +240,7 @@ const InnerPieCanvas = ({ const { showTooltipFromEvent, hideTooltip } = useTooltip() - const handleMouseHover = (event: React.MouseEvent) => { + const handleMouseHover = (event: MouseEvent) => { const datum = getArcFromMouse(event) if (datum) { onMouseMove?.(datum, event) @@ -256,7 +256,7 @@ const InnerPieCanvas = ({ hideTooltip() } - const handleClick = (event: React.MouseEvent) => { + const handleClick = (event: MouseEvent) => { if (!onClick) return const arc = getArcFromMouse(event) diff --git a/packages/pie/src/types.ts b/packages/pie/src/types.ts index 2fb75d4a41..5a3f7f728f 100644 --- a/packages/pie/src/types.ts +++ b/packages/pie/src/types.ts @@ -2,12 +2,12 @@ import * as React from 'react' import { Box, Dimensions, - Theme, SvgDefsAndFill, MotionProps, ValueFormat, PropertyAccessor, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { Arc, ArcGenerator, @@ -103,7 +103,7 @@ export type CommonPieProps = { // colors, theme and border colors: OrdinalColorScaleConfig, 'color' | 'fill' | 'arc'>> - theme: Theme + theme: PartialTheme borderWidth: number borderColor: InheritedColorConfig> diff --git a/packages/polar-axes/package.json b/packages/polar-axes/package.json index 24d765e3cd..3a6a633e74 100644 --- a/packages/polar-axes/package.json +++ b/packages/polar-axes/package.json @@ -31,6 +31,8 @@ "@nivo/arcs": "workspace:*", "@nivo/core": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2" }, "peerDependencies": { diff --git a/packages/polar-axes/src/CircularAxis.tsx b/packages/polar-axes/src/CircularAxis.tsx index e4a8f88a68..9e5e99ebdc 100644 --- a/packages/polar-axes/src/CircularAxis.tsx +++ b/packages/polar-axes/src/CircularAxis.tsx @@ -1,6 +1,7 @@ import { createElement, SVGProps, useMemo } from 'react' import { useSpring, useTransition } from '@react-spring/web' -import { useMotionConfig, useTheme, positionFromAngle, degreesToRadians } from '@nivo/core' +import { useMotionConfig, positionFromAngle, degreesToRadians } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { AnyScale, getScaleTicks } from '@nivo/scales' import { ArcLine } from '@nivo/arcs' import { CircularAxisConfig, CircularAxisTickAnimatedProps } from './types' diff --git a/packages/polar-axes/src/CircularAxisTick.tsx b/packages/polar-axes/src/CircularAxisTick.tsx index 516fdaddb5..278fc31c9e 100644 --- a/packages/polar-axes/src/CircularAxisTick.tsx +++ b/packages/polar-axes/src/CircularAxisTick.tsx @@ -1,5 +1,6 @@ import { animated } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { CircularAxisTickProps } from './types' export const CircularAxisTick = ({ label, animated: animatedProps }: CircularAxisTickProps) => { @@ -14,7 +15,7 @@ export const CircularAxisTick = ({ label, animated: animatedProps }: CircularAxi y2={animatedProps.y2} style={theme.axis.ticks.line} /> - {label} - + ) } diff --git a/packages/polar-axes/src/CircularGrid.tsx b/packages/polar-axes/src/CircularGrid.tsx index 5a5e3d68da..7658aa829f 100644 --- a/packages/polar-axes/src/CircularGrid.tsx +++ b/packages/polar-axes/src/CircularGrid.tsx @@ -1,6 +1,7 @@ import { SVGProps, useMemo } from 'react' import { useTransition } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { AnyScale, getScaleTicks } from '@nivo/scales' import { ArcLine } from '@nivo/arcs' diff --git a/packages/polar-axes/src/RadialAxisTick.tsx b/packages/polar-axes/src/RadialAxisTick.tsx index c56c6358ef..4187f08373 100644 --- a/packages/polar-axes/src/RadialAxisTick.tsx +++ b/packages/polar-axes/src/RadialAxisTick.tsx @@ -1,5 +1,6 @@ import { animated, to } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { RadialAxisTickProps } from './types' export const RadialAxisTick = ({ @@ -18,14 +19,14 @@ export const RadialAxisTick = ({ )} > - {label} - + ) } diff --git a/packages/polar-axes/src/RadialGrid.tsx b/packages/polar-axes/src/RadialGrid.tsx index c898f81da8..59ec1d9983 100644 --- a/packages/polar-axes/src/RadialGrid.tsx +++ b/packages/polar-axes/src/RadialGrid.tsx @@ -1,6 +1,7 @@ import { SVGProps, useMemo } from 'react' import { useTransition, animated } from '@react-spring/web' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { AnyScale, getScaleTicks } from '@nivo/scales' interface PolarGridProps { diff --git a/packages/radar/package.json b/packages/radar/package.json index 3033093a17..73ee61e77f 100644 --- a/packages/radar/package.json +++ b/packages/radar/package.json @@ -32,11 +32,13 @@ "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5" }, "peerDependencies": { diff --git a/packages/radar/src/RadarDots.tsx b/packages/radar/src/RadarDots.tsx index e18b68903e..8499513e80 100644 --- a/packages/radar/src/RadarDots.tsx +++ b/packages/radar/src/RadarDots.tsx @@ -1,6 +1,7 @@ import { useMemo } from 'react' import { ScaleLinear } from 'd3-scale' -import { useTheme, positionFromAngle, DotsItem, usePropertyAccessor } from '@nivo/core' +import { positionFromAngle, DotsItem, usePropertyAccessor } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { getInheritedColorGenerator } from '@nivo/colors' import { RadarCommonProps, RadarDataProps, PointProps, PointData, RadarColorMapping } from './types' diff --git a/packages/radar/src/RadarGrid.tsx b/packages/radar/src/RadarGrid.tsx index c814cc4bf1..d48624bad8 100644 --- a/packages/radar/src/RadarGrid.tsx +++ b/packages/radar/src/RadarGrid.tsx @@ -1,5 +1,6 @@ import { SVGProps, useMemo } from 'react' -import { positionFromAngle, useTheme } from '@nivo/core' +import { positionFromAngle } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { RadarGridLabels } from './RadarGridLabels' import { RadarGridLevels } from './RadarGridLevels' import { GridLabelComponent, RadarCommonProps } from './types' diff --git a/packages/radar/src/RadarGridLabel.tsx b/packages/radar/src/RadarGridLabel.tsx index dc3a96de37..1c58e17e08 100644 --- a/packages/radar/src/RadarGridLabel.tsx +++ b/packages/radar/src/RadarGridLabel.tsx @@ -1,5 +1,6 @@ import { animated } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { GridLabelProps } from './types' export const RadarGridLabel = ({ id, anchor, animated: animatedProps }: GridLabelProps) => { @@ -7,9 +8,9 @@ export const RadarGridLabel = ({ id, anchor, animated: animatedProps }: GridLabe return ( - + {id} - + ) } diff --git a/packages/radar/src/RadarGridLevels.tsx b/packages/radar/src/RadarGridLevels.tsx index 0e729e55cb..e8a47cb6da 100644 --- a/packages/radar/src/RadarGridLevels.tsx +++ b/packages/radar/src/RadarGridLevels.tsx @@ -1,7 +1,8 @@ import { memo, SVGProps, useMemo } from 'react' import { lineRadial, curveLinearClosed } from 'd3-shape' import { animated, useSpring, to } from '@react-spring/web' -import { useTheme, useAnimatedPath, useMotionConfig } from '@nivo/core' +import { useAnimatedPath, useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { RadarCommonProps } from './types' interface RadarGridLevelCircularProps { diff --git a/packages/radar/src/RadarLayer.tsx b/packages/radar/src/RadarLayer.tsx index e6b1acf23d..8d2aef9231 100644 --- a/packages/radar/src/RadarLayer.tsx +++ b/packages/radar/src/RadarLayer.tsx @@ -2,7 +2,8 @@ import { useMemo } from 'react' import { useSpring, animated } from '@react-spring/web' import { lineRadial, CurveFactory } from 'd3-shape' import { ScaleLinear } from 'd3-scale' -import { useMotionConfig, useTheme, useAnimatedPath } from '@nivo/core' +import { useMotionConfig, useAnimatedPath } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { RadarCommonProps } from './types' diff --git a/packages/radar/src/RadarSlice.tsx b/packages/radar/src/RadarSlice.tsx index 19a3c6ffd4..384dd8251f 100644 --- a/packages/radar/src/RadarSlice.tsx +++ b/packages/radar/src/RadarSlice.tsx @@ -1,6 +1,7 @@ import { useMemo, useState, useCallback, createElement, MouseEvent } from 'react' import { Arc } from 'd3-shape' -import { positionFromAngle, useTheme } from '@nivo/core' +import { positionFromAngle } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useTooltip } from '@nivo/tooltip' import { RadarCommonProps, RadarDataProps, RadarSliceTooltipDatum } from './types' diff --git a/packages/radar/src/types.ts b/packages/radar/src/types.ts index 4205593b0e..203446b35b 100644 --- a/packages/radar/src/types.ts +++ b/packages/radar/src/types.ts @@ -2,7 +2,6 @@ import { FunctionComponent, AriaAttributes } from 'react' import { AnimatedProps } from '@react-spring/web' import { Box, - Theme, CssMixBlendMode, Dimensions, MotionProps, @@ -12,6 +11,7 @@ import { DotsItemSymbolComponent, SvgDefsAndFill, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' import { ScaleLinear } from 'd3-scale' @@ -114,7 +114,7 @@ export interface RadarCommonProps> { dotLabelFormat: ValueFormat dotLabelYOffset: number - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig<{ key: string; index: number }> fillOpacity: number blendMode: CssMixBlendMode diff --git a/packages/radial-bar/package.json b/packages/radial-bar/package.json index db57422894..0d8962c1ba 100644 --- a/packages/radial-bar/package.json +++ b/packages/radial-bar/package.json @@ -35,11 +35,12 @@ "@nivo/legends": "workspace:*", "@nivo/polar-axes": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5" }, "peerDependencies": { diff --git a/packages/radial-bar/src/types.ts b/packages/radial-bar/src/types.ts index e8e195f17b..209c0bc0b0 100644 --- a/packages/radial-bar/src/types.ts +++ b/packages/radial-bar/src/types.ts @@ -1,6 +1,5 @@ import { AriaAttributes, FunctionComponent, MouseEvent } from 'react' import { - Theme, Box, Dimensions, MotionProps, @@ -8,6 +7,7 @@ import { ValueFormat, SvgDefsAndFill, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { Arc, ArcGenerator, ArcLabelsProps, ArcTransitionMode } from '@nivo/arcs' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' @@ -70,7 +70,7 @@ export type RadialBarCommonProps = { margin: Box - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig, 'color'>> borderWidth: number borderColor: InheritedColorConfig> diff --git a/packages/recompose/src/setPropTypes.ts b/packages/recompose/src/setPropTypes.ts index a9f05166e4..47e0e19ac7 100644 --- a/packages/recompose/src/setPropTypes.ts +++ b/packages/recompose/src/setPropTypes.ts @@ -1,6 +1,6 @@ import { ComponentType, ValidationMap } from 'react' import { setStatic } from './setStatic' -export const setPropTypes =

( +export const setPropTypes: any =

( propTypes: ValidationMap

): (>(component: T) => T) => setStatic('propTypes', propTypes) diff --git a/packages/sankey/package.json b/packages/sankey/package.json index 13fb4f143f..0d055c8a7b 100644 --- a/packages/sankey/package.json +++ b/packages/sankey/package.json @@ -32,6 +32,8 @@ "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-sankey": "^0.11.2", diff --git a/packages/sankey/src/SankeyLabels.tsx b/packages/sankey/src/SankeyLabels.tsx index 7b5a6175d2..98c9fc699e 100644 --- a/packages/sankey/src/SankeyLabels.tsx +++ b/packages/sankey/src/SankeyLabels.tsx @@ -1,5 +1,7 @@ -import { useSprings, animated } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useSprings } from '@react-spring/web' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { DefaultLink, DefaultNode, SankeyCommonProps, SankeyNodeDatum } from './types' interface SankeyLabelsProps { @@ -97,7 +99,7 @@ export const SankeyLabels = ({ const label = labels[index] return ( - ({ }} > {label.label} - + ) })} diff --git a/packages/sankey/src/hooks.ts b/packages/sankey/src/hooks.ts index c01ed6dd49..16fcccffc6 100644 --- a/packages/sankey/src/hooks.ts +++ b/packages/sankey/src/hooks.ts @@ -1,7 +1,8 @@ import { useState, useMemo } from 'react' import { cloneDeep } from 'lodash' import { sankey as d3Sankey } from 'd3-sankey' -import { useTheme, usePropertyAccessor, useValueFormatter } from '@nivo/core' +import { usePropertyAccessor, useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useOrdinalColorScale, useInheritedColor } from '@nivo/colors' import { sankeyAlignmentFromProp } from './props' import { diff --git a/packages/sankey/src/types.ts b/packages/sankey/src/types.ts index d3633d6465..400b44b354 100644 --- a/packages/sankey/src/types.ts +++ b/packages/sankey/src/types.ts @@ -2,13 +2,13 @@ import { AriaAttributes, MouseEvent, FunctionComponent } from 'react' import { SankeyNodeMinimal } from 'd3-sankey' import { Box, - Theme, CssMixBlendMode, Dimensions, MotionProps, PropertyAccessor, ValueFormat, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' @@ -115,7 +115,7 @@ export interface SankeyCommonProps margin: Box colors: OrdinalColorScaleConfig, 'color' | 'label'>> - theme: Theme + theme: PartialTheme nodeOpacity: number nodeHoverOpacity: number diff --git a/packages/scales/package.json b/packages/scales/package.json index 216f2933e3..dd3d3573c4 100644 --- a/packages/scales/package.json +++ b/packages/scales/package.json @@ -21,10 +21,10 @@ "!dist/tsconfig.tsbuildinfo" ], "dependencies": { - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-time": "^1.1.1", "@types/d3-time-format": "^3.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-time": "^1.0.11", "d3-time-format": "^3.0.0", "lodash": "^4.17.21" diff --git a/packages/scatterplot/package.json b/packages/scatterplot/package.json index 01678d077a..6f5c6dbe8c 100644 --- a/packages/scatterplot/package.json +++ b/packages/scatterplot/package.json @@ -35,12 +35,13 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@nivo/voronoi": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5", "lodash": "^4.17.21" }, diff --git a/packages/scatterplot/src/ScatterPlotCanvas.tsx b/packages/scatterplot/src/ScatterPlotCanvas.tsx index a315da0697..e69c14fe29 100644 --- a/packages/scatterplot/src/ScatterPlotCanvas.tsx +++ b/packages/scatterplot/src/ScatterPlotCanvas.tsx @@ -9,7 +9,8 @@ import { useState, MouseEvent, } from 'react' -import { Container, useDimensions, useTheme, getRelativeCursor, isCursorInRect } from '@nivo/core' +import { Container, useDimensions, getRelativeCursor, isCursorInRect } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { renderAnnotationsToCanvas } from '@nivo/annotations' import { CanvasAxisProps, renderAxesToCanvas, renderGridLinesToCanvas } from '@nivo/axes' import { renderLegendToCanvas } from '@nivo/legends' diff --git a/packages/scatterplot/src/types.ts b/packages/scatterplot/src/types.ts index 83ecf71c85..8549cf22af 100644 --- a/packages/scatterplot/src/types.ts +++ b/packages/scatterplot/src/types.ts @@ -3,13 +3,13 @@ import { SpringValues } from '@react-spring/web' import { Dimensions, Box, - Theme, ValueFormat, MotionProps, CssMixBlendMode, CartesianMarkerProps, PropertyAccessor, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { AnyScale, ScaleSpec } from '@nivo/scales' import { OrdinalColorScaleConfig } from '@nivo/colors' import { AxisProps, GridValues } from '@nivo/axes' @@ -130,7 +130,7 @@ export type ScatterPlotCommonProps = { axisRight: AxisProps | null axisBottom: AxisProps | null axisLeft: AxisProps | null - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig<{ serieId: ScatterPlotRawSerie['id'] }> nodeSize: | number diff --git a/packages/stream/package.json b/packages/stream/package.json index 2594f9e5f4..970de9540c 100644 --- a/packages/stream/package.json +++ b/packages/stream/package.json @@ -34,6 +34,7 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-shape": "^2.0.0", diff --git a/packages/stream/src/hooks.ts b/packages/stream/src/hooks.ts index 548ea2b7d0..ab5ac86315 100644 --- a/packages/stream/src/hooks.ts +++ b/packages/stream/src/hooks.ts @@ -1,7 +1,6 @@ import { useMemo } from 'react' import { area, stack as d3Stack } from 'd3-shape' import { - useTheme, usePropertyAccessor, useValueFormatter, useCurveInterpolation, @@ -10,6 +9,7 @@ import { // @ts-ignore stackOffsetFromProp, } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor, useOrdinalColorScale } from '@nivo/colors' import { StreamCommonProps, diff --git a/packages/stream/src/types.ts b/packages/stream/src/types.ts index 5549ca06d3..3d16655bd3 100644 --- a/packages/stream/src/types.ts +++ b/packages/stream/src/types.ts @@ -3,7 +3,6 @@ import { Box, Dimensions, MotionProps, - Theme, PropertyAccessor, StackOrder, StackOffset, @@ -11,6 +10,7 @@ import { SvgDefsAndFill, ValueFormat, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { AxisProps, GridValues } from '@nivo/axes' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' @@ -112,7 +112,7 @@ export type StreamCommonProps = { enableGridY: boolean gridYValues: GridValues - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig> fillOpacity: number borderWidth: number diff --git a/packages/sunburst/package.json b/packages/sunburst/package.json index c6f26e583e..521ff23569 100644 --- a/packages/sunburst/package.json +++ b/packages/sunburst/package.json @@ -32,6 +32,7 @@ "@nivo/arcs": "workspace:*", "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@types/d3-hierarchy": "^1.1.8", "d3-hierarchy": "^1.1.8", diff --git a/packages/sunburst/src/hooks.ts b/packages/sunburst/src/hooks.ts index f0318c9dc4..8f311baba3 100644 --- a/packages/sunburst/src/hooks.ts +++ b/packages/sunburst/src/hooks.ts @@ -2,7 +2,8 @@ import { useMemo } from 'react' import { partition as d3Partition, hierarchy as d3Hierarchy } from 'd3-hierarchy' import cloneDeep from 'lodash/cloneDeep' import sortBy from 'lodash/sortBy' -import { usePropertyAccessor, useTheme, useValueFormatter } from '@nivo/core' +import { usePropertyAccessor, useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { Arc, useArcGenerator } from '@nivo/arcs' import { useOrdinalColorScale, useInheritedColor, InheritedColorConfig } from '@nivo/colors' import { diff --git a/packages/sunburst/src/types.ts b/packages/sunburst/src/types.ts index 75d26c508a..7af168f428 100644 --- a/packages/sunburst/src/types.ts +++ b/packages/sunburst/src/types.ts @@ -1,6 +1,7 @@ import { Arc, ArcGenerator, ArcLabelsProps, ArcTransitionMode } from '@nivo/arcs' import { OrdinalColorScaleConfig, InheritedColorConfig } from '@nivo/colors' -import { Theme, Box, ValueFormat, SvgDefsAndFill, MotionProps, PropertyAccessor } from '@nivo/core' +import { Box, ValueFormat, SvgDefsAndFill, MotionProps, PropertyAccessor } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' export type DatumId = string | number @@ -56,7 +57,7 @@ export type SunburstCommonProps = { height: number margin?: Box cornerRadius: number - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig, 'color' | 'fill'>> colorBy: 'id' | 'depth' inheritColorFromParent: boolean diff --git a/packages/swarmplot/package.json b/packages/swarmplot/package.json index 0c36c1b121..799702959c 100644 --- a/packages/swarmplot/package.json +++ b/packages/swarmplot/package.json @@ -36,13 +36,14 @@ "@nivo/core": "workspace:*", "@nivo/legends": "workspace:*", "@nivo/scales": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@nivo/voronoi": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-force": "^2.1.0", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "d3-force": "^2.0.1", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "lodash": "^4.17.21" }, "peerDependencies": { diff --git a/packages/swarmplot/src/Circles.tsx b/packages/swarmplot/src/Circles.tsx index e318e140d5..b2174ebf1e 100644 --- a/packages/swarmplot/src/Circles.tsx +++ b/packages/swarmplot/src/Circles.tsx @@ -1,7 +1,8 @@ import { createElement, useMemo, MouseEvent } from 'react' import * as React from 'react' import { useTransition, to, SpringValue } from '@react-spring/web' -import { useMotionConfig, useTheme } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useInheritedColor } from '@nivo/colors' import { useTooltip } from '@nivo/tooltip' import { ComputedDatum, CircleComponent, MouseHandlers, SwarmPlotCommonProps } from './types' diff --git a/packages/swarmplot/src/SwarmPlotCanvas.tsx b/packages/swarmplot/src/SwarmPlotCanvas.tsx index 9af72e1ce5..22b55bba03 100644 --- a/packages/swarmplot/src/SwarmPlotCanvas.tsx +++ b/packages/swarmplot/src/SwarmPlotCanvas.tsx @@ -1,7 +1,8 @@ import { createElement, useCallback, useEffect, useRef, useState } from 'react' import * as React from 'react' import isNumber from 'lodash/isNumber' -import { Container, getRelativeCursor, isCursorInRect, useDimensions, useTheme } from '@nivo/core' +import { Container, getRelativeCursor, isCursorInRect, useDimensions } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig, useInheritedColor } from '@nivo/colors' import { AnyScale } from '@nivo/scales' import { renderAxesToCanvas, renderGridLinesToCanvas } from '@nivo/axes' diff --git a/packages/swarmplot/src/types.ts b/packages/swarmplot/src/types.ts index 5ceb5528a8..d4167c980d 100644 --- a/packages/swarmplot/src/types.ts +++ b/packages/swarmplot/src/types.ts @@ -1,7 +1,8 @@ import * as React from 'react' import { Interpolation, SpringValue } from '@react-spring/web' import { ForceX, ForceY, ForceCollide } from 'd3-force' -import { PropertyAccessor, ValueFormat, Theme, MotionProps, Box, Margin } from '@nivo/core' +import { PropertyAccessor, ValueFormat, MotionProps, Box, Margin } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { AxisProps, CanvasAxisProps } from '@nivo/axes' import { ScaleLinear, ScaleLinearSpec, ScaleTime, ScaleTimeSpec, TicksSpec } from '@nivo/scales' @@ -108,7 +109,7 @@ export type SwarmPlotCommonProps = { gap: number forceStrength: number simulationIterations: number - theme?: Theme + theme?: PartialTheme colors: OrdinalColorScaleConfig, 'color'>> colorBy: PropertyAccessor, 'color'>, string> borderWidth: number | ((node: ComputedDatum) => number) diff --git a/packages/text/LICENSE.md b/packages/text/LICENSE.md new file mode 100644 index 0000000000..faa45389ec --- /dev/null +++ b/packages/text/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (c) Raphaël Benitte + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/text/README.md b/packages/text/README.md new file mode 100644 index 0000000000..a03dab875b --- /dev/null +++ b/packages/text/README.md @@ -0,0 +1,6 @@ +nivo + +# `@nivo/theming` + +[![version](https://img.shields.io/npm/v/@nivo/theming?style=for-the-badge)](https://www.npmjs.com/package/@nivo/theming) +[![downloads](https://img.shields.io/npm/dm/@nivo/theming?style=for-the-badge)](https://www.npmjs.com/package/@nivo/theming) diff --git a/packages/text/package.json b/packages/text/package.json new file mode 100644 index 0000000000..d3396c0aae --- /dev/null +++ b/packages/text/package.json @@ -0,0 +1,34 @@ +{ + "name": "@nivo/text", + "version": "0.83.0", + "license": "MIT", + "author": { + "name": "Raphaël Benitte", + "url": "https://github.com/plouc" + }, + "repository": { + "type": "git", + "url": "https://github.com/plouc/nivo.git", + "directory": "packages/text" + }, + "sideEffects": false, + "main": "./dist/nivo-text.cjs.js", + "module": "./dist/nivo-text.es.js", + "types": "./dist/types/index.d.ts", + "files": [ + "README.md", + "LICENSE.md", + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "dependencies": { + "@nivo/theming": "workspace:*", + "@react-spring/web": "9.4.5 || ^9.7.2" + }, + "peerDependencies": { + "react": ">= 16.14.0 < 19.0.0" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/text/src/Text.tsx b/packages/text/src/Text.tsx new file mode 100644 index 0000000000..a7f57f48c1 --- /dev/null +++ b/packages/text/src/Text.tsx @@ -0,0 +1,39 @@ +import { PropsWithChildren, ComponentType } from 'react' +import { animated } from '@react-spring/web' +import { TextStyle as ThemeStyle } from '@nivo/theming' + +type GetComponentProps = T extends ComponentType ? P : never +type AnimatedComponentProps = GetComponentProps<(typeof animated)['text']> + +type TextProps = PropsWithChildren< + Omit & { + style: AnimatedComponentProps['style'] & + Pick + } +> + +export const Text = ({ style: fullStyle, children, ...attributes }: TextProps) => { + const { outlineWidth, outlineColor, outlineOpacity, ...style } = fullStyle + + return ( + <> + {outlineWidth > 0 && ( + + {children} + + )} + + {children} + + + ) +} diff --git a/packages/text/src/canvas.ts b/packages/text/src/canvas.ts new file mode 100644 index 0000000000..b7f2aa5f56 --- /dev/null +++ b/packages/text/src/canvas.ts @@ -0,0 +1,25 @@ +import { TextStyle } from '@nivo/theming' + +export const setCanvasFont = (ctx: CanvasRenderingContext2D, style: TextStyle) => { + ctx.font = `${style.fontWeight ? `${style.fontWeight} ` : ''}${style.fontSize}px ${ + style.fontFamily + }` +} + +export const drawCanvasText = ( + ctx: CanvasRenderingContext2D, + style: TextStyle, + text: string, + x = 0, + y = 0 +) => { + if (style.outlineWidth > 0) { + ctx.strokeStyle = style.outlineColor + ctx.lineWidth = style.outlineWidth * 2 + ctx.lineJoin = 'round' + ctx.strokeText(text, x, y) + } + + ctx.fillStyle = style.fill + ctx.fillText(text, x, y) +} diff --git a/packages/text/src/index.ts b/packages/text/src/index.ts new file mode 100644 index 0000000000..b0fb9c8869 --- /dev/null +++ b/packages/text/src/index.ts @@ -0,0 +1,2 @@ +export * from './canvas' +export * from './Text' diff --git a/packages/text/tsconfig.json b/packages/text/tsconfig.json new file mode 100644 index 0000000000..569f591b4d --- /dev/null +++ b/packages/text/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.types.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./dist/types", + "rootDir": "./src" + }, + "include": ["src/**/*"] +} \ No newline at end of file diff --git a/packages/theming/LICENSE.md b/packages/theming/LICENSE.md new file mode 100644 index 0000000000..faa45389ec --- /dev/null +++ b/packages/theming/LICENSE.md @@ -0,0 +1,19 @@ +Copyright (c) Raphaël Benitte + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/theming/README.md b/packages/theming/README.md new file mode 100644 index 0000000000..a03dab875b --- /dev/null +++ b/packages/theming/README.md @@ -0,0 +1,6 @@ +nivo + +# `@nivo/theming` + +[![version](https://img.shields.io/npm/v/@nivo/theming?style=for-the-badge)](https://www.npmjs.com/package/@nivo/theming) +[![downloads](https://img.shields.io/npm/dm/@nivo/theming?style=for-the-badge)](https://www.npmjs.com/package/@nivo/theming) diff --git a/packages/theming/package.json b/packages/theming/package.json new file mode 100644 index 0000000000..e5e74b3aa4 --- /dev/null +++ b/packages/theming/package.json @@ -0,0 +1,30 @@ +{ + "name": "@nivo/theming", + "version": "0.83.0", + "license": "MIT", + "author": { + "name": "Raphaël Benitte", + "url": "https://github.com/plouc" + }, + "repository": { + "type": "git", + "url": "https://github.com/plouc/nivo.git", + "directory": "packages/theming" + }, + "sideEffects": false, + "main": "./dist/nivo-theming.cjs.js", + "module": "./dist/nivo-theming.es.js", + "types": "./dist/types/index.d.ts", + "files": [ + "README.md", + "LICENSE.md", + "dist/", + "!dist/tsconfig.tsbuildinfo" + ], + "peerDependencies": { + "react": ">= 16.14.0 < 19.0.0" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/theming/src/context.tsx b/packages/theming/src/context.tsx new file mode 100644 index 0000000000..61b2906f59 --- /dev/null +++ b/packages/theming/src/context.tsx @@ -0,0 +1,30 @@ +import { createContext, useContext, PropsWithChildren } from 'react' +import { usePartialTheme } from './hooks' +import { PartialTheme, Theme } from './types' + +export const ThemeContext = createContext(null) + +// required to preserve equality +const defaultPartialTheme = {} + +export const ThemeProvider = ({ + theme: partialTheme = defaultPartialTheme, + children, +}: PropsWithChildren<{ + theme: PartialTheme +}>) => { + const theme = usePartialTheme(partialTheme) + + return {children} +} + +export const useTheme = () => { + const theme = useContext(ThemeContext) + if (theme === null) { + throw new Error( + 'Unable to find the theme, did you forget to wrap your component with ThemeProvider?' + ) + } + + return theme +} diff --git a/packages/core/src/theming/defaultTheme.js b/packages/theming/src/defaults.ts similarity index 89% rename from packages/core/src/theming/defaultTheme.js rename to packages/theming/src/defaults.ts index 293a2b82bb..41ef028fd5 100644 --- a/packages/core/src/theming/defaultTheme.js +++ b/packages/theming/src/defaults.ts @@ -1,23 +1,14 @@ -/* - * This file is part of the nivo project. - * - * Copyright 2016-present, Raphaël Benitte. - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ +import { ThemeWithoutInheritance } from './types' -/** - * @type ThemeWithoutInheritance - */ -export const defaultTheme = { +export const defaultTheme: ThemeWithoutInheritance = { background: 'transparent', text: { fontFamily: 'sans-serif', fontSize: 11, fill: '#333333', outlineWidth: 0, - outlineColor: 'transparent', + outlineColor: '#ffffff', + outlineOpacity: 1, }, axis: { domain: { diff --git a/packages/theming/src/extend.ts b/packages/theming/src/extend.ts new file mode 100644 index 0000000000..fd2ed67d2f --- /dev/null +++ b/packages/theming/src/extend.ts @@ -0,0 +1,38 @@ +import merge from 'lodash/merge' +import get from 'lodash/get' +import set from 'lodash/set' +import { ThemeWithoutInheritance, PartialTheme, Theme, TextStyle } from './types' + +const textPropsWithInheritance = [ + 'axis.ticks.text', + 'axis.legend.text', + 'legends.title.text', + 'legends.text', + 'legends.ticks.text', + 'legends.title.text', + 'labels.text', + 'dots.text', + 'markers.text', + 'annotations.text', +] + +export const inheritRootThemeText = ( + partialStyle: Partial, + rootStyle: TextStyle +): TextStyle => ({ + ...rootStyle, + ...partialStyle, +}) + +export const extendDefaultTheme = ( + defaultTheme: ThemeWithoutInheritance, + customTheme: PartialTheme +) => { + const theme = merge({}, defaultTheme, customTheme) as Theme + + textPropsWithInheritance.forEach(prop => { + set(theme, prop, inheritRootThemeText(get(theme, prop), theme.text)) + }) + + return theme +} diff --git a/packages/theming/src/hooks.ts b/packages/theming/src/hooks.ts new file mode 100644 index 0000000000..99257d4f10 --- /dev/null +++ b/packages/theming/src/hooks.ts @@ -0,0 +1,8 @@ +import { useMemo } from 'react' +import { extendDefaultTheme } from './extend' +import { defaultTheme } from './defaults' +import { PartialTheme } from './types' + +export const usePartialTheme = (partialTheme: PartialTheme) => { + return useMemo(() => extendDefaultTheme(defaultTheme, partialTheme), [partialTheme]) +} diff --git a/packages/theming/src/index.ts b/packages/theming/src/index.ts new file mode 100644 index 0000000000..c043d311ab --- /dev/null +++ b/packages/theming/src/index.ts @@ -0,0 +1,5 @@ +export * from './context' +export * from './defaults' +export * from './extend' +export * from './hooks' +export * from './types' diff --git a/packages/theming/src/types.ts b/packages/theming/src/types.ts new file mode 100644 index 0000000000..046a3c3faf --- /dev/null +++ b/packages/theming/src/types.ts @@ -0,0 +1,219 @@ +import { CSSProperties } from 'react' + +export type TextStyle = { + fontFamily: Exclude + fontSize: Exclude + fill: string + outlineWidth: number + outlineColor: string + outlineOpacity: number +} & Partial + +export type Theme = { + background: string + text: TextStyle + axis: { + domain: { + line: Partial + } + ticks: { + line: Partial + text: TextStyle + } + legend: { + text: TextStyle + } + } + grid: { + line: Partial + } + crosshair: { + line: { + stroke: string + strokeWidth: number + strokeOpacity: number + strokeDasharray: string + } + } + legends: { + hidden: { + symbol: Partial<{ + fill: string + opacity: number + }> + text: TextStyle + } + text: TextStyle + title: { + text: TextStyle + } + ticks: { + line: Partial + text: TextStyle + } + } + labels: { + text: TextStyle + } + markers: { + lineColor: string + lineStrokeWidth: number + text: TextStyle + } + dots: { + text: TextStyle + } + tooltip: { + container: Partial + basic: Partial + chip: Partial + table: Partial + tableCell: Partial + tableCellValue: Partial + } + annotations: { + text: TextStyle + link: { + stroke: string + strokeWidth: number + outlineWidth: number + outlineColor: string + outlineOpacity: number + } & Partial> + outline: { + stroke: string + strokeWidth: number + outlineWidth: number + outlineColor: string + outlineOpacity: number + } & Partial> + symbol: { + fill: string + outlineWidth: number + outlineColor: string + outlineOpacity: number + } & Partial> + } +} + +/** + * Theme which can be passed to chart components. + * + * Internal component will often rely on `Theme` to avoid + * having to recompute the inherited properties each time we need the theme. + */ +export type PartialTheme = Partial<{ + background: Theme['background'] + text: Partial + axis: Partial<{ + domain: Partial<{ + line: Partial + }> + ticks: Partial<{ + line: Partial + text: Partial + }> + legend: Partial<{ + text: Partial + }> + }> + grid: Partial<{ + line: Partial + }> + crosshair: Partial<{ + line: Partial + }> + legends: Partial<{ + hidden: Partial<{ + symbol: Theme['legends']['hidden']['symbol'] + text: Theme['legends']['hidden']['text'] + }> + title: Partial<{ + text: Partial + }> + text: Partial + ticks: Partial<{ + line: Partial + text: Partial + }> + }> + labels: Partial<{ + text: Partial + }> + markers: Partial + dots: Partial<{ + text: Partial + }> + tooltip: Partial + annotations: Partial<{ + text: Partial + link: Partial + outline: Partial + symbol: Partial + }> +}> + +/** + * Required properties without inheritance. + * + * The theme supports defining styles at the top level + * (for text for example), which are then used to populate + * similar nested properties. + * + * For example `text` will be merged with `axis.ticks.text`, + * we use this approach so that it's simpler to define global styles. + */ +export type ThemeWithoutInheritance = { + background: Theme['background'] + text: Theme['text'] + axis: { + domain: { + line: Theme['axis']['domain']['line'] + } + ticks: { + line: Theme['axis']['ticks']['line'] + text: Partial + } + legend: { + text: Partial + } + } + grid: { + line: Theme['grid']['line'] + } + crosshair: { + line: Theme['crosshair']['line'] + } + legends: { + hidden: { + symbol: Theme['legends']['hidden']['symbol'] + text: Partial + } + title: { + text: Partial + } + text: Partial + ticks: { + line: Theme['legends']['ticks']['line'] + text: Partial + } + } + labels: { + text: Partial + } + markers: { + lineColor: Theme['markers']['lineColor'] + lineStrokeWidth: Theme['markers']['lineStrokeWidth'] + text: Partial + } + dots: { + text: Partial + } + tooltip: Theme['tooltip'] + annotations: { + text: Partial + link: Theme['annotations']['link'] + outline: Theme['annotations']['outline'] + symbol: Theme['annotations']['symbol'] + } +} diff --git a/packages/theming/tsconfig.json b/packages/theming/tsconfig.json new file mode 100644 index 0000000000..569f591b4d --- /dev/null +++ b/packages/theming/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.types.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "./dist/types", + "rootDir": "./src" + }, + "include": ["src/**/*"] +} \ No newline at end of file diff --git a/packages/tooltip/package.json b/packages/tooltip/package.json index 386d2017d6..ad8b96a8a3 100644 --- a/packages/tooltip/package.json +++ b/packages/tooltip/package.json @@ -22,6 +22,7 @@ ], "dependencies": { "@nivo/core": "workspace:*", + "@nivo/theming": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2" }, "publishConfig": { diff --git a/packages/tooltip/src/BasicTooltip.tsx b/packages/tooltip/src/BasicTooltip.tsx index 8ed46085a8..d4db0f10db 100644 --- a/packages/tooltip/src/BasicTooltip.tsx +++ b/packages/tooltip/src/BasicTooltip.tsx @@ -1,5 +1,6 @@ import { memo, ReactNode } from 'react' -import { useTheme, ValueFormat, useValueFormatter } from '@nivo/core' +import { ValueFormat, useValueFormatter } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { Chip } from './Chip' export interface BasicTooltipProps { diff --git a/packages/tooltip/src/CrosshairLine.tsx b/packages/tooltip/src/CrosshairLine.tsx index eb2e03ba29..241950c401 100644 --- a/packages/tooltip/src/CrosshairLine.tsx +++ b/packages/tooltip/src/CrosshairLine.tsx @@ -1,6 +1,7 @@ import { CSSProperties, memo, useMemo } from 'react' import { useSpring, animated } from '@react-spring/web' -import { useTheme, useMotionConfig } from '@nivo/core' +import { useMotionConfig } from '@nivo/core' +import { useTheme } from '@nivo/theming' interface CrosshairLineProps { x0: number diff --git a/packages/tooltip/src/TableTooltip.tsx b/packages/tooltip/src/TableTooltip.tsx index 849c37f59d..11c86ceb77 100644 --- a/packages/tooltip/src/TableTooltip.tsx +++ b/packages/tooltip/src/TableTooltip.tsx @@ -1,5 +1,5 @@ import { CSSProperties, memo, ReactNode } from 'react' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' const tableStyle = { width: '100%', diff --git a/packages/tooltip/src/TooltipWrapper.tsx b/packages/tooltip/src/TooltipWrapper.tsx index 732b433b09..937c0a7134 100644 --- a/packages/tooltip/src/TooltipWrapper.tsx +++ b/packages/tooltip/src/TooltipWrapper.tsx @@ -1,11 +1,11 @@ import { memo, useRef, PropsWithChildren, CSSProperties } from 'react' import { useSpring, animated } from '@react-spring/web' import { - useTheme, useMotionConfig, // @ts-ignore useMeasure, } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { TooltipStateContextDataVisible } from './context' const TOOLTIP_OFFSET = 14 @@ -76,9 +76,12 @@ export const TooltipWrapper = memo>( immediate: !animate || immediate, }) + const { basic, chip, container, table, tableCell, tableCellValue, ...defaultStyle } = + theme.tooltip + const style = { ...tooltipStyle, - ...theme.tooltip, + ...defaultStyle, transform: animatedProps.transform ?? translate(x, y), } diff --git a/packages/treemap/package.json b/packages/treemap/package.json index 72c38e63a7..72fe112977 100644 --- a/packages/treemap/package.json +++ b/packages/treemap/package.json @@ -31,6 +31,8 @@ "dependencies": { "@nivo/colors": "workspace:*", "@nivo/core": "workspace:*", + "@nivo/text": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-hierarchy": "^1.1.8", diff --git a/packages/treemap/src/TreeMapCanvas.tsx b/packages/treemap/src/TreeMapCanvas.tsx index 0d9f1f2107..9052dc2449 100644 --- a/packages/treemap/src/TreeMapCanvas.tsx +++ b/packages/treemap/src/TreeMapCanvas.tsx @@ -5,10 +5,11 @@ import { isCursorInRect, Container, useDimensions, - useTheme, Margin, } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useTooltip } from '@nivo/tooltip' +import { setCanvasFont, drawCanvasText } from '@nivo/text' import { useTreeMap } from './hooks' import { ComputedNode, DefaultTreeMapDatum, TreeMapCanvasProps, TreeMapCommonProps } from './types' import { canvasDefaultProps } from './defaults' @@ -120,7 +121,7 @@ const InnerTreeMapCanvas = ({ if (enableLabel) { ctx.textAlign = 'center' ctx.textBaseline = 'middle' - ctx.font = `${theme.labels.text.fontSize}px ${theme.labels.text.fontFamily}` + setCanvasFont(ctx, theme.labels.text) nodes.forEach(node => { const showLabel = @@ -135,8 +136,14 @@ const InnerTreeMapCanvas = ({ ctx.translate(node.x + node.width / 2, node.y + node.height / 2) ctx.rotate(degreesToRadians(rotate ? -90 : 0)) - ctx.fillStyle = node.labelTextColor - ctx.fillText(`${node.label}`, 0, 0) + drawCanvasText( + ctx, + { + ...theme.labels.text, + fill: node.labelTextColor, + }, + String(node.label) + ) ctx.restore() }) diff --git a/packages/treemap/src/TreeMapHtmlNode.tsx b/packages/treemap/src/TreeMapHtmlNode.tsx index 32918c1d79..ab4a74ded7 100644 --- a/packages/treemap/src/TreeMapHtmlNode.tsx +++ b/packages/treemap/src/TreeMapHtmlNode.tsx @@ -1,6 +1,6 @@ import { memo } from 'react' import { animated } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { NodeProps } from './types' import { htmlNodeTransform, htmlLabelTransform, htmlParentLabelTransform } from './transitions' diff --git a/packages/treemap/src/TreeMapNode.tsx b/packages/treemap/src/TreeMapNode.tsx index 37d099aeff..38cb34b6cc 100644 --- a/packages/treemap/src/TreeMapNode.tsx +++ b/packages/treemap/src/TreeMapNode.tsx @@ -1,6 +1,7 @@ import { memo } from 'react' import { animated, to } from '@react-spring/web' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' +import { Text } from '@nivo/text' import { NodeProps } from './types' import { svgNodeTransform, svgLabelTransform } from './transitions' @@ -37,7 +38,7 @@ const NonMemoizedTreeMapNode = ({ onClick={node.onClick} /> {showLabel && ( - ({ )} > {node.label} - + )} {showParentLabel && ( - ({ )} > {node.parentLabel} - + )} ) diff --git a/packages/treemap/src/hooks.ts b/packages/treemap/src/hooks.ts index 6f43605b7f..57c2180b77 100644 --- a/packages/treemap/src/hooks.ts +++ b/packages/treemap/src/hooks.ts @@ -8,7 +8,8 @@ import { HierarchyNode, HierarchyRectangularNode, } from 'd3-hierarchy' -import { useTheme, useValueFormatter, PropertyAccessor, usePropertyAccessor } from '@nivo/core' +import { useValueFormatter, PropertyAccessor, usePropertyAccessor } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useOrdinalColorScale, useInheritedColor } from '@nivo/colors' import { useTooltip } from '@nivo/tooltip' import { commonDefaultProps } from './defaults' diff --git a/packages/treemap/src/types.ts b/packages/treemap/src/types.ts index 49491502ab..b8ffe9b175 100644 --- a/packages/treemap/src/types.ts +++ b/packages/treemap/src/types.ts @@ -3,12 +3,12 @@ import { SpringValues } from '@react-spring/web' import { Box, Dimensions, - Theme, ValueFormat, PropertyAccessor, MotionProps, SvgDefsAndFill, } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig, DatumIdentityAccessor } from '@nivo/colors' import { TileType } from './tiling' @@ -145,7 +145,7 @@ export type TreeMapCommonProps = { } > - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig> colorBy: string | DatumIdentityAccessor> nodeOpacity: number diff --git a/packages/voronoi/package.json b/packages/voronoi/package.json index 7226e5bbc2..bd51fe471f 100644 --- a/packages/voronoi/package.json +++ b/packages/voronoi/package.json @@ -30,10 +30,11 @@ ], "dependencies": { "@nivo/core": "workspace:*", + "@nivo/theming": "workspace:*", "@types/d3-delaunay": "^5.3.0", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "d3-delaunay": "^5.3.0", - "d3-scale": "^3.2.3" + "d3-scale": "^4.0.2" }, "peerDependencies": { "react": ">= 16.14.0 < 19.0.0" diff --git a/packages/voronoi/src/types.ts b/packages/voronoi/src/types.ts index 8f2f181ae0..5844b13187 100644 --- a/packages/voronoi/src/types.ts +++ b/packages/voronoi/src/types.ts @@ -1,5 +1,6 @@ import * as React from 'react' -import { Theme, Box } from '@nivo/core' +import { Box } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { Delaunay, Voronoi } from 'd3-delaunay' export type VoronoiDatum = { @@ -34,7 +35,7 @@ export type VoronoiCommonProps = { xDomain: VoronoiDomain yDomain: VoronoiDomain layers: VoronoiLayer[] - theme?: Theme + theme?: PartialTheme enableLinks: boolean linkLineWidth: number linkLineColor: string diff --git a/packages/waffle/package.json b/packages/waffle/package.json index 1b91fc24b4..c7f113a6c9 100644 --- a/packages/waffle/package.json +++ b/packages/waffle/package.json @@ -35,6 +35,7 @@ "@nivo/core": "workspace:*", "@nivo/grid": "workspace:*", "@nivo/legends": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-shape": "^2.0.0", diff --git a/packages/waffle/src/WaffleCanvas.tsx b/packages/waffle/src/WaffleCanvas.tsx index 7438fbc2bf..d7ed14ad6b 100644 --- a/packages/waffle/src/WaffleCanvas.tsx +++ b/packages/waffle/src/WaffleCanvas.tsx @@ -1,12 +1,6 @@ import { createElement, MouseEvent, useCallback, useEffect, useRef } from 'react' -import { - isCursorInRect, - getRelativeCursor, - Container, - useDimensions, - useTheme, - Margin, -} from '@nivo/core' +import { isCursorInRect, getRelativeCursor, Container, useDimensions, Margin } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { roundedRect } from '@nivo/canvas' import { OrdinalColorScaleConfig } from '@nivo/colors' import { useTooltip } from '@nivo/tooltip' diff --git a/packages/waffle/src/hooks.ts b/packages/waffle/src/hooks.ts index 0c72b46070..c252ff1fb9 100644 --- a/packages/waffle/src/hooks.ts +++ b/packages/waffle/src/hooks.ts @@ -3,11 +3,11 @@ import { useTransition } from '@react-spring/web' import { line as d3Line, curveLinearClosed } from 'd3-shape' import { useMotionConfig, - useTheme, useValueFormatter, // @ts-ignore bindDefs, } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { useTooltip } from '@nivo/tooltip' import { OrdinalColorScaleConfig, useInheritedColor, useOrdinalColorScale } from '@nivo/colors' import { generateGrid, GridCell, GridFillDirection, Vertex, getCellsPolygons } from '@nivo/grid' diff --git a/packages/waffle/src/types.ts b/packages/waffle/src/types.ts index 3b7aeb36a5..edcc021731 100644 --- a/packages/waffle/src/types.ts +++ b/packages/waffle/src/types.ts @@ -1,6 +1,7 @@ import { AriaAttributes, FunctionComponent, MouseEvent } from 'react' import { SpringValues } from '@react-spring/web' -import { Box, Dimensions, Theme, SvgDefsAndFill, MotionProps, ValueFormat } from '@nivo/core' +import { Box, Dimensions, SvgDefsAndFill, MotionProps, ValueFormat } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { InheritedColorConfig, OrdinalColorScaleConfig } from '@nivo/colors' import { LegendProps } from '@nivo/legends' import { Vertex, GridCell, GridFillDirection } from '@nivo/grid' @@ -101,7 +102,7 @@ export interface CommonProps extends MotionProps { valueFormat?: ValueFormat fillDirection: GridFillDirection padding: number - theme: Theme + theme: PartialTheme colors: OrdinalColorScaleConfig emptyColor: string emptyOpacity: number diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d0508f32dd..2707b62beb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,44 +12,44 @@ importers: .: devDependencies: '@babel/core': - specifier: ^7.21.5 - version: 7.21.5 + specifier: ^7.21.8 + version: 7.21.8 '@ekino/config': specifier: ^0.3.0 version: 0.3.0 '@rollup/plugin-babel': specifier: ^6.0.3 - version: 6.0.3(@babel/core@7.21.5)(rollup@3.21.0) + version: 6.0.3(@babel/core@7.21.8)(rollup@3.21.6) '@rollup/plugin-node-resolve': specifier: ^15.0.2 - version: 15.0.2(rollup@3.21.0) + version: 15.0.2(rollup@3.21.6) '@rollup/plugin-terser': specifier: ^0.4.1 - version: 0.4.1(rollup@3.21.0) + version: 0.4.1(rollup@3.21.6) '@types/enzyme': - specifier: ^3.10.10 - version: 3.10.10 + specifier: ^3.10.13 + version: 3.10.13 '@types/jest': - specifier: ^27.0.3 - version: 27.0.3 + specifier: ^27.5.2 + version: 27.5.2 '@types/lodash': - specifier: ^4.14.170 - version: 4.14.182 + specifier: ^4.14.194 + version: 4.14.194 '@types/react': specifier: ^18.2.0 - version: 18.2.0 + version: 18.2.6 '@types/react-dom': specifier: ^18.2.0 - version: 18.2.0 + version: 18.2.4 '@types/react-test-renderer': specifier: ^18.0.0 version: 18.0.0 '@typescript-eslint/eslint-plugin': - specifier: ^5.59.1 - version: 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5) + specifier: ^5.59.5 + version: 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5) '@typescript-eslint/parser': - specifier: ^5.59.1 - version: 5.59.1(eslint@8.39.0)(typescript@4.9.5) + specifier: ^5.59.5 + version: 5.59.5(eslint@8.40.0)(typescript@4.9.5) '@wojtekmaj/enzyme-adapter-react-17': specifier: 0.6.6 version: 0.6.6(enzyme@3.11.0)(react-dom@18.2.0)(react@18.2.0) @@ -58,10 +58,10 @@ importers: version: 1.0.1 babel-jest: specifier: ^29.5.0 - version: 29.5.0(@babel/core@7.21.5) + version: 29.5.0(@babel/core@7.21.8) babel-loader: - specifier: ^8.2.3 - version: 8.2.3(@babel/core@7.21.5)(webpack@5.81.0) + specifier: ^8.3.0 + version: 8.3.0(@babel/core@7.21.8)(webpack@5.82.1) chalk: specifier: ^5.2.0 version: 5.2.0 @@ -69,35 +69,35 @@ importers: specifier: ^1.0.0 version: 1.0.0 cypress: - specifier: ^12.11.0 - version: 12.11.0 + specifier: ^12.12.0 + version: 12.12.0 enzyme: specifier: ^3.11.0 version: 3.11.0 eslint: - specifier: ^8.39.0 - version: 8.39.0 + specifier: ^8.40.0 + version: 8.40.0 eslint-config-prettier: specifier: ^8.8.0 - version: 8.8.0(eslint@8.39.0) + version: 8.8.0(eslint@8.40.0) eslint-config-react-app: specifier: ^7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0)(jest@29.5.0)(typescript@4.9.5) + version: 7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0)(jest@29.5.0)(typescript@4.9.5) eslint-plugin-import: - specifier: ^2.25.3 - version: 2.25.3(@typescript-eslint/parser@5.59.1)(eslint@8.39.0) + specifier: ^2.27.5 + version: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0) eslint-plugin-jsx-a11y: - specifier: ^6.5.1 - version: 6.5.1(eslint@8.39.0) + specifier: ^6.7.1 + version: 6.7.1(eslint@8.40.0) eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.39.0)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.40.0)(prettier@2.8.8) eslint-plugin-react: specifier: ^7.32.2 - version: 7.32.2(eslint@8.39.0) + version: 7.32.2(eslint@8.40.0) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.39.0) + version: 4.6.0(eslint@8.40.0) gh-pages: specifier: ^5.0.0 version: 5.0.0 @@ -111,8 +111,8 @@ importers: specifier: ^22.0.0 version: 22.0.0 lerna: - specifier: ^6.6.1 - version: 6.6.1 + specifier: ^6.6.2 + version: 6.6.2 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -120,7 +120,7 @@ importers: specifier: ^2.8.8 version: 2.8.8 prop-types: - specifier: ^15.7.2 + specifier: ^15.8.1 version: 15.8.1 puppeteer: specifier: ^19.11.1 @@ -141,23 +141,23 @@ importers: specifier: ^1.5.1 version: 1.5.1 rollup: - specifier: ^3.21.0 - version: 3.21.0 + specifier: ^3.21.6 + version: 3.21.6 rollup-plugin-cleanup: specifier: ^3.2.1 - version: 3.2.1(rollup@3.21.0) + version: 3.2.1(rollup@3.21.6) rollup-plugin-size: specifier: ^0.3.1 version: 0.3.1 rollup-plugin-strip-banner: specifier: ^3.0.0 - version: 3.0.0(rollup@3.21.0) + version: 3.0.0(rollup@3.21.6) rollup-plugin-visualizer: - specifier: ^5.5.2 - version: 5.5.2(rollup@3.21.0) + specifier: ^5.9.0 + version: 5.9.0(rollup@3.21.6) serve: - specifier: ^13.0.2 - version: 13.0.2 + specifier: ^13.0.4 + version: 13.0.4 typescript: specifier: ^4.9.5 version: 4.9.5 @@ -324,7 +324,7 @@ importers: version: 18.2.0(react@18.2.0) react-scripts: specifier: ^5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0)(react@18.2.0)(typescript@4.9.5) + version: 5.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0)(react@18.2.0)(typescript@4.9.5) typescript: specifier: ^4.9.5 version: 4.9.5 @@ -337,6 +337,9 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@react-spring/web': specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) @@ -361,6 +364,12 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@react-spring/web': specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) @@ -382,6 +391,12 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@react-spring/web': specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) @@ -415,6 +430,9 @@ importers: '@nivo/axes': specifier: workspace:* version: link:../axes + '@nivo/canvas': + specifier: workspace:* + version: link:../canvas '@nivo/colors': specifier: workspace:* version: link:../colors @@ -427,6 +445,12 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -434,14 +458,14 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -472,6 +496,9 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -479,14 +506,14 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -514,6 +541,12 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -541,6 +574,12 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -548,14 +587,14 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -571,12 +610,18 @@ importers: '@nivo/legends': specifier: workspace:* version: link:../legends + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-time': specifier: ^1.0.10 version: 1.1.1 @@ -584,8 +629,8 @@ importers: specifier: ^3.0.0 version: 3.0.1 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-time: specifier: ^1.0.10 version: 1.1.0 @@ -615,6 +660,12 @@ importers: '@nivo/legends': specifier: workspace:* version: link:../legends + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -645,6 +696,9 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -666,15 +720,15 @@ importers: packages/colors: dependencies: - '@nivo/core': + '@nivo/theming': specifier: workspace:* - version: link:../core + version: link:../theming '@types/d3-color': specifier: ^2.0.0 version: 2.0.3 '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-scale-chromatic': specifier: ^2.0.0 version: 2.0.1 @@ -685,11 +739,11 @@ importers: specifier: ^3.1.0 version: 3.1.0 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-scale-chromatic: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^3.0.0 + version: 3.0.0 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -705,6 +759,9 @@ importers: '@nivo/recompose': specifier: workspace:* version: link:../recompose + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -721,14 +778,14 @@ importers: specifier: ^1.4.4 version: 1.4.5 d3-interpolate: - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^3.0.1 + version: 3.0.1 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-scale-chromatic: - specifier: ^2.0.0 - version: 2.0.0 + specifier: ^3.0.0 + version: 3.0.0 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -786,6 +843,12 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -793,14 +856,14 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -843,6 +906,9 @@ importers: '@nivo/legends': specifier: workspace:* version: link:../legends + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -884,6 +950,12 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -891,11 +963,11 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 react: specifier: '>= 16.14.0 < 19.0.0' version: 18.2.0 @@ -908,15 +980,21 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/prop-types': specifier: ^15.7.2 version: 15.7.4 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 prop-types: specifier: ^15.7.2 version: 15.8.1 @@ -944,6 +1022,9 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -980,6 +1061,9 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1010,6 +1094,9 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1043,6 +1130,9 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1050,14 +1140,14 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -1079,6 +1169,9 @@ importers: '@nivo/legends': specifier: workspace:* version: link:../legends + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1103,6 +1196,12 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@react-spring/web': specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) @@ -1121,6 +1220,12 @@ importers: '@nivo/legends': specifier: workspace:* version: link:../legends + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1128,14 +1233,14 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -1163,6 +1268,9 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1170,14 +1278,14 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -1214,6 +1322,12 @@ importers: '@nivo/legends': specifier: workspace:* version: link:../legends + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1242,8 +1356,8 @@ importers: packages/scales: dependencies: '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-time': specifier: ^1.1.1 version: 1.1.1 @@ -1251,8 +1365,8 @@ importers: specifier: ^3.0.0 version: 3.0.1 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-time: specifier: ^1.0.11 version: 1.1.0 @@ -1283,6 +1397,9 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1293,14 +1410,14 @@ importers: specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -1391,6 +1508,9 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1418,6 +1538,9 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1454,6 +1577,9 @@ importers: '@nivo/scales': specifier: workspace:* version: link:../scales + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1467,14 +1593,14 @@ importers: specifier: ^2.1.0 version: 2.1.4 '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 d3-force: specifier: ^2.0.1 version: 2.1.1 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -1482,11 +1608,32 @@ importers: specifier: '>= 16.14.0 < 19.0.0' version: 18.2.0 + packages/text: + dependencies: + '@nivo/theming': + specifier: workspace:* + version: link:../theming + '@react-spring/web': + specifier: 9.4.5 || ^9.7.2 + version: 9.7.2(react-dom@18.2.0)(react@18.2.0) + react: + specifier: '>= 16.14.0 < 19.0.0' + version: 18.2.0 + + packages/theming: + dependencies: + react: + specifier: '>= 16.14.0 < 19.0.0' + version: 18.2.0 + packages/tooltip: dependencies: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@react-spring/web': specifier: 9.4.5 || ^9.7.2 version: 9.7.2(react-dom@18.2.0)(react@18.2.0) @@ -1499,6 +1646,12 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/text': + specifier: workspace:* + version: link:../text + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1523,18 +1676,21 @@ importers: '@nivo/core': specifier: workspace:* version: link:../core + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@types/d3-delaunay': specifier: ^5.3.0 version: 5.3.1 '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 d3-delaunay: specifier: ^5.3.0 version: 5.3.0 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 react: specifier: '>= 16.14.0 < 19.0.0' version: 18.2.0 @@ -1556,6 +1712,9 @@ importers: '@nivo/legends': specifier: workspace:* version: link:../legends + '@nivo/theming': + specifier: workspace:* + version: link:../theming '@nivo/tooltip': specifier: workspace:* version: link:../tooltip @@ -1576,13 +1735,13 @@ importers: devDependencies: '@babel/preset-env': specifier: ^7.21.5 - version: 7.21.5(@babel/core@7.21.5) + version: 7.21.5(@babel/core@7.21.8) '@babel/preset-react': specifier: ^7.18.6 - version: 7.18.6(@babel/core@7.21.5) + version: 7.18.6(@babel/core@7.21.8) '@babel/preset-typescript': specifier: ^7.21.5 - version: 7.21.5(@babel/core@7.21.5) + version: 7.21.5(@babel/core@7.21.8) '@nivo/axes': specifier: workspace:* version: link:../packages/axes @@ -1658,6 +1817,9 @@ importers: '@nivo/swarmplot': specifier: workspace:* version: link:../packages/swarmplot + '@nivo/theming': + specifier: workspace:* + version: link:../packages/theming '@nivo/tooltip': specifier: workspace:* version: link:../packages/tooltip @@ -1690,7 +1852,7 @@ importers: version: 7.0.7(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) '@storybook/react-webpack5': specifier: ^7.0.7 - version: 7.0.7(@babel/core@7.21.5)(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) + version: 7.0.7(@babel/core@7.21.8)(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) '@storybook/testing-library': specifier: ^0.0.14-next.2 version: 0.0.14-next.2 @@ -1701,8 +1863,8 @@ importers: specifier: ^0.11.2 version: 0.11.2 '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 @@ -1713,8 +1875,8 @@ importers: specifier: ^0.12.3 version: 0.12.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -1823,6 +1985,9 @@ importers: '@nivo/swarmplot': specifier: workspace:* version: link:../packages/swarmplot + '@nivo/theming': + specifier: workspace:* + version: link:../packages/theming '@nivo/treemap': specifier: workspace:* version: link:../packages/treemap @@ -1842,8 +2007,8 @@ importers: specifier: ^0.11.2 version: 0.11.2 '@types/d3-scale': - specifier: ^3.2.3 - version: 3.3.2 + specifier: ^4.0.2 + version: 4.0.2 '@types/d3-shape': specifier: ^2.0.0 version: 2.1.3 @@ -1863,8 +2028,8 @@ importers: specifier: ^0.12.3 version: 0.12.3 d3-scale: - specifier: ^3.2.3 - version: 3.3.0 + specifier: ^4.0.2 + version: 4.0.2 d3-shape: specifier: ^1.3.5 version: 1.3.7 @@ -1879,7 +2044,7 @@ importers: version: 3.11.0 gatsby-plugin-image: specifier: ^3.9.0 - version: 3.9.0(@babel/core@7.21.5)(gatsby-plugin-sharp@5.9.0)(gatsby-source-filesystem@5.9.0)(gatsby@5.9.0)(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0) + version: 3.9.0(@babel/core@7.21.8)(gatsby-plugin-sharp@5.9.0)(gatsby-source-filesystem@5.9.0)(gatsby@5.9.0)(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0) gatsby-plugin-manifest: specifier: ^5.9.0 version: 5.9.0(gatsby@5.9.0)(graphql@16.6.0) @@ -1921,10 +2086,10 @@ importers: version: 4.3.1(react@18.2.0) react-markdown: specifier: ^8.0.7 - version: 8.0.7(@types/react@18.2.0)(react@18.2.0) + version: 8.0.7(@types/react@18.2.6)(react@18.2.0) react-select: specifier: ^4.3.1 - version: 4.3.1(@babel/core@7.21.5)(@types/react@18.2.0)(react-dom@18.2.0)(react@18.2.0) + version: 4.3.1(@babel/core@7.21.8)(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0) styled-components: specifier: ^5.3.10 version: 5.3.10(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) @@ -1961,13 +2126,13 @@ packages: peerDependencies: graphql: '*' dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/generator': 7.21.5 - '@babel/parser': 7.21.5 + '@babel/parser': 7.21.8 '@babel/runtime': 7.21.5 '@babel/traverse': 7.21.5(supports-color@5.5.0) '@babel/types': 7.21.5 - babel-preset-fbjs: 3.4.0(@babel/core@7.21.5) + babel-preset-fbjs: 3.4.0(@babel/core@7.21.8) chalk: 4.1.2 fb-watchman: 2.0.1 fbjs: 3.0.4 @@ -2007,17 +2172,21 @@ packages: resolution: {integrity: sha512-M+XAiQ7GzQ3FDPf0KOLkugzptnIypt0X0ma0wmlTKPR3IchgNFdx2JXxZdvd18JY5s7QkaFD/qyX0dsMpog/Ug==} engines: {node: '>=6.9.0'} - /@babel/core@7.21.5: - resolution: {integrity: sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g==} + /@babel/compat-data@7.21.7: + resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.21.8: + resolution: {integrity: sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.21.4 '@babel/generator': 7.21.5 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.5) + '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) '@babel/helper-module-transforms': 7.21.5 '@babel/helpers': 7.21.5 - '@babel/parser': 7.21.5 + '@babel/parser': 7.21.8 '@babel/template': 7.20.7 '@babel/traverse': 7.21.5(supports-color@5.5.0) '@babel/types': 7.21.5 @@ -2029,33 +2198,33 @@ packages: transitivePeerDependencies: - supports-color - /@babel/eslint-parser@7.16.5(@babel/core@7.21.5)(eslint@8.39.0): - resolution: {integrity: sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==} + /@babel/eslint-parser@7.21.3(@babel/core@7.21.8)(eslint@7.32.0): + resolution: {integrity: sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': '>=7.11.0' eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.21.5 - eslint: 8.39.0 - eslint-scope: 5.1.1 + '@babel/core': 7.21.8 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 7.32.0 eslint-visitor-keys: 2.1.0 semver: 6.3.0 - dev: true + dev: false - /@babel/eslint-parser@7.21.3(@babel/core@7.21.5)(eslint@7.32.0): - resolution: {integrity: sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==} + /@babel/eslint-parser@7.21.8(@babel/core@7.21.8)(eslint@8.40.0): + resolution: {integrity: sha512-HLhI+2q+BP3sf78mFUZNCGc10KEmoUqtUT1OCdMZsN+qr4qFeLUod62/zAnF3jNQstwyasDkZnVXwfK2Bml7MQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': '>=7.11.0' eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 7.32.0 + eslint: 8.40.0 eslint-visitor-keys: 2.1.0 semver: 6.3.0 - dev: false + dev: true /@babel/generator@7.21.5: resolution: {integrity: sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==} @@ -2078,26 +2247,26 @@ packages: dependencies: '@babel/types': 7.21.5 - /@babel/helper-compilation-targets@7.21.5(@babel/core@7.21.5): + /@babel/helper-compilation-targets@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.5 - '@babel/core': 7.21.5 + '@babel/compat-data': 7.21.7 + '@babel/core': 7.21.8 '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 - /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.21.5): + /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.21.8): resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-function-name': 7.21.0 @@ -2109,24 +2278,44 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-create-regexp-features-plugin@7.21.5(@babel/core@7.21.5): + /@babel/helper-create-class-features-plugin@7.21.8(@babel/core@7.21.8): + resolution: {integrity: sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.8 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.21.5 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.21.5 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.21.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-1+DPMcln46eNAta/rPIqQYXYRGvQ/LRy6bRKnSt9Dzt/yLjNUbbsh+6yzD6fUHmtzc9kWvVnAhtcMSMyziHmUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.3.2 semver: 6.3.0 - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.5): + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.8): resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 debug: 4.3.4(supports-color@5.5.0) lodash.debounce: 4.0.8 @@ -2158,6 +2347,13 @@ packages: dependencies: '@babel/types': 7.21.5 + /@babel/helper-member-expression-to-functions@7.21.5: + resolution: {integrity: sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.5 + dev: true + /@babel/helper-module-imports@7.21.4: resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} engines: {node: '>=6.9.0'} @@ -2189,13 +2385,13 @@ packages: resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.5): + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.8): resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-wrap-function': 7.20.5 @@ -2216,6 +2412,20 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helper-replace-supers@7.21.5: + resolution: {integrity: sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.21.5 + '@babel/helper-member-expression-to-functions': 7.21.5 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.5(supports-color@5.5.0) + '@babel/types': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-simple-access@7.21.5: resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} engines: {node: '>=6.9.0'} @@ -2282,436 +2492,445 @@ packages: dependencies: '@babel/types': 7.21.5 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.5): + /@babel/parser@7.21.8: + resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.21.5 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.5): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.8): resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.5) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.5): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.8): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.5) + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.5): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.5): + /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.8): resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.8) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-decorators@7.16.5(@babel/core@7.21.5): - resolution: {integrity: sha512-XAiZll5oCdp2Dd2RbXA3LVPlFyIRhhcQy+G34p9ePpl6mjFkbqHAYHovyw2j5mqUrlBf0/+MtOIJ3JGYtz8qaw==} + /@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.21.8): + resolution: {integrity: sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-decorators': 7.16.5(@babel/core@7.21.5) + '@babel/helper-replace-supers': 7.21.5 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/plugin-syntax-decorators': 7.21.0(@babel/core@7.21.8) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.5): + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.8) - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.5): + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.8): resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.8) - /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.5): + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8) - /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.5): + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.8): resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8) - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.5): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.5): + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8) - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.5): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.8): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.5 - '@babel/core': 7.21.5 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8) - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.5): + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8) - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.5): + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.8): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.5): + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.5): + /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.8): resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.5) + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.8) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.5): + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-create-regexp-features-plugin': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-create-regexp-features-plugin': 7.21.5(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.5): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.8): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.5): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.5): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.8): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.5): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.8): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-decorators@7.16.5(@babel/core@7.21.5): - resolution: {integrity: sha512-3CbYTXfflvyy8O819uhZcZSMedZG4J8yS/NLTc/8T24M9ke1GssTGvg8VZu3Yn2LU5IyQSv1CmPq0a9JWHXJwg==} + /@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.21.8): + resolution: {integrity: sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.5): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.5): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-flow@7.21.4(@babel/core@7.21.5): + /@babel/plugin-syntax-flow@7.21.4(@babel/core@7.21.8): resolution: {integrity: sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.5): + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.8): resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.5): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.8): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.5): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.5): + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.8): resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.5): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.8): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.5): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.5): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.8): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.5): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.5): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.5): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.8): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.5): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.8): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.5): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.8): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.5): + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.8): resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-arrow-functions@7.21.5(@babel/core@7.21.5): + /@babel/plugin-transform-arrow-functions@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.5): + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.8): resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-module-imports': 7.21.4 '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.5) + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.8) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.5): + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.8): resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.5): + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.8): resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.5) + '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) '@babel/helper-environment-visitor': 7.21.5 '@babel/helper-function-name': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 @@ -2722,134 +2941,134 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-computed-properties@7.21.5(@babel/core@7.21.5): + /@babel/plugin-transform-computed-properties@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/template': 7.20.7 - /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.5): + /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.8): resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-create-regexp-features-plugin': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-create-regexp-features-plugin': 7.21.5(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.5): + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.8): resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-builder-binary-assignment-operator-visitor': 7.21.5 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.21.5): + /@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.21.8): resolution: {integrity: sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.5) + '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.8) - /@babel/plugin-transform-for-of@7.21.5(@babel/core@7.21.5): + /@babel/plugin-transform-for-of@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.5): + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.8): resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) '@babel/helper-function-name': 7.21.0 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.5): + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.8): resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.5): + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.8): resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-module-transforms': 7.21.5 '@babel/helper-plugin-utils': 7.21.5 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.21.5): + /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-module-transforms': 7.21.5 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-simple-access': 7.21.5 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.5): + /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.8): resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-module-transforms': 7.21.5 '@babel/helper-plugin-utils': 7.21.5 @@ -2857,396 +3076,402 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-module-transforms': 7.21.5 '@babel/helper-plugin-utils': 7.21.5 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.5): + /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.8): resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-create-regexp-features-plugin': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-create-regexp-features-plugin': 7.21.5(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.5): + /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.8): resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-react-constant-elements@7.21.3(@babel/core@7.21.5): + /@babel/plugin-transform-react-constant-elements@7.21.3(@babel/core@7.21.8): resolution: {integrity: sha512-4DVcFeWe/yDYBLp0kBmOGFJ6N2UYg7coGid1gdxb4co62dy/xISDMaYBXBVXEDhfgMk7qkbcYiGtwd5Q/hwDDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 dev: true - /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.8) - /@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.21.5): + /@babel/plugin-transform-react-jsx@7.21.0(@babel/core@7.21.8): resolution: {integrity: sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8) + '@babel/types': 7.21.5 + + /@babel/plugin-transform-react-jsx@7.21.5(@babel/core@7.21.8): + resolution: {integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-module-imports': 7.21.4 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.5) + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8) '@babel/types': 7.21.5 + dev: true - /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-regenerator@7.21.5(@babel/core@7.21.5): + /@babel/plugin-transform-regenerator@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 regenerator-transform: 0.15.1 - /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.5): + /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.8): resolution: {integrity: sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-module-imports': 7.21.4 '@babel/helper-plugin-utils': 7.21.5 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.5) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.5) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.5) + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.8) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.8) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.8) semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.5): + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.8): resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.5): + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.8): resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.5): + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.8): resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.5): + /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.8): resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.5) + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.5) + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.8) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-unicode-escapes@7.21.5(@babel/core@7.21.5): + /@babel/plugin-transform-unicode-escapes@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.5): + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-create-regexp-features-plugin': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-create-regexp-features-plugin': 7.21.5(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 - /@babel/preset-env@7.21.5(@babel/core@7.21.5): + /@babel/preset-env@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.5 - '@babel/core': 7.21.5 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.5) - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.5) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.5) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.5) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.5) - '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.5) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.5) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.5) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.5) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.5) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.5) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-regenerator': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.5) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-transform-unicode-escapes': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.5) - '@babel/preset-modules': 0.1.5(@babel/core@7.21.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.8) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.8) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.8) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.8) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.8) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.8) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.8) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8) + '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.8) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.8) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.8) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.8) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.8) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-regenerator': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.8) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-transform-unicode-escapes': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.8) + '@babel/preset-modules': 0.1.5(@babel/core@7.21.8) '@babel/types': 7.21.5 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.5) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.5) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.5) + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.8) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.8) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.8) core-js-compat: 3.30.1 semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/preset-flow@7.21.4(@babel/core@7.21.5): + /@babel/preset-flow@7.21.4(@babel/core@7.21.8): resolution: {integrity: sha512-F24cSq4DIBmhq4OzK3dE63NHagb27OPE3eWR+HLekt4Z3Y5MzIIUGF3LlLgV0gN8vzbDViSY7HnrReNVCJXTeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.5) + '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.8) dev: true - /@babel/preset-modules@0.1.5(@babel/core@7.21.5): + /@babel/preset-modules@0.1.5(@babel/core@7.21.8): resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.5) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.8) '@babel/types': 7.21.5 esutils: 2.0.3 - /@babel/preset-react@7.18.6(@babel/core@7.21.5): + /@babel/preset-react@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.21.5) + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.21.8) - /@babel/preset-typescript@7.21.5(@babel/core@7.21.5): + /@babel/preset-typescript@7.21.5(@babel/core@7.21.8): resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-plugin-utils': 7.21.5 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.5) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.5) + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.8) transitivePeerDependencies: - supports-color - /@babel/register@7.16.5(@babel/core@7.21.5): + /@babel/register@7.16.5(@babel/core@7.21.8): resolution: {integrity: sha512-NpluD+cToBiZiDsG3y9rtIcqDyivsahpaM9csfyfiq1qQWduSmihUZ+ruIqqSDGjZKZMJfgAElo9x2YWlOQuRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 - pirates: 4.0.4 + pirates: 4.0.5 source-map-support: 0.5.21 dev: true /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - /@babel/runtime-corejs3@7.16.5: - resolution: {integrity: sha512-F1pMwvTiUNSAM8mc45kccMQxj31x3y3P+tA/X8hKNWp3/hUsxdGxZ3D3H8JIkxtfA8qGkaBTKvcmvStaYseAFw==} - engines: {node: '>=6.9.0'} - dependencies: - core-js-pure: 3.30.1 - regenerator-runtime: 0.13.11 - dev: true - /@babel/runtime@7.21.5: resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} engines: {node: '>=6.9.0'} @@ -3258,7 +3483,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.5 + '@babel/parser': 7.21.8 '@babel/types': 7.21.5 /@babel/traverse@7.21.5(supports-color@5.5.0): @@ -3271,7 +3496,7 @@ packages: '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.5 + '@babel/parser': 7.21.8 '@babel/types': 7.21.5 debug: 4.3.4(supports-color@5.5.0) globals: 11.12.0 @@ -3480,7 +3705,7 @@ packages: engines: {node: '>= 6'} dependencies: aws-sign2: 0.7.0 - aws4: 1.11.0 + aws4: 1.12.0 caseless: 0.12.0 combined-stream: 1.0.8 extend: 3.0.2 @@ -3567,7 +3792,7 @@ packages: resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==} dev: false - /@emotion/react@11.7.1(@babel/core@7.21.5)(@types/react@18.2.0)(react@18.2.0): + /@emotion/react@11.7.1(@babel/core@7.21.8)(@types/react@18.2.6)(react@18.2.0): resolution: {integrity: sha512-DV2Xe3yhkF1yT4uAUoJcYL1AmrnO5SVsdfvu+fBuS7IbByDeTVx9+wFmvx9Idzv7/78+9Mgx2Hcmr7Fex3tIyw==} peerDependencies: '@babel/core': ^7.0.0 @@ -3579,14 +3804,14 @@ packages: '@types/react': optional: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/runtime': 7.21.5 '@emotion/cache': 11.7.1 '@emotion/serialize': 1.0.2 '@emotion/sheet': 1.1.0 '@emotion/utils': 1.0.0 '@emotion/weak-memoize': 0.2.5 - '@types/react': 18.2.0 + '@types/react': 18.2.6 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false @@ -3598,7 +3823,7 @@ packages: '@emotion/memoize': 0.7.5 '@emotion/unitless': 0.7.5 '@emotion/utils': 1.0.0 - csstype: 3.0.10 + csstype: 3.1.2 dev: false /@emotion/sheet@1.1.0: @@ -3803,17 +4028,17 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.39.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.40.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.39.0 - eslint-visitor-keys: 3.4.0 + eslint: 8.40.0 + eslint-visitor-keys: 3.4.1 - /@eslint-community/regexpp@4.5.0: - resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + /@eslint-community/regexpp@4.5.1: + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint/eslintrc@0.4.3: @@ -3833,13 +4058,13 @@ packages: - supports-color dev: false - /@eslint/eslintrc@2.0.2: - resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} + /@eslint/eslintrc@2.0.3: + resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@5.5.0) - espree: 9.5.1 + espree: 9.5.2 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -3849,8 +4074,8 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.39.0: - resolution: {integrity: sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==} + /@eslint/js@8.40.0: + resolution: {integrity: sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@fal-works/esbuild-plugin-global-externals@2.1.2: @@ -4007,12 +4232,12 @@ packages: - supports-color dev: false - /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.21.5)(graphql@16.6.0): + /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.21.8)(graphql@16.6.0): resolution: {integrity: sha512-8Wt1rTtyTEs0p47uzsPJ1vAtfAx0jmxPifiNdmo9EOCuUPyQGEbMaik/YkqZ7QUFIEYEQu+Vgfo8tElwOPtx5Q==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.21.5)(graphql@16.6.0) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.21.8)(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0) globby: 11.1.0 graphql: 16.6.0 @@ -4023,13 +4248,13 @@ packages: - supports-color dev: false - /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.21.5)(graphql@16.6.0): + /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.21.8)(graphql@16.6.0): resolution: {integrity: sha512-RW+H8FqOOLQw0BPXaahYepVSRjuOHw+7IL8Opaa5G5uYGOBxoXR7DceyQ7BcpMgktAOOmpDNQ2WtcboChOJSRA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/parser': 7.21.5 - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.5) + '@babel/parser': 7.21.8 + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.8) '@babel/traverse': 7.21.5(supports-color@5.5.0) '@babel/types': 7.21.5 '@graphql-tools/utils': 9.2.1(graphql@16.6.0) @@ -4199,6 +4424,18 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.0.1 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + /@isaacs/string-locale-compare@1.1.0: resolution: {integrity: sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==} dev: true @@ -4224,7 +4461,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 jest-message-util: 27.4.2 jest-util: 27.4.2 @@ -4236,7 +4473,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 jest-message-util: 28.1.3 jest-util: 28.1.3 @@ -4248,7 +4485,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 jest-message-util: 29.5.0 jest-util: 29.5.0 @@ -4269,7 +4506,7 @@ packages: '@jest/test-result': 27.4.2 '@jest/transform': 27.4.5 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -4314,14 +4551,14 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.3.0 + ci-info: 3.8.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.5.0 - jest-config: 29.5.0(@types/node@16.11.16) + jest-config: 29.5.0(@types/node@20.1.3) jest-haste-map: 29.5.0 jest-message-util: 29.5.0 jest-regex-util: 29.4.3 @@ -4348,7 +4585,7 @@ packages: dependencies: '@jest/fake-timers': 27.4.2 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-mock: 27.4.2 dev: true @@ -4358,7 +4595,7 @@ packages: dependencies: '@jest/fake-timers': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-mock: 29.5.0 dev: true @@ -4385,7 +4622,7 @@ packages: dependencies: '@jest/types': 27.4.2 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-message-util: 27.4.2 jest-mock: 27.4.2 jest-util: 27.4.2 @@ -4397,7 +4634,7 @@ packages: dependencies: '@jest/types': 29.5.0 '@sinonjs/fake-timers': 10.0.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-message-util: 29.5.0 jest-mock: 29.5.0 jest-util: 29.5.0 @@ -4438,7 +4675,7 @@ packages: '@jest/test-result': 27.4.2 '@jest/transform': 27.4.5 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -4477,14 +4714,14 @@ packages: '@jest/transform': 29.5.0 '@jest/types': 29.5.0 '@jridgewell/trace-mapping': 0.3.18 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 5.1.0 + istanbul-lib-instrument: 5.2.1 istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.5 @@ -4537,7 +4774,7 @@ packages: dependencies: '@jest/console': 27.4.2 '@jest/types': 27.4.2 - '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 dev: true @@ -4547,7 +4784,7 @@ packages: dependencies: '@jest/console': 28.1.3 '@jest/types': 28.1.3 - '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 dev: true @@ -4557,7 +4794,7 @@ packages: dependencies: '@jest/console': 29.5.0 '@jest/types': 29.5.0 - '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-lib-coverage': 2.0.4 collect-v8-coverage: 1.0.1 dev: true @@ -4587,7 +4824,7 @@ packages: resolution: {integrity: sha512-PuMet2UlZtlGzwc6L+aZmR3I7CEBpqadO03pU40l2RNY2fFJ191b9/ITB44LNOhVtsyykx0OZvj0PCyuLm7Eew==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@jest/types': 27.4.2 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -4598,7 +4835,7 @@ packages: jest-regex-util: 27.4.0 jest-util: 27.4.2 micromatch: 4.0.5 - pirates: 4.0.4 + pirates: 4.0.5 slash: 3.0.0 source-map: 0.6.1 write-file-atomic: 3.0.3 @@ -4610,7 +4847,7 @@ packages: resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@jest/types': 29.5.0 '@jridgewell/trace-mapping': 0.3.18 babel-plugin-istanbul: 6.1.1 @@ -4622,7 +4859,7 @@ packages: jest-regex-util: 29.4.3 jest-util: 29.5.0 micromatch: 4.0.5 - pirates: 4.0.4 + pirates: 4.0.5 slash: 3.0.0 write-file-atomic: 4.0.2 transitivePeerDependencies: @@ -4645,9 +4882,9 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/schemas': 28.1.3 - '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.16 + '@types/node': 20.1.3 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -4657,9 +4894,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.4.3 - '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.16 + '@types/node': 20.1.3 '@types/yargs': 17.0.24 chalk: 4.1.2 dev: true @@ -4705,26 +4942,26 @@ packages: /@leichtgewicht/ip-codec@2.0.4: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} - /@lerna/child-process@6.6.1: - resolution: {integrity: sha512-yUCDCcRNNbI9UUsUB6FYEmDHpo5Tn/f0q5D7vhDP4i6Or8kBj82y7+e31hwfLvK2ykOYlDVs2MxAluH/+QUBOQ==} - engines: {node: ^14.15.0 || >=16.0.0} + /@lerna/child-process@6.6.2: + resolution: {integrity: sha512-QyKIWEnKQFnYu2ey+SAAm1A5xjzJLJJj3bhIZd3QKyXKKjaJ0hlxam/OsWSltxTNbcyH1jRJjC6Cxv31usv0Ag==} + engines: {node: ^14.17.0 || >=16.0.0} dependencies: chalk: 4.1.2 - execa: 5.1.1 + execa: 5.0.0 strong-log-transformer: 2.1.0 dev: true - /@lerna/create@6.6.1: - resolution: {integrity: sha512-GDmHFhQ0mr0RcXWXrsLyfMV6ch/dZV/Ped1e6sFVQhsLL9P+FFXX1ZWxa/dQQ90VWF2qWcmK0+S/L3kUz2xvTA==} - engines: {node: ^14.15.0 || >=16.0.0} + /@lerna/create@6.6.2: + resolution: {integrity: sha512-xQ+1Y7D+9etvUlE+unhG/TwmM6XBzGIdFBaNoW8D8kyOa9M2Jf3vdEtAxVa7mhRz66CENfhL/+I/QkVaa7pwbQ==} + engines: {node: ^14.17.0 || >=16.0.0} dependencies: - '@lerna/child-process': 6.6.1 + '@lerna/child-process': 6.6.2 dedent: 0.7.0 fs-extra: 9.1.0 init-package-json: 3.0.2 npm-package-arg: 8.1.1 p-reduce: 2.1.0 - pacote: 13.6.2 + pacote: 15.1.1 pify: 5.0.0 semver: 7.5.0 slash: 3.0.0 @@ -4736,13 +4973,13 @@ packages: - supports-color dev: true - /@lerna/legacy-package-management@6.6.1(nx@15.9.3): - resolution: {integrity: sha512-0EYxSFr34VgeudA5rvjGJSY7s4seITMVB7AJ9LRFv9QDUk6jpvapV13ZAaKnhDTxX5vNCfnJuWHXXWq0KyPF/Q==} - engines: {node: ^14.15.0 || >=16.0.0} + /@lerna/legacy-package-management@6.6.2(nx@15.9.4): + resolution: {integrity: sha512-0hZxUPKnHwehUO2xC4ldtdX9bW0W1UosxebDIQlZL2STnZnA2IFmIk2lJVUyFW+cmTPQzV93jfS0i69T9Z+teg==} + engines: {node: ^14.17.0 || >=16.0.0} dependencies: '@npmcli/arborist': 6.2.3 '@npmcli/run-script': 4.1.7 - '@nrwl/devkit': 15.9.3(nx@15.9.3) + '@nrwl/devkit': 15.9.4(nx@15.9.4) '@octokit/rest': 19.0.3 byte-size: 7.0.0 chalk: 4.1.0 @@ -4769,7 +5006,7 @@ packages: inquirer: 8.2.4 is-ci: 2.0.0 is-stream: 2.0.0 - libnpmpublish: 6.0.4 + libnpmpublish: 7.1.4 load-json-file: 6.2.0 make-dir: 3.1.0 minimatch: 3.0.5 @@ -4783,7 +5020,7 @@ packages: p-map-series: 2.1.0 p-queue: 6.6.2 p-waterfall: 2.1.1 - pacote: 13.6.2 + pacote: 15.1.1 pify: 5.0.0 pretty-format: 29.4.3 read-cmd-shim: 3.0.0 @@ -4921,7 +5158,7 @@ packages: react: '>=16' dependencies: '@types/mdx': 2.0.5 - '@types/react': 18.2.0 + '@types/react': 18.2.6 react: 18.2.0 dev: true @@ -4994,7 +5231,6 @@ packages: resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} dependencies: eslint-scope: 5.1.1 - dev: false /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -5028,9 +5264,9 @@ packages: '@npmcli/node-gyp': 3.0.0 '@npmcli/package-json': 3.0.0 '@npmcli/query': 3.0.0 - '@npmcli/run-script': 6.0.1 + '@npmcli/run-script': 6.0.2 bin-links: 4.0.1 - cacache: 17.0.6 + cacache: 17.1.0 common-ancestor-path: 1.0.1 hosted-git-info: 6.1.1 json-parse-even-better-errors: 3.0.0 @@ -5042,7 +5278,7 @@ packages: npm-pick-manifest: 8.0.1 npm-registry-fetch: 14.0.5 npmlog: 7.0.1 - pacote: 15.1.3 + pacote: 15.1.1 parse-conflict-json: 3.0.1 proc-log: 3.0.0 promise-all-reject-late: 1.0.1 @@ -5072,23 +5308,6 @@ packages: semver: 7.5.0 dev: true - /@npmcli/git@3.0.2: - resolution: {integrity: sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - '@npmcli/promise-spawn': 3.0.0 - lru-cache: 7.18.3 - mkdirp: 1.0.4 - npm-pick-manifest: 7.0.2 - proc-log: 2.0.1 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.5.0 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - dev: true - /@npmcli/git@4.0.4: resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -5100,27 +5319,18 @@ packages: promise-inflight: 1.0.1 promise-retry: 2.0.1 semver: 7.5.0 - which: 3.0.0 + which: 3.0.1 transitivePeerDependencies: - bluebird dev: true - /@npmcli/installed-package-contents@1.0.7: - resolution: {integrity: sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==} - engines: {node: '>= 10'} - hasBin: true - dependencies: - npm-bundled: 1.1.2 - npm-normalize-package-bin: 1.0.1 - dev: true - /@npmcli/installed-package-contents@2.0.2: resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true /@npmcli/map-workspaces@3.0.4: @@ -5128,7 +5338,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/name-from-folder': 2.0.0 - glob: 10.2.2 + glob: 10.2.3 minimatch: 9.0.0 read-package-json-fast: 3.0.2 dev: true @@ -5137,9 +5347,9 @@ packages: resolution: {integrity: sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - cacache: 17.0.6 + cacache: 17.1.0 json-parse-even-better-errors: 3.0.0 - pacote: 15.1.3 + pacote: 15.1.1 semver: 7.5.0 transitivePeerDependencies: - bluebird @@ -5188,7 +5398,7 @@ packages: resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - which: 3.0.0 + which: 3.0.1 dev: true /@npmcli/query@3.0.0: @@ -5212,45 +5422,45 @@ packages: - supports-color dev: true - /@npmcli/run-script@6.0.1: - resolution: {integrity: sha512-Yi04ZSold8jcbBJD/ahKMJSQCQifH8DAbMwkBvoLaTpGFxzHC3B/5ZyoVR69q/4xedz84tvi9DJOJjNe17h+LA==} + /@npmcli/run-script@6.0.2: + resolution: {integrity: sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 '@npmcli/promise-spawn': 6.0.2 node-gyp: 9.3.1 read-package-json-fast: 3.0.2 - which: 3.0.0 + which: 3.0.1 transitivePeerDependencies: - bluebird - supports-color dev: true - /@nrwl/cli@15.9.3: - resolution: {integrity: sha512-qiAKHkov3iBx6hroPTitUrkRSUZFQqVgNJiF9gXRFC6pNJe9RS4rlmcIaoUFOboi9CnH5jwblNJVcz8YSVYOvA==} + /@nrwl/cli@15.9.4: + resolution: {integrity: sha512-FoiGFCLpb/r4HXCM3KYqT0xteP+MRV6bIHjz3bdPHIDLmBNQQnRRaV2K47jtJ6zjh1eOU5UHKyDtDDYf80Idpw==} dependencies: - nx: 15.9.3 + nx: 15.9.4 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug dev: true - /@nrwl/devkit@15.9.3(nx@15.9.3): - resolution: {integrity: sha512-WdPuaJ0zi04gMwAIRXUfbQLxOnA9Mw0D8tbPoHPd5ARlnGndqIKk666za+qbV0jD+jmsGWJoXViVJ9H5xpSWLw==} + /@nrwl/devkit@15.9.4(nx@15.9.4): + resolution: {integrity: sha512-mUX1kXTuPMdTzFxIzH+MsSNvdppOmstPDOEtiGFZJTuJ625ki0HhNJILO3N2mJ7MeMrLqIlAiNdvelQaObxYsQ==} peerDependencies: nx: '>= 14.1 <= 16' dependencies: ejs: 3.1.9 ignore: 5.2.4 - nx: 15.9.3 + nx: 15.9.4 semver: 7.3.4 tmp: 0.2.1 tslib: 2.5.0 dev: true - /@nrwl/nx-darwin-arm64@15.9.3: - resolution: {integrity: sha512-2htJzVa+S/uLg5tj4nbO/tRz2SRMQIpT6EeWMgDGuEKQdpuRLVj2ez9hMpkRn9tl1tBUwR05hbV28DnOLRESVA==} + /@nrwl/nx-darwin-arm64@15.9.4: + resolution: {integrity: sha512-XnvrnT9BJsgThY/4xUcYtE077ERq/img8CkRj7MOOBNOh0/nVcR4LGbBKDHtwE3HPk0ikyS/SxRyNa9msvi3QQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -5258,8 +5468,8 @@ packages: dev: true optional: true - /@nrwl/nx-darwin-x64@15.9.3: - resolution: {integrity: sha512-p+8UkfC6KTLOX4XRt7NSP8DoTzEgs73+SN0csoXT9VsNO35+F0Z5zMZxpEc7RVo5Wen/4PGh2OWA+8gtgntsJQ==} + /@nrwl/nx-darwin-x64@15.9.4: + resolution: {integrity: sha512-WKSfSlpVMLchpXkax0geeUNyhvNxwO7qUz/s0/HJWBekt8fizwKDwDj1gP7fOu+YWb/tHiSscbR1km8PtdjhQw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -5267,8 +5477,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-arm-gnueabihf@15.9.3: - resolution: {integrity: sha512-xwW7bZtggrxhFbYvvWWArtcSWwoxWzi/4wNgP3wPbcZFNZiraahVQSpIyJXrS9aajGbdvuDBM8cbDsMj9v7mwg==} + /@nrwl/nx-linux-arm-gnueabihf@15.9.4: + resolution: {integrity: sha512-a/b4PP7lP/Cgrh0LjC4O2YTt5pyf4DQTGtuE8qlo8o486UiofCtk4QGJX72q80s23L0ejCaKY2ULKx/3zMLjuA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -5276,8 +5486,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-arm64-gnu@15.9.3: - resolution: {integrity: sha512-KNxDL2OAHxhFqztEjv2mNwXD6xrzoUury7NsYZYqlxJUNc3YYBfRSLEatnw491crvMBndbxfGVTWEO9S4YmRuw==} + /@nrwl/nx-linux-arm64-gnu@15.9.4: + resolution: {integrity: sha512-ibBV8fMhSfLVd/2WzcDuUm32BoZsattuKkvMmOoyU6Pzoznc3AqyDjJR4xCIoAn5Rf+Nu1oeQONr5FAtb1Ugow==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -5285,8 +5495,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-arm64-musl@15.9.3: - resolution: {integrity: sha512-AxoZzfsXH7ZqDE+WrQtRumufIcSIBw4U/LikiDLaWWoGtNpAfKLkD/PHirZiNxHIeGy1Toi4ccMUolXbafLVFw==} + /@nrwl/nx-linux-arm64-musl@15.9.4: + resolution: {integrity: sha512-iIjvVYd7+uM4jVD461+PvU5XTALgSvJOODUaMRGOoDl0KlMuTe6pQZlw0eXjl5rcTd6paKaVFWT5j6awr8kj7w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -5294,8 +5504,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-x64-gnu@15.9.3: - resolution: {integrity: sha512-P8AOPRufvV4a5cSczNsw84zFAI7NgAiEBTybYcyymdNJmo0iArJXEmvj/G4mB20O8VCsCkwqMYAu6nQEnES1Kw==} + /@nrwl/nx-linux-x64-gnu@15.9.4: + resolution: {integrity: sha512-q4OyH72mdrE4KellBWtwpr5EwfxHKNoFP9//7FAILO68ROh0rpMd7YQMlTB7T04UEUHjKEEsFGTlVXIee3Viwg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -5303,8 +5513,8 @@ packages: dev: true optional: true - /@nrwl/nx-linux-x64-musl@15.9.3: - resolution: {integrity: sha512-4ZYDp7T319+xbw7Z7KVtRefzaXJipZfgrM49r+Y1FAfYDc8y18zvKz3slK26wfWz+EUZwKsa/DfA2KmyRG3DvQ==} + /@nrwl/nx-linux-x64-musl@15.9.4: + resolution: {integrity: sha512-67+/XNMR1CgLPyeGX8jqSG6l8yYD0iiwUgcu1Vaxq6N05WwnqVisIW8XzLSRUtKt4WyVQgOWk3aspImpMVOG3Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -5312,8 +5522,8 @@ packages: dev: true optional: true - /@nrwl/nx-win32-arm64-msvc@15.9.3: - resolution: {integrity: sha512-UhgxIPgTZBKN1oxlLPSklkSzVL3hA4lAiVc9A0Utumpbp0ob/Xx+2vHzg3cnmNH3jWkZ+9OsC2dKyeMB6gAbSw==} + /@nrwl/nx-win32-arm64-msvc@15.9.4: + resolution: {integrity: sha512-2rEsq3eOGVCYpYJn2tTJkOGNJm/U8rP/FmqtZXYa6VJv/00XP3Gl00IXFEDaYV6rZo7SWqLxtEPUbjK5LwPzZA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -5321,8 +5531,8 @@ packages: dev: true optional: true - /@nrwl/nx-win32-x64-msvc@15.9.3: - resolution: {integrity: sha512-gdnvqURKnu0EQGOFJ6NUKq6wSB+viNb7Z8qtKhzSmFwVjT8akOnLWn7ZhL9v28TAjLM7/s1Mwvmz/IMj1PGlcQ==} + /@nrwl/nx-win32-x64-msvc@15.9.4: + resolution: {integrity: sha512-bogVju4Z/hy1jbppqaTNbmV1R4Kg0R5fKxXAXC2LaL7FL0dup31wPumdV+mXttXBNOBDjV8V/Oz1ZqdmxpOJUw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -5330,11 +5540,11 @@ packages: dev: true optional: true - /@nrwl/tao@15.9.3: - resolution: {integrity: sha512-NcjFCbuMa53C3fBrK7qLUImUBySyr9EVwmiZuAv9sZZtm4eILK8w3qihjrB4FFUuLjPU/SViriYXi+hF2tbP4w==} + /@nrwl/tao@15.9.4: + resolution: {integrity: sha512-m90iz8UsXx1rgPm1dxsBQjSrCViWYZIrp8bpwjSCW24j3kifyilYSXGuKaRwZwUn7eNmH/kZcI9/8qeGIPF4Sg==} hasBin: true dependencies: - nx: 15.9.3 + nx: 15.9.4 transitivePeerDependencies: - '@swc-node/register' - '@swc/core' @@ -5345,7 +5555,7 @@ packages: resolution: {integrity: sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.1.4 + '@octokit/types': 9.2.2 dev: true /@octokit/core@4.2.0: @@ -5356,7 +5566,7 @@ packages: '@octokit/graphql': 5.0.5 '@octokit/request': 6.2.3 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.1.4 + '@octokit/types': 9.2.2 before-after-hook: 2.2.3 universal-user-agent: 6.0.0 transitivePeerDependencies: @@ -5367,7 +5577,7 @@ packages: resolution: {integrity: sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.1.4 + '@octokit/types': 9.2.2 is-plain-object: 5.0.0 universal-user-agent: 6.0.0 dev: true @@ -5377,7 +5587,7 @@ packages: engines: {node: '>= 14'} dependencies: '@octokit/request': 6.2.3 - '@octokit/types': 9.1.4 + '@octokit/types': 9.2.2 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -5391,8 +5601,8 @@ packages: resolution: {integrity: sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==} dev: true - /@octokit/openapi-types@17.0.0: - resolution: {integrity: sha512-V8BVJGN0ZmMlURF55VFHFd/L92XQQ43KvFjNmY1IYbCN3V/h/uUFV6iQi19WEHM395Nn+1qhUbViCAD/1czzog==} + /@octokit/openapi-types@17.1.2: + resolution: {integrity: sha512-OaS7Ol4Y+U50PbejfzQflGWRMxO04nYWO5ZBv6JerqMKE2WS/tI9VoVDDPXHBlRMGG2fOdKwtVGlFfc7AVIstw==} dev: true /@octokit/plugin-enterprise-rest@6.0.1: @@ -5432,7 +5642,7 @@ packages: resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.1.4 + '@octokit/types': 9.2.2 deprecation: 2.3.1 once: 1.4.0 dev: true @@ -5443,9 +5653,9 @@ packages: dependencies: '@octokit/endpoint': 7.0.5 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.1.4 + '@octokit/types': 9.2.2 is-plain-object: 5.0.0 - node-fetch: 2.6.9 + node-fetch: 2.6.7 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -5475,10 +5685,10 @@ packages: '@octokit/openapi-types': 14.0.0 dev: true - /@octokit/types@9.1.4: - resolution: {integrity: sha512-5d9vYHzC/yG9eyYBO2Pis4BM4tQfFcyFUWBquDgCzcmFG+sgBiRQ2JCY55HG/hdxvESt9IZUoRtzOm66Qv/GWw==} + /@octokit/types@9.2.2: + resolution: {integrity: sha512-9BjDxjgQIvCjNWZsbqyH5QC2Yni16oaE6xL+8SUBMzcYPF4TGQBXGA97Cl3KceK9mwiNMb1mOYCz6FbCCLEL+g==} dependencies: - '@octokit/openapi-types': 17.0.0 + '@octokit/openapi-types': 17.1.2 dev: true /@parcel/bundler-default@2.8.3(@parcel/core@2.8.3): @@ -5648,7 +5858,7 @@ packages: '@parcel/source-map': 2.1.1 '@parcel/utils': 2.8.3 nullthrows: 1.1.1 - terser: 5.17.1 + terser: 5.17.3 transitivePeerDependencies: - '@parcel/core' dev: false @@ -5803,7 +6013,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 3.2.1 - node-gyp-build: 4.3.0 + node-gyp-build: 4.6.0 dev: true /@parcel/watcher@2.1.0: @@ -5874,7 +6084,7 @@ packages: loader-utils: 2.0.4 react-refresh: 0.11.0 schema-utils: 3.1.2 - source-map: 0.7.3 + source-map: 0.7.4 webpack: 5.81.0(esbuild@0.17.18) webpack-dev-server: 4.13.3(webpack@5.81.0) @@ -5970,7 +6180,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@rollup/plugin-babel@5.3.1(@babel/core@7.21.5)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.21.8)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -5981,13 +6191,13 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-module-imports': 7.21.4 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: true - /@rollup/plugin-babel@6.0.3(@babel/core@7.21.5)(rollup@3.21.0): + /@rollup/plugin-babel@6.0.3(@babel/core@7.21.8)(rollup@3.21.6): resolution: {integrity: sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -6000,10 +6210,10 @@ packages: rollup: optional: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/helper-module-imports': 7.21.4 - '@rollup/pluginutils': 5.0.2(rollup@3.21.0) - rollup: 3.21.0 + '@rollup/pluginutils': 5.0.2(rollup@3.21.6) + rollup: 3.21.6 dev: true /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): @@ -6021,7 +6231,7 @@ packages: rollup: 2.79.1 dev: true - /@rollup/plugin-node-resolve@15.0.2(rollup@3.21.0): + /@rollup/plugin-node-resolve@15.0.2(rollup@3.21.6): resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -6030,13 +6240,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.21.0) + '@rollup/pluginutils': 5.0.2(rollup@3.21.6) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.2 - rollup: 3.21.0 + rollup: 3.21.6 dev: true /@rollup/plugin-replace@2.4.2(rollup@2.79.1): @@ -6049,7 +6259,7 @@ packages: rollup: 2.79.1 dev: true - /@rollup/plugin-terser@0.4.1(rollup@3.21.0): + /@rollup/plugin-terser@0.4.1(rollup@3.21.6): resolution: {integrity: sha512-aKS32sw5a7hy+fEXVy+5T95aDIwjpGHCTv833HXVtyKMDoVS7pBr5K3L9hEQoNqbJFjfANPrNpIXlTQ7is00eA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -6058,10 +6268,10 @@ packages: rollup: optional: true dependencies: - rollup: 3.21.0 + rollup: 3.21.6 serialize-javascript: 6.0.1 smob: 0.0.6 - terser: 5.17.1 + terser: 5.17.3 dev: true /@rollup/pluginutils@3.1.0(rollup@2.79.1): @@ -6076,7 +6286,7 @@ packages: rollup: 2.79.1 dev: true - /@rollup/pluginutils@5.0.2(rollup@3.21.0): + /@rollup/pluginutils@5.0.2(rollup@3.21.6): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -6088,11 +6298,11 @@ packages: '@types/estree': 1.0.1 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.21.0 + rollup: 3.21.6 dev: true - /@rushstack/eslint-patch@1.1.0: - resolution: {integrity: sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A==} + /@rushstack/eslint-patch@1.2.0: + resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} dev: true /@sideway/address@4.1.3: @@ -6266,8 +6476,8 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/core': 7.21.5 - '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.8) '@jest/transform': 29.5.0 '@mdx-js/react': 2.3.0(react@18.2.0) '@storybook/blocks': 7.0.7(react-dom@18.2.0)(react@18.2.0) @@ -6518,7 +6728,7 @@ packages: '@storybook/preview-api': 7.0.7 '@storybook/theming': 7.0.7(react-dom@18.2.0)(react@18.2.0) '@storybook/types': 7.0.7 - '@types/lodash': 4.14.182 + '@types/lodash': 4.14.194 color-convert: 2.0.1 dequal: 2.0.2 lodash: 4.17.21 @@ -6568,7 +6778,7 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@storybook/addons': 7.0.7(react-dom@18.2.0)(react@18.2.0) '@storybook/api': 7.0.7(react-dom@18.2.0)(react@18.2.0) '@storybook/channel-postmessage': 7.0.7 @@ -6590,7 +6800,7 @@ packages: '@storybook/theming': 7.0.7(react-dom@18.2.0)(react@18.2.0) '@types/node': 16.11.16 '@types/semver': 7.3.13 - babel-loader: 9.1.2(@babel/core@7.21.5)(webpack@5.81.0) + babel-loader: 9.1.2(@babel/core@7.21.8)(webpack@5.81.0) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -6651,8 +6861,8 @@ packages: resolution: {integrity: sha512-koTkWr7wlaHF14T5moRP/tYM44+Jf4GEzQ/rqx/Jfn7EbNlVUOibdLJj4JnseMGRc7ZP6tKYku2n+B8g7hJX4w==} hasBin: true dependencies: - '@babel/core': 7.21.5 - '@babel/preset-env': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/preset-env': 7.21.5(@babel/core@7.21.8) '@ndelangen/get-tarball': 3.0.7 '@storybook/codemod': 7.0.7 '@storybook/core-common': 7.0.7 @@ -6712,8 +6922,8 @@ packages: /@storybook/codemod@7.0.7: resolution: {integrity: sha512-VlkDlkvfbzLe+NOmzs5zGrGb4jnaeAFZqpvIkXxevr6aGcOwgeelNv8gTmgBAcy+xbGW4Pp0XA2BlMweIvKEKA==} dependencies: - '@babel/core': 7.21.5 - '@babel/preset-env': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/preset-env': 7.21.5(@babel/core@7.21.8) '@babel/types': 7.21.5 '@storybook/csf': 0.1.0 '@storybook/csf-tools': 7.0.7 @@ -6802,7 +7012,7 @@ packages: '@storybook/telemetry': 7.0.7 '@storybook/types': 7.0.7 '@types/detect-port': 1.3.2 - '@types/node': 16.11.16 + '@types/node': 16.18.29 '@types/node-fetch': 2.5.12 '@types/pretty-hrtime': 1.0.1 '@types/semver': 7.3.13 @@ -6861,7 +7071,7 @@ packages: resolution: {integrity: sha512-KbO5K2RS0oFm94eR49bAPvoyXY3Q6+ozvBek/F05RP7iAV790icQc59Xci9YDM1ONgb3afS+gSJGFBsE0h4pmg==} dependencies: '@babel/generator': 7.21.5 - '@babel/parser': 7.21.5 + '@babel/parser': 7.21.8 '@babel/traverse': 7.21.5(supports-color@5.5.0) '@babel/types': 7.21.5 '@storybook/csf': 0.1.0 @@ -6886,7 +7096,7 @@ packages: /@storybook/docs-tools@7.0.7: resolution: {integrity: sha512-VB4Qa33DYNxXALWcXyDid246r9Q6SGM+Q+pGWOuEJsxRxDmrUspXHaHG0CO1NIjMWfbqpOoz61vquZO0GZoAAg==} dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@storybook/core-common': 7.0.7 '@storybook/preview-api': 7.0.7 '@storybook/types': 7.0.7 @@ -6957,7 +7167,7 @@ packages: resolution: {integrity: sha512-APcZ2KaR7z1aJje3pID4Ywmt1/aVcP3Sc4ltzNdH9mCkEsuq0fZHHQrYSa9Ya1IPRmSeLZ5/23q1iyqmGU3zoQ==} dev: true - /@storybook/preset-react-webpack@7.0.7(@babel/core@7.21.5)(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5): + /@storybook/preset-react-webpack@7.0.7(@babel/core@7.21.8)(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5): resolution: {integrity: sha512-OvLnWuZg/idR5gi8kinZf8RVCFcmAsSAbMI0CENaUAPkozFgQNpVlUzWZIHA9PXwPZC4dl2tkVbphkwYOfU9AA==} engines: {node: '>=16.0.0'} peerDependencies: @@ -6971,9 +7181,9 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.21.5 - '@babel/preset-flow': 7.21.4(@babel/core@7.21.5) - '@babel/preset-react': 7.18.6(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/preset-flow': 7.21.4(@babel/core@7.21.8) + '@babel/preset-react': 7.18.6(@babel/core@7.21.8) '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.13.3)(webpack@5.81.0) '@storybook/core-webpack': 7.0.7 '@storybook/docs-tools': 7.0.7 @@ -7058,7 +7268,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-webpack5@7.0.7(@babel/core@7.21.5)(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5): + /@storybook/react-webpack5@7.0.7(@babel/core@7.21.8)(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5): resolution: {integrity: sha512-LTDpE5ufygYa2BW4K8/Kx3U0UlIPYbYYNoIXngFbn9YFIQZEtg0GEulC2lvD9OadRZVspUOJz/g+3jHmA/jt3A==} engines: {node: '>=16.0.0'} peerDependencies: @@ -7072,9 +7282,9 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@storybook/builder-webpack5': 7.0.7(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) - '@storybook/preset-react-webpack': 7.0.7(@babel/core@7.21.5)(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) + '@storybook/preset-react-webpack': 7.0.7(@babel/core@7.21.8)(esbuild@0.17.18)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) '@storybook/react': 7.0.7(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) '@types/node': 16.11.16 react: 18.2.0 @@ -7289,7 +7499,7 @@ packages: resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@svgr/babel-preset': 5.5.0 '@svgr/hast-util-to-babel-ast': 5.5.0 svg-parser: 2.0.4 @@ -7310,10 +7520,10 @@ packages: resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.21.5 - '@babel/plugin-transform-react-constant-elements': 7.21.3(@babel/core@7.21.5) - '@babel/preset-env': 7.21.5(@babel/core@7.21.5) - '@babel/preset-react': 7.18.6(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/plugin-transform-react-constant-elements': 7.21.3(@babel/core@7.21.8) + '@babel/preset-env': 7.21.5(@babel/core@7.21.8) + '@babel/preset-react': 7.18.6(@babel/core@7.21.8) '@svgr/core': 5.5.0 '@svgr/plugin-jsx': 5.5.0 '@svgr/plugin-svgo': 5.5.0 @@ -7405,12 +7615,12 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@tufjs/models@1.0.3: - resolution: {integrity: sha512-mkFEqqRisi13DmR5pX4x+Zk97EiU8djTtpNW1GeuX410y/raAsq/T3ZCjwoRIZ8/cIBfW0olK/sywlAiWevDVw==} + /@tufjs/models@1.0.4: + resolution: {integrity: sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@tufjs/canonical-json': 1.0.0 - minimatch: 7.4.6 + minimatch: 9.0.0 dev: true /@turist/fetch@7.2.0(node-fetch@2.6.9): @@ -7440,12 +7650,28 @@ packages: '@types/babel__traverse': 7.14.2 dev: true + /@types/babel__core@7.20.0: + resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} + dependencies: + '@babel/parser': 7.21.8 + '@babel/types': 7.21.5 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.18.5 + dev: true + /@types/babel__generator@7.6.3: resolution: {integrity: sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==} dependencies: '@babel/types': 7.21.5 dev: true + /@types/babel__generator@7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + dependencies: + '@babel/types': 7.21.5 + dev: true + /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: @@ -7459,6 +7685,12 @@ packages: '@babel/types': 7.21.5 dev: true + /@types/babel__traverse@7.18.5: + resolution: {integrity: sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==} + dependencies: + '@babel/types': 7.21.5 + dev: true + /@types/body-parser@1.19.2: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: @@ -7468,21 +7700,21 @@ packages: /@types/bonjour@3.5.10: resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 /@types/cacheable-request@6.0.2: resolution: {integrity: sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==} dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.3 - '@types/node': 16.11.16 + '@types/node': 20.1.3 '@types/responselike': 1.0.0 dev: false - /@types/cheerio@0.22.30: - resolution: {integrity: sha512-t7ZVArWZlq3dFa9Yt33qFBQIK4CQd1Q3UJp0V+UhP6vgLWLM6Qug7vZuRSGXg45zXeB1Fm5X2vmBkEX58LV2Tw==} + /@types/cheerio@0.22.31: + resolution: {integrity: sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 dev: true /@types/common-tags@1.8.1: @@ -7497,7 +7729,7 @@ packages: resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} dependencies: '@types/express-serve-static-core': 4.17.26 - '@types/node': 16.11.16 + '@types/node': 20.1.3 /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} @@ -7554,10 +7786,10 @@ packages: resolution: {integrity: sha512-3EuZlbPu+pvclZcb1DhlymTWT2W+lYsRKBjvkH2ojDbCWDYavifqu1vYX9WGzlPgCgcS4Alhk1+zapXbGEGylQ==} dev: false - /@types/d3-scale@3.3.2: - resolution: {integrity: sha512-gGqr7x1ost9px3FvIfUMi5XA/F/yAf4UkUDtdQhpH92XCT0Oa7zkkRzY61gPVJq+DxpHn/btouw5ohWkbBsCzQ==} + /@types/d3-scale@4.0.2: + resolution: {integrity: sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==} dependencies: - '@types/d3-time': 2.1.1 + '@types/d3-time': 1.1.1 /@types/d3-shape@1.3.8: resolution: {integrity: sha512-gqfnMz6Fd5H6GOLYixOZP/xlrMtJms9BaS+6oWxTKHNqPGZ93BkWWupQSCYm6YHqx6h9wjRupuJb90bun6ZaYg==} @@ -7579,10 +7811,6 @@ packages: /@types/d3-time@1.1.1: resolution: {integrity: sha512-ULX7LoqXTCYtM+tLYOaeAJK7IwCT+4Gxlm2MaH0ErKLi07R5lh8NHCAyWcDkCCmx1AfRcBEV6H9QE9R25uP7jw==} - dev: false - - /@types/d3-time@2.1.1: - resolution: {integrity: sha512-9MVYlmIgmRR31C5b4FVSWtuMmBHh2mOWQYfl7XAYOa8dsnb7iEmUmRSWSFgXFtkjxO65d7hTUHQC+RhR/9IWFg==} /@types/debug@0.0.30: resolution: {integrity: sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==} @@ -7606,11 +7834,11 @@ packages: resolution: {integrity: sha512-ZmiaE3wglXVWBM9fyVC17aGPkLo/UgaOjEiI2FXQfyczrCefORPxIe+2dVmnmk3zkVIbizjrlQzmPGhSYGXG5g==} dev: true - /@types/enzyme@3.10.10: - resolution: {integrity: sha512-/D4wFhiEjUDfPu+j5FVK0g/jf7rqeEIpNfAI+kyxzLpw5CKO0drnW3W5NC38alIjsWgnyQ8pbuPF5+UD+vhVyg==} + /@types/enzyme@3.10.13: + resolution: {integrity: sha512-FCtoUhmFsud0Yx9fmZk179GkdZ4U9B0GFte64/Md+W/agx0L5SxsIIbhLBOxIb9y2UfBA4WQnaG1Od/UsUQs9Q==} dependencies: - '@types/cheerio': 0.22.30 - '@types/react': 18.2.0 + '@types/cheerio': 0.22.31 + '@types/react': 18.2.6 dev: true /@types/escodegen@0.0.6: @@ -7667,7 +7895,7 @@ packages: resolution: {integrity: sha512-ATA/xrS7CZ3A2WCPVY4eKdNpybq56zqlTirnHhhyOztZM/lPxJzusOBI3BsaXbu6FrUluqzvMlI4sZ6BDYMlMg==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 16.11.16 + '@types/node': 8.10.66 dev: false /@types/glob@8.1.0: @@ -7679,7 +7907,13 @@ packages: /@types/graceful-fs@4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 + dev: true + + /@types/graceful-fs@4.1.6: + resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + dependencies: + '@types/node': 20.1.3 dev: true /@types/hast@2.3.4: @@ -7691,7 +7925,7 @@ packages: /@types/hoist-non-react-statics@3.3.1: resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} dependencies: - '@types/react': 18.2.0 + '@types/react': 18.2.6 hoist-non-react-statics: 3.3.2 dev: false @@ -7706,12 +7940,16 @@ packages: /@types/http-proxy@1.17.11: resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 /@types/istanbul-lib-coverage@2.0.3: resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==} dev: true + /@types/istanbul-lib-coverage@2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true + /@types/istanbul-lib-report@3.0.0: resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} dependencies: @@ -7724,17 +7962,17 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest@27.0.3: - resolution: {integrity: sha512-cmmwv9t7gBYt7hNKH5Spu7Kuu/DotGa+Ff+JGRKZ4db5eh8PnKS4LuebJ3YLUoyOyIHraTGyULn23YtEAm0VSg==} + /@types/jest@27.5.2: + resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==} dependencies: - jest-diff: 27.4.2 - pretty-format: 27.4.2 + jest-matcher-utils: 27.5.1 + pretty-format: 27.5.1 dev: true /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true @@ -7748,11 +7986,11 @@ packages: /@types/keyv@3.1.3: resolution: {integrity: sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 dev: false - /@types/lodash@4.14.182: - resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==} + /@types/lodash@4.14.194: + resolution: {integrity: sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==} /@types/mdast@3.0.10: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} @@ -7785,7 +8023,7 @@ packages: /@types/mkdirp@0.5.2: resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} dependencies: - '@types/node': 16.11.16 + '@types/node': 8.10.66 dev: false /@types/ms@0.7.31: @@ -7795,16 +8033,26 @@ packages: /@types/node-fetch@2.5.12: resolution: {integrity: sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==} dependencies: - '@types/node': 16.11.16 + '@types/node': 16.18.29 form-data: 3.0.1 /@types/node@14.18.43: resolution: {integrity: sha512-n3eFEaoem0WNwLux+k272P0+aq++5o05bA9CfiwKPdYPB5ZambWKdWoeHy7/OJiizMhzg27NLaZ6uzjLTzXceQ==} dev: true + /@types/node@14.18.46: + resolution: {integrity: sha512-n4yVT5FuY5NCcGHCosQSGvvCT74HhowymPN2OEcsHPw6U1NuxV9dvxWbrM2dnBukWjdMYzig1WfIkWdTTQJqng==} + dev: true + /@types/node@16.11.16: resolution: {integrity: sha512-Mt07oPv0YcV0OQMZ+ZDZbuNeL8024sJb1OJTtzG014ACGHVLB3sXzuXhnQaHI8fgMOLLTeHOasaltpGUMD0zrg==} + /@types/node@16.18.29: + resolution: {integrity: sha512-cal+XTYF4JBwG82kw3m9ktTOyUj7GXcO9i2o+t49y/OF+3asYfpHqTROF1UbV91e71g/UB5wNeL5hfqPthzp8Q==} + + /@types/node@20.1.3: + resolution: {integrity: sha512-NP2yfZpgmf2eDRPmgGq+fjGjSwFgYbihA8/gK+ey23qT9RkxsgNTZvGOEpXgzIGqesTYkElELLgtKoMQTys5vA==} + /@types/node@8.10.66: resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} dev: false @@ -7824,6 +8072,10 @@ packages: resolution: {integrity: sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==} dev: true + /@types/prettier@2.7.2: + resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + dev: true + /@types/pretty-hrtime@1.0.1: resolution: {integrity: sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==} dev: true @@ -7834,6 +8086,10 @@ packages: /@types/prop-types@15.7.4: resolution: {integrity: sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==} + dev: false + + /@types/prop-types@15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} /@types/q@1.5.5: resolution: {integrity: sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==} @@ -7848,44 +8104,44 @@ packages: /@types/reach__router@1.3.11: resolution: {integrity: sha512-j23ChnIEiW8aAP4KT8OVyTXOFr+Ri65BDnwzmfHFO9WHypXYevHFjeil1Cj7YH3emfCE924BwAmgW4hOv7Wg3g==} dependencies: - '@types/react': 18.2.0 + '@types/react': 18.2.6 dev: false - /@types/react-dom@18.2.0: - resolution: {integrity: sha512-8yQrvS6sMpSwIovhPOwfyNf2Wz6v/B62LFSVYQ85+Rq3tLsBIG7rP5geMxaijTUxSkrO6RzN/IRuIAADYQsleA==} + /@types/react-dom@18.2.4: + resolution: {integrity: sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==} dependencies: - '@types/react': 18.2.0 + '@types/react': 18.2.6 dev: true /@types/react-helmet@6.1.4: resolution: {integrity: sha512-jyx50RNZXVaTGHY3MsoRPNpeiVk8b0XTPgD/O6KHF6COTDnG/+lRjPYvTK5nfWtR3xDOux0w6bHLAsaHo2ZLTA==} dependencies: - '@types/react': 18.2.0 + '@types/react': 18.2.6 dev: false /@types/react-lifecycles-compat@3.0.1: resolution: {integrity: sha512-4KiU5s1Go4xRbf7t6VxUUpBeN5PGjpjpBv9VvET4uiPHC500VNYBclU13f8ehHkHoZL39b2cfwHu6RzbV3b44A==} dependencies: - '@types/react': 18.2.0 + '@types/react': 18.2.6 dev: false /@types/react-test-renderer@18.0.0: resolution: {integrity: sha512-C7/5FBJ3g3sqUahguGi03O79b8afNeSD6T8/GU50oQrJCU0bVCCGQHaGKUbg2Ce8VQEEqTw8/HiS6lXHHdgkdQ==} dependencies: - '@types/react': 18.2.0 + '@types/react': 18.2.6 dev: true - /@types/react@18.2.0: - resolution: {integrity: sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==} + /@types/react@18.2.6: + resolution: {integrity: sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==} dependencies: - '@types/prop-types': 15.7.4 - '@types/scheduler': 0.16.2 - csstype: 3.0.10 + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 dev: true /@types/resolve@1.20.2: @@ -7895,7 +8151,7 @@ packages: /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 dev: false /@types/retry@0.12.0: @@ -7905,14 +8161,18 @@ packages: resolution: {integrity: sha512-YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g==} dependencies: '@types/glob': 8.1.0 - '@types/node': 16.11.16 + '@types/node': 8.10.66 dev: false - /@types/scheduler@0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} /@types/semver@7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: true + + /@types/semver@7.5.0: + resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} /@types/serve-index@1.9.1: resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} @@ -7928,7 +8188,7 @@ packages: /@types/sharp@0.31.1: resolution: {integrity: sha512-5nWwamN9ZFHXaYEincMSuza8nNfOof8nmO+mcI+Agx1uMUk4/pQnNIcix+9rLPXzKrm1pS34+6WRDbDV0Jn7ag==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 dev: false /@types/sinonjs__fake-timers@8.1.1: @@ -7942,7 +8202,7 @@ packages: /@types/sockjs@0.3.33: resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} @@ -7952,7 +8212,7 @@ packages: resolution: {integrity: sha512-xPTYmWP7Mxk5TAD3pYsqjwA9G5fAI8e/S51QUJEl7EQD1siKCdiYXIWiH2lzoHRl+QqbQCJMcGv3YTF3OmyPdQ==} dependencies: '@types/hoist-non-react-statics': 3.3.1 - '@types/react': 18.2.0 + '@types/react': 18.2.6 csstype: 3.0.10 dev: false @@ -7978,12 +8238,16 @@ packages: /@types/ws@8.5.4: resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 /@types/yargs-parser@20.2.1: resolution: {integrity: sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==} dev: true + /@types/yargs-parser@21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + /@types/yargs@16.0.4: resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} dependencies: @@ -7993,14 +8257,14 @@ packages: /@types/yargs@17.0.24: resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} dependencies: - '@types/yargs-parser': 20.2.1 + '@types/yargs-parser': 21.0.0 dev: true /@types/yauzl@2.10.0: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 16.11.16 + '@types/node': 14.18.46 dev: true optional: true @@ -8008,8 +8272,8 @@ packages: resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} dev: false - /@typescript-eslint/eslint-plugin@5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5): - resolution: {integrity: sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==} + /@typescript-eslint/eslint-plugin@5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5): + resolution: {integrity: sha512-feA9xbVRWJZor+AnLNAr7A8JRWeZqHUf4T9tlP+TN04b05pFVhO5eN7/O93Y/1OUlLMHKbnJisgDURs/qvtqdg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -8019,13 +8283,13 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.59.1 - '@typescript-eslint/type-utils': 5.59.1(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@eslint-community/regexpp': 4.5.1 + '@typescript-eslint/parser': 5.59.5(eslint@8.40.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.59.5 + '@typescript-eslint/type-utils': 5.59.5(eslint@8.40.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.59.5(eslint@8.40.0)(typescript@4.9.5) debug: 4.3.4(supports-color@5.5.0) - eslint: 8.39.0 + eslint: 8.40.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 @@ -8035,26 +8299,21 @@ packages: transitivePeerDependencies: - supports-color - /@typescript-eslint/experimental-utils@5.7.0(eslint@8.39.0)(typescript@4.9.5): - resolution: {integrity: sha512-u57eZ5FbEpzN5kSjmVrSesovWslH2ZyNPnaXQMXWgH57d5+EVHEt76W75vVuI9qKZ5BMDKNfRN+pxcPEjQjb2A==} + /@typescript-eslint/experimental-utils@5.59.5(eslint@8.40.0)(typescript@4.9.5): + resolution: {integrity: sha512-ArcSSBifznsKNA/p4h2w3Olt/T8AZf3bNglxD8OnuTsSDJbRpjPPmI8qpr6ijyvk1J/T3GMJHwRIluS/Kuz9kA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: '*' + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.7.0 - '@typescript-eslint/types': 5.7.0 - '@typescript-eslint/typescript-estree': 5.7.0(typescript@4.9.5) - eslint: 8.39.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.39.0) + '@typescript-eslint/utils': 5.59.5(eslint@8.40.0)(typescript@4.9.5) + eslint: 8.40.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/parser@5.59.1(eslint@8.39.0)(typescript@4.9.5): - resolution: {integrity: sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==} + /@typescript-eslint/parser@5.59.5(eslint@8.40.0)(typescript@4.9.5): + resolution: {integrity: sha512-NJXQC4MRnF9N9yWqQE2/KLRSOLvrrlZb48NGVfBa+RuPMN6B7ZcK5jZOvhuygv4D64fRKnZI4L4p8+M+rfeQuw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -8063,32 +8322,24 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.59.1 - '@typescript-eslint/types': 5.59.1 - '@typescript-eslint/typescript-estree': 5.59.1(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.59.5 + '@typescript-eslint/types': 5.59.5 + '@typescript-eslint/typescript-estree': 5.59.5(typescript@4.9.5) debug: 4.3.4(supports-color@5.5.0) - eslint: 8.39.0 + eslint: 8.40.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/scope-manager@5.59.1: - resolution: {integrity: sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.59.1 - '@typescript-eslint/visitor-keys': 5.59.1 - - /@typescript-eslint/scope-manager@5.7.0: - resolution: {integrity: sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==} + /@typescript-eslint/scope-manager@5.59.5: + resolution: {integrity: sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.7.0 - '@typescript-eslint/visitor-keys': 5.7.0 - dev: true + '@typescript-eslint/types': 5.59.5 + '@typescript-eslint/visitor-keys': 5.59.5 - /@typescript-eslint/type-utils@5.59.1(eslint@8.39.0)(typescript@4.9.5): - resolution: {integrity: sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==} + /@typescript-eslint/type-utils@5.59.5(eslint@8.40.0)(typescript@4.9.5): + resolution: {integrity: sha512-4eyhS7oGym67/pSxA2mmNq7X164oqDYNnZCUayBwJZIRVvKpBCMBzFnFxjeoDeShjtO6RQBHBuwybuX3POnDqg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -8097,46 +8348,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.1(typescript@4.9.5) - '@typescript-eslint/utils': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.59.5(typescript@4.9.5) + '@typescript-eslint/utils': 5.59.5(eslint@8.40.0)(typescript@4.9.5) debug: 4.3.4(supports-color@5.5.0) - eslint: 8.39.0 + eslint: 8.40.0 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/types@5.59.1: - resolution: {integrity: sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==} + /@typescript-eslint/types@5.59.5: + resolution: {integrity: sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@typescript-eslint/types@5.7.0: - resolution: {integrity: sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@typescript-eslint/typescript-estree@5.59.1(typescript@4.9.5): - resolution: {integrity: sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.59.1 - '@typescript-eslint/visitor-keys': 5.59.1 - debug: 4.3.4(supports-color@5.5.0) - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - - /@typescript-eslint/typescript-estree@5.7.0(typescript@4.9.5): - resolution: {integrity: sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==} + /@typescript-eslint/typescript-estree@5.59.5(typescript@4.9.5): + resolution: {integrity: sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -8144,8 +8370,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.7.0 - '@typescript-eslint/visitor-keys': 5.7.0 + '@typescript-eslint/types': 5.59.5 + '@typescript-eslint/visitor-keys': 5.59.5 debug: 4.3.4(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 @@ -8154,41 +8380,32 @@ packages: typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils@5.59.1(eslint@8.39.0)(typescript@4.9.5): - resolution: {integrity: sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==} + /@typescript-eslint/utils@5.59.5(eslint@8.40.0)(typescript@4.9.5): + resolution: {integrity: sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.40.0) '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.59.1 - '@typescript-eslint/types': 5.59.1 - '@typescript-eslint/typescript-estree': 5.59.1(typescript@4.9.5) - eslint: 8.39.0 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.59.5 + '@typescript-eslint/types': 5.59.5 + '@typescript-eslint/typescript-estree': 5.59.5(typescript@4.9.5) + eslint: 8.40.0 eslint-scope: 5.1.1 semver: 7.5.0 transitivePeerDependencies: - supports-color - typescript - /@typescript-eslint/visitor-keys@5.59.1: - resolution: {integrity: sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==} + /@typescript-eslint/visitor-keys@5.59.5: + resolution: {integrity: sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.59.1 - eslint-visitor-keys: 3.4.0 - - /@typescript-eslint/visitor-keys@5.7.0: - resolution: {integrity: sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.7.0 - eslint-visitor-keys: 3.4.0 - dev: true + '@typescript-eslint/types': 5.59.5 + eslint-visitor-keys: 3.4.1 /@vercel/webpack-asset-relocator-loader@1.7.3: resolution: {integrity: sha512-vizrI18v8Lcb1PmNNUBz7yxPxxXoOeuaVEjTG9MjvDrphjiSxFZrRJ5tIghk+qdLFRCXI5HBCshgobftbmrC5g==} @@ -8202,15 +8419,34 @@ packages: '@webassemblyjs/helper-numbers': 1.11.5 '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + /@webassemblyjs/ast@1.11.6: + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + dev: true + /@webassemblyjs/floating-point-hex-parser@1.11.5: resolution: {integrity: sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==} + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + dev: true + /@webassemblyjs/helper-api-error@1.11.5: resolution: {integrity: sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==} + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + dev: true + /@webassemblyjs/helper-buffer@1.11.5: resolution: {integrity: sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==} + /@webassemblyjs/helper-buffer@1.11.6: + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + dev: true + /@webassemblyjs/helper-numbers@1.11.5: resolution: {integrity: sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==} dependencies: @@ -8218,9 +8454,21 @@ packages: '@webassemblyjs/helper-api-error': 1.11.5 '@xtuc/long': 4.2.2 + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + dev: true + /@webassemblyjs/helper-wasm-bytecode@1.11.5: resolution: {integrity: sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==} + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + dev: true + /@webassemblyjs/helper-wasm-section@1.11.5: resolution: {integrity: sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==} dependencies: @@ -8229,19 +8477,44 @@ packages: '@webassemblyjs/helper-wasm-bytecode': 1.11.5 '@webassemblyjs/wasm-gen': 1.11.5 + /@webassemblyjs/helper-wasm-section@1.11.6: + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + dev: true + /@webassemblyjs/ieee754@1.11.5: resolution: {integrity: sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==} dependencies: '@xtuc/ieee754': 1.2.0 + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + /@webassemblyjs/leb128@1.11.5: resolution: {integrity: sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==} dependencies: '@xtuc/long': 4.2.2 + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + dependencies: + '@xtuc/long': 4.2.2 + dev: true + /@webassemblyjs/utf8@1.11.5: resolution: {integrity: sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==} + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + dev: true + /@webassemblyjs/wasm-edit@1.11.5: resolution: {integrity: sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==} dependencies: @@ -8254,6 +8527,19 @@ packages: '@webassemblyjs/wasm-parser': 1.11.5 '@webassemblyjs/wast-printer': 1.11.5 + /@webassemblyjs/wasm-edit@1.11.6: + resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-opt': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/wast-printer': 1.11.6 + dev: true + /@webassemblyjs/wasm-gen@1.11.5: resolution: {integrity: sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==} dependencies: @@ -8263,6 +8549,16 @@ packages: '@webassemblyjs/leb128': 1.11.5 '@webassemblyjs/utf8': 1.11.5 + /@webassemblyjs/wasm-gen@1.11.6: + resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + /@webassemblyjs/wasm-opt@1.11.5: resolution: {integrity: sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==} dependencies: @@ -8271,6 +8567,15 @@ packages: '@webassemblyjs/wasm-gen': 1.11.5 '@webassemblyjs/wasm-parser': 1.11.5 + /@webassemblyjs/wasm-opt@1.11.6: + resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + dev: true + /@webassemblyjs/wasm-parser@1.11.5: resolution: {integrity: sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==} dependencies: @@ -8281,12 +8586,30 @@ packages: '@webassemblyjs/leb128': 1.11.5 '@webassemblyjs/utf8': 1.11.5 + /@webassemblyjs/wasm-parser@1.11.6: + resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + /@webassemblyjs/wast-printer@1.11.5: resolution: {integrity: sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==} dependencies: '@webassemblyjs/ast': 1.11.5 '@xtuc/long': 4.2.2 + /@webassemblyjs/wast-printer@1.11.6: + resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@xtuc/long': 4.2.2 + dev: true + /@wojtekmaj/enzyme-adapter-react-17@0.6.6(enzyme@3.11.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-gSfhg8CiL0Vwc2UgUblGVZIy7M0KyXaZsd8+QwzV8TSVRLkGyzdLtYEcs9wRWyQTsdmOd+oRGqbVgUX7AVJxug==} peerDependencies: @@ -8294,9 +8617,9 @@ packages: react: ^17.0.0-0 react-dom: ^17.0.0-0 dependencies: - '@wojtekmaj/enzyme-adapter-utils': 0.1.2(react@18.2.0) + '@wojtekmaj/enzyme-adapter-utils': 0.1.4(react@18.2.0) enzyme: 3.11.0 - enzyme-shallow-equal: 1.0.4 + enzyme-shallow-equal: 1.0.5 has: 1.0.3 prop-types: 15.8.1 react: 18.2.0 @@ -8305,14 +8628,14 @@ packages: react-test-renderer: 17.0.2(react@18.2.0) dev: true - /@wojtekmaj/enzyme-adapter-utils@0.1.2(react@18.2.0): - resolution: {integrity: sha512-MM/DqDqvxNVlWLqSVQiUbRN9MuDLJfefmPbJ8ZKdmdf5ID8G+i42XhFpoQh5bAZUCdwzRae3+WSZl2lXcFOrhw==} + /@wojtekmaj/enzyme-adapter-utils@0.1.4(react@18.2.0): + resolution: {integrity: sha512-ARGIQSIIv3oBia1m5Ihn1VU0FGmft6KPe39SBKTb8p7LSXO23YI4kNtc4M/cKoIY7P+IYdrZcgMObvedyjoSQA==} peerDependencies: react: ^17.0.0-0 dependencies: function.prototype.name: 1.1.5 has: 1.0.3 - object.fromentries: 2.0.5 + object.fromentries: 2.0.6 prop-types: 15.8.1 react: 18.2.0 dev: true @@ -8342,8 +8665,8 @@ packages: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true - /@yarnpkg/parsers@3.0.0-rc.42: - resolution: {integrity: sha512-eW9Mbegmb5bJjwawJM9ghjUjUqciNMhC6L7XrQPF/clXS5bbP66MstsgCT5hy9VlfUh/CfBT+0Wucf531dMjHA==} + /@yarnpkg/parsers@3.0.0-rc.43: + resolution: {integrity: sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg==} engines: {node: '>=14.15.0'} dependencies: js-yaml: 3.14.1 @@ -8569,8 +8892,8 @@ packages: dependencies: string-width: 4.2.3 - /ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} /ansi-escapes@3.2.0: @@ -8625,6 +8948,11 @@ packages: engines: {node: '>=10'} dev: true + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true @@ -8636,6 +8964,14 @@ packages: normalize-path: 3.0.0 picomatch: 2.3.1 + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + /app-root-dir@1.0.2: resolution: {integrity: sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==} dev: true @@ -8668,7 +9004,7 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: delegates: 1.0.0 - readable-stream: 3.6.0 + readable-stream: 3.6.2 dev: true /are-we-there-yet@4.0.0: @@ -8676,7 +9012,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: delegates: 1.0.0 - readable-stream: 4.3.0 + readable-stream: 4.4.0 dev: true /arg@2.0.0: @@ -8699,14 +9035,6 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /aria-query@4.2.2: - resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} - engines: {node: '>=6.0'} - dependencies: - '@babel/runtime': 7.21.5 - '@babel/runtime-corejs3': 7.16.5 - dev: true - /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: @@ -8759,8 +9087,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /array.prototype.filter@1.0.1: - resolution: {integrity: sha512-Dk3Ty7N42Odk7PjU/Ci3zT4pLj20YvuVnneG/58ICM6bt4Ij5kZaJTVQ9TSaWaIECX2sFyz4KItkVZqHNnciqw==} + /array.prototype.filter@1.0.2: + resolution: {integrity: sha512-us+UrmGOilqttSOgoWZTpOvHu68vZT2YCjc/H4vhu56vzZpaDFBhB+Se2UwqWzMKbDv7Myq5M5pcZLAtUvTQdQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -8770,15 +9098,6 @@ packages: is-string: 1.0.7 dev: true - /array.prototype.flat@1.2.5: - resolution: {integrity: sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.19.1 - dev: true - /array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} @@ -8787,7 +9106,6 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 es-shim-unscopables: 1.0.0 - dev: false /array.prototype.flatmap@1.3.1: resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} @@ -8913,19 +9231,13 @@ packages: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: true - /aws4@1.11.0: - resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} - dev: true - - /axe-core@4.3.5: - resolution: {integrity: sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==} - engines: {node: '>=4'} + /aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} dev: true /axe-core@4.7.0: resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} engines: {node: '>=4'} - dev: false /axios@0.21.4(debug@4.3.4): resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} @@ -8945,25 +9257,20 @@ packages: - debug dev: true - /axobject-query@2.2.0: - resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} - dev: true - /axobject-query@3.1.1: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} dependencies: deep-equal: 2.2.1 - dev: false - /babel-core@7.0.0-bridge.0(@babel/core@7.21.5): + /babel-core@7.0.0-bridge.0(@babel/core@7.21.8): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 dev: true - /babel-eslint@10.1.0(eslint@8.39.0): + /babel-eslint@10.1.0(eslint@8.40.0): resolution: {integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==} engines: {node: '>=6'} deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. @@ -8971,10 +9278,10 @@ packages: eslint: '>= 4.12.1' dependencies: '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.5 + '@babel/parser': 7.21.8 '@babel/traverse': 7.21.5(supports-color@5.5.0) '@babel/types': 7.21.5 - eslint: 8.39.0 + eslint: 8.40.0 eslint-visitor-keys: 1.3.0 resolve: 1.22.2 transitivePeerDependencies: @@ -8988,18 +9295,18 @@ packages: babylon: 6.18.0 dev: false - /babel-jest@27.4.5(@babel/core@7.21.5): + /babel-jest@27.4.5(@babel/core@7.21.8): resolution: {integrity: sha512-3uuUTjXbgtODmSv/DXO9nZfD52IyC2OYTFaXGRzL0kpykzroaquCrD5+lZNafTvZlnNqZHt5pb0M08qVBZnsnA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@jest/transform': 27.4.5 '@jest/types': 27.4.2 - '@types/babel__core': 7.1.17 + '@types/babel__core': 7.20.0 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.4.0(@babel/core@7.21.5) + babel-preset-jest: 27.4.0(@babel/core@7.21.8) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -9007,17 +9314,17 @@ packages: - supports-color dev: true - /babel-jest@29.5.0(@babel/core@7.21.5): + /babel-jest@29.5.0(@babel/core@7.21.8): resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@jest/transform': 29.5.0 - '@types/babel__core': 7.1.17 + '@types/babel__core': 7.20.0 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.5.0(@babel/core@7.21.5) + babel-preset-jest: 29.5.0(@babel/core@7.21.8) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -9029,43 +9336,43 @@ packages: resolution: {integrity: sha512-Mh1j/rw4xM9T3YICkw22aBQ78FhsHdsmlb9NEk4uVAFBOg+Ez9ZgXXHugoBPCZui3XLomk/7/JBBH4daJqTkQQ==} dev: false - /babel-loader@8.2.3(@babel/core@7.21.5)(webpack@5.81.0): - resolution: {integrity: sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==} + /babel-loader@8.3.0(@babel/core@7.21.8)(webpack@5.81.0): + resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 find-cache-dir: 3.3.2 - loader-utils: 1.4.2 + loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 webpack: 5.81.0(esbuild@0.17.18) - dev: true - /babel-loader@8.3.0(@babel/core@7.21.5)(webpack@5.81.0): + /babel-loader@8.3.0(@babel/core@7.21.8)(webpack@5.82.1): resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.81.0(esbuild@0.17.18) + webpack: 5.82.1(esbuild@0.17.18) + dev: true - /babel-loader@9.1.2(@babel/core@7.21.5)(webpack@5.81.0): + /babel-loader@9.1.2(@babel/core@7.21.8)(webpack@5.81.0): resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 find-cache-dir: 3.3.2 schema-utils: 4.0.1 webpack: 5.81.0(esbuild@0.17.18) @@ -9092,7 +9399,7 @@ packages: '@babel/helper-plugin-utils': 7.21.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 5.1.0 + istanbul-lib-instrument: 5.2.1 test-exclude: 6.0.0 transitivePeerDependencies: - supports-color @@ -9104,8 +9411,8 @@ packages: dependencies: '@babel/template': 7.20.7 '@babel/types': 7.21.5 - '@types/babel__core': 7.1.17 - '@types/babel__traverse': 7.14.2 + '@types/babel__core': 7.20.0 + '@types/babel__traverse': 7.18.5 dev: true /babel-plugin-jest-hoist@29.5.0: @@ -9114,8 +9421,8 @@ packages: dependencies: '@babel/template': 7.20.7 '@babel/types': 7.21.5 - '@types/babel__core': 7.1.17 - '@types/babel__traverse': 7.14.2 + '@types/babel__core': 7.20.0 + '@types/babel__traverse': 7.18.5 dev: true /babel-plugin-lodash@3.3.4: @@ -9133,51 +9440,51 @@ packages: engines: {node: '>=10', npm: '>=6'} dependencies: '@babel/runtime': 7.21.5 - cosmiconfig: 7.0.1 + cosmiconfig: 7.1.0 resolve: 1.22.2 - /babel-plugin-named-asset-import@0.3.8(@babel/core@7.21.5): + /babel-plugin-named-asset-import@0.3.8(@babel/core@7.21.8): resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==} peerDependencies: '@babel/core': ^7.1.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 dev: true /babel-plugin-named-exports-order@0.0.2: resolution: {integrity: sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==} dev: true - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.5): + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.8): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.21.5 - '@babel/core': 7.21.5 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8) semver: 6.3.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.5): + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.8): resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8) core-js-compat: 3.30.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.5): + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.8): resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.5 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8) transitivePeerDependencies: - supports-color @@ -9191,14 +9498,14 @@ packages: - supports-color dev: true - /babel-plugin-remove-graphql-queries@5.9.0(@babel/core@7.21.5)(gatsby@5.9.0): + /babel-plugin-remove-graphql-queries@5.9.0(@babel/core@7.21.8)(gatsby@5.9.0): resolution: {integrity: sha512-moGeKUT+QZ+jZ3/PCUjNitp9ZEqQChm3FUjtoH97UlqbtzlA88SSBq/4uTnCXiXCVy+R6wHu/jhTp6U2dOBOnA==} engines: {node: '>=18.0.0'} peerDependencies: '@babel/core': ^7.0.0 gatsby: ^5.0.0-next dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/runtime': 7.21.5 '@babel/types': 7.21.5 gatsby: 5.9.0(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) @@ -9250,80 +9557,80 @@ packages: /babel-plugin-transform-react-remove-prop-types@0.4.24: resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.5): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.8): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.5) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.5) - dev: true - - /babel-preset-fbjs@3.4.0(@babel/core@7.21.5): + '@babel/core': 7.21.8 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8) + dev: true + + /babel-preset-fbjs@3.4.0(@babel/core@7.21.8): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.5) - '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.5) - '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.5) - '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.5) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.5) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.5) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.5) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.8) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8) + '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.8) + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.8) + '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.8) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.8) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.8) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 transitivePeerDependencies: - supports-color dev: false - /babel-preset-gatsby@3.9.0(@babel/core@7.21.5)(core-js@3.30.1): + /babel-preset-gatsby@3.9.0(@babel/core@7.21.8)(core-js@3.30.1): resolution: {integrity: sha512-mPWsCwz4tz6oTff6cSj8ZMDKFdsOhhRTp1VVdJDGlKSNg0x8+CamNJLsnIayJvv+PpoXEZuaNF5LOUZNGfx1oQ==} engines: {node: '>=18.0.0'} peerDependencies: '@babel/core': ^7.11.6 core-js: ^3.0.0 dependencies: - '@babel/core': 7.21.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.5) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.5) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.5) - '@babel/preset-env': 7.21.5(@babel/core@7.21.5) - '@babel/preset-react': 7.18.6(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.8) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.8) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.8) + '@babel/preset-env': 7.21.5(@babel/core@7.21.8) + '@babel/preset-react': 7.18.6(@babel/core@7.21.8) '@babel/runtime': 7.21.5 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-macros: 3.1.0 @@ -9335,45 +9642,45 @@ packages: - supports-color dev: false - /babel-preset-jest@27.4.0(@babel/core@7.21.5): + /babel-preset-jest@27.4.0(@babel/core@7.21.8): resolution: {integrity: sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 babel-plugin-jest-hoist: 27.4.0 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.5) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8) dev: true - /babel-preset-jest@29.5.0(@babel/core@7.21.5): + /babel-preset-jest@29.5.0(@babel/core@7.21.8): resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 babel-plugin-jest-hoist: 29.5.0 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.5) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8) dev: true /babel-preset-react-app@10.0.1: resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==} dependencies: - '@babel/core': 7.21.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-decorators': 7.16.5(@babel/core@7.21.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.5) - '@babel/preset-env': 7.21.5(@babel/core@7.21.5) - '@babel/preset-react': 7.18.6(@babel/core@7.21.5) - '@babel/preset-typescript': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.8) + '@babel/preset-env': 7.21.5(@babel/core@7.21.8) + '@babel/preset-react': 7.18.6(@babel/core@7.21.8) + '@babel/preset-typescript': 7.21.5(@babel/core@7.21.8) '@babel/runtime': 7.21.5 babel-plugin-macros: 3.1.0 babel-plugin-transform-react-remove-prop-types: 0.4.24 @@ -9456,7 +9763,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: cmd-shim: 6.0.1 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 read-cmd-shim: 4.0.0 write-file-atomic: 5.0.1 dev: true @@ -9688,31 +9995,28 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 9.0.1 - tar: 6.1.13 + tar: 6.1.11 unique-filename: 2.0.1 transitivePeerDependencies: - bluebird dev: true - /cacache@17.0.6: - resolution: {integrity: sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==} + /cacache@17.1.0: + resolution: {integrity: sha512-hXpFU+Z3AfVmNuiLve1qxWHMq0RSIt5gjCKAHi/M6DktwFwDdAXAtunl1i4WSKaaVcU9IsRvXFg42jTHigcC6Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.2 - glob: 10.2.2 + glob: 10.2.3 lru-cache: 7.18.3 minipass: 5.0.0 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 p-map: 4.0.0 - promise-inflight: 1.0.1 ssri: 10.0.4 - tar: 6.1.13 + tar: 6.1.11 unique-filename: 3.0.0 - transitivePeerDependencies: - - bluebird dev: true /cache-manager@2.11.1: @@ -9958,6 +10262,18 @@ packages: domelementtype: 2.2.0 domhandler: 4.3.1 domutils: 2.8.0 + dev: false + + /cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + dev: true /cheerio@1.0.0-rc.10: resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} @@ -9970,6 +10286,20 @@ packages: parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 tslib: 2.5.0 + dev: false + + /cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + dev: true /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} @@ -10018,6 +10348,11 @@ packages: resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} dev: true + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + dev: true + /cjs-module-lexer@1.2.2: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true @@ -10049,8 +10384,8 @@ packages: engines: {node: '>=6'} dev: true - /cli-spinners@2.8.0: - resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==} + /cli-spinners@2.9.0: + resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} engines: {node: '>=6'} dev: true @@ -10350,7 +10685,7 @@ packages: dependencies: buffer-from: 1.1.2 inherits: 2.0.4 - readable-stream: 3.6.0 + readable-stream: 3.6.2 typedarray: 0.0.6 dev: true @@ -10428,7 +10763,7 @@ packages: dependencies: add-stream: 1.0.0 conventional-changelog-writer: 5.0.1 - conventional-commits-parser: 3.2.3 + conventional-commits-parser: 3.2.4 dateformat: 3.0.3 get-pkg-repo: 4.2.1 git-raw-commits: 2.0.11 @@ -10471,8 +10806,8 @@ packages: modify-values: 1.0.1 dev: true - /conventional-commits-parser@3.2.3: - resolution: {integrity: sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==} + /conventional-commits-parser@3.2.4: + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} engines: {node: '>=10'} hasBin: true dependencies: @@ -10492,7 +10827,7 @@ packages: concat-stream: 2.0.0 conventional-changelog-preset-loader: 2.3.4 conventional-commits-filter: 2.0.7 - conventional-commits-parser: 3.2.3 + conventional-commits-parser: 3.2.4 git-raw-commits: 2.0.11 git-semver-tags: 4.1.1 meow: 8.1.2 @@ -10595,6 +10930,16 @@ packages: path-type: 4.0.0 yaml: 1.10.2 + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + /cosmiconfig@8.1.3: resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} engines: {node: '>=14'} @@ -10799,6 +11144,16 @@ packages: domutils: 2.8.0 nth-check: 2.0.1 + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + /css-to-react-native@3.0.0: resolution: {integrity: sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==} dependencies: @@ -10829,6 +11184,7 @@ packages: /css-what@5.1.0: resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==} engines: {node: '>= 6'} + dev: false /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} @@ -10938,6 +11294,10 @@ packages: /csstype@3.0.10: resolution: {integrity: sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==} + dev: false + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} /cypress@12.11.0: resolution: {integrity: sha512-TJE+CCWI26Hwr5Msb9GpQhFLubdYooW0fmlPwTsfiyxmngqc7+SZGLPeIkj2dTSSZSEtpQVzOzvcnzH0o8G7Vw==} @@ -10989,6 +11349,56 @@ packages: yauzl: 2.10.0 dev: true + /cypress@12.12.0: + resolution: {integrity: sha512-UU5wFQ7SMVCR/hyKok/KmzG6fpZgBHHfrXcHzDmPHWrT+UUetxFzQgt7cxCszlwfozckzwkd22dxMwl/vNkWRw==} + engines: {node: ^14.0.0 || ^16.0.0 || >=18.0.0} + hasBin: true + requiresBuild: true + dependencies: + '@cypress/request': 2.88.11 + '@cypress/xvfb': 1.2.4(supports-color@8.1.1) + '@types/node': 14.18.46 + '@types/sinonjs__fake-timers': 8.1.1 + '@types/sizzle': 2.3.3 + arch: 2.2.0 + blob-util: 2.0.2 + bluebird: 3.7.2 + buffer: 5.7.1 + cachedir: 2.3.0 + chalk: 4.1.2 + check-more-types: 2.24.0 + cli-cursor: 3.1.0 + cli-table3: 0.6.3 + commander: 6.2.1 + common-tags: 1.8.2 + dayjs: 1.11.7 + debug: 4.3.4(supports-color@8.1.1) + enquirer: 2.3.6 + eventemitter2: 6.4.7 + execa: 4.1.0 + executable: 4.1.1 + extract-zip: 2.0.1(supports-color@8.1.1) + figures: 3.2.0 + fs-extra: 9.1.0 + getos: 3.2.1 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + lazy-ass: 1.6.0 + listr2: 3.14.0(enquirer@2.3.6) + lodash: 4.17.21 + log-symbols: 4.1.0 + minimist: 1.2.8 + ospath: 1.2.2 + pretty-bytes: 5.6.0 + proxy-from-env: 1.0.0 + request-progress: 3.0.0 + semver: 7.5.0 + supports-color: 8.1.1 + tmp: 0.2.1 + untildify: 4.0.0 + yauzl: 2.10.0 + dev: true + /d3-array@1.2.4: resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==} dev: false @@ -11049,6 +11459,13 @@ packages: dependencies: d3-color: 2.0.0 + /d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + dependencies: + d3-color: 3.1.0 + dev: false + /d3-path@1.0.9: resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} @@ -11065,15 +11482,17 @@ packages: d3-array: 2.12.1 d3-shape: 1.3.7 - /d3-scale-chromatic@2.0.0: - resolution: {integrity: sha512-LLqy7dJSL8yDy7NRmf6xSlsFZ6zYvJ4BcWFE4zBrOPnQERv9zj24ohnXKRbyi9YHnYV+HN1oEO3iFK971/gkzA==} + /d3-scale-chromatic@3.0.0: + resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} + engines: {node: '>=12'} dependencies: - d3-color: 2.0.0 + d3-color: 3.1.0 d3-interpolate: 2.0.1 dev: false - /d3-scale@3.3.0: - resolution: {integrity: sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ==} + /d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} dependencies: d3-array: 2.12.1 d3-format: 1.4.5 @@ -11110,13 +11529,8 @@ packages: type: 1.2.0 dev: false - /damerau-levenshtein@1.0.7: - resolution: {integrity: sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==} - dev: true - /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dev: false /dargs@7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} @@ -11230,8 +11644,8 @@ packages: supports-color: 8.1.1 dev: true - /decamelize-keys@1.1.0: - resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 @@ -11319,8 +11733,8 @@ packages: dependencies: execa: 5.1.1 - /defaults@1.0.3: - resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true @@ -11359,6 +11773,20 @@ packages: slash: 3.0.0 dev: true + /del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.10 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + dev: true + /delaunator@4.0.1: resolution: {integrity: sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==} dev: false @@ -11474,7 +11902,7 @@ packages: '@types/debug': 0.0.30 '@types/get-port': 3.2.0 '@types/glob': 5.0.37 - '@types/lodash': 4.14.182 + '@types/lodash': 4.14.194 '@types/mkdirp': 0.5.2 '@types/node': 8.10.66 '@types/rimraf': 2.0.5 @@ -11505,8 +11933,8 @@ packages: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true - /diff-sequences@27.4.0: - resolution: {integrity: sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==} + /diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true @@ -11573,13 +12001,13 @@ packages: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: '@babel/runtime': 7.21.5 - csstype: 3.0.10 + csstype: 3.1.2 dev: false /dom-serializer@0.2.2: resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} dependencies: - domelementtype: 2.2.0 + domelementtype: 2.3.0 entities: 2.2.0 dev: true @@ -11590,6 +12018,14 @@ packages: domhandler: 4.3.0 entities: 2.2.0 + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + /domelementtype@1.3.1: resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} dev: true @@ -11597,6 +12033,10 @@ packages: /domelementtype@2.2.0: resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + /domexception@2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} @@ -11623,6 +12063,13 @@ packages: dependencies: domelementtype: 2.2.0 + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + /domutils@1.7.0: resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} dependencies: @@ -11637,6 +12084,14 @@ packages: domelementtype: 2.2.0 domhandler: 4.3.1 + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: @@ -11696,6 +12151,10 @@ packages: stream-shift: 1.0.1 dev: true + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: @@ -11800,7 +12259,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.12 - '@types/node': 16.11.16 + '@types/node': 20.1.3 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -11821,11 +12280,19 @@ packages: graceful-fs: 4.2.11 tapable: 2.2.1 + /enhanced-resolve@5.14.0: + resolution: {integrity: sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} dependencies: - ansi-colors: 4.1.1 + ansi-colors: 4.1.3 /entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} @@ -11845,8 +12312,8 @@ packages: engines: {node: '>=4'} hasBin: true - /enzyme-shallow-equal@1.0.4: - resolution: {integrity: sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==} + /enzyme-shallow-equal@1.0.5: + resolution: {integrity: sha512-i6cwm7hN630JXenxxJFBKzgLC3hMTafFQXflvzHgPmDhOBhxUWDe8AeRv1qp2/uWJ2Y8z5yLWMzmAfkTOiOCZg==} dependencies: has: 1.0.3 object-is: 1.1.5 @@ -11855,28 +12322,28 @@ packages: /enzyme@3.11.0: resolution: {integrity: sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==} dependencies: - array.prototype.flat: 1.2.5 - cheerio: 1.0.0-rc.10 - enzyme-shallow-equal: 1.0.4 + array.prototype.flat: 1.3.1 + cheerio: 1.0.0-rc.12 + enzyme-shallow-equal: 1.0.5 function.prototype.name: 1.1.5 has: 1.0.3 html-element-map: 1.3.1 is-boolean-object: 1.1.2 - is-callable: 1.2.4 - is-number-object: 1.0.6 + is-callable: 1.2.7 + is-number-object: 1.0.7 is-regex: 1.1.4 is-string: 1.0.7 is-subset: 0.1.1 lodash.escape: 4.0.1 lodash.isequal: 4.5.0 - object-inspect: 1.12.2 + object-inspect: 1.12.3 object-is: 1.1.5 object.assign: 4.1.4 - object.entries: 1.1.5 - object.values: 1.1.5 + object.entries: 1.1.6 + object.values: 1.1.6 raf: 3.4.1 rst-selector-parser: 2.2.3 - string.prototype.trim: 1.2.5 + string.prototype.trim: 1.2.7 dev: true /eol@0.9.1: @@ -11897,31 +12364,6 @@ packages: dependencies: stackframe: 1.3.4 - /es-abstract@1.19.1: - resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - get-intrinsic: 1.2.0 - get-symbol-description: 1.0.0 - has: 1.0.3 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-weakref: 1.0.2 - object-inspect: 1.12.3 - object-keys: 1.1.1 - object.assign: 4.1.4 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - unbox-primitive: 1.0.2 - /es-abstract@1.21.2: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} @@ -12118,16 +12560,16 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier@8.8.0(eslint@8.39.0): + /eslint-config-prettier@8.8.0(eslint@8.40.0): resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.39.0 + eslint: 8.40.0 dev: true - /eslint-config-react-app@6.0.0(@typescript-eslint/eslint-plugin@5.59.1)(@typescript-eslint/parser@5.59.1)(babel-eslint@10.1.0)(eslint-plugin-flowtype@5.10.0)(eslint-plugin-import@2.27.5)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.32.2)(eslint@7.32.0)(typescript@4.9.5): + /eslint-config-react-app@6.0.0(@typescript-eslint/eslint-plugin@5.59.5)(@typescript-eslint/parser@5.59.5)(babel-eslint@10.1.0)(eslint-plugin-flowtype@5.10.0)(eslint-plugin-import@2.27.5)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.32.2)(eslint@7.32.0)(typescript@4.9.5): resolution: {integrity: sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -12151,20 +12593,20 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) - babel-eslint: 10.1.0(eslint@8.39.0) + '@typescript-eslint/eslint-plugin': 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.5(eslint@8.40.0)(typescript@4.9.5) + babel-eslint: 10.1.0(eslint@8.40.0) confusing-browser-globals: 1.0.11 eslint: 7.32.0 - eslint-plugin-flowtype: 5.10.0(eslint@8.39.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.1)(eslint@8.39.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.39.0) - eslint-plugin-react: 7.32.2(eslint@8.39.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.39.0) + eslint-plugin-flowtype: 5.10.0(eslint@8.40.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.40.0) + eslint-plugin-react: 7.32.2(eslint@8.40.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.40.0) typescript: 4.9.5 dev: false - /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0)(jest@27.4.5)(typescript@4.9.5): + /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0)(jest@27.4.5)(typescript@4.9.5): resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -12174,21 +12616,21 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.21.5 - '@babel/eslint-parser': 7.16.5(@babel/core@7.21.5)(eslint@8.39.0) - '@rushstack/eslint-patch': 1.1.0 - '@typescript-eslint/eslint-plugin': 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@babel/core': 7.21.8 + '@babel/eslint-parser': 7.21.8(@babel/core@7.21.8)(eslint@8.40.0) + '@rushstack/eslint-patch': 1.2.0 + '@typescript-eslint/eslint-plugin': 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.5(eslint@8.40.0)(typescript@4.9.5) babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 - eslint: 8.39.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0) - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@5.59.1)(eslint@8.39.0) - eslint-plugin-jest: 25.3.0(@typescript-eslint/eslint-plugin@5.59.1)(eslint@8.39.0)(jest@27.4.5)(typescript@4.9.5) - eslint-plugin-jsx-a11y: 6.5.1(eslint@8.39.0) - eslint-plugin-react: 7.32.2(eslint@8.39.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.39.0) - eslint-plugin-testing-library: 5.0.1(eslint@8.39.0)(typescript@4.9.5) + eslint: 8.40.0 + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.5)(eslint@8.40.0)(jest@27.4.5)(typescript@4.9.5) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.40.0) + eslint-plugin-react: 7.32.2(eslint@8.40.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.40.0) + eslint-plugin-testing-library: 5.11.0(eslint@8.40.0)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -12199,7 +12641,7 @@ packages: - supports-color dev: true - /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0)(jest@29.5.0)(typescript@4.9.5): + /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0)(jest@29.5.0)(typescript@4.9.5): resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -12209,21 +12651,21 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.21.5 - '@babel/eslint-parser': 7.16.5(@babel/core@7.21.5)(eslint@8.39.0) - '@rushstack/eslint-patch': 1.1.0 - '@typescript-eslint/eslint-plugin': 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@babel/core': 7.21.8 + '@babel/eslint-parser': 7.21.8(@babel/core@7.21.8)(eslint@8.40.0) + '@rushstack/eslint-patch': 1.2.0 + '@typescript-eslint/eslint-plugin': 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.5(eslint@8.40.0)(typescript@4.9.5) babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 - eslint: 8.39.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0) - eslint-plugin-import: 2.25.3(@typescript-eslint/parser@5.59.1)(eslint@8.39.0) - eslint-plugin-jest: 25.3.0(@typescript-eslint/eslint-plugin@5.59.1)(eslint@8.39.0)(jest@29.5.0)(typescript@4.9.5) - eslint-plugin-jsx-a11y: 6.5.1(eslint@8.39.0) - eslint-plugin-react: 7.32.2(eslint@8.39.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.39.0) - eslint-plugin-testing-library: 5.0.1(eslint@8.39.0)(typescript@4.9.5) + eslint: 8.40.0 + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.5)(eslint@8.40.0)(jest@29.5.0)(typescript@4.9.5) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.40.0) + eslint-plugin-react: 7.32.2(eslint@8.40.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.40.0) + eslint-plugin-testing-library: 5.11.0(eslint@8.40.0)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -12234,15 +12676,6 @@ packages: - supports-color dev: true - /eslint-import-resolver-node@0.3.6: - resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} - dependencies: - debug: 3.2.7(supports-color@8.1.1) - resolve: 1.22.2 - transitivePeerDependencies: - - supports-color - dev: true - /eslint-import-resolver-node@0.3.7: resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} dependencies: @@ -12251,36 +12684,8 @@ packages: resolve: 1.22.2 transitivePeerDependencies: - supports-color - dev: false - /eslint-module-utils@2.7.1(@typescript-eslint/parser@5.59.1)(eslint-import-resolver-node@0.3.6): - resolution: {integrity: sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) - debug: 3.2.7(supports-color@8.1.1) - eslint-import-resolver-node: 0.3.6 - find-up: 2.1.0 - pkg-dir: 2.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.1)(eslint-import-resolver-node@0.3.7)(eslint@8.39.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint@8.40.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -12301,26 +12706,25 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.5(eslint@8.40.0)(typescript@4.9.5) debug: 3.2.7(supports-color@8.1.1) - eslint: 8.39.0 + eslint: 8.40.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color - dev: false - /eslint-plugin-flowtype@5.10.0(eslint@8.39.0): + /eslint-plugin-flowtype@5.10.0(eslint@8.40.0): resolution: {integrity: sha512-vcz32f+7TP+kvTUyMXZmCnNujBQZDNmcqPImw8b9PZ+16w1Qdm6ryRuYZYVaG9xRqqmAPr2Cs9FAX5gN+x/bjw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: eslint: ^7.1.0 dependencies: - eslint: 8.39.0 + eslint: 8.40.0 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: false - /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0): + /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0): resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -12328,45 +12732,14 @@ packages: '@babel/plugin-transform-react-jsx': ^7.14.9 eslint: ^8.1.0 dependencies: - '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.5) - '@babel/plugin-transform-react-jsx': 7.21.0(@babel/core@7.21.5) - eslint: 8.39.0 + '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.8) + '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.21.8) + eslint: 8.40.0 lodash: 4.17.21 string-natural-compare: 3.0.1 dev: true - /eslint-plugin-import@2.25.3(@typescript-eslint/parser@5.59.1)(eslint@8.39.0): - resolution: {integrity: sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) - array-includes: 3.1.6 - array.prototype.flat: 1.2.5 - debug: 2.6.9 - doctrine: 2.1.0 - eslint: 8.39.0 - eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.1(@typescript-eslint/parser@5.59.1)(eslint-import-resolver-node@0.3.6) - has: 1.0.3 - is-core-module: 2.12.0 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.2 - tsconfig-paths: 3.12.0 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.1)(eslint@8.39.0): + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -12376,15 +12749,15 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.5(eslint@8.40.0)(typescript@4.9.5) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7(supports-color@8.1.1) doctrine: 2.1.0 - eslint: 8.39.0 + eslint: 8.40.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.1)(eslint-import-resolver-node@0.3.7)(eslint@8.39.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.5)(eslint-import-resolver-node@0.3.7)(eslint@8.40.0) has: 1.0.3 is-core-module: 2.12.0 is-glob: 4.0.3 @@ -12397,10 +12770,9 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: false - /eslint-plugin-jest@25.3.0(@typescript-eslint/eslint-plugin@5.59.1)(eslint@8.39.0)(jest@27.4.5)(typescript@4.9.5): - resolution: {integrity: sha512-79WQtuBsTN1S8Y9+7euBYwxIOia/k7ykkl9OCBHL3xuww5ecursHy/D8GCIlvzHVWv85gOkS5Kv6Sh7RxOgK1Q==} + /eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.5)(eslint@8.40.0)(jest@27.4.5)(typescript@4.9.5): + resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0 @@ -12412,17 +12784,17 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/experimental-utils': 5.7.0(eslint@8.39.0)(typescript@4.9.5) - eslint: 8.39.0 + '@typescript-eslint/eslint-plugin': 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5) + '@typescript-eslint/experimental-utils': 5.59.5(eslint@8.40.0)(typescript@4.9.5) + eslint: 8.40.0 jest: 27.4.5 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jest@25.3.0(@typescript-eslint/eslint-plugin@5.59.1)(eslint@8.39.0)(jest@29.5.0)(typescript@4.9.5): - resolution: {integrity: sha512-79WQtuBsTN1S8Y9+7euBYwxIOia/k7ykkl9OCBHL3xuww5ecursHy/D8GCIlvzHVWv85gOkS5Kv6Sh7RxOgK1Q==} + /eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.5)(eslint@8.40.0)(jest@29.5.0)(typescript@4.9.5): + resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0 @@ -12434,37 +12806,16 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/experimental-utils': 5.7.0(eslint@8.39.0)(typescript@4.9.5) - eslint: 8.39.0 + '@typescript-eslint/eslint-plugin': 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5) + '@typescript-eslint/experimental-utils': 5.59.5(eslint@8.40.0)(typescript@4.9.5) + eslint: 8.40.0 jest: 29.5.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jsx-a11y@6.5.1(eslint@8.39.0): - resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - '@babel/runtime': 7.21.5 - aria-query: 4.2.2 - array-includes: 3.1.6 - ast-types-flow: 0.0.7 - axe-core: 4.3.5 - axobject-query: 2.2.0 - damerau-levenshtein: 1.0.7 - emoji-regex: 9.2.2 - eslint: 8.39.0 - has: 1.0.3 - jsx-ast-utils: 3.2.1 - language-tags: 1.0.5 - minimatch: 3.1.2 - dev: true - - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.39.0): + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.40.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -12479,7 +12830,7 @@ packages: axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.39.0 + eslint: 8.40.0 has: 1.0.3 jsx-ast-utils: 3.3.3 language-tags: 1.0.5 @@ -12487,9 +12838,8 @@ packages: object.entries: 1.1.6 object.fromentries: 2.0.6 semver: 6.3.0 - dev: false - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.39.0)(prettier@2.8.8): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.40.0)(prettier@2.8.8): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -12500,21 +12850,21 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.39.0 - eslint-config-prettier: 8.8.0(eslint@8.39.0) + eslint: 8.40.0 + eslint-config-prettier: 8.8.0(eslint@8.40.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.39.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.40.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.39.0 + eslint: 8.40.0 - /eslint-plugin-react@7.32.2(eslint@8.39.0): + /eslint-plugin-react@7.32.2(eslint@8.40.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -12524,7 +12874,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.39.0 + eslint: 8.40.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -12537,14 +12887,14 @@ packages: semver: 6.3.0 string.prototype.matchall: 4.0.8 - /eslint-plugin-testing-library@5.0.1(eslint@8.39.0)(typescript@4.9.5): - resolution: {integrity: sha512-8ZV4HbbacvOwu+adNnGpYd8E64NRcil2a11aFAbc/TZDUB/xxK2c8Z+LoeoHUbxNBGbTUdpAE4YUugxK85pcwQ==} + /eslint-plugin-testing-library@5.11.0(eslint@8.40.0)(typescript@4.9.5): + resolution: {integrity: sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/experimental-utils': 5.7.0(eslint@8.39.0)(typescript@4.9.5) - eslint: 8.39.0 + '@typescript-eslint/utils': 5.59.5(eslint@8.40.0)(typescript@4.9.5) + eslint: 8.40.0 transitivePeerDependencies: - supports-color - typescript @@ -12571,16 +12921,6 @@ packages: eslint-visitor-keys: 1.3.0 dev: false - /eslint-utils@3.0.0(eslint@8.39.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.39.0 - eslint-visitor-keys: 2.1.0 - dev: true - /eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} @@ -12590,8 +12930,8 @@ packages: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} engines: {node: '>=10'} - /eslint-visitor-keys@3.4.0: - resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + /eslint-visitor-keys@3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /eslint-webpack-plugin@2.7.0(eslint@7.32.0)(webpack@5.81.0): @@ -12611,7 +12951,7 @@ packages: webpack: 5.81.0(esbuild@0.17.18) dev: false - /eslint-webpack-plugin@3.2.0(eslint@8.39.0)(webpack@5.81.0): + /eslint-webpack-plugin@3.2.0(eslint@8.40.0)(webpack@5.81.0): resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -12619,7 +12959,7 @@ packages: webpack: ^5.0.0 dependencies: '@types/eslint': 7.29.0 - eslint: 8.39.0 + eslint: 8.40.0 jest-worker: 28.1.3 micromatch: 4.0.5 normalize-path: 3.0.0 @@ -12676,15 +13016,15 @@ packages: - supports-color dev: false - /eslint@8.39.0: - resolution: {integrity: sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==} + /eslint@8.40.0: + resolution: {integrity: sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.39.0) - '@eslint-community/regexpp': 4.5.0 - '@eslint/eslintrc': 2.0.2 - '@eslint/js': 8.39.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.40.0) + '@eslint-community/regexpp': 4.5.1 + '@eslint/eslintrc': 2.0.3 + '@eslint/js': 8.40.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -12695,8 +13035,8 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.0 - eslint-visitor-keys: 3.4.0 - espree: 9.5.1 + eslint-visitor-keys: 3.4.1 + espree: 9.5.2 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -12733,13 +13073,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: false - /espree@9.5.1: - resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + /espree@9.5.2: + resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.4.0 + eslint-visitor-keys: 3.4.1 /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -12856,9 +13196,9 @@ packages: engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 - get-stream: 6.0.1 + get-stream: 6.0.0 human-signals: 2.1.0 - is-stream: 2.0.1 + is-stream: 2.0.0 merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 @@ -12903,8 +13243,8 @@ packages: dependencies: '@jest/types': 27.4.2 ansi-styles: 5.2.0 - jest-get-type: 27.4.0 - jest-matcher-utils: 27.4.2 + jest-get-type: 27.5.1 + jest-matcher-utils: 27.5.1 jest-message-util: 27.4.2 jest-regex-util: 27.4.0 dev: true @@ -13144,6 +13484,12 @@ packages: dependencies: bser: 2.1.1 + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + /fbjs-css-vars@1.0.2: resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} dev: false @@ -13378,7 +13724,7 @@ packages: engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 - signal-exit: 4.0.1 + signal-exit: 4.0.2 dev: true /forever-agent@0.6.1: @@ -13417,7 +13763,7 @@ packages: webpack: 5.81.0(esbuild@0.17.18) dev: false - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.39.0)(typescript@4.9.5)(webpack@5.81.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.40.0)(typescript@4.9.5)(webpack@5.81.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -13437,7 +13783,7 @@ packages: chokidar: 3.5.3 cosmiconfig: 6.0.0 deepmerge: 4.3.1 - eslint: 8.39.0 + eslint: 8.40.0 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.1 @@ -13604,7 +13950,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.2.0 - es-abstract: 1.19.1 + es-abstract: 1.21.2 functions-have-names: 1.2.3 /functional-red-black-tree@1.0.1: @@ -13621,10 +13967,10 @@ packages: requiresBuild: true dependencies: '@babel/code-frame': 7.21.4 - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/generator': 7.21.5 '@babel/helper-plugin-utils': 7.21.5 - '@babel/preset-typescript': 7.21.5(@babel/core@7.21.5) + '@babel/preset-typescript': 7.21.5(@babel/core@7.21.8) '@babel/runtime': 7.21.5 '@babel/template': 7.20.7 '@babel/types': 7.21.5 @@ -13761,7 +14107,7 @@ packages: '@parcel/transformer-json': 2.8.3(@parcel/core@2.8.3) dev: false - /gatsby-plugin-image@3.9.0(@babel/core@7.21.5)(gatsby-plugin-sharp@5.9.0)(gatsby-source-filesystem@5.9.0)(gatsby@5.9.0)(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0): + /gatsby-plugin-image@3.9.0(@babel/core@7.21.8)(gatsby-plugin-sharp@5.9.0)(gatsby-source-filesystem@5.9.0)(gatsby@5.9.0)(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-9oTzosYPRwrw3BNgHgh+0BCpqBE83tBnuM7wuorHehdo1dmcGmz96e7qWfaRLY1LR08kxXLmbW0dWNZJXv66CQ==} peerDependencies: '@babel/core': ^7.12.3 @@ -13777,12 +14123,12 @@ packages: optional: true dependencies: '@babel/code-frame': 7.21.4 - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/parser': 7.21.5 '@babel/runtime': 7.21.5 '@babel/traverse': 7.21.5(supports-color@5.5.0) babel-jsx-utils: 1.1.0 - babel-plugin-remove-graphql-queries: 5.9.0(@babel/core@7.21.5)(gatsby@5.9.0) + babel-plugin-remove-graphql-queries: 5.9.0(@babel/core@7.21.8)(gatsby@5.9.0) camelcase: 6.3.0 chokidar: 3.5.3 common-tags: 1.8.2 @@ -13932,13 +14278,13 @@ packages: peerDependencies: gatsby: ^5.0.0-next dependencies: - '@babel/core': 7.21.5 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.5) - '@babel/preset-typescript': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) + '@babel/preset-typescript': 7.21.5(@babel/core@7.21.8) '@babel/runtime': 7.21.5 - babel-plugin-remove-graphql-queries: 5.9.0(@babel/core@7.21.5)(gatsby@5.9.0) + babel-plugin-remove-graphql-queries: 5.9.0(@babel/core@7.21.8)(gatsby@5.9.0) gatsby: 5.9.0(babel-eslint@10.1.0)(react-dom@18.2.0)(react@18.2.0)(typescript@4.9.5) transitivePeerDependencies: - supports-color @@ -14065,7 +14411,7 @@ packages: resolution: {integrity: sha512-mUcpiuIwLIUxBYEUfbLyfWHnNIazxtE2VPd1IGo6xDiS0kkYspfDd0KVOMJjM4n74AnRJYvwzFp9f3Vg3rnCOQ==} engines: {node: '>=18.0.0'} dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/runtime': 7.21.5 fs-extra: 11.1.1 signal-exit: 3.0.7 @@ -14083,8 +14429,8 @@ packages: react-dom: ^18.0.0 || ^0.0.0 dependencies: '@babel/code-frame': 7.21.4 - '@babel/core': 7.21.5 - '@babel/eslint-parser': 7.21.3(@babel/core@7.21.5)(eslint@7.32.0) + '@babel/core': 7.21.8 + '@babel/eslint-parser': 7.21.3(@babel/core@7.21.8)(eslint@7.32.0) '@babel/helper-plugin-utils': 7.21.5 '@babel/parser': 7.21.5 '@babel/runtime': 7.21.5 @@ -14098,7 +14444,7 @@ packages: '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) '@graphql-codegen/typescript': 2.8.8(graphql@16.6.0) '@graphql-codegen/typescript-operations': 2.5.13(graphql@16.6.0) - '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.21.5)(graphql@16.6.0) + '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.21.8)(graphql@16.6.0) '@graphql-tools/load': 7.8.14(graphql@16.6.0) '@jridgewell/trace-mapping': 0.3.18 '@nodelib/fs.walk': 1.2.8 @@ -14106,8 +14452,8 @@ packages: '@parcel/core': 2.8.3 '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.13.3)(webpack@5.81.0) '@types/http-proxy': 1.17.11 - '@typescript-eslint/eslint-plugin': 5.59.1(@typescript-eslint/parser@5.59.1)(eslint@8.39.0)(typescript@4.9.5) - '@typescript-eslint/parser': 5.59.1(eslint@8.39.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 5.59.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.5(eslint@8.40.0)(typescript@4.9.5) '@vercel/webpack-asset-relocator-loader': 1.7.3 acorn-loose: 8.3.0 acorn-walk: 8.2.0 @@ -14116,12 +14462,12 @@ packages: autoprefixer: 10.4.14(postcss@8.4.23) axios: 0.21.4(debug@4.3.4) babel-jsx-utils: 1.1.0 - babel-loader: 8.3.0(@babel/core@7.21.5)(webpack@5.81.0) + babel-loader: 8.3.0(@babel/core@7.21.8)(webpack@5.81.0) babel-plugin-add-module-exports: 1.0.4 babel-plugin-dynamic-import-node: 2.3.3 babel-plugin-lodash: 3.3.4 - babel-plugin-remove-graphql-queries: 5.9.0(@babel/core@7.21.5)(gatsby@5.9.0) - babel-preset-gatsby: 3.9.0(@babel/core@7.21.5)(core-js@3.30.1) + babel-plugin-remove-graphql-queries: 5.9.0(@babel/core@7.21.8)(gatsby@5.9.0) + babel-preset-gatsby: 3.9.0(@babel/core@7.21.8)(core-js@3.30.1) better-opn: 2.1.1 bluebird: 3.7.2 browserslist: 4.21.5 @@ -14145,12 +14491,12 @@ packages: enhanced-resolve: 5.13.0 error-stack-parser: 2.1.4 eslint: 7.32.0 - eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@5.59.1)(@typescript-eslint/parser@5.59.1)(babel-eslint@10.1.0)(eslint-plugin-flowtype@5.10.0)(eslint-plugin-import@2.27.5)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.32.2)(eslint@7.32.0)(typescript@4.9.5) - eslint-plugin-flowtype: 5.10.0(eslint@8.39.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.1)(eslint@8.39.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.39.0) - eslint-plugin-react: 7.32.2(eslint@8.39.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.39.0) + eslint-config-react-app: 6.0.0(@typescript-eslint/eslint-plugin@5.59.5)(@typescript-eslint/parser@5.59.5)(babel-eslint@10.1.0)(eslint-plugin-flowtype@5.10.0)(eslint-plugin-import@2.27.5)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.32.2)(eslint@7.32.0)(typescript@4.9.5) + eslint-plugin-flowtype: 5.10.0(eslint@8.40.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.5)(eslint@8.40.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.40.0) + eslint-plugin-react: 7.32.2(eslint@8.40.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.40.0) eslint-webpack-plugin: 2.7.0(eslint@7.32.0)(webpack@5.81.0) event-source-polyfill: 1.0.31 execa: 5.1.1 @@ -14312,7 +14658,7 @@ packages: color-support: 1.1.3 console-control-strings: 1.1.0 has-unicode: 2.0.1 - signal-exit: 4.0.1 + signal-exit: 4.0.2 string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 @@ -14352,7 +14698,7 @@ packages: hasBin: true dependencies: '@hutson/parse-repository-url': 3.0.2 - hosted-git-info: 4.0.2 + hosted-git-info: 4.1.0 through2: 2.0.5 yargs: 16.2.0 dev: true @@ -14516,16 +14862,16 @@ packages: /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - /glob@10.2.2: - resolution: {integrity: sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==} + /glob@10.2.3: + resolution: {integrity: sha512-Kb4rfmBVE3eQTAimgmeqc2LwSnN0wIOkkUL6HmxEFxNJ4fHghYHVbFba/HcGcRjE6s9KoMNK3rSOwkL4PioZjg==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.1.1 + jackspeak: 2.2.0 minimatch: 9.0.0 minipass: 5.0.0 - path-scurry: 1.7.0 + path-scurry: 1.8.0 dev: true /glob@7.1.4: @@ -14534,7 +14880,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.5 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -14578,7 +14924,7 @@ packages: fs.realpath: 1.0.0 minimatch: 8.0.4 minipass: 4.2.8 - path-scurry: 1.7.0 + path-scurry: 1.8.0 dev: true /global-dirs@3.0.1: @@ -14859,8 +15205,8 @@ packages: dependencies: lru-cache: 6.0.0 - /hosted-git-info@4.0.2: - resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==} + /hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 @@ -14885,13 +15231,13 @@ packages: dependencies: inherits: 2.0.4 obuf: 1.1.2 - readable-stream: 2.3.7 + readable-stream: 2.3.8 wbuf: 1.7.3 /html-element-map@1.3.1: resolution: {integrity: sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==} dependencies: - array.prototype.filter: 1.0.1 + array.prototype.filter: 1.0.2 call-bind: 1.0.2 dev: true @@ -14927,7 +15273,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.17.1 + terser: 5.17.3 dev: true /html-tags@3.1.0: @@ -14957,6 +15303,15 @@ packages: domutils: 2.8.0 entities: 2.2.0 + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -15192,8 +15547,8 @@ packages: engines: {node: '>=12.2'} dev: false - /import-local@3.0.3: - resolution: {integrity: sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==} + /import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} hasBin: true dependencies: @@ -15409,11 +15764,6 @@ packages: builtin-modules: 3.3.0 dev: true - /is-callable@1.2.4: - resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} - engines: {node: '>= 0.4'} - dev: true - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -15428,7 +15778,7 @@ packages: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true dependencies: - ci-info: 3.3.0 + ci-info: 3.8.0 dev: true /is-core-module@2.12.0: @@ -15549,6 +15899,13 @@ packages: dependencies: has-tostringtag: 1.0.0 + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -15788,7 +16145,7 @@ packages: resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -15796,12 +16153,12 @@ packages: - supports-color dev: true - /istanbul-lib-instrument@5.1.0: - resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.21.5 - '@babel/parser': 7.21.5 + '@babel/core': 7.21.8 + '@babel/parser': 7.21.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -15837,11 +16194,11 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /jackspeak@2.1.1: - resolution: {integrity: sha512-juf9stUEwUaILepraGOWIJTLwg48bUnBmRqd2ln2Os1sW987zeoj/hzhbvRB95oMuS2ZTpjULmdwHNX4rzZIZw==} + /jackspeak@2.2.0: + resolution: {integrity: sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==} engines: {node: '>=14'} dependencies: - cliui: 8.0.1 + '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 dev: true @@ -15885,21 +16242,21 @@ packages: '@jest/environment': 27.4.4 '@jest/test-result': 27.4.2 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 expect: 27.4.2 is-generator-fn: 2.1.0 jest-each: 27.4.2 - jest-matcher-utils: 27.4.2 + jest-matcher-utils: 27.5.1 jest-message-util: 27.4.2 jest-runtime: 27.4.5 jest-snapshot: 27.4.5 jest-util: 27.4.2 - pretty-format: 27.4.2 + pretty-format: 27.5.1 slash: 3.0.0 - stack-utils: 2.0.5 + stack-utils: 2.0.6 throat: 6.0.1 transitivePeerDependencies: - supports-color @@ -15913,7 +16270,7 @@ packages: '@jest/expect': 29.5.0 '@jest/test-result': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -15928,7 +16285,7 @@ packages: pretty-format: 29.5.0 pure-rand: 6.0.2 slash: 3.0.0 - stack-utils: 2.0.5 + stack-utils: 2.0.6 transitivePeerDependencies: - supports-color dev: true @@ -15949,7 +16306,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - import-local: 3.0.3 + import-local: 3.1.0 jest-config: 27.4.5 jest-util: 27.4.2 jest-validate: 27.4.2 @@ -15979,12 +16336,12 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - import-local: 3.0.3 - jest-config: 29.5.0(@types/node@16.11.16) + import-local: 3.1.0 + jest-config: 29.5.0(@types/node@20.1.3) jest-util: 29.5.0 jest-validate: 29.5.0 prompts: 2.4.2 - yargs: 17.7.1 + yargs: 17.7.2 transitivePeerDependencies: - '@types/node' - supports-color @@ -16000,19 +16357,19 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@jest/test-sequencer': 27.4.5 '@jest/types': 27.4.2 - babel-jest: 27.4.5(@babel/core@7.21.5) + babel-jest: 27.4.5(@babel/core@7.21.8) chalk: 4.1.2 - ci-info: 3.3.0 + ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 jest-circus: 27.4.5 jest-environment-jsdom: 27.4.4 jest-environment-node: 27.4.4 - jest-get-type: 27.4.0 + jest-get-type: 27.5.1 jest-jasmine2: 27.4.5 jest-regex-util: 27.4.0 jest-resolve: 27.4.5 @@ -16020,7 +16377,7 @@ packages: jest-util: 27.4.2 jest-validate: 27.4.2 micromatch: 4.0.5 - pretty-format: 27.4.2 + pretty-format: 27.5.1 slash: 3.0.0 transitivePeerDependencies: - bufferutil @@ -16029,7 +16386,7 @@ packages: - utf-8-validate dev: true - /jest-config@29.5.0(@types/node@16.11.16): + /jest-config@29.5.0(@types/node@20.1.3): resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -16041,13 +16398,13 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@jest/test-sequencer': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.16 - babel-jest: 29.5.0(@babel/core@7.21.5) + '@types/node': 20.1.3 + babel-jest: 29.5.0(@babel/core@7.21.8) chalk: 4.1.2 - ci-info: 3.3.0 + ci-info: 3.8.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 @@ -16068,14 +16425,14 @@ packages: - supports-color dev: true - /jest-diff@27.4.2: - resolution: {integrity: sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q==} + /jest-diff@27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: chalk: 4.1.2 - diff-sequences: 27.4.0 - jest-get-type: 27.4.0 - pretty-format: 27.4.2 + diff-sequences: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 dev: true /jest-diff@29.5.0: @@ -16108,9 +16465,9 @@ packages: dependencies: '@jest/types': 27.4.2 chalk: 4.1.2 - jest-get-type: 27.4.0 + jest-get-type: 27.5.1 jest-util: 27.4.2 - pretty-format: 27.4.2 + pretty-format: 27.5.1 dev: true /jest-each@29.5.0: @@ -16131,7 +16488,7 @@ packages: '@jest/environment': 27.4.4 '@jest/fake-timers': 27.4.2 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-mock: 27.4.2 jest-util: 27.4.2 jsdom: 16.7.0 @@ -16155,7 +16512,7 @@ packages: '@jest/fake-timers': 29.5.0 '@jest/types': 29.5.0 '@types/jsdom': 20.0.1 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-mock: 29.5.0 jest-util: 29.5.0 jsdom: 20.0.3 @@ -16172,7 +16529,7 @@ packages: '@jest/environment': 27.4.4 '@jest/fake-timers': 27.4.2 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-mock: 27.4.2 jest-util: 27.4.2 dev: true @@ -16184,7 +16541,7 @@ packages: '@jest/environment': 29.5.0 '@jest/fake-timers': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-mock: 29.5.0 jest-util: 29.5.0 dev: true @@ -16194,6 +16551,11 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dev: true + /jest-get-type@27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dev: true + /jest-get-type@29.4.3: resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -16205,7 +16567,7 @@ packages: dependencies: '@jest/types': 27.4.2 '@types/graceful-fs': 4.1.5 - '@types/node': 16.11.16 + '@types/node': 20.1.3 anymatch: 3.1.2 fb-watchman: 2.0.1 graceful-fs: 4.2.11 @@ -16224,10 +16586,10 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/graceful-fs': 4.1.5 - '@types/node': 16.11.16 - anymatch: 3.1.2 - fb-watchman: 2.0.1 + '@types/graceful-fs': 4.1.6 + '@types/node': 20.1.3 + anymatch: 3.1.3 + fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.4.3 jest-util: 29.5.0 @@ -16247,18 +16609,18 @@ packages: '@jest/source-map': 27.4.0 '@jest/test-result': 27.4.2 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 co: 4.6.0 expect: 27.4.2 is-generator-fn: 2.1.0 jest-each: 27.4.2 - jest-matcher-utils: 27.4.2 + jest-matcher-utils: 27.5.1 jest-message-util: 27.4.2 jest-runtime: 27.4.5 jest-snapshot: 27.4.5 jest-util: 27.4.2 - pretty-format: 27.4.2 + pretty-format: 27.5.1 throat: 6.0.1 transitivePeerDependencies: - supports-color @@ -16268,8 +16630,8 @@ packages: resolution: {integrity: sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - jest-get-type: 27.4.0 - pretty-format: 27.4.2 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 dev: true /jest-leak-detector@29.5.0: @@ -16280,14 +16642,14 @@ packages: pretty-format: 29.5.0 dev: true - /jest-matcher-utils@27.4.2: - resolution: {integrity: sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ==} + /jest-matcher-utils@27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: chalk: 4.1.2 - jest-diff: 27.4.2 - jest-get-type: 27.4.0 - pretty-format: 27.4.2 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 + pretty-format: 27.5.1 dev: true /jest-matcher-utils@29.5.0: @@ -16310,7 +16672,7 @@ packages: chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.5 - pretty-format: 27.4.2 + pretty-format: 27.5.1 slash: 3.0.0 stack-utils: 2.0.5 dev: true @@ -16327,7 +16689,7 @@ packages: micromatch: 4.0.5 pretty-format: 28.1.3 slash: 3.0.0 - stack-utils: 2.0.5 + stack-utils: 2.0.6 dev: true /jest-message-util@29.5.0: @@ -16342,7 +16704,7 @@ packages: micromatch: 4.0.5 pretty-format: 29.5.0 slash: 3.0.0 - stack-utils: 2.0.5 + stack-utils: 2.0.6 dev: true /jest-mock@27.4.2: @@ -16358,7 +16720,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-util: 29.5.0 dev: true @@ -16374,8 +16736,8 @@ packages: jest-resolve: 27.4.5 dev: true - /jest-pnp-resolver@1.2.2(jest-resolve@29.5.0): - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} + /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} peerDependencies: jest-resolve: '*' @@ -16445,7 +16807,7 @@ packages: chalk: 4.1.2 graceful-fs: 4.2.11 jest-haste-map: 29.5.0 - jest-pnp-resolver: 1.2.2(jest-resolve@29.5.0) + jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0) jest-util: 29.5.0 jest-validate: 29.5.0 resolve: 1.22.2 @@ -16462,7 +16824,7 @@ packages: '@jest/test-result': 27.4.2 '@jest/transform': 27.4.5 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 @@ -16495,7 +16857,7 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -16560,7 +16922,7 @@ packages: '@jest/test-result': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 @@ -16583,7 +16945,7 @@ packages: resolution: {integrity: sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 graceful-fs: 4.2.11 dev: true @@ -16591,29 +16953,29 @@ packages: resolution: {integrity: sha512-eCi/iM1YJFrJWiT9de4+RpWWWBqsHiYxFG9V9o/n0WXs6GpW4lUt4FAHAgFPTLPqCUVzrMQmSmTZSgQzwqR7IQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/generator': 7.21.5 - '@babel/parser': 7.21.5 - '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.5) + '@babel/parser': 7.21.8 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.8) '@babel/traverse': 7.21.5(supports-color@5.5.0) '@babel/types': 7.21.5 '@jest/transform': 27.4.5 '@jest/types': 27.4.2 - '@types/babel__traverse': 7.14.2 + '@types/babel__traverse': 7.18.5 '@types/prettier': 2.4.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.5) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8) chalk: 4.1.2 expect: 27.4.2 graceful-fs: 4.2.11 - jest-diff: 27.4.2 - jest-get-type: 27.4.0 + jest-diff: 27.5.1 + jest-get-type: 27.5.1 jest-haste-map: 27.4.5 - jest-matcher-utils: 27.4.2 + jest-matcher-utils: 27.5.1 jest-message-util: 27.4.2 jest-resolve: 27.4.5 jest-util: 27.4.2 natural-compare: 1.4.0 - pretty-format: 27.4.2 + pretty-format: 27.5.1 semver: 7.5.0 transitivePeerDependencies: - supports-color @@ -16623,18 +16985,18 @@ packages: resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/generator': 7.21.5 - '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.5) - '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.5) + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8) + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.8) '@babel/traverse': 7.21.5(supports-color@5.5.0) '@babel/types': 7.21.5 '@jest/expect-utils': 29.5.0 '@jest/transform': 29.5.0 '@jest/types': 29.5.0 - '@types/babel__traverse': 7.14.2 - '@types/prettier': 2.4.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.5) + '@types/babel__traverse': 7.18.5 + '@types/prettier': 2.7.2 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8) chalk: 4.1.2 expect: 29.5.0 graceful-fs: 4.2.11 @@ -16655,7 +17017,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 ci-info: 3.3.0 graceful-fs: 4.2.11 @@ -16667,9 +17029,9 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: '@jest/types': 28.1.3 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 - ci-info: 3.3.0 + ci-info: 3.8.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: true @@ -16679,9 +17041,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 chalk: 4.1.2 - ci-info: 3.3.0 + ci-info: 3.8.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: true @@ -16695,7 +17057,7 @@ packages: chalk: 4.1.2 jest-get-type: 27.4.0 leven: 3.1.0 - pretty-format: 27.4.2 + pretty-format: 27.5.1 dev: true /jest-validate@29.5.0: @@ -16732,7 +17094,7 @@ packages: dependencies: '@jest/test-result': 27.4.2 '@jest/types': 27.4.2 - '@types/node': 16.11.16 + '@types/node': 20.1.3 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.4.2 @@ -16745,7 +17107,7 @@ packages: dependencies: '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 16.11.16 + '@types/node': 20.1.3 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -16759,7 +17121,7 @@ packages: dependencies: '@jest/test-result': 29.5.0 '@jest/types': 29.5.0 - '@types/node': 16.11.16 + '@types/node': 20.1.3 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -16771,7 +17133,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 merge-stream: 2.0.0 supports-color: 7.2.0 @@ -16787,7 +17149,7 @@ packages: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -16796,7 +17158,7 @@ packages: resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 16.11.16 + '@types/node': 20.1.3 jest-util: 29.5.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16813,7 +17175,7 @@ packages: optional: true dependencies: '@jest/core': 27.4.5 - import-local: 3.0.3 + import-local: 3.1.0 jest-cli: 27.4.5 transitivePeerDependencies: - bufferutil @@ -16835,7 +17197,7 @@ packages: dependencies: '@jest/core': 29.5.0 '@jest/types': 29.5.0 - import-local: 3.0.3 + import-local: 3.1.0 jest-cli: 29.5.0 transitivePeerDependencies: - '@types/node' @@ -16906,17 +17268,17 @@ packages: peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/core': 7.21.5 - '@babel/parser': 7.21.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.5) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.5) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.5) - '@babel/preset-env': 7.21.5(@babel/core@7.21.5) - '@babel/preset-flow': 7.21.4(@babel/core@7.21.5) - '@babel/preset-typescript': 7.21.5(@babel/core@7.21.5) - '@babel/register': 7.16.5(@babel/core@7.21.5) - babel-core: 7.0.0-bridge.0(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/parser': 7.21.8 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) + '@babel/preset-env': 7.21.5(@babel/core@7.21.8) + '@babel/preset-flow': 7.21.4(@babel/core@7.21.8) + '@babel/preset-typescript': 7.21.5(@babel/core@7.21.8) + '@babel/register': 7.16.5(@babel/core@7.21.8) + babel-core: 7.0.0-bridge.0(@babel/core@7.21.8) chalk: 4.1.2 flow-parser: 0.205.0 graceful-fs: 4.2.11 @@ -17148,14 +17510,6 @@ packages: verror: 1.10.0 dev: true - /jsx-ast-utils@3.2.1: - resolution: {integrity: sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==} - engines: {node: '>=4.0'} - dependencies: - array-includes: 3.1.6 - object.assign: 4.1.4 - dev: true - /jsx-ast-utils@3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} @@ -17204,13 +17558,13 @@ packages: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} dev: false - /language-subtag-registry@0.3.21: - resolution: {integrity: sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==} + /language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} /language-tags@1.0.5: resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} dependencies: - language-subtag-registry: 0.3.21 + language-subtag-registry: 0.3.22 /latest-version@7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} @@ -17239,17 +17593,17 @@ packages: dotenv-expand: 10.0.0 dev: true - /lerna@6.6.1: - resolution: {integrity: sha512-WJtrvmbmR+6hMB9b5pvsxJzew0lRL6hARgW/My9BM4vYaxwPIA2I0riv3qQu5Zd7lYse7FEqJkTnl9Kn1bXhLA==} - engines: {node: ^14.15.0 || >=16.0.0} + /lerna@6.6.2: + resolution: {integrity: sha512-W4qrGhcdutkRdHEaDf9eqp7u4JvI+1TwFy5woX6OI8WPe4PYBdxuILAsvhp614fUG41rKSGDKlOh+AWzdSidTg==} + engines: {node: ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@lerna/child-process': 6.6.1 - '@lerna/create': 6.6.1 - '@lerna/legacy-package-management': 6.6.1(nx@15.9.3) + '@lerna/child-process': 6.6.2 + '@lerna/create': 6.6.2 + '@lerna/legacy-package-management': 6.6.2(nx@15.9.4) '@npmcli/arborist': 6.2.3 '@npmcli/run-script': 4.1.7 - '@nrwl/devkit': 15.9.3(nx@15.9.3) + '@nrwl/devkit': 15.9.4(nx@15.9.4) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.3 byte-size: 7.0.0 @@ -17274,14 +17628,14 @@ packages: globby: 11.1.0 graceful-fs: 4.2.10 has-unicode: 2.0.1 - import-local: 3.0.3 + import-local: 3.1.0 init-package-json: 3.0.2 inquirer: 8.2.5 is-ci: 2.0.0 is-stream: 2.0.0 js-yaml: 4.1.0 - libnpmaccess: 6.0.3 - libnpmpublish: 6.0.4 + libnpmaccess: 6.0.4 + libnpmpublish: 7.1.4 load-json-file: 6.2.0 make-dir: 3.1.0 minimatch: 3.0.5 @@ -17291,14 +17645,14 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 15.9.3 + nx: 15.9.4 p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 p-queue: 6.6.2 p-reduce: 2.1.0 p-waterfall: 2.1.1 - pacote: 13.6.2 + pacote: 15.1.1 pify: 5.0.0 read-cmd-shim: 3.0.0 read-package-json: 5.0.1 @@ -17349,8 +17703,8 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 - /libnpmaccess@6.0.3: - resolution: {integrity: sha512-4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg==} + /libnpmaccess@6.0.4: + resolution: {integrity: sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: aproba: 2.0.0 @@ -17362,17 +17716,19 @@ packages: - supports-color dev: true - /libnpmpublish@6.0.4: - resolution: {integrity: sha512-lvAEYW8mB8QblL6Q/PI/wMzKNvIrF7Kpujf/4fGS/32a2i3jzUXi04TNyIBcK6dQJ34IgywfaKGh+Jq4HYPFmg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + /libnpmpublish@7.1.4: + resolution: {integrity: sha512-mMntrhVwut5prP4rJ228eEbEyvIzLWhqFuY90j5QeXBCTT2pWSMno7Yo2S2qplPUr02zPurGH4heGLZ+wORczg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - normalize-package-data: 4.0.1 - npm-package-arg: 9.1.2 - npm-registry-fetch: 13.3.1 + ci-info: 3.8.0 + normalize-package-data: 5.0.0 + npm-package-arg: 10.1.0 + npm-registry-fetch: 14.0.5 + proc-log: 3.0.0 semver: 7.5.0 - ssri: 9.0.1 + sigstore: 1.5.0 + ssri: 10.0.4 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -17448,7 +17804,7 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -17458,7 +17814,7 @@ packages: resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} engines: {node: '>=8'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 parse-json: 5.2.0 strip-bom: 4.0.0 type-fest: 0.6.0 @@ -17466,16 +17822,7 @@ packages: /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - - /loader-utils@1.4.2: - resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} - engines: {node: '>=4.0.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 1.0.2 - dev: true + engines: {node: '>=6.11.5'} /loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} @@ -17762,7 +18109,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: agentkeepalive: 4.3.0 - cacache: 17.0.6 + cacache: 17.1.0 http-cache-semantics: 4.1.1 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 @@ -17777,7 +18124,6 @@ packages: socks-proxy-agent: 7.0.0 ssri: 10.0.4 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -17934,7 +18280,7 @@ packages: dependencies: '@types/minimist': 1.2.2 camelcase-keys: 6.2.2 - decamelize-keys: 1.1.0 + decamelize-keys: 1.1.1 hard-rejection: 2.1.0 minimist-options: 4.1.0 normalize-package-data: 3.0.3 @@ -17942,7 +18288,7 @@ packages: redent: 3.0.0 trim-newlines: 3.0.1 type-fest: 0.18.1 - yargs-parser: 20.2.9 + yargs-parser: 20.2.4 dev: true /merge-descriptors@1.0.1: @@ -18273,13 +18619,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@8.0.4: resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} @@ -18303,10 +18642,6 @@ packages: kind-of: 6.0.3 dev: true - /minimist@1.2.7: - resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} - dev: true - /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -18433,8 +18768,8 @@ packages: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} dev: false - /moo@0.5.1: - resolution: {integrity: sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==} + /moo@0.5.2: + resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} dev: true /mri@1.2.0: @@ -18504,7 +18839,7 @@ packages: array-differ: 3.0.0 array-union: 2.1.0 arrify: 2.0.1 - minimatch: 3.1.2 + minimatch: 3.0.5 dev: true /mute-stream@0.0.8: @@ -18538,7 +18873,7 @@ packages: hasBin: true dependencies: commander: 2.20.3 - moo: 0.5.1 + moo: 0.5.2 railroad-diagrams: 1.0.0 randexp: 0.4.6 dev: true @@ -18652,6 +18987,12 @@ packages: /node-gyp-build@4.3.0: resolution: {integrity: sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==} hasBin: true + dev: false + + /node-gyp-build@4.6.0: + resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + hasBin: true + dev: true /node-gyp@9.3.1: resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} @@ -18660,13 +19001,13 @@ packages: dependencies: env-paths: 2.2.1 glob: 7.2.3 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 make-fetch-happen: 10.2.1 nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 semver: 7.5.0 - tar: 6.1.13 + tar: 6.1.11 which: 2.0.2 transitivePeerDependencies: - bluebird @@ -18744,7 +19085,7 @@ packages: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} dependencies: - hosted-git-info: 4.0.2 + hosted-git-info: 4.1.0 is-core-module: 2.12.0 semver: 7.5.0 validate-npm-package-license: 3.0.4 @@ -18804,14 +19145,7 @@ packages: resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - npm-normalize-package-bin: 3.0.0 - dev: true - - /npm-install-checks@5.0.0: - resolution: {integrity: sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - semver: 7.5.0 + npm-normalize-package-bin: 3.0.1 dev: true /npm-install-checks@6.1.1: @@ -18825,13 +19159,8 @@ packages: resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} dev: true - /npm-normalize-package-bin@2.0.0: - resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dev: true - - /npm-normalize-package-bin@3.0.0: - resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==} + /npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true @@ -18882,22 +19211,12 @@ packages: ignore-walk: 6.0.3 dev: true - /npm-pick-manifest@7.0.2: - resolution: {integrity: sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - dependencies: - npm-install-checks: 5.0.0 - npm-normalize-package-bin: 2.0.0 - npm-package-arg: 9.1.2 - semver: 7.5.0 - dev: true - /npm-pick-manifest@8.0.1: resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: npm-install-checks: 6.1.1 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 semver: 7.5.0 dev: true @@ -18930,7 +19249,6 @@ packages: npm-package-arg: 10.1.0 proc-log: 3.0.0 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -18946,7 +19264,6 @@ packages: npm-package-arg: 10.1.0 proc-log: 3.0.0 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -19002,6 +19319,12 @@ packages: dependencies: boolbase: 1.0.0 + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + /null-loader@4.0.1(webpack@5.81.0): resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} engines: {node: '>= 10.13.0'} @@ -19021,8 +19344,8 @@ packages: resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} dev: true - /nx@15.9.3: - resolution: {integrity: sha512-GLwbykfTABc7/UZjQEEnV1bQbTVC53W+Zj4xWY640/45I4iZf/TUqKMBCgtLZ9v89gEsKOM4zsx55CqHT3bekA==} + /nx@15.9.4: + resolution: {integrity: sha512-P1G4t59UvE/lkHyruLeSOB5ZuNyh01IwU0tTUOi8f9s/NbP7+OQ8MYVwDV74JHTr6mQgjlS+n+4Eox8tVm9itA==} hasBin: true requiresBuild: true peerDependencies: @@ -19034,11 +19357,11 @@ packages: '@swc/core': optional: true dependencies: - '@nrwl/cli': 15.9.3 - '@nrwl/tao': 15.9.3 + '@nrwl/cli': 15.9.4 + '@nrwl/tao': 15.9.4 '@parcel/watcher': 2.0.4 '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.42 + '@yarnpkg/parsers': 3.0.0-rc.43 '@zkochan/js-yaml': 0.0.6 axios: 1.4.0 chalk: 4.1.2 @@ -19067,18 +19390,18 @@ packages: tsconfig-paths: 4.2.0 tslib: 2.5.0 v8-compile-cache: 2.3.0 - yargs: 17.7.1 + yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nrwl/nx-darwin-arm64': 15.9.3 - '@nrwl/nx-darwin-x64': 15.9.3 - '@nrwl/nx-linux-arm-gnueabihf': 15.9.3 - '@nrwl/nx-linux-arm64-gnu': 15.9.3 - '@nrwl/nx-linux-arm64-musl': 15.9.3 - '@nrwl/nx-linux-x64-gnu': 15.9.3 - '@nrwl/nx-linux-x64-musl': 15.9.3 - '@nrwl/nx-win32-arm64-msvc': 15.9.3 - '@nrwl/nx-win32-x64-msvc': 15.9.3 + '@nrwl/nx-darwin-arm64': 15.9.4 + '@nrwl/nx-darwin-x64': 15.9.4 + '@nrwl/nx-linux-arm-gnueabihf': 15.9.4 + '@nrwl/nx-linux-arm64-gnu': 15.9.4 + '@nrwl/nx-linux-arm64-musl': 15.9.4 + '@nrwl/nx-linux-x64-gnu': 15.9.4 + '@nrwl/nx-linux-x64-musl': 15.9.4 + '@nrwl/nx-win32-arm64-msvc': 15.9.4 + '@nrwl/nx-win32-x64-msvc': 15.9.4 transitivePeerDependencies: - debug dev: true @@ -19096,10 +19419,6 @@ packages: engines: {node: '>= 6'} dev: true - /object-inspect@1.12.2: - resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} - dev: true - /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} @@ -19123,15 +19442,6 @@ packages: has-symbols: 1.0.3 object-keys: 1.1.1 - /object.entries@1.1.5: - resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.19.1 - dev: true - /object.entries@1.1.6: resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} engines: {node: '>= 0.4'} @@ -19140,15 +19450,6 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 - /object.fromentries@2.0.5: - resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true - /object.fromentries@2.0.6: resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} engines: {node: '>= 0.4'} @@ -19172,15 +19473,6 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 - /object.values@1.1.5: - resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.19.1 - dev: true - /object.values@1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} @@ -19284,7 +19576,7 @@ packages: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.8.0 + cli-spinners: 2.9.0 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -19442,60 +19734,29 @@ packages: semver: 7.5.0 dev: false - /pacote@13.6.2: - resolution: {integrity: sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true - dependencies: - '@npmcli/git': 3.0.2 - '@npmcli/installed-package-contents': 1.0.7 - '@npmcli/promise-spawn': 3.0.0 - '@npmcli/run-script': 4.1.7 - cacache: 16.1.3 - chownr: 2.0.0 - fs-minipass: 2.1.0 - infer-owner: 1.0.4 - minipass: 3.3.6 - mkdirp: 1.0.4 - npm-package-arg: 9.1.2 - npm-packlist: 5.1.1 - npm-pick-manifest: 7.0.2 - npm-registry-fetch: 13.3.1 - proc-log: 2.0.1 - promise-retry: 2.0.1 - read-package-json: 5.0.1 - read-package-json-fast: 2.0.3 - rimraf: 3.0.2 - ssri: 9.0.1 - tar: 6.1.13 - transitivePeerDependencies: - - bluebird - - supports-color - dev: true - - /pacote@15.1.3: - resolution: {integrity: sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA==} + /pacote@15.1.1: + resolution: {integrity: sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: '@npmcli/git': 4.0.4 '@npmcli/installed-package-contents': 2.0.2 '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.1 - cacache: 17.0.6 + '@npmcli/run-script': 6.0.2 + cacache: 17.1.0 fs-minipass: 3.0.2 - minipass: 5.0.0 + minipass: 4.2.8 npm-package-arg: 10.1.0 npm-packlist: 7.0.4 npm-pick-manifest: 8.0.1 npm-registry-fetch: 14.0.5 proc-log: 3.0.0 promise-retry: 2.0.1 - read-package-json: 6.0.2 + read-package-json: 6.0.3 read-package-json-fast: 3.0.2 - sigstore: 1.4.0 + sigstore: 1.5.0 ssri: 10.0.4 - tar: 6.1.13 + tar: 6.1.11 transitivePeerDependencies: - bluebird - supports-color @@ -19566,6 +19827,14 @@ packages: resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} dependencies: parse5: 6.0.1 + dev: false + + /parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + dev: true /parse5@6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} @@ -19643,8 +19912,8 @@ packages: path-root-regex: 0.1.2 dev: false - /path-scurry@1.7.0: - resolution: {integrity: sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==} + /path-scurry@1.8.0: + resolution: {integrity: sha512-IjTrKseM404/UAWA8bBbL3Qp6O2wXkanuIE3seCxBH7ctRuvH1QRawy1N3nVDHGkdeZsjOsSe/8AQBL/VQCy2g==} engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 9.1.1 @@ -19751,11 +20020,9 @@ packages: engines: {node: '>= 6'} dev: true - /pkg-dir@2.0.0: - resolution: {integrity: sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==} - engines: {node: '>=4'} - dependencies: - find-up: 2.1.0 + /pirates@4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} dev: true /pkg-dir@3.0.0: @@ -20632,6 +20899,15 @@ packages: react-is: 17.0.2 dev: true + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + /pretty-format@28.1.3: resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -20805,6 +21081,10 @@ packages: resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} dev: true + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + /pstree.remy@1.1.8: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} dev: true @@ -21110,7 +21390,7 @@ packages: - vue-template-compiler dev: false - /react-dev-utils@12.0.1(eslint@8.39.0)(typescript@4.9.5)(webpack@5.81.0): + /react-dev-utils@12.0.1(eslint@8.40.0)(typescript@4.9.5)(webpack@5.81.0): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -21129,7 +21409,7 @@ packages: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.39.0)(typescript@4.9.5)(webpack@5.81.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.40.0)(typescript@4.9.5)(webpack@5.81.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -21165,7 +21445,7 @@ packages: engines: {node: '>=8.10.0'} hasBin: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@babel/generator': 7.21.5 '@babel/runtime': 7.21.5 ast-types: 0.14.2 @@ -21263,7 +21543,7 @@ packages: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} dev: false - /react-markdown@8.0.7(@types/react@18.2.0)(react@18.2.0): + /react-markdown@8.0.7(@types/react@18.2.6)(react@18.2.0): resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} peerDependencies: '@types/react': '>=16' @@ -21271,7 +21551,7 @@ packages: dependencies: '@types/hast': 2.3.4 '@types/prop-types': 15.7.4 - '@types/react': 18.2.0 + '@types/react': 18.2.6 '@types/unist': 2.0.6 comma-separated-tokens: 2.0.2 hast-util-whitespace: 2.0.0 @@ -21299,7 +21579,7 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0)(react@18.2.0)(typescript@4.9.5): + /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0)(react@18.2.0)(typescript@4.9.5): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -21311,12 +21591,12 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.21.5 + '@babel/core': 7.21.8 '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(webpack-dev-server@4.13.3)(webpack@5.81.0) '@svgr/webpack': 5.5.0 - babel-jest: 27.4.5(@babel/core@7.21.5) - babel-loader: 8.3.0(@babel/core@7.21.5)(webpack@5.81.0) - babel-plugin-named-asset-import: 0.3.8(@babel/core@7.21.5) + babel-jest: 27.4.5(@babel/core@7.21.8) + babel-loader: 8.3.0(@babel/core@7.21.8)(webpack@5.81.0) + babel-plugin-named-asset-import: 0.3.8(@babel/core@7.21.8) babel-preset-react-app: 10.0.1 bfj: 7.0.2 browserslist: 4.21.5 @@ -21326,9 +21606,9 @@ packages: css-minimizer-webpack-plugin: 3.4.1(webpack@5.81.0) dotenv: 10.0.0 dotenv-expand: 5.1.0 - eslint: 8.39.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.0)(eslint@8.39.0)(jest@27.4.5)(typescript@4.9.5) - eslint-webpack-plugin: 3.2.0(eslint@8.39.0)(webpack@5.81.0) + eslint: 8.40.0 + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.21.4)(@babel/plugin-transform-react-jsx@7.21.5)(eslint@8.40.0)(jest@27.4.5)(typescript@4.9.5) + eslint-webpack-plugin: 3.2.0(eslint@8.40.0)(webpack@5.81.0) file-loader: 6.2.0(webpack@5.81.0) fs-extra: 10.1.0 html-webpack-plugin: 5.5.1(webpack@5.81.0) @@ -21345,7 +21625,7 @@ packages: prompts: 2.4.2 react: 18.2.0 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1(eslint@8.39.0)(typescript@4.9.5)(webpack@5.81.0) + react-dev-utils: 12.0.1(eslint@8.40.0)(typescript@4.9.5)(webpack@5.81.0) react-refresh: 0.11.0 resolve: 1.22.2 resolve-url-loader: 4.0.0 @@ -21396,7 +21676,7 @@ packages: - webpack-plugin-serve dev: true - /react-select@4.3.1(@babel/core@7.21.5)(@types/react@18.2.0)(react-dom@18.2.0)(react@18.2.0): + /react-select@4.3.1(@babel/core@7.21.8)(@types/react@18.2.6)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-HBBd0dYwkF5aZk1zP81Wx5UsLIIT2lSvAY2JiJo199LjoLHoivjn9//KsmvQMEFGNhe58xyuOITjfxKCcGc62Q==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -21404,7 +21684,7 @@ packages: dependencies: '@babel/runtime': 7.21.5 '@emotion/cache': 11.7.1 - '@emotion/react': 11.7.1(@babel/core@7.21.5)(@types/react@18.2.0)(react@18.2.0) + '@emotion/react': 11.7.1(@babel/core@7.21.8)(@types/react@18.2.6)(react@18.2.0) memoize-one: 5.2.1 prop-types: 15.8.1 react: 18.2.0 @@ -21430,16 +21710,6 @@ packages: webpack: 5.81.0(esbuild@0.17.18) dev: false - /react-shallow-renderer@16.14.1(react@18.2.0): - resolution: {integrity: sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg==} - peerDependencies: - react: ^16.0.0 || ^17.0.0 - dependencies: - object-assign: 4.1.1 - react: 18.2.0 - react-is: 17.0.2 - dev: true - /react-shallow-renderer@16.15.0(react@18.2.0): resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} peerDependencies: @@ -21466,7 +21736,7 @@ packages: object-assign: 4.1.1 react: 18.2.0 react-is: 17.0.2 - react-shallow-renderer: 16.14.1(react@18.2.0) + react-shallow-renderer: 16.15.0(react@18.2.0) scheduler: 0.20.2 dev: true @@ -21530,7 +21800,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true /read-package-json@5.0.1: @@ -21543,14 +21813,14 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true - /read-package-json@6.0.2: - resolution: {integrity: sha512-Ismd3km1d/FGzcjm8fBf/4ktkyd0t6pbkjYqu1gvRzOzN+aTxi1eigdZp7441TlszQ+GsdYezgS+g9cgy8QK9w==} + /read-package-json@6.0.3: + resolution: {integrity: sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 10.2.2 + glob: 10.2.3 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 - npm-normalize-package-bin: 3.0.0 + npm-normalize-package-bin: 3.0.1 dev: true /read-pkg-up@3.0.0: @@ -21606,6 +21876,17 @@ packages: string_decoder: 1.1.1 util-deprecate: 1.0.2 + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + /readable-stream@3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} @@ -21614,8 +21895,17 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readable-stream@4.3.0: - resolution: {integrity: sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==} + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readable-stream@4.4.0: + resolution: {integrity: sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: abort-controller: 3.0.0 @@ -22012,14 +22302,14 @@ packages: glob: 9.3.5 dev: true - /rollup-plugin-cleanup@3.2.1(rollup@3.21.0): + /rollup-plugin-cleanup@3.2.1(rollup@3.21.6): resolution: {integrity: sha512-zuv8EhoO3TpnrU8MX8W7YxSbO4gmOR0ny06Lm3nkFfq0IVKdBUtHwhVzY1OAJyNCIAdLiyPnOrU0KnO0Fri1GQ==} engines: {node: ^10.14.2 || >=12.0.0} peerDependencies: rollup: '>=2.0' dependencies: js-cleanup: 1.2.0 - rollup: 3.21.0 + rollup: 3.21.6 rollup-pluginutils: 2.8.2 dev: true @@ -22038,7 +22328,7 @@ packages: - debug dev: true - /rollup-plugin-strip-banner@3.0.0(rollup@3.21.0): + /rollup-plugin-strip-banner@3.0.0(rollup@3.21.6): resolution: {integrity: sha512-LjIOLM29PAPEzGE6UBZhGNgkXEEMDpaUvl0nmeIG1u514pQQwTtXMzpxzFgUf1dx7B+N+CNSd5Pm7B7W3jl72w==} engines: {node: '>=10.0.0'} peerDependencies: @@ -22046,7 +22336,7 @@ packages: dependencies: extract-banner: 0.1.2 magic-string: 0.26.7 - rollup: 3.21.0 + rollup: 3.21.6 rollup-pluginutils: 2.8.2 dev: true @@ -22060,21 +22350,24 @@ packages: jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.17.1 + terser: 5.17.3 dev: true - /rollup-plugin-visualizer@5.5.2(rollup@3.21.0): - resolution: {integrity: sha512-sh+P9KhuWTzeStyRA5yNZpoEFGuj5Ph34JLMa9+muhU8CneFf9L0XE4fmAwAojJLWp//uLUEyytBPSCdZEg5AA==} - engines: {node: '>=10.16'} + /rollup-plugin-visualizer@5.9.0(rollup@3.21.6): + resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} + engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: ^2.0.0 + rollup: 2.x || 3.x + peerDependenciesMeta: + rollup: + optional: true dependencies: - nanoid: 3.3.6 - open: 7.4.2 - rollup: 3.21.0 - source-map: 0.7.3 - yargs: 16.2.0 + open: 8.4.2 + picomatch: 2.3.1 + rollup: 3.21.6 + source-map: 0.7.4 + yargs: 17.7.2 dev: true /rollup-pluginutils@2.8.2: @@ -22091,8 +22384,8 @@ packages: fsevents: 2.3.2 dev: true - /rollup@3.21.0: - resolution: {integrity: sha512-ANPhVcyeHvYdQMUyCbczy33nbLzI7RzrBje4uvNiTDJGIMtlKoOStmympwr9OtS1LZxiDmE2wvxHyVhoLtf1KQ==} + /rollup@3.21.6: + resolution: {integrity: sha512-SXIICxvxQxR3D4dp/3LDHZIJPC8a4anKMHd4E3Jiz2/JnY+2bEjqrOokAauc5ShGVNFHlEFjBXAXlaxkJqIqSg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -22424,8 +22717,8 @@ packages: - supports-color dev: false - /serve@13.0.2: - resolution: {integrity: sha512-71R6fKvNgKrqARAag6lYJNnxDzpH7DCNrMuvPY5PLVaC2PDhJsGTj/34o4o4tPWhTuLgEXqvgnAWbATQ9zGZTQ==} + /serve@13.0.4: + resolution: {integrity: sha512-Lj8rhXmphJCRQVv5qwu0NQZ2h+0MrRyRJxDZu5y3qLH2i/XY6a0FPj/VmjMUdkJb672MBfE8hJ274PU6JzBd0Q==} hasBin: true dependencies: '@zeit/schemas': 2.6.0 @@ -22525,8 +22818,8 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - /signal-exit@4.0.1: - resolution: {integrity: sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==} + /signal-exit@4.0.2: + resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==} engines: {node: '>=14'} dev: true @@ -22534,16 +22827,15 @@ packages: resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} dev: false - /sigstore@1.4.0: - resolution: {integrity: sha512-N7TRpSbFjY/TrFDg6yGAQSYBrQ5s6qmPiq4pD6fkv1LoyfMsLG0NwZWG2s5q+uttLHgyVyTa0Rogx2P78rN8kQ==} + /sigstore@1.5.0: + resolution: {integrity: sha512-i3nhvdobiPj8XrXNIggjeur6+A5iAQ4f+r1bR5SGitFJBbthy/6c7Fz0h+kY70Wua1FSMdDr/UEhXSVRXNpynw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: '@sigstore/protobuf-specs': 0.1.0 make-fetch-happen: 11.1.1 - tuf-js: 1.1.4 + tuf-js: 1.1.6 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -22740,8 +23032,8 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - /source-map@0.7.3: - resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} /source-map@0.8.0-beta.0: @@ -22764,11 +23056,11 @@ packages: resolution: {integrity: sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==} dev: false - /spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.11 + spdx-license-ids: 3.0.13 dev: true /spdx-exceptions@2.3.0: @@ -22779,11 +23071,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.11 + spdx-license-ids: 3.0.13 dev: true - /spdx-license-ids@3.0.11: - resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} dev: true /spdy-transport@3.0.0: @@ -22818,7 +23110,7 @@ packages: /split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: - readable-stream: 3.6.0 + readable-stream: 3.6.2 dev: true /split@1.0.1: @@ -22881,6 +23173,13 @@ packages: escape-string-regexp: 2.0.0 dev: true + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + /stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} @@ -22974,6 +23273,15 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.0.1 + dev: true + /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: @@ -22986,15 +23294,6 @@ packages: regexp.prototype.flags: 1.5.0 side-channel: 1.0.4 - /string.prototype.trim@1.2.5: - resolution: {integrity: sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.19.1 - dev: true - /string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} @@ -23457,8 +23756,8 @@ packages: resolution: {integrity: sha512-eLXG5B1G0mRPHmgH2WydPl5v4jH35qEn3y/rA/aahKhIa91Pn119SsU7n7v/433gtT9ONzC8ISvNHIh2JSTm0w==} engines: {node: '>=10'} dependencies: - del: 6.0.0 - is-stream: 2.0.1 + del: 6.1.1 + is-stream: 2.0.0 temp-dir: 2.0.0 type-fest: 0.16.0 unique-string: 2.0.0 @@ -23504,11 +23803,36 @@ packages: jest-worker: 27.5.1 schema-utils: 3.1.2 serialize-javascript: 6.0.1 - terser: 5.17.1 + terser: 5.17.3 webpack: 5.81.0(esbuild@0.17.18) - /terser@5.17.1: - resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} + /terser-webpack-plugin@5.3.8(esbuild@0.17.18)(webpack@5.82.1): + resolution: {integrity: sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + esbuild: 0.17.18 + jest-worker: 27.5.1 + schema-utils: 3.1.2 + serialize-javascript: 6.0.1 + terser: 5.17.3 + webpack: 5.82.1(esbuild@0.17.18) + dev: true + + /terser@5.17.3: + resolution: {integrity: sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg==} engines: {node: '>=10'} hasBin: true dependencies: @@ -23569,7 +23893,7 @@ packages: /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: - readable-stream: 3.6.0 + readable-stream: 3.6.2 dev: true /through@2.3.8: @@ -23656,7 +23980,7 @@ packages: resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} engines: {node: '>=6'} dependencies: - psl: 1.8.0 + psl: 1.9.0 punycode: 2.3.0 universalify: 0.2.0 url-parse: 1.5.10 @@ -23767,15 +24091,6 @@ packages: yn: 3.1.1 dev: false - /tsconfig-paths@3.12.0: - resolution: {integrity: sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.7 - strip-bom: 3.0.0 - dev: true - /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: @@ -23783,7 +24098,6 @@ packages: json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: false /tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} @@ -23813,14 +24127,14 @@ packages: tslib: 1.14.1 typescript: 4.9.5 - /tuf-js@1.1.4: - resolution: {integrity: sha512-Lw2JRM3HTYhEtQJM2Th3aNCPbnXirtWMl065BawwmM2pX6XStH/ZO9e8T2hh0zk/HUa+1i6j+Lv6eDitKTau6A==} + /tuf-js@1.1.6: + resolution: {integrity: sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@tufjs/models': 1.0.3 + '@tufjs/models': 1.0.4 + debug: 4.3.4(supports-color@5.5.0) make-fetch-happen: 11.1.1 transitivePeerDependencies: - - bluebird - supports-color dev: true @@ -24298,9 +24612,9 @@ packages: resolution: {integrity: sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==} engines: {node: '>=10.12.0'} dependencies: - '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 - source-map: 0.7.3 + source-map: 0.7.4 dev: true /v8-to-istanbul@9.1.0: @@ -24308,7 +24622,7 @@ packages: engines: {node: '>=10.12.0'} dependencies: '@jridgewell/trace-mapping': 0.3.18 - '@types/istanbul-lib-coverage': 2.0.3 + '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.9.0 dev: true @@ -24319,7 +24633,7 @@ packages: /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: - spdx-correct: 3.1.1 + spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 dev: true @@ -24423,7 +24737,7 @@ packages: /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: - defaults: 1.0.3 + defaults: 1.0.4 dev: true /weak-lru-cache@1.2.2: @@ -24627,6 +24941,46 @@ packages: - esbuild - uglify-js + /webpack@5.82.1(esbuild@0.17.18): + resolution: {integrity: sha512-C6uiGQJ+Gt4RyHXXYt+v9f+SN1v83x68URwgxNQ98cvH8kxiuywWGP4XeNZ1paOzZ63aY3cTciCEQJNFUljlLw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.4 + '@types/estree': 1.0.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.8.2 + acorn-import-assertions: 1.8.0(acorn@8.8.2) + browserslist: 4.21.5 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.14.0 + es-module-lexer: 1.2.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.1.2 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.8(esbuild@0.17.18)(webpack@5.82.1) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + /websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} engines: {node: '>=0.8.0'} @@ -24749,8 +25103,8 @@ packages: dependencies: isexe: 2.0.0 - /which@3.0.0: - resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + /which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: @@ -24864,10 +25218,10 @@ packages: engines: {node: '>=10.0.0'} dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.21.5 - '@babel/preset-env': 7.21.5(@babel/core@7.21.5) + '@babel/core': 7.21.8 + '@babel/preset-env': 7.21.5(@babel/core@7.21.8) '@babel/runtime': 7.21.5 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.5)(rollup@2.79.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.8)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -25096,13 +25450,22 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.0.1 + dev: true + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} /write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 imurmurhash: 0.1.4 signal-exit: 3.0.7 dev: true @@ -25136,7 +25499,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: imurmurhash: 0.1.4 - signal-exit: 4.0.1 + signal-exit: 4.0.2 dev: true /write-json-file@3.2.0: @@ -25144,7 +25507,7 @@ packages: engines: {node: '>=6'} dependencies: detect-indent: 5.0.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 make-dir: 2.1.0 pify: 4.0.1 sort-keys: 2.0.0 @@ -25333,7 +25696,7 @@ packages: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.9 + yargs-parser: 20.2.4 dev: true /yargs@17.7.1: @@ -25349,6 +25712,19 @@ packages: yargs-parser: 21.1.1 dev: true + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + /yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} dependencies: diff --git a/storybook/package.json b/storybook/package.json index 57eae8842a..3da88e650c 100644 --- a/storybook/package.json +++ b/storybook/package.json @@ -41,6 +41,7 @@ "@nivo/stream": "workspace:*", "@nivo/sunburst": "workspace:*", "@nivo/swarmplot": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/tooltip": "workspace:*", "@nivo/treemap": "workspace:*", "@nivo/voronoi": "workspace:*", @@ -55,11 +56,11 @@ "@storybook/testing-library": "^0.0.14-next.2", "@types/d3-random": "^1.1.3", "@types/d3-sankey": "^0.11.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", "d3-random": "^1.1.2", "d3-sankey": "^0.12.3", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5", "prop-types": "^15.8.1", "react": "^18.2.0", diff --git a/storybook/stories/bar/Bar.stories.tsx b/storybook/stories/bar/Bar.stories.tsx index aa2a3b8326..35f42e1801 100644 --- a/storybook/stories/bar/Bar.stories.tsx +++ b/storybook/stories/bar/Bar.stories.tsx @@ -1,7 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react' import { generateCountriesData, sets } from '@nivo/generators' import { random, range } from 'lodash' -import { useTheme } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { Bar, BarDatum, BarItemProps } from '@nivo/bar' import { AxisTickProps } from '@nivo/axes' diff --git a/storybook/stories/nivo-theme.ts b/storybook/stories/nivo-theme.ts index 6753ebe967..e90176952c 100644 --- a/storybook/stories/nivo-theme.ts +++ b/storybook/stories/nivo-theme.ts @@ -1,6 +1,6 @@ -import { Theme } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' -export const nivoTheme: Theme = { +export const nivoTheme: PartialTheme = { text: { fontFamily: `'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace`, }, diff --git a/storybook/stories/radial-bar/RadialBar.stories.tsx b/storybook/stories/radial-bar/RadialBar.stories.tsx index 3abbc4b1ad..268e563239 100644 --- a/storybook/stories/radial-bar/RadialBar.stories.tsx +++ b/storybook/stories/radial-bar/RadialBar.stories.tsx @@ -1,6 +1,6 @@ import type { Meta, StoryObj } from '@storybook/react' import { useEffect, useMemo, useState } from 'react' -import { Theme } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { categoricalColorSchemes } from '@nivo/colors' import { RadialBar, @@ -279,7 +279,7 @@ const demoPhases: { }, ] -const demoTheme: Theme = { +const demoTheme: PartialTheme = { axis: { domain: { line: { diff --git a/storybook/stories/sunburst/Sunburst.stories.tsx b/storybook/stories/sunburst/Sunburst.stories.tsx index 9b186394a5..fa7b49bb67 100644 --- a/storybook/stories/sunburst/Sunburst.stories.tsx +++ b/storybook/stories/sunburst/Sunburst.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryObj } from '@storybook/react' import { useState } from 'react' -import { linearGradientDef, patternDotsDef, useTheme } from '@nivo/core' +import { linearGradientDef, patternDotsDef } from '@nivo/core' +import { useTheme } from '@nivo/theming' import { generateLibTree } from '@nivo/generators' import { colorSchemes } from '@nivo/colors' import { Sunburst, ComputedDatum, SunburstCustomLayerProps } from '@nivo/sunburst' diff --git a/storybook/stories/swarmplot/SwarmPlotCustomCircle.tsx b/storybook/stories/swarmplot/SwarmPlotCustomCircle.tsx index c8be39b4d2..286df4b04d 100644 --- a/storybook/stories/swarmplot/SwarmPlotCustomCircle.tsx +++ b/storybook/stories/swarmplot/SwarmPlotCustomCircle.tsx @@ -1,5 +1,5 @@ import { useMemo } from 'react' -import { Theme } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { generateSwarmPlotData } from '@nivo/generators' import { useOrdinalColorScale } from '@nivo/colors' import { usePie } from '@nivo/pie' @@ -67,7 +67,7 @@ const ShadowsLayer = ({ nodes }: SwarmPlotCustomLayerProps) => ( ) -const theme: Theme = { +const theme: PartialTheme = { background: 'rgb(216, 218, 235)', axis: { ticks: { diff --git a/tsconfig.monorepo.json b/tsconfig.monorepo.json index f7f084084c..52682b4007 100644 --- a/tsconfig.monorepo.json +++ b/tsconfig.monorepo.json @@ -5,6 +5,8 @@ // { "path": "./packages/core" }, // Shared next because charts need them + { "path": "./packages/theming" }, + { "path": "./packages/text" }, { "path": "./packages/canvas" }, { "path": "./packages/annotations" }, { "path": "./packages/scales" }, diff --git a/website/package.json b/website/package.json index ec827d4de8..bd30890e03 100644 --- a/website/package.json +++ b/website/package.json @@ -33,20 +33,21 @@ "@nivo/stream": "workspace:*", "@nivo/sunburst": "workspace:*", "@nivo/swarmplot": "workspace:*", + "@nivo/theming": "workspace:*", "@nivo/treemap": "workspace:*", "@nivo/voronoi": "workspace:*", "@nivo/waffle": "workspace:*", "@react-spring/web": "9.4.5 || ^9.7.2", "@types/d3-format": "^1.4.1", "@types/d3-sankey": "^0.11.2", - "@types/d3-scale": "^3.2.3", + "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^2.0.0", "@types/react-helmet": "^6.1.4", "@types/styled-components": "^5.1.18", "babel-plugin-styled-components": "^2.0.2", "d3-format": "^1.4.4", "d3-sankey": "^0.12.3", - "d3-scale": "^3.2.3", + "d3-scale": "^4.0.2", "d3-shape": "^1.3.5", "dedent-js": "^1.0.1", "gatsby": "^5.9.0", diff --git a/website/src/@types/styled.d.ts b/website/src/@types/styled.d.ts index fadf6db436..68e6570e02 100644 --- a/website/src/@types/styled.d.ts +++ b/website/src/@types/styled.d.ts @@ -1,5 +1,5 @@ import 'styled-components' -import { Theme as NivoTheme } from '@nivo/core' +import { PartialTheme as NivoTheme } from '@nivo/theming' declare module 'styled-components' { export interface DefaultTheme { diff --git a/website/src/components/guides/axes/AxesLegend.tsx b/website/src/components/guides/axes/AxesLegend.tsx index b68d75d8ed..bbc8faf59b 100644 --- a/website/src/components/guides/axes/AxesLegend.tsx +++ b/website/src/components/guides/axes/AxesLegend.tsx @@ -1,9 +1,9 @@ import React from 'react' import { - ThemeProvider, // @ts-ignore MotionConfigProvider, } from '@nivo/core' +import { ThemeProvider } from '@nivo/theming' import { Axis } from '@nivo/axes' import { linearXScale, linearYScale } from './scales' import { FullWidthBanner, DescriptionBlock } from '../../styled' diff --git a/website/src/components/guides/axes/AxesPosition.tsx b/website/src/components/guides/axes/AxesPosition.tsx index 18f43d9ddc..f667205d20 100644 --- a/website/src/components/guides/axes/AxesPosition.tsx +++ b/website/src/components/guides/axes/AxesPosition.tsx @@ -1,9 +1,9 @@ import React from 'react' import { - ThemeProvider, // @ts-ignore MotionConfigProvider, } from '@nivo/core' +import { ThemeProvider } from '@nivo/theming' import { Axes } from '@nivo/axes' import { linearXScale, linearYScale } from './scales' import { FullWidthBanner, DescriptionBlock } from '../../styled' diff --git a/website/src/components/guides/axes/AxesTicks.tsx b/website/src/components/guides/axes/AxesTicks.tsx index 0a3d21f4c0..7f6c4bf492 100644 --- a/website/src/components/guides/axes/AxesTicks.tsx +++ b/website/src/components/guides/axes/AxesTicks.tsx @@ -1,9 +1,9 @@ import React from 'react' import { - ThemeProvider, // @ts-ignore MotionConfigProvider, } from '@nivo/core' +import { ThemeProvider } from '@nivo/theming' import { Axis } from '@nivo/axes' import { linearXScale, pointXScale, timeXScale, timeXScaleHours } from './scales' import { FullWidthBanner, DescriptionBlock } from '../../styled' diff --git a/website/src/components/guides/axes/theme.tsx b/website/src/components/guides/axes/theme.tsx index 33c48d19d0..97774d4e94 100644 --- a/website/src/components/guides/axes/theme.tsx +++ b/website/src/components/guides/axes/theme.tsx @@ -1,10 +1,10 @@ import { useMemo } from 'react' -import { Theme } from '@nivo/core' +import { PartialTheme } from '@nivo/theming' import { useTheme } from 'styled-components' -export const useAxisTheme = (): Theme => { +export const useAxisTheme = (): PartialTheme => { const theme = useTheme() - const nivoTheme: Theme = useMemo(() => { + const nivoTheme: PartialTheme = useMemo(() => { return { ...theme.nivo, axis: { diff --git a/website/src/components/guides/theming/ThemedBar.tsx b/website/src/components/guides/theming/ThemedBar.tsx index bc3d218ac6..3f424f3402 100644 --- a/website/src/components/guides/theming/ThemedBar.tsx +++ b/website/src/components/guides/theming/ThemedBar.tsx @@ -1,11 +1,11 @@ import React from 'react' -import { CompleteTheme } from '@nivo/core' -import { ResponsiveBar } from '@nivo/bar' +import { Theme } from '@nivo/theming' +import { ResponsiveBarCanvas } from '@nivo/bar' import { colorSchemes } from '@nivo/colors' -export const ThemedBar = ({ theme }: { theme: CompleteTheme }) => { +export const ThemedBar = ({ theme }: { theme: Theme }) => { return ( - { ]} theme={theme} colorBy="indexValue" - animate={false} enableGridX={true} axisBottom={{ legend: 'X axis legend', @@ -36,6 +35,7 @@ export const ThemedBar = ({ theme }: { theme: CompleteTheme }) => { legends={[ { anchor: 'top', + dataFrom: 'indexes', translateY: -28, itemWidth: 40, itemHeight: 12, diff --git a/website/src/components/guides/theming/ThemedHeatMap.tsx b/website/src/components/guides/theming/ThemedHeatMap.tsx index c93d9b662b..bb1bb261b8 100644 --- a/website/src/components/guides/theming/ThemedHeatMap.tsx +++ b/website/src/components/guides/theming/ThemedHeatMap.tsx @@ -1,9 +1,9 @@ import React, { useMemo } from 'react' -import { CompleteTheme } from '@nivo/core' +import { Theme } from '@nivo/theming' import { ResponsiveHeatMap } from '@nivo/heatmap' import { generateXYSeries } from '@nivo/generators' -export const ThemedHeatMap = ({ theme }: { theme: CompleteTheme }) => { +export const ThemedHeatMap = ({ theme }: { theme: Theme }) => { const data = useMemo( () => generateXYSeries({ diff --git a/website/src/components/guides/theming/ThemedLine.tsx b/website/src/components/guides/theming/ThemedLine.tsx index e0d3fe3aea..f1eeefda17 100644 --- a/website/src/components/guides/theming/ThemedLine.tsx +++ b/website/src/components/guides/theming/ThemedLine.tsx @@ -1,10 +1,10 @@ import React from 'react' -import { CompleteTheme } from '@nivo/core' -import { ResponsiveLine } from '@nivo/line' +import { Theme } from '@nivo/theming' +import { ResponsiveLineCanvas } from '@nivo/line' -export const ThemedLine = ({ theme }: { theme: CompleteTheme }) => { +export const ThemedLine = ({ theme }: { theme: Theme }) => { return ( - { }, ]} enablePoints - enablePointLabel pointSize={10} theme={theme} - animate={false} axisBottom={{ legend: 'X axis legend', legendPosition: 'middle', diff --git a/website/src/components/guides/theming/ThemedRadialBar.tsx b/website/src/components/guides/theming/ThemedRadialBar.tsx index 1f56a5e474..1b45a643bf 100644 --- a/website/src/components/guides/theming/ThemedRadialBar.tsx +++ b/website/src/components/guides/theming/ThemedRadialBar.tsx @@ -1,8 +1,8 @@ import React, { useMemo } from 'react' -import { CompleteTheme } from '@nivo/core' +import { Theme } from '@nivo/theming' import { ResponsiveRadialBar } from '@nivo/radial-bar' -export const ThemedRadialBar = ({ theme }: { theme: CompleteTheme }) => { +export const ThemedRadialBar = ({ theme }: { theme: Theme }) => { const data = useMemo( () => [ { diff --git a/website/src/components/guides/theming/defaults.ts b/website/src/components/guides/theming/defaults.ts index a12c71c5cc..4e6b4414fa 100644 --- a/website/src/components/guides/theming/defaults.ts +++ b/website/src/components/guides/theming/defaults.ts @@ -1,21 +1,15 @@ -import { - // @ts-ignore - defaultTheme as baseDefaultTheme, - // @ts-ignore - extendDefaultTheme, - CompleteTheme, -} from '@nivo/core' +import { Theme, defaultTheme as baseDefaultTheme, extendDefaultTheme } from '@nivo/theming' -const extendedTheme: CompleteTheme = extendDefaultTheme(baseDefaultTheme) +const extendedTheme: Theme = extendDefaultTheme(baseDefaultTheme) -const textDefaults: CompleteTheme['text'] = { +const textDefaults: Theme['text'] = { fontSize: extendedTheme.text.fontSize, fill: extendedTheme.text.fill, outlineWidth: extendedTheme.text.outlineWidth, outlineColor: extendedTheme.text.outlineColor, } -const axisDefaults: CompleteTheme['axis'] = { +const axisDefaults: Theme['axis'] = { domain: { line: { stroke: '#777777', // defaultTheme.axis.domain.line.stroke, @@ -44,14 +38,14 @@ const axisDefaults: CompleteTheme['axis'] = { }, } -const gridDefaults: CompleteTheme['grid'] = { +const gridDefaults: Theme['grid'] = { line: { stroke: extendedTheme.grid.line.stroke, strokeWidth: extendedTheme.grid.line.strokeWidth, }, } -const legendsDefaults: CompleteTheme['legends'] = { +const legendsDefaults: Theme['legends'] = { title: { text: { fontSize: extendedTheme.legends.title.text.fontSize, @@ -77,7 +71,7 @@ const legendsDefaults: CompleteTheme['legends'] = { }, } -const annotationsDefaults: CompleteTheme['annotations'] = { +const annotationsDefaults: Theme['annotations'] = { text: { fontSize: extendedTheme.annotations.text.fontSize, fill: extendedTheme.annotations.text.fill, @@ -107,7 +101,7 @@ const annotationsDefaults: CompleteTheme['annotations'] = { }, } -const tooltipDefaults: CompleteTheme['tooltip'] = { +const tooltipDefaults: Theme['tooltip'] = { container: { background: '#ffffff', color: extendedTheme.textColor, @@ -120,7 +114,7 @@ const tooltipDefaults: CompleteTheme['tooltip'] = { tableCellValue: {}, } -export const defaultTheme: CompleteTheme = { +export const defaultTheme: Theme = { background: '#ffffff', text: textDefaults, axis: axisDefaults, diff --git a/website/src/pages/guides/legends.tsx b/website/src/pages/guides/legends.tsx index a995280d93..3b61c8c938 100644 --- a/website/src/pages/guides/legends.tsx +++ b/website/src/pages/guides/legends.tsx @@ -1,7 +1,6 @@ import React from 'react' import { useTheme } from 'styled-components' -// @ts-ignore -import { themeContext } from '@nivo/core' +import { ThemeProvider } from '@nivo/theming' import Layout from '../../components/Layout' import { Seo } from '../../components/Seo' import PageContent from '../../components/PageContent' @@ -18,7 +17,7 @@ const Legends = () => { return ( - +

@@ -37,7 +36,7 @@ const Legends = () => { - + ) } diff --git a/website/src/pages/guides/theming.tsx b/website/src/pages/guides/theming.tsx index b82a6ad09c..b6fe3baa25 100644 --- a/website/src/pages/guides/theming.tsx +++ b/website/src/pages/guides/theming.tsx @@ -36,7 +36,7 @@ properties. const Theming = () => { const [theme, setTheme] = useState(defaultTheme) - const [mode, setMode] = useState('demo') + const [mode, setMode] = useState<'demo' | 'code'>('demo') return ( diff --git a/website/src/pages/parallel-coordinates/canvas.tsx b/website/src/pages/parallel-coordinates/canvas.tsx index b9040b22e8..9d8ad0ef08 100644 --- a/website/src/pages/parallel-coordinates/canvas.tsx +++ b/website/src/pages/parallel-coordinates/canvas.tsx @@ -13,15 +13,32 @@ import mapper from '../../data/components/parallel-coordinates/mapper' import { groups } from '../../data/components/parallel-coordinates/props' const variables = [ - { id: 'width', value: 'width', min: 0, max: 100, range: [0, 100] }, - { id: 'height', value: 'height', min: 0, max: 100, range: [0, 100] }, - { id: 'depth', value: 'depth', min: 0, max: 100, range: [0, 100] }, - { id: 'weight', value: 'weight', min: 0, max: 1000, range: [0, 1000] }, - { id: 'price', value: 'price', min: 0, max: 10, range: [0, 10], floating: true }, + { id: 'width', value: 'width', min: 0, max: 100, range: [0, 100] as [number, number] }, + { id: 'height', value: 'height', min: 0, max: 100, range: [0, 100] as [number, number] }, + { id: 'depth', value: 'depth', min: 0, max: 100, range: [0, 100] as [number, number] }, + { id: 'weight', value: 'weight', min: 0, max: 1000, range: [0, 1000] as [number, number] }, + { + id: 'price', + value: 'price', + min: 0, + max: 10, + range: [0, 10] as [number, number], + floating: true, + }, ] +interface Datum { + id: string + group: string + width: number + height: number + depth: number + weight: number + price: number +} + const initialProperties: Pick< - ParallelCoordinatesCanvasProps, + ParallelCoordinatesCanvasProps, | 'variables' | 'groupBy' | 'margin' diff --git a/website/tsconfig.json b/website/tsconfig.json index 8ed5a33adc..7ed232198b 100644 --- a/website/tsconfig.json +++ b/website/tsconfig.json @@ -11,6 +11,7 @@ "lib": ["dom", "esnext"], "target": "esnext", "jsx": "react", + "moduleResolution": "NodeNext", "skipLibCheck": true, "allowSyntheticDefaultImports": true, "esModuleInterop": true,