From 5464309ecf994096509e0fca45f94496cf2e579f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E6=B3=A5?= <1656081615@qq.com> Date: Wed, 13 Mar 2024 21:27:47 +0800 Subject: [PATCH] chore: upgrade dumi to v2.x (#2493) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): upgrade dumi from ^1.1.48 to ^2.1.13 * chore: modify prepare command * chore: modify gitignore * chore(ts): add new paths * docs: change single-tag to double-tag * chore: 调整 dumi 配置 * docs: demo 中的注释字段升级 * docs: 文档 FrontMatter 完善 * docs: 补充 en 文档的 FrontMatter * chore: rename dir * chore: 调整配置 * refactor: 调整样式 * docs: 调整 Hooks nav 的顺序 * docs: close tag * style: format * chore: use dumi contract routing * chore: remove comment & update i18n * chore: format & lint * chore: update eslint config & ts alias * chore: use dumi-theme-antd * chore: update * chore: update home page * docs: update i18n of useRequest * docs: update title * chore: update * chore: update dumi theme * docs: update * chore: update theme deps & config * chore: update lock * chore: update theme * docs: change demo to 2 cols * chore: change theme pkg name * chore: update dumi config * docs: request docs update * docs: update * chore: update dumi and dumi theme to latest * chore: demo - space wrap * docs: update * docs: remove h1 title * docs: update * docs: update --- .dumi/pages/index.en-US.tsx | 12 + .dumi/pages/index.zh-CN.tsx | 12 + .dumi/tsconfig.json | 4 + .dumirc.ts | 155 + .eslintrc.js | 2 + .gitignore | 5 +- .prettierrc | 3 +- README.md | 19 +- README.zh-CN.md | 17 +- config/config.ts | 208 - config/hooks.ts | 121 - docs/{guide => blog}/dom.en-US.md | 8 +- docs/{guide => blog}/dom.zh-CN.md | 8 +- docs/{guide => }/blog/function.en-US.md | 8 +- docs/{guide => }/blog/function.zh-CN.md | 8 +- docs/{guide => }/blog/hmr.en-US.md | 8 +- docs/{guide => }/blog/hmr.zh-CN.md | 8 +- docs/{guide => }/blog/ssr.en-US.md | 8 +- docs/{guide => }/blog/ssr.zh-CN.md | 8 +- docs/{guide => }/blog/strict.en-US.md | 8 +- docs/{guide => }/blog/strict.zh-CN.md | 8 +- docs/guide/index.en-US.md | 39 +- docs/guide/index.zh-CN.md | 39 +- docs/guide/upgrade.en-US.md | 8 +- docs/guide/upgrade.zh-CN.md | 8 +- docs/index.en-US.md | 81 - docs/index.zh-CN.md | 81 - package.json | 5 +- .../hooks/src/useAntdTable/demo/cache.tsx | 2 +- packages/hooks/src/useAntdTable/demo/form.tsx | 2 +- packages/hooks/src/useAntdTable/demo/init.tsx | 4 +- .../hooks/src/useAntdTable/demo/ready.tsx | 2 +- .../hooks/src/useAntdTable/demo/validate.tsx | 2 +- .../hooks/src/useAntdTable/index.en-US.md | 25 +- .../hooks/src/useAntdTable/index.zh-CN.md | 26 +- .../hooks/src/useAsyncEffect/demo/demo1.tsx | 6 +- .../hooks/src/useAsyncEffect/demo/demo2.tsx | 8 +- .../hooks/src/useAsyncEffect/index.en-US.md | 22 +- .../hooks/src/useAsyncEffect/index.zh-CN.md | 22 +- packages/hooks/src/useBoolean/demo/demo1.tsx | 23 +- packages/hooks/src/useBoolean/index.en-US.md | 17 +- packages/hooks/src/useBoolean/index.zh-CN.md | 17 +- .../hooks/src/useClickAway/demo/demo1.tsx | 12 +- .../hooks/src/useClickAway/demo/demo2.tsx | 11 +- .../hooks/src/useClickAway/demo/demo3.tsx | 16 +- .../hooks/src/useClickAway/demo/demo4.tsx | 12 +- .../hooks/src/useClickAway/demo/demo5.tsx | 12 +- .../hooks/src/useClickAway/demo/demo6.tsx | 14 +- .../hooks/src/useClickAway/index.en-US.md | 42 +- .../hooks/src/useClickAway/index.zh-CN.md | 42 +- .../src/useControllableValue/demo/demo1.tsx | 15 +- .../src/useControllableValue/demo/demo2.tsx | 18 +- .../src/useControllableValue/demo/demo3.tsx | 21 +- .../src/useControllableValue/index.en-US.md | 29 +- .../src/useControllableValue/index.zh-CN.md | 27 +- .../hooks/src/useCookieState/demo/demo1.tsx | 9 +- .../hooks/src/useCookieState/demo/demo2.tsx | 27 +- .../hooks/src/useCookieState/demo/demo3.tsx | 51 +- .../hooks/src/useCookieState/index.en-US.md | 27 +- .../hooks/src/useCookieState/index.zh-CN.md | 27 +- .../hooks/src/useCountDown/demo/demo1.tsx | 10 +- .../hooks/src/useCountDown/demo/demo2.tsx | 32 +- .../hooks/src/useCountDown/demo/demo3.tsx | 13 +- .../hooks/src/useCountDown/index.en-US.md | 41 +- .../hooks/src/useCountDown/index.zh-CN.md | 29 +- packages/hooks/src/useCounter/demo/demo1.tsx | 48 +- packages/hooks/src/useCounter/index.en-US.md | 17 +- packages/hooks/src/useCounter/index.zh-CN.md | 17 +- packages/hooks/src/useCreation/demo/demo1.tsx | 15 +- packages/hooks/src/useCreation/index.en-US.md | 17 +- packages/hooks/src/useCreation/index.zh-CN.md | 17 +- packages/hooks/src/useDebounce/demo/demo1.tsx | 22 +- packages/hooks/src/useDebounce/index.en-US.md | 17 +- packages/hooks/src/useDebounce/index.zh-CN.md | 17 +- .../src/useDebounceEffect/demo/demo1.tsx | 33 +- .../src/useDebounceEffect/index.en-US.md | 17 +- .../src/useDebounceEffect/index.zh-CN.md | 17 +- .../hooks/src/useDebounceFn/demo/demo1.tsx | 17 +- .../hooks/src/useDebounceFn/index.en-US.md | 17 +- .../hooks/src/useDebounceFn/index.zh-CN.md | 17 +- .../src/useDeepCompareEffect/demo/demo1.tsx | 18 +- .../src/useDeepCompareEffect/index.en-US.md | 17 +- .../src/useDeepCompareEffect/index.zh-CN.md | 17 +- .../useDeepCompareLayoutEffect/demo/demo1.tsx | 18 +- .../useDeepCompareLayoutEffect/index.en-US.md | 17 +- .../useDeepCompareLayoutEffect/index.zh-CN.md | 17 +- .../src/useDocumentVisibility/demo/demo1.tsx | 4 +- .../src/useDocumentVisibility/index.en-US.md | 15 +- .../src/useDocumentVisibility/index.zh-CN.md | 17 +- packages/hooks/src/useDrop/demo/demo1.tsx | 14 +- packages/hooks/src/useDrop/demo/demo2.tsx | 4 +- packages/hooks/src/useDrop/index.en-US.md | 38 +- packages/hooks/src/useDrop/index.zh-CN.md | 38 +- .../hooks/src/useDynamicList/demo/demo1.tsx | 39 +- .../hooks/src/useDynamicList/demo/demo2.tsx | 68 +- .../hooks/src/useDynamicList/demo/demo3.tsx | 92 +- .../hooks/src/useDynamicList/demo/demo4.tsx | 97 +- .../hooks/src/useDynamicList/index.en-US.md | 32 +- .../hooks/src/useDynamicList/index.zh-CN.md | 32 +- .../hooks/src/useEventEmitter/demo/demo1.tsx | 30 +- .../hooks/src/useEventEmitter/index.en-US.md | 17 +- .../hooks/src/useEventEmitter/index.zh-CN.md | 17 +- .../hooks/src/useEventListener/demo/demo1.tsx | 11 +- .../hooks/src/useEventListener/demo/demo2.tsx | 10 +- .../hooks/src/useEventListener/index.en-US.md | 22 +- .../hooks/src/useEventListener/index.zh-CN.md | 22 +- .../hooks/src/useEventTarget/demo/demo1.tsx | 19 +- .../hooks/src/useEventTarget/demo/demo2.tsx | 20 +- .../hooks/src/useEventTarget/index.en-US.md | 22 +- .../hooks/src/useEventTarget/index.zh-CN.md | 22 +- packages/hooks/src/useExternal/demo/demo1.tsx | 4 +- packages/hooks/src/useExternal/demo/demo2.tsx | 31 +- packages/hooks/src/useExternal/demo/demo3.tsx | 64 - packages/hooks/src/useExternal/index.en-US.md | 22 +- packages/hooks/src/useExternal/index.zh-CN.md | 22 +- packages/hooks/src/useFavicon/demo/demo1.tsx | 29 +- packages/hooks/src/useFavicon/index.en-US.md | 17 +- packages/hooks/src/useFavicon/index.zh-CN.md | 17 +- .../hooks/src/useFocusWithin/demo/demo1.tsx | 30 +- .../hooks/src/useFocusWithin/demo/demo2.tsx | 39 +- .../hooks/src/useFocusWithin/index.en-US.md | 22 +- .../hooks/src/useFocusWithin/index.zh-CN.md | 22 +- .../hooks/src/useFullscreen/demo/demo1.tsx | 24 +- .../hooks/src/useFullscreen/demo/demo2.tsx | 14 +- .../hooks/src/useFullscreen/demo/demo3.tsx | 23 +- .../hooks/src/useFullscreen/demo/demo4.tsx | 17 +- .../hooks/src/useFullscreen/index.en-US.md | 32 +- .../hooks/src/useFullscreen/index.zh-CN.md | 32 +- .../hooks/src/useFusionTable/demo/cache.tsx | 4 +- .../hooks/src/useFusionTable/demo/form.tsx | 4 +- .../hooks/src/useFusionTable/demo/init.tsx | 6 +- .../hooks/src/useFusionTable/demo/table.tsx | 2 +- .../src/useFusionTable/demo/validate.tsx | 6 +- .../hooks/src/useFusionTable/fusionAdapter.ts | 2 +- .../hooks/src/useFusionTable/index.en-US.md | 23 +- .../hooks/src/useFusionTable/index.zh-CN.md | 23 +- packages/hooks/src/useGetState/demo/demo1.tsx | 7 +- packages/hooks/src/useGetState/index.en-US.md | 17 +- packages/hooks/src/useGetState/index.zh-CN.md | 17 +- .../hooks/src/useHistoryTravel/demo/demo1.tsx | 21 +- .../hooks/src/useHistoryTravel/demo/demo2.tsx | 74 +- .../hooks/src/useHistoryTravel/demo/demo3.tsx | 34 +- .../hooks/src/useHistoryTravel/index.en-US.md | 27 +- .../hooks/src/useHistoryTravel/index.zh-CN.md | 27 +- packages/hooks/src/useHover/demo/demo1.tsx | 5 +- packages/hooks/src/useHover/demo/demo2.tsx | 6 +- packages/hooks/src/useHover/index.en-US.md | 22 +- packages/hooks/src/useHover/index.zh-CN.md | 22 +- .../hooks/src/useInViewport/demo/demo1.tsx | 20 +- .../hooks/src/useInViewport/demo/demo2.tsx | 21 +- .../hooks/src/useInViewport/demo/demo3.tsx | 16 +- .../hooks/src/useInViewport/index.en-US.md | 27 +- .../hooks/src/useInViewport/index.zh-CN.md | 27 +- .../src/useInfiniteScroll/demo/default.tsx | 7 +- .../src/useInfiniteScroll/demo/mutate.tsx | 11 +- .../src/useInfiniteScroll/demo/pagination.tsx | 7 +- .../src/useInfiniteScroll/demo/reload.tsx | 17 +- .../src/useInfiniteScroll/demo/scroll.tsx | 18 +- .../src/useInfiniteScroll/index.en-US.md | 23 +- .../src/useInfiniteScroll/index.zh-CN.md | 23 +- packages/hooks/src/useInterval/demo/demo1.tsx | 4 +- packages/hooks/src/useInterval/demo/demo2.tsx | 29 +- packages/hooks/src/useInterval/index.en-US.md | 22 +- packages/hooks/src/useInterval/index.zh-CN.md | 22 +- .../useIsomorphicLayoutEffect/index.en-US.md | 13 +- .../useIsomorphicLayoutEffect/index.zh-CN.md | 13 +- packages/hooks/src/useKeyPress/demo/demo1.tsx | 4 +- packages/hooks/src/useKeyPress/demo/demo2.tsx | 4 +- packages/hooks/src/useKeyPress/demo/demo3.tsx | 11 +- packages/hooks/src/useKeyPress/demo/demo4.tsx | 9 +- packages/hooks/src/useKeyPress/demo/demo5.tsx | 12 +- packages/hooks/src/useKeyPress/demo/demo6.tsx | 10 +- packages/hooks/src/useKeyPress/demo/demo7.tsx | 6 +- packages/hooks/src/useKeyPress/index.en-US.md | 47 +- packages/hooks/src/useKeyPress/index.zh-CN.md | 45 +- packages/hooks/src/useLatest/demo/demo1.tsx | 12 +- packages/hooks/src/useLatest/index.en-US.md | 17 +- packages/hooks/src/useLatest/index.zh-CN.md | 17 +- .../src/useLocalStorageState/demo/demo1.tsx | 19 +- .../src/useLocalStorageState/demo/demo2.tsx | 21 +- .../src/useLocalStorageState/demo/demo3.tsx | 19 +- .../src/useLocalStorageState/index.en-US.md | 27 +- .../src/useLocalStorageState/index.zh-CN.md | 27 +- packages/hooks/src/useLockFn/demo/demo1.tsx | 14 +- packages/hooks/src/useLockFn/index.en-US.md | 17 +- packages/hooks/src/useLockFn/index.zh-CN.md | 17 +- .../hooks/src/useLongPress/demo/demo1.tsx | 15 +- .../hooks/src/useLongPress/demo/demo2.tsx | 22 +- .../hooks/src/useLongPress/demo/demo3.tsx | 21 +- .../hooks/src/useLongPress/index.en-US.md | 29 +- .../hooks/src/useLongPress/index.zh-CN.md | 27 +- packages/hooks/src/useMap/demo/demo1.tsx | 33 +- packages/hooks/src/useMap/index.en-US.md | 17 +- packages/hooks/src/useMap/index.zh-CN.md | 15 +- .../hooks/src/useMemoizedFn/demo/demo1.tsx | 27 +- .../hooks/src/useMemoizedFn/demo/demo2.tsx | 52 +- .../hooks/src/useMemoizedFn/index.en-US.md | 22 +- .../hooks/src/useMemoizedFn/index.zh-CN.md | 22 +- packages/hooks/src/useMount/demo/demo1.tsx | 12 +- packages/hooks/src/useMount/index.en-US.md | 17 +- packages/hooks/src/useMount/index.zh-CN.md | 17 +- packages/hooks/src/useMouse/demo/demo1.tsx | 6 +- packages/hooks/src/useMouse/demo/demo2.tsx | 27 +- packages/hooks/src/useMouse/index.en-US.md | 22 +- packages/hooks/src/useMouse/index.zh-CN.md | 22 +- .../src/useMutationObserver/demo/demo1.tsx | 23 +- .../src/useMutationObserver/index.en-US.md | 17 +- .../src/useMutationObserver/index.zh-CN.md | 17 +- packages/hooks/src/useNetwork/demo/demo1.tsx | 6 +- packages/hooks/src/useNetwork/index.en-US.md | 17 +- packages/hooks/src/useNetwork/index.zh-CN.md | 17 +- .../hooks/src/usePagination/demo/demo1.tsx | 6 +- .../hooks/src/usePagination/demo/demo2.tsx | 4 +- .../hooks/src/usePagination/demo/demo3.tsx | 7 +- .../hooks/src/usePagination/demo/demo4.tsx | 11 +- .../hooks/src/usePagination/index.en-US.md | 23 +- .../hooks/src/usePagination/index.zh-CN.md | 23 +- packages/hooks/src/usePrevious/demo/demo1.tsx | 20 +- packages/hooks/src/usePrevious/demo/demo2.tsx | 43 +- packages/hooks/src/usePrevious/index.en-US.md | 22 +- packages/hooks/src/usePrevious/index.zh-CN.md | 22 +- .../hooks/src/useRafInterval/demo/demo1.tsx | 4 +- .../hooks/src/useRafInterval/demo/demo2.tsx | 39 +- .../hooks/src/useRafInterval/index.en-US.md | 22 +- .../hooks/src/useRafInterval/index.zh-CN.md | 22 +- packages/hooks/src/useRafState/demo/demo1.tsx | 2 +- packages/hooks/src/useRafState/index.en-US.md | 19 +- packages/hooks/src/useRafState/index.zh-CN.md | 19 +- .../hooks/src/useRafTimeout/demo/demo1.tsx | 4 +- .../hooks/src/useRafTimeout/demo/demo2.tsx | 32 +- .../hooks/src/useRafTimeout/index.en-US.md | 22 +- .../hooks/src/useRafTimeout/index.zh-CN.md | 22 +- packages/hooks/src/useReactive/demo/demo1.tsx | 32 +- packages/hooks/src/useReactive/demo/demo2.tsx | 62 +- packages/hooks/src/useReactive/demo/demo3.tsx | 34 +- packages/hooks/src/useReactive/demo/demo4.tsx | 19 +- packages/hooks/src/useReactive/demo/index.tsx | 68 - packages/hooks/src/useReactive/index.en-US.md | 34 +- packages/hooks/src/useReactive/index.zh-CN.md | 34 +- .../{doc => docs}/basic/demo/cancel.tsx | 19 +- .../{doc => docs}/basic/demo/default.tsx | 1 + .../{doc => docs}/basic/demo/lifeCycle.tsx | 15 +- .../{doc => docs}/basic/demo/manual-run.tsx | 19 +- .../basic/demo/manual-runAsync.tsx | 19 +- .../{doc => docs}/basic/demo/mutate.tsx | 23 +- .../{doc => docs}/basic/demo/params.tsx | 26 +- .../{doc => docs}/basic/demo/refresh.tsx | 12 +- .../basic/index.en-US.md} | 55 +- .../basic/index.zh-CN.md} | 55 +- .../{doc => docs}/cache/demo/cacheKey.tsx | 15 +- .../{doc => docs}/cache/demo/clearCache.tsx | 33 +- .../{doc => docs}/cache/demo/params.tsx | 38 +- .../{doc => docs}/cache/demo/setCache.tsx | 17 +- .../{doc => docs}/cache/demo/share.tsx | 14 +- .../{doc => docs}/cache/demo/staleTime.tsx | 15 +- .../cache/index.en-US.md} | 37 +- .../cache/index.zh-CN.md} | 37 +- .../{doc => docs}/debounce/demo/debounce.tsx | 6 +- .../debounce/index.en-US.md} | 15 +- .../debounce/index.zh-CN.md} | 15 +- .../{doc => docs}/index/demo/default.tsx | 1 + .../{doc => docs}/index/demo/manual.tsx | 18 +- .../{doc => docs}/index/index.en-US.md | 17 +- .../{doc => docs}/index/index.zh-CN.md | 17 +- .../loadingDelay/demo/loadingDelay.tsx | 15 +- .../loadingDelay/index.en-US.md} | 15 +- .../loadingDelay/index.zh-CN.md} | 15 +- .../{doc => docs}/polling/demo/polling.tsx | 15 +- .../polling/demo/pollingError.tsx | 16 +- .../polling/index.en-US.md} | 17 +- .../polling/index.zh-CN.md} | 17 +- .../{doc => docs}/ready/demo/manualReady.tsx | 30 +- .../{doc => docs}/ready/demo/ready.tsx | 22 +- .../ready/index.en-US.md} | 17 +- .../ready/index.zh-CN.md} | 17 +- .../refreshDeps/demo/refreshDeps.tsx | 0 .../refreshDeps/demo/refreshDepsAction.tsx | 4 +- .../refreshDeps/index.en-US.md} | 21 +- .../refreshDeps/index.zh-CN.md} | 21 +- .../demo/refreshOnWindowFocus.tsx | 4 +- .../refreshOnWindowFocus/index.en-US.md} | 15 +- .../refreshOnWindowFocus/index.zh-CN.md} | 15 +- .../{doc => docs}/retry/demo/retry.tsx | 16 +- .../retry/index.en-US.md} | 15 +- .../retry/index.zh-CN.md} | 15 +- .../{doc => docs}/throttle/demo/throttle.tsx | 15 +- .../throttle/index.en-US.md} | 15 +- .../throttle/index.zh-CN.md} | 15 +- .../hooks/src/useResetState/demo/demo1.tsx | 30 +- .../hooks/src/useResetState/index.en-US.md | 17 +- .../hooks/src/useResetState/index.zh-CN.md | 17 +- .../hooks/src/useResponsive/demo/demo1.tsx | 5 +- .../hooks/src/useResponsive/index.en-US.md | 19 +- .../hooks/src/useResponsive/index.zh-CN.md | 19 +- .../hooks/src/useSafeState/demo/demo1.tsx | 22 +- .../hooks/src/useSafeState/index.en-US.md | 17 +- .../hooks/src/useSafeState/index.zh-CN.md | 17 +- packages/hooks/src/useScroll/demo/demo1.tsx | 9 +- packages/hooks/src/useScroll/demo/demo2.tsx | 11 +- packages/hooks/src/useScroll/demo/demo3.tsx | 11 +- packages/hooks/src/useScroll/index.en-US.md | 27 +- packages/hooks/src/useScroll/index.zh-CN.md | 27 +- .../hooks/src/useSelections/demo/demo1.tsx | 6 +- .../hooks/src/useSelections/index.en-US.md | 15 +- .../hooks/src/useSelections/index.zh-CN.md | 15 +- .../src/useSessionStorageState/index.en-US.md | 13 +- .../src/useSessionStorageState/index.zh-CN.md | 13 +- packages/hooks/src/useSet/demo/demo1.tsx | 38 +- packages/hooks/src/useSet/index.en-US.md | 17 +- packages/hooks/src/useSet/index.zh-CN.md | 15 +- packages/hooks/src/useSetState/demo/demo1.tsx | 17 +- packages/hooks/src/useSetState/demo/demo2.tsx | 16 +- packages/hooks/src/useSetState/index.en-US.md | 22 +- packages/hooks/src/useSetState/index.zh-CN.md | 22 +- packages/hooks/src/useSize/demo/demo1.tsx | 5 +- packages/hooks/src/useSize/demo/demo2.tsx | 7 +- packages/hooks/src/useSize/index.en-US.md | 22 +- packages/hooks/src/useSize/index.ts | 10 +- packages/hooks/src/useSize/index.zh-CN.md | 22 +- .../hooks/src/useTextSelection/demo/demo1.tsx | 5 +- .../hooks/src/useTextSelection/demo/demo2.tsx | 22 +- .../hooks/src/useTextSelection/demo/demo3.tsx | 10 +- .../hooks/src/useTextSelection/index.en-US.md | 27 +- .../hooks/src/useTextSelection/index.zh-CN.md | 27 +- packages/hooks/src/useThrottle/demo/demo1.tsx | 18 +- packages/hooks/src/useThrottle/index.en-US.md | 17 +- packages/hooks/src/useThrottle/index.zh-CN.md | 17 +- .../src/useThrottleEffect/demo/demo1.tsx | 27 +- .../src/useThrottleEffect/index.en-US.md | 17 +- .../src/useThrottleEffect/index.zh-CN.md | 17 +- .../hooks/src/useThrottleFn/demo/demo1.tsx | 11 +- .../hooks/src/useThrottleFn/index.en-US.md | 17 +- .../hooks/src/useThrottleFn/index.zh-CN.md | 17 +- packages/hooks/src/useTimeout/demo/demo1.tsx | 5 +- packages/hooks/src/useTimeout/demo/demo2.tsx | 26 +- packages/hooks/src/useTimeout/index.en-US.md | 19 +- packages/hooks/src/useTimeout/index.zh-CN.md | 19 +- packages/hooks/src/useTitle/demo/demo1.tsx | 10 +- packages/hooks/src/useTitle/index.en-US.md | 17 +- packages/hooks/src/useTitle/index.zh-CN.md | 17 +- packages/hooks/src/useToggle/demo/demo1.tsx | 23 +- packages/hooks/src/useToggle/demo/demo2.tsx | 31 +- packages/hooks/src/useToggle/index.en-US.md | 22 +- packages/hooks/src/useToggle/index.zh-CN.md | 22 +- .../hooks/src/useTrackedEffect/demo/demo1.tsx | 15 +- .../hooks/src/useTrackedEffect/index.en-US.md | 17 +- packages/hooks/src/useTrackedEffect/index.ts | 4 +- .../hooks/src/useTrackedEffect/index.zh-CN.md | 17 +- packages/hooks/src/useUnmount/demo/demo1.tsx | 12 +- packages/hooks/src/useUnmount/index.en-US.md | 17 +- packages/hooks/src/useUnmount/index.zh-CN.md | 17 +- .../hooks/src/useUnmountedRef/demo/demo1.tsx | 13 +- .../hooks/src/useUnmountedRef/index.en-US.md | 17 +- .../hooks/src/useUnmountedRef/index.zh-CN.md | 17 +- packages/hooks/src/useUpdate/demo/demo1.tsx | 11 +- packages/hooks/src/useUpdate/index.en-US.md | 17 +- packages/hooks/src/useUpdate/index.zh-CN.md | 17 +- .../hooks/src/useUpdateEffect/demo/demo1.tsx | 14 +- .../hooks/src/useUpdateEffect/index.en-US.md | 17 +- .../hooks/src/useUpdateEffect/index.zh-CN.md | 17 +- .../src/useUpdateLayoutEffect/demo/demo1.tsx | 14 +- .../src/useUpdateLayoutEffect/index.en-US.md | 17 +- .../src/useUpdateLayoutEffect/index.zh-CN.md | 17 +- .../hooks/src/useVirtualList/demo/demo1.tsx | 10 +- .../hooks/src/useVirtualList/demo/demo2.tsx | 29 +- .../hooks/src/useVirtualList/index.en-US.md | 22 +- .../hooks/src/useVirtualList/index.zh-CN.md | 22 +- .../hooks/src/useWebSocket/demo/demo1.tsx | 57 +- .../hooks/src/useWebSocket/index.en-US.md | 19 +- .../hooks/src/useWebSocket/index.zh-CN.md | 19 +- .../src/useWhyDidYouUpdate/demo/demo1.tsx | 27 +- .../src/useWhyDidYouUpdate/index.en-US.md | 17 +- .../src/useWhyDidYouUpdate/index.zh-CN.md | 17 +- packages/hooks/tsconfig.json | 7 +- packages/use-url-state/README.md | 41 - ...{use-url-state.en-US.md => index.en-US.md} | 21 +- ...{use-url-state.zh-CN.md => index.zh-CN.md} | 21 +- .../use-url-state/{ => src}/demo/demo1.tsx | 4 +- .../use-url-state/{ => src}/demo/demo2.tsx | 4 +- .../use-url-state/{ => src}/demo/demo3.tsx | 4 +- .../use-url-state/{ => src}/demo/demo4.tsx | 0 packages/use-url-state/tsconfig.json | 6 +- pnpm-lock.yaml | 13078 ++++++++++++---- public/style.css | 29 +- tsconfig.json | 4 - 385 files changed, 13400 insertions(+), 7637 deletions(-) create mode 100644 .dumi/pages/index.en-US.tsx create mode 100644 .dumi/pages/index.zh-CN.tsx create mode 100644 .dumi/tsconfig.json create mode 100644 .dumirc.ts delete mode 100644 config/config.ts delete mode 100644 config/hooks.ts rename docs/{guide => blog}/dom.en-US.md (94%) rename docs/{guide => blog}/dom.zh-CN.md (94%) rename docs/{guide => }/blog/function.en-US.md (96%) rename docs/{guide => }/blog/function.zh-CN.md (96%) rename docs/{guide => }/blog/hmr.en-US.md (99%) rename docs/{guide => }/blog/hmr.zh-CN.md (99%) rename docs/{guide => }/blog/ssr.en-US.md (98%) rename docs/{guide => }/blog/ssr.zh-CN.md (98%) rename docs/{guide => }/blog/strict.en-US.md (97%) rename docs/{guide => }/blog/strict.zh-CN.md (97%) delete mode 100644 docs/index.en-US.md delete mode 100644 docs/index.zh-CN.md delete mode 100644 packages/hooks/src/useExternal/demo/demo3.tsx delete mode 100644 packages/hooks/src/useReactive/demo/index.tsx rename packages/hooks/src/useRequest/{doc => docs}/basic/demo/cancel.tsx (74%) rename packages/hooks/src/useRequest/{doc => docs}/basic/demo/default.tsx (99%) rename packages/hooks/src/useRequest/{doc => docs}/basic/demo/lifeCycle.tsx (83%) rename packages/hooks/src/useRequest/{doc => docs}/basic/demo/manual-run.tsx (65%) rename packages/hooks/src/useRequest/{doc => docs}/basic/demo/manual-runAsync.tsx (67%) rename packages/hooks/src/useRequest/{doc => docs}/basic/demo/mutate.tsx (79%) rename packages/hooks/src/useRequest/{doc => docs}/basic/demo/params.tsx (61%) rename packages/hooks/src/useRequest/{doc => docs}/basic/demo/refresh.tsx (82%) rename packages/hooks/src/useRequest/{doc/basic/basic.en-US.md => docs/basic/index.en-US.md} (92%) rename packages/hooks/src/useRequest/{doc/basic/basic.zh-CN.md => docs/basic/index.zh-CN.md} (92%) rename packages/hooks/src/useRequest/{doc => docs}/cache/demo/cacheKey.tsx (81%) rename packages/hooks/src/useRequest/{doc => docs}/cache/demo/clearCache.tsx (66%) rename packages/hooks/src/useRequest/{doc => docs}/cache/demo/params.tsx (63%) rename packages/hooks/src/useRequest/{doc => docs}/cache/demo/setCache.tsx (76%) rename packages/hooks/src/useRequest/{doc => docs}/cache/demo/share.tsx (85%) rename packages/hooks/src/useRequest/{doc => docs}/cache/demo/staleTime.tsx (81%) rename packages/hooks/src/useRequest/{doc/cache/cache.en-US.md => docs/cache/index.en-US.md} (92%) rename packages/hooks/src/useRequest/{doc/cache/cache.zh-CN.md => docs/cache/index.zh-CN.md} (91%) rename packages/hooks/src/useRequest/{doc => docs}/debounce/demo/debounce.tsx (83%) rename packages/hooks/src/useRequest/{doc/debounce/debounce.en-US.md => docs/debounce/index.en-US.md} (93%) rename packages/hooks/src/useRequest/{doc/debounce/debounce.zh-CN.md => docs/debounce/index.zh-CN.md} (92%) rename packages/hooks/src/useRequest/{doc => docs}/index/demo/default.tsx (99%) rename packages/hooks/src/useRequest/{doc => docs}/index/demo/manual.tsx (73%) rename packages/hooks/src/useRequest/{doc => docs}/index/index.en-US.md (88%) rename packages/hooks/src/useRequest/{doc => docs}/index/index.zh-CN.md (87%) rename packages/hooks/src/useRequest/{doc => docs}/loadingDelay/demo/loadingDelay.tsx (77%) rename packages/hooks/src/useRequest/{doc/loadingDelay/loadingDelay.en-US.md => docs/loadingDelay/index.en-US.md} (86%) rename packages/hooks/src/useRequest/{doc/loadingDelay/loadingDelay.zh-CN.md => docs/loadingDelay/index.zh-CN.md} (85%) rename packages/hooks/src/useRequest/{doc => docs}/polling/demo/polling.tsx (67%) rename packages/hooks/src/useRequest/{doc => docs}/polling/demo/pollingError.tsx (70%) rename packages/hooks/src/useRequest/{doc/polling/polling.en-US.md => docs/polling/index.en-US.md} (94%) rename packages/hooks/src/useRequest/{doc/polling/polling.zh-CN.md => docs/polling/index.zh-CN.md} (93%) rename packages/hooks/src/useRequest/{doc => docs}/ready/demo/manualReady.tsx (61%) rename packages/hooks/src/useRequest/{doc => docs}/ready/demo/ready.tsx (71%) rename packages/hooks/src/useRequest/{doc/ready/ready.en-US.md => docs/ready/index.en-US.md} (86%) rename packages/hooks/src/useRequest/{doc/ready/ready.zh-CN.md => docs/ready/index.zh-CN.md} (85%) rename packages/hooks/src/useRequest/{doc => docs}/refreshDeps/demo/refreshDeps.tsx (100%) rename packages/hooks/src/useRequest/{doc => docs}/refreshDeps/demo/refreshDepsAction.tsx (82%) rename packages/hooks/src/useRequest/{doc/refreshDeps/refresyDeps.en-US.md => docs/refreshDeps/index.en-US.md} (88%) rename packages/hooks/src/useRequest/{doc/refreshDeps/refresyDeps.zh-CN.md => docs/refreshDeps/index.zh-CN.md} (88%) rename packages/hooks/src/useRequest/{doc => docs}/refreshOnWindowFocus/demo/refreshOnWindowFocus.tsx (89%) rename packages/hooks/src/useRequest/{doc/refreshOnWindowFocus/refreshOnWindowFocus.en-US.md => docs/refreshOnWindowFocus/index.en-US.md} (88%) rename packages/hooks/src/useRequest/{doc/refreshOnWindowFocus/refreshOnWindowFocus.zh-CN.md => docs/refreshOnWindowFocus/index.zh-CN.md} (87%) rename packages/hooks/src/useRequest/{doc => docs}/retry/demo/retry.tsx (76%) rename packages/hooks/src/useRequest/{doc/retry/retry.en-US.md => docs/retry/index.en-US.md} (93%) rename packages/hooks/src/useRequest/{doc/retry/retry.zh-CN.md => docs/retry/index.zh-CN.md} (92%) rename packages/hooks/src/useRequest/{doc => docs}/throttle/demo/throttle.tsx (70%) rename packages/hooks/src/useRequest/{doc/throttle/throttle.en-US.md => docs/throttle/index.en-US.md} (92%) rename packages/hooks/src/useRequest/{doc/throttle/throttle.zh-CN.md => docs/throttle/index.zh-CN.md} (91%) delete mode 100644 packages/use-url-state/README.md rename packages/use-url-state/{use-url-state.en-US.md => index.en-US.md} (87%) rename packages/use-url-state/{use-url-state.zh-CN.md => index.zh-CN.md} (87%) rename packages/use-url-state/{ => src}/demo/demo1.tsx (66%) rename packages/use-url-state/{ => src}/demo/demo2.tsx (92%) rename packages/use-url-state/{ => src}/demo/demo3.tsx (79%) rename packages/use-url-state/{ => src}/demo/demo4.tsx (100%) diff --git a/.dumi/pages/index.en-US.tsx b/.dumi/pages/index.en-US.tsx new file mode 100644 index 0000000000..10884d1658 --- /dev/null +++ b/.dumi/pages/index.en-US.tsx @@ -0,0 +1,12 @@ +/** + * sidebar: false + */ + +import React from 'react'; +import { HomeBaseLayout } from '@ahooks.js/dumi-theme-antd'; + +const Index = () => { + return ; +}; + +export default Index; diff --git a/.dumi/pages/index.zh-CN.tsx b/.dumi/pages/index.zh-CN.tsx new file mode 100644 index 0000000000..10884d1658 --- /dev/null +++ b/.dumi/pages/index.zh-CN.tsx @@ -0,0 +1,12 @@ +/** + * sidebar: false + */ + +import React from 'react'; +import { HomeBaseLayout } from '@ahooks.js/dumi-theme-antd'; + +const Index = () => { + return ; +}; + +export default Index; diff --git a/.dumi/tsconfig.json b/.dumi/tsconfig.json new file mode 100644 index 0000000000..a32dd4f239 --- /dev/null +++ b/.dumi/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../tsconfig.json", + "include": ["**/*"] +} diff --git a/.dumirc.ts b/.dumirc.ts new file mode 100644 index 0000000000..cce1805f2e --- /dev/null +++ b/.dumirc.ts @@ -0,0 +1,155 @@ +import { defineConfig } from 'dumi'; + +const packages = require('./packages/hooks/package.json'); + +export default defineConfig({ + mfsu: false, + ssr: process.env.NODE_ENV === 'development' ? false : {}, + manifest: {}, + alias: { + ahooks: process.cwd() + '/packages/hooks/src/index.ts', + '@ahooksjs/use-url-state': process.cwd() + '/packages/use-url-state/src/index.ts', + }, + resolve: { + docDirs: ['docs'], + atomDirs: [ + { type: 'hook', dir: 'packages/hooks/src' }, + { type: 'hook', dir: 'packages/hooks/src/useRequest/docs' }, + { type: 'hook', dir: 'packages/use-url-state' }, + ], + }, + sitemap: { + hostname: 'https://ahooks.js.org/', + }, + favicons: ['/simple-logo.svg'], + locales: [ + { id: 'en-US', name: 'English' }, + { id: 'zh-CN', name: '中文' }, + ], + themeConfig: { + logo: '/logo.svg', + title: 'ahooks', + bannerConfig: { + showBanner: false, + }, + description: { + 'en-US': 'A high-quality & reliable React Hooks library', + 'zh-CN': '一套高质量可靠的 React Hooks 库', + }, + actions: { + 'en-US': [ + { text: 'Getting Started', link: '/guide', type: 'primary' }, + { text: 'Hooks List', link: '/hooks/index' }, + ], + 'zh-CN': [ + { text: '开始使用', link: '/zh-CN/guide', type: 'primary' }, + { text: 'Hooks 列表', link: '/zh-CN/hooks/index' }, + ], + }, + features: { + 'en-US': [ + { title: 'Easy to learn and use' }, + { title: 'Supports SSR' }, + { title: 'Special treatment for functions, avoid closure problems' }, + { + title: + 'Contains a large number of advanced Hooks that are refined from business scenarios', + }, + { title: 'Contains a comprehensive collection of basic Hooks' }, + { title: 'Written in TypeScript with predictable static types' }, + ], + 'zh-CN': [ + { title: '易学易用' }, + { title: '支持 SSR' }, + { title: '对输入输出函数做了特殊处理,避免闭包问题' }, + { title: '包含大量提炼自业务的高级 Hooks' }, + { title: '包含丰富的基础 Hooks' }, + { title: '使用 TypeScript 构建,提供完整的类型定义文件' }, + ], + }, + rtl: true, + socialLinks: { + github: 'https://github.com/alibaba/hooks', + }, + docVersions: { + [packages.version]: '', + 'v2.x': 'https://ahooks-v2.js.org/', + 'v1.x': 'http://hooks.umijs.org/', + }, + localesEnhance: [ + { id: 'en-US', switchPrefix: 'En' }, + { id: 'zh-CN', switchPrefix: '中' }, + ], + sidebarGroupModePath: ['/guide', '/hooks', '/blog'], + nav: { + 'en-US': [ + { title: 'Guide', link: '/guide' }, + { title: 'Hooks', link: '/hooks/index' }, + { title: 'Blog', link: '/blog/function' }, + { title: 'Releases', link: 'https://github.com/alibaba/hooks/releases' }, + { title: 'Mirror', link: 'https://ahooks.gitee.io' }, + ], + 'zh-CN': [ + { title: '指南', link: '/zh-CN/guide' }, + { title: 'Hooks', link: '/zh-CN/hooks/index' }, + { title: '博客', link: '/zh-CN/blog/function' }, + { title: '更新日志', link: 'https://github.com/alibaba/hooks/releases' }, + { title: '国内镜像', link: 'https://ahooks.gitee.io/zh-CN' }, + ], + }, + footer: + 'Open-source MIT Licensed | Copyright © 2019-present
Powered by dumi', + }, + links: [ + // Used by the `useFusionTable` demo + { + rel: 'stylesheet', + href: 'https://unpkg.com/@alifd/theme-design-pro@0.6.2/dist/next-noreset.min.css', + }, + { rel: 'stylesheet', href: '/style.css' }, + ], + scripts: [ + `const insertVersion = function() { + const logo = document.querySelector('.__dumi-default-navbar-logo'); + if (!logo) return; + const dom = document.createElement('span'); + dom.id = 'logo-version'; + dom.innerHTML = '${packages.version}'; + logo.parentNode.insertBefore(dom, logo.nextSibling); + }; + const observer = new MutationObserver((mutationsList, observer) => { + for (const mutation of mutationsList) { + if (mutation.type === 'childList') { + const logoVersion = document.querySelector('#logo-version'); + if (logoVersion) { + observer.disconnect(); + } else { + insertVersion(); + } + } + } + }); + observer.observe(document.body, { childList: true, subtree: true });`, + ], + extraBabelPlugins: [ + [ + 'babel-plugin-import', + { + libraryName: 'antd', + libraryDirectory: 'es', + style: true, + }, + 'antd', + ], + [ + 'babel-plugin-import', + { + libraryName: '@alifd/next', + style: false, + }, + 'fusion', + ], + ], + // https://github.com/alibaba/hooks/issues/2155 + extraBabelIncludes: ['filter-obj'], +}); diff --git a/.eslintrc.js b/.eslintrc.js index 0940038f38..efdad80de5 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -14,6 +14,8 @@ module.exports = { '@typescript-eslint/no-parameter-properties': 'off', 'import/no-useless-path-segments': 'off', 'no-unused-expressions': 'off', + 'react/no-array-index-key': 'off', + 'react/no-unescaped-entities': 'off', 'react-hooks/rules-of-hooks': 'error', 'react-hooks/exhaustive-deps': 'off', 'no-await-in-loop': 'off', diff --git a/.gitignore b/.gitignore index 7b2f232f19..70b03b2e57 100755 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,9 @@ node_modules coverage .doc .DS_Store -.umi -.umi-production +.dumi/tmp +.dumi/tmp-test +.dumi/tmp-production page lerna-debug.log tsconfig.tsbuildinfo diff --git a/.prettierrc b/.prettierrc index a1c94a1cf1..f10689b92c 100644 --- a/.prettierrc +++ b/.prettierrc @@ -12,7 +12,8 @@ { "files": ["*.md"], "options": { - "embeddedLanguageFormatting": "off" + "embeddedLanguageFormatting": "off", + "proseWrap": "preserve" } } ] diff --git a/README.md b/README.md index 220ae1d84c..9d697f6278 100644 --- a/README.md +++ b/README.md @@ -6,17 +6,9 @@
-A high-quality & reliable React Hooks library. - -[![NPM version][image-1]][1] -[![NPM downloads][image-2]][2] -[![npm](https://img.shields.io/npm/dw/ahooks-v2?label=downloads%28v2%29)](https://www.npmjs.com/package/ahooks-v2) -[![npm](https://img.shields.io/github/issues/alibaba/hooks)](https://github.com/alibaba/hooks/issues) -[![Coverage Status](https://coveralls.io/repos/github/alibaba/hooks/badge.svg?branch=master)](https://coveralls.io/github/alibaba/hooks?branch=master) -![gzip size](https://img.badgesize.io/https:/unpkg.com/ahooks/dist/ahooks.js?label=gzip%20size&compression=gzip) -[![Percentage of issues still open](http://isitmaintained.com/badge/open/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Percentage of issues still open') -[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Average time to resolve an issue') -![GitHub](https://img.shields.io/github/license/alibaba/hooks) +A high-quality & reliable React Hooks library + +[![NPM version](https://img.shields.io/npm/v/ahooks.svg)](https://www.npmjs.com/package/ahooks) [![NPM downloads](https://img.shields.io/npm/dw/ahooks.svg)](https://npmjs.org/package/ahooks) [![npm](https://img.shields.io/npm/dw/ahooks-v2?label=downloads%28v2%29)](https://www.npmjs.com/package/ahooks-v2) [![npm](https://img.shields.io/github/issues/alibaba/hooks)](https://github.com/alibaba/hooks/issues) [![Coverage Status](https://coveralls.io/repos/github/alibaba/hooks/badge.svg)](https://coveralls.io/github/alibaba/hooks?branch=master) [![npm](https://img.shields.io/github/issues/alibaba/hooks)](https://github.com/alibaba/hooks/issues) ![gzip size](https://img.badgesize.io/https:/unpkg.com/ahooks/dist/ahooks.js?label=gzip%20size&compression=gzip) [![Percentage of issues still open](http://isitmaintained.com/badge/open/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Percentage of issues still open') [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Average time to resolve an issue') [![GitHub](https://img.shields.io/github/license/alibaba/hooks)](https://github.com/alibaba/hooks/blob/master/LICENSE) English | [简体中文](https://github.com/alibaba/hooks/blob/master/README.zh-CN.md) @@ -80,8 +72,3 @@ Thanks to all the contributors: ## 👥 Discuss - -[1]: https://www.npmjs.com/package/ahooks -[2]: https://npmjs.org/package/ahooks -[image-1]: https://img.shields.io/npm/v/ahooks.svg?style=flat -[image-2]: https://img.shields.io/npm/dw/ahooks.svg?style=flat diff --git a/README.zh-CN.md b/README.zh-CN.md index 9c2363c4ed..ea458170f4 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -8,15 +8,7 @@ 一套高质量可靠的 React Hooks 库 -[![NPM version][image-1]][1] -[![NPM downloads][image-2]][2] -[![npm](https://img.shields.io/npm/dw/ahooks-v2?label=downloads%28v2%29)](https://www.npmjs.com/package/ahooks-v2) -[![Coverage Status](https://coveralls.io/repos/github/alibaba/hooks/badge.svg?branch=master)](https://coveralls.io/github/alibaba/hooks?branch=master) -[![npm](https://img.shields.io/github/issues/alibaba/hooks)](https://github.com/alibaba/hooks/issues) -![gzip size](https://img.badgesize.io/https:/unpkg.com/ahooks/dist/ahooks.js?label=gzip%20size&compression=gzip) -[![Percentage of issues still open](http://isitmaintained.com/badge/open/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Percentage of issues still open') -[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Average time to resolve an issue') -![GitHub](https://img.shields.io/github/license/alibaba/hooks) +[![NPM version](https://img.shields.io/npm/v/ahooks.svg)](https://www.npmjs.com/package/ahooks) [![NPM downloads](https://img.shields.io/npm/dw/ahooks.svg)](https://npmjs.org/package/ahooks) [![npm](https://img.shields.io/npm/dw/ahooks-v2?label=downloads%28v2%29)](https://www.npmjs.com/package/ahooks-v2) [![npm](https://img.shields.io/github/issues/alibaba/hooks)](https://github.com/alibaba/hooks/issues) [![Coverage Status](https://coveralls.io/repos/github/alibaba/hooks/badge.svg)](https://coveralls.io/github/alibaba/hooks?branch=master) [![npm](https://img.shields.io/github/issues/alibaba/hooks)](https://github.com/alibaba/hooks/issues) ![gzip size](https://img.badgesize.io/https:/unpkg.com/ahooks/dist/ahooks.js?label=gzip%20size&compression=gzip) [![Percentage of issues still open](http://isitmaintained.com/badge/open/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Percentage of issues still open') [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Average time to resolve an issue') [![GitHub](https://img.shields.io/github/license/alibaba/hooks)](https://github.com/alibaba/hooks/blob/master/LICENSE) [English](https://github.com/alibaba/hooks/blob/master/README.md) | 简体中文 @@ -50,7 +42,7 @@ $ bun add ahooks ## 🔨 使用 -```js +```ts import { useRequest } from 'ahooks'; ``` @@ -80,8 +72,3 @@ $ pnpm start ## 👥 交流讨论 - -[1]: https://www.npmjs.com/package/ahooks -[2]: https://npmjs.org/package/ahooks -[image-1]: https://img.shields.io/npm/v/ahooks.svg?style=flat -[image-2]: https://img.shields.io/npm/dw/ahooks.svg?style=flat diff --git a/config/config.ts b/config/config.ts deleted file mode 100644 index 10f59bbdc1..0000000000 --- a/config/config.ts +++ /dev/null @@ -1,208 +0,0 @@ -import { menus } from './hooks'; - -const packages = require('../packages/hooks/package.json'); - -export default { - // ssr: {}, - exportStatic: {}, - nodeModulesTransform: { - type: 'none', - exclude: [], - }, - // https://github.com/alibaba/hooks/issues/2155 - extraBabelIncludes: ['filter-obj'], - extraBabelPlugins: [ - [ - 'babel-plugin-import', - { - libraryName: 'antd', - libraryDirectory: 'es', - style: true, - }, - 'antd', - ], - [ - 'babel-plugin-import', - { - libraryName: '@alifd/next', - style: false, - }, - 'fusion', - ], - ], - mode: 'site', - title: 'ahooks 3.0', - favicon: '/simple-logo.svg', - logo: '/logo.svg', - dynamicImport: {}, - manifest: {}, - hash: true, - alias: { - ahooks: process.cwd() + '/packages/hooks/src/index.ts', - '@ahooksjs/use-url-state': process.cwd() + '/packages/use-url-state/src/index.ts', - }, - resolve: { - includes: ['docs', 'packages/hooks/src', 'packages/use-url-state'], - }, - links: [ - { - rel: 'stylesheet', - href: 'https://unpkg.com/@alifd/theme-design-pro@0.6.2/dist/next-noreset.min.css', - }, - { rel: 'stylesheet', href: '/style.css' }, - ], - navs: { - 'zh-CN': [ - { title: '指南', path: '/zh-CN/guide' }, - { title: 'Hooks', path: '/zh-CN/hooks' }, - { - title: '历史版本', - children: [ - { - title: 'v2.x', - path: 'https://ahooks-v2.js.org/', - }, - { - title: 'v1.x', - path: 'http://hooks.umijs.org/', - }, - ], - }, - { title: '更新日志', path: 'https://github.com/alibaba/hooks/releases' }, - { title: '国内镜像', path: 'https://ahooks.gitee.io/zh-CN' }, - { title: 'GitHub', path: 'https://github.com/alibaba/hooks' }, - ], - 'en-US': [ - { title: 'Guide', path: '/guide' }, - { title: 'Hooks', path: '/hooks' }, - { - title: 'Legacy Versions', - children: [ - { - title: 'v2.x', - path: 'https://ahooks-v2.js.org/', - }, - { - title: 'v1.x', - path: 'http://hooks.umijs.org/', - }, - ], - }, - { title: 'Releases', path: 'https://github.com/alibaba/hooks/releases' }, - { title: '国内镜像', path: 'https://ahooks.gitee.io/zh-CN' }, - { title: 'GitHub', path: 'https://github.com/alibaba/hooks' }, - ], - }, - menus: { - '/': [ - { - title: 'Home', - path: 'index', - }, - ], - '/zh-CN': [ - { - title: '首页', - path: 'index', - }, - ], - '/guide': [ - { - title: 'Intro', - path: '/guide', - }, - { - title: 'v2 to v3', - path: '/guide/upgrade', - }, - { - title: 'Hooks of dom specification', - path: '/guide/dom', - }, - { - title: 'Blog', - children: [ - { - title: 'ahooks function specification', - path: '/guide/blog/function', - }, - { - title: 'React Hooks & SSR', - path: '/guide/blog/ssr', - }, - { - title: 'React Hooks & react-refresh(HMR)', - path: '/guide/blog/hmr', - }, - { - title: 'React Hooks & strict mode', - path: '/guide/blog/strict', - }, - ], - }, - ], - '/zh-CN/guide': [ - { - title: '介绍', - path: '/guide', - }, - { - title: 'v2 to v3', - path: '/guide/upgrade', - }, - { - title: 'DOM 类 Hooks 使用规范', - path: '/guide/dom', - }, - { - title: 'Blog', - children: [ - { - title: 'ahooks 输入输出函数处理规范', - path: '/zh-CN/guide/blog/function', - }, - { - title: 'React Hooks & SSR', - path: '/zh-CN/guide/blog/ssr', - }, - { - title: 'React Hooks & react-refresh(HMR)', - path: '/zh-CN/guide/blog/hmr', - }, - { - title: 'React Hooks & strict mode', - path: '/zh-CN/guide/blog/strict', - }, - ], - }, - ], - '/hooks': menus, - '/zh-CN/hooks': menus, - }, - scripts: [ - 'https://s4.cnzz.com/z_stat.php?id=1278992092&web_id=1278992092', - ` - const insertVersion = function() { - const logo = document.querySelector('.__dumi-default-navbar-logo'); - if (!logo) return; - const dom = document.createElement('span'); - dom.id = 'logo-version'; - dom.innerHTML = '${packages.version}'; - logo.parentNode.insertBefore(dom, logo.nextSibling); - }; - const observer = new MutationObserver((mutationsList, observer) => { - for (const mutation of mutationsList) { - if (mutation.type === 'childList') { - const logoVersion = document.querySelector('#logo-version'); - if (logoVersion) { - observer.disconnect(); - } else { - insertVersion(); - } - } - } - }); - observer.observe(document.body, { childList: true, subtree: true }); - `, - ], -}; diff --git a/config/hooks.ts b/config/hooks.ts deleted file mode 100644 index fa74274cf2..0000000000 --- a/config/hooks.ts +++ /dev/null @@ -1,121 +0,0 @@ -export const menus = [ - { - title: 'useRequest', - children: [ - 'useRequest/doc/index', - 'useRequest/doc/basic', - 'useRequest/doc/loadingDelay', - 'useRequest/doc/polling', - 'useRequest/doc/ready', - 'useRequest/doc/refreshDeps', - 'useRequest/doc/refreshOnWindowFocus', - 'useRequest/doc/debounce', - 'useRequest/doc/throttle', - 'useRequest/doc/cache', - 'useRequest/doc/retry', - ], - }, - { - title: 'Scene', - children: [ - 'useAntdTable', - 'useFusionTable', - 'useInfiniteScroll', - 'usePagination', - 'useDynamicList', - 'useVirtualList', - 'useHistoryTravel', - 'useNetwork', - 'useSelections', - 'useCountDown', - 'useCounter', - 'useTextSelection', - 'useWebSocket', - ], - }, - { - title: 'LifeCycle', - children: ['useMount', 'useUnmount', 'useUnmountedRef'], - }, - { - title: 'State', - children: [ - 'useSetState', - 'useBoolean', - 'useToggle', - 'use-url-state', - 'useCookieState', - 'useLocalStorageState', - 'useSessionStorageState', - 'useDebounce', - 'useThrottle', - 'useMap', - 'useSet', - 'usePrevious', - 'useRafState', - 'useSafeState', - 'useGetState', - 'useResetState', - ], - }, - { - title: 'Effect', - children: [ - 'useUpdateEffect', - 'useUpdateLayoutEffect', - 'useAsyncEffect', - 'useDebounceEffect', - 'useDebounceFn', - 'useThrottleFn', - 'useThrottleEffect', - 'useDeepCompareEffect', - 'useDeepCompareLayoutEffect', - 'useInterval', - 'useRafInterval', - 'useTimeout', - 'useRafTimeout', - 'useLockFn', - 'useUpdate', - ], - }, - { - title: 'Dom', - children: [ - 'useEventListener', - 'useClickAway', - 'useDocumentVisibility', - 'useDrop', - 'useEventTarget', - 'useExternal', - 'useTitle', - 'useFavicon', - 'useFullscreen', - 'useHover', - 'useMutationObserver', - 'useInViewport', - 'useKeyPress', - 'useLongPress', - 'useMouse', - 'useResponsive', - 'useScroll', - 'useSize', - 'useFocusWithin', - ], - }, - { - title: 'Advanced', - children: [ - 'useControllableValue', - 'useCreation', - 'useEventEmitter', - 'useIsomorphicLayoutEffect', - 'useLatest', - 'useMemoizedFn', - 'useReactive', - ], - }, - { - title: 'Dev', - children: ['useTrackedEffect', 'useWhyDidYouUpdate'], - }, -]; diff --git a/docs/guide/dom.en-US.md b/docs/blog/dom.en-US.md similarity index 94% rename from docs/guide/dom.en-US.md rename to docs/blog/dom.en-US.md index 8a578ad4c5..973d63ebe9 100644 --- a/docs/guide/dom.en-US.md +++ b/docs/blog/dom.en-US.md @@ -1,4 +1,10 @@ -## Hooks of DOM specification +--- +title: Hooks of DOM specification +order: 2 +toc: content +demo: + cols: 2 +--- Most of the DOM Hooks will receive the `target` parameter, which indicates the element to be processed. diff --git a/docs/guide/dom.zh-CN.md b/docs/blog/dom.zh-CN.md similarity index 94% rename from docs/guide/dom.zh-CN.md rename to docs/blog/dom.zh-CN.md index 078ba2e25e..3ce6fe6f8f 100644 --- a/docs/guide/dom.zh-CN.md +++ b/docs/blog/dom.zh-CN.md @@ -1,4 +1,10 @@ -## DOM 类 Hooks 使用规范 +--- +title: DOM 类 Hooks 使用规范 +order: 2 +toc: content +demo: + cols: 2 +--- ahooks 大部分 DOM 类 Hooks 都会接收 `target` 参数,表示要处理的元素。 diff --git a/docs/guide/blog/function.en-US.md b/docs/blog/function.en-US.md similarity index 96% rename from docs/guide/blog/function.en-US.md rename to docs/blog/function.en-US.md index 846e854b0f..c256d9c8d9 100644 --- a/docs/guide/blog/function.en-US.md +++ b/docs/blog/function.en-US.md @@ -1,4 +1,10 @@ -# ahooks function specification +--- +title: ahooks function specification +order: 1 +toc: content +demo: + cols: 2 +--- ahooks tries its best to help everyone avoid the closure problem by specially processing the input and output functions. diff --git a/docs/guide/blog/function.zh-CN.md b/docs/blog/function.zh-CN.md similarity index 96% rename from docs/guide/blog/function.zh-CN.md rename to docs/blog/function.zh-CN.md index 6894102e42..f03bff36be 100644 --- a/docs/guide/blog/function.zh-CN.md +++ b/docs/blog/function.zh-CN.md @@ -1,4 +1,10 @@ -# ahooks 函数处理规范 +--- +title: ahooks 输入输出函数处理规范 +order: 1 +toc: content +demo: + cols: 2 +--- ahooks 通过对输入输出函数做特殊处理,尽力帮助大家避免闭包问题。 diff --git a/docs/guide/blog/hmr.en-US.md b/docs/blog/hmr.en-US.md similarity index 99% rename from docs/guide/blog/hmr.en-US.md rename to docs/blog/hmr.en-US.md index cadd14b277..acc16fa8ab 100644 --- a/docs/guide/blog/hmr.en-US.md +++ b/docs/blog/hmr.en-US.md @@ -1,4 +1,10 @@ -# React Hooks & react-refresh(HMR) +--- +title: React Hooks & react-refresh(HMR) +order: 3 +toc: content +demo: + cols: 2 +--- ## What is react-refresh? diff --git a/docs/guide/blog/hmr.zh-CN.md b/docs/blog/hmr.zh-CN.md similarity index 99% rename from docs/guide/blog/hmr.zh-CN.md rename to docs/blog/hmr.zh-CN.md index 9d7c4874ff..e1c73f0f23 100644 --- a/docs/guide/blog/hmr.zh-CN.md +++ b/docs/blog/hmr.zh-CN.md @@ -1,4 +1,10 @@ -# React Hooks & react-refresh(HMR) +--- +title: React Hooks & react-refresh(HMR) +order: 3 +toc: content +demo: + cols: 2 +--- ## 什么是 react-refresh diff --git a/docs/guide/blog/ssr.en-US.md b/docs/blog/ssr.en-US.md similarity index 98% rename from docs/guide/blog/ssr.en-US.md rename to docs/blog/ssr.en-US.md index 302b83491c..24416748e8 100644 --- a/docs/guide/blog/ssr.en-US.md +++ b/docs/blog/ssr.en-US.md @@ -1,4 +1,10 @@ -# React Hooks & SSR +--- +title: React Hooks & SSR +order: 4 +toc: content +demo: + cols: 2 +--- Server-Side Rendering refers to the page processing technology where the HTML structure of the page is spliced on the server side. Generally used to solve SEO problems and speed up the first screen. diff --git a/docs/guide/blog/ssr.zh-CN.md b/docs/blog/ssr.zh-CN.md similarity index 98% rename from docs/guide/blog/ssr.zh-CN.md rename to docs/blog/ssr.zh-CN.md index e60805978c..c5915bfa25 100644 --- a/docs/guide/blog/ssr.zh-CN.md +++ b/docs/blog/ssr.zh-CN.md @@ -1,4 +1,10 @@ -# React Hooks & SSR +--- +title: React Hooks & SSR +order: 4 +toc: content +demo: + cols: 2 +--- 服务端渲染(Server-Side Rendering),是指由服务侧完成页面的 HTML 结构拼接的页面处理技术。一般用于解决 SEO 问题和首屏加载速度问题。 diff --git a/docs/guide/blog/strict.en-US.md b/docs/blog/strict.en-US.md similarity index 97% rename from docs/guide/blog/strict.en-US.md rename to docs/blog/strict.en-US.md index b6a777f97c..2c5d8ca0f5 100644 --- a/docs/guide/blog/strict.en-US.md +++ b/docs/blog/strict.en-US.md @@ -1,4 +1,10 @@ -# React Hooks & strict mode +--- +title: React Hooks & strict mode +order: 5 +toc: content +demo: + cols: 2 +--- ## What is strict mode diff --git a/docs/guide/blog/strict.zh-CN.md b/docs/blog/strict.zh-CN.md similarity index 97% rename from docs/guide/blog/strict.zh-CN.md rename to docs/blog/strict.zh-CN.md index b9f34f55b2..7ce6976ccb 100644 --- a/docs/guide/blog/strict.zh-CN.md +++ b/docs/blog/strict.zh-CN.md @@ -1,4 +1,10 @@ -# React Hooks & strict mode +--- +title: React Hooks & strict mode +order: 5 +toc: content +demo: + cols: 2 +--- ## 什么是严格模式 diff --git a/docs/guide/index.en-US.md b/docs/guide/index.en-US.md index 77b03a4dff..c182b34820 100644 --- a/docs/guide/index.en-US.md +++ b/docs/guide/index.en-US.md @@ -1,34 +1,15 @@ -## Intro +--- +title: Getting Started +order: 1 +toc: content +demo: + cols: 2 +--- ahooks, pronounced [eɪ hʊks], is a high-quality and reliable React Hooks library. In the current React project development process, a set of easy-to-use React Hooks library is indispensable, hope ahooks can be your choice. -## Features + -- Easy to learn and use -- Supports SSR -- Special treatment for functions, avoid closure problems -- Contains a large number of advanced Hooks that are refined from business scenarios -- Contains a comprehensive collection of basic Hooks -- Written in TypeScript with predictable static types + -## Install - -```bash -$ npm install --save ahooks -# or -$ yarn add ahooks -# or -$ pnpm add ahooks -# or -$ bun add ahooks -``` - -## Usage - -```ts -import { useRequest } from 'ahooks'; -``` - -## Online Demo - -[![Edit demo for ahooks](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/demo-for-ahooks-forked-fg79k?file=/src/App.js) + diff --git a/docs/guide/index.zh-CN.md b/docs/guide/index.zh-CN.md index 520f2f1a55..f117459056 100644 --- a/docs/guide/index.zh-CN.md +++ b/docs/guide/index.zh-CN.md @@ -1,34 +1,15 @@ -# 介绍 +--- +title: 快速上手 +order: 1 +toc: content +demo: + cols: 2 +--- ahooks,发音 [eɪ hʊks],是一套高质量可靠的 React Hooks 库。在当前 React 项目研发过程中,一套好用的 React Hooks 库是必不可少的,希望 ahooks 能成为您的选择。 -## 特性 + -- 易学易用 -- 支持 SSR -- 对输入输出函数做了特殊处理,且避免闭包问题 -- 包含大量提炼自业务的高级 Hooks -- 包含丰富的基础 Hooks -- 使用 TypeScript 构建,提供完整的类型定义文件 + -## 安装 - -```bash -$ npm install --save ahooks -# or -$ yarn add ahooks -# or -$ pnpm add ahooks -# or -$ bun add ahooks -``` - -## 使用 - -```ts -import { useRequest } from 'ahooks'; -``` - -## 💻 在线体验 - -[![Edit demo for ahooks](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/demo-for-ahooks-forked-fg79k?file=/src/App.js) + diff --git a/docs/guide/upgrade.en-US.md b/docs/guide/upgrade.en-US.md index 991704f02b..7553db2ecd 100644 --- a/docs/guide/upgrade.en-US.md +++ b/docs/guide/upgrade.en-US.md @@ -1,4 +1,10 @@ -## v2 to v3 +--- +title: v2 to v3 +order: 1 +toc: content +demo: + cols: 2 +--- Compared with the ahooks v2 version, the changes in the ahooks v3 version mainly include: diff --git a/docs/guide/upgrade.zh-CN.md b/docs/guide/upgrade.zh-CN.md index ab37a65a0f..97d25fb21d 100644 --- a/docs/guide/upgrade.zh-CN.md +++ b/docs/guide/upgrade.zh-CN.md @@ -1,4 +1,10 @@ -## v2 to v3 +--- +title: v2 to v3 +order: 1 +toc: content +demo: + cols: 2 +--- 相较于 ahooks v2 版本,ahooks v3 版本的变更主要包括: diff --git a/docs/index.en-US.md b/docs/index.en-US.md deleted file mode 100644 index 3141b26eb5..0000000000 --- a/docs/index.en-US.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: ahooks - React Hooks Library -hero: - image: /logo.svg - desc: A high-quality & reliable React Hooks library - actions: - - text: Guide - link: /guide - - text: Hooks List - link: /hooks -footer: Open-source MIT Licensed | Copyright © 2019-present
Powered by [dumi](https://d.umijs.org) ---- - -[![NPM version][image-1]][1] -[![NPM downloads][image-2]][2] -[![npm](https://img.shields.io/npm/dw/ahooks-v2?label=downloads%28v2%29)](https://www.npmjs.com/package/ahooks-v2) -[![npm](https://img.shields.io/github/issues/alibaba/hooks)](https://github.com/alibaba/hooks/issues) -[![Coverage Status](https://coveralls.io/repos/github/alibaba/hooks/badge.svg?branch=master)](https://coveralls.io/github/alibaba/hooks?branch=master) -![gzip size](https://img.badgesize.io/https:/unpkg.com/ahooks/dist/ahooks.js?label=gzip%20size&compression=gzip) -[![Percentage of issues still open](http://isitmaintained.com/badge/open/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Percentage of issues still open') -[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Average time to resolve an issue') -![GitHub](https://img.shields.io/github/license/alibaba/hooks) - -## ✨ Features - -- Easy to learn and use -- Supports SSR -- Special treatment for functions, avoid closure problems -- Contains a large number of advanced Hooks that are refined from business scenarios -- Contains a comprehensive collection of basic Hooks -- Written in TypeScript with predictable static types - -## 📦 Install - -```bash -$ npm install --save ahooks -# or -$ yarn add ahooks -# or -$ pnpm add ahooks -# or -$ bun add ahooks -``` - -## 🔨 Usage - -```ts -import { useRequest } from 'ahooks'; -``` - -## 💻 Online Demo - -[![Edit demo for ahooks](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/demo-for-ahooks-forked-fg79k?file=/src/App.js) - -## 🤝 Contributing - -```bash -$ git clone git@github.com:alibaba/hooks.git -$ cd hooks -$ pnpm run init -$ pnpm start -``` - -Open your browser and visit http://127.0.0.1:8000 - -We welcome all contributions, please read our [CONTRIBUTING.MD](https://github.com/alibaba/hooks/blob/master/CONTRIBUTING.MD) first, let's build a better hooks library together. - -Thanks to all the contributors: - - - contributors - - -## 👥 Discuss - - - -[1]: https://www.npmjs.com/package/ahooks -[2]: https://npmjs.org/package/ahooks -[image-1]: https://img.shields.io/npm/v/ahooks.svg?style=flat -[image-2]: https://img.shields.io/npm/dm/ahooks.svg?style=flat diff --git a/docs/index.zh-CN.md b/docs/index.zh-CN.md deleted file mode 100644 index e55fd7ec3f..0000000000 --- a/docs/index.zh-CN.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: ahooks - React Hooks Library -hero: - image: /logo.svg - desc: 一套高质量可靠的 React Hooks 库 - actions: - - text: 指南 - link: /zh-CN/guide - - text: Hooks 列表 - link: /zh-CN/hooks -footer: Open-source MIT Licensed | Copyright © 2019-present
Powered by [dumi](https://d.umijs.org) ---- - -[![NPM version][image-1]][1] -[![NPM downloads][image-2]][2] -[![npm](https://img.shields.io/npm/dw/ahooks-v2?label=downloads%28v2%29)](https://www.npmjs.com/package/ahooks-v2) -[![npm](https://img.shields.io/github/issues/alibaba/hooks)](https://github.com/alibaba/hooks/issues) -[![Coverage Status](https://coveralls.io/repos/github/alibaba/hooks/badge.svg?branch=master)](https://coveralls.io/github/alibaba/hooks?branch=master) -![gzip size](https://img.badgesize.io/https:/unpkg.com/ahooks/dist/ahooks.js?label=gzip%20size&compression=gzip) -[![Percentage of issues still open](http://isitmaintained.com/badge/open/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Percentage of issues still open') -[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/alibaba/hooks.svg)](http://isitmaintained.com/project/alibaba/hooks 'Average time to resolve an issue') -![GitHub](https://img.shields.io/github/license/alibaba/hooks) - -## ✨ 特性 - -- 易学易用 -- 支持 SSR -- 对输入输出函数做了特殊处理,避免闭包问题 -- 包含大量提炼自业务的高级 Hooks -- 包含丰富的基础 Hooks -- 使用 TypeScript 构建,提供完整的类型定义文件 - -## 📦 安装 - -```bash -$ npm install --save ahooks -# or -$ yarn add ahooks -# or -$ pnpm add ahooks -# or -$ bun add ahooks -``` - -## 🔨 使用 - -```ts -import { useRequest } from 'ahooks'; -``` - -## 💻 在线体验 - -[![Edit demo for ahooks](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/demo-for-ahooks-forked-fg79k?file=/src/App.js) - -## 🤝 参与共建 - -```bash -$ git clone git@github.com:alibaba/hooks.git -$ cd hooks -$ pnpm run init -$ pnpm start -``` - -打开浏览器访问 http://127.0.0.1:8000 - -我们欢迎所有人参与共建,请参考[CONTRIBUTING.MD](https://github.com/alibaba/hooks/blob/master/CONTRIBUTING.zh-CN.MD) - -感谢所有贡献者: - - - contributors - - -## 👥 交流讨论 - - - -[1]: https://www.npmjs.com/package/ahooks -[2]: https://npmjs.org/package/ahooks -[image-1]: https://img.shields.io/npm/v/ahooks.svg?style=flat -[image-2]: https://img.shields.io/npm/dm/ahooks.svg?style=flat diff --git a/package.json b/package.json index 63f6a08ceb..65e12a1d75 100755 --- a/package.json +++ b/package.json @@ -27,10 +27,11 @@ "pub": "pnpm run build && pnpm -r --filter=./packages/* publish", "pub:beta": "pnpm run build && pnpm -r --filter=./packages/* publish --tag beta", "preinstall": "npx only-allow pnpm", - "prepare": "husky install", + "prepare": "husky install && dumi setup", "test:strict": "cross-env REACT_MODE=strict jest" }, "devDependencies": { + "@ahooks.js/dumi-theme-antd": "^0.1.1", "@ant-design/icons": "^5.3.0", "@babel/cli": "^7.10.1", "@babel/core": "^7.10.2", @@ -48,7 +49,7 @@ "coveralls": "^3.1.1", "cross-env": "^7.0.3", "del": "^5.1.0", - "dumi": "^1.1.48", + "dumi": "^2.3.0-beta.7", "eslint": "^8.56.0", "eslint-plugin-react-hooks": "^4.6.0", "fast-glob": "^3.2.11", diff --git a/packages/hooks/src/useAntdTable/demo/cache.tsx b/packages/hooks/src/useAntdTable/demo/cache.tsx index 6aa68f859d..d0cd5a308b 100644 --- a/packages/hooks/src/useAntdTable/demo/cache.tsx +++ b/packages/hooks/src/useAntdTable/demo/cache.tsx @@ -21,7 +21,7 @@ interface Result { const getTableData = ( { current, pageSize, sorter, filters, extra }, - formData: Object, + formData: object, ): Promise => { console.log(sorter, filters, extra); let query = `page=${current}&size=${pageSize}`; diff --git a/packages/hooks/src/useAntdTable/demo/form.tsx b/packages/hooks/src/useAntdTable/demo/form.tsx index 417b28ea58..c2a6e09a8f 100644 --- a/packages/hooks/src/useAntdTable/demo/form.tsx +++ b/packages/hooks/src/useAntdTable/demo/form.tsx @@ -19,7 +19,7 @@ interface Result { list: Item[]; } -const getTableData = ({ current, pageSize }, formData: Object): Promise => { +const getTableData = ({ current, pageSize }, formData: object): Promise => { let query = `page=${current}&size=${pageSize}`; Object.entries(formData).forEach(([key, value]) => { if (value) { diff --git a/packages/hooks/src/useAntdTable/demo/init.tsx b/packages/hooks/src/useAntdTable/demo/init.tsx index 2c537f730f..c1a8e8ad41 100644 --- a/packages/hooks/src/useAntdTable/demo/init.tsx +++ b/packages/hooks/src/useAntdTable/demo/init.tsx @@ -19,7 +19,7 @@ interface Result { list: Item[]; } -const getTableData = ({ current, pageSize }, formData: Object): Promise => { +const getTableData = ({ current, pageSize }, formData: object): Promise => { let query = `page=${current}&size=${pageSize}`; Object.entries(formData).forEach(([key, value]) => { if (value) { @@ -38,7 +38,7 @@ const getTableData = ({ current, pageSize }, formData: Object): Promise export default () => { const [form] = Form.useForm(); - const { loading, tableProps, search, params } = useAntdTable(getTableData, { + const { tableProps, search, params } = useAntdTable(getTableData, { form, defaultParams: [ { current: 2, pageSize: 5 }, diff --git a/packages/hooks/src/useAntdTable/demo/ready.tsx b/packages/hooks/src/useAntdTable/demo/ready.tsx index 0ca3b8ec8d..f429716dd0 100644 --- a/packages/hooks/src/useAntdTable/demo/ready.tsx +++ b/packages/hooks/src/useAntdTable/demo/ready.tsx @@ -19,7 +19,7 @@ interface Result { list: Item[]; } -const getTableData = ({ current, pageSize }, formData: Object): Promise => { +const getTableData = ({ current, pageSize }, formData: object): Promise => { let query = `page=${current}&size=${pageSize}`; Object.entries(formData).forEach(([key, value]) => { if (value) { diff --git a/packages/hooks/src/useAntdTable/demo/validate.tsx b/packages/hooks/src/useAntdTable/demo/validate.tsx index 416158267b..f5bd59a527 100644 --- a/packages/hooks/src/useAntdTable/demo/validate.tsx +++ b/packages/hooks/src/useAntdTable/demo/validate.tsx @@ -19,7 +19,7 @@ interface Result { list: Item[]; } -const getTableData = ({ current, pageSize }, formData: Object): Promise => { +const getTableData = ({ current, pageSize }, formData: object): Promise => { let query = `page=${current}&size=${pageSize}`; Object.entries(formData).forEach(([key, value]) => { if (value) { diff --git a/packages/hooks/src/useAntdTable/index.en-US.md b/packages/hooks/src/useAntdTable/index.en-US.md index a703e74fd0..2d36a9d95a 100644 --- a/packages/hooks/src/useAntdTable/index.en-US.md +++ b/packages/hooks/src/useAntdTable/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useAntdTable +nav: Hooks +group: + title: Scene + order: 2 +order: 1 +toc: content +demo: + cols: 2 --- -# useAntdTable - `useAntdTable` is implemented based on `useRequest` and encapsulates the commonly used [Ant Design Form](https://ant.design/components/form/) and [Ant Design Table](https://ant.design/components/table/) data binding logic, and supports both antd v3 and v4. Before using it, you need to understand a few points that are different from `useRequest`: @@ -26,9 +31,7 @@ The following demos are for antd v4. For v3, please refer to: https://ahooks-v2. ``` -
- - + ### Form and Table data binding @@ -41,7 +44,7 @@ When `useAntdTable` receives the `form` instance, it will return a search object In the following example, you can try out the data binding between form and table. - + ### Default Params @@ -51,19 +54,19 @@ It should be noted that the initial form data can be filled with all the form da The following example sets paging data and form data during initialization. - + ### Form Validation Before the form is submitted, we will call `form.validateFields` to validate the form data. If the verification fails, the request will not be initiated. - + ### Data Caching By setting `cacheKey`, we can apply the data caching for the `Form` and `Table`. - + ## API diff --git a/packages/hooks/src/useAntdTable/index.zh-CN.md b/packages/hooks/src/useAntdTable/index.zh-CN.md index 23443252f3..120eb3375b 100644 --- a/packages/hooks/src/useAntdTable/index.zh-CN.md +++ b/packages/hooks/src/useAntdTable/index.zh-CN.md @@ -1,11 +1,15 @@ --- -nav: - title: Hooks - path: /hooks +title: useAntdTable +nav: Hooks +group: + title: Scene + order: 2 +order: 1 +toc: content +demo: + cols: 2 --- -# useAntdTable - `useAntdTable` 基于 `useRequest` 实现,封装了常用的 [Ant Design Form](https://ant.design/components/form-cn/) 与 [Ant Design Table](https://ant.design/components/table-cn/) 联动逻辑,并且同时支持 antd v3 和 v4。 在使用之前,你需要了解它与 `useRequest` 不同的几个点: @@ -27,9 +31,7 @@ nav:
``` -
- - + ### Form 与 Table 联动 @@ -42,7 +44,7 @@ nav: 以下示例你可以体验表单与表格联动。 - + ### 初始化数据 @@ -52,19 +54,19 @@ nav: 以下示例在初始化时设置了分页数据和表单数据。 - + ### 表单验证 表单提交之前,我们会调用 `form.validateFields` 来校验表单数据,如果验证不通过,则不会发起请求。 - + ### 缓存 通过设置 `cacheKey`,我们可以实现 `Form` 与 `Table` 数据缓存。 - + ## API diff --git a/packages/hooks/src/useAsyncEffect/demo/demo1.tsx b/packages/hooks/src/useAsyncEffect/demo/demo1.tsx index 75f06152bd..f4f5da99bc 100644 --- a/packages/hooks/src/useAsyncEffect/demo/demo1.tsx +++ b/packages/hooks/src/useAsyncEffect/demo/demo1.tsx @@ -1,13 +1,13 @@ /** * title: Default usage - * desc: Do async check when component is mounted. + * description: Do async check when component is mounted. * * title.zh-CN: 基础用法 - * desc.zh-CN: 组件加载时进行异步的检查 + * description.zh-CN: 组件加载时进行异步的检查 */ -import { useAsyncEffect } from 'ahooks'; import React, { useState } from 'react'; +import { useAsyncEffect } from 'ahooks'; function mockCheck(): Promise { return new Promise((resolve) => { diff --git a/packages/hooks/src/useAsyncEffect/demo/demo2.tsx b/packages/hooks/src/useAsyncEffect/demo/demo2.tsx index a84b931ac6..733a575545 100644 --- a/packages/hooks/src/useAsyncEffect/demo/demo2.tsx +++ b/packages/hooks/src/useAsyncEffect/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Break off - * desc: Use `yield` to stop the execution when effect has been cleaned up. + * description: Use `yield` to stop the execution when effect has been cleaned up. * * title.zh-CN: 中断执行 - * desc.zh-CN: 通过 `yield` 语句可以增加一些检查点,如果发现当前 effect 已经被清理,会停止继续往下执行。 + * description.zh-CN: 通过 `yield` 语句可以增加一些检查点,如果发现当前 effect 已经被清理,会停止继续往下执行。 */ import React, { useState } from 'react'; +import { Input } from 'antd'; import { useAsyncEffect } from 'ahooks'; function mockCheck(val: string): Promise { @@ -33,7 +34,8 @@ export default () => { return (
- { setValue(e.target.value); diff --git a/packages/hooks/src/useAsyncEffect/index.en-US.md b/packages/hooks/src/useAsyncEffect/index.en-US.md index 73c7231c5b..4eeaeddf8e 100644 --- a/packages/hooks/src/useAsyncEffect/index.en-US.md +++ b/packages/hooks/src/useAsyncEffect/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useAsyncEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 3 +toc: content +demo: + cols: 2 --- -# useAsyncEffect - useEffect support async function. ## 代码演示 -### Default usage - - - -### Break off - - + + ## API diff --git a/packages/hooks/src/useAsyncEffect/index.zh-CN.md b/packages/hooks/src/useAsyncEffect/index.zh-CN.md index 3a49d6f536..fffd6d188a 100644 --- a/packages/hooks/src/useAsyncEffect/index.zh-CN.md +++ b/packages/hooks/src/useAsyncEffect/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useAsyncEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 3 +toc: content +demo: + cols: 2 --- -# useAsyncEffect - useEffect 支持异步函数。 ## 代码演示 -### 基础用法 - - - -### 中断执行 - - + + ## API diff --git a/packages/hooks/src/useBoolean/demo/demo1.tsx b/packages/hooks/src/useBoolean/demo/demo1.tsx index b50a11571a..afaabe64c0 100644 --- a/packages/hooks/src/useBoolean/demo/demo1.tsx +++ b/packages/hooks/src/useBoolean/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Basic usage - * desc: Toggle boolean, default value can be set optionally. + * description: Toggle boolean, default value can be set optionally. * * title.zh-CN: 基础用法 - * desc.zh-CN: 切换 boolean,可以接收默认值。 + * description.zh-CN: 切换 boolean,可以接收默认值。 */ import React from 'react'; +import { Button, Space } from 'antd'; import { useBoolean } from 'ahooks'; export default () => { @@ -14,18 +15,12 @@ export default () => { return (
-

Effects:{JSON.stringify(state)}

-

- - - -

+

effects: {JSON.stringify(state)}

+ + + + +
); }; diff --git a/packages/hooks/src/useBoolean/index.en-US.md b/packages/hooks/src/useBoolean/index.en-US.md index 5f544d0ce6..e2868e2451 100644 --- a/packages/hooks/src/useBoolean/index.en-US.md +++ b/packages/hooks/src/useBoolean/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useBoolean +nav: Hooks +group: + title: State + order: 4 +order: 2 +toc: content +demo: + cols: 2 --- -# useBoolean - A hook that elegantly manages boolean state. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useBoolean/index.zh-CN.md b/packages/hooks/src/useBoolean/index.zh-CN.md index d835985b0d..64a3df6a54 100644 --- a/packages/hooks/src/useBoolean/index.zh-CN.md +++ b/packages/hooks/src/useBoolean/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useBoolean +nav: Hooks +group: + title: State + order: 4 +order: 2 +toc: content +demo: + cols: 2 --- -# useBoolean - 优雅的管理 boolean 状态的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useClickAway/demo/demo1.tsx b/packages/hooks/src/useClickAway/demo/demo1.tsx index 6232f37399..60363ae204 100644 --- a/packages/hooks/src/useClickAway/demo/demo1.tsx +++ b/packages/hooks/src/useClickAway/demo/demo1.tsx @@ -1,27 +1,29 @@ /** * title: Default usage - * desc: Please click button or outside of button to show effects. + * description: Please click button or outside of button to show effects. * * title.zh-CN: 基础用法 - * desc.zh-CN: 请点击按钮或按钮外查看效果。 + * description.zh-CN: 请点击按钮或按钮外查看效果。 */ import React, { useState, useRef } from 'react'; +import { Button } from 'antd'; import { useClickAway } from 'ahooks'; export default () => { const [counter, setCounter] = useState(0); const ref = useRef(null); + useClickAway(() => { setCounter((s) => s + 1); }, ref); return (
-

counter: {counter}

+
); }; diff --git a/packages/hooks/src/useClickAway/demo/demo2.tsx b/packages/hooks/src/useClickAway/demo/demo2.tsx index 99eb632cc4..c1576b417e 100644 --- a/packages/hooks/src/useClickAway/demo/demo2.tsx +++ b/packages/hooks/src/useClickAway/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Support DOM - * desc: Support pass in a DOM element or function. + * description: Support pass in a DOM element or function. * * title.zh-CN: 支持传入 DOM - * desc.zh-CN: 支持直接传入 DOM 对象或 function。 + * description.zh-CN: 支持直接传入 DOM 对象或 function。 */ import React, { useState } from 'react'; +import { Button } from 'antd'; import { useClickAway } from 'ahooks'; export default () => { @@ -21,10 +22,10 @@ export default () => { return (
-

counter: {counter}

+
); }; diff --git a/packages/hooks/src/useClickAway/demo/demo3.tsx b/packages/hooks/src/useClickAway/demo/demo3.tsx index c7c0cdd5bd..9c825b9b8c 100644 --- a/packages/hooks/src/useClickAway/demo/demo3.tsx +++ b/packages/hooks/src/useClickAway/demo/demo3.tsx @@ -1,31 +1,31 @@ /** * title: Support multiple DOM - * desc: Support pass multiple DOM elements. + * description: Support pass multiple DOM elements. * * title.zh-CN: 支持多个 DOM 对象 - * desc.zh-CN: 支持传入多个目标对象。 + * description.zh-CN: 支持传入多个目标对象。 */ import React, { useState, useRef } from 'react'; +import { Button, Space } from 'antd'; import { useClickAway } from 'ahooks'; export default () => { const [counter, setCounter] = useState(0); const ref1 = useRef(null); const ref2 = useRef(null); + useClickAway(() => { setCounter((s) => s + 1); }, [ref1, ref2]); return (
- -

counter: {counter}

+ + + +
); }; diff --git a/packages/hooks/src/useClickAway/demo/demo4.tsx b/packages/hooks/src/useClickAway/demo/demo4.tsx index b1fb69f832..780d4e50bd 100644 --- a/packages/hooks/src/useClickAway/demo/demo4.tsx +++ b/packages/hooks/src/useClickAway/demo/demo4.tsx @@ -1,17 +1,19 @@ /** * title: Listen to other events - * desc: By setting eventName, you can specify the event to be listened, Try click the right mouse. + * description: By setting eventName, you can specify the event to be listened, Try click the right mouse. * * title.zh-CN: 监听其它事件 - * desc.zh-CN: 通过设置 eventName,可以指定需要监听的事件,试试点击鼠标右键。 + * description.zh-CN: 通过设置 eventName,可以指定需要监听的事件,试试点击鼠标右键。 */ import React, { useState, useRef } from 'react'; +import { Button } from 'antd'; import { useClickAway } from 'ahooks'; export default () => { const [counter, setCounter] = useState(0); const ref = useRef(null); + useClickAway( () => { setCounter((s) => s + 1); @@ -22,10 +24,10 @@ export default () => { return (
-

counter: {counter}

+
); }; diff --git a/packages/hooks/src/useClickAway/demo/demo5.tsx b/packages/hooks/src/useClickAway/demo/demo5.tsx index 78a1f443fe..dd861a1fb1 100644 --- a/packages/hooks/src/useClickAway/demo/demo5.tsx +++ b/packages/hooks/src/useClickAway/demo/demo5.tsx @@ -1,17 +1,19 @@ /** * title: Support multiple events - * desc: Set up multiple events, you can try using the mouse click or right click. + * description: Set up multiple events, you can try using the mouse click or right click. * * title.zh-CN: 支持传入多个事件名称 - * desc.zh-CN: 设置了多个事件,你可以试试用鼠标左键或者右键。 + * description.zh-CN: 设置了多个事件,你可以试试用鼠标左键或者右键。 */ import React, { useState, useRef } from 'react'; +import { Button } from 'antd'; import { useClickAway } from 'ahooks'; export default () => { const [counter, setCounter] = useState(0); const ref = useRef(null); + useClickAway( () => { setCounter((s) => s + 1); @@ -22,10 +24,10 @@ export default () => { return (
-

counter: {counter}

+
); }; diff --git a/packages/hooks/src/useClickAway/demo/demo6.tsx b/packages/hooks/src/useClickAway/demo/demo6.tsx index 233b472d2e..30331fb5de 100644 --- a/packages/hooks/src/useClickAway/demo/demo6.tsx +++ b/packages/hooks/src/useClickAway/demo/demo6.tsx @@ -1,18 +1,20 @@ /** * title: Support shadow DOM - * desc: Add the addEventListener to shadow DOM root instead of the document + * description: Add the addEventListener to shadow DOM root instead of the document * * title.zh-CN: 支持 shadow DOM - * desc.zh-CN: 将 addEventListener 添加到 shadow DOM root + * description.zh-CN: 将 addEventListener 添加到 shadow DOM root */ import React, { useState, useRef } from 'react'; -import { useClickAway } from 'ahooks'; import root from 'react-shadow'; +import { Button } from 'antd'; +import { useClickAway } from 'ahooks'; export default () => { const [counter, setCounter] = useState(0); const ref = useRef(null); + useClickAway( () => { setCounter((s) => s + 1); @@ -24,10 +26,10 @@ export default () => { return (
-

counter: {counter}

+
); diff --git a/packages/hooks/src/useClickAway/index.en-US.md b/packages/hooks/src/useClickAway/index.en-US.md index 2f881fb0c9..39d6a522c2 100644 --- a/packages/hooks/src/useClickAway/index.en-US.md +++ b/packages/hooks/src/useClickAway/index.en-US.md @@ -1,37 +1,25 @@ --- -nav: - path: /hooks +title: useClickAway +nav: Hooks +group: + title: Dom + order: 6 +order: 2 +toc: content +demo: + cols: 2 --- -# useClickAway - Listen for click events outside the target element. ## Examples -### Default usage - - - -### Custom DOM - - - -### Support multiple DOM - - - -### Listen for other events - - - -### Support multiple events - - - -### Support shadow DOM - - + + + + + + ## API diff --git a/packages/hooks/src/useClickAway/index.zh-CN.md b/packages/hooks/src/useClickAway/index.zh-CN.md index d8011f55c8..79c56ce806 100644 --- a/packages/hooks/src/useClickAway/index.zh-CN.md +++ b/packages/hooks/src/useClickAway/index.zh-CN.md @@ -1,37 +1,25 @@ --- -nav: - path: /hooks +title: useClickAway +nav: Hooks +group: + title: Dom + order: 6 +order: 2 +toc: content +demo: + cols: 2 --- -# useClickAway - 监听目标元素外的点击事件。 ## 代码演示 -### 基础用法 - - - -### 自定义 DOM - - - -### 支持多个 DOM 对象 - - - -### 监听其它事件 - - - -### 支持多个事件 - - - -### 支持 shadow DOM - - + + + + + + ## API diff --git a/packages/hooks/src/useControllableValue/demo/demo1.tsx b/packages/hooks/src/useControllableValue/demo/demo1.tsx index 2339afef4c..5dded78fc1 100644 --- a/packages/hooks/src/useControllableValue/demo/demo1.tsx +++ b/packages/hooks/src/useControllableValue/demo/demo1.tsx @@ -1,11 +1,12 @@ /** * title: Uncontrolled component - * desc: If there is no value in props, the component manage state by self + * description: If there is no value in props, the component manage state by self * * title.zh-CN: 非受控组件 - * desc.zh-CN: 如果 props 中没有 value,则组件内部自己管理 state + * description.zh-CN: 如果 props 中没有 value,则组件内部自己管理 state */ import React from 'react'; +import { Button, Input, Space } from 'antd'; import { useControllableValue } from 'ahooks'; export default (props: any) => { @@ -14,11 +15,9 @@ export default (props: any) => { }); return ( - <> - setState(e.target.value)} style={{ width: 300 }} /> - - + + setState(e.target.value)} /> + + ); }; diff --git a/packages/hooks/src/useControllableValue/demo/demo2.tsx b/packages/hooks/src/useControllableValue/demo/demo2.tsx index 7daec7022f..94b969db06 100644 --- a/packages/hooks/src/useControllableValue/demo/demo2.tsx +++ b/packages/hooks/src/useControllableValue/demo/demo2.tsx @@ -1,33 +1,29 @@ /** * title: Controlled component - * desc: If props has the value field, then the state is controlled by it's parent + * description: If props has the value field, then the state is controlled by it's parent * * title.zh-CN: 受控组件 - * desc.zh-CN: 如果 props 有 value 字段,则由父级接管控制 state + * description.zh-CN: 如果 props 有 value 字段,则由父级接管控制 state */ import React, { useState } from 'react'; +import { Button, Input, Space } from 'antd'; import { useControllableValue } from 'ahooks'; const ControllableComponent = (props: any) => { const [state, setState] = useControllableValue(props); - return setState(e.target.value)} style={{ width: 300 }} />; + return setState(e.target.value)} />; }; const Parent = () => { const [state, setState] = useState(''); - const clear = () => { - setState(''); - }; return ( - <> + - - + + ); }; export default Parent; diff --git a/packages/hooks/src/useControllableValue/demo/demo3.tsx b/packages/hooks/src/useControllableValue/demo/demo3.tsx index 67d0615380..e639666022 100644 --- a/packages/hooks/src/useControllableValue/demo/demo3.tsx +++ b/packages/hooks/src/useControllableValue/demo/demo3.tsx @@ -1,35 +1,28 @@ /** * title: No value, have onChange component - * desc: If there is an onChange field in props, the onChange will be trigger when state change + * description: If there is an onChange field in props, the onChange will be trigger when state change * * title.zh-CN: 无 value,有 onChange 的组件 - * desc.zh-CN: 只要 props 中有 onChange 字段,则在 state 变化时,就会触发 onChange 函数 + * description.zh-CN: 只要 props 中有 onChange 字段,则在 state 变化时,就会触发 onChange 函数 */ import React, { useState } from 'react'; +import { Input, Space } from 'antd'; import { useControllableValue } from 'ahooks'; const ControllableComponent = (props: any) => { const [state, setState] = useControllableValue(props); - return ( - { - setState(e.target.value); - }} - style={{ width: 300 }} - /> - ); + return setState(e.target.value)} />; }; const Parent = () => { const [state, setState] = useState(0); return ( - <> -
state:{state}
+ - +
state:{state}
+
); }; export default Parent; diff --git a/packages/hooks/src/useControllableValue/index.en-US.md b/packages/hooks/src/useControllableValue/index.en-US.md index 63c126f913..87f3be6772 100644 --- a/packages/hooks/src/useControllableValue/index.en-US.md +++ b/packages/hooks/src/useControllableValue/index.en-US.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useControllableValue +nav: Hooks +group: + title: Advanced + order: 7 +order: 1 +toc: content +demo: + cols: 2 --- -# useControllableValue - In some components, we need the state to be managed by itself or controlled by it's parent. `useControllableValue` is a Hook that helps you manage this kind of state. ## Examples -### Uncontrolled component - - - -### Controlled component - - - -### No value, have onChange component - - + + + ## API @@ -46,6 +43,6 @@ const [state, setState] = useControllableValue(props: Record, optio | Property | Description | Type | Default | | -------------------- | ------------------------------------------------------------------------------- | -------- | -------------- | | defaultValue | The default value, will be overridden by `props.defaultValue` and `props.value` | - | - | -| defaultValuePropName | Custom defaultValue attribute name | `string` | `defaultValue` | +| defaultValuePropName | Custom defaultValue attribute name | `string` | `defaultValue` | | valuePropName | Custom value attribute name | `string` | `value` | | trigger | Custom trigger attribute name | `string` | `onChange` | diff --git a/packages/hooks/src/useControllableValue/index.zh-CN.md b/packages/hooks/src/useControllableValue/index.zh-CN.md index 0063517a4a..88835772ea 100644 --- a/packages/hooks/src/useControllableValue/index.zh-CN.md +++ b/packages/hooks/src/useControllableValue/index.zh-CN.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useControllableValue +nav: Hooks +group: + title: Advanced + order: 7 +order: 1 +toc: content +demo: + cols: 2 --- -# useControllableValue - 在某些组件开发时,我们需要组件的状态既可以自己管理,也可以被外部控制,`useControllableValue` 就是帮你管理这种状态的 Hook。 ## 代码演示 -### 非受控组件 - - - -### 受控组件 - - - -### 无 value,有 onChange 的组件 - - + + + ## API diff --git a/packages/hooks/src/useCookieState/demo/demo1.tsx b/packages/hooks/src/useCookieState/demo/demo1.tsx index 94c2cb11e9..316a7c52a0 100644 --- a/packages/hooks/src/useCookieState/demo/demo1.tsx +++ b/packages/hooks/src/useCookieState/demo/demo1.tsx @@ -1,22 +1,23 @@ /** * title: Store state into Cookie - * desc: Refresh this page and you will get the state from Cookie. + * description: Refresh this page and you will get the state from Cookie. * * title.zh-CN: 将 state 存储在 Cookie 中 - * desc.zh-CN: 刷新页面后,可以看到输入框中的内容被从 Cookie 中恢复了。 + * description.zh-CN: 刷新页面后,可以看到输入框中的内容被从 Cookie 中恢复了。 */ import React from 'react'; +import { Input } from 'antd'; import { useCookieState } from 'ahooks'; export default () => { const [message, setMessage] = useCookieState('useCookieStateString'); + return ( - setMessage(e.target.value)} - style={{ width: 300 }} /> ); }; diff --git a/packages/hooks/src/useCookieState/demo/demo2.tsx b/packages/hooks/src/useCookieState/demo/demo2.tsx index dc84161bf9..0cde697377 100644 --- a/packages/hooks/src/useCookieState/demo/demo2.tsx +++ b/packages/hooks/src/useCookieState/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: SetState can receive function - * desc: Function updater is also acceptable with useCookieState's setState,similar to how useState is used. + * description: Function updater is also acceptable with useCookieState's setState,similar to how useState is used. * * title.zh-CN: setState 可以接收函数 - * desc.zh-CN: useCookieState 的 setState 可以接收 function updater,就像 useState 那样。 + * description.zh-CN: useCookieState 的 setState 可以接收 function updater,就像 useState 那样。 */ import React from 'react'; +import { Button, Space } from 'antd'; import { useCookieState } from 'ahooks'; export default function App() { @@ -17,23 +18,11 @@ export default function App() { return ( <>

{value}

- - - + + + + + ); } diff --git a/packages/hooks/src/useCookieState/demo/demo3.tsx b/packages/hooks/src/useCookieState/demo/demo3.tsx index a10b816699..e008cf1b01 100644 --- a/packages/hooks/src/useCookieState/demo/demo3.tsx +++ b/packages/hooks/src/useCookieState/demo/demo3.tsx @@ -1,12 +1,13 @@ /** * title: Use the option property to configure Cookie - * desc: 'Available options: defaultValue、expires、path、domain、secure、sameSite etc.' + * description: 'Available options: defaultValue、expires、path、domain、secure、sameSite etc.' * * title.zh-CN: 使用 option 配置 Cookie - * desc.zh-CN: 可配置属性:默认值、有效时间、路径、域名、协议、跨域等,详见 Options 文档。 + * description.zh-CN: 可配置属性:默认值、有效时间、路径、域名、协议、跨域等,详见 Options 文档。 */ import React from 'react'; +import { Button, Space } from 'antd'; import { useCookieState } from 'ahooks'; export default function App() { @@ -19,31 +20,27 @@ export default function App() { return ( <>

{value}

- - - + + + + + ); } diff --git a/packages/hooks/src/useCookieState/index.en-US.md b/packages/hooks/src/useCookieState/index.en-US.md index 6aeea163d9..e158f29581 100644 --- a/packages/hooks/src/useCookieState/index.en-US.md +++ b/packages/hooks/src/useCookieState/index.en-US.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useCookieState +nav: Hooks +group: + title: State + order: 4 +order: 5 +toc: content +demo: + cols: 2 --- -# useCookieState - A Hook that store state into Cookie. ## Examples -### Store state into Cookie - - - -### SetState can receive function - - - -### Use the option property to configure Cookie - - + + + ## API diff --git a/packages/hooks/src/useCookieState/index.zh-CN.md b/packages/hooks/src/useCookieState/index.zh-CN.md index 5ca7982e37..0046391b74 100644 --- a/packages/hooks/src/useCookieState/index.zh-CN.md +++ b/packages/hooks/src/useCookieState/index.zh-CN.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useCookieState +nav: Hooks +group: + title: State + order: 4 +order: 5 +toc: content +demo: + cols: 2 --- -# useCookieState - 一个可以将状态存储在 Cookie 中的 Hook 。 ## 代码演示 -### 将 state 存储在 Cookie 中 - - - -### setState 可以接收函数 - - - -### 使用 option 配置 Cookie - - + + + ## API diff --git a/packages/hooks/src/useCountDown/demo/demo1.tsx b/packages/hooks/src/useCountDown/demo/demo1.tsx index 27883f4df5..bf6e59f5bc 100644 --- a/packages/hooks/src/useCountDown/demo/demo1.tsx +++ b/packages/hooks/src/useCountDown/demo/demo1.tsx @@ -1,16 +1,16 @@ /** - * title: Basic Usage - * desc: Basic countdown management. + * title: Countdown to target time + * description: Basic countdown management. * - * title.zh-CN: 基础用法 - * desc.zh-CN: 基础的倒计时管理。 + * title.zh-CN: 到未来某一时间点的倒计时 + * description.zh-CN: 基础的倒计时管理。 */ import React from 'react'; import { useCountDown } from 'ahooks'; export default () => { - const [countdown, formattedRes] = useCountDown({ + const [, formattedRes] = useCountDown({ targetDate: `${new Date().getFullYear()}-12-31 23:59:59`, }); const { days, hours, minutes, seconds, milliseconds } = formattedRes; diff --git a/packages/hooks/src/useCountDown/demo/demo2.tsx b/packages/hooks/src/useCountDown/demo/demo2.tsx index 9d0af362cb..905d56fce6 100644 --- a/packages/hooks/src/useCountDown/demo/demo2.tsx +++ b/packages/hooks/src/useCountDown/demo/demo2.tsx @@ -1,17 +1,17 @@ /** - * title: Adcanved Uasge - * desc: Dynamic change targetDate, suitable for verification codes or similar scenarios. + * title: Dynamic config + * description: Dynamic change targetDate, suitable for verification codes or similar scenarios. * - * title.zh-CN: 进阶使用 - * desc.zh-CN: 动态变更配置项, 适用于验证码或类似场景,时间结束后会触发 onEnd 回调。 + * title.zh-CN: 配置项动态变化 + * description.zh-CN: 动态变更配置项, 适用于验证码或类似场景,时间结束后会触发 onEnd 回调。 */ import React, { useState } from 'react'; +import { Button, Space } from 'antd'; import { useCountDown } from 'ahooks'; export default () => { const [targetDate, setTargetDate] = useState(); - const [countdown] = useCountDown({ targetDate, onEnd: () => { @@ -20,23 +20,11 @@ export default () => { }); return ( - <> - - - + + + ); }; diff --git a/packages/hooks/src/useCountDown/demo/demo3.tsx b/packages/hooks/src/useCountDown/demo/demo3.tsx index 4b503a1cb2..8d1db1c146 100644 --- a/packages/hooks/src/useCountDown/demo/demo3.tsx +++ b/packages/hooks/src/useCountDown/demo/demo3.tsx @@ -1,17 +1,18 @@ /** * title: The rest of time - * desc: A countdown to the number of milliseconds remaining. + * description: A countdown to the number of milliseconds remaining. * * title.zh-CN: 剩余时间 - * desc.zh-CN: 剩余时间毫秒数的倒计时 + * description.zh-CN: 剩余时间毫秒数的倒计时 */ import React from 'react'; import { useCountDown } from 'ahooks'; -const App: React.FC = () => { - const [countdown] = useCountDown({ leftTime: 60 * 1000 }); +export default () => { + const [countdown] = useCountDown({ + leftTime: 60 * 1000, + }); + return

{countdown}

; }; - -export default App; diff --git a/packages/hooks/src/useCountDown/index.en-US.md b/packages/hooks/src/useCountDown/index.en-US.md index 65f1bf8d32..800149d149 100644 --- a/packages/hooks/src/useCountDown/index.en-US.md +++ b/packages/hooks/src/useCountDown/index.en-US.md @@ -1,23 +1,33 @@ --- -nav: - path: /hooks +title: useCountDown +nav: Hooks +group: + title: Scene + order: 2 +order: 10 +toc: content +demo: + cols: 2 --- -# useCountDown - A hook for manage countdown. -## Countdown to target time +## Examples - + + + -## Dynamic config +### Note - +The precision of useCountDown is milliseconds, which may cause the following problems -## Config leftTime +- Even if the interval time is set to 1000ms, the update interval of useCountDown may not be exactly 1000ms, but around it. +- In the second demo, countdown is generally 499x milliseconds at the beginning due to the execution delay of the program. - +If you only need to be accurate to the second, you can use it like this `Math.round(countdown / 1000)`. + +If both `leftTime` and `targetDate` are passed, the `targetDate` is ignored, the `leftTime` is dominant. ## API @@ -42,17 +52,6 @@ const [countdown, formattedRes] = useCountDown( ); ``` -**Remark** - -The precision of useCountDown is milliseconds, which may cause the following problems - -- Even if the interval time is set to 1000ms, the update interval of useCountDown may not be exactly 1000ms, but around it. -- In the second demo, countdown is generally 499x milliseconds at the beginning due to the execution delay of the program. - -If you only need to be accurate to the second, you can use it like this `Math.round(countdown / 1000)`. - -If both `leftTime` and `targetDate` are passed, the `targetDate` is ignored, the `leftTime` is dominant. - ### Params | Property | Description | Type | Default | diff --git a/packages/hooks/src/useCountDown/index.zh-CN.md b/packages/hooks/src/useCountDown/index.zh-CN.md index 557dc21414..e9b2fe28bd 100644 --- a/packages/hooks/src/useCountDown/index.zh-CN.md +++ b/packages/hooks/src/useCountDown/index.zh-CN.md @@ -1,25 +1,24 @@ --- -nav: - path: /hooks +title: useCountDown +nav: Hooks +group: + title: Scene + order: 2 +order: 10 +toc: content +demo: + cols: 2 --- -# useCountDown - 一个用于管理倒计时的 Hook。 -## 到未来某一时间点的倒计时 - - - -## 配置项动态变化 - - - -## 通过 leftTime 配置剩余时间 +## 代码演示 - + + + -**说明** +### 说明 useCountDown 的精度为毫秒,可能会造成以下几个问题 diff --git a/packages/hooks/src/useCounter/demo/demo1.tsx b/packages/hooks/src/useCounter/demo/demo1.tsx index 7f10abc05d..b0ee644625 100644 --- a/packages/hooks/src/useCounter/demo/demo1.tsx +++ b/packages/hooks/src/useCounter/demo/demo1.tsx @@ -1,52 +1,30 @@ /** * title: Basic usage - * desc: Simple example of counter management. + * description: Simple example of counter management. * * title.zh-CN: 基础用法 - * desc.zh-CN: 简单的 counter 管理示例。 + * description.zh-CN: 简单的 counter 管理示例。 */ import React from 'react'; +import { Button, Space } from 'antd'; import { useCounter } from 'ahooks'; export default () => { - const [current, { inc, dec, set, reset }] = useCounter(100, { min: 1, max: 10 }); + const [current, { inc, dec, set, reset }] = useCounter(100, { + min: 1, + max: 10, + }); return (

{current} [max: 10; min: 1;]

-
- - - - -
+ + + + + +
); }; diff --git a/packages/hooks/src/useCounter/index.en-US.md b/packages/hooks/src/useCounter/index.en-US.md index 456b636d4f..b84e741a48 100644 --- a/packages/hooks/src/useCounter/index.en-US.md +++ b/packages/hooks/src/useCounter/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useCounter +nav: Hooks +group: + title: Scene + order: 2 +order: 11 +toc: content +demo: + cols: 2 --- -# useCounter - A hook that manage counter. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useCounter/index.zh-CN.md b/packages/hooks/src/useCounter/index.zh-CN.md index caf6037286..66ebbada3e 100644 --- a/packages/hooks/src/useCounter/index.zh-CN.md +++ b/packages/hooks/src/useCounter/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useCounter +nav: Hooks +group: + title: Scene + order: 2 +order: 11 +toc: content +demo: + cols: 2 --- -# useCounter - 管理计数器的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useCreation/demo/demo1.tsx b/packages/hooks/src/useCreation/demo/demo1.tsx index 2c61a094e9..4274319cbe 100644 --- a/packages/hooks/src/useCreation/demo/demo1.tsx +++ b/packages/hooks/src/useCreation/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Make sure only one instance is created - * desc: You can click the "Rerender" button and trigger the update of this component. But the instance of Foo will not change. + * description: You can click the "Rerender" button and trigger the update of this component. But the instance of Foo will not change. * * title.zh-CN: 确保实例不会被重复创建 - * desc.zh-CN: 点击 "Rerender" 按钮,触发组件的更新,但 Foo 的实例会保持不变 + * description.zh-CN: 点击 "Rerender" 按钮,触发组件的更新,但 Foo 的实例会保持不变 */ import React, { useState } from 'react'; +import { Button } from 'antd'; import { useCreation } from 'ahooks'; class Foo { @@ -20,17 +21,11 @@ class Foo { export default function () { const foo = useCreation(() => new Foo(), []); const [, setFlag] = useState({}); + return ( <>

{foo.data}

- + ); } diff --git a/packages/hooks/src/useCreation/index.en-US.md b/packages/hooks/src/useCreation/index.en-US.md index 919d237564..5991684e34 100644 --- a/packages/hooks/src/useCreation/index.en-US.md +++ b/packages/hooks/src/useCreation/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useCreation +nav: Hooks +group: + title: Advanced + order: 7 +order: 2 +toc: content +demo: + cols: 2 --- -# useCreation - `useCreation` is the replacement for `useMemo` or `useRef`. `useMemo` can't guarantee the memoized value will not be recalculated, while `useCreation` can guarantee that. As the the official document of React.js says: @@ -20,9 +25,7 @@ const b = useCreation(() => new Subject(), []); // By using factory function, Su ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useCreation/index.zh-CN.md b/packages/hooks/src/useCreation/index.zh-CN.md index 5359eb662c..2d4d1c6a89 100644 --- a/packages/hooks/src/useCreation/index.zh-CN.md +++ b/packages/hooks/src/useCreation/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useCreation +nav: Hooks +group: + title: Advanced + order: 7 +order: 2 +toc: content +demo: + cols: 2 --- -# useCreation - `useCreation` 是 `useMemo` 或 `useRef` 的替代品。 因为 `useMemo` 不能保证被 memo 的值一定不会被重新计算,而 `useCreation` 可以保证这一点。以下为 React 官方文档中的介绍: @@ -20,9 +25,7 @@ const b = useCreation(() => new Subject(), []); // 通过 factory 函数,可 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useDebounce/demo/demo1.tsx b/packages/hooks/src/useDebounce/demo/demo1.tsx index 4605f03a46..9d65b76d4c 100644 --- a/packages/hooks/src/useDebounce/demo/demo1.tsx +++ b/packages/hooks/src/useDebounce/demo/demo1.tsx @@ -1,27 +1,25 @@ /** * title: Default usage - * desc: DebouncedValue will change after the input ends 500ms. + * description: DebouncedValue will change after the input ends 500ms. * * title.zh-CN: 基础用法 - * desc.zh-CN: DebouncedValue 只会在输入结束 500ms 后变化。 + * description.zh-CN: DebouncedValue 只会在输入结束 500ms 后变化。 */ import React, { useState } from 'react'; +import { Input, Space } from 'antd'; import { useDebounce } from 'ahooks'; export default () => { const [value, setValue] = useState(); - const debouncedValue = useDebounce(value, { wait: 500 }); + const debouncedValue = useDebounce(value, { + wait: 500, + }); return ( -
- setValue(e.target.value)} - placeholder="Typed value" - style={{ width: 280 }} - /> -

DebouncedValue: {debouncedValue}

-
+ +

debounced value: {debouncedValue}

+ setValue(e.target.value)} placeholder="Typed value" /> +
); }; diff --git a/packages/hooks/src/useDebounce/index.en-US.md b/packages/hooks/src/useDebounce/index.en-US.md index 727c7b369c..b564053317 100644 --- a/packages/hooks/src/useDebounce/index.en-US.md +++ b/packages/hooks/src/useDebounce/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDebounce +nav: Hooks +group: + title: State + order: 4 +order: 8 +toc: content +demo: + cols: 2 --- -# useDebounce - A hook that deal with the debounced value. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useDebounce/index.zh-CN.md b/packages/hooks/src/useDebounce/index.zh-CN.md index fcb1e8afd3..70b69e5898 100644 --- a/packages/hooks/src/useDebounce/index.zh-CN.md +++ b/packages/hooks/src/useDebounce/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDebounce +nav: Hooks +group: + title: State + order: 4 +order: 8 +toc: content +demo: + cols: 2 --- -# useDebounce - 用来处理防抖值的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useDebounceEffect/demo/demo1.tsx b/packages/hooks/src/useDebounceEffect/demo/demo1.tsx index edb8bc15ee..c163aedb36 100644 --- a/packages/hooks/src/useDebounceEffect/demo/demo1.tsx +++ b/packages/hooks/src/useDebounceEffect/demo/demo1.tsx @@ -1,9 +1,19 @@ -import { useDebounceEffect } from 'ahooks'; +/** + * title: Default usage + * description: + * + * title.zh-CN: 基础用法 + * description.zh-CN: + */ + import React, { useState } from 'react'; +import { Input } from 'antd'; +import { useDebounceEffect } from 'ahooks'; export default () => { const [value, setValue] = useState('hello'); const [records, setRecords] = useState([]); + useDebounceEffect( () => { setRecords((val) => [...val, value]); @@ -13,21 +23,20 @@ export default () => { wait: 1000, }, ); + return ( -
- + setValue(e.target.value)} placeholder="Typed value" - style={{ width: 280 }} /> -

-

    - {records.map((record, index) => ( -
  • {record}
  • - ))} -
-

-
+
    + {records.map((record, index) => ( +
  • {record}
  • + ))} +
+ ); }; diff --git a/packages/hooks/src/useDebounceEffect/index.en-US.md b/packages/hooks/src/useDebounceEffect/index.en-US.md index 23e228ba73..b2b4b1a2b6 100644 --- a/packages/hooks/src/useDebounceEffect/index.en-US.md +++ b/packages/hooks/src/useDebounceEffect/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDebounceEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 4 +toc: content +demo: + cols: 2 --- -# useDebounceEffect - Debounce your `useEffect`. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useDebounceEffect/index.zh-CN.md b/packages/hooks/src/useDebounceEffect/index.zh-CN.md index 26c39b9ba9..68b3d1228f 100644 --- a/packages/hooks/src/useDebounceEffect/index.zh-CN.md +++ b/packages/hooks/src/useDebounceEffect/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDebounceEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 4 +toc: content +demo: + cols: 2 --- -# useDebounceEffect - 为 `useEffect` 增加防抖的能力。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useDebounceFn/demo/demo1.tsx b/packages/hooks/src/useDebounceFn/demo/demo1.tsx index aa64c20521..be8df24c3d 100644 --- a/packages/hooks/src/useDebounceFn/demo/demo1.tsx +++ b/packages/hooks/src/useDebounceFn/demo/demo1.tsx @@ -1,13 +1,14 @@ /** * title: Default usage - * desc: Frequent calls run, but the function is executed only after all the clicks have completed 500ms. + * description: Frequent calls run, but the function is executed only after all the clicks have completed 500ms. * * title.zh-CN: 基础用法 - * desc.zh-CN: 频繁调用 run,但只会在所有点击完成 500ms 后执行一次相关函数 + * description.zh-CN: 频繁调用 run,但只会在所有点击完成 500ms 后执行一次相关函数 */ -import { useDebounceFn } from 'ahooks'; import React, { useState } from 'react'; +import { Button } from 'antd'; +import { useDebounceFn } from 'ahooks'; export default () => { const [value, setValue] = useState(0); @@ -21,11 +22,11 @@ export default () => { ); return ( -
-

Clicked count: {value}

- -
+ + ); }; diff --git a/packages/hooks/src/useDebounceFn/index.en-US.md b/packages/hooks/src/useDebounceFn/index.en-US.md index 42198da4d6..7d11c6b799 100644 --- a/packages/hooks/src/useDebounceFn/index.en-US.md +++ b/packages/hooks/src/useDebounceFn/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDebounceFn +nav: Hooks +group: + title: Effect + order: 5 +order: 5 +toc: content +demo: + cols: 2 --- -# useDebounceFn - A hook that deal with the debounced function. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useDebounceFn/index.zh-CN.md b/packages/hooks/src/useDebounceFn/index.zh-CN.md index 9429ac5170..6b007f3180 100644 --- a/packages/hooks/src/useDebounceFn/index.zh-CN.md +++ b/packages/hooks/src/useDebounceFn/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDebounceFn +nav: Hooks +group: + title: Effect + order: 5 +order: 5 +toc: content +demo: + cols: 2 --- -# useDebounceFn - 用来处理防抖函数的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useDeepCompareEffect/demo/demo1.tsx b/packages/hooks/src/useDeepCompareEffect/demo/demo1.tsx index 209af76428..458f7bb64b 100644 --- a/packages/hooks/src/useDeepCompareEffect/demo/demo1.tsx +++ b/packages/hooks/src/useDeepCompareEffect/demo/demo1.tsx @@ -1,8 +1,9 @@ -import { useDeepCompareEffect } from 'ahooks'; -import React, { useEffect, useState, useRef } from 'react'; +import React, { useEffect, useRef } from 'react'; +import { Button, Space } from 'antd'; +import { useDeepCompareEffect, useUpdate } from 'ahooks'; export default () => { - const [count, setCount] = useState(0); + const update = useUpdate(); const effectCountRef = useRef(0); const deepCompareCountRef = useRef(0); @@ -12,20 +13,17 @@ export default () => { useDeepCompareEffect(() => { deepCompareCountRef.current += 1; + return () => { // do something }; }, [{}]); return ( -
+

effectCount: {effectCountRef.current}

deepCompareCount: {deepCompareCountRef.current}

-

- -

-
+ + ); }; diff --git a/packages/hooks/src/useDeepCompareEffect/index.en-US.md b/packages/hooks/src/useDeepCompareEffect/index.en-US.md index b8a8ad4047..630f40ab41 100644 --- a/packages/hooks/src/useDeepCompareEffect/index.en-US.md +++ b/packages/hooks/src/useDeepCompareEffect/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDeepCompareEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 8 +toc: content +demo: + cols: 2 --- -# useDeepCompareEffect - Usage is the same as `useEffect`, but deps are compared with [lodash.isEqual](https://lodash.com/docs/4.17.15#isEqual). ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useDeepCompareEffect/index.zh-CN.md b/packages/hooks/src/useDeepCompareEffect/index.zh-CN.md index 056a2be0dd..fae5684e64 100644 --- a/packages/hooks/src/useDeepCompareEffect/index.zh-CN.md +++ b/packages/hooks/src/useDeepCompareEffect/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDeepCompareEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 8 +toc: content +demo: + cols: 2 --- -# useDeepCompareEffect - 用法与 useEffect 一致,但 deps 通过 [lodash isEqual](https://lodash.com/docs/4.17.15#isEqual) 进行深比较。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useDeepCompareLayoutEffect/demo/demo1.tsx b/packages/hooks/src/useDeepCompareLayoutEffect/demo/demo1.tsx index 58c9d65c29..ac73266ff7 100644 --- a/packages/hooks/src/useDeepCompareLayoutEffect/demo/demo1.tsx +++ b/packages/hooks/src/useDeepCompareLayoutEffect/demo/demo1.tsx @@ -1,8 +1,9 @@ -import { useDeepCompareLayoutEffect } from 'ahooks'; -import React, { useLayoutEffect, useState, useRef } from 'react'; +import React, { useLayoutEffect, useRef } from 'react'; +import { Button, Space } from 'antd'; +import { useDeepCompareLayoutEffect, useUpdate } from 'ahooks'; export default () => { - const [, setCount] = useState(0); + const update = useUpdate(); const effectCountRef = useRef(0); const deepCompareCountRef = useRef(0); @@ -12,20 +13,17 @@ export default () => { useDeepCompareLayoutEffect(() => { deepCompareCountRef.current += 1; + return () => { // do something }; }, [{}]); return ( -
+

effectCount: {effectCountRef.current}

deepCompareCount: {deepCompareCountRef.current}

-

- -

-
+ + ); }; diff --git a/packages/hooks/src/useDeepCompareLayoutEffect/index.en-US.md b/packages/hooks/src/useDeepCompareLayoutEffect/index.en-US.md index 03d25e7b96..28134ea1f8 100644 --- a/packages/hooks/src/useDeepCompareLayoutEffect/index.en-US.md +++ b/packages/hooks/src/useDeepCompareLayoutEffect/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDeepCompareLayoutEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 9 +toc: content +demo: + cols: 2 --- -# useDeepCompareLayoutEffect - Usage is the same as `useLayoutEffect`, but deps are compared with [lodash.isEqual](https://lodash.com/docs/4.17.15#isEqual). ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useDeepCompareLayoutEffect/index.zh-CN.md b/packages/hooks/src/useDeepCompareLayoutEffect/index.zh-CN.md index 1816813a25..7e388a8b46 100644 --- a/packages/hooks/src/useDeepCompareLayoutEffect/index.zh-CN.md +++ b/packages/hooks/src/useDeepCompareLayoutEffect/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDeepCompareLayoutEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 9 +toc: content +demo: + cols: 2 --- -# useDeepCompareLayoutEffect - 用法与 useLayoutEffect 一致,但 deps 通过 [lodash isEqual](https://lodash.com/docs/4.17.15#isEqual) 进行深比较。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useDocumentVisibility/demo/demo1.tsx b/packages/hooks/src/useDocumentVisibility/demo/demo1.tsx index c442103e2c..2ba253c673 100644 --- a/packages/hooks/src/useDocumentVisibility/demo/demo1.tsx +++ b/packages/hooks/src/useDocumentVisibility/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Default usage - * desc: Listen to document visibility change. + * description: Listen to document visibility change. * * title.zh-CN: 基础用法 - * desc.zh-CN: 监听 document 的可见状态 + * description.zh-CN: 监听 document 的可见状态 */ import React, { useEffect } from 'react'; diff --git a/packages/hooks/src/useDocumentVisibility/index.en-US.md b/packages/hooks/src/useDocumentVisibility/index.en-US.md index d47fd20efb..5c4a5da187 100644 --- a/packages/hooks/src/useDocumentVisibility/index.en-US.md +++ b/packages/hooks/src/useDocumentVisibility/index.en-US.md @@ -1,15 +1,20 @@ --- -nav: - path: /hooks +title: useDocumentVisibility +nav: Hooks +group: + title: Dom + order: 6 +order: 3 +toc: content +demo: + cols: 2 --- -# useDocumentVisibility - A Hook can tell if the page is visible, refer to [visibilityState API](https://developer.mozilla.org/docs/Web/API/Document/visibilityState) ## Examples - + ## API diff --git a/packages/hooks/src/useDocumentVisibility/index.zh-CN.md b/packages/hooks/src/useDocumentVisibility/index.zh-CN.md index 349930a52e..e5779983f2 100644 --- a/packages/hooks/src/useDocumentVisibility/index.zh-CN.md +++ b/packages/hooks/src/useDocumentVisibility/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useDocumentVisibility +nav: Hooks +group: + title: Dom + order: 6 +order: 3 +toc: content +demo: + cols: 2 --- -# useDocumentVisibility - 监听页面是否可见,参考 [visibilityState API](https://developer.mozilla.org/docs/Web/API/Document/visibilityState) ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useDrop/demo/demo1.tsx b/packages/hooks/src/useDrop/demo/demo1.tsx index a8a68c05dd..30e2e3ce2e 100644 --- a/packages/hooks/src/useDrop/demo/demo1.tsx +++ b/packages/hooks/src/useDrop/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: The drop area can accept files, uri, text or one of the boxes below. + * description: The drop area can accept files, uri, text or one of the boxes below. * * title.zh-CN: 基础用法 - * desc.zh-CN: 拖拽区域可以接受文件,链接,文字,和下方的 box 节点。 + * description.zh-CN: 拖拽区域可以接受文件,链接,文字,和下方的 box 节点。 */ import React, { useRef, useState } from 'react'; @@ -11,7 +11,6 @@ import { useDrop, useDrag } from 'ahooks'; const DragItem = ({ data }) => { const dragRef = useRef(null); - const [dragging, setDragging] = useState(false); useDrag(data, dragRef, { @@ -31,7 +30,6 @@ const DragItem = ({ data }) => { padding: 16, width: 80, textAlign: 'center', - marginRight: 16, }} > {dragging ? 'dragging' : `box-${data}`} @@ -58,6 +56,7 @@ export default () => { alert(`uri: ${uri} dropped`); }, onDom: (content: string, e) => { + console.log(e); alert(`custom: ${content} dropped`); }, onDragEnter: () => setIsHovering(true), @@ -66,11 +65,14 @@ export default () => { return (
-
+
{isHovering ? 'release here' : 'drop here'}
-
+
{['1', '2', '3', '4', '5'].map((e) => ( ))} diff --git a/packages/hooks/src/useDrop/demo/demo2.tsx b/packages/hooks/src/useDrop/demo/demo2.tsx index 7052275dc7..5e2706f814 100644 --- a/packages/hooks/src/useDrop/demo/demo2.tsx +++ b/packages/hooks/src/useDrop/demo/demo2.tsx @@ -1,9 +1,9 @@ /** * title: Customize Image - * desc: Customize image that follow the mouse pointer during dragging. + * description: Customize image that follow the mouse pointer during dragging. * * title.zh-CN: 自定义拖拽图像 - * desc.zh-CN: 自定义拖拽过程中跟随鼠标指针的图像。 + * description.zh-CN: 自定义拖拽过程中跟随鼠标指针的图像。 */ import React, { useRef } from 'react'; diff --git a/packages/hooks/src/useDrop/index.en-US.md b/packages/hooks/src/useDrop/index.en-US.md index a6755c292c..d3bbd9020b 100644 --- a/packages/hooks/src/useDrop/index.en-US.md +++ b/packages/hooks/src/useDrop/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useDrop & useDrag +nav: Hooks +group: + title: Dom + order: 6 +order: 4 +toc: content +demo: + cols: 2 --- -# useDrop & useDrag - A pair of hooks to help you manage data transfer between drag and drop > useDrop can be used alone to accept file, text or uri dropping. @@ -15,17 +20,10 @@ A pair of hooks to help you manage data transfer between drag and drop ## Examples -### Basic Usage - - - -### Customize Image - - - -## API + + -### useDrag +## API - useDrag ```typescript useDrag( @@ -35,7 +33,7 @@ useDrag( ); ``` -#### Params +### Params | Property | Description | Type | Default | | -------- | ------------------ | ----------------------------------------------------------- | ------- | @@ -43,7 +41,7 @@ useDrag( | target | DOM element or ref | `() => Element` \| `Element` \| `MutableRefObject` | - | | options | More config | `DragOptions` | - | -#### DragOptions +### DragOptions | Property | Description | Type | Default | | ----------- | ------------------------------------------------------------- | ------------------------------ | ------- | @@ -51,7 +49,7 @@ useDrag( | onDragEnd | On drag end callback | `(e: React.DragEvent) => void` | - | | dragImage | Customize image that follow the mouse pointer during dragging | `DragImageOptions` | - | -#### DragImageOptions +### DragImageOptions | 参数 | 说明 | 类型 | 默认值 | | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | ------ | @@ -59,7 +57,7 @@ useDrag( | offsetX | the horizontal offset within the image | `number` | 0 | | offsetY | the vertical offset within the image | `number` | 0 | -### useDrop +## API - useDrop ```typescript useDrop( @@ -68,14 +66,14 @@ useDrop( ); ``` -#### Params +### Params | Property | Description | Type | Default | | -------- | ------------------ | ----------------------------------------------------------- | ------- | | target | DOM element or ref | `() => Element` \| `Element` \| `MutableRefObject` | - | | options | More config | `DropOptions` | - | -#### DropOptions +### DropOptions | Property | Description | Type | Default | | ----------- | ------------------------------------------- | --------------------------------------------- | ------- | diff --git a/packages/hooks/src/useDrop/index.zh-CN.md b/packages/hooks/src/useDrop/index.zh-CN.md index c1dc96d4ae..e0768d8958 100644 --- a/packages/hooks/src/useDrop/index.zh-CN.md +++ b/packages/hooks/src/useDrop/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useDrop & useDrag +nav: Hooks +group: + title: Dom + order: 6 +order: 4 +toc: content +demo: + cols: 2 --- -# useDrop & useDrag - 处理元素拖拽的 Hook。 > useDrop 可以单独使用来接收文件、文字和网址的拖拽。 @@ -15,17 +20,10 @@ nav: ## 代码演示 -### 基础用法 - - - -### 自定义拖拽图像 - - - -## API + + -### useDrag +## API - useDrag ```typescript useDrag( @@ -35,7 +33,7 @@ useDrag( ); ``` -#### Params +### Params | 参数 | 说明 | 类型 | 默认值 | | ------- | --------------------- | ----------------------------------------------------------- | ------ | @@ -43,7 +41,7 @@ useDrag( | target | DOM 节点或者 Ref 对象 | `() => Element` \| `Element` \| `MutableRefObject` | - | | options | 额外的配置项 | `DragOptions` | - | -#### DragOptions +### DragOptions | 参数 | 说明 | 类型 | 默认值 | | ----------- | ---------------------------------- | ------------------------------ | ------ | @@ -51,7 +49,7 @@ useDrag( | onDragEnd | 结束拖拽的回调 | `(e: React.DragEvent) => void` | - | | dragImage | 自定义拖拽过程中跟随鼠标指针的图像 | `DragImageOptions` | - | -#### DragImageOptions +### DragImageOptions | 参数 | 说明 | 类型 | 默认值 | | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------- | ------ | @@ -59,7 +57,7 @@ useDrag( | offsetX | 水平偏移 | `number` | 0 | | offsetY | 垂直偏移 | `number` | 0 | -### useDrop +## API - useDrop ```typescript useDrop( @@ -68,14 +66,14 @@ useDrop( ); ``` -#### Params +### Params | 参数 | 说明 | 类型 | 默认值 | | ------- | --------------------- | ----------------------------------------------------------- | ------ | | target | DOM 节点或者 Ref 对象 | `() => Element` \| `Element` \| `MutableRefObject` | - | | options | 额外的配置项 | `DragOptions` | - | -#### DropOptions +### DropOptions | 参数 | 说明 | 类型 | 默认值 | | ----------- | ------------------------------ | --------------------------------------------- | ------ | diff --git a/packages/hooks/src/useDynamicList/demo/demo1.tsx b/packages/hooks/src/useDynamicList/demo/demo1.tsx index e7045a086c..0b65e6dd8c 100644 --- a/packages/hooks/src/useDynamicList/demo/demo1.tsx +++ b/packages/hooks/src/useDynamicList/demo/demo1.tsx @@ -1,50 +1,37 @@ /** * title: Basic usage - * desc: Dynamic list management + * description: Dynamic list management * * title.zh-CN: 基础用法 - * desc.zh-CN: 管理动态列表 + * description.zh-CN: 管理动态列表 */ +import React from 'react'; +import { Input, Space } from 'antd'; import { MinusCircleOutlined, PlusCircleOutlined } from '@ant-design/icons'; import { useDynamicList } from 'ahooks'; -import { Input } from 'antd'; -import React from 'react'; export default () => { const { list, remove, getKey, insert, replace } = useDynamicList(['David', 'Jack']); const Row = (index: number, item: any) => ( -
+ replace(index, e.target.value)} value={item} + onChange={(e) => replace(index, e.target.value)} /> - - {list.length > 1 && ( - { - remove(index); - }} - /> - )} - { - insert(index + 1, ''); - }} - /> -
+ {list.length > 1 && remove(index)} />} + insert(index + 1, '')} /> + ); return ( <> - {list.map((ele, index) => Row(index, ele))} - -
{JSON.stringify([list])}
+ + {list.map((ele, index) => Row(index, ele))} + +

{JSON.stringify(list)}

); }; diff --git a/packages/hooks/src/useDynamicList/demo/demo2.tsx b/packages/hooks/src/useDynamicList/demo/demo2.tsx index e7bf41c150..7acac5a140 100644 --- a/packages/hooks/src/useDynamicList/demo/demo2.tsx +++ b/packages/hooks/src/useDynamicList/demo/demo2.tsx @@ -1,15 +1,15 @@ /** * title: Used in antd Form - * desc: Used in antd Form, a component can be packaged independently, like DynamicInputs in the example. + * description: Used in antd Form, a component can be packaged independently, like DynamicInputs in the example. * * title.zh-CN: 在 antd Form 中使用 - * desc.zh-CN: 在 antd Form 中使用,可以独立封装一个组件,比如例子中的 DynamicInputs。 + * description.zh-CN: 在 antd Form 中使用,可以独立封装一个组件,比如例子中的 DynamicInputs。 */ +import React, { useEffect, useState } from 'react'; +import { Button, Form, Input, Space } from 'antd'; import { MinusCircleOutlined, PlusCircleOutlined } from '@ant-design/icons'; import { useDynamicList } from 'ahooks'; -import { Button, Form, Input } from 'antd'; -import React, { useEffect, useState } from 'react'; const DynamicInputs = ({ value = [], @@ -32,37 +32,22 @@ const DynamicInputs = ({ }, [list]); const Row = (index: number, item: any) => ( -
+ replace(index, e.target.value)} value={item} + onChange={(e) => replace(index, e.target.value)} /> - - {list.length > 1 && ( - { - remove(index); - }} - /> - )} - { - insert(index + 1, ''); - }} - /> -
+ {list.length > 1 && remove(index)} />} + insert(index + 1, '')} /> + ); - return <>{list.map((ele, index) => Row(index, ele))}; + return {list.map((ele, index) => Row(index, ele))}; }; export default () => { const [form] = Form.useForm(); - const [result, setResult] = useState(''); return ( @@ -72,23 +57,22 @@ export default () => { - - - + + + +

{result}

); diff --git a/packages/hooks/src/useDynamicList/demo/demo3.tsx b/packages/hooks/src/useDynamicList/demo/demo3.tsx index b5c319fab4..a4881c77d7 100644 --- a/packages/hooks/src/useDynamicList/demo/demo3.tsx +++ b/packages/hooks/src/useDynamicList/demo/demo3.tsx @@ -1,73 +1,61 @@ /** - * title: Used in antd Form - * desc: Pay attention to the use of sortList. The data of antd Form is not sorted correctly. sortList can be used to calibrate the sorting. + * title: Another way of writing used in antd Form + * description: Pay attention to the use of sortList. The data of antd Form is not sorted correctly. sortList can be used to calibrate the sorting. * * title.zh-CN: 在 antd Form 中使用的另一种写法 - * desc.zh-CN: 注意 sortList 的使用,antd Form 获取的数据排序不对,通过 sortList 可以校准排序。 + * description.zh-CN: 注意 sortList 的使用,antd Form 获取的数据排序不对,通过 sortList 可以校准排序。 */ import React, { useState } from 'react'; -import { Form, Button, Input } from 'antd'; +import { Form, Button, Input, Space } from 'antd'; import { MinusCircleOutlined, PlusCircleOutlined } from '@ant-design/icons'; import { useDynamicList } from 'ahooks'; +const DEFAULT_LIST = ['David', 'Jack']; + export default () => { - const { list, remove, getKey, insert, resetList, sortList } = useDynamicList(['David', 'Jack']); const [form] = Form.useForm(); - const [result, setResult] = useState(''); + const { list, remove, getKey, insert, sortList, resetList } = useDynamicList(DEFAULT_LIST); const Row = (index: number, item: any) => ( -
-
- - - -
-
- {list.length > 1 && ( - { - remove(index); - }} - /> - )} - { - insert(index + 1, ''); - }} - /> -
-
+ + + + + + {list.length > 1 && remove(index)} />} + insert(index + 1, '')} /> + + ); return ( <> -
{list.map((ele, index) => Row(index, ele))} - - - +
+ {list.map((ele, index) => Row(index, ele))} + + + + +
{result}
); diff --git a/packages/hooks/src/useDynamicList/demo/demo4.tsx b/packages/hooks/src/useDynamicList/demo/demo4.tsx index ca0f37cea6..40678ccea1 100644 --- a/packages/hooks/src/useDynamicList/demo/demo4.tsx +++ b/packages/hooks/src/useDynamicList/demo/demo4.tsx @@ -1,15 +1,15 @@ /** * title: Draggable dynamic table - * desc: Using antd Table to build dynamic table form. + * description: Using antd Table to build dynamic table form. * * title.zh-CN: 可拖拽的动态表格 - * desc.zh-CN: 使用 antd table 构建动态表格 + * description.zh-CN: 使用 antd table 构建动态表格 */ -import { DragOutlined } from '@ant-design/icons'; -import { Button, Form, Input, Table } from 'antd'; import React, { useState } from 'react'; import ReactDragListView from 'react-drag-listview'; +import { Button, Form, Input, Space, Table } from 'antd'; +import { DragOutlined } from '@ant-design/icons'; import { useDynamicList } from 'ahooks'; interface Item { @@ -18,16 +18,17 @@ interface Item { memo?: string; } -export default () => { - const { list, remove, getKey, move, push, sortList } = useDynamicList([ - { name: 'my bro', age: '23', memo: "he's my bro" }, - { name: 'my sis', age: '21', memo: "she's my sis" }, - {}, - ]); +const DEFAULT_LIST = [ + { name: 'my bro', age: '23', memo: "he's my bro" }, + { name: 'my sis', age: '21', memo: "she's my sis" }, + {}, +]; +export default () => { const [form] = Form.useForm(); - const [result, setResult] = useState(''); + const { list, remove, getKey, move, push, sortList, resetList } = + useDynamicList(DEFAULT_LIST); const columns = [ { @@ -35,12 +36,12 @@ export default () => { dataIndex: 'name', key: 'name', render: (text: string, row: Item, index: number) => ( - <> - + + - + - + ), }, { @@ -49,7 +50,7 @@ export default () => { key: 'age', render: (text: string, row: Item, index: number) => ( - + ), }, @@ -58,23 +59,22 @@ export default () => { title: 'Memo', dataIndex: 'memo', render: (text: string, row: Item, index: number) => ( - <> + - + - - - - + + ), }, ]; return ( -
+ <>
+ {/* @ts-ignore */} move(oldIndex, newIndex)} handleSelector={'span[aria-label="drag"]'} @@ -89,30 +89,39 @@ export default () => { - -
{result && `content: ${result}`}
-
+ + + + +

{result}

+ ); }; diff --git a/packages/hooks/src/useDynamicList/index.en-US.md b/packages/hooks/src/useDynamicList/index.en-US.md index f35e373701..fb2dd52eb0 100644 --- a/packages/hooks/src/useDynamicList/index.en-US.md +++ b/packages/hooks/src/useDynamicList/index.en-US.md @@ -1,29 +1,23 @@ --- -nav: - path: /hooks +title: useDynamicList +nav: Hooks +group: + title: Scene + order: 2 +order: 5 +toc: content +demo: + cols: 2 --- -# useDynamicList - A hook that helps you manage dynamic list and generate unique key for each item. ## Examples -### Basic usage - - - -### Using with antd Form - - - -### Another way of writing used in antd Form - - - -### Draggable dynamic table - - + + + + ## API diff --git a/packages/hooks/src/useDynamicList/index.zh-CN.md b/packages/hooks/src/useDynamicList/index.zh-CN.md index 5f4087efb6..c4afc55fe3 100644 --- a/packages/hooks/src/useDynamicList/index.zh-CN.md +++ b/packages/hooks/src/useDynamicList/index.zh-CN.md @@ -1,29 +1,23 @@ --- -nav: - path: /hooks +title: useDynamicList +nav: Hooks +group: + title: Scene + order: 2 +order: 5 +toc: content +demo: + cols: 2 --- -# useDynamicList - 一个帮助你管理动态列表状态,并能生成唯一 key 的 Hook。 ## 代码演示 -### 基础用法 - - - -### 在 antd Form 中使用 - - - -### 在 antd Form 中使用的另一种写法 - - - -### 可拖拽的动态表格 - - + + + + ## API diff --git a/packages/hooks/src/useEventEmitter/demo/demo1.tsx b/packages/hooks/src/useEventEmitter/demo/demo1.tsx index 75d9c2ac80..e752b591d7 100644 --- a/packages/hooks/src/useEventEmitter/demo/demo1.tsx +++ b/packages/hooks/src/useEventEmitter/demo/demo1.tsx @@ -1,30 +1,25 @@ /** * title: Parent component shares a event - * desc: The parent component creates a `focus$` event emitter, and passes it to its children. When calling `focus$.emit` in MessageBox, InputBox will get notified. + * description: The parent component creates a `focus$` event emitter, and passes it to its children. When calling `focus$.emit` in MessageBox, InputBox will get notified. * * title.zh-CN: 父组件向子组件共享事件 - * desc.zh-CN: 父组件创建了一个 `focus$` 事件,并且将它传递给了两个子组件。在 MessageBox 中调用 `focus$.emit` ,InputBox 组件就可以收到通知。 + * description.zh-CN: 父组件创建了一个 `focus$` 事件,并且将它传递给了两个子组件。在 MessageBox 中调用 `focus$.emit` ,InputBox 组件就可以收到通知。 */ -import React, { useRef, FC } from 'react'; +import React, { useRef } from 'react'; +import type { FC } from 'react'; +import { Button, Input, Space } from 'antd'; import { useEventEmitter } from 'ahooks'; -import { EventEmitter } from 'ahooks/lib/useEventEmitter'; +import type { EventEmitter } from 'ahooks/es/useEventEmitter'; const MessageBox: FC<{ focus$: EventEmitter; }> = function (props) { return ( -
+

You received a message

- -
+ + ); }; @@ -32,16 +27,17 @@ const InputBox: FC<{ focus$: EventEmitter; }> = function (props) { const inputRef = useRef(); + props.focus$.useSubscription(() => { inputRef.current.focus(); }); - return ( - - ); + + return ; }; export default function () { const focus$ = useEventEmitter(); + return ( <> diff --git a/packages/hooks/src/useEventEmitter/index.en-US.md b/packages/hooks/src/useEventEmitter/index.en-US.md index cd8f239084..92bdbc0d61 100644 --- a/packages/hooks/src/useEventEmitter/index.en-US.md +++ b/packages/hooks/src/useEventEmitter/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useEventEmitter +nav: Hooks +group: + title: Advanced + order: 7 +order: 3 +toc: content +demo: + cols: 2 --- -# useEventEmitter - Sometimes it is difficult to pass events between multiple components. By using EventEmitter, this can be simplified. To get an instance of `EventEmitter`, you can call `useEventEmitter` in React components. @@ -33,9 +38,7 @@ If you want to let the child component notify the parent component, you can just ## Examples -### Parent component shares a event - - + ## API diff --git a/packages/hooks/src/useEventEmitter/index.zh-CN.md b/packages/hooks/src/useEventEmitter/index.zh-CN.md index eb6eb6f4dd..213701ae6d 100644 --- a/packages/hooks/src/useEventEmitter/index.zh-CN.md +++ b/packages/hooks/src/useEventEmitter/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useEventEmitter +nav: Hooks +group: + title: Advanced + order: 7 +order: 3 +toc: content +demo: + cols: 2 --- -# useEventEmitter - 在多个组件之间进行事件通知有时会让人非常头疼,借助 EventEmitter ,可以让这一过程变得更加简单。 在组件中调用 `useEventEmitter` 可以获得一个 `EventEmitter` 的实例: @@ -33,9 +38,7 @@ event$.useSubscription(val => { ## 代码演示 -### 父组件向子组件共享事件 - - + ## API diff --git a/packages/hooks/src/useEventListener/demo/demo1.tsx b/packages/hooks/src/useEventListener/demo/demo1.tsx index a404b56337..1080b63d6a 100644 --- a/packages/hooks/src/useEventListener/demo/demo1.tsx +++ b/packages/hooks/src/useEventListener/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Default usage - * desc: Click the button to preview. + * description: Click the button to preview. * * title.zh-CN: 基础用法 - * desc.zh-CN: 点击按钮查看效果。 + * description.zh-CN: 点击按钮查看效果。 */ import React, { useState, useRef } from 'react'; +import { Button } from 'antd'; import { useEventListener } from 'ahooks'; export default () => { @@ -21,9 +22,5 @@ export default () => { { target: ref }, ); - return ( - - ); + return ; }; diff --git a/packages/hooks/src/useEventListener/demo/demo2.tsx b/packages/hooks/src/useEventListener/demo/demo2.tsx index a5944d4bed..89e2294ac7 100644 --- a/packages/hooks/src/useEventListener/demo/demo2.tsx +++ b/packages/hooks/src/useEventListener/demo/demo2.tsx @@ -1,9 +1,9 @@ /** * title: Listen keydown - * desc: Press any key to preview. + * description: Press any key to preview. * * title.zh-CN: 监听 keydown 事件 - * desc.zh-CN: 按下键盘查看效果。 + * description.zh-CN: 按下键盘查看效果。 */ import React, { useState } from 'react'; @@ -16,5 +16,9 @@ export default () => { setValue(ev.code); }); - return

Your press key is {value}

; + return ( +

+ Your press key is: {value} +

+ ); }; diff --git a/packages/hooks/src/useEventListener/index.en-US.md b/packages/hooks/src/useEventListener/index.en-US.md index 2e89dd2404..d80bbc5dcc 100644 --- a/packages/hooks/src/useEventListener/index.en-US.md +++ b/packages/hooks/src/useEventListener/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useEventListener +nav: Hooks +group: + title: Dom + order: 6 +order: 1 +toc: content +demo: + cols: 2 --- -# useEventListener - Use addEventListener elegant by Hook. ## Examples -### Default usage - - - -### Listen for keydown - - + + ## API diff --git a/packages/hooks/src/useEventListener/index.zh-CN.md b/packages/hooks/src/useEventListener/index.zh-CN.md index 35af05bcce..cbe326b499 100644 --- a/packages/hooks/src/useEventListener/index.zh-CN.md +++ b/packages/hooks/src/useEventListener/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useEventListener +nav: Hooks +group: + title: Dom + order: 6 +order: 1 +toc: content +demo: + cols: 2 --- -# useEventListener - 优雅的使用 addEventListener。 ## 代码演示 -### 基础用法 - - - -### 监听 keydown 事件 - - + + ## API diff --git a/packages/hooks/src/useEventTarget/demo/demo1.tsx b/packages/hooks/src/useEventTarget/demo/demo1.tsx index 38fb809162..07f7fce920 100644 --- a/packages/hooks/src/useEventTarget/demo/demo1.tsx +++ b/packages/hooks/src/useEventTarget/demo/demo1.tsx @@ -1,23 +1,24 @@ /** * title: Basic usage - * desc: Controlled input component,support reset. + * description: Controlled input component,support reset. * * title.zh-CN: 基础用法 - * desc.zh-CN: 受控的 input,支持 reset。 + * description.zh-CN: 受控的 input,支持 reset。 */ import React from 'react'; +import { Button, Input, Space } from 'antd'; import { useEventTarget } from 'ahooks'; export default () => { - const [value, { reset, onChange }] = useEventTarget({ initialValue: 'this is initial value' }); + const [value, { reset, onChange }] = useEventTarget({ + initialValue: 'this is initial value', + }); return ( -
- - -
+ + + + ); }; diff --git a/packages/hooks/src/useEventTarget/demo/demo2.tsx b/packages/hooks/src/useEventTarget/demo/demo2.tsx index e42032dde8..180fc34188 100644 --- a/packages/hooks/src/useEventTarget/demo/demo2.tsx +++ b/packages/hooks/src/useEventTarget/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Custom transformer function - * desc: Controlled input component with number input only + * description: Controlled input component with number input only. * * title.zh-CN: 自定义转换函数 - * desc.zh-CN: 只能输入数字的 input 组件 + * description.zh-CN: 只能输入数字的 input 组件。 */ import React from 'react'; +import { Button, Input, Space } from 'antd'; import { useEventTarget } from 'ahooks'; export default () => { @@ -16,16 +17,9 @@ export default () => { }); return ( -
- - -
+ + + + ); }; diff --git a/packages/hooks/src/useEventTarget/index.en-US.md b/packages/hooks/src/useEventTarget/index.en-US.md index 36ec29810d..40d8746a78 100644 --- a/packages/hooks/src/useEventTarget/index.en-US.md +++ b/packages/hooks/src/useEventTarget/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useEventTarget +nav: Hooks +group: + title: Dom + order: 6 +order: 5 +toc: content +demo: + cols: 2 --- -# useEventTarget - A hook that encapsulates `onChange` and `value` logic for form controls that obtains value through `event.target.value`. It also supports custom transformer and reset functionalities. ## Example -### Basic Usage - - - -### Custom transformer - - + + ## API diff --git a/packages/hooks/src/useEventTarget/index.zh-CN.md b/packages/hooks/src/useEventTarget/index.zh-CN.md index 4ad7f629c9..bd9123abeb 100644 --- a/packages/hooks/src/useEventTarget/index.zh-CN.md +++ b/packages/hooks/src/useEventTarget/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useEventTarget +nav: Hooks +group: + title: Dom + order: 6 +order: 5 +toc: content +demo: + cols: 2 --- -# useEventTarget - 常见表单控件(通过 e.target.value 获取表单值) 的 onChange 跟 value 逻辑封装,支持自定义值转换和重置功能。 ## 代码演示 -### 基础用法 - - - -### 自定义转换函数 - - + + ## API diff --git a/packages/hooks/src/useExternal/demo/demo1.tsx b/packages/hooks/src/useExternal/demo/demo1.tsx index b12f8dda5b..ab8df0f12d 100644 --- a/packages/hooks/src/useExternal/demo/demo1.tsx +++ b/packages/hooks/src/useExternal/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Default usage - * desc: Load js file, such as [test-external-script.js](/useExternal/test-external-script.js) + * description: Load js file, such as [test-external-script.js](/useExternal/test-external-script.js) * * title.zh-CN: 基础用法 - * desc.zh-CN: 加载 js 文件,例如引入 [test-external-script.js](/useExternal/test-external-script.js) + * description.zh-CN: 加载 js 文件,例如引入 [test-external-script.js](/useExternal/test-external-script.js) */ import React from 'react'; diff --git a/packages/hooks/src/useExternal/demo/demo2.tsx b/packages/hooks/src/useExternal/demo/demo2.tsx index 5172b9cf1d..af1e71195c 100644 --- a/packages/hooks/src/useExternal/demo/demo2.tsx +++ b/packages/hooks/src/useExternal/demo/demo2.tsx @@ -1,25 +1,25 @@ /** * title: Load style dynamically - * desc: Load css file, such as [bootstrap-badge.css](/useExternal/bootstrap-badge.css) + * description: Load css file, such as [bootstrap-badge.css](/useExternal/bootstrap-badge.css) * * title.zh-CN: 动态加载样式 - * desc.zh-CN: 加载 css 文件,例如引入 [bootstrap-badge.css](/useExternal/bootstrap-badge.css) + * description.zh-CN: 加载 css 文件,例如引入 [bootstrap-badge.css](/useExternal/bootstrap-badge.css) */ -import { useExternal } from 'ahooks'; import React, { useState } from 'react'; +import { Button, Space } from 'antd'; +import { useExternal } from 'ahooks'; export default () => { const [path, setPath] = useState('/useExternal/bootstrap-badge.css'); - const status = useExternal(path); return ( - <> +

Status: {status}

-
+ Primary Secondary Success @@ -28,18 +28,11 @@ export default () => { Info Light Dark -
-
- - - +
+ + + + + ); }; diff --git a/packages/hooks/src/useExternal/demo/demo3.tsx b/packages/hooks/src/useExternal/demo/demo3.tsx deleted file mode 100644 index fe3ec83b5a..0000000000 --- a/packages/hooks/src/useExternal/demo/demo3.tsx +++ /dev/null @@ -1,64 +0,0 @@ -/** - * title: Load style dynamically - * desc: Load css file, such as [bootstrap-badge.css](/useExternal/bootstrap-badge.css) - * - * title.zh-CN: 动态加载样式 - * desc.zh-CN: 加载 css 文件,例如引入 [bootstrap-badge.css](/useExternal/bootstrap-badge.css) - */ - -import { useExternal } from 'ahooks'; -import React, { useState } from 'react'; - -export default () => { - const [path, setPath] = useState(''); - const status = useExternal(path); - - const [path2, setPath2] = useState(''); - const status2 = useExternal(path2); - - return ( - <> -
- Primary - Secondary - Success - Danger - Warning - Info - Light - Dark -
-
- -

第一个

-

- Status: {status} -

- - -
-

第二个

-

- Status: {status2} -

- - - - ); -}; diff --git a/packages/hooks/src/useExternal/index.en-US.md b/packages/hooks/src/useExternal/index.en-US.md index dde8dc4e21..4ab6bbeed5 100644 --- a/packages/hooks/src/useExternal/index.en-US.md +++ b/packages/hooks/src/useExternal/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useExternal +nav: Hooks +group: + title: Dom + order: 6 +order: 6 +toc: content +demo: + cols: 2 --- -# useExternal - Dynamically load JS or CSS, useExternal can ensure that the resource are globally unique. ## Example -### Basic Usage - - - -### Load CSS - - + + ## API diff --git a/packages/hooks/src/useExternal/index.zh-CN.md b/packages/hooks/src/useExternal/index.zh-CN.md index 55156c4c95..80978670b1 100644 --- a/packages/hooks/src/useExternal/index.zh-CN.md +++ b/packages/hooks/src/useExternal/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useExternal +nav: Hooks +group: + title: Dom + order: 6 +order: 6 +toc: content +demo: + cols: 2 --- -# useExternal - 动态注入 JS 或 CSS 资源,useExternal 可以保证资源全局唯一。 ## 代码演示 -### 基础用法 - - - -### 加载 CSS - - + + ## API diff --git a/packages/hooks/src/useFavicon/demo/demo1.tsx b/packages/hooks/src/useFavicon/demo/demo1.tsx index 7f9a4c2705..911da58627 100644 --- a/packages/hooks/src/useFavicon/demo/demo1.tsx +++ b/packages/hooks/src/useFavicon/demo/demo1.tsx @@ -1,16 +1,16 @@ /** * title: Basic usage - * desc: Set favicon + * description: Set favicon * * title.zh-CN: 基础用法 - * desc.zh-CN: 设置 favicon + * description.zh-CN: 设置 favicon */ import React, { useState } from 'react'; +import { Button, Space } from 'antd'; import { useFavicon } from 'ahooks'; export const DEFAULT_FAVICON_URL = 'https://ahooks.js.org/simple-logo.svg'; - export const GOOGLE_FAVICON_URL = 'https://www.google.com/favicon.ico'; export default () => { @@ -19,25 +19,14 @@ export default () => { useFavicon(url); return ( - <> +

Current Favicon: {url}

- - - + + + + +
); }; diff --git a/packages/hooks/src/useFavicon/index.en-US.md b/packages/hooks/src/useFavicon/index.en-US.md index 29a4880a2f..d5383f4a45 100644 --- a/packages/hooks/src/useFavicon/index.en-US.md +++ b/packages/hooks/src/useFavicon/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useFavicon +nav: Hooks +group: + title: Dom + order: 6 +order: 8 +toc: content +demo: + cols: 2 --- -# useFavicon - A hook that set the favicon of the page. ## Example -### Basic Usage - - + ## API diff --git a/packages/hooks/src/useFavicon/index.zh-CN.md b/packages/hooks/src/useFavicon/index.zh-CN.md index 43d18963e5..12416fe731 100644 --- a/packages/hooks/src/useFavicon/index.zh-CN.md +++ b/packages/hooks/src/useFavicon/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useFavicon +nav: Hooks +group: + title: Dom + order: 6 +order: 8 +toc: content +demo: + cols: 2 --- -# useFavicon - 设置页面的 favicon。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useFocusWithin/demo/demo1.tsx b/packages/hooks/src/useFocusWithin/demo/demo1.tsx index 5482cdcb6d..d090bfd45e 100644 --- a/packages/hooks/src/useFocusWithin/demo/demo1.tsx +++ b/packages/hooks/src/useFocusWithin/demo/demo1.tsx @@ -1,14 +1,14 @@ /** * title: Basic usage - * desc: Use ref to set area that needs monitoring. The focus can be switched by click the outside with the mouse, or using keys such as `tab` on the keyboard. + * description: Use ref to set area that needs monitoring. The focus can be switched by click the outside with the mouse, or using keys such as `tab` on the keyboard. * * title.zh-CN: 基础用法 - * desc.zh-CN: 使用 ref 设置需要监听的区域。可以通过鼠标点击外部区域,或者使用键盘的 `tab` 等按键来切换焦点。 + * description.zh-CN: 使用 ref 设置需要监听的区域。可以通过鼠标点击外部区域,或者使用键盘的 `tab` 等按键来切换焦点。 */ import React, { useRef } from 'react'; +import { Form, Input, message } from 'antd'; import { useFocusWithin } from 'ahooks'; -import { message } from 'antd'; export default () => { const ref = useRef(null); @@ -20,24 +20,26 @@ export default () => { message.info('blur'); }, }); + return ( -
+ <> +

isFocusWithin: {JSON.stringify(isFocusWithin)}

- - +
+ + + + + + +
-

isFocusWithin: {JSON.stringify(isFocusWithin)}

-
+ ); }; diff --git a/packages/hooks/src/useFocusWithin/demo/demo2.tsx b/packages/hooks/src/useFocusWithin/demo/demo2.tsx index e1dfe61a9a..60a9ae2dfe 100644 --- a/packages/hooks/src/useFocusWithin/demo/demo2.tsx +++ b/packages/hooks/src/useFocusWithin/demo/demo2.tsx @@ -1,35 +1,44 @@ /** * title: Pass in DOM element - * desc: Pass in a function that returns the DOM element. + * description: Pass in a function that returns the DOM element. * * title.zh-CN: 传入 DOM 元素 - * desc.zh-CN: 传入 function 并返回一个 dom 元素。 + * description.zh-CN: 传入 function 并返回一个 dom 元素。 */ -import { useFocusWithin } from 'ahooks'; import React from 'react'; +import { Form, Input, message } from 'antd'; +import { useFocusWithin } from 'ahooks'; export default () => { - const isFocusWithin = useFocusWithin(() => document.getElementById('focus-area')); + const isFocusWithin = useFocusWithin(() => document.getElementById('focus-area'), { + onFocus: () => { + message.info('focus'); + }, + onBlur: () => { + message.info('blur'); + }, + }); return ( -
+ <> +

isFocusWithin: {JSON.stringify(isFocusWithin)}

- - +
+ + + + + + +
-

isFocusWithin: {JSON.stringify(isFocusWithin)}

-
+ ); }; diff --git a/packages/hooks/src/useFocusWithin/index.en-US.md b/packages/hooks/src/useFocusWithin/index.en-US.md index 658266c3ed..337d9cb7d1 100644 --- a/packages/hooks/src/useFocusWithin/index.en-US.md +++ b/packages/hooks/src/useFocusWithin/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useFocusWithin +nav: Hooks +group: + title: Dom + order: 6 +order: 19 +toc: content +demo: + cols: 2 --- -# useFocusWithin - Monitor whether the current focus is within a certain area, Same as css attribute [:focus-within](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within). ## Examples -### Default usage - - - -### Pass in DOM element - - + + ## API diff --git a/packages/hooks/src/useFocusWithin/index.zh-CN.md b/packages/hooks/src/useFocusWithin/index.zh-CN.md index 58d0520221..0745fb847a 100644 --- a/packages/hooks/src/useFocusWithin/index.zh-CN.md +++ b/packages/hooks/src/useFocusWithin/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useFocusWithin +nav: Hooks +group: + title: Dom + order: 6 +order: 19 +toc: content +demo: + cols: 2 --- -# useFocusWithin - 监听当前焦点是否在某个区域之内,同 css 属性 [:focus-within](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within)。 ## 代码演示 -### 基础用法 - - - -### 传入 DOM 元素 - - + + ## API diff --git a/packages/hooks/src/useFullscreen/demo/demo1.tsx b/packages/hooks/src/useFullscreen/demo/demo1.tsx index e16de570da..bc1d16fd35 100644 --- a/packages/hooks/src/useFullscreen/demo/demo1.tsx +++ b/packages/hooks/src/useFullscreen/demo/demo1.tsx @@ -1,31 +1,27 @@ /** * title: Default usage - * desc: Use ref to set elements that need full screen + * description: Use ref to set elements that need full screen * * title.zh-CN: 基础用法 - * desc.zh-CN: 使用 ref 设置需要全屏的元素 + * description.zh-CN: 使用 ref 设置需要全屏的元素 */ import React, { useRef } from 'react'; +import { Button, Space } from 'antd'; import { useFullscreen } from 'ahooks'; export default () => { const ref = useRef(null); const [isFullscreen, { enterFullscreen, exitFullscreen, toggleFullscreen }] = useFullscreen(ref); + return (
-
{isFullscreen ? 'Fullscreen' : 'Not fullscreen'}
-
- - - -
+ + + + + +
{isFullscreen ? 'Fullscreen' : 'Not Fullscreen'}
); }; diff --git a/packages/hooks/src/useFullscreen/demo/demo2.tsx b/packages/hooks/src/useFullscreen/demo/demo2.tsx index a2ab3cc76a..5050e5c7d8 100644 --- a/packages/hooks/src/useFullscreen/demo/demo2.tsx +++ b/packages/hooks/src/useFullscreen/demo/demo2.tsx @@ -5,19 +5,17 @@ */ import React from 'react'; +import { Button, Space } from 'antd'; import { useFullscreen } from 'ahooks'; import img from './react-hooks.jpg'; export default () => { const [, { enterFullscreen }] = useFullscreen(() => document.getElementById('fullscreen-img')); + return ( -
-
- -
- -
+ + + + ); }; diff --git a/packages/hooks/src/useFullscreen/demo/demo3.tsx b/packages/hooks/src/useFullscreen/demo/demo3.tsx index f1ae3cc52c..0d7f3d599a 100644 --- a/packages/hooks/src/useFullscreen/demo/demo3.tsx +++ b/packages/hooks/src/useFullscreen/demo/demo3.tsx @@ -5,6 +5,7 @@ */ import React, { useRef } from 'react'; +import { Button, Card, Space } from 'antd'; import { useFullscreen } from 'ahooks'; export default () => { @@ -14,19 +15,13 @@ export default () => { }); return ( -
-
-
{isFullscreen ? 'Fullscreen' : 'Not fullscreen'}
- - - -
-
+ + + + + + +
{isFullscreen ? 'Fullscreen' : 'Not Fullscreen'}
+
); }; diff --git a/packages/hooks/src/useFullscreen/demo/demo4.tsx b/packages/hooks/src/useFullscreen/demo/demo4.tsx index bdcb12884a..0d4391c649 100644 --- a/packages/hooks/src/useFullscreen/demo/demo4.tsx +++ b/packages/hooks/src/useFullscreen/demo/demo4.tsx @@ -8,6 +8,7 @@ import React, { useRef } from 'react'; import { useFullscreen } from 'ahooks'; +import { Button, Space } from 'antd'; function vanillaToggleFullscreen(element) { const isFullscreen = !!document.fullscreenElement; @@ -25,15 +26,13 @@ export default () => { return (
-
{isFullscreen ? 'Fullscreen' : 'Not fullscreen'}
-
- - -
+ + + + +
{isFullscreen ? 'Fullscreen' : 'Not Fullscreen'}
); }; diff --git a/packages/hooks/src/useFullscreen/index.en-US.md b/packages/hooks/src/useFullscreen/index.en-US.md index b7d03bc517..c4ea9cf81e 100644 --- a/packages/hooks/src/useFullscreen/index.en-US.md +++ b/packages/hooks/src/useFullscreen/index.en-US.md @@ -1,29 +1,23 @@ --- -nav: - path: /hooks +title: useFullscreen +nav: Hooks +group: + title: Dom + order: 6 +order: 9 +toc: content +demo: + cols: 2 --- -# useFullscreen - manages DOM full screen. ## Examples -### Default usage - - - -### Image full screen - - - -### Page full screen - - - -### Coexist with other full screen operations - - + + + + ## API diff --git a/packages/hooks/src/useFullscreen/index.zh-CN.md b/packages/hooks/src/useFullscreen/index.zh-CN.md index 503bd58007..bc12a16d31 100644 --- a/packages/hooks/src/useFullscreen/index.zh-CN.md +++ b/packages/hooks/src/useFullscreen/index.zh-CN.md @@ -1,29 +1,23 @@ --- -nav: - path: /hooks +title: useFullscreen +nav: Hooks +group: + title: Dom + order: 6 +order: 9 +toc: content +demo: + cols: 2 --- -# useFullscreen - 管理 DOM 全屏的 Hook。 ## 代码演示 -### 基础用法 - - - -### 图片全屏 - - - -### 页面全屏 - - - -### 与其它全屏操作共存 - - + + + + ## API diff --git a/packages/hooks/src/useFusionTable/demo/cache.tsx b/packages/hooks/src/useFusionTable/demo/cache.tsx index db8e7d24a8..03bcc77c40 100644 --- a/packages/hooks/src/useFusionTable/demo/cache.tsx +++ b/packages/hooks/src/useFusionTable/demo/cache.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; +import ReactJson from 'react-json-view'; import { Table, Pagination, Field, Form, Input, Button } from '@alifd/next'; import { useFusionTable } from 'ahooks'; -import ReactJson from 'react-json-view'; interface Item { name: { @@ -19,7 +19,7 @@ interface Result { const getTableData = ( { current, pageSize, filters, sorter }, - formData: Object, + formData: object, ): Promise => { console.log(sorter, filters); diff --git a/packages/hooks/src/useFusionTable/demo/form.tsx b/packages/hooks/src/useFusionTable/demo/form.tsx index 6a8205c0c0..695a0d116b 100644 --- a/packages/hooks/src/useFusionTable/demo/form.tsx +++ b/packages/hooks/src/useFusionTable/demo/form.tsx @@ -1,7 +1,7 @@ import React from 'react'; +import ReactJson from 'react-json-view'; import { Table, Pagination, Field, Form, Input, Button, Select, Icon } from '@alifd/next'; import { useFusionTable } from 'ahooks'; -import ReactJson from 'react-json-view'; interface Item { name: { @@ -17,7 +17,7 @@ interface Result { list: Item[]; } -const getTableData = ({ current, pageSize }, formData: Object): Promise => { +const getTableData = ({ current, pageSize }, formData: object): Promise => { let query = `page=${current}&size=${pageSize}`; Object.entries(formData).forEach(([key, value]) => { if (value) { diff --git a/packages/hooks/src/useFusionTable/demo/init.tsx b/packages/hooks/src/useFusionTable/demo/init.tsx index a1bc19b656..1dfaecbd01 100644 --- a/packages/hooks/src/useFusionTable/demo/init.tsx +++ b/packages/hooks/src/useFusionTable/demo/init.tsx @@ -1,7 +1,7 @@ -import { Button, Field, Form, Icon, Input, Pagination, Select, Table } from '@alifd/next'; import React from 'react'; -import { useFusionTable } from 'ahooks'; import ReactJson from 'react-json-view'; +import { Button, Field, Form, Icon, Input, Pagination, Select, Table } from '@alifd/next'; +import { useFusionTable } from 'ahooks'; interface Item { name: { @@ -17,7 +17,7 @@ interface Result { list: Item[]; } -const getTableData = ({ current, pageSize }, formData: Object): Promise => { +const getTableData = ({ current, pageSize }, formData: object): Promise => { let query = `page=${current}&size=${pageSize}`; Object.entries(formData).forEach(([key, value]) => { if (value) { diff --git a/packages/hooks/src/useFusionTable/demo/table.tsx b/packages/hooks/src/useFusionTable/demo/table.tsx index de53a66f08..2dd9920b26 100644 --- a/packages/hooks/src/useFusionTable/demo/table.tsx +++ b/packages/hooks/src/useFusionTable/demo/table.tsx @@ -1,5 +1,5 @@ -import { Pagination, Table } from '@alifd/next'; import React from 'react'; +import { Pagination, Table } from '@alifd/next'; import { useFusionTable } from 'ahooks'; interface Item { diff --git a/packages/hooks/src/useFusionTable/demo/validate.tsx b/packages/hooks/src/useFusionTable/demo/validate.tsx index f9c151316e..9f85ca0147 100644 --- a/packages/hooks/src/useFusionTable/demo/validate.tsx +++ b/packages/hooks/src/useFusionTable/demo/validate.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { Table, Pagination, Field, Form, Input, Select, Icon } from '@alifd/next'; -import { useFusionTable } from 'ahooks'; import ReactJson from 'react-json-view'; +import { Table, Pagination, Field, Form, Input, Icon } from '@alifd/next'; +import { useFusionTable } from 'ahooks'; interface Item { name: { @@ -17,7 +17,7 @@ interface Result { list: Item[]; } -const getTableData = ({ current, pageSize }, formData: Object): Promise => { +const getTableData = ({ current, pageSize }, formData: object): Promise => { let query = `page=${current}&size=${pageSize}`; Object.entries(formData).forEach(([key, value]) => { if (value) { diff --git a/packages/hooks/src/useFusionTable/fusionAdapter.ts b/packages/hooks/src/useFusionTable/fusionAdapter.ts index 7c6768ef0b..73f456bb08 100644 --- a/packages/hooks/src/useFusionTable/fusionAdapter.ts +++ b/packages/hooks/src/useFusionTable/fusionAdapter.ts @@ -10,7 +10,7 @@ export const fieldAdapter = (field: Field) => validateFields: (fields, callback) => { field.validate(fields, callback); }, - } as AntdFormUtils); + }) as AntdFormUtils; export const resultAdapter = (result: any) => { const tableProps = { diff --git a/packages/hooks/src/useFusionTable/index.en-US.md b/packages/hooks/src/useFusionTable/index.en-US.md index ce99261732..901593e279 100644 --- a/packages/hooks/src/useFusionTable/index.en-US.md +++ b/packages/hooks/src/useFusionTable/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useFusionTable +nav: Hooks +group: + title: Scene + order: 2 +order: 2 +toc: content +demo: + cols: 2 --- -# useFusionTable - useFusionTable encapsulates the commonly used [Fusion Form](https://fusion.design/pc/component/basic/form) and [Fusion Table](https://fusion.design/pc/component/basic/table) data binding logic. `useFusionTable` is implemented based on `useRequest`. Before using it, you need to understand a few points that are different from `useRequest`: @@ -27,7 +32,7 @@ useFusionTable encapsulates the commonly used [Fusion Form](https://fusion.desig
- + ### Form and Table data binding @@ -40,7 +45,7 @@ When `useFusionTable` receives the `field` instance, it will return a search obj In the following example, you can experience the data binding between form and table. - + ### Default Params @@ -50,19 +55,19 @@ It should be noted that the initial form data can be filled with all the form da The following example sets paging data and form data during initialization. - + ### Form Validation Before the form is submitted, we will automatically validate the form data. If the verification fails, the request will not be initiated. - + ### Data Caching By setting `cacheKey`, we can apply the data caching for the `Form` and `Table` . - + ## API diff --git a/packages/hooks/src/useFusionTable/index.zh-CN.md b/packages/hooks/src/useFusionTable/index.zh-CN.md index 79ee73d3b9..22438be1c4 100644 --- a/packages/hooks/src/useFusionTable/index.zh-CN.md +++ b/packages/hooks/src/useFusionTable/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useFusionTable +nav: Hooks +group: + title: Scene + order: 2 +order: 2 +toc: content +demo: + cols: 2 --- -# useFusionTable - 封装了常用的 [Fusion Form](https://fusion.design/pc/component/basic/form) 与 [Fusion Table](https://fusion.design/pc/component/basic/table) 联动逻辑。 > 🌈「Table 场景解决方案」上线啦!点击图片查看常用的表格场景,区块代码一键下载到本地,快速复用! [使用文档](https://fusion.design/help.html#/dnzud5) @@ -31,7 +36,7 @@ nav:
- + ### Form 与 Table 联动 @@ -44,7 +49,7 @@ nav: 以下示例你可以体验表单与表格联动。 - + ### 初始化数据 @@ -54,19 +59,19 @@ nav: 以下示例在初始化时设置了分页数据和表单数据。 - + ### 表单验证 表单提交之前,我们会自动校验表单数据,如果验证不通过,则不会发起请求。 - + ### 数据缓存 通过设置 `cacheKey`,我们可以实现 `Form` 与 `Table` 数据缓存。 - + ## API diff --git a/packages/hooks/src/useGetState/demo/demo1.tsx b/packages/hooks/src/useGetState/demo/demo1.tsx index 119712b36e..57bdff9dd7 100644 --- a/packages/hooks/src/useGetState/demo/demo1.tsx +++ b/packages/hooks/src/useGetState/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Open console to view logs - * desc: The counter prints the value every 3 seconds + * description: The counter prints the value every 3 seconds * * title.zh-CN: 打开控制台查看输出 - * desc.zh-CN: 计数器每 3 秒打印一次值 + * description.zh-CN: 计数器每 3 秒打印一次值 */ import React, { useEffect } from 'react'; +import { Button } from 'antd'; import { useGetState } from 'ahooks'; export default () => { @@ -22,5 +23,5 @@ export default () => { }; }, []); - return ; + return ; }; diff --git a/packages/hooks/src/useGetState/index.en-US.md b/packages/hooks/src/useGetState/index.en-US.md index a9fdb76e72..575d313428 100644 --- a/packages/hooks/src/useGetState/index.en-US.md +++ b/packages/hooks/src/useGetState/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useGetState +nav: Hooks +group: + title: State + order: 4 +order: 15 +toc: content +demo: + cols: 2 --- -# useGetState - Add a getter method to the return value of `React.useState` to get the latest value ## Examples -### Default usage - - + ## TypeScript definition diff --git a/packages/hooks/src/useGetState/index.zh-CN.md b/packages/hooks/src/useGetState/index.zh-CN.md index 7a652b2c10..0114a86d85 100644 --- a/packages/hooks/src/useGetState/index.zh-CN.md +++ b/packages/hooks/src/useGetState/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useGetState +nav: Hooks +group: + title: State + order: 4 +order: 15 +toc: content +demo: + cols: 2 --- -# useGetState - 给 `React.useState` 增加了一个 getter 方法,以获取当前最新值。 ## 代码演示 -### 基础用法 - - + ## 类型定义 diff --git a/packages/hooks/src/useHistoryTravel/demo/demo1.tsx b/packages/hooks/src/useHistoryTravel/demo/demo1.tsx index 7a9b7dea93..1fd28d233a 100644 --- a/packages/hooks/src/useHistoryTravel/demo/demo1.tsx +++ b/packages/hooks/src/useHistoryTravel/demo/demo1.tsx @@ -1,26 +1,27 @@ /** * title: Basic usage - * desc: Redo and undo operations,click back and forward after input something. + * description: Redo and undo operations,click back and forward after input something. * * title.zh-CN: 基础用法 - * desc.zh-CN: 撤销跟重做操作,输入内容后,点击 back 和 forward。 + * description.zh-CN: 撤销跟重做操作,输入内容后,点击 back 和 forward。 */ -import { useHistoryTravel } from 'ahooks'; import React from 'react'; +import { Button, Input, Space } from 'antd'; +import { useHistoryTravel } from 'ahooks'; export default () => { const { value, setValue, backLength, forwardLength, back, forward } = useHistoryTravel(); return ( -
- setValue(e.target.value)} /> - - + -
+ + ); }; diff --git a/packages/hooks/src/useHistoryTravel/demo/demo2.tsx b/packages/hooks/src/useHistoryTravel/demo/demo2.tsx index 060d7a0d3a..25fa3feea9 100644 --- a/packages/hooks/src/useHistoryTravel/demo/demo2.tsx +++ b/packages/hooks/src/useHistoryTravel/demo/demo2.tsx @@ -1,15 +1,18 @@ /** - * title: TodoList - * desc: Redo and undo operations + * title: Todo List + * description: Redo and undo operations. * * title.zh-CN: 可撤销恢复的 Todo List - * desc.zh-CN: 可以实现撤销恢复等操作。 + * description.zh-CN: 可以实现撤销恢复等操作。 */ -import { useHistoryTravel } from 'ahooks'; import React, { useState } from 'react'; +import { Button, Input, InputNumber, Space } from 'antd'; +import { useHistoryTravel } from 'ahooks'; export default () => { + const [inputValue, setInputValue] = useState(''); + const [step, setStep] = useState(0); const { value = [], setValue, @@ -21,9 +24,6 @@ export default () => { reset, } = useHistoryTravel(['do homework']); - const [inputValue, setInputValue] = useState(''); - const [step, setStep] = useState(-1); - const onAdd = () => { setValue([...value, inputValue]); setInputValue(''); @@ -41,53 +41,49 @@ export default () => { }; return ( -
-
-

TODO List

-
    + +
    +

    TODO List

    +
      {value.map((it, index) => (
    • {it}
    • ))}
    -
    - + setInputValue(e.target.value)} placeholder="Please enter TODO name" - style={{ width: 200, marginRight: 8 }} /> - - + - + - + -
    -
    - + + + setStep(e.target.value as any)} + onChange={(val) => setStep(val as number)} max={forwardLength} min={backLength * -1} - style={{ marginRight: 8, width: 60 }} /> - -
    -
+ + + ); }; diff --git a/packages/hooks/src/useHistoryTravel/demo/demo3.tsx b/packages/hooks/src/useHistoryTravel/demo/demo3.tsx index 2a62778d56..0028c9d9fe 100644 --- a/packages/hooks/src/useHistoryTravel/demo/demo3.tsx +++ b/packages/hooks/src/useHistoryTravel/demo/demo3.tsx @@ -1,33 +1,37 @@ /** * title: Limit maximum history length - * desc: Limit the maximum number of history records to avoid excessive memory consumption. + * description: Limit the maximum number of history records to avoid excessive memory consumption. * * title.zh-CN: 限制历史记录最大长度 - * desc.zh-CN: 限制最大历史记录数量,避免过度占用内存。 + * description.zh-CN: 限制最大历史记录数量,避免过度占用内存。 */ -import { useHistoryTravel } from 'ahooks'; import React from 'react'; +import { Button, Input, Space } from 'antd'; +import { useHistoryTravel } from 'ahooks'; + +const MAX_LENGTH = 3; export default () => { - const maxLength = 3; const { value, setValue, backLength, forwardLength, back, forward } = useHistoryTravel( '', - maxLength, + MAX_LENGTH, ); return ( -
-
maxLength: {maxLength}
+ <> + + setValue(e.target.value)} /> + + + +
maxLength: {MAX_LENGTH}
backLength: {backLength}
forwardLength: {forwardLength}
- setValue(e.target.value)} /> - - -
+ ); }; diff --git a/packages/hooks/src/useHistoryTravel/index.en-US.md b/packages/hooks/src/useHistoryTravel/index.en-US.md index 17cf25085c..9ad34dda23 100644 --- a/packages/hooks/src/useHistoryTravel/index.en-US.md +++ b/packages/hooks/src/useHistoryTravel/index.en-US.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useHistoryTravel +nav: Hooks +group: + title: Scene + order: 2 +order: 7 +toc: content +demo: + cols: 2 --- -# useHistoryTravel - A hook to manage state change history. It provides encapsulation methods to travel through the history. ## Examples -### Basic usage - - - -### Todo List - - - -### Limit maximum history length - - + + + ## API diff --git a/packages/hooks/src/useHistoryTravel/index.zh-CN.md b/packages/hooks/src/useHistoryTravel/index.zh-CN.md index 2227d1d20e..141e40cb67 100644 --- a/packages/hooks/src/useHistoryTravel/index.zh-CN.md +++ b/packages/hooks/src/useHistoryTravel/index.zh-CN.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useHistoryTravel +nav: Hooks +group: + title: Scene + order: 2 +order: 7 +toc: content +demo: + cols: 2 --- -# useHistoryTravel - 管理状态历史变化记录,方便在历史记录中前进与后退。 ## 代码演示 -### 基础用法 - - - -### 可撤销恢复的 Todo List - - - -### 限制历史记录最大长度 - - + + + ## API diff --git a/packages/hooks/src/useHover/demo/demo1.tsx b/packages/hooks/src/useHover/demo/demo1.tsx index 36ffb0fb4d..5fc477754c 100644 --- a/packages/hooks/src/useHover/demo/demo1.tsx +++ b/packages/hooks/src/useHover/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: Use ref to set element that needs monitoring. + * description: Use ref to set element that needs monitoring. * * title.zh-CN: 基础用法 - * desc.zh-CN: 使用 ref 设置需要监听的元素。 + * description.zh-CN: 使用 ref 设置需要监听的元素。 */ import React, { useRef } from 'react'; @@ -12,5 +12,6 @@ import { useHover } from 'ahooks'; export default () => { const ref = useRef(null); const isHovering = useHover(ref); + return
{isHovering ? 'hover' : 'leaveHover'}
; }; diff --git a/packages/hooks/src/useHover/demo/demo2.tsx b/packages/hooks/src/useHover/demo/demo2.tsx index 3d86c391ca..31b0f79d6f 100644 --- a/packages/hooks/src/useHover/demo/demo2.tsx +++ b/packages/hooks/src/useHover/demo/demo2.tsx @@ -1,9 +1,9 @@ /** * title: Pass in DOM element - * desc: Pass in a function that returns the DOM element. + * description: Pass in a function that returns the DOM element. * * title.zh-CN: 传入 DOM 元素 - * desc.zh-CN: 传入 function 并返回一个 dom 元素。 + * description.zh-CN: 传入 function 并返回一个 dom 元素。 */ import React from 'react'; @@ -17,7 +17,7 @@ export default () => { onLeave: () => { console.log('onLeave'); }, - onChange: isHover => { + onChange: (isHover) => { console.log('onChange', isHover); }, }); diff --git a/packages/hooks/src/useHover/index.en-US.md b/packages/hooks/src/useHover/index.en-US.md index b56c4808ee..e1bf3e7068 100644 --- a/packages/hooks/src/useHover/index.en-US.md +++ b/packages/hooks/src/useHover/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useHover +nav: Hooks +group: + title: Dom + order: 6 +order: 10 +toc: content +demo: + cols: 2 --- -# useHover - A hook that tracks whether the element is being hovered. ## Examples -### Default usage - - - -### Pass in DOM element - - + + ## API diff --git a/packages/hooks/src/useHover/index.zh-CN.md b/packages/hooks/src/useHover/index.zh-CN.md index 53435c306f..9dabb1304d 100644 --- a/packages/hooks/src/useHover/index.zh-CN.md +++ b/packages/hooks/src/useHover/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useHover +nav: Hooks +group: + title: Dom + order: 6 +order: 10 +toc: content +demo: + cols: 2 --- -# useHover - 监听 DOM 元素是否有鼠标悬停。 ## 代码演示 -### 基础用法 - - - -### 传入 DOM 元素 - - + + ## API diff --git a/packages/hooks/src/useInViewport/demo/demo1.tsx b/packages/hooks/src/useInViewport/demo/demo1.tsx index fc518cf312..b100b9a0ae 100644 --- a/packages/hooks/src/useInViewport/demo/demo1.tsx +++ b/packages/hooks/src/useInViewport/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Default usage - * desc: Observe if the element is visible. + * description: Observe if the element is visible. * * title.zh-CN: 基础用法 - * desc.zh-CN: 监听元素是否在可见区域内 + * description.zh-CN: 监听元素是否在可见区域内。 */ import React, { useRef } from 'react'; @@ -12,19 +12,29 @@ import { useInViewport } from 'ahooks'; export default () => { const ref = useRef(null); const [inViewport] = useInViewport(ref); + return (
-
+
scroll here
observer dom diff --git a/packages/hooks/src/useInViewport/demo/demo2.tsx b/packages/hooks/src/useInViewport/demo/demo2.tsx index 47787ccde6..0d3893ec57 100644 --- a/packages/hooks/src/useInViewport/demo/demo2.tsx +++ b/packages/hooks/src/useInViewport/demo/demo2.tsx @@ -1,9 +1,9 @@ /** * title: Observe element visible area ratio - * desc: Pass in `options.threshold`, you can control the ratio to be triggered when the visible area reach every threshold.
`options.root` can control the parent element, in this example, visible will not change relative to the browser viewport. + * description: Pass in `options.threshold`, you can control the ratio to be triggered when the visible area reach every threshold.
`options.root` can control the parent element, in this example, visible will not change relative to the browser viewport. * * title.zh-CN: 监听元素可见区域比例 - * desc.zh-CN: 传入 `options.threshold`, 可以控制在可见区域达到该比例时触发 ratio 更新。
`options.root` 可以控制相对父级元素,在这个例子中,不会相对浏览器视窗变化。 + * description.zh-CN: 传入 `options.threshold`, 可以控制在可见区域达到该比例时触发 ratio 更新。
`options.root` 可以控制相对父级元素,在这个例子中,不会相对浏览器视窗变化。 */ import React from 'react'; @@ -14,19 +14,30 @@ export default () => { threshold: [0, 0.25, 0.5, 0.75, 1], root: () => document.getElementById('parent'), }); + return (
-
+
scroll here
observer dom diff --git a/packages/hooks/src/useInViewport/demo/demo3.tsx b/packages/hooks/src/useInViewport/demo/demo3.tsx index 8df73e125e..52a95a3ec0 100644 --- a/packages/hooks/src/useInViewport/demo/demo3.tsx +++ b/packages/hooks/src/useInViewport/demo/demo3.tsx @@ -1,12 +1,12 @@ /** * title: Listening content scrolling selection menu - * desc: Pass the `callback` that is triggered when the callback of `IntersectionObserver` is called, so you can do some customization. + * description: Pass the `callback` that is triggered when the callback of `IntersectionObserver` is called, so you can do some customization. * * title.zh-CN: 监听内容滚动选中菜单 - * desc.zh-CN: 传入 `callback`, 使得 `IntersectionObserver` 的回调被调用时,用户可以做一些自定义操作。 + * description.zh-CN: 传入 `callback`, 使得 `IntersectionObserver` 的回调被调用时,用户可以做一些自定义操作。 */ -import { useInViewport, useMemoizedFn } from 'ahooks'; import React, { useRef, useState } from 'react'; +import { useInViewport, useMemoizedFn } from 'ahooks'; const menus = ['menu-1', 'menu-2', 'menu-3']; const content = { @@ -17,7 +17,6 @@ const content = { export default () => { const menuRef = useRef([]); - const [activeMenu, setActiveMenu] = useState(menus[0]); const callback = useMemoizedFn((entry) => { @@ -46,7 +45,14 @@ export default () => { return (
    diff --git a/packages/hooks/src/useInViewport/index.en-US.md b/packages/hooks/src/useInViewport/index.en-US.md index 0c2d4ae8d5..91af486458 100644 --- a/packages/hooks/src/useInViewport/index.en-US.md +++ b/packages/hooks/src/useInViewport/index.en-US.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useInViewport +nav: Hooks +group: + title: Dom + order: 6 +order: 12 +toc: content +demo: + cols: 2 --- -# useInViewport - Observe whether the element is in the visible area, and the visible area ratio of the element. More information refer to [Intersection Observer API](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API). ## Examples -### Default usage - - - -### Observe the visible area ratio of element - - - -### Listening content scrolling selection menu - - + + + ## API diff --git a/packages/hooks/src/useInViewport/index.zh-CN.md b/packages/hooks/src/useInViewport/index.zh-CN.md index 3ed14dc2c1..b69002ffef 100644 --- a/packages/hooks/src/useInViewport/index.zh-CN.md +++ b/packages/hooks/src/useInViewport/index.zh-CN.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useInViewport +nav: Hooks +group: + title: Dom + order: 6 +order: 12 +toc: content +demo: + cols: 2 --- -# useInViewport - 观察元素是否在可见区域,以及元素可见比例。更多信息参考 [Intersection Observer API](https://developer.mozilla.org/zh-CN/docs/Web/API/Intersection_Observer_API)。 ## 代码演示 -### 基础用法 - - - -### 监听元素可见区域比例 - - - -### 监听内容滚动选中菜单 - - + + + ## API diff --git a/packages/hooks/src/useInfiniteScroll/demo/default.tsx b/packages/hooks/src/useInfiniteScroll/demo/default.tsx index e25257d5a3..3431e0c4e2 100644 --- a/packages/hooks/src/useInfiniteScroll/demo/default.tsx +++ b/packages/hooks/src/useInfiniteScroll/demo/default.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import { Button } from 'antd'; import { useInfiniteScroll } from 'ahooks'; interface Result { @@ -44,14 +45,12 @@ export default () => { ))}
)} -
{data?.nextId && ( - + )} - {!data?.nextId && No more data}
diff --git a/packages/hooks/src/useInfiniteScroll/demo/mutate.tsx b/packages/hooks/src/useInfiniteScroll/demo/mutate.tsx index 73c6c97d70..b72980f252 100644 --- a/packages/hooks/src/useInfiniteScroll/demo/mutate.tsx +++ b/packages/hooks/src/useInfiniteScroll/demo/mutate.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import { Button } from 'antd'; import { useInfiniteScroll, useRequest } from 'ahooks'; interface Result { @@ -63,25 +64,23 @@ export default () => { {data?.list?.map((item) => (
item-{item} - +
))}
)} -
{data?.nextId && ( - + )} - {!data?.nextId && No more data}
diff --git a/packages/hooks/src/useInfiniteScroll/demo/pagination.tsx b/packages/hooks/src/useInfiniteScroll/demo/pagination.tsx index 747a2f8c6a..8920bd5c51 100644 --- a/packages/hooks/src/useInfiniteScroll/demo/pagination.tsx +++ b/packages/hooks/src/useInfiniteScroll/demo/pagination.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import { Button } from 'antd'; import { useInfiniteScroll } from 'ahooks'; interface Result { @@ -45,14 +46,12 @@ export default () => { ))}
)} -
{hasMore && ( - + )} - {!hasMore && No more data}
diff --git a/packages/hooks/src/useInfiniteScroll/demo/reload.tsx b/packages/hooks/src/useInfiniteScroll/demo/reload.tsx index d78c3de18e..fbb980c186 100644 --- a/packages/hooks/src/useInfiniteScroll/demo/reload.tsx +++ b/packages/hooks/src/useInfiniteScroll/demo/reload.tsx @@ -1,4 +1,5 @@ import React, { useState } from 'react'; +import { Button, Input, Space } from 'antd'; import { useInfiniteScroll } from 'ahooks'; interface Result { @@ -39,12 +40,10 @@ export default () => { return (
-
- setKeyword(e.target.value)} /> - -
+ + setKeyword(e.target.value)} /> + + {loading ? (

loading

) : ( @@ -56,14 +55,12 @@ export default () => { ))}
)} -
{data?.nextId && ( - + )} - {!data?.nextId && No more data}
diff --git a/packages/hooks/src/useInfiniteScroll/demo/scroll.tsx b/packages/hooks/src/useInfiniteScroll/demo/scroll.tsx index d0a04643e8..af2fd793d0 100644 --- a/packages/hooks/src/useInfiniteScroll/demo/scroll.tsx +++ b/packages/hooks/src/useInfiniteScroll/demo/scroll.tsx @@ -1,4 +1,5 @@ import React, { useRef } from 'react'; +import { Button } from 'antd'; import { useInfiniteScroll } from 'ahooks'; interface Result { @@ -38,7 +39,16 @@ export default () => { ); return ( -
+
{loading ? (

loading

) : ( @@ -50,14 +60,12 @@ export default () => { ))}
)} -
{!noMore && ( - + )} - {noMore && No more data}
diff --git a/packages/hooks/src/useInfiniteScroll/index.en-US.md b/packages/hooks/src/useInfiniteScroll/index.en-US.md index b26f5f1f46..7a2db36a2a 100644 --- a/packages/hooks/src/useInfiniteScroll/index.en-US.md +++ b/packages/hooks/src/useInfiniteScroll/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useInfiniteScroll +nav: Hooks +group: + title: Scene + order: 2 +order: 3 +toc: content +demo: + cols: 2 --- -# useInfiniteScroll - useInfiniteScroll encapsulates the common infinite scroll logic. ```js @@ -22,13 +27,13 @@ If the data returned for the first request is `{ list: [1, 2, 3], nextId: 4 }`, In the first example, we demonstrate the implementation of a most basic infinite scroll. - + ## Pagination In the data fixation scenario, we sometimes use `page` and `pageSize` to request new data. - + ## Scrolling to automatically load @@ -37,13 +42,13 @@ In the infinite scrolling scenario, the most common case is to automatically loa - `options.target` specifies the parent element, The parent element needs to set a fixed height and support internal scrolling - `options.isNoMore` determines if there is no more data - + ## Data reset The data can be reset by `reload`. The following example shows that after the `filter` changes, the data is reset to the first page. - + The above code can be implemented with `reloadDeps` syntax sugar. When `reloadDeps` changes, `reload` will be triggered automatically. @@ -57,7 +62,7 @@ const result = useInfiniteScroll(service, { With `mutate`, we can directly modify the current `data`. The following example demonstrates deleting a record from the data. - + ## API diff --git a/packages/hooks/src/useInfiniteScroll/index.zh-CN.md b/packages/hooks/src/useInfiniteScroll/index.zh-CN.md index f9483407e2..19551a8a07 100644 --- a/packages/hooks/src/useInfiniteScroll/index.zh-CN.md +++ b/packages/hooks/src/useInfiniteScroll/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useInfiniteScroll +nav: Hooks +group: + title: Scene + order: 2 +order: 3 +toc: content +demo: + cols: 2 --- -# useInfiniteScroll - useInfiniteScroll 封装了常见的无限滚动逻辑。 ```js @@ -22,13 +27,13 @@ useInfiniteScroll 的第一个参数 `service` 是一个异步函数,对这个 第一个例子我们演示最基本的无限滚动写法。 - + ## 分页 在数据固定场景下,我们有时候会用 `page` 和 `pageSize` 来请求新的分页数据。 - + ## 滚动自动加载 @@ -37,13 +42,13 @@ useInfiniteScroll 的第一个参数 `service` 是一个异步函数,对这个 - `options.target` 指定父级元素(父级元素需设置固定高度,且支持内部滚动) - `options.isNoMore` 判断是不是没有更多数据了 - + ## 数据重置 通过 `reload` 即可实现数据重置,下面示例我们演示在 `filter` 变化后,重置数据到第一页。 - + 以上代码可以通过 `reloadDeps` 语法糖实现,当 `reloadDeps` 变化时,会自动触发 `reload`。 @@ -57,7 +62,7 @@ const result = useInfiniteScroll(service, { 通过 `mutate`,我们可以直接修改当前 `data`。下面示例演示了删除某条数据。 - + ## API diff --git a/packages/hooks/src/useInterval/demo/demo1.tsx b/packages/hooks/src/useInterval/demo/demo1.tsx index c680ba8524..a87c25bb39 100644 --- a/packages/hooks/src/useInterval/demo/demo1.tsx +++ b/packages/hooks/src/useInterval/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: Execute once per 1000ms. + * description: Execute once per 1000ms. * * title.zh-CN: 基础用法 - * desc.zh-CN: 每1000ms,执行一次 + * description.zh-CN: 每1000ms,执行一次 */ import React, { useState } from 'react'; diff --git a/packages/hooks/src/useInterval/demo/demo2.tsx b/packages/hooks/src/useInterval/demo/demo2.tsx index a311c1deb3..7b2704e06e 100644 --- a/packages/hooks/src/useInterval/demo/demo2.tsx +++ b/packages/hooks/src/useInterval/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Advanced usage - * desc: Modify the delay to realize the timer interval change and pause. + * description: Modify the delay to realize the timer interval change and pause. * * title.zh-CN: 进阶使用 - * desc.zh-CN: 动态修改 delay 以实现定时器间隔变化与暂停。 + * description.zh-CN: 动态修改 delay 以实现定时器间隔变化与暂停。 */ import React, { useState } from 'react'; +import { Button, Space } from 'antd'; import { useInterval } from 'ahooks'; export default () => { @@ -19,23 +20,13 @@ export default () => { return (
-

count: {count}

-

interval: {interval}

- - - +

count: {count}

+

interval: {interval}

+ + + + +
); }; diff --git a/packages/hooks/src/useInterval/index.en-US.md b/packages/hooks/src/useInterval/index.en-US.md index ec9d81b47f..5bded54b2d 100644 --- a/packages/hooks/src/useInterval/index.en-US.md +++ b/packages/hooks/src/useInterval/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useInterval +nav: Hooks +group: + title: Effect + order: 5 +order: 10 +toc: content +demo: + cols: 2 --- -# useInterval - A hook that handles the `setInterval` timer function. ## Examples -### Default usage - - - -### Advanced usage - - + + ## API diff --git a/packages/hooks/src/useInterval/index.zh-CN.md b/packages/hooks/src/useInterval/index.zh-CN.md index e2fe0dc964..3c5543291f 100644 --- a/packages/hooks/src/useInterval/index.zh-CN.md +++ b/packages/hooks/src/useInterval/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useInterval +nav: Hooks +group: + title: Effect + order: 5 +order: 10 +toc: content +demo: + cols: 2 --- -# useInterval - 一个可以处理 setInterval 的 Hook。 ## 代码演示 -### 基础用法 - - - -### 进阶使用 - - + + ## API diff --git a/packages/hooks/src/useIsomorphicLayoutEffect/index.en-US.md b/packages/hooks/src/useIsomorphicLayoutEffect/index.en-US.md index caaafbc920..fbd2566255 100644 --- a/packages/hooks/src/useIsomorphicLayoutEffect/index.en-US.md +++ b/packages/hooks/src/useIsomorphicLayoutEffect/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useIsomorphicLayoutEffect +nav: Hooks +group: + title: Advanced + order: 7 +order: 4 +toc: content +demo: + cols: 2 --- -# useIsomorphicLayoutEffect - In SSR mode, the following warning will appear when useLayoutEffect is used > ⚠️ Warning: useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer's output format. This will lead to a mismatch between the initial, non-hydrated UI and the intended UI. To avoid this, useLayoutEffect should only be used in components that render exclusively on the client. See https://fb.me/react-uselayouteffect-ssr for common fixes. diff --git a/packages/hooks/src/useIsomorphicLayoutEffect/index.zh-CN.md b/packages/hooks/src/useIsomorphicLayoutEffect/index.zh-CN.md index 784f597218..2e71803a36 100644 --- a/packages/hooks/src/useIsomorphicLayoutEffect/index.zh-CN.md +++ b/packages/hooks/src/useIsomorphicLayoutEffect/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useIsomorphicLayoutEffect +nav: Hooks +group: + title: Advanced + order: 7 +order: 4 +toc: content +demo: + cols: 2 --- -# useIsomorphicLayoutEffect - 在 SSR 模式下,使用 useLayoutEffect 时,会出现以下警告 > ⚠️ Warning: useLayoutEffect does nothing on the server, because its effect cannot be encoded into the server renderer's output format. This will lead to a mismatch between the initial, non-hydrated UI and the intended UI. To avoid this, useLayoutEffect should only be used in components that render exclusively on the client. See https://fb.me/react-uselayouteffect-ssr for common fixes. diff --git a/packages/hooks/src/useKeyPress/demo/demo1.tsx b/packages/hooks/src/useKeyPress/demo/demo1.tsx index d727152f57..69d2841b40 100644 --- a/packages/hooks/src/useKeyPress/demo/demo1.tsx +++ b/packages/hooks/src/useKeyPress/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: Supported keyCode and alias in keyboard events, pressing ArrowUp or ArrowDown to show effect. + * description: Supported keyCode and alias in keyboard events, pressing ArrowUp or ArrowDown to show effect. * * title.zh-CN: 基础用法 - * desc.zh-CN: 支持键盘事件中的 keyCode 和别名,请按 ArrowUp 或 ArrowDown 键进行演示。 + * description.zh-CN: 支持键盘事件中的 keyCode 和别名,请按 ArrowUp 或 ArrowDown 键进行演示。 */ import React, { useState } from 'react'; diff --git a/packages/hooks/src/useKeyPress/demo/demo2.tsx b/packages/hooks/src/useKeyPress/demo/demo2.tsx index c602c2dd6e..c7b50b45f9 100644 --- a/packages/hooks/src/useKeyPress/demo/demo2.tsx +++ b/packages/hooks/src/useKeyPress/demo/demo2.tsx @@ -1,9 +1,9 @@ /** * title: Use key aliases - * desc: Support using key aliases. Please refer to the [document](#remarks) below. + * description: Support using key aliases. Please refer to the [document](#remarks) below. * * title.zh-CN: 使用别名 - * desc.zh-CN: 支持使用别名,更多内容请[查看备注](#remarks)。 + * description.zh-CN: 支持使用别名,更多内容请[查看备注](#remarks)。 */ import React, { useState } from 'react'; diff --git a/packages/hooks/src/useKeyPress/demo/demo3.tsx b/packages/hooks/src/useKeyPress/demo/demo3.tsx index c5ee6a30c7..3686b7c1a7 100644 --- a/packages/hooks/src/useKeyPress/demo/demo3.tsx +++ b/packages/hooks/src/useKeyPress/demo/demo3.tsx @@ -1,11 +1,20 @@ +/** + * title: Multiple keys + * description: + * + * title.zh-CN: 监听多个按键 + * description.zh-CN: + */ + import { useKeyPress } from 'ahooks'; import React, { useState } from 'react'; +const filterKey = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + export default () => { const [num, setNum] = useState(); const [key, setKey] = useState(); - const filterKey = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; useKeyPress(filterKey, (event) => { setNum(event.key); }); diff --git a/packages/hooks/src/useKeyPress/demo/demo4.tsx b/packages/hooks/src/useKeyPress/demo/demo4.tsx index e727afbc2c..2db7082f88 100644 --- a/packages/hooks/src/useKeyPress/demo/demo4.tsx +++ b/packages/hooks/src/useKeyPress/demo/demo4.tsx @@ -1,9 +1,9 @@ /** - * title: Advanced - * desc: Supports receiving a Boolean callback function to handle preprocessing operations. + * title: Custom method + * description: Supports receiving a Boolean callback function to handle preprocessing operations. * - * title.zh-CN: 进阶使用 - * desc.zh-CN: 支持接收一个返回 boolean 的回调函数,自己处理逻辑。 + * title.zh-CN: 自定义监听方式 + * description.zh-CN: 支持接收一个返回 boolean 的回调函数,自己处理逻辑。 */ import React, { useState } from 'react'; @@ -12,6 +12,7 @@ import { useKeyPress } from 'ahooks'; export default () => { const [key, setKey] = useState(); const filterKey = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; + useKeyPress( (event) => !filterKey.includes(event.key), (event) => { diff --git a/packages/hooks/src/useKeyPress/demo/demo5.tsx b/packages/hooks/src/useKeyPress/demo/demo5.tsx index 6fc5536a75..71e6bdb8ae 100644 --- a/packages/hooks/src/useKeyPress/demo/demo5.tsx +++ b/packages/hooks/src/useKeyPress/demo/demo5.tsx @@ -1,9 +1,9 @@ /** * title: Custom DOM - * desc: By default, listen for events on the window. You can also pass in a DOM to set listen area. such as the common listening for input box events. + * description: By default, listen for events on the window. You can also pass in a DOM to set listen area. such as the common listening for input box events. * * title.zh-CN: 自定义 DOM - * desc.zh-CN: | + * description.zh-CN: | * 默认监听挂载在 window 上的事件,你也可以传入 DOM 指定监听区域。 * * 如常见的监听输入框事件,支持多种 DOM 指定方式。 @@ -14,10 +14,10 @@ import { useKeyPress } from 'ahooks'; export default () => { const inputRef = useRef(null); - const [text, setText] = useState(''); const [textRef, setTextRef] = useState(''); const [textSync, setTextSync] = useState(''); + useKeyPress( 'enter', (event: any) => { @@ -58,15 +58,15 @@ export default () => {

Input and pressing enter: {text}

- +

Input and pressing enter: {textRef}

- +

Input after enter change: {textSync}

- +
); diff --git a/packages/hooks/src/useKeyPress/demo/demo6.tsx b/packages/hooks/src/useKeyPress/demo/demo6.tsx index 65a7dc2fb4..817d25fe12 100644 --- a/packages/hooks/src/useKeyPress/demo/demo6.tsx +++ b/packages/hooks/src/useKeyPress/demo/demo6.tsx @@ -1,6 +1,14 @@ +/** + * title: Combination keys + * description: + * + * title.zh-CN: 监听组合按键 + * description.zh-CN: + */ + +import React, { useState } from 'react'; import { CheckOutlined } from '@ant-design/icons'; import { useKeyPress } from 'ahooks'; -import React, { useState } from 'react'; export default () => { const [state, setState] = useState(); diff --git a/packages/hooks/src/useKeyPress/demo/demo7.tsx b/packages/hooks/src/useKeyPress/demo/demo7.tsx index d107a3203e..18d5d14518 100644 --- a/packages/hooks/src/useKeyPress/demo/demo7.tsx +++ b/packages/hooks/src/useKeyPress/demo/demo7.tsx @@ -1,14 +1,14 @@ /** * title: Exact match - * desc: Enable exact matching by setting `exactMatch`. For example, press [shift + c], will not trigger [c]. + * description: Enable exact matching by setting `exactMatch`. For example, press [shift + c], will not trigger [c]. * * title.zh-CN: 精确匹配 - * desc.zh-CN: 通过配置 `exactMatch`, 开启精确匹配。比如按 [shift + c] ,不会触发 [c]。 + * description.zh-CN: 通过配置 `exactMatch`, 开启精确匹配。比如按 [shift + c] ,不会触发 [c]。 */ +import React, { useState } from 'react'; import { CheckOutlined } from '@ant-design/icons'; import { useKeyPress } from 'ahooks'; -import React, { useState } from 'react'; export default () => { const [state, setState] = useState(); diff --git a/packages/hooks/src/useKeyPress/index.en-US.md b/packages/hooks/src/useKeyPress/index.en-US.md index a4c9ca1671..cc5bc4ac85 100644 --- a/packages/hooks/src/useKeyPress/index.en-US.md +++ b/packages/hooks/src/useKeyPress/index.en-US.md @@ -1,41 +1,26 @@ --- -nav: - path: /hooks +title: useKeyPress +nav: Hooks +group: + title: Dom + order: 6 +order: 13 +toc: content +demo: + cols: 2 --- -# useKeyPress - Listen for the keyboard press, support key combinations, and support alias. ## Examples -### Basic usage - - - -### Combination keys - - - -### Exact match - - - -### Multiple keys - - - -### Get the trigger key - - - -### Custom method - - - -### Custom DOM - - + + + + + + + ## API diff --git a/packages/hooks/src/useKeyPress/index.zh-CN.md b/packages/hooks/src/useKeyPress/index.zh-CN.md index 9bf7d35bc3..21e9ed1ae6 100644 --- a/packages/hooks/src/useKeyPress/index.zh-CN.md +++ b/packages/hooks/src/useKeyPress/index.zh-CN.md @@ -1,41 +1,28 @@ --- -nav: - path: /hooks +title: useKeyPress +nav: Hooks +group: + title: Dom + order: 6 +order: 13 +toc: content +demo: + cols: 2 --- -# useKeyPress - 监听键盘按键,支持组合键,支持按键别名。 ## 代码演示 ### 基础用法 - - -### 监听组合按键 - - - -### 精确匹配 - - - -### 监听多个按键 - - - -### 获取触发的按键 - - - -### 自定义监听方式 - - - -### 自定义 DOM - - + + + + + + + ## API diff --git a/packages/hooks/src/useLatest/demo/demo1.tsx b/packages/hooks/src/useLatest/demo/demo1.tsx index 1d9f6ed2a3..29476b90f9 100644 --- a/packages/hooks/src/useLatest/demo/demo1.tsx +++ b/packages/hooks/src/useLatest/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: useLatest always returns the latest value + * description: useLatest always returns the latest value * * title.zh-CN: 基础用法 - * desc.zh-CN: useLatest 返回的永远是最新值 + * description.zh-CN: useLatest 返回的永远是最新值 */ import React, { useState, useEffect } from 'react'; @@ -11,19 +11,15 @@ import { useLatest } from 'ahooks'; export default () => { const [count, setCount] = useState(0); - const latestCountRef = useLatest(count); useEffect(() => { const interval = setInterval(() => { setCount(latestCountRef.current + 1); }, 1000); + return () => clearInterval(interval); }, []); - return ( - <> -

count: {count}

- - ); + return

count: {count}

; }; diff --git a/packages/hooks/src/useLatest/index.en-US.md b/packages/hooks/src/useLatest/index.en-US.md index a6a101e9e3..64e1950a5a 100644 --- a/packages/hooks/src/useLatest/index.en-US.md +++ b/packages/hooks/src/useLatest/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useLatest +nav: Hooks +group: + title: Advanced + order: 7 +order: 5 +toc: content +demo: + cols: 2 --- -# useLatest - A Hook that returns the latest value, effectively avoiding the closure problem. ## Examples -### Basic usage - - + ## API diff --git a/packages/hooks/src/useLatest/index.zh-CN.md b/packages/hooks/src/useLatest/index.zh-CN.md index ba4039c471..4e52f7989d 100644 --- a/packages/hooks/src/useLatest/index.zh-CN.md +++ b/packages/hooks/src/useLatest/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useLatest +nav: Hooks +group: + title: Advanced + order: 7 +order: 5 +toc: content +demo: + cols: 2 --- -# useLatest - 返回当前最新值的 Hook,可以避免闭包问题。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useLocalStorageState/demo/demo1.tsx b/packages/hooks/src/useLocalStorageState/demo/demo1.tsx index 832650cfc6..b06474ea0a 100644 --- a/packages/hooks/src/useLocalStorageState/demo/demo1.tsx +++ b/packages/hooks/src/useLocalStorageState/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Store state into localStorage - * desc: Refresh this page and you will get the state from localStorage. + * description: Refresh this page and you will get the state from localStorage. * * title.zh-CN: 将 state 存储在 localStorage 中 - * desc.zh-CN: 刷新页面后,可以看到输入框中的内容被从 localStorage 中恢复了。 + * description.zh-CN: 刷新页面后,可以看到输入框中的内容被从 localStorage 中恢复了。 */ import React from 'react'; +import { Button, Input, Space } from 'antd'; import { useLocalStorageState } from 'ahooks'; export default function () { @@ -18,18 +19,14 @@ export default function () { ); return ( - <> - + setMessage(e.target.value)} /> - - - + + + ); } diff --git a/packages/hooks/src/useLocalStorageState/demo/demo2.tsx b/packages/hooks/src/useLocalStorageState/demo/demo2.tsx index b6842032ee..31231164af 100644 --- a/packages/hooks/src/useLocalStorageState/demo/demo2.tsx +++ b/packages/hooks/src/useLocalStorageState/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Store complex types such as array or object - * desc: useLocalStorageState will do the serialization and deserialization work automatically. + * description: useLocalStorageState will do the serialization and deserialization work automatically. * * title.zh-CN: 存储数组或对象等复杂类型 - * desc.zh-CN: useLocalStorageState 会自动处理序列化和反序列化的操作。 + * description.zh-CN: useLocalStorageState 会自动处理序列化和反序列化的操作。 */ import React from 'react'; +import { Button, Space } from 'antd'; import { useLocalStorageState } from 'ahooks'; const defaultArray = ['a', 'e', 'i', 'o', 'u']; @@ -18,17 +19,13 @@ export default function () { return ( <> + + + +

{value?.join('-')}

- - ); } diff --git a/packages/hooks/src/useLocalStorageState/demo/demo3.tsx b/packages/hooks/src/useLocalStorageState/demo/demo3.tsx index c57e2c86ff..a9d721c588 100644 --- a/packages/hooks/src/useLocalStorageState/demo/demo3.tsx +++ b/packages/hooks/src/useLocalStorageState/demo/demo3.tsx @@ -1,12 +1,13 @@ /** * title: Custom serialization and deserialization functions - * desc: You may not need the default `JSON.stringify/JSON.parse` to serialize string. + * description: You may not need the default `JSON.stringify/JSON.parse` to serialize string. * * title.zh-CN: 自定义序列化和反序列化函数 - * desc.zh-CN: 对于普通的字符串,可能你不需要默认的 `JSON.stringify/JSON.parse` 来序列化。 + * description.zh-CN: 对于普通的字符串,可能你不需要默认的 `JSON.stringify/JSON.parse` 来序列化。 */ import React from 'react'; +import { Button, Input, Space } from 'antd'; import { useLocalStorageState } from 'ahooks'; export default function () { @@ -20,18 +21,14 @@ export default function () { ); return ( - <> - + setMessage(e.target.value)} /> - - - + + + ); } diff --git a/packages/hooks/src/useLocalStorageState/index.en-US.md b/packages/hooks/src/useLocalStorageState/index.en-US.md index 940d23bcd3..e179d19d87 100644 --- a/packages/hooks/src/useLocalStorageState/index.en-US.md +++ b/packages/hooks/src/useLocalStorageState/index.en-US.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useLocalStorageState +nav: Hooks +group: + title: State + order: 4 +order: 6 +toc: content +demo: + cols: 2 --- -# useLocalStorageState - A Hook that store state into localStorage. ## Examples -### Store state into localStorage - - - -### Store complex types of data - - - -### Custom serialization and deserialization functions - - + + + ## API diff --git a/packages/hooks/src/useLocalStorageState/index.zh-CN.md b/packages/hooks/src/useLocalStorageState/index.zh-CN.md index 752bf38a57..61ddf71b35 100644 --- a/packages/hooks/src/useLocalStorageState/index.zh-CN.md +++ b/packages/hooks/src/useLocalStorageState/index.zh-CN.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useLocalStorageState +nav: Hooks +group: + title: State + order: 4 +order: 6 +toc: content +demo: + cols: 2 --- -# useLocalStorageState - 将状态存储在 localStorage 中的 Hook 。 ## 代码演示 -### 将 state 存储在 localStorage 中 - - - -### 存储复杂类型数据 - - - -### 自定义序列化和反序列化函数 - - + + + ## API diff --git a/packages/hooks/src/useLockFn/demo/demo1.tsx b/packages/hooks/src/useLockFn/demo/demo1.tsx index dd35e021f4..3cf22cce29 100644 --- a/packages/hooks/src/useLockFn/demo/demo1.tsx +++ b/packages/hooks/src/useLockFn/demo/demo1.tsx @@ -1,14 +1,14 @@ /** * title: Prevent duplicated submits - * desc: Before the `submit` function finishes, the other click actions will be ignored. + * description: Before the `submit` function finishes, the other click actions will be ignored. * * title.zh-CN: 防止重复提交 - * desc.zh-CN: 在 `submit` 函数执行完成前,其余的点击动作都会被忽略。 + * description.zh-CN: 在 `submit` 函数执行完成前,其余的点击动作都会被忽略。 */ -import { useLockFn } from 'ahooks'; -import { message } from 'antd'; import React, { useState } from 'react'; +import { Button, message } from 'antd'; +import { useLockFn } from 'ahooks'; function mockApiRequest() { return new Promise((resolve) => { @@ -30,8 +30,10 @@ export default () => { return ( <> -

Submit count: {count}

- +

submit count: {count}

+ ); }; diff --git a/packages/hooks/src/useLockFn/index.en-US.md b/packages/hooks/src/useLockFn/index.en-US.md index 2275287de3..17831cd059 100644 --- a/packages/hooks/src/useLockFn/index.en-US.md +++ b/packages/hooks/src/useLockFn/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useLockFn +nav: Hooks +group: + title: Effect + order: 5 +order: 14 +toc: content +demo: + cols: 2 --- -# useLockFn - Add lock to an async function to prevent parallel executions. ## Examples -### Basic usage - - + ## API diff --git a/packages/hooks/src/useLockFn/index.zh-CN.md b/packages/hooks/src/useLockFn/index.zh-CN.md index 60c48f2759..1340ce6cf2 100644 --- a/packages/hooks/src/useLockFn/index.zh-CN.md +++ b/packages/hooks/src/useLockFn/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useLockFn +nav: Hooks +group: + title: Effect + order: 5 +order: 14 +toc: content +demo: + cols: 2 --- -# useLockFn - 用于给一个异步函数增加竞态锁,防止并发执行。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useLongPress/demo/demo1.tsx b/packages/hooks/src/useLongPress/demo/demo1.tsx index 9a83291b4d..9a6e93792b 100644 --- a/packages/hooks/src/useLongPress/demo/demo1.tsx +++ b/packages/hooks/src/useLongPress/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Default usage - * desc: Please keep pressing button to show effects. + * description: Please keep pressing button to show effects. * * title.zh-CN: 基础用法 - * desc.zh-CN: 请长按按钮查看效果。 + * description.zh-CN: 请长按按钮查看效果。 */ import React, { useState, useRef } from 'react'; +import { Button } from 'antd'; import { useLongPress } from 'ahooks'; export default () => { @@ -16,11 +17,11 @@ export default () => { useLongPress(() => setCounter((s) => s + 1), ref); return ( -
- + <>

counter: {counter}

-
+ + ); }; diff --git a/packages/hooks/src/useLongPress/demo/demo2.tsx b/packages/hooks/src/useLongPress/demo/demo2.tsx index dadee3a1e6..68340ce34a 100644 --- a/packages/hooks/src/useLongPress/demo/demo2.tsx +++ b/packages/hooks/src/useLongPress/demo/demo2.tsx @@ -1,10 +1,18 @@ +/** + * title: Listen for click and long press events at the same time + * description: + * + * title.zh-CN: 同时监听点击和长按事件 + * description.zh-CN: + */ + import React, { useRef, useState } from 'react'; +import { Button } from 'antd'; import { useLongPress } from 'ahooks'; export default () => { const [pressCounter, setPressCounter] = useState(0); const [clickCounter, setClickCounter] = useState(0); - const ref = useRef(null); useLongPress(() => setPressCounter((s) => s + 1), ref, { @@ -12,12 +20,12 @@ export default () => { }); return ( -
- -

pressCounter: {pressCounter}

-

clickCounter: {clickCounter}

-
+ + ); }; diff --git a/packages/hooks/src/useLongPress/demo/demo3.tsx b/packages/hooks/src/useLongPress/demo/demo3.tsx index 9a68bc37c4..6784c16117 100644 --- a/packages/hooks/src/useLongPress/demo/demo3.tsx +++ b/packages/hooks/src/useLongPress/demo/demo3.tsx @@ -1,16 +1,17 @@ /** - * title: Basic usage - * desc: After the movement threshold is exceeded, the long press event will not be triggered + * title: Move threshold + * description: After the movement threshold is exceeded, the long press event will not be triggered. * - * title.zh-CN: 超出移动阈值 - * desc.zh-CN: 超出移动阈值之后,长按事件将不会触发 + * title.zh-CN: 移动阈值 + * description.zh-CN: 超出移动阈值之后,长按事件将不会触发。 */ + import React, { useRef, useState } from 'react'; +import { Button } from 'antd'; import { useLongPress } from 'ahooks'; export default () => { const [pressCounter, setPressCounter] = useState(0); - const ref = useRef(null); useLongPress(() => setPressCounter((s) => s + 1), ref, { @@ -18,11 +19,11 @@ export default () => { }); return ( -
- + <>

counter: {pressCounter}

-
+ + ); }; diff --git a/packages/hooks/src/useLongPress/index.en-US.md b/packages/hooks/src/useLongPress/index.en-US.md index fc7e6aa2a3..28cb20d197 100644 --- a/packages/hooks/src/useLongPress/index.en-US.md +++ b/packages/hooks/src/useLongPress/index.en-US.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useLongPress +nav: Hooks +group: + title: Dom + order: 6 +order: 14 +toc: content +demo: + cols: 2 --- -# useLongPress - Listen for the long press event of the target element. ## Examples -### Basic usage - - - -### Listen for click and long press events at the same time - - - -### Move threshold - - + + + ## API @@ -53,6 +50,6 @@ useLongPress( | onClick | Click event | `(event: MouseEvent \| TouchEvent) => void` | - | | onLongPressEnd | Long press end event | `(event: MouseEvent \| TouchEvent) => void` | - | -### Remark +## Remark Please refer to: https://stackoverflow.com/a/11237968 to disable the ability to long press to select text on the phone diff --git a/packages/hooks/src/useLongPress/index.zh-CN.md b/packages/hooks/src/useLongPress/index.zh-CN.md index a3683ca2cf..e049f9a797 100644 --- a/packages/hooks/src/useLongPress/index.zh-CN.md +++ b/packages/hooks/src/useLongPress/index.zh-CN.md @@ -1,25 +1,24 @@ --- -nav: - path: /hooks +title: useLongPress +nav: Hooks +group: + title: Dom + order: 6 +order: 14 +toc: content +demo: + cols: 2 --- -# useLongPress - 监听目标元素的长按事件。 ## 代码演示 ### 基本使用 - - -### 同时监听点击和长按事件 - - - -### 移动阈值 - - + + + ## API @@ -53,6 +52,6 @@ useLongPress( | onClick | 点击事件 | `(event: MouseEvent \| TouchEvent) => void` | - | | onLongPressEnd | 长按结束事件 | `(event: MouseEvent \| TouchEvent) => void` | - | -### 备注 +## 备注 禁用在手机上长按选择文本的能力请参考:https://stackoverflow.com/a/11237968 diff --git a/packages/hooks/src/useMap/demo/demo1.tsx b/packages/hooks/src/useMap/demo/demo1.tsx index 828e714e65..f1995a1fca 100644 --- a/packages/hooks/src/useMap/demo/demo1.tsx +++ b/packages/hooks/src/useMap/demo/demo1.tsx @@ -1,4 +1,13 @@ +/** + * title: Default usage + * description: + * + * title.zh-CN: 基础用法 + * description.zh-CN: + */ + import React from 'react'; +import { Button, Space } from 'antd'; import { useMap } from 'ahooks'; export default () => { @@ -9,22 +18,14 @@ export default () => { return (
- - - - + + + + + +
{JSON.stringify(Array.from(map), null, 2)}
diff --git a/packages/hooks/src/useMap/index.en-US.md b/packages/hooks/src/useMap/index.en-US.md index 2ee1a6b7e7..c22186731e 100644 --- a/packages/hooks/src/useMap/index.en-US.md +++ b/packages/hooks/src/useMap/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useMap +nav: Hooks +group: + title: State + order: 4 +order: 10 +toc: content +demo: + cols: 2 --- -# useMap - A hook that can manage the state of Map. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useMap/index.zh-CN.md b/packages/hooks/src/useMap/index.zh-CN.md index 7e3cb42fd5..e2268220ec 100644 --- a/packages/hooks/src/useMap/index.zh-CN.md +++ b/packages/hooks/src/useMap/index.zh-CN.md @@ -1,15 +1,20 @@ --- -nav: - path: /hooks +title: useMap +nav: Hooks +group: + title: State + order: 4 +order: 10 +toc: content +demo: + cols: 2 --- -# useMap - 管理 Map 类型状态的 Hook。 ## 代码演示 - + ## API diff --git a/packages/hooks/src/useMemoizedFn/demo/demo1.tsx b/packages/hooks/src/useMemoizedFn/demo/demo1.tsx index e3a9506a65..a37301d3fe 100644 --- a/packages/hooks/src/useMemoizedFn/demo/demo1.tsx +++ b/packages/hooks/src/useMemoizedFn/demo/demo1.tsx @@ -1,13 +1,13 @@ /** * title: Default usage - * desc: useMemoizedFn is the same as useCallback. + * description: useMemoizedFn is the same as useCallback. * * title.zh-CN: 基础用法 - * desc.zh-CN: useMemoizedFn 与 useCallback 可以实现同样的效果。 + * description.zh-CN: useMemoizedFn 与 useCallback 可以实现同样的效果。 */ import React, { useState, useCallback } from 'react'; -import { message } from 'antd'; +import { Button, Space, message } from 'antd'; import { useMemoizedFn } from 'ahooks'; export default () => { @@ -24,22 +24,13 @@ export default () => { return ( <>

count: {count}

- -
- - +
+
+ + + + ); }; diff --git a/packages/hooks/src/useMemoizedFn/demo/demo2.tsx b/packages/hooks/src/useMemoizedFn/demo/demo2.tsx index e8e34f46d1..8363868cb6 100644 --- a/packages/hooks/src/useMemoizedFn/demo/demo2.tsx +++ b/packages/hooks/src/useMemoizedFn/demo/demo2.tsx @@ -1,14 +1,27 @@ /** - * title: useMemoizedFn function reference will not change, which can be used for performance optimization. - * desc: In the example, `memoizedFn` reference will not change, `callbackFn` will change when count changes. + * title: Performance Improvement + * description: useMemoizedFn function reference will not change, which can be used for performance optimization. * - * title.zh-CN: useMemoizedFn 函数地址不会变化,可以用于性能优化 - * desc.zh-CN: 示例中 `memoizedFn` 是不会变化的,`callbackFn` 在 count 变化时变化。 + * title.zh-CN: 性能提升 + * description.zh-CN: useMemoizedFn 函数地址不会变化,可以用于性能优化。 */ -import { useMemoizedFn } from 'ahooks'; -import { message } from 'antd'; import React, { useCallback, useRef, useState } from 'react'; +import { Button, message } from 'antd'; +import { useMemoizedFn } from 'ahooks'; + +// some expensive component with React.memo +const ExpensiveTree = React.memo>(({ showCount }) => { + const renderCountRef = useRef(0); + renderCountRef.current += 1; + + return ( +
+

Render Count: {renderCountRef.current}

+ +
+ ); +}); export default () => { const [count, setCount] = useState(0); @@ -24,16 +37,8 @@ export default () => { return ( <>

count: {count}

- - -

You can click the button to see the number of sub-component renderings

+ +

You can click the Button to see the number of sub-component renderings

Component with useCallback function:

@@ -49,18 +54,3 @@ export default () => { ); }; - -// some expensive component with React.memo -const ExpensiveTree = React.memo<{ [key: string]: any }>(({ showCount }) => { - const renderCountRef = useRef(0); - renderCountRef.current += 1; - - return ( -
-

Render Count: {renderCountRef.current}

- -
- ); -}); diff --git a/packages/hooks/src/useMemoizedFn/index.en-US.md b/packages/hooks/src/useMemoizedFn/index.en-US.md index 291837f115..48aade0ebf 100644 --- a/packages/hooks/src/useMemoizedFn/index.en-US.md +++ b/packages/hooks/src/useMemoizedFn/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useMemoizedFn +nav: Hooks +group: + title: Advanced + order: 7 +order: 6 +toc: content +demo: + cols: 2 --- -# useMemoizedFn - Hooks for persistent functions. In general, useMemoizedFn can be used instead of useCallback. See [FAQ](#faq) for special cases. In some scenarios, we need to use useCallback to cache a function, but when the second parameter deps changes, the function will be regenerated, causing the function reference to change. @@ -31,13 +36,8 @@ const func = useMemoizedFn(() => { ## Examples -### Default usage - - - -### Performance Improvement - - + + ## API diff --git a/packages/hooks/src/useMemoizedFn/index.zh-CN.md b/packages/hooks/src/useMemoizedFn/index.zh-CN.md index a3017c9846..ceb29a9f31 100644 --- a/packages/hooks/src/useMemoizedFn/index.zh-CN.md +++ b/packages/hooks/src/useMemoizedFn/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useMemoizedFn +nav: Hooks +group: + title: Advanced + order: 7 +order: 6 +toc: content +demo: + cols: 2 --- -# useMemoizedFn - 持久化 function 的 Hook,一般情况下,可以使用 useMemoizedFn 完全代替 useCallback,特殊情况见 [FAQ](#faq)。 在某些场景中,我们需要使用 useCallback 来记住一个函数,但是在第二个参数 deps 变化时,会重新生成函数,导致函数地址变化。 @@ -31,13 +36,8 @@ const func = useMemoizedFn(() => { ## 代码演示 -### 基础用法 - - - -### 性能提升 - - + + ## API diff --git a/packages/hooks/src/useMount/demo/demo1.tsx b/packages/hooks/src/useMount/demo/demo1.tsx index 0748bc5b61..f540ad7f86 100644 --- a/packages/hooks/src/useMount/demo/demo1.tsx +++ b/packages/hooks/src/useMount/demo/demo1.tsx @@ -1,14 +1,14 @@ /** * title: Basic usage - * desc: The function is called right after the component is mounted. + * description: The function is called right after the component is mounted. * * title.zh-CN: 基础用法 - * desc.zh-CN: 在组件首次渲染时,执行方法。 + * description.zh-CN: 在组件首次渲染时,执行方法。 */ -import { useMount, useBoolean } from 'ahooks'; -import { message } from 'antd'; import React from 'react'; +import { Button, message } from 'antd'; +import { useMount, useBoolean } from 'ahooks'; const MyComponent = () => { useMount(() => { @@ -23,9 +23,7 @@ export default () => { return ( <> - + {state && } ); diff --git a/packages/hooks/src/useMount/index.en-US.md b/packages/hooks/src/useMount/index.en-US.md index d4f5fe0956..77baa28c37 100644 --- a/packages/hooks/src/useMount/index.en-US.md +++ b/packages/hooks/src/useMount/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useMount +nav: Hooks +group: + title: LifeCycle + order: 3 +order: 1 +toc: content +demo: + cols: 2 --- -# useMount - A hook that executes a function after the component is mounted. ## Examples -### Default Usage - - + ## API diff --git a/packages/hooks/src/useMount/index.zh-CN.md b/packages/hooks/src/useMount/index.zh-CN.md index 390edb4a06..01f0c423bf 100644 --- a/packages/hooks/src/useMount/index.zh-CN.md +++ b/packages/hooks/src/useMount/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useMount +nav: Hooks +group: + title: LifeCycle + order: 3 +order: 1 +toc: content +demo: + cols: 2 --- -# useMount - 只在组件初始化时执行的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useMouse/demo/demo1.tsx b/packages/hooks/src/useMouse/demo/demo1.tsx index 7e66f15d1f..76a3ca399a 100644 --- a/packages/hooks/src/useMouse/demo/demo1.tsx +++ b/packages/hooks/src/useMouse/demo/demo1.tsx @@ -1,13 +1,13 @@ /** * title: Default usage - * desc: Tracking cursor position. + * description: Tracking cursor position. * * title.zh-CN: 基础用法 - * desc.zh-CN: 获取鼠标位置。 + * description.zh-CN: 获取鼠标位置。 */ -import { useMouse } from 'ahooks'; import React from 'react'; +import { useMouse } from 'ahooks'; export default () => { const mouse = useMouse(); diff --git a/packages/hooks/src/useMouse/demo/demo2.tsx b/packages/hooks/src/useMouse/demo/demo2.tsx index 338f25a690..67a3167915 100644 --- a/packages/hooks/src/useMouse/demo/demo2.tsx +++ b/packages/hooks/src/useMouse/demo/demo2.tsx @@ -1,9 +1,9 @@ /** * title: Mouse position relative to the element - * desc: By passing in the target element, you can get the position of the mouse relative to the element. + * description: By passing in the target element, you can get the position of the mouse relative to the element. * * title.zh-CN: 获取鼠标相对于元素的位置 - * desc.zh-CN: 通过传入目标元素,可以获取鼠标相对于元素的位置。 + * description.zh-CN: 通过传入目标元素,可以获取鼠标相对于元素的位置。 */ import React, { useRef } from 'react'; @@ -15,11 +15,23 @@ export default () => { return ( <> +
+

+ Mouse In Element - x: {mouse.elementX}, y: {mouse.elementY} +

+

+ Element Position - x: {mouse.elementPosX}, y: {mouse.elementPosY} +

+

+ Element Dimensions - width: {mouse.elementW}, height: {mouse.elementH} +

+
{ > element
-
-

- Mouse In Element - x: {mouse.elementX}, y: {mouse.elementY} -

-

- Element Position - x: {mouse.elementPosX}, y: {mouse.elementPosY} -

-

- Element Dimensions - width: {mouse.elementW}, height: {mouse.elementH} -

-
); }; diff --git a/packages/hooks/src/useMouse/index.en-US.md b/packages/hooks/src/useMouse/index.en-US.md index 022bc38abb..99bf18f054 100644 --- a/packages/hooks/src/useMouse/index.en-US.md +++ b/packages/hooks/src/useMouse/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useMouse +nav: Hooks +group: + title: Dom + order: 6 +order: 15 +toc: content +demo: + cols: 2 --- -# useMouse - Track cursor position ## Examples -### Default Usage - - - -### Mouse position relative to the element - - + + ## API diff --git a/packages/hooks/src/useMouse/index.zh-CN.md b/packages/hooks/src/useMouse/index.zh-CN.md index 817f24b424..c98891ac72 100644 --- a/packages/hooks/src/useMouse/index.zh-CN.md +++ b/packages/hooks/src/useMouse/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useMouse +nav: Hooks +group: + title: Dom + order: 6 +order: 15 +toc: content +demo: + cols: 2 --- -# useMouse - 监听鼠标位置 ## 代码演示 -### 基础用法 - - - -### 获取鼠标相对于元素的位置 - - + + ## API diff --git a/packages/hooks/src/useMutationObserver/demo/demo1.tsx b/packages/hooks/src/useMutationObserver/demo/demo1.tsx index d92a09933f..91240f1904 100644 --- a/packages/hooks/src/useMutationObserver/demo/demo1.tsx +++ b/packages/hooks/src/useMutationObserver/demo/demo1.tsx @@ -4,13 +4,13 @@ * title.zh-CN: 基础用法 */ -import { useMutationObserver } from 'ahooks'; import React, { useRef, useState } from 'react'; +import { Button } from 'antd'; +import { useMutationObserver } from 'ahooks'; const App: React.FC = () => { const [width, setWidth] = useState(200); const [count, setCount] = useState(0); - const ref = useRef(null); useMutationObserver( @@ -23,11 +23,22 @@ const App: React.FC = () => { return (
-
- current width:{width} +

mutation count: {count}

+
+ current width: {width}
- -

Mutation count {count}

+
); }; diff --git a/packages/hooks/src/useMutationObserver/index.en-US.md b/packages/hooks/src/useMutationObserver/index.en-US.md index 18007a762b..e1b9295e0f 100644 --- a/packages/hooks/src/useMutationObserver/index.en-US.md +++ b/packages/hooks/src/useMutationObserver/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useMutationObserver +nav: Hooks +group: + title: Dom + order: 6 +order: 11 +toc: content +demo: + cols: 2 --- -# useMutationObserver - A hook that provides the ability to watch for changes being made to the DOM tree, refer to [MutationObserver](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver) ## Examples -### Default Usage - - + ## API diff --git a/packages/hooks/src/useMutationObserver/index.zh-CN.md b/packages/hooks/src/useMutationObserver/index.zh-CN.md index b4ab47fa11..42f4d5282c 100644 --- a/packages/hooks/src/useMutationObserver/index.zh-CN.md +++ b/packages/hooks/src/useMutationObserver/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useMutationObserver +nav: Hooks +group: + title: Dom + order: 6 +order: 11 +toc: content +demo: + cols: 2 --- -# useMutationObserver - 一个监听指定的 DOM 树发生变化的 Hook,参考 [MutationObserver](https://developer.mozilla.org/zh-CN/docs/Web/API/MutationObserver) ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useNetwork/demo/demo1.tsx b/packages/hooks/src/useNetwork/demo/demo1.tsx index 8f84a23f6d..caffca8839 100644 --- a/packages/hooks/src/useNetwork/demo/demo1.tsx +++ b/packages/hooks/src/useNetwork/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: Return network status + * description: Return network status. * * title.zh-CN: 基础用法 - * desc.zh-CN: 返回网络状态信息 + * description.zh-CN: 返回网络状态信息。 */ import React from 'react'; @@ -14,7 +14,7 @@ export default () => { return (
-
Network information:
+
Network information:
{JSON.stringify(networkState, null, 2)}
); diff --git a/packages/hooks/src/useNetwork/index.en-US.md b/packages/hooks/src/useNetwork/index.en-US.md index 9930be3ba7..b5cfb4f90c 100644 --- a/packages/hooks/src/useNetwork/index.en-US.md +++ b/packages/hooks/src/useNetwork/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useNetwork +nav: Hooks +group: + title: Scene + order: 2 +order: 8 +toc: content +demo: + cols: 2 --- -# useNetwork - A hook that tracks the state of network connection. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useNetwork/index.zh-CN.md b/packages/hooks/src/useNetwork/index.zh-CN.md index 9c318348ad..afa804623b 100644 --- a/packages/hooks/src/useNetwork/index.zh-CN.md +++ b/packages/hooks/src/useNetwork/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useNetwork +nav: Hooks +group: + title: Scene + order: 2 +order: 8 +toc: content +demo: + cols: 2 --- -# useNetwork - 管理网络连接状态的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/usePagination/demo/demo1.tsx b/packages/hooks/src/usePagination/demo/demo1.tsx index 19dacb5d19..4d8f35c69a 100644 --- a/packages/hooks/src/usePagination/demo/demo1.tsx +++ b/packages/hooks/src/usePagination/demo/demo1.tsx @@ -1,7 +1,7 @@ -import { usePagination } from 'ahooks'; -import { Pagination } from 'antd'; -import Mock from 'mockjs'; import React from 'react'; +import Mock from 'mockjs'; +import { Pagination } from 'antd'; +import { usePagination } from 'ahooks'; interface UserListItem { id: string; diff --git a/packages/hooks/src/usePagination/demo/demo2.tsx b/packages/hooks/src/usePagination/demo/demo2.tsx index 809c013fe4..f84311aaa5 100644 --- a/packages/hooks/src/usePagination/demo/demo2.tsx +++ b/packages/hooks/src/usePagination/demo/demo2.tsx @@ -1,6 +1,6 @@ -import { Pagination } from 'antd'; -import Mock from 'mockjs'; import React, { useEffect, useState } from 'react'; +import Mock from 'mockjs'; +import { Pagination } from 'antd'; import { usePagination } from 'ahooks'; interface UserListItem { diff --git a/packages/hooks/src/usePagination/demo/demo3.tsx b/packages/hooks/src/usePagination/demo/demo3.tsx index f55e149124..6aa69dce17 100644 --- a/packages/hooks/src/usePagination/demo/demo3.tsx +++ b/packages/hooks/src/usePagination/demo/demo3.tsx @@ -1,8 +1,7 @@ -import { usePagination } from 'ahooks'; -import { useUpdateEffect } from 'ahooks'; -import { Pagination } from 'antd'; -import Mock from 'mockjs'; import React, { useState } from 'react'; +import Mock from 'mockjs'; +import { Pagination } from 'antd'; +import { usePagination } from 'ahooks'; interface UserListItem { id: string; diff --git a/packages/hooks/src/usePagination/demo/demo4.tsx b/packages/hooks/src/usePagination/demo/demo4.tsx index bed0ba1e43..235d97642f 100644 --- a/packages/hooks/src/usePagination/demo/demo4.tsx +++ b/packages/hooks/src/usePagination/demo/demo4.tsx @@ -1,8 +1,7 @@ -import { useBoolean, useUpdateEffect } from 'ahooks'; -import { Pagination } from 'antd'; -import Mock from 'mockjs'; import React, { useState } from 'react'; -import { usePagination } from 'ahooks'; +import Mock from 'mockjs'; +import { Button, Pagination } from 'antd'; +import { usePagination, useBoolean, useUpdateEffect } from 'ahooks'; interface UserListItem { id: string; @@ -107,9 +106,7 @@ export default () => {

You can click the button multiple times, the conditions of pagination will be cached.

- +

{state && }
diff --git a/packages/hooks/src/usePagination/index.en-US.md b/packages/hooks/src/usePagination/index.en-US.md index 9f70ac54c2..4ff978c327 100644 --- a/packages/hooks/src/usePagination/index.en-US.md +++ b/packages/hooks/src/usePagination/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: usePagination +nav: Hooks +group: + title: Scene + order: 2 +order: 4 +toc: content +demo: + cols: 2 --- -# usePagination - `usePagination` is implemented based on `useRequest` and encapsulates common paging logic. The differences from `useRequest` are as follows: 1. The first parameter of `service` is `{ current: number, pageSize: number }` @@ -18,25 +23,25 @@ nav: The default usage is the same as `useRequest`, but an additional `pagination` parameter will be returned, which contains all pagination information and functions to operate pagination. - + ### More parameters The following code demonstrates that the gender parameter is added. When the gender is modified, the paging is reset to the first page and the data is requested again. - + ### refreshDeps `refreshDeps` is a syntactic sugar. When it changes, it will reset the page to the first page and request data again. Generally, you can put the dependent conditions here. The following example implements the previous function more conveniently through `refreshDeps`. - + ### Cache Through the `params` caching capability of `useRequest`, we can cache paging data and other conditions. - + ## API @@ -78,6 +83,6 @@ const { | Property | Description | Type | Default | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------- | ------- | -| defaultPageSize | Default page size | `number` | 10 | +| defaultPageSize | Default page size | `number` | 10 | | defaultCurrent | Number of pages on initial request | `number` | 1 | | refreshDeps | Changes in `refreshDeps` will reset current to the first page and re-initiate the request. Generally, you can put the dependent conditions here. | `React.DependencyList` | `[]` | diff --git a/packages/hooks/src/usePagination/index.zh-CN.md b/packages/hooks/src/usePagination/index.zh-CN.md index 366b56a5e5..c72cacd4a6 100644 --- a/packages/hooks/src/usePagination/index.zh-CN.md +++ b/packages/hooks/src/usePagination/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: usePagination +nav: Hooks +group: + title: Scene + order: 2 +order: 4 +toc: content +demo: + cols: 2 --- -# usePagination - `usePagination` 基于 `useRequest` 实现,封装了常见的分页逻辑。与 `useRequest` 不同的点有以下几点: 1. `service` 的第一个参数为 `{ current: number, pageSize: number }` @@ -18,25 +23,25 @@ nav: 默认用法与 `useRequest` 一致,但会多返回一个 `pagination` 参数,包含所有分页信息,及操作分页的函数。 - + ### 更多参数 下面的代码演示了,增加了性别参数,在修改性别时,重置分页到第一页,并重新请求数据。 - + ### refreshDeps `refreshDeps` 是一个语法糖,当它变化时,会重置分页到第一页,并重新请求数据,一般你可以把依赖的条件放这里。以下示例通过 `refreshDeps` 更方便的实现了上一个功能。 - + ### 缓存 通过 `useRequest` 的 `params` 缓存能力,我们可以缓存分页数据和其它条件。 - + ## API @@ -78,6 +83,6 @@ const { | 参数 | 说明 | 类型 | 默认值 | | --------------- | ------------------------------------------------------------------------------------------- | ---------------------- | ------ | -| defaultPageSize | 默认分页数量 | `number` | 10 | +| defaultPageSize | 默认分页数量 | `number` | 10 | | defaultCurrent | 初次请求时的页数 | `number` | 1 | | refreshDeps | `refreshDeps` 变化,会重置 current 到第一页,并重新发起请求,一般你可以把依赖的条件放这里。 | `React.DependencyList` | `[]` | diff --git a/packages/hooks/src/usePrevious/demo/demo1.tsx b/packages/hooks/src/usePrevious/demo/demo1.tsx index 04073de208..06c659f935 100644 --- a/packages/hooks/src/usePrevious/demo/demo1.tsx +++ b/packages/hooks/src/usePrevious/demo/demo1.tsx @@ -1,27 +1,27 @@ /** * title: Basic usage - * desc: Record the previous value. + * description: Record the previous value. * * title.zh-CN: 基础用法 - * desc.zh-CN: 记录上次的 count 值 + * description.zh-CN: 记录上次的 count 值 */ -import { usePrevious } from 'ahooks'; import React, { useState } from 'react'; +import { Button, Space } from 'antd'; +import { usePrevious } from 'ahooks'; export default () => { const [count, setCount] = useState(0); const previous = usePrevious(count); + return ( <>
counter current value: {count}
-
counter previous value: {previous}
- - +
counter previous value: {previous}
+ + + + ); }; diff --git a/packages/hooks/src/usePrevious/demo/demo2.tsx b/packages/hooks/src/usePrevious/demo/demo2.tsx index df0757ab18..4036703c19 100644 --- a/packages/hooks/src/usePrevious/demo/demo2.tsx +++ b/packages/hooks/src/usePrevious/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Custom shouldUpdate function - * desc: Previous value update only when the shouldUpdate function return true. + * description: Previous value update only when the shouldUpdate function return true. * * title.zh-CN: 自定义 shouldUpdate 函数 - * desc.zh-CN: 只有 shouldUpdate function 返回 true 时,才会记录值的变化。 + * description.zh-CN: 只有 shouldUpdate function 返回 true 时,才会记录值的变化。 */ import React, { useState } from 'react'; +import { Button, Input, Space } from 'antd'; import { usePrevious } from 'ahooks'; interface Person { @@ -43,46 +44,42 @@ export default () => { return ( <> -
+
current name: {state.name}
current job: {state.job}
-
previous name: {(previousName || {}).name}
-
previous job: {(previousJob || {}).job}
-
- +
previous name: {(previousName || {}).name}
+
previous job: {(previousJob || {}).job}
+
+ + setNameInput(e.target.value)} placeholder="new name" /> - -
-
- + + + setJobInput(e.target.value)} placeholder="new job" /> - -
+ Update + + ); }; diff --git a/packages/hooks/src/usePrevious/index.en-US.md b/packages/hooks/src/usePrevious/index.en-US.md index 1fd9e5ab81..865b3ddc64 100644 --- a/packages/hooks/src/usePrevious/index.en-US.md +++ b/packages/hooks/src/usePrevious/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: usePrevious +nav: Hooks +group: + title: State + order: 4 +order: 12 +toc: content +demo: + cols: 2 --- -# usePrevious - A Hook to return the previous state. ## Examples -### Default usage - - - -### Custom shouldUpdate function - - + + ## API diff --git a/packages/hooks/src/usePrevious/index.zh-CN.md b/packages/hooks/src/usePrevious/index.zh-CN.md index 7f9c499470..55e2965f83 100644 --- a/packages/hooks/src/usePrevious/index.zh-CN.md +++ b/packages/hooks/src/usePrevious/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: usePrevious +nav: Hooks +group: + title: State + order: 4 +order: 12 +toc: content +demo: + cols: 2 --- -# usePrevious - 保存上一次状态的 Hook。 ## 代码演示 -### 基础用法 - - - -### 自定义 shouldUpdate 函数 - - + + ## API diff --git a/packages/hooks/src/useRafInterval/demo/demo1.tsx b/packages/hooks/src/useRafInterval/demo/demo1.tsx index 44d37e9e47..1b9abfdd13 100644 --- a/packages/hooks/src/useRafInterval/demo/demo1.tsx +++ b/packages/hooks/src/useRafInterval/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: Execute once per 1000ms. + * description: Execute once per 1000ms. * * title.zh-CN: 基础用法 - * desc.zh-CN: 每1000ms,执行一次 + * description.zh-CN: 每 1000ms,执行一次。 */ import React, { useState } from 'react'; diff --git a/packages/hooks/src/useRafInterval/demo/demo2.tsx b/packages/hooks/src/useRafInterval/demo/demo2.tsx index 0b3a6a5034..bba48eca52 100644 --- a/packages/hooks/src/useRafInterval/demo/demo2.tsx +++ b/packages/hooks/src/useRafInterval/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Advanced usage - * desc: Modify the delay to realize the timer interval change and pause. + * description: Modify the delay to realize the timer interval change and pause. * * title.zh-CN: 进阶使用 - * desc.zh-CN: 动态修改 delay 以实现定时器间隔变化与暂停。 + * description.zh-CN: 动态修改 delay 以实现定时器间隔变化与暂停。 */ import React, { useState } from 'react'; +import { Button, Space } from 'antd'; import { useRafInterval } from 'ahooks'; export default () => { @@ -18,30 +19,14 @@ export default () => { }, interval); return ( -
-

count: {count}

-

interval: {interval}

- - - -
+ <> +

count: {count}

+

interval: {interval}

+ + + + + + ); }; diff --git a/packages/hooks/src/useRafInterval/index.en-US.md b/packages/hooks/src/useRafInterval/index.en-US.md index d25760dc5b..4792a1c4a8 100644 --- a/packages/hooks/src/useRafInterval/index.en-US.md +++ b/packages/hooks/src/useRafInterval/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useRafInterval +nav: Hooks +group: + title: Effect + order: 5 +order: 11 +toc: content +demo: + cols: 2 --- -# useRafInterval - A hook implements with `requestAnimationFrame` for better performance. The API is consistent with `useInterval`, the advantage is that the execution of the timer can be stopped when the page is not rendering, such as page hiding or minimization. Please note that the following two cases are likely to be inapplicable, and `useInterval` is preferred: @@ -16,13 +21,8 @@ Please note that the following two cases are likely to be inapplicable, and `use ## Examples -### Default usage - - - -### Advanced usage - - + + ## API diff --git a/packages/hooks/src/useRafInterval/index.zh-CN.md b/packages/hooks/src/useRafInterval/index.zh-CN.md index 12127d953a..04a98f17d2 100644 --- a/packages/hooks/src/useRafInterval/index.zh-CN.md +++ b/packages/hooks/src/useRafInterval/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useRafInterval +nav: Hooks +group: + title: Effect + order: 5 +order: 11 +toc: content +demo: + cols: 2 --- -# useRafInterval - 用 `requestAnimationFrame` 模拟实现 `setInterval`,API 和 `useInterval` 保持一致,好处是可以在页面不渲染的时候停止执行定时器,比如页面隐藏或最小化等。 请注意,如下两种情况下很可能是不适用的,优先考虑 `useInterval` : @@ -16,13 +21,8 @@ nav: ## 代码演示 -### 基础用法 - - - -### 进阶使用 - - + + ## API diff --git a/packages/hooks/src/useRafState/demo/demo1.tsx b/packages/hooks/src/useRafState/demo/demo1.tsx index 7cd302f00c..e47c315dec 100644 --- a/packages/hooks/src/useRafState/demo/demo1.tsx +++ b/packages/hooks/src/useRafState/demo/demo1.tsx @@ -4,8 +4,8 @@ * title.zh-CN: 基础用法 */ -import { useRafState } from 'ahooks'; import React, { useEffect } from 'react'; +import { useRafState } from 'ahooks'; export default () => { const [state, setState] = useRafState({ diff --git a/packages/hooks/src/useRafState/index.en-US.md b/packages/hooks/src/useRafState/index.en-US.md index 09f6eae4b0..85c9a2f6a7 100644 --- a/packages/hooks/src/useRafState/index.en-US.md +++ b/packages/hooks/src/useRafState/index.en-US.md @@ -1,18 +1,21 @@ --- -nav: - path: /hooks +title: useRafState +nav: Hooks +group: + title: State + order: 4 +order: 13 +toc: content +demo: + cols: 2 --- -# useRafState - Update the state in [requestAnimationFrame](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) callback, generally used for performance optimization. ## Examples -### Default usage - - + -### API +## API Same as `React.useState`. diff --git a/packages/hooks/src/useRafState/index.zh-CN.md b/packages/hooks/src/useRafState/index.zh-CN.md index 0822c5ace6..11157b45d0 100644 --- a/packages/hooks/src/useRafState/index.zh-CN.md +++ b/packages/hooks/src/useRafState/index.zh-CN.md @@ -1,18 +1,21 @@ --- -nav: - path: /hooks +title: useRafState +nav: Hooks +group: + title: State + order: 4 +order: 13 +toc: content +demo: + cols: 2 --- -# useRafState - 只在 [requestAnimationFrame](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) callback 时更新 state,一般用于性能优化。 ## 代码演示 -### 基础用法 - - + -### API +## API 与 `React.useState` 一致 diff --git a/packages/hooks/src/useRafTimeout/demo/demo1.tsx b/packages/hooks/src/useRafTimeout/demo/demo1.tsx index 5769b267a6..24fba99f8a 100644 --- a/packages/hooks/src/useRafTimeout/demo/demo1.tsx +++ b/packages/hooks/src/useRafTimeout/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: Execute after 2000ms. + * description: Execute after 2000ms. * * title.zh-CN: 基础用法 - * desc.zh-CN: 在 2000ms 后执行。 + * description.zh-CN: 在 2000ms 后执行。 */ import React, { useState } from 'react'; diff --git a/packages/hooks/src/useRafTimeout/demo/demo2.tsx b/packages/hooks/src/useRafTimeout/demo/demo2.tsx index e1990d1432..1c608a6600 100644 --- a/packages/hooks/src/useRafTimeout/demo/demo2.tsx +++ b/packages/hooks/src/useRafTimeout/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Advanced usage - * desc: Modify the delay to realize the timer timeout change and pause. + * description: Modify the delay to realize the timer timeout change and pause. * * title.zh-CN: 进阶使用 - * desc.zh-CN: 动态修改 delay 以实现定时器间隔变化与暂停。 + * description.zh-CN: 动态修改 delay 以实现定时器间隔变化与暂停。 */ import React, { useState } from 'react'; +import { Button, Space } from 'antd'; import { useRafTimeout } from 'ahooks'; export default () => { @@ -19,26 +20,13 @@ export default () => { return (
-

count: {count}

-

Delay: {delay}

- - - +

count: {count}

+

delay: {delay}

+ + + + +
); }; diff --git a/packages/hooks/src/useRafTimeout/index.en-US.md b/packages/hooks/src/useRafTimeout/index.en-US.md index fbdd05b0cb..3aa50be160 100644 --- a/packages/hooks/src/useRafTimeout/index.en-US.md +++ b/packages/hooks/src/useRafTimeout/index.en-US.md @@ -1,23 +1,23 @@ --- -nav: - path: /hooks +title: useRafTimeout +nav: Hooks +group: + title: Effect + order: 5 +order: 13 +toc: content +demo: + cols: 2 --- -# useRafTimeout - A hook implements with `requestAnimationFrame` for better performance. The API is consistent with `useTimeout`. the advantage is that will not trigger function when the page is not rendering, such as page hiding or minimization. > `requestAnimationFrame` will automatically downgrade to `setTimeout` in node environment ## Examples -### Default usage - - - -### Advanced usage - - + + ## API diff --git a/packages/hooks/src/useRafTimeout/index.zh-CN.md b/packages/hooks/src/useRafTimeout/index.zh-CN.md index 51dbb2e9e3..1a7c1d2397 100644 --- a/packages/hooks/src/useRafTimeout/index.zh-CN.md +++ b/packages/hooks/src/useRafTimeout/index.zh-CN.md @@ -1,23 +1,23 @@ --- -nav: - path: /hooks +title: useRafTimeout +nav: Hooks +group: + title: Effect + order: 5 +order: 13 +toc: content +demo: + cols: 2 --- -# useRafTimeout - 用 `requestAnimationFrame` 模拟实现 `setTimeout`,API 和 `useTimeout` 保持一致,好处是可以在页面不渲染的时候不触发函数执行,比如页面隐藏或最小化等。 > Node 环境下 `requestAnimationFrame` 会自动降级到 `setTimeout` ## 代码演示 -### 基础用法 - - - -### 进阶使用 - - + + ## API diff --git a/packages/hooks/src/useReactive/demo/demo1.tsx b/packages/hooks/src/useReactive/demo/demo1.tsx index 510ef1fd02..54399b853f 100644 --- a/packages/hooks/src/useReactive/demo/demo1.tsx +++ b/packages/hooks/src/useReactive/demo/demo1.tsx @@ -1,4 +1,13 @@ +/** + * title: Basic usage + * description: + * + * title.zh-CN: 基础用法 + * description.zh-CN: + */ + import React from 'react'; +import { Button, Input, Space } from 'antd'; import { useReactive } from 'ahooks'; export default () => { @@ -11,19 +20,18 @@ export default () => { }); return ( -
-

state.count:{state.count}

- - - + <> +

state.count: {state.count}

+ + + + -

state.inputVal: {state.inputVal}

- (state.inputVal = e.target.value)} /> +

state.inputVal: {state.inputVal}

+ (state.inputVal = e.target.value)} /> -

state.obj.value: {state.obj.value}

- (state.obj.value = e.target.value)} /> -
+

state.obj.value: {state.obj.value}

+ (state.obj.value = e.target.value)} /> + ); }; diff --git a/packages/hooks/src/useReactive/demo/demo2.tsx b/packages/hooks/src/useReactive/demo/demo2.tsx index 9e72f1ab0d..1a3341d7a3 100644 --- a/packages/hooks/src/useReactive/demo/demo2.tsx +++ b/packages/hooks/src/useReactive/demo/demo2.tsx @@ -1,4 +1,13 @@ +/** + * title: Array + * description: + * + * title.zh-CN: 数组操作 + * description.zh-CN: + */ + import React from 'react'; +import { Button, Space } from 'antd'; import { useReactive } from 'ahooks'; export default () => { @@ -7,36 +16,33 @@ export default () => { }); return ( -
+ <>

state.arr: {JSON.stringify(state.arr)}

- - - - - - -
+ + + + + + + + + ); }; diff --git a/packages/hooks/src/useReactive/demo/demo3.tsx b/packages/hooks/src/useReactive/demo/demo3.tsx index 887a7c2c52..221d2fffbf 100644 --- a/packages/hooks/src/useReactive/demo/demo3.tsx +++ b/packages/hooks/src/useReactive/demo/demo3.tsx @@ -1,4 +1,13 @@ +/** + * title: Computed Properties + * description: + * + * title.zh-CN: 计算属性 + * description.zh-CN: + */ + import React from 'react'; +import { Button, Input, Space } from 'antd'; import { useReactive } from 'ahooks'; export default () => { @@ -16,7 +25,6 @@ export default () => { return (

state.bugsCount: {state.bugsCount}

-
{ state.addBug(state.bug); @@ -24,18 +32,20 @@ export default () => { e.preventDefault(); }} > - (state.bug = e.target.value)} /> - - + + (state.bug = e.target.value)} /> + + + - -
- -
    +
      {state.bugs.map((bug) => (
    • {bug}
    • ))} diff --git a/packages/hooks/src/useReactive/demo/demo4.tsx b/packages/hooks/src/useReactive/demo/demo4.tsx index b720a13fab..9c5a92cf76 100644 --- a/packages/hooks/src/useReactive/demo/demo4.tsx +++ b/packages/hooks/src/useReactive/demo/demo4.tsx @@ -1,10 +1,13 @@ /** - * desc: useReactive returns a proxy object which always has the same reference. If `useEffect`, `useMemo`, `useCallback` and props passed to child component rely on the proxy, none of the above will be invoked by any changes to the proxy. + * title: Notice + * description: useReactive returns a proxy object which always has the same reference. If `useEffect`, `useMemo`, `useCallback` and props passed to child component rely on the proxy, none of the above will be invoked by any changes to the proxy. * - * desc.zh-CN: useReactive 产生可操作的代理对象一直都是同一个引用,`useEffect` , `useMemo` ,`useCallback` ,`子组件属性传递` 等如果依赖的是这个代理对象是**不会**引起重新执行。 + * title.zh-CN: 注意 + * description.zh-CN: useReactive 产生可操作的代理对象一直都是同一个引用,`useEffect` , `useMemo` ,`useCallback` ,`子组件属性传递` 等如果依赖的是这个代理对象是**不会**引起重新执行。 */ import React, { useEffect, useState } from 'react'; +import { Button } from 'antd'; import { useReactive } from 'ahooks'; export default () => { @@ -26,15 +29,11 @@ export default () => { return (
      - -

      stateCount:{stateCount}

      +

      stateCount: {stateCount}

      + - -

      stateCount2:{stateCount2}

      +

      stateCount2: {stateCount2}

      +
      ); }; diff --git a/packages/hooks/src/useReactive/demo/index.tsx b/packages/hooks/src/useReactive/demo/index.tsx deleted file mode 100644 index 9bbdc89690..0000000000 --- a/packages/hooks/src/useReactive/demo/index.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import React from 'react'; -import { useReactive } from 'ahooks'; - -export default () => { - const state = useReactive({ - count: 0, - val: { - val1: { - val2: '', - }, - }, - arr: [1], - }); - - return ( -
      -

      - counter state.count:{state.count} -

      - - - -
      -
      -

      - state.arr: {JSON.stringify(state.arr)} -

      - - - - - - -
      -
      -

      nested structure

      -

      {state.val.val1.val2}

      - { - state.val.val1.val2 = e.target.value; - }} - /> -
      - ); -}; diff --git a/packages/hooks/src/useReactive/index.en-US.md b/packages/hooks/src/useReactive/index.en-US.md index 5fa7a6e854..1d82e99b23 100644 --- a/packages/hooks/src/useReactive/index.en-US.md +++ b/packages/hooks/src/useReactive/index.en-US.md @@ -1,29 +1,23 @@ --- -nav: - path: /hooks +title: useReactive +nav: Hooks +group: + title: Advanced + order: 7 +order: 7 +toc: content +demo: + cols: 2 --- -## useReactive - It offers data reactivity when manipulating states and views, in which case `useState` is unnecessary for state definition. Modifying properties will automatically lead to view rerendering. ## Examples -### Default Usage - - - -### Array - - - -### Computed Properties - - - -### Notice - - + + + + ## API @@ -31,7 +25,7 @@ It offers data reactivity when manipulating states and views, in which case `use const state = useReactive(initialValue: Record); ``` -## Params +### Params | Params | Description | Type | Default | | ------------ | ------------- | --------------------- | ------- | diff --git a/packages/hooks/src/useReactive/index.zh-CN.md b/packages/hooks/src/useReactive/index.zh-CN.md index a58290d534..44a6c9b720 100644 --- a/packages/hooks/src/useReactive/index.zh-CN.md +++ b/packages/hooks/src/useReactive/index.zh-CN.md @@ -1,29 +1,23 @@ --- -nav: - path: /hooks +title: useReactive +nav: Hooks +group: + title: Advanced + order: 7 +order: 7 +toc: content +demo: + cols: 2 --- -## useReactive - 提供一种数据响应式的操作体验,定义数据状态不需要写`useState`,直接修改属性即可刷新视图。 ## 代码演示 -### 基本用法 - - - -### 数组操作 - - - -### 计算属性 - - - -### 注意 - - + + + + ## API @@ -31,7 +25,7 @@ nav: const state = useReactive(initialState: Record); ``` -## 参数 +### 参数 | 参数 | 说明 | 类型 | 默认值 | | ------------ | -------------- | --------------------- | ------ | diff --git a/packages/hooks/src/useRequest/doc/basic/demo/cancel.tsx b/packages/hooks/src/useRequest/docs/basic/demo/cancel.tsx similarity index 74% rename from packages/hooks/src/useRequest/doc/basic/demo/cancel.tsx rename to packages/hooks/src/useRequest/docs/basic/demo/cancel.tsx index 01e44996c2..176e274644 100644 --- a/packages/hooks/src/useRequest/doc/basic/demo/cancel.tsx +++ b/packages/hooks/src/useRequest/docs/basic/demo/cancel.tsx @@ -1,5 +1,5 @@ -import { message } from 'antd'; import React, { useState } from 'react'; +import { Button, Input, Space, message } from 'antd'; import { useRequest } from 'ahooks'; function editUsername(username: string): Promise { @@ -16,7 +16,6 @@ function editUsername(username: string): Promise { export default () => { const [state, setState] = useState(''); - const { loading, run, cancel } = useRequest(editUsername, { manual: true, onSuccess: (result, params) => { @@ -29,19 +28,17 @@ export default () => { }); return ( -
      - + setState(e.target.value)} value={state} placeholder="Please enter username" - style={{ width: 240, marginRight: 16 }} + style={{ width: 240 }} /> - - -
      + + + ); }; diff --git a/packages/hooks/src/useRequest/doc/basic/demo/default.tsx b/packages/hooks/src/useRequest/docs/basic/demo/default.tsx similarity index 99% rename from packages/hooks/src/useRequest/doc/basic/demo/default.tsx rename to packages/hooks/src/useRequest/docs/basic/demo/default.tsx index e6add661fd..cb9d27e01a 100644 --- a/packages/hooks/src/useRequest/doc/basic/demo/default.tsx +++ b/packages/hooks/src/useRequest/docs/basic/demo/default.tsx @@ -29,5 +29,6 @@ export default () => { if (loading) { return
      loading...
      ; } + return
      Username: {data}
      ; }; diff --git a/packages/hooks/src/useRequest/doc/basic/demo/lifeCycle.tsx b/packages/hooks/src/useRequest/docs/basic/demo/lifeCycle.tsx similarity index 83% rename from packages/hooks/src/useRequest/doc/basic/demo/lifeCycle.tsx rename to packages/hooks/src/useRequest/docs/basic/demo/lifeCycle.tsx index 429fc4904f..17302813e1 100644 --- a/packages/hooks/src/useRequest/doc/basic/demo/lifeCycle.tsx +++ b/packages/hooks/src/useRequest/docs/basic/demo/lifeCycle.tsx @@ -1,5 +1,5 @@ -import { message } from 'antd'; import React, { useState } from 'react'; +import { Button, Input, Space, message } from 'antd'; import { useRequest } from 'ahooks'; function editUsername(username: string): Promise { @@ -16,7 +16,6 @@ function editUsername(username: string): Promise { export default () => { const [state, setState] = useState(''); - const { loading, run } = useRequest(editUsername, { manual: true, onBefore: (params) => { @@ -35,16 +34,16 @@ export default () => { }); return ( -
      - + setState(e.target.value)} value={state} placeholder="Please enter username" - style={{ width: 240, marginRight: 16 }} + style={{ width: 240 }} /> - -
      + + ); }; diff --git a/packages/hooks/src/useRequest/doc/basic/demo/manual-run.tsx b/packages/hooks/src/useRequest/docs/basic/demo/manual-run.tsx similarity index 65% rename from packages/hooks/src/useRequest/doc/basic/demo/manual-run.tsx rename to packages/hooks/src/useRequest/docs/basic/demo/manual-run.tsx index a580a05e15..f118b555dc 100644 --- a/packages/hooks/src/useRequest/doc/basic/demo/manual-run.tsx +++ b/packages/hooks/src/useRequest/docs/basic/demo/manual-run.tsx @@ -1,13 +1,13 @@ /** * title: Edit username - * desc: In this example, we use `run(username)` to edit the username, and use `onSuccess` and `onError` to handle success and failure. + * description: In this example, we use `run(username)` to edit the username, and use `onSuccess` and `onError` to handle success and failure. * * title.zh-CN: 修改用户名 - * desc.zh-CN: 在这个例子中,我们通过 `run(username)` 来修改用户名,通过 `onSuccess` 和 `onError` 来处理成功和失败。 + * description.zh-CN: 在这个例子中,我们通过 `run(username)` 来修改用户名,通过 `onSuccess` 和 `onError` 来处理成功和失败。 */ -import { message } from 'antd'; import React, { useState } from 'react'; +import { Button, Input, Space, message } from 'antd'; import { useRequest } from 'ahooks'; function editUsername(username: string): Promise { @@ -24,7 +24,6 @@ function editUsername(username: string): Promise { export default () => { const [state, setState] = useState(''); - const { loading, run } = useRequest(editUsername, { manual: true, onSuccess: (result, params) => { @@ -37,16 +36,16 @@ export default () => { }); return ( -
      - + setState(e.target.value)} value={state} placeholder="Please enter username" - style={{ width: 240, marginRight: 16 }} + style={{ width: 240 }} /> - -
      + + ); }; diff --git a/packages/hooks/src/useRequest/doc/basic/demo/manual-runAsync.tsx b/packages/hooks/src/useRequest/docs/basic/demo/manual-runAsync.tsx similarity index 67% rename from packages/hooks/src/useRequest/doc/basic/demo/manual-runAsync.tsx rename to packages/hooks/src/useRequest/docs/basic/demo/manual-runAsync.tsx index 4eb941b875..d22ba246f1 100644 --- a/packages/hooks/src/useRequest/doc/basic/demo/manual-runAsync.tsx +++ b/packages/hooks/src/useRequest/docs/basic/demo/manual-runAsync.tsx @@ -1,13 +1,13 @@ /** * title: Edit username - * desc: In this example, we use `runAsync(username)` to edit the user name. At this time, we must catch the exception through catch. + * description: In this example, we use `runAsync(username)` to edit the user name. At this time, we must catch the exception through catch. * * title.zh-CN: 修改用户名 - * desc.zh-CN: 在这个例子中,我们通过 `runAsync(username)` 来修改用户名,此时必须通过 catch 来自行处理异常。 + * description.zh-CN: 在这个例子中,我们通过 `runAsync(username)` 来修改用户名,此时必须通过 catch 来自行处理异常。 */ -import { message } from 'antd'; import React, { useState } from 'react'; +import { Button, Input, Space, message } from 'antd'; import { useRequest } from 'ahooks'; function editUsername(username: string): Promise { @@ -24,7 +24,6 @@ function editUsername(username: string): Promise { export default () => { const [state, setState] = useState(''); - const { loading, runAsync } = useRequest(editUsername, { manual: true, }); @@ -40,16 +39,16 @@ export default () => { }; return ( -
      - + setState(e.target.value)} value={state} placeholder="Please enter username" - style={{ width: 240, marginRight: 16 }} + style={{ width: 240 }} /> - -
      + + ); }; diff --git a/packages/hooks/src/useRequest/doc/basic/demo/mutate.tsx b/packages/hooks/src/useRequest/docs/basic/demo/mutate.tsx similarity index 79% rename from packages/hooks/src/useRequest/doc/basic/demo/mutate.tsx rename to packages/hooks/src/useRequest/docs/basic/demo/mutate.tsx index 8e103e2110..61f8cb16f0 100644 --- a/packages/hooks/src/useRequest/doc/basic/demo/mutate.tsx +++ b/packages/hooks/src/useRequest/docs/basic/demo/mutate.tsx @@ -4,10 +4,10 @@ * title.zh-CN: 修改用户名 */ -import { message } from 'antd'; import React, { useState, useRef } from 'react'; -import { useRequest } from 'ahooks'; import Mock from 'mockjs'; +import { Button, Input, Space, message } from 'antd'; +import { useRequest } from 'ahooks'; function getUsername(): Promise { return new Promise((resolve) => { @@ -32,7 +32,6 @@ function editUsername(username: string): Promise { export default () => { // store last username const lastRef = useRef(); - const [state, setState] = useState(''); // get username @@ -60,15 +59,15 @@ export default () => { return (

      Username: {username}

      - setState(e.target.value)} - value={state} - placeholder="Please enter username" - style={{ width: 240, marginRight: 16 }} - /> - + + setState(e.target.value)} + value={state} + placeholder="Please enter username" + style={{ width: 240 }} + /> + +
      ); }; diff --git a/packages/hooks/src/useRequest/doc/basic/demo/params.tsx b/packages/hooks/src/useRequest/docs/basic/demo/params.tsx similarity index 61% rename from packages/hooks/src/useRequest/doc/basic/demo/params.tsx rename to packages/hooks/src/useRequest/docs/basic/demo/params.tsx index da3763468e..8f64e7bca2 100644 --- a/packages/hooks/src/useRequest/doc/basic/demo/params.tsx +++ b/packages/hooks/src/useRequest/docs/basic/demo/params.tsx @@ -1,6 +1,7 @@ -import { useRequest } from 'ahooks'; -import Mock from 'mockjs'; import React, { useState } from 'react'; +import Mock from 'mockjs'; +import { useRequest } from 'ahooks'; +import { Button, Input, Space } from 'antd'; function getUsername(id: string): Promise { return new Promise((resolve) => { @@ -12,7 +13,6 @@ function getUsername(id: string): Promise { export default () => { const [state, setState] = useState(''); - // get username const { data: username, @@ -28,17 +28,17 @@ export default () => { return (
      - setState(e.target.value)} - value={state} - placeholder="Please enter userId" - style={{ width: 240, marginRight: 16 }} - /> - -

      UserId: {params[0]}

      +

      UserId: {params[0]}

      Username: {username}

      + + setState(e.target.value)} + value={state} + placeholder="Please enter userId" + style={{ width: 240 }} + /> + +
      ); }; diff --git a/packages/hooks/src/useRequest/doc/basic/demo/refresh.tsx b/packages/hooks/src/useRequest/docs/basic/demo/refresh.tsx similarity index 82% rename from packages/hooks/src/useRequest/doc/basic/demo/refresh.tsx rename to packages/hooks/src/useRequest/docs/basic/demo/refresh.tsx index 099e8a0ee7..eac16ee230 100644 --- a/packages/hooks/src/useRequest/doc/basic/demo/refresh.tsx +++ b/packages/hooks/src/useRequest/docs/basic/demo/refresh.tsx @@ -4,9 +4,10 @@ * title.zh-CN: 刷新用户名称 */ -import { useRequest } from 'ahooks'; -import Mock from 'mockjs'; import React, { useEffect } from 'react'; +import Mock from 'mockjs'; +import { Button } from 'antd'; +import { useRequest } from 'ahooks'; function getUsername(id: number): Promise { console.log('use-request-refresh-id', id); @@ -29,12 +30,11 @@ export default () => { if (loading) { return
      loading...
      ; } + return (
      -

      Username: {data}

      - +

      Username: {data}

      +
      ); }; diff --git a/packages/hooks/src/useRequest/doc/basic/basic.en-US.md b/packages/hooks/src/useRequest/docs/basic/index.en-US.md similarity index 92% rename from packages/hooks/src/useRequest/doc/basic/basic.en-US.md rename to packages/hooks/src/useRequest/docs/basic/index.en-US.md index 330719c1f7..e7bcd3befa 100644 --- a/packages/hooks/src/useRequest/doc/basic/basic.en-US.md +++ b/packages/hooks/src/useRequest/docs/basic/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Basic Usage +nav: Hooks +group: useRequest +order: 2 +toc: content +demo: + cols: 2 --- -# Basic usage - In this section, we will introduce the core and basic functionalities of `useRequest`, that is, the functionalities of the `useRequest` kernel. ## Default request @@ -19,7 +20,7 @@ const { data, error, loading } = useRequest(service);
      - + ## Manually trigger @@ -50,9 +51,9 @@ The difference between `run` and `runAsync` is: Next, we will demonstrate the difference between `run` and `runAsync` through the simple scenario of editing the username. - + - + ## The life cycle @@ -63,7 +64,7 @@ Next, we will demonstrate the difference between `run` and `runAsync` through th - `onError`: Triggered when the request is rejected - `onFinally`: Triggered when the request is completed - + ## Refresh (repeat the last request) @@ -75,7 +76,7 @@ If in the scenario of reading user information 2. We updated user information by some ways 3. We want to re-initiate the last request, then we can use `refresh` instead of `run(1)`, which is very useful in scenarios with complex parameters - + Of course, the difference between `refresh` and `refreshAsync` is the same as `run` and `runAsync`. @@ -89,13 +90,13 @@ In the following example, we demonstrate a scenario of `mutate`. We have modified the user name, but we do not want to wait for the request to be successful before giving feedback to the user. Instead, modify the data directly, then call the modify request in background, and provide additional feedback after the request returns. - + - + ## Cancel response @@ -108,7 +109,7 @@ At the same time, `useRequest` will automatically ignore the response at the fol - When the component is unmounting, the ongoing promise - Race cancellation, when the previous promise has not returned, if the next promise is initiated, the previous promise will be ignored - + ## Parameter management @@ -116,7 +117,7 @@ The `params` returned by `useRequest` will record the parameters of `service`. F If we set `options.manual = false`, the parameters of calling `service` for the first time can be set by `options.defaultParams`. - + ## API @@ -147,18 +148,18 @@ const { ### Result -| Property | Description | Type | -| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| data | Data returned by service | `TData` \| `undefined` | -| error | Exception thrown by service | `Error` \| `undefined` | -| loading | Is the service being executed | `boolean` | -| params | An array of parameters for the service being executed. For example, you triggered `run(1, 2, 3)`, then params is equal to `[1, 2, 3]` | `TParams` \| `[]` | -| run |
      • Manually trigger the execution of the service, and the parameters will be passed to the service
      • Automatic handling of exceptions, feedback through `onError`
      | `(...params : TParams) => void` | -| runAsync | The usage is the same as `run`, but it returns a Promise, so you need to handle the exception yourself. | `(...params: TParams) => Promise` | -| refresh | Use the last params, call `run` again | `() => void` | -| refreshAsync | Use the last params, call `runAsync` again | `() => Promise` | -| mutate | Mutate `data` directly | `(data?: TData / ((oldData?: TData) => (TData / undefined))) => void` | -| cancel | Ignore the current promise response | `() => void` | +| Property | Description | Type | +| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| data | Data returned by service | `TData` \| `undefined` | +| error | Exception thrown by service | `Error` \| `undefined` | +| loading | Is the service being executed | `boolean` | +| params | An array of parameters for the service being executed. For example, you triggered `run(1, 2, 3)`, then params is equal to `[1, 2, 3]` | `TParams` \| `[]` | +| run |
      • Manually trigger the execution of the service, and the parameters will be passed to the service
      • Automatic handling of exceptions, feedback through `onError`
      | `(...params : TParams) => void` | +| runAsync | The usage is the same as `run`, but it returns a Promise, so you need to handle the exception yourself. | `(...params: TParams) => Promise` | +| refresh | Use the last params, call `run` again | `() => void` | +| refreshAsync | Use the last params, call `runAsync` again | `() => Promise` | +| mutate | Mutate `data` directly | `(data?: TData \| ((oldData?: TData) => (TData \| undefined))) => void` | +| cancel | Ignore the current promise response | `() => void` | ### Options diff --git a/packages/hooks/src/useRequest/doc/basic/basic.zh-CN.md b/packages/hooks/src/useRequest/docs/basic/index.zh-CN.md similarity index 92% rename from packages/hooks/src/useRequest/doc/basic/basic.zh-CN.md rename to packages/hooks/src/useRequest/docs/basic/index.zh-CN.md index 8dcfda3ac4..577081c56a 100644 --- a/packages/hooks/src/useRequest/doc/basic/basic.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/basic/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 基础用法 +nav: Hooks +group: useRequest +order: 2 +toc: content +demo: + cols: 2 --- -# 基础用法 - 这一小节我们会介绍 `useRequest` 最核心,最基础的能力,也就是 `useRequest` 内核的能力。 ## 默认请求 @@ -19,7 +20,7 @@ const { data, error, loading } = useRequest(service);
      - + ## 手动触发 @@ -50,9 +51,9 @@ const { loading, run, runAsync } = useRequest(service, { 接下来我们通过修改用户名这个简单的场景,来演示 useRequest 手动触发模式,以及 `run` 与 `runAsync` 的区别。 - + - + ## 生命周期 @@ -63,7 +64,7 @@ const { loading, run, runAsync } = useRequest(service, { - `onError`:请求失败触发 - `onFinally`:请求完成触发 - + ## 刷新(重复上一次请求) @@ -75,7 +76,7 @@ const { loading, run, runAsync } = useRequest(service, { 2. 我们通过某种手段更新了用户信息 3. 我们想重新发起上一次的请求,那我们就可以使用 `refresh` 来代替 `run(1)`,这在复杂参数的场景中是非常有用的 - + 当然 `refresh` 和 `refreshAsync` 的区别和 `run` 和 `runAsync` 是一致的。 @@ -89,13 +90,13 @@ const { loading, run, runAsync } = useRequest(service, { 我们修改了用户名,但是我们不希望等编辑接口调用成功之后,才给用户反馈。而是直接修改页面数据,同时在背后去调用修改接口,等修改接口返回之后,另外提供反馈。 - + - + ## 取消响应 @@ -108,7 +109,7 @@ const { loading, run, runAsync } = useRequest(service, { - 组件卸载时,正在进行的 promise - 竞态取消,当上一次 promise 还没返回时,又发起了下一次 promise,则会忽略上一次 promise 的响应 - + ## 参数管理 @@ -116,7 +117,7 @@ const { loading, run, runAsync } = useRequest(service, { 如果我们设置了 `options.manual = false`,则首次调用 `service` 的参数可以通过 `options.defaultParams` 来设置。 - + ## API @@ -147,18 +148,18 @@ const { ### Result -| 参数 | 说明 | 类型 | -| ------------ | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | -| data | service 返回的数据 | `TData` \| `undefined` | -| error | service 抛出的异常 | `Error` \| `undefined` | -| loading | service 是否正在执行 | `boolean` | -| params | 当次执行的 service 的参数数组。比如你触发了 `run(1, 2, 3)`,则 params 等于 `[1, 2, 3]` | `TParams` \| `[]` | -| run |
      • 手动触发 service 执行,参数会传递给 service
      • 异常自动处理,通过 `onError` 反馈
      | `(...params: TParams) => void` | -| runAsync | 与 `run` 用法一致,但返回的是 Promise,需要自行处理异常。 | `(...params: TParams) => Promise` | -| refresh | 使用上一次的 params,重新调用 `run` | `() => void` | -| refreshAsync | 使用上一次的 params,重新调用 `runAsync` | `() => Promise` | -| mutate | 直接修改 `data` | `(data?: TData / ((oldData?: TData) => (TData / undefined))) => void` | -| cancel | 忽略当前 Promise 的响应 | `() => void` | +| 参数 | 说明 | 类型 | +| ------------ | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| data | service 返回的数据 | `TData` \| `undefined` | +| error | service 抛出的异常 | `Error` \| `undefined` | +| loading | service 是否正在执行 | `boolean` | +| params | 当次执行的 service 的参数数组。比如你触发了 `run(1, 2, 3)`,则 params 等于 `[1, 2, 3]` | `TParams` \| `[]` | +| run |
      • 手动触发 service 执行,参数会传递给 service
      • 异常自动处理,通过 `onError` 反馈
      | `(...params: TParams) => void` | +| runAsync | 与 `run` 用法一致,但返回的是 Promise,需要自行处理异常。 | `(...params: TParams) => Promise` | +| refresh | 使用上一次的 params,重新调用 `run` | `() => void` | +| refreshAsync | 使用上一次的 params,重新调用 `runAsync` | `() => Promise` | +| mutate | 直接修改 `data` | `(data?: TData \| ((oldData?: TData) => (TData \| undefined))) => void` | +| cancel | 忽略当前 Promise 的响应 | `() => void` | ### Options diff --git a/packages/hooks/src/useRequest/doc/cache/demo/cacheKey.tsx b/packages/hooks/src/useRequest/docs/cache/demo/cacheKey.tsx similarity index 81% rename from packages/hooks/src/useRequest/doc/cache/demo/cacheKey.tsx rename to packages/hooks/src/useRequest/docs/cache/demo/cacheKey.tsx index 22fb310299..a5787313dd 100644 --- a/packages/hooks/src/useRequest/doc/cache/demo/cacheKey.tsx +++ b/packages/hooks/src/useRequest/docs/cache/demo/cacheKey.tsx @@ -1,7 +1,7 @@ -import { useBoolean } from 'ahooks'; -import Mock from 'mockjs'; import React from 'react'; -import { useRequest } from 'ahooks'; +import Mock from 'mockjs'; +import { Button } from 'antd'; +import { useBoolean, useRequest } from 'ahooks'; async function getArticle(): Promise<{ data: string; time: number }> { console.log('cacheKey'); @@ -19,9 +19,11 @@ const Article = () => { const { data, loading } = useRequest(getArticle, { cacheKey: 'cacheKey-demo', }); + if (!data && loading) { return

      Loading

      ; } + return ( <>

      Background loading: {loading ? 'true' : 'false'}

      @@ -33,11 +35,12 @@ const Article = () => { export default () => { const [state, { toggle }] = useBoolean(); + return (
      - + {state &&
      }
      ); diff --git a/packages/hooks/src/useRequest/doc/cache/demo/clearCache.tsx b/packages/hooks/src/useRequest/docs/cache/demo/clearCache.tsx similarity index 66% rename from packages/hooks/src/useRequest/doc/cache/demo/clearCache.tsx rename to packages/hooks/src/useRequest/docs/cache/demo/clearCache.tsx index 0d036d30ef..f0b4473072 100644 --- a/packages/hooks/src/useRequest/doc/cache/demo/clearCache.tsx +++ b/packages/hooks/src/useRequest/docs/cache/demo/clearCache.tsx @@ -1,7 +1,7 @@ -import Mock from 'mockjs'; import React from 'react'; +import Mock from 'mockjs'; +import { Button, Space, message } from 'antd'; import { useRequest, clearCache, useBoolean } from 'ahooks'; -import { message } from 'antd'; async function getArticle(): Promise<{ data: string; time: number }> { return new Promise((resolve) => { @@ -18,9 +18,11 @@ const Article = ({ cacheKey }) => { const { data, loading } = useRequest(getArticle, { cacheKey, }); + if (!data && loading) { return

      Loading

      ; } + return ( <>

      Background loading: {loading ? 'true' : 'false'}

      @@ -38,25 +40,18 @@ const clear = (cacheKey?: string | string[]) => { export default () => { const [state, { toggle }] = useBoolean(); + return (
      -

      - -

      -

      - - - - -

      +
      + +
      + + + + + +

      Article 1

      {state &&
      }

      Article 2

      diff --git a/packages/hooks/src/useRequest/doc/cache/demo/params.tsx b/packages/hooks/src/useRequest/docs/cache/demo/params.tsx similarity index 63% rename from packages/hooks/src/useRequest/doc/cache/demo/params.tsx rename to packages/hooks/src/useRequest/docs/cache/demo/params.tsx index a6bf62a03b..67368dc904 100644 --- a/packages/hooks/src/useRequest/doc/cache/demo/params.tsx +++ b/packages/hooks/src/useRequest/docs/cache/demo/params.tsx @@ -1,7 +1,7 @@ -import { useBoolean } from 'ahooks'; -import useRequest from '../../../'; -import Mock from 'mockjs'; import React, { useState } from 'react'; +import Mock from 'mockjs'; +import { Button, Input, Space } from 'antd'; +import { useRequest, useBoolean } from 'ahooks'; async function getArticle(keyword: string): Promise<{ data: string; time: number }> { console.log('cacheKey', keyword); @@ -19,44 +19,34 @@ const Article = () => { const { data, params, loading, run } = useRequest(getArticle, { cacheKey: 'cacheKey-demo', }); - const [keyword, setKeyword] = useState(params[0] || ''); if (!data && loading) { return

      Loading

      ; } + return ( - <> -
      - setKeyword(e.target.value)} - /> - -
      +
      + + setKeyword(e.target.value)} /> + +

      Background loading: {loading ? 'true' : 'false'}

      Latest request time: {data?.time}

      Keyword: {keyword}

      {data?.data}

      - +
      ); }; export default () => { const [state, { toggle }] = useBoolean(); + return (
      - + {state &&
      }
      ); diff --git a/packages/hooks/src/useRequest/doc/cache/demo/setCache.tsx b/packages/hooks/src/useRequest/docs/cache/demo/setCache.tsx similarity index 76% rename from packages/hooks/src/useRequest/doc/cache/demo/setCache.tsx rename to packages/hooks/src/useRequest/docs/cache/demo/setCache.tsx index 78c2d84594..e0796aa646 100644 --- a/packages/hooks/src/useRequest/doc/cache/demo/setCache.tsx +++ b/packages/hooks/src/useRequest/docs/cache/demo/setCache.tsx @@ -1,7 +1,7 @@ -import { useBoolean } from 'ahooks'; -import Mock from 'mockjs'; import React from 'react'; -import { useRequest } from 'ahooks'; +import Mock from 'mockjs'; +import { Button } from 'antd'; +import { useRequest, useBoolean } from 'ahooks'; async function getArticle(): Promise<{ data: string; time: number }> { return new Promise((resolve) => { @@ -19,12 +19,14 @@ const cacheKey = 'setCache-demo'; const Article = () => { const { data, loading } = useRequest(getArticle, { cacheKey, - setCache: (data) => localStorage.setItem(cacheKey, JSON.stringify(data)), + setCache: (value) => localStorage.setItem(cacheKey, JSON.stringify(value)), getCache: () => JSON.parse(localStorage.getItem(cacheKey) || '{}'), }); + if (!data && loading) { return

      Loading

      ; } + return ( <>

      Background loading: {loading ? 'true' : 'false'}

      @@ -36,11 +38,12 @@ const Article = () => { export default () => { const [state, { toggle }] = useBoolean(); + return (
      - + {state &&
      }
      ); diff --git a/packages/hooks/src/useRequest/doc/cache/demo/share.tsx b/packages/hooks/src/useRequest/docs/cache/demo/share.tsx similarity index 85% rename from packages/hooks/src/useRequest/doc/cache/demo/share.tsx rename to packages/hooks/src/useRequest/docs/cache/demo/share.tsx index 0969695ea2..d417dee061 100644 --- a/packages/hooks/src/useRequest/doc/cache/demo/share.tsx +++ b/packages/hooks/src/useRequest/docs/cache/demo/share.tsx @@ -1,5 +1,6 @@ -import Mock from 'mockjs'; import React from 'react'; +import Mock from 'mockjs'; +import { Button, Divider } from 'antd'; import { useRequest } from 'ahooks'; async function getArticle(): Promise<{ data: string; time: number }> { @@ -18,17 +19,17 @@ const Article = () => { const { data, loading, refresh } = useRequest(getArticle, { cacheKey: 'cacheKey-share', }); + if (!data && loading) { return

      Loading

      ; } + return ( <>

      Background loading: {loading ? 'true' : 'false'}

      -

      - -

      +

      Latest request time: {data?.time}

      {data?.data}

      @@ -40,6 +41,7 @@ export default () => {

      Article 1

      +

      Article 2

      diff --git a/packages/hooks/src/useRequest/doc/cache/demo/staleTime.tsx b/packages/hooks/src/useRequest/docs/cache/demo/staleTime.tsx similarity index 81% rename from packages/hooks/src/useRequest/doc/cache/demo/staleTime.tsx rename to packages/hooks/src/useRequest/docs/cache/demo/staleTime.tsx index ff691c7db4..37544b7bcc 100644 --- a/packages/hooks/src/useRequest/doc/cache/demo/staleTime.tsx +++ b/packages/hooks/src/useRequest/docs/cache/demo/staleTime.tsx @@ -1,7 +1,7 @@ -import { useBoolean } from 'ahooks'; -import Mock from 'mockjs'; import React from 'react'; -import { useRequest } from 'ahooks'; +import Mock from 'mockjs'; +import { Button } from 'antd'; +import { useRequest, useBoolean } from 'ahooks'; async function getArticle(): Promise<{ data: string; time: number }> { console.log('cacheKey-staleTime'); @@ -20,9 +20,11 @@ const Article = () => { cacheKey: 'staleTime-demo', staleTime: 5000, }); + if (!data && loading) { return

      Loading

      ; } + return ( <>

      Background loading: {loading ? 'true' : 'false'}

      @@ -34,11 +36,12 @@ const Article = () => { export default () => { const [state, { toggle }] = useBoolean(); + return (
      - + {state &&
      }
      ); diff --git a/packages/hooks/src/useRequest/doc/cache/cache.en-US.md b/packages/hooks/src/useRequest/docs/cache/index.en-US.md similarity index 92% rename from packages/hooks/src/useRequest/doc/cache/cache.en-US.md rename to packages/hooks/src/useRequest/docs/cache/index.en-US.md index 58dce1b057..df8f4dfb82 100644 --- a/packages/hooks/src/useRequest/doc/cache/cache.en-US.md +++ b/packages/hooks/src/useRequest/docs/cache/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Cache & SWR +nav: Hooks +group: useRequest +order: 10 +toc: content +demo: + cols: 2 --- -# Cache & SWR - If `options.cacheKey` is set, `useRequest` will cache the successful data . The next time the component is initialized, if there is cached data, we will return the cached data first, and then send a new request in background, which is the ability of SWR. You can set the data retention time through `options.staleTime`. During this time, we consider the data to be fresh and will not re-initiate the request. @@ -15,19 +16,19 @@ You can also set the data cache time through `options.cacheTime`, after this tim Next, through a few examples to experience these features. -### SWR +## SWR In the following example, we set the `cacheKey`. When the component is loaded for the second time, the cached content will be returned first, and then the request will be re-run in background. You can experience the effect by clicking the button. - + -### Keep your data fresh +## Keep your data fresh By setting `staleTime`, we can specify the data retention time, during which time the request will not be re-run. The following example sets a fresh time of 5s, you can experience the effect by clicking the button - + -### Data sharing +## Data sharing > Note: If no new request is issued, the "Data sharing" will not be triggered. `cacheTime` and `staleTime` parameters will invalidate "Data sharing". [#2313](https://github.com/alibaba/hooks/issues/2313) @@ -38,23 +39,23 @@ The content of the same `cacheKey` is shared globally, which will bring the foll In the following example, the two components will only initiate one request during initialization. And the content of the two articles is always synchronized. - + -### Parameters cache +## Parameters cache The cached data includes `data` and `params`. Through the `params` caching mechanism, we can remember the conditions of the last request and initialize it next time. In the following example, we can initialize the `keyword` from the cached `params` - + -### Clear cache +## Clear cache ahooks provides a `clearCache` method, which can clear the cache data of the specified `cacheKey`. - + -### Custom cache +## Custom cache By setting `setCache` and `getCache`, you can customize the cache, for example, you can store data in `localStorage`, `IndexDB`, etc. @@ -63,7 +64,7 @@ Please note: 1. `setCache` and `getCache` need to be used together. 2. In the custom cache mode, `cacheTime` and `clearCache` will be unused, please implement it yourself according to the actual situation. - + ## API diff --git a/packages/hooks/src/useRequest/doc/cache/cache.zh-CN.md b/packages/hooks/src/useRequest/docs/cache/index.zh-CN.md similarity index 91% rename from packages/hooks/src/useRequest/doc/cache/cache.zh-CN.md rename to packages/hooks/src/useRequest/docs/cache/index.zh-CN.md index 4ec3444abf..e2e9e07958 100644 --- a/packages/hooks/src/useRequest/doc/cache/cache.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/cache/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 缓存 & SWR +nav: Hooks +group: useRequest +order: 10 +toc: content +demo: + cols: 2 --- -# 缓存 & SWR - 如果设置了 `options.cacheKey`,`useRequest` 会将当前请求成功的数据缓存起来。下次组件初始化时,如果有缓存数据,我们会优先返回缓存数据,然后在背后发送新请求,也就是 SWR 的能力。 你可以通过 `options.staleTime` 设置数据保持新鲜时间,在该时间内,我们认为数据是新鲜的,不会重新发起请求。 @@ -15,19 +16,19 @@ group: 接下来通过几个例子来体验缓存这些功能。 -### SWR +## SWR 下面的示例,我们设置了 `cacheKey`,在组件第二次加载时,会优先返回缓存的内容,然后在背后重新发起请求。你可以通过点击按钮来体验效果。 - + -### 数据保持新鲜 +## 数据保持新鲜 通过设置 `staleTime`,我们可以指定数据新鲜时间,在这个时间内,不会重新发起请求。下面的示例设置了 5s 的新鲜时间,你可以通过点击按钮来体验效果 - + -### 数据共享 +## 数据共享 > 注意:如果没有发起新请求,不会触发数据共享。`cacheTime`、`staleTime` 参数会使数据共享失效。[#2313](https://github.com/alibaba/hooks/issues/2313) @@ -38,23 +39,23 @@ group: 下面的示例中,初始化时,两个组件只会发起一个请求。并且两篇文章的内容永远是同步的。 - + -### 参数缓存 +## 参数缓存 缓存的数据包括 `data` 和 `params`,通过 `params` 缓存机制,我们可以记忆上一次请求的条件,并在下次初始化。 下面的示例中,我们可以从缓存的 `params` 中初始化 `keyword` - + -### 删除缓存 +## 删除缓存 ahooks 提供了一个 `clearCache` 方法,可以清除指定 `cacheKey` 的缓存数据。 - + -### 自定义缓存 +## 自定义缓存 通过配置 `setCache` 和 `getCache`,可以自定义数据缓存,比如可以将数据存储到 `localStorage`、`IndexDB` 等。 @@ -63,7 +64,7 @@ ahooks 提供了一个 `clearCache` 方法,可以清除指定 `cacheKey` 的 1. `setCache` 和 `getCache` 需要配套使用。 2. 在自定义缓存模式下,`cacheTime` 和 `clearCache` 不会生效,请根据实际情况自行实现。 - + ## API diff --git a/packages/hooks/src/useRequest/doc/debounce/demo/debounce.tsx b/packages/hooks/src/useRequest/docs/debounce/demo/debounce.tsx similarity index 83% rename from packages/hooks/src/useRequest/doc/debounce/demo/debounce.tsx rename to packages/hooks/src/useRequest/docs/debounce/demo/debounce.tsx index 796fa04738..4ac84c464f 100644 --- a/packages/hooks/src/useRequest/doc/debounce/demo/debounce.tsx +++ b/packages/hooks/src/useRequest/docs/debounce/demo/debounce.tsx @@ -23,11 +23,7 @@ export default () => { {loading ? (

      loading

      ) : ( -
        - {data?.map((i) => ( -
      • {i}
      • - ))} -
      +
        {data?.map((i) =>
      • {i}
      • )}
      )}
      ); diff --git a/packages/hooks/src/useRequest/doc/debounce/debounce.en-US.md b/packages/hooks/src/useRequest/docs/debounce/index.en-US.md similarity index 93% rename from packages/hooks/src/useRequest/doc/debounce/debounce.en-US.md rename to packages/hooks/src/useRequest/docs/debounce/index.en-US.md index 5d725e58c4..94fa804f4a 100644 --- a/packages/hooks/src/useRequest/doc/debounce/debounce.en-US.md +++ b/packages/hooks/src/useRequest/docs/debounce/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Debounce +nav: Hooks +group: useRequest +order: 8 +toc: content +demo: + cols: 2 --- -# Debounce - Enter the debounce mode by setting `options.debounceWait`. At this time, if `run` or `runAsync` is triggered frequently, the request will be executed with the debounce strategy. ```tsx | pure @@ -20,7 +21,7 @@ As in the example code above, if `run` is triggered frequently, it will only wai You can quickly enter text in the input box below to experience the effect - + ## API diff --git a/packages/hooks/src/useRequest/doc/debounce/debounce.zh-CN.md b/packages/hooks/src/useRequest/docs/debounce/index.zh-CN.md similarity index 92% rename from packages/hooks/src/useRequest/doc/debounce/debounce.zh-CN.md rename to packages/hooks/src/useRequest/docs/debounce/index.zh-CN.md index 78bb395e49..29e40b25fd 100644 --- a/packages/hooks/src/useRequest/doc/debounce/debounce.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/debounce/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 防抖 +nav: Hooks +group: useRequest +order: 8 +toc: content +demo: + cols: 2 --- -# 防抖 - 通过设置 `options.debounceWait`,进入防抖模式,此时如果频繁触发 `run` 或者 `runAsync`,则会以防抖策略进行请求。 ```tsx | pure @@ -20,7 +21,7 @@ const { data, run } = useRequest(getUsername, { 你可以在下面 input 框中快速输入文本,体验效果 - + ## API diff --git a/packages/hooks/src/useRequest/doc/index/demo/default.tsx b/packages/hooks/src/useRequest/docs/index/demo/default.tsx similarity index 99% rename from packages/hooks/src/useRequest/doc/index/demo/default.tsx rename to packages/hooks/src/useRequest/docs/index/demo/default.tsx index e591c63927..b54bbfa072 100644 --- a/packages/hooks/src/useRequest/doc/index/demo/default.tsx +++ b/packages/hooks/src/useRequest/docs/index/demo/default.tsx @@ -25,5 +25,6 @@ export default () => { if (loading) { return
      loading...
      ; } + return
      Username: {data}
      ; }; diff --git a/packages/hooks/src/useRequest/doc/index/demo/manual.tsx b/packages/hooks/src/useRequest/docs/index/demo/manual.tsx similarity index 73% rename from packages/hooks/src/useRequest/doc/index/demo/manual.tsx rename to packages/hooks/src/useRequest/docs/index/demo/manual.tsx index 7b240187ac..e2bedfa526 100644 --- a/packages/hooks/src/useRequest/doc/index/demo/manual.tsx +++ b/packages/hooks/src/useRequest/docs/index/demo/manual.tsx @@ -1,13 +1,13 @@ /** * title: Edit username - * desc: In this example, we modify the username. + * description: In this example, we modify the username. * * title.zh-CN: 修改用户名 - * desc.zh-CN: 在这个例子中,我们尝试修改用户名。 + * description.zh-CN: 在这个例子中,我们尝试修改用户名。 */ -import { message } from 'antd'; import React, { useState } from 'react'; +import { Button, Input, Space, message } from 'antd'; import { useRequest } from 'ahooks'; // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -33,16 +33,16 @@ export default () => { }); return ( -
      - + setState(e.target.value)} value={state} placeholder="Please enter username" - style={{ width: 240, marginRight: 16 }} + style={{ width: 240 }} /> - -
      + + ); }; diff --git a/packages/hooks/src/useRequest/doc/index/index.en-US.md b/packages/hooks/src/useRequest/docs/index/index.en-US.md similarity index 88% rename from packages/hooks/src/useRequest/doc/index/index.en-US.md rename to packages/hooks/src/useRequest/docs/index/index.en-US.md index 6bdca1d1c6..0034742c52 100644 --- a/packages/hooks/src/useRequest/doc/index/index.en-US.md +++ b/packages/hooks/src/useRequest/docs/index/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Quick Start +nav: Hooks +group: useRequest +order: 1 +toc: content +demo: + cols: 2 --- -# Quick Start - `useRequest` is a powerful Hooks for asynchronous data management. `useRequest` is sufficient enough for network request scenarios in React projects. `useRequest` organizes code through a plug-in pattern, the core code is extremely simple, and can be easily extended for more advanced features. Current features include: @@ -33,7 +34,7 @@ const { data, error, loading } = useRequest(getUsername);
      - + ## Manual trigger @@ -47,6 +48,6 @@ const { loading, run } = useRequest(changeUsername, {
      - + In the above two examples, we demonstrated the most basic usages of `useRequest`. Next, we will introduce the features of `useRequest` one by one. diff --git a/packages/hooks/src/useRequest/doc/index/index.zh-CN.md b/packages/hooks/src/useRequest/docs/index/index.zh-CN.md similarity index 87% rename from packages/hooks/src/useRequest/doc/index/index.zh-CN.md rename to packages/hooks/src/useRequest/docs/index/index.zh-CN.md index 7656f06f48..b52f9e087a 100644 --- a/packages/hooks/src/useRequest/doc/index/index.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/index/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 快速上手 +nav: Hooks +group: useRequest +order: 1 +toc: content +demo: + cols: 2 --- -# 快速上手 - `useRequest` 是一个强大的异步数据管理的 Hooks,React 项目中的网络请求场景使用 `useRequest` 就够了。 `useRequest` 通过插件式组织代码,核心代码极其简单,并且可以很方便的扩展出更高级的功能。目前已有能力包括: @@ -33,7 +34,7 @@ const { data, error, loading } = useRequest(getUsername);
      - + ## 手动触发 @@ -47,6 +48,6 @@ const { loading, run } = useRequest(changeUsername, {
      - + 上面两个例子,我们演示了 `useRequest` 最基础的用法,接下来的我们开始逐个详细介绍 `useRequest` 的特性。 diff --git a/packages/hooks/src/useRequest/doc/loadingDelay/demo/loadingDelay.tsx b/packages/hooks/src/useRequest/docs/loadingDelay/demo/loadingDelay.tsx similarity index 77% rename from packages/hooks/src/useRequest/doc/loadingDelay/demo/loadingDelay.tsx rename to packages/hooks/src/useRequest/docs/loadingDelay/demo/loadingDelay.tsx index a333757710..baabe16b4a 100644 --- a/packages/hooks/src/useRequest/doc/loadingDelay/demo/loadingDelay.tsx +++ b/packages/hooks/src/useRequest/docs/loadingDelay/demo/loadingDelay.tsx @@ -1,6 +1,7 @@ -import { useRequest } from 'ahooks'; import React from 'react'; import Mock from 'mockjs'; +import { Button } from 'antd'; +import { useRequest } from 'ahooks'; function getUsername(): Promise { return new Promise((resolve) => { @@ -12,7 +13,6 @@ function getUsername(): Promise { export default () => { const action = useRequest(getUsername); - const withLoadingDelayAction = useRequest(getUsername, { loadingDelay: 300, }); @@ -24,16 +24,13 @@ export default () => { return (
      - - -
      - Username: {action.loading ? 'Loading...' : action.data} -
      +
      Username: {action.loading ? 'Loading...' : action.data}
      Username: {withLoadingDelayAction.loading ? 'Loading...' : withLoadingDelayAction.data}
      +
      ); }; diff --git a/packages/hooks/src/useRequest/doc/loadingDelay/loadingDelay.en-US.md b/packages/hooks/src/useRequest/docs/loadingDelay/index.en-US.md similarity index 86% rename from packages/hooks/src/useRequest/doc/loadingDelay/loadingDelay.en-US.md rename to packages/hooks/src/useRequest/docs/loadingDelay/index.en-US.md index f20b0b6cd0..c4b4dfccb3 100644 --- a/packages/hooks/src/useRequest/doc/loadingDelay/loadingDelay.en-US.md +++ b/packages/hooks/src/useRequest/docs/loadingDelay/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Loading Delay +nav: Hooks +group: useRequest +order: 3 +toc: content +demo: + cols: 2 --- -# Loading Delay - By setting `options.loadingDelay`, you can delay the time when `loading` turns to `true`, effectively prevent UI flashing. ```tsx | pure @@ -21,7 +22,7 @@ For example, in the above scenario, if `getUsername` returns within 300ms, `load You can quickly click the button in the example below to experience the effect - + ## API diff --git a/packages/hooks/src/useRequest/doc/loadingDelay/loadingDelay.zh-CN.md b/packages/hooks/src/useRequest/docs/loadingDelay/index.zh-CN.md similarity index 85% rename from packages/hooks/src/useRequest/doc/loadingDelay/loadingDelay.zh-CN.md rename to packages/hooks/src/useRequest/docs/loadingDelay/index.zh-CN.md index b471691126..9e6c89ae8c 100644 --- a/packages/hooks/src/useRequest/doc/loadingDelay/loadingDelay.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/loadingDelay/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Loading Delay +nav: Hooks +group: useRequest +order: 3 +toc: content +demo: + cols: 2 --- -# Loading Delay - 通过设置 `options.loadingDelay` ,可以延迟 `loading` 变成 `true` 的时间,有效防止闪烁。 ```tsx | pure @@ -21,7 +22,7 @@ return
      { loading ? 'Loading...' : data }
      你可以快速点击下面示例中的按钮以体验效果 - + ## API diff --git a/packages/hooks/src/useRequest/doc/polling/demo/polling.tsx b/packages/hooks/src/useRequest/docs/polling/demo/polling.tsx similarity index 67% rename from packages/hooks/src/useRequest/doc/polling/demo/polling.tsx rename to packages/hooks/src/useRequest/docs/polling/demo/polling.tsx index dcf8f0facb..58d258f9a9 100644 --- a/packages/hooks/src/useRequest/doc/polling/demo/polling.tsx +++ b/packages/hooks/src/useRequest/docs/polling/demo/polling.tsx @@ -1,10 +1,11 @@ -import { useRequest } from 'ahooks'; import React from 'react'; import Mock from 'mockjs'; +import { Button, Space } from 'antd'; +import { useRequest } from 'ahooks'; function getUsername() { console.log('polling getUsername'); - return new Promise((resolve) => { + return new Promise((resolve) => { setTimeout(() => { resolve(Mock.mock('@name')); }, 1000); @@ -20,12 +21,10 @@ export default () => { return ( <>

      Username: {loading ? 'Loading' : data}

      - - + + + + ); }; diff --git a/packages/hooks/src/useRequest/doc/polling/demo/pollingError.tsx b/packages/hooks/src/useRequest/docs/polling/demo/pollingError.tsx similarity index 70% rename from packages/hooks/src/useRequest/doc/polling/demo/pollingError.tsx rename to packages/hooks/src/useRequest/docs/polling/demo/pollingError.tsx index 3e597c800f..7595b3849d 100644 --- a/packages/hooks/src/useRequest/doc/polling/demo/pollingError.tsx +++ b/packages/hooks/src/useRequest/docs/polling/demo/pollingError.tsx @@ -1,11 +1,11 @@ -import { useRequest } from 'ahooks'; import React from 'react'; import Mock from 'mockjs'; -import { message } from 'antd'; +import { Button, Space, message } from 'antd'; +import { useRequest } from 'ahooks'; function getUsername() { console.log('polling getUsername Error'); - return new Promise((resolve, reject) => { + return new Promise((resolve, reject) => { setTimeout(() => { reject(new Error(Mock.mock('@name'))); }, 1000); @@ -26,12 +26,10 @@ export default () => { return ( <>

      Username: {loading ? 'Loading' : data}

      - - + + + + ); }; diff --git a/packages/hooks/src/useRequest/doc/polling/polling.en-US.md b/packages/hooks/src/useRequest/docs/polling/index.en-US.md similarity index 94% rename from packages/hooks/src/useRequest/doc/polling/polling.en-US.md rename to packages/hooks/src/useRequest/docs/polling/index.en-US.md index 56c69db578..b8c6d6c4aa 100644 --- a/packages/hooks/src/useRequest/doc/polling/polling.en-US.md +++ b/packages/hooks/src/useRequest/docs/polling/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Polling +nav: Hooks +group: useRequest +order: 4 +toc: content +demo: + cols: 2 --- -# Polling - By setting `options.pollingInterval`, enter the polling mode, `useRequest` will periodically trigger service execution. ```tsx | pure @@ -19,7 +20,7 @@ For example, in the above scenario, `getUsername` will be requested every 3000ms You can experience the effect through the following example - + ## Polling error retry @@ -34,7 +35,7 @@ const { data, run, cancel } = useRequest(getUsername, { You can experience the effect through the following example. - + ## API diff --git a/packages/hooks/src/useRequest/doc/polling/polling.zh-CN.md b/packages/hooks/src/useRequest/docs/polling/index.zh-CN.md similarity index 93% rename from packages/hooks/src/useRequest/doc/polling/polling.zh-CN.md rename to packages/hooks/src/useRequest/docs/polling/index.zh-CN.md index b124f49d02..50c36f630e 100644 --- a/packages/hooks/src/useRequest/doc/polling/polling.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/polling/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 轮询 +nav: Hooks +group: useRequest +order: 4 +toc: content +demo: + cols: 2 --- -# 轮询 - 通过设置 `options.pollingInterval`,进入轮询模式,`useRequest` 会定时触发 service 执行。 ```tsx | pure @@ -19,7 +20,7 @@ const { data, run, cancel } = useRequest(getUsername, { 你可以通过下面的示例来体验效果 - + ## 轮询错误重试 @@ -34,7 +35,7 @@ const { data, run, cancel } = useRequest(getUsername, { 你可以通过下面的示例来体验效果。 - + ## API diff --git a/packages/hooks/src/useRequest/doc/ready/demo/manualReady.tsx b/packages/hooks/src/useRequest/docs/ready/demo/manualReady.tsx similarity index 61% rename from packages/hooks/src/useRequest/doc/ready/demo/manualReady.tsx rename to packages/hooks/src/useRequest/docs/ready/demo/manualReady.tsx index 81ff549cf1..dec8a56c27 100644 --- a/packages/hooks/src/useRequest/doc/ready/demo/manualReady.tsx +++ b/packages/hooks/src/useRequest/docs/ready/demo/manualReady.tsx @@ -1,9 +1,10 @@ -import { useRequest, useToggle } from 'ahooks'; -import Mock from 'mockjs'; import React from 'react'; +import Mock from 'mockjs'; +import { Button, Space } from 'antd'; +import { useRequest, useToggle } from 'ahooks'; function getUsername() { - return new Promise((resolve) => { + return new Promise((resolve) => { setTimeout(() => { resolve(Mock.mock('@name')); }, 1000); @@ -12,26 +13,21 @@ function getUsername() { export default () => { const [ready, { toggle }] = useToggle(false); - const { data, loading, run } = useRequest(getUsername, { ready, manual: true, }); return ( - <> -

      - Ready: {JSON.stringify(ready)} - -

      -

      +

      + Username: {loading ? 'Loading' : data} - -

      - + +
      + + Ready: {JSON.stringify(ready)} + + +
      ); }; diff --git a/packages/hooks/src/useRequest/doc/ready/demo/ready.tsx b/packages/hooks/src/useRequest/docs/ready/demo/ready.tsx similarity index 71% rename from packages/hooks/src/useRequest/doc/ready/demo/ready.tsx rename to packages/hooks/src/useRequest/docs/ready/demo/ready.tsx index 795db15a9a..1ac86cbed5 100644 --- a/packages/hooks/src/useRequest/doc/ready/demo/ready.tsx +++ b/packages/hooks/src/useRequest/docs/ready/demo/ready.tsx @@ -1,9 +1,10 @@ -import { useRequest, useToggle } from 'ahooks'; -import Mock from 'mockjs'; import React from 'react'; +import Mock from 'mockjs'; +import { Button, Space } from 'antd'; +import { useRequest, useToggle } from 'ahooks'; function getUsername() { - return new Promise((resolve) => { + return new Promise((resolve) => { setTimeout(() => { resolve(Mock.mock('@name')); }, 1000); @@ -12,20 +13,17 @@ function getUsername() { export default () => { const [ready, { toggle }] = useToggle(false); - const { data, loading } = useRequest(getUsername, { ready, }); return ( - <> -

      - Ready: {JSON.stringify(ready)} - -

      +

      Username: {loading ? 'Loading' : data}

      - + + Ready: {JSON.stringify(ready)} + + +
      ); }; diff --git a/packages/hooks/src/useRequest/doc/ready/ready.en-US.md b/packages/hooks/src/useRequest/docs/ready/index.en-US.md similarity index 86% rename from packages/hooks/src/useRequest/doc/ready/ready.en-US.md rename to packages/hooks/src/useRequest/docs/ready/index.en-US.md index 0e3d6b0caa..3d21fc0524 100644 --- a/packages/hooks/src/useRequest/doc/ready/ready.en-US.md +++ b/packages/hooks/src/useRequest/docs/ready/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Ready +nav: Hooks +group: useRequest +order: 5 +toc: content +demo: + cols: 2 --- -# Ready - By setting `options.ready`, you can control whether a request is sent. When its value is `false`, the request will never be sent. The specific behavior is as follows: @@ -18,13 +19,13 @@ The specific behavior is as follows: The following example demonstrates the behavior of `ready` in automatic mode. Every time `ready` changes from `false` to `true`, the request will be executed. - + ## Manual mode The following example demonstrates the behavior of `ready` in manual mode. Only when `ready` is equal to `true`, `run` will be executed. - + ## API diff --git a/packages/hooks/src/useRequest/doc/ready/ready.zh-CN.md b/packages/hooks/src/useRequest/docs/ready/index.zh-CN.md similarity index 85% rename from packages/hooks/src/useRequest/doc/ready/ready.zh-CN.md rename to packages/hooks/src/useRequest/docs/ready/index.zh-CN.md index 9b04d6e705..28a970074e 100644 --- a/packages/hooks/src/useRequest/doc/ready/ready.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/ready/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Ready +nav: Hooks +group: useRequest +order: 5 +toc: content +demo: + cols: 2 --- -# Ready - 通过设置 `options.ready`,可以控制请求是否发出。当其值为 `false` 时,请求永远都不会发出。 其具体行为如下: @@ -18,13 +19,13 @@ group: 以下示例演示了自动模式下 `ready` 的行为。每次 `ready` 从 `false` 变为 `true` 时,都会重新发起请求。 - + ## 手动模式 以下示例演示了手动模式下 `ready` 的行为。只有当 `ready` 等于 `true` 时,`run` 才会执行。 - + ## API diff --git a/packages/hooks/src/useRequest/doc/refreshDeps/demo/refreshDeps.tsx b/packages/hooks/src/useRequest/docs/refreshDeps/demo/refreshDeps.tsx similarity index 100% rename from packages/hooks/src/useRequest/doc/refreshDeps/demo/refreshDeps.tsx rename to packages/hooks/src/useRequest/docs/refreshDeps/demo/refreshDeps.tsx diff --git a/packages/hooks/src/useRequest/doc/refreshDeps/demo/refreshDepsAction.tsx b/packages/hooks/src/useRequest/docs/refreshDeps/demo/refreshDepsAction.tsx similarity index 82% rename from packages/hooks/src/useRequest/doc/refreshDeps/demo/refreshDepsAction.tsx rename to packages/hooks/src/useRequest/docs/refreshDeps/demo/refreshDepsAction.tsx index 63007e9181..a65d417634 100644 --- a/packages/hooks/src/useRequest/doc/refreshDeps/demo/refreshDepsAction.tsx +++ b/packages/hooks/src/useRequest/docs/refreshDeps/demo/refreshDepsAction.tsx @@ -1,9 +1,9 @@ /** * title: Custom refresh - * desc: This example shows that when the dependency array changes, it checks the parameters' validity first and then makes a new request. + * description: This example shows that when the dependency array changes, it checks the parameters' validity first and then makes a new request. * * title.zh-CN: 自定义刷新行为 - * desc.zh-CN: 该示例展示了当依赖数组变化时,首先校验参数合法性,然后发起新的请求。 + * description.zh-CN: 该示例展示了当依赖数组变化时,首先校验参数合法性,然后发起新的请求。 */ import React, { useState } from 'react'; diff --git a/packages/hooks/src/useRequest/doc/refreshDeps/refresyDeps.en-US.md b/packages/hooks/src/useRequest/docs/refreshDeps/index.en-US.md similarity index 88% rename from packages/hooks/src/useRequest/doc/refreshDeps/refresyDeps.en-US.md rename to packages/hooks/src/useRequest/docs/refreshDeps/index.en-US.md index f1263e2e22..f099175fb2 100644 --- a/packages/hooks/src/useRequest/doc/refreshDeps/refresyDeps.en-US.md +++ b/packages/hooks/src/useRequest/docs/refreshDeps/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Refresh Deps +nav: Hooks +group: useRequest +order: 6 +toc: content +demo: + cols: 2 --- -# RefreshDeps - By setting `options.refreshDeps`, `useRequest` will run [refresh](https://ahooks.js.org/hooks/use-request/basic/#result) automatically when dependencies change, achieving the effect of [Refresh (repeat the last request)](https://ahooks.js.org/hooks/use-request/basic/#refresh-repeat-the-last-request). ```tsx | pure @@ -29,13 +30,13 @@ useEffect(() => { }, [userId]); ``` -### Repeat last request +## Repeat last request - + -### Custom refresh +## Custom refresh - + ## API diff --git a/packages/hooks/src/useRequest/doc/refreshDeps/refresyDeps.zh-CN.md b/packages/hooks/src/useRequest/docs/refreshDeps/index.zh-CN.md similarity index 88% rename from packages/hooks/src/useRequest/doc/refreshDeps/refresyDeps.zh-CN.md rename to packages/hooks/src/useRequest/docs/refreshDeps/index.zh-CN.md index aff568171a..4ebb730407 100644 --- a/packages/hooks/src/useRequest/doc/refreshDeps/refresyDeps.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/refreshDeps/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 依赖刷新 +nav: Hooks +group: useRequest +order: 6 +toc: content +demo: + cols: 2 --- -# 依赖刷新 - 通过设置 `options.refreshDeps`,在依赖变化时, `useRequest` 会自动调用 [refresh](https://ahooks.js.org/zh-CN/hooks/use-request/basic/#result) 方法,实现[刷新(重复上一次请求)](https://ahooks.js.org/zh-CN/hooks/use-request/basic/#刷新重复上一次请求)的效果。 ```tsx | pure @@ -29,13 +30,13 @@ useEffect(() => { }, [userId]); ``` -### 重复上一次请求 +## 重复上一次请求 - + -### 自定义刷新行为 +## 自定义刷新行为 - + ## API diff --git a/packages/hooks/src/useRequest/doc/refreshOnWindowFocus/demo/refreshOnWindowFocus.tsx b/packages/hooks/src/useRequest/docs/refreshOnWindowFocus/demo/refreshOnWindowFocus.tsx similarity index 89% rename from packages/hooks/src/useRequest/doc/refreshOnWindowFocus/demo/refreshOnWindowFocus.tsx rename to packages/hooks/src/useRequest/docs/refreshOnWindowFocus/demo/refreshOnWindowFocus.tsx index 06f3d78f76..0cb5734dbd 100644 --- a/packages/hooks/src/useRequest/doc/refreshOnWindowFocus/demo/refreshOnWindowFocus.tsx +++ b/packages/hooks/src/useRequest/docs/refreshOnWindowFocus/demo/refreshOnWindowFocus.tsx @@ -1,9 +1,9 @@ -import Mock from 'mockjs'; import React from 'react'; +import Mock from 'mockjs'; import { useRequest } from 'ahooks'; function getUsername() { - return new Promise((resolve) => { + return new Promise((resolve) => { setTimeout(() => { resolve(Mock.mock('@name')); }, 1000); diff --git a/packages/hooks/src/useRequest/doc/refreshOnWindowFocus/refreshOnWindowFocus.en-US.md b/packages/hooks/src/useRequest/docs/refreshOnWindowFocus/index.en-US.md similarity index 88% rename from packages/hooks/src/useRequest/doc/refreshOnWindowFocus/refreshOnWindowFocus.en-US.md rename to packages/hooks/src/useRequest/docs/refreshOnWindowFocus/index.en-US.md index 16de18cb19..fe8db3c62d 100644 --- a/packages/hooks/src/useRequest/doc/refreshOnWindowFocus/refreshOnWindowFocus.en-US.md +++ b/packages/hooks/src/useRequest/docs/refreshOnWindowFocus/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Refresh on Window Focus +nav: Hooks +group: useRequest +order: 7 +toc: content +demo: + cols: 2 --- -# RefreshOnWindowFocus - By setting `options.refreshOnWindowFocus`, the request will be refreshed when the browser is `refocus` and `revisible`. ```tsx | pure @@ -17,7 +18,7 @@ const { data } = useRequest(getUsername, { You can click outside the browser, and then click the current page to experience the effect (or hide the current page and redisplay). If the interval from the previous request is greater than 5000ms, it will be requested again. - + ## API diff --git a/packages/hooks/src/useRequest/doc/refreshOnWindowFocus/refreshOnWindowFocus.zh-CN.md b/packages/hooks/src/useRequest/docs/refreshOnWindowFocus/index.zh-CN.md similarity index 87% rename from packages/hooks/src/useRequest/doc/refreshOnWindowFocus/refreshOnWindowFocus.zh-CN.md rename to packages/hooks/src/useRequest/docs/refreshOnWindowFocus/index.zh-CN.md index 0b6a492f84..a82da93123 100644 --- a/packages/hooks/src/useRequest/doc/refreshOnWindowFocus/refreshOnWindowFocus.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/refreshOnWindowFocus/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 屏幕聚焦重新请求 +nav: Hooks +group: useRequest +order: 7 +toc: content +demo: + cols: 2 --- -# 屏幕聚焦重新请求 - 通过设置 `options.refreshOnWindowFocus`,在浏览器窗口 `refocus` 和 `revisible` 时,会重新发起请求。 ```tsx | pure @@ -17,7 +18,7 @@ const { data } = useRequest(getUsername, { 你可以点击浏览器外部,再点击当前页面来体验效果(或者隐藏当前页面,重新展示),如果和上一次请求间隔大于 5000ms,则会重新请求一次。 - + ## API diff --git a/packages/hooks/src/useRequest/doc/retry/demo/retry.tsx b/packages/hooks/src/useRequest/docs/retry/demo/retry.tsx similarity index 76% rename from packages/hooks/src/useRequest/doc/retry/demo/retry.tsx rename to packages/hooks/src/useRequest/docs/retry/demo/retry.tsx index aa87ce9308..a66776986b 100644 --- a/packages/hooks/src/useRequest/doc/retry/demo/retry.tsx +++ b/packages/hooks/src/useRequest/docs/retry/demo/retry.tsx @@ -1,6 +1,6 @@ -import { useRequest } from 'ahooks'; import React, { useState } from 'react'; -import { message } from 'antd'; +import { Button, Input, Space, message } from 'antd'; +import { useRequest } from 'ahooks'; function editUsername(username: string) { return new Promise((resolve, reject) => { @@ -21,16 +21,16 @@ export default () => { }); return ( -
      - + setState(e.target.value)} value={state} placeholder="Please enter username" - style={{ width: 240, marginRight: 16 }} + style={{ width: 240 }} /> - -
      + + ); }; diff --git a/packages/hooks/src/useRequest/doc/retry/retry.en-US.md b/packages/hooks/src/useRequest/docs/retry/index.en-US.md similarity index 93% rename from packages/hooks/src/useRequest/doc/retry/retry.en-US.md rename to packages/hooks/src/useRequest/docs/retry/index.en-US.md index 52b85fe817..a9fd24e0ba 100644 --- a/packages/hooks/src/useRequest/doc/retry/retry.en-US.md +++ b/packages/hooks/src/useRequest/docs/retry/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Error Retry +nav: Hooks +group: useRequest +order: 11 +toc: content +demo: + cols: 2 --- -# Error Retry - By setting `options.retryCount`, set the number of error retries, useRequest will retry after it fails. ```tsx | pure @@ -19,7 +20,7 @@ As in the example code above, after the request is failed, it will retry 3 times You can type text in the input box below and click the Edit button to experience the effect - + ## API diff --git a/packages/hooks/src/useRequest/doc/retry/retry.zh-CN.md b/packages/hooks/src/useRequest/docs/retry/index.zh-CN.md similarity index 92% rename from packages/hooks/src/useRequest/doc/retry/retry.zh-CN.md rename to packages/hooks/src/useRequest/docs/retry/index.zh-CN.md index b3d123a998..8106d39996 100644 --- a/packages/hooks/src/useRequest/doc/retry/retry.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/retry/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 错误重试 +nav: Hooks +group: useRequest +order: 11 +toc: content +demo: + cols: 2 --- -# 错误重试 - 通过设置 `options.retryCount`,指定错误重试次数,则 useRequest 在失败后会进行重试。 ```tsx | pure @@ -19,7 +20,7 @@ const { data, run } = useRequest(getUsername, { 你可以在下面 input 框中输入文本,并点击 Edit 按钮,体验效果 - + ## API diff --git a/packages/hooks/src/useRequest/doc/throttle/demo/throttle.tsx b/packages/hooks/src/useRequest/docs/throttle/demo/throttle.tsx similarity index 70% rename from packages/hooks/src/useRequest/doc/throttle/demo/throttle.tsx rename to packages/hooks/src/useRequest/docs/throttle/demo/throttle.tsx index d048f10f0a..b6ee74f20a 100644 --- a/packages/hooks/src/useRequest/doc/throttle/demo/throttle.tsx +++ b/packages/hooks/src/useRequest/docs/throttle/demo/throttle.tsx @@ -1,6 +1,7 @@ -import { useRequest } from 'ahooks'; -import Mock from 'mockjs'; import React from 'react'; +import Mock from 'mockjs'; +import { Input } from 'antd'; +import { useRequest } from 'ahooks'; async function getEmail(search?: string): Promise { console.log('throttle getEmail', search); @@ -19,15 +20,11 @@ export default () => { return (
      - run(e.target.value)} /> + run(e.target.value)} /> {loading ? ( -

      loading

      +

      loading

      ) : ( -
        - {data?.map((i) => ( -
      • {i}
      • - ))} -
      +
        {data?.map((i) =>
      • {i}
      • )}
      )}
      ); diff --git a/packages/hooks/src/useRequest/doc/throttle/throttle.en-US.md b/packages/hooks/src/useRequest/docs/throttle/index.en-US.md similarity index 92% rename from packages/hooks/src/useRequest/doc/throttle/throttle.en-US.md rename to packages/hooks/src/useRequest/docs/throttle/index.en-US.md index 65c6f37619..da4b94799e 100644 --- a/packages/hooks/src/useRequest/doc/throttle/throttle.en-US.md +++ b/packages/hooks/src/useRequest/docs/throttle/index.en-US.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: Throttle +nav: Hooks +group: useRequest +order: 9 +toc: content +demo: + cols: 2 --- -# Throttle - Enter the throttle mode by setting `options.throttleWait`. At this time, if `run` or `runAsync` is triggered frequently, the request will be executed with the throttle strategy. ```tsx | pure @@ -20,7 +21,7 @@ As in the example code above, if `run` is triggered frequently, it will only be You can quickly enter text in the input box below to experience the effect - + ## API diff --git a/packages/hooks/src/useRequest/doc/throttle/throttle.zh-CN.md b/packages/hooks/src/useRequest/docs/throttle/index.zh-CN.md similarity index 91% rename from packages/hooks/src/useRequest/doc/throttle/throttle.zh-CN.md rename to packages/hooks/src/useRequest/docs/throttle/index.zh-CN.md index b56109de25..405b8123a3 100644 --- a/packages/hooks/src/useRequest/doc/throttle/throttle.zh-CN.md +++ b/packages/hooks/src/useRequest/docs/throttle/index.zh-CN.md @@ -1,12 +1,13 @@ --- -nav: - path: /hooks -group: - path: /use-request +title: 节流 +nav: Hooks +group: useRequest +order: 9 +toc: content +demo: + cols: 2 --- -# 节流 - 通过设置 `options.throttleWait`,进入节流模式,此时如果频繁触发 `run` 或者 `runAsync`,则会以节流策略进行请求。 ```tsx | pure @@ -20,7 +21,7 @@ const { data, run } = useRequest(getUsername, { 你可以在下面 input 框中快速输入文本,体验效果 - + ## API diff --git a/packages/hooks/src/useResetState/demo/demo1.tsx b/packages/hooks/src/useResetState/demo/demo1.tsx index 5a98c7f876..42f234f147 100644 --- a/packages/hooks/src/useResetState/demo/demo1.tsx +++ b/packages/hooks/src/useResetState/demo/demo1.tsx @@ -1,4 +1,13 @@ +/** + * title: Basic usage + * description: + * + * title.zh-CN: 基础用法 + * description.zh-CN: + */ + import React from 'react'; +import { Button, Space } from 'antd'; import { useResetState } from 'ahooks'; interface State { @@ -13,21 +22,12 @@ export default () => { }); return ( -
      + <> + + + +
      {JSON.stringify(state, null, 2)}
      -

      - - - -

      -
      + ); }; diff --git a/packages/hooks/src/useResetState/index.en-US.md b/packages/hooks/src/useResetState/index.en-US.md index e1dfa036d9..5dbd7a55f0 100644 --- a/packages/hooks/src/useResetState/index.en-US.md +++ b/packages/hooks/src/useResetState/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useResetState +nav: Hooks +group: + title: State + order: 4 +order: 16 +toc: content +demo: + cols: 2 --- -# useResetState - useResetState works similar to `React.useState`, it provides a `reset` method ## Examples -### Default Usage - - + ## API diff --git a/packages/hooks/src/useResetState/index.zh-CN.md b/packages/hooks/src/useResetState/index.zh-CN.md index 6262ab19d6..32c77308f3 100644 --- a/packages/hooks/src/useResetState/index.zh-CN.md +++ b/packages/hooks/src/useResetState/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useResetState +nav: Hooks +group: + title: State + order: 4 +order: 16 +toc: content +demo: + cols: 2 --- -# useResetState - 提供重置 state 方法的 Hooks,用法与 `React.useState` 基本一致。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useResponsive/demo/demo1.tsx b/packages/hooks/src/useResponsive/demo/demo1.tsx index 64a9655668..99f0032f68 100644 --- a/packages/hooks/src/useResponsive/demo/demo1.tsx +++ b/packages/hooks/src/useResponsive/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Get responsive info in components - * desc: By calling useResponsive in components, you can retrieve the responsive infomation of the browser page and subscribe to it at the same time. + * description: By calling useResponsive in components, you can retrieve the responsive infomation of the browser page and subscribe to it at the same time. * * title.zh-CN: 在组件中获取响应式信息 - * desc.zh-CN: 在组件中调用 useResponsive 可以获取并订阅浏览器窗口的响应式信息。 + * description.zh-CN: 在组件中调用 useResponsive 可以获取并订阅浏览器窗口的响应式信息。 */ import React from 'react'; @@ -17,6 +17,7 @@ configResponsive({ export default function () { const responsive = useResponsive(); + return ( <>

      Please change the width of the browser window to see the effect:

      diff --git a/packages/hooks/src/useResponsive/index.en-US.md b/packages/hooks/src/useResponsive/index.en-US.md index b97b320071..63513f5ad6 100644 --- a/packages/hooks/src/useResponsive/index.en-US.md +++ b/packages/hooks/src/useResponsive/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useResponsive +nav: Hooks +group: + title: Dom + order: 6 +order: 16 +toc: content +demo: + cols: 2 --- -# useResponsive - React Hook for getting responsive info. ## Examples -### Get responsive info in components - - + ## API @@ -26,7 +29,7 @@ function configResponsive(config: ResponsiveConfig): void; function useResponsive(): ResponsiveInfo; ``` -### Config +## Config The default config is the same as bootstrap: diff --git a/packages/hooks/src/useResponsive/index.zh-CN.md b/packages/hooks/src/useResponsive/index.zh-CN.md index 49071a3c3c..89fe3a93a4 100644 --- a/packages/hooks/src/useResponsive/index.zh-CN.md +++ b/packages/hooks/src/useResponsive/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useResponsive +nav: Hooks +group: + title: Dom + order: 6 +order: 16 +toc: content +demo: + cols: 2 --- -# useResponsive - 获取响应式信息。 ## 代码演示 -### 在组件中获取响应式信息 - - + ## API @@ -26,7 +29,7 @@ function configResponsive(config: ResponsiveConfig): void; function useResponsive(): ResponsiveInfo; ``` -### 配置 +## 配置 默认的响应式配置和 bootstrap 是一致的: diff --git a/packages/hooks/src/useSafeState/demo/demo1.tsx b/packages/hooks/src/useSafeState/demo/demo1.tsx index 887fde431f..d2852a2546 100644 --- a/packages/hooks/src/useSafeState/demo/demo1.tsx +++ b/packages/hooks/src/useSafeState/demo/demo1.tsx @@ -1,8 +1,18 @@ -import { useSafeState } from 'ahooks'; +/** + * title: Basic usage + * description: + * + * title.zh-CN: 基础用法 + * description.zh-CN: + */ + import React, { useEffect, useState } from 'react'; +import { Button } from 'antd'; +import { useSafeState } from 'ahooks'; const Child = () => { const [value, setValue] = useSafeState(); + const text = value || 'Loading...'; useEffect(() => { setTimeout(() => { @@ -10,8 +20,6 @@ const Child = () => { }, 5000); }, []); - const text = value || 'Loading...'; - return
      {text}
      ; }; @@ -19,9 +27,11 @@ export default () => { const [visible, setVisible] = useState(true); return ( -
      - + <> + {visible && } -
      + ); }; diff --git a/packages/hooks/src/useSafeState/index.en-US.md b/packages/hooks/src/useSafeState/index.en-US.md index a3a9954cf3..c0132bf3cf 100644 --- a/packages/hooks/src/useSafeState/index.en-US.md +++ b/packages/hooks/src/useSafeState/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useSafeState +nav: Hooks +group: + title: State + order: 4 +order: 14 +toc: content +demo: + cols: 2 --- -# useSafeState - It is exactly the same with `React.useState` , but after the component is unmounted, the `setState` in the asynchronous callback will no longer be executed to avoid memory leakage caused by updating the state after the component is unmounted. ## Examples -### Basic usage - - + ## API diff --git a/packages/hooks/src/useSafeState/index.zh-CN.md b/packages/hooks/src/useSafeState/index.zh-CN.md index 4f7c98ffb2..a94157780f 100644 --- a/packages/hooks/src/useSafeState/index.zh-CN.md +++ b/packages/hooks/src/useSafeState/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useSafeState +nav: Hooks +group: + title: State + order: 4 +order: 14 +toc: content +demo: + cols: 2 --- -# useSafeState - 用法与 `React.useState` 完全一样,但是在组件卸载后异步回调内的 `setState` 不再执行,避免因组件卸载后更新状态而导致的内存泄漏。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useScroll/demo/demo1.tsx b/packages/hooks/src/useScroll/demo/demo1.tsx index d0fa08bd89..216fe9d31e 100644 --- a/packages/hooks/src/useScroll/demo/demo1.tsx +++ b/packages/hooks/src/useScroll/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic Usage - * desc: Try to scroll the box below. + * description: Try to scroll the box below. * * title.zh-CN: 基础用法 - * desc.zh-CN: 尝试滚动一下文字内容。 + * description.zh-CN: 尝试滚动一下文字内容。 */ import React, { useRef } from 'react'; @@ -12,6 +12,7 @@ import { useScroll } from 'ahooks'; export default () => { const ref = useRef(null); const scroll = useScroll(ref); + return ( <>

      {JSON.stringify(scroll)}

      @@ -19,7 +20,9 @@ export default () => { style={{ height: '160px', width: '160px', - border: 'solid 1px #000', + border: '1px dashed #ccc', + borderRadius: 4, + marginTop: 8, overflow: 'scroll', whiteSpace: 'nowrap', fontSize: '32px', diff --git a/packages/hooks/src/useScroll/demo/demo2.tsx b/packages/hooks/src/useScroll/demo/demo2.tsx index 605913b142..bf4e5874eb 100644 --- a/packages/hooks/src/useScroll/demo/demo2.tsx +++ b/packages/hooks/src/useScroll/demo/demo2.tsx @@ -1,9 +1,9 @@ /** * title: Listen Page Scroll - * desc: Try to scroll this webpage. + * description: Try to scroll this webpage. * * title.zh-CN: 监测整页的滚动 - * desc.zh-CN: 尝试滚动一下页面。 + * description.zh-CN: 尝试滚动一下页面。 */ import React from 'react'; @@ -11,9 +11,6 @@ import { useScroll } from 'ahooks'; export default () => { const scroll = useScroll(document); - return ( -
      -
      {JSON.stringify(scroll)}
      -
      - ); + + return <>{JSON.stringify(scroll)}; }; diff --git a/packages/hooks/src/useScroll/demo/demo3.tsx b/packages/hooks/src/useScroll/demo/demo3.tsx index e0e5174d0b..68a0a89b5a 100644 --- a/packages/hooks/src/useScroll/demo/demo3.tsx +++ b/packages/hooks/src/useScroll/demo/demo3.tsx @@ -1,9 +1,9 @@ /** - * title: Custom update - * desc: listen on scroll event between 100px ~ 200px in vertical direction + * title: Custom Update + * description: listen on scroll event between 100px ~ 200px in vertical direction. * * title.zh-CN: 自定义更新 - * desc.zh-CN: 在垂直方向 100px 到 200px 的滚动范围内监听 + * description.zh-CN: 在垂直方向 100px 到 200px 的滚动范围内监听。 */ import React, { useRef } from 'react'; @@ -11,7 +11,6 @@ import { useScroll } from 'ahooks'; export default () => { const ref = useRef(null); - const scroll = useScroll(ref, (val) => val.top > 100 && val.top < 200); return ( @@ -21,7 +20,9 @@ export default () => { style={{ height: '160px', width: '160px', - border: 'solid 1px #000', + border: '1px dashed #ccc', + borderRadius: 4, + marginTop: 8, overflow: 'scroll', whiteSpace: 'nowrap', fontSize: '36px', diff --git a/packages/hooks/src/useScroll/index.en-US.md b/packages/hooks/src/useScroll/index.en-US.md index ed85bfbd58..fa5b34e501 100644 --- a/packages/hooks/src/useScroll/index.en-US.md +++ b/packages/hooks/src/useScroll/index.en-US.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useScroll +nav: Hooks +group: + title: Dom + order: 6 +order: 17 +toc: content +demo: + cols: 2 --- -# useScroll - Get the scroll position of an element. ## Examples -### Basic Usage - - - -### Detect Whole Page Scroll - - - -### Control listen on scroll status - - + + + ## API diff --git a/packages/hooks/src/useScroll/index.zh-CN.md b/packages/hooks/src/useScroll/index.zh-CN.md index a8fbf78698..64c4dbd7e3 100644 --- a/packages/hooks/src/useScroll/index.zh-CN.md +++ b/packages/hooks/src/useScroll/index.zh-CN.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useScroll +nav: Hooks +group: + title: Dom + order: 6 +order: 17 +toc: content +demo: + cols: 2 --- -# useScroll - 监听元素的滚动位置。 ## 代码演示 -### 基础用法 - - - -### 监测整页的滚动 - - - -### 控制滚动状态的监听 - - + + + ## API diff --git a/packages/hooks/src/useSelections/demo/demo1.tsx b/packages/hooks/src/useSelections/demo/demo1.tsx index 2390f9ecba..63382aac8a 100644 --- a/packages/hooks/src/useSelections/demo/demo1.tsx +++ b/packages/hooks/src/useSelections/demo/demo1.tsx @@ -1,13 +1,13 @@ /** * title: Default usage - * desc: Checkbox group. + * description: Checkbox group. * * title.zh-CN: 基础用法 - * desc.zh-CN: 常见的 Checkbox 联动 + * description.zh-CN: 常见的 Checkbox 联动 */ -import { Checkbox, Col, Row } from 'antd'; import React, { useMemo, useState } from 'react'; +import { Checkbox, Col, Row } from 'antd'; import { useSelections } from 'ahooks'; export default () => { diff --git a/packages/hooks/src/useSelections/index.en-US.md b/packages/hooks/src/useSelections/index.en-US.md index 991ae315bc..c1b2843e2c 100644 --- a/packages/hooks/src/useSelections/index.en-US.md +++ b/packages/hooks/src/useSelections/index.en-US.md @@ -1,17 +1,22 @@ --- -nav: - path: /hooks +title: useSelections +nav: Hooks +group: + title: Scene + order: 2 +order: 9 +toc: content +demo: + cols: 2 --- -# useSelections - This hook is used for Checkbox group, supports multiple selection, single selection, select-all, select-none and semi-selected etc. ## Examples ### Default usage - + ## API diff --git a/packages/hooks/src/useSelections/index.zh-CN.md b/packages/hooks/src/useSelections/index.zh-CN.md index 084fbeb933..28388fd56d 100644 --- a/packages/hooks/src/useSelections/index.zh-CN.md +++ b/packages/hooks/src/useSelections/index.zh-CN.md @@ -1,17 +1,22 @@ --- -nav: - path: /hooks +title: useSelections +nav: Hooks +group: + title: Scene + order: 2 +order: 9 +toc: content +demo: + cols: 2 --- -# useSelections - 常见联动 Checkbox 逻辑封装,支持多选,单选,全选逻辑,还提供了是否选择,是否全选,是否半选的状态。 ## 代码演示 ### 基础用法 - + ## API diff --git a/packages/hooks/src/useSessionStorageState/index.en-US.md b/packages/hooks/src/useSessionStorageState/index.en-US.md index f65f074120..0c4734abfa 100644 --- a/packages/hooks/src/useSessionStorageState/index.en-US.md +++ b/packages/hooks/src/useSessionStorageState/index.en-US.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useSessionStorageState +nav: Hooks +group: + title: State + order: 4 +order: 7 +toc: content +demo: + cols: 2 --- -# useSessionStorageState - A Hook for store state into sessionStorage. Usage is exactly the same as [useLocalStorageState](./use-local-storage-state). diff --git a/packages/hooks/src/useSessionStorageState/index.zh-CN.md b/packages/hooks/src/useSessionStorageState/index.zh-CN.md index 22bfb57a1e..2c25e51821 100644 --- a/packages/hooks/src/useSessionStorageState/index.zh-CN.md +++ b/packages/hooks/src/useSessionStorageState/index.zh-CN.md @@ -1,10 +1,15 @@ --- -nav: - path: /hooks +title: useSessionStorageState +nav: Hooks +group: + title: State + order: 4 +order: 7 +toc: content +demo: + cols: 2 --- -# useSessionStorageState - 将状态存储在 sessionStorage 中的 Hook。 用法与 [useLocalStorageState](./use-local-storage-state) 一致。 diff --git a/packages/hooks/src/useSet/demo/demo1.tsx b/packages/hooks/src/useSet/demo/demo1.tsx index 5be8c4ea97..d91f27ad57 100644 --- a/packages/hooks/src/useSet/demo/demo1.tsx +++ b/packages/hooks/src/useSet/demo/demo1.tsx @@ -1,28 +1,28 @@ +/** + * title: Basic usage + * description: + * + * title.zh-CN: 基础用法 + * description.zh-CN: + */ + import React from 'react'; +import { Button, Space } from 'antd'; import { useSet } from 'ahooks'; export default () => { const [set, { add, remove, reset }] = useSet(['Hello']); return ( -
      - - - -
      -
      {JSON.stringify(Array.from(set), null, 2)}
      -
      -
      + <> + + + + + +
      {JSON.stringify(Array.from(set), null, 2)}
      + ); }; diff --git a/packages/hooks/src/useSet/index.en-US.md b/packages/hooks/src/useSet/index.en-US.md index dd9d97d905..c0fcbdece7 100644 --- a/packages/hooks/src/useSet/index.en-US.md +++ b/packages/hooks/src/useSet/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useSet +nav: Hooks +group: + title: State + order: 4 +order: 11 +toc: content +demo: + cols: 2 --- -# useSet - A hook that can manage the state of Set. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useSet/index.zh-CN.md b/packages/hooks/src/useSet/index.zh-CN.md index 11db5ba7ea..37137f3ddb 100644 --- a/packages/hooks/src/useSet/index.zh-CN.md +++ b/packages/hooks/src/useSet/index.zh-CN.md @@ -1,15 +1,20 @@ --- -nav: - path: /hooks +title: useSet +nav: Hooks +group: + title: State + order: 4 +order: 11 +toc: content +demo: + cols: 2 --- -# useSet - 管理 Set 类型状态的 Hook。 ## 代码演示 - + ## API diff --git a/packages/hooks/src/useSetState/demo/demo1.tsx b/packages/hooks/src/useSetState/demo/demo1.tsx index 4c593831a5..3746f8dc92 100644 --- a/packages/hooks/src/useSetState/demo/demo1.tsx +++ b/packages/hooks/src/useSetState/demo/demo1.tsx @@ -7,6 +7,7 @@ */ import React from 'react'; +import { Button, Space } from 'antd'; import { useSetState } from 'ahooks'; interface State { @@ -20,16 +21,12 @@ export default () => { }); return ( -
      + <> + + + +
      {JSON.stringify(state, null, 2)}
      -

      - - -

      -
      + ); }; diff --git a/packages/hooks/src/useSetState/demo/demo2.tsx b/packages/hooks/src/useSetState/demo/demo2.tsx index 0318ac9113..fc9f941a38 100644 --- a/packages/hooks/src/useSetState/demo/demo2.tsx +++ b/packages/hooks/src/useSetState/demo/demo2.tsx @@ -7,6 +7,7 @@ */ import React from 'react'; +import { Button } from 'antd'; import { useSetState } from 'ahooks'; interface State { @@ -21,13 +22,14 @@ export default () => { }); return ( -
      + <> +
      {JSON.stringify(state, null, 2)}
      -

      - -

      -
      + ); }; diff --git a/packages/hooks/src/useSetState/index.en-US.md b/packages/hooks/src/useSetState/index.en-US.md index 6bfbf2d2f7..c3a539ce94 100644 --- a/packages/hooks/src/useSetState/index.en-US.md +++ b/packages/hooks/src/useSetState/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useSetState +nav: Hooks +group: + title: State + order: 4 +order: 1 +toc: content +demo: + cols: 2 --- -# useSetState - useSetState works similar to `this.setState` of class component, used to manage the state of object type. ## Examples -### Default usage - - - -### Updating with callback - - + + ## API diff --git a/packages/hooks/src/useSetState/index.zh-CN.md b/packages/hooks/src/useSetState/index.zh-CN.md index c06c148b0f..3046bd81f3 100644 --- a/packages/hooks/src/useSetState/index.zh-CN.md +++ b/packages/hooks/src/useSetState/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useSetState +nav: Hooks +group: + title: State + order: 4 +order: 1 +toc: content +demo: + cols: 2 --- -# useSetState - 管理 object 类型 state 的 Hooks,用法与 class 组件的 `this.setState` 基本一致。 ## 代码演示 -### 基础用法 - - - -### 使用回调更新 - - + + ## API diff --git a/packages/hooks/src/useSize/demo/demo1.tsx b/packages/hooks/src/useSize/demo/demo1.tsx index d81874ae18..06d0a1dd54 100644 --- a/packages/hooks/src/useSize/demo/demo1.tsx +++ b/packages/hooks/src/useSize/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: useSize can receive ref as argument + * description: useSize can receive ref as argument. * * title.zh-CN: 基础用法 - * desc.zh-CN: useSize 可以接收 ref 参数 + * description.zh-CN: useSize 可以接收 ref 参数。 */ import React, { useRef } from 'react'; @@ -12,6 +12,7 @@ import { useSize } from 'ahooks'; export default () => { const ref = useRef(null); const size = useSize(ref); + return (

      Try to resize the preview window

      diff --git a/packages/hooks/src/useSize/demo/demo2.tsx b/packages/hooks/src/useSize/demo/demo2.tsx index 98d8b37277..8936c2114e 100644 --- a/packages/hooks/src/useSize/demo/demo2.tsx +++ b/packages/hooks/src/useSize/demo/demo2.tsx @@ -1,9 +1,9 @@ /** - * title: pass in the DOM element - * desc: useSize can receive a dom element as parameter. In SSR scenarios, you can pass in function `() => dom` + * title: Pass in the DOM element + * description: useSize can receive a dom element as parameter. In SSR scenarios, you can pass in function `() => dom`. * * title.zh-CN: 传入 DOM 元素 - * desc.zh-CN: useSize 可以接收 dom,在 SSR 场景可以传入函数 `() => dom` + * description.zh-CN: useSize 可以接收 dom,在 SSR 场景可以传入函数 `() => dom`。 */ import React from 'react'; @@ -11,6 +11,7 @@ import { useSize } from 'ahooks'; export default () => { const size = useSize(document.querySelector('body')); + return (

      Try to resize the preview window

      diff --git a/packages/hooks/src/useSize/index.en-US.md b/packages/hooks/src/useSize/index.en-US.md index 8d38060d2f..1f557e76b0 100644 --- a/packages/hooks/src/useSize/index.en-US.md +++ b/packages/hooks/src/useSize/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useSize +nav: Hooks +group: + title: Dom + order: 6 +order: 18 +toc: content +demo: + cols: 2 --- -# useSize - A hook that observes size change of an element. ## Examples -### Default usage - - - -### Pass in the DOM element - - + + ## API diff --git a/packages/hooks/src/useSize/index.ts b/packages/hooks/src/useSize/index.ts index 20a3de66a5..471d0194b2 100644 --- a/packages/hooks/src/useSize/index.ts +++ b/packages/hooks/src/useSize/index.ts @@ -7,12 +7,10 @@ import useIsomorphicLayoutEffectWithTarget from '../utils/useIsomorphicLayoutEff type Size = { width: number; height: number }; function useSize(target: BasicTarget): Size | undefined { - const [state, setState] = useRafState( - () => { - const el = getTargetElement(target); - return el ? { width: el.clientWidth, height: el.clientHeight } : undefined - }, - ); + const [state, setState] = useRafState(() => { + const el = getTargetElement(target); + return el ? { width: el.clientWidth, height: el.clientHeight } : undefined; + }); useIsomorphicLayoutEffectWithTarget( () => { diff --git a/packages/hooks/src/useSize/index.zh-CN.md b/packages/hooks/src/useSize/index.zh-CN.md index efd4c815f7..d7d26f0139 100644 --- a/packages/hooks/src/useSize/index.zh-CN.md +++ b/packages/hooks/src/useSize/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useSize +nav: Hooks +group: + title: Dom + order: 6 +order: 18 +toc: content +demo: + cols: 2 --- -# useSize - 监听 DOM 节点尺寸变化的 Hook。 ## 代码演示 -### 基础用法 - - - -### 传入 DOM 节点 - - + + ## API diff --git a/packages/hooks/src/useTextSelection/demo/demo1.tsx b/packages/hooks/src/useTextSelection/demo/demo1.tsx index ab3a0cb246..700f0a645b 100644 --- a/packages/hooks/src/useTextSelection/demo/demo1.tsx +++ b/packages/hooks/src/useTextSelection/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Default usage - * desc: Tracking content of user text selection + * description: Tracking content of user text selection * * title.zh-CN: 基础用法 - * desc.zh-CN: 实时获取页面上选择的文本 + * description.zh-CN: 实时获取页面上选择的文本 */ import React from 'react'; @@ -11,6 +11,7 @@ import { useTextSelection } from 'ahooks'; export default () => { const { text } = useTextSelection(); + return (

      You can select text all page.

      diff --git a/packages/hooks/src/useTextSelection/demo/demo2.tsx b/packages/hooks/src/useTextSelection/demo/demo2.tsx index 4d1a3bf75a..065caf311e 100644 --- a/packages/hooks/src/useTextSelection/demo/demo2.tsx +++ b/packages/hooks/src/useTextSelection/demo/demo2.tsx @@ -1,26 +1,32 @@ /** * title: Translate user text selection - * desc: Use Antd.Popover to translate user text selection + * description: Use Antd.Popover to translate user text selection. * * title.zh-CN: 划词翻译 - * desc.zh-CN: 配合 Popover 做划词翻译 + * description.zh-CN: 配合 Popover 做划词翻译。 */ -import { useRequest, useTextSelection } from 'ahooks'; -import { Popover, Spin } from 'antd'; import React, { useEffect, useState } from 'react'; +import { Popover, Spin } from 'antd'; +import { useRequest, useTextSelection } from 'ahooks'; const getResult = (keyword: string): Promise => { const trimedText = keyword.trim() !== ''; + if (!trimedText) { return Promise.resolve(''); } + return new Promise((resolve) => { setTimeout(() => resolve(`[translate result] ${keyword}`), 2000); }); }; export default () => { + const [open, setOpen] = useState(false); + const { data, run, loading } = useRequest(getResult, { + manual: true, + }); const { text = '', left = 0, @@ -29,12 +35,6 @@ export default () => { width = 0, } = useTextSelection(() => document.querySelector('#translate-dom')); - const [open, setOpen] = useState(false); - - const { data, run, loading } = useRequest(getResult, { - manual: true, - }); - useEffect(() => { if (text.trim() === '') { setOpen(false); @@ -46,7 +46,7 @@ export default () => { return (
      -

      +

      Translation of this paragraph;Translation of this paragraph;Translation of this paragraph;

      { const ref = useRef(null); const selection = useTextSelection(ref); + return (
      -
      +

      Please swipe your mouse to select any text on this paragraph.

      Result:{JSON.stringify(selection)}

      diff --git a/packages/hooks/src/useTextSelection/index.en-US.md b/packages/hooks/src/useTextSelection/index.en-US.md index 4b4714e0df..d119bc9e76 100644 --- a/packages/hooks/src/useTextSelection/index.en-US.md +++ b/packages/hooks/src/useTextSelection/index.en-US.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useTextSelection +nav: Hooks +group: + title: Scene + order: 2 +order: 12 +toc: content +demo: + cols: 2 --- -# useTextSelection - Tracking content, size, position of user text selection. ## Examples -### Default usage - - - -### Listen for specified area - - - -### Translate user text selection - - + + + ## API diff --git a/packages/hooks/src/useTextSelection/index.zh-CN.md b/packages/hooks/src/useTextSelection/index.zh-CN.md index 1140387223..d194a8fe0e 100644 --- a/packages/hooks/src/useTextSelection/index.zh-CN.md +++ b/packages/hooks/src/useTextSelection/index.zh-CN.md @@ -1,25 +1,22 @@ --- -nav: - path: /hooks +title: useTextSelection +nav: Hooks +group: + title: Scene + order: 2 +order: 12 +toc: content +demo: + cols: 2 --- -# useTextSelection - 实时获取用户当前选取的文本内容及位置。 ## 代码演示 -### 基础用法 - - - -### 监听特定区域文本选择 - - - -### 划词翻译 - - + + + ## API diff --git a/packages/hooks/src/useThrottle/demo/demo1.tsx b/packages/hooks/src/useThrottle/demo/demo1.tsx index fdf2762b11..f50d8e634a 100644 --- a/packages/hooks/src/useThrottle/demo/demo1.tsx +++ b/packages/hooks/src/useThrottle/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Default usage - * desc: ThrottledValue will change every 500ms. + * description: ThrottledValue will change every 500ms. * * title.zh-CN: 基础用法 - * desc.zh-CN: ThrottledValue 每隔 500ms 变化一次。 + * description.zh-CN: ThrottledValue 每隔 500ms 变化一次。 */ import React, { useState } from 'react'; +import { Input, Space } from 'antd'; import { useThrottle } from 'ahooks'; export default () => { @@ -14,14 +15,9 @@ export default () => { const throttledValue = useThrottle(value, { wait: 500 }); return ( -
      - setValue(e.target.value)} - placeholder="Typed value" - style={{ width: 280 }} - /> -

      throttledValue: {throttledValue}

      -
      + +

      throttled value: {throttledValue}

      + setValue(e.target.value)} placeholder="Typed value" /> +
      ); }; diff --git a/packages/hooks/src/useThrottle/index.en-US.md b/packages/hooks/src/useThrottle/index.en-US.md index 35e665352d..251d7eff2f 100644 --- a/packages/hooks/src/useThrottle/index.en-US.md +++ b/packages/hooks/src/useThrottle/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useThrottle +nav: Hooks +group: + title: State + order: 4 +order: 9 +toc: content +demo: + cols: 2 --- -# useThrottle - A hook that deal with the throttled value. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useThrottle/index.zh-CN.md b/packages/hooks/src/useThrottle/index.zh-CN.md index 3c05a4bf44..a0944ac87a 100644 --- a/packages/hooks/src/useThrottle/index.zh-CN.md +++ b/packages/hooks/src/useThrottle/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useThrottle +nav: Hooks +group: + title: State + order: 4 +order: 9 +toc: content +demo: + cols: 2 --- -# useThrottle - 用来处理节流值的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useThrottleEffect/demo/demo1.tsx b/packages/hooks/src/useThrottleEffect/demo/demo1.tsx index 363fb94ac9..605ceca623 100644 --- a/packages/hooks/src/useThrottleEffect/demo/demo1.tsx +++ b/packages/hooks/src/useThrottleEffect/demo/demo1.tsx @@ -1,9 +1,19 @@ +/** + * title: Basic usage + * description: + * + * title.zh-CN: 基础用法 + * description.zh-CN: + */ + import React, { useState } from 'react'; +import { Input } from 'antd'; import { useThrottleEffect } from 'ahooks'; export default () => { const [value, setValue] = useState('hello'); const [records, setRecords] = useState([]); + useThrottleEffect( () => { setRecords((val) => [...val, value]); @@ -13,21 +23,20 @@ export default () => { wait: 1000, }, ); + return (
      - setValue(e.target.value)} placeholder="Typed value" - style={{ width: 280 }} /> -

      -

        - {records.map((record, index) => ( -
      • {record}
      • - ))} -
      -

      +
        + {records.map((record, index) => ( +
      • {record}
      • + ))} +
      ); }; diff --git a/packages/hooks/src/useThrottleEffect/index.en-US.md b/packages/hooks/src/useThrottleEffect/index.en-US.md index be639fa910..27c1790231 100644 --- a/packages/hooks/src/useThrottleEffect/index.en-US.md +++ b/packages/hooks/src/useThrottleEffect/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useThrottleEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 7 +toc: content +demo: + cols: 2 --- -# useThrottleEffect - Throttle your `useEffect`. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useThrottleEffect/index.zh-CN.md b/packages/hooks/src/useThrottleEffect/index.zh-CN.md index 466fda2a80..4f86c8bd0e 100644 --- a/packages/hooks/src/useThrottleEffect/index.zh-CN.md +++ b/packages/hooks/src/useThrottleEffect/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useThrottleEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 7 +toc: content +demo: + cols: 2 --- -# useThrottleEffect - 为 `useEffect` 增加节流的能力。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useThrottleFn/demo/demo1.tsx b/packages/hooks/src/useThrottleFn/demo/demo1.tsx index a5781b3200..46772ca936 100644 --- a/packages/hooks/src/useThrottleFn/demo/demo1.tsx +++ b/packages/hooks/src/useThrottleFn/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Default usage - * desc: Frequent calls run, but the function is only executed every 500ms. + * description: Frequent calls run, but the function is only executed every 500ms. * * title.zh-CN: 基础用法 - * desc.zh-CN: 频繁调用 run,但只会每隔 500ms 执行一次相关函数。 + * description.zh-CN: 频繁调用 run,但只会每隔 500ms 执行一次相关函数。 */ import React, { useState } from 'react'; +import { Button } from 'antd'; import { useThrottleFn } from 'ahooks'; export default () => { @@ -20,10 +21,10 @@ export default () => { return (
      -

      Clicked count: {value}

      - +
      ); }; diff --git a/packages/hooks/src/useThrottleFn/index.en-US.md b/packages/hooks/src/useThrottleFn/index.en-US.md index 03cbf27f71..8dc0fa6db6 100644 --- a/packages/hooks/src/useThrottleFn/index.en-US.md +++ b/packages/hooks/src/useThrottleFn/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useThrottleFn +nav: Hooks +group: + title: Effect + order: 5 +order: 6 +toc: content +demo: + cols: 2 --- -# useThrottleFn - A hook that deal with the throttled function. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useThrottleFn/index.zh-CN.md b/packages/hooks/src/useThrottleFn/index.zh-CN.md index a7bc33669f..d99d20a6e7 100644 --- a/packages/hooks/src/useThrottleFn/index.zh-CN.md +++ b/packages/hooks/src/useThrottleFn/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useThrottleFn +nav: Hooks +group: + title: Effect + order: 5 +order: 6 +toc: content +demo: + cols: 2 --- -# useThrottleFn - 用来处理函数节流的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useTimeout/demo/demo1.tsx b/packages/hooks/src/useTimeout/demo/demo1.tsx index 912b385aaf..69e6e411a7 100644 --- a/packages/hooks/src/useTimeout/demo/demo1.tsx +++ b/packages/hooks/src/useTimeout/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: Execute once after 3000ms + * description: Execute once after 3000ms * * title.zh-CN: 基础用法 - * desc.zh-CN: 3000ms 后执行一次 + * description.zh-CN: 3000ms 后执行一次 */ import React, { useState } from 'react'; @@ -11,6 +11,7 @@ import { useTimeout } from 'ahooks'; export default () => { const [state, setState] = useState(1); + useTimeout(() => { setState(state + 1); }, 3000); diff --git a/packages/hooks/src/useTimeout/demo/demo2.tsx b/packages/hooks/src/useTimeout/demo/demo2.tsx index b4b5914661..4c09c183d1 100644 --- a/packages/hooks/src/useTimeout/demo/demo2.tsx +++ b/packages/hooks/src/useTimeout/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Advanced usage - * desc: Modify the delay to realize the timer timeout change and pause. + * description: Modify the delay to realize the timer timeout change and pause. * * title.zh-CN: 进阶使用 - * desc.zh-CN: 动态修改 delay 以实现定时器间隔变化与暂停。 + * description.zh-CN: 动态修改 delay 以实现定时器间隔变化与暂停。 */ import React, { useState } from 'react'; +import { Button, Space } from 'antd'; import { useTimeout } from 'ahooks'; export default () => { @@ -19,20 +20,13 @@ export default () => { return (
      -

      count: {count}

      -

      Delay: {delay}

      - - - +

      count: {count}

      +

      delay: {delay}

      + + + + +
      ); }; diff --git a/packages/hooks/src/useTimeout/index.en-US.md b/packages/hooks/src/useTimeout/index.en-US.md index 2fbe0fb123..077e11ef34 100644 --- a/packages/hooks/src/useTimeout/index.en-US.md +++ b/packages/hooks/src/useTimeout/index.en-US.md @@ -1,18 +1,21 @@ --- -nav: - path: /hooks +title: useTimeout +nav: Hooks +group: + title: Effect + order: 5 +order: 12 +toc: content +demo: + cols: 2 --- -# useTimeout - A hook that handles the `setTimeout` timer function. ## Examples -### Default usage - - - + + ## API diff --git a/packages/hooks/src/useTimeout/index.zh-CN.md b/packages/hooks/src/useTimeout/index.zh-CN.md index a1a0b45210..d6d0513734 100644 --- a/packages/hooks/src/useTimeout/index.zh-CN.md +++ b/packages/hooks/src/useTimeout/index.zh-CN.md @@ -1,18 +1,21 @@ --- -nav: - path: /hooks +title: useTimeout +nav: Hooks +group: + title: Effect + order: 5 +order: 12 +toc: content +demo: + cols: 2 --- -# useTimeout - 一个可以处理 setTimeout 计时器函数的 Hook。 ## 代码演示 -### 基础用法 - - - + + ## API diff --git a/packages/hooks/src/useTitle/demo/demo1.tsx b/packages/hooks/src/useTitle/demo/demo1.tsx index 07fd5befa5..5c330740fa 100644 --- a/packages/hooks/src/useTitle/demo/demo1.tsx +++ b/packages/hooks/src/useTitle/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Basic usage - * desc: Set title of the page. + * description: Set title of the page. * * title.zh-CN: 基础用法 - * desc.zh-CN: 设置页面标题 + * description.zh-CN: 设置页面标题。 */ import React from 'react'; @@ -12,9 +12,5 @@ import { useTitle } from 'ahooks'; export default () => { useTitle('Page Title'); - return ( -
      -

      Set title of the page.

      -
      - ); + return

      Set title of the page.

      ; }; diff --git a/packages/hooks/src/useTitle/index.en-US.md b/packages/hooks/src/useTitle/index.en-US.md index 781249cab1..f5b2d6d0d7 100644 --- a/packages/hooks/src/useTitle/index.en-US.md +++ b/packages/hooks/src/useTitle/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useTitle +nav: Hooks +group: + title: Dom + order: 6 +order: 7 +toc: content +demo: + cols: 2 --- -# useTitle - A hook that set title of the page. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useTitle/index.zh-CN.md b/packages/hooks/src/useTitle/index.zh-CN.md index 70e56d48fa..9aaea3e444 100644 --- a/packages/hooks/src/useTitle/index.zh-CN.md +++ b/packages/hooks/src/useTitle/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useTitle +nav: Hooks +group: + title: Dom + order: 6 +order: 7 +toc: content +demo: + cols: 2 --- -# useTitle - 用于设置页面标题。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useToggle/demo/demo1.tsx b/packages/hooks/src/useToggle/demo/demo1.tsx index 1f8a5ba284..12905d1a27 100644 --- a/packages/hooks/src/useToggle/demo/demo1.tsx +++ b/packages/hooks/src/useToggle/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Basic usage - * desc: Default value is boolean,alike useBoolean. + * description: Default value is boolean,alike useBoolean. * * title.zh-CN: 基础用法 - * desc.zh-CN: 默认为 boolean 切换,基础用法与 useBoolean 一致。 + * description.zh-CN: 默认为 boolean 切换,基础用法与 useBoolean 一致。 */ import React from 'react'; +import { Button, Space } from 'antd'; import { useToggle } from 'ahooks'; export default () => { @@ -14,18 +15,12 @@ export default () => { return (
      -

      Effects:{`${state}`}

      -

      - - - -

      +

      effects: {`${state}`}

      + + + + +
      ); }; diff --git a/packages/hooks/src/useToggle/demo/demo2.tsx b/packages/hooks/src/useToggle/demo/demo2.tsx index 29a1b15c25..ce71b2484a 100644 --- a/packages/hooks/src/useToggle/demo/demo2.tsx +++ b/packages/hooks/src/useToggle/demo/demo2.tsx @@ -1,12 +1,13 @@ /** * title: Toggle between any two values - * desc: Accept two optional parameters and toggle between them. + * description: Accept two optional parameters and toggle between them. * * title.zh-CN: 在任意两个值之间切换 - * desc.zh-CN: 接受两个可选参数,在它们之间进行切换。 + * description.zh-CN: 接受两个可选参数,在它们之间进行切换。 */ import React from 'react'; +import { Button, Space } from 'antd'; import { useToggle } from 'ahooks'; export default () => { @@ -14,24 +15,14 @@ export default () => { return (
      -

      Effects:{state}

      -

      - - - - - -

      +

      effects: {state}

      + + + + + + +
      ); }; diff --git a/packages/hooks/src/useToggle/index.en-US.md b/packages/hooks/src/useToggle/index.en-US.md index a77dadd619..0b8581c913 100644 --- a/packages/hooks/src/useToggle/index.en-US.md +++ b/packages/hooks/src/useToggle/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useToggle +nav: Hooks +group: + title: State + order: 4 +order: 3 +toc: content +demo: + cols: 2 --- -# useToggle - A hook that toggle states. ## Examples -### Default usage - - - -### Advanced usage - - + + ## API diff --git a/packages/hooks/src/useToggle/index.zh-CN.md b/packages/hooks/src/useToggle/index.zh-CN.md index e7446eb823..e68db78cee 100644 --- a/packages/hooks/src/useToggle/index.zh-CN.md +++ b/packages/hooks/src/useToggle/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useToggle +nav: Hooks +group: + title: State + order: 4 +order: 3 +toc: content +demo: + cols: 2 --- -# useToggle - 用于在两个状态值间切换的 Hook。 ## 代码演示 -### 基础用法 - - - -### 高级用法 - - + + ## API diff --git a/packages/hooks/src/useTrackedEffect/demo/demo1.tsx b/packages/hooks/src/useTrackedEffect/demo/demo1.tsx index e18e7ec51c..925efd82c4 100644 --- a/packages/hooks/src/useTrackedEffect/demo/demo1.tsx +++ b/packages/hooks/src/useTrackedEffect/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Default usage - * desc: Display the changed deps when effect function is executed. + * description: Display the changed deps when effect function is executed. * * title.zh-CN: 基础用法 - * desc.zh-CN: 查看每次 effect 执行时发生变化的依赖项 + * description.zh-CN: 查看每次 effect 执行时发生变化的依赖项 */ import React, { useState } from 'react'; +import { Button } from 'antd'; import { useTrackedEffect } from 'ahooks'; export default () => { @@ -22,14 +23,14 @@ export default () => { return (
      -

      Please open the browser console to view the output!

      -
      +

      Please open the browser console to view the output!

      +
      +

      Count: {count}

      -
      -
      +
      +

      Count2: {count2}

      -
      ); diff --git a/packages/hooks/src/useTrackedEffect/index.en-US.md b/packages/hooks/src/useTrackedEffect/index.en-US.md index 9e9195953a..006fdc5dbf 100644 --- a/packages/hooks/src/useTrackedEffect/index.en-US.md +++ b/packages/hooks/src/useTrackedEffect/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useTrackedEffect +nav: Hooks +group: + title: Dev + order: 8 +order: 1 +toc: content +demo: + cols: 2 --- -# useTrackedEffect - A hook of useEffect that allow us to track which dependencies caused the effect to trigger. ## Examples -### Basic usage - - + ## API diff --git a/packages/hooks/src/useTrackedEffect/index.ts b/packages/hooks/src/useTrackedEffect/index.ts index f3cf7305d0..675479fff3 100644 --- a/packages/hooks/src/useTrackedEffect/index.ts +++ b/packages/hooks/src/useTrackedEffect/index.ts @@ -16,8 +16,8 @@ const diffTwoDeps = (deps1?: DependencyList, deps2?: DependencyList) => { .map((_ele, idx) => (!Object.is(deps1[idx], deps2?.[idx]) ? idx : -1)) .filter((ele) => ele >= 0) : deps2 - ? deps2.map((_ele, idx) => idx) - : []; + ? deps2.map((_ele, idx) => idx) + : []; }; const useTrackedEffect = (effect: Effect, deps?: [...T]) => { diff --git a/packages/hooks/src/useTrackedEffect/index.zh-CN.md b/packages/hooks/src/useTrackedEffect/index.zh-CN.md index 997a2749e3..03c19c6d62 100644 --- a/packages/hooks/src/useTrackedEffect/index.zh-CN.md +++ b/packages/hooks/src/useTrackedEffect/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useTrackedEffect +nav: Hooks +group: + title: Dev + order: 8 +order: 1 +toc: content +demo: + cols: 2 --- -# useTrackedEffect - 追踪是哪个依赖变化触发了 `useEffect` 的执行。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useUnmount/demo/demo1.tsx b/packages/hooks/src/useUnmount/demo/demo1.tsx index 7296c71f6d..ef373d445c 100644 --- a/packages/hooks/src/useUnmount/demo/demo1.tsx +++ b/packages/hooks/src/useUnmount/demo/demo1.tsx @@ -1,14 +1,14 @@ /** * title: Basic usage - * desc: The function is called right before the component is unmounted. + * description: The function is called right before the component is unmounted. * * title.zh-CN: 基础用法 - * desc.zh-CN: 在组件卸载时,执行函数。 + * description.zh-CN: 在组件卸载时,执行函数。 */ -import { useBoolean, useUnmount } from 'ahooks'; -import { message } from 'antd'; import React from 'react'; +import { Button, message } from 'antd'; +import { useBoolean, useUnmount } from 'ahooks'; const MyComponent = () => { useUnmount(() => { @@ -23,9 +23,9 @@ export default () => { return ( <> - + {state && } ); diff --git a/packages/hooks/src/useUnmount/index.en-US.md b/packages/hooks/src/useUnmount/index.en-US.md index ccc58cc877..60b5e6c2f5 100644 --- a/packages/hooks/src/useUnmount/index.en-US.md +++ b/packages/hooks/src/useUnmount/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUnmount +nav: Hooks +group: + title: LifeCycle + order: 3 +order: 2 +toc: content +demo: + cols: 2 --- -# useUnmount - A hook that executes the function right before the component is unmounted. ## Examples -### Default Usage - - + ## API diff --git a/packages/hooks/src/useUnmount/index.zh-CN.md b/packages/hooks/src/useUnmount/index.zh-CN.md index 8f5e24e9c1..4235ad5116 100644 --- a/packages/hooks/src/useUnmount/index.zh-CN.md +++ b/packages/hooks/src/useUnmount/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUnmount +nav: Hooks +group: + title: LifeCycle + order: 3 +order: 2 +toc: content +demo: + cols: 2 --- -# useUnmount - 在组件卸载(unmount)时执行的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useUnmountedRef/demo/demo1.tsx b/packages/hooks/src/useUnmountedRef/demo/demo1.tsx index d1e3e80edc..90a982a7e7 100644 --- a/packages/hooks/src/useUnmountedRef/demo/demo1.tsx +++ b/packages/hooks/src/useUnmountedRef/demo/demo1.tsx @@ -1,17 +1,18 @@ /** * title: Default usage - * desc: unmountedRef.current means whether the component is unmounted + * description: unmountedRef.current means whether the component is unmounted. * * title.zh-CN: 基础用法 - * desc.zh-CN: unmountedRef.current 代表组件是否已经卸载 + * description.zh-CN: unmountedRef.current 代表组件是否已经卸载。 */ -import { useBoolean, useUnmountedRef } from 'ahooks'; -import { message } from 'antd'; import React, { useEffect } from 'react'; +import { Button, message } from 'antd'; +import { useBoolean, useUnmountedRef } from 'ahooks'; const MyComponent = () => { const unmountedRef = useUnmountedRef(); + useEffect(() => { setTimeout(() => { if (!unmountedRef.current) { @@ -28,9 +29,9 @@ export default () => { return ( <> - + {state && } ); diff --git a/packages/hooks/src/useUnmountedRef/index.en-US.md b/packages/hooks/src/useUnmountedRef/index.en-US.md index 217e75e053..2351b2c62b 100644 --- a/packages/hooks/src/useUnmountedRef/index.en-US.md +++ b/packages/hooks/src/useUnmountedRef/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUnmountedRef +nav: Hooks +group: + title: LifeCycle + order: 3 +order: 3 +toc: content +demo: + cols: 2 --- -# useUnmountedRef - A Hook can be used to get whether the component is unmounted. ## Examples -### Default Usage - - + ## API diff --git a/packages/hooks/src/useUnmountedRef/index.zh-CN.md b/packages/hooks/src/useUnmountedRef/index.zh-CN.md index b6afb6e81c..916bbf0419 100644 --- a/packages/hooks/src/useUnmountedRef/index.zh-CN.md +++ b/packages/hooks/src/useUnmountedRef/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUnmountedRef +nav: Hooks +group: + title: LifeCycle + order: 3 +order: 3 +toc: content +demo: + cols: 2 --- -# useUnmountedRef - 获取当前组件是否已经卸载的 Hook。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useUpdate/demo/demo1.tsx b/packages/hooks/src/useUpdate/demo/demo1.tsx index 3dc6af9f59..f9ac031295 100644 --- a/packages/hooks/src/useUpdate/demo/demo1.tsx +++ b/packages/hooks/src/useUpdate/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Basic usage - * desc: Forces component to re-render. + * description: Forces component to re-render. * * title.zh-CN: 基础用法 - * desc.zh-CN: 强制组件重新渲染。 + * description.zh-CN: 强制组件重新渲染。 */ import React from 'react'; +import { Button } from 'antd'; import { useUpdate } from 'ahooks'; export default () => { @@ -15,9 +16,9 @@ export default () => { return ( <>
      Time: {Date.now()}
      - + ); }; diff --git a/packages/hooks/src/useUpdate/index.en-US.md b/packages/hooks/src/useUpdate/index.en-US.md index 05b22ae85f..0212a6e5a2 100644 --- a/packages/hooks/src/useUpdate/index.en-US.md +++ b/packages/hooks/src/useUpdate/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUpdate +nav: Hooks +group: + title: Effect + order: 5 +order: 15 +toc: content +demo: + cols: 2 --- -# useUpdate - A hook that returns a function which can be used to force the component to re-render. ## Examples -### Default Usage - - + ## API diff --git a/packages/hooks/src/useUpdate/index.zh-CN.md b/packages/hooks/src/useUpdate/index.zh-CN.md index 344b79242f..d66ac223d6 100644 --- a/packages/hooks/src/useUpdate/index.zh-CN.md +++ b/packages/hooks/src/useUpdate/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUpdate +nav: Hooks +group: + title: Effect + order: 5 +order: 15 +toc: content +demo: + cols: 2 --- -# useUpdate - useUpdate 会返回一个函数,调用该函数会强制组件重新渲染。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useUpdateEffect/demo/demo1.tsx b/packages/hooks/src/useUpdateEffect/demo/demo1.tsx index 1dbd7d5926..20c2957ae1 100644 --- a/packages/hooks/src/useUpdateEffect/demo/demo1.tsx +++ b/packages/hooks/src/useUpdateEffect/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Basic usage - * desc: This hook is exactly the same as useEffect, except it skips running the effect for the first time. + * description: This hook is exactly the same as useEffect, except it skips running the effect for the first time. * * title.zh-CN: 基础用法 - * desc.zh-CN: 使用上与 useEffect 完全相同,只是它忽略了首次执行,只在依赖项更新时执行。 + * description.zh-CN: 使用上与 useEffect 完全相同,只是它忽略了首次执行,只在依赖项更新时执行。 */ import React, { useEffect, useState } from 'react'; +import { Button } from 'antd'; import { useUpdateEffect } from 'ahooks'; export default () => { @@ -20,6 +21,7 @@ export default () => { useUpdateEffect(() => { setUpdateEffectCount((c) => c + 1); + return () => { // do something }; @@ -29,11 +31,9 @@ export default () => {

      effectCount: {effectCount}

      updateEffectCount: {updateEffectCount}

      -

      - -

      +
      ); }; diff --git a/packages/hooks/src/useUpdateEffect/index.en-US.md b/packages/hooks/src/useUpdateEffect/index.en-US.md index 0009d41d77..2104245060 100644 --- a/packages/hooks/src/useUpdateEffect/index.en-US.md +++ b/packages/hooks/src/useUpdateEffect/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUpdateEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 1 +toc: content +demo: + cols: 2 --- -# useUpdateEffect - A hook alike `useEffect` but skips running the effect for the first time. ## Examples -### Basic usage - - + ## API diff --git a/packages/hooks/src/useUpdateEffect/index.zh-CN.md b/packages/hooks/src/useUpdateEffect/index.zh-CN.md index 5172c3c88c..ccc92c8e72 100644 --- a/packages/hooks/src/useUpdateEffect/index.zh-CN.md +++ b/packages/hooks/src/useUpdateEffect/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUpdateEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 1 +toc: content +demo: + cols: 2 --- -# useUpdateEffect - `useUpdateEffect` 用法等同于 `useEffect`,但是会忽略首次执行,只在依赖更新时执行。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useUpdateLayoutEffect/demo/demo1.tsx b/packages/hooks/src/useUpdateLayoutEffect/demo/demo1.tsx index b0fae8b409..cd4196c8e0 100644 --- a/packages/hooks/src/useUpdateLayoutEffect/demo/demo1.tsx +++ b/packages/hooks/src/useUpdateLayoutEffect/demo/demo1.tsx @@ -1,12 +1,13 @@ /** * title: Basic usage - * desc: This hook is exactly the same as useLayoutEffect, except it skips running the effect for the first time. + * description: This hook is exactly the same as useLayoutEffect, except it skips running the effect for the first time. * * title.zh-CN: 基础用法 - * desc.zh-CN: 使用上与 useLayoutEffect 完全相同,只是它忽略了首次执行,且只在依赖项更新时执行。 + * description.zh-CN: 使用上与 useLayoutEffect 完全相同,只是它忽略了首次执行,且只在依赖项更新时执行。 */ import React, { useLayoutEffect, useState } from 'react'; +import { Button } from 'antd'; import { useUpdateLayoutEffect } from 'ahooks'; export default () => { @@ -20,6 +21,7 @@ export default () => { useUpdateLayoutEffect(() => { setUpdateLayoutEffectCount((c) => c + 1); + return () => { // do something }; @@ -29,11 +31,9 @@ export default () => {

      layoutEffectCount: {layoutEffectCount}

      updateLayoutEffectCount: {updateLayoutEffectCount}

      -

      - -

      +
      ); }; diff --git a/packages/hooks/src/useUpdateLayoutEffect/index.en-US.md b/packages/hooks/src/useUpdateLayoutEffect/index.en-US.md index 2ff426cb40..95a26ae7fb 100644 --- a/packages/hooks/src/useUpdateLayoutEffect/index.en-US.md +++ b/packages/hooks/src/useUpdateLayoutEffect/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUpdateLayoutEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 2 +toc: content +demo: + cols: 2 --- -# useUpdateLayoutEffect - A hook alike `useLayoutEffect` but skips running the effect for the first time. ## Examples -### Basic usage - - + ## API diff --git a/packages/hooks/src/useUpdateLayoutEffect/index.zh-CN.md b/packages/hooks/src/useUpdateLayoutEffect/index.zh-CN.md index c08b35aece..9ade59743a 100644 --- a/packages/hooks/src/useUpdateLayoutEffect/index.zh-CN.md +++ b/packages/hooks/src/useUpdateLayoutEffect/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useUpdateLayoutEffect +nav: Hooks +group: + title: Effect + order: 5 +order: 2 +toc: content +demo: + cols: 2 --- -# useUpdateLayoutEffect - `useUpdateLayoutEffect` 用法等同于 `useLayoutEffect`,但是会忽略首次执行,只在依赖更新时执行。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/src/useVirtualList/demo/demo1.tsx b/packages/hooks/src/useVirtualList/demo/demo1.tsx index e825fca182..671e67b552 100644 --- a/packages/hooks/src/useVirtualList/demo/demo1.tsx +++ b/packages/hooks/src/useVirtualList/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Default usage - * desc: render 100,000 items in a list. + * description: render 100,000 items in a list. * * title.zh-CN: 基础用法 - * desc.zh-CN: 渲染大量数据 + * description.zh-CN: 渲染大量数据。 */ import React, { useMemo, useRef } from 'react'; @@ -21,9 +21,13 @@ export default () => { itemHeight: 60, overscan: 10, }); + return ( <> -
      +
      {list.map((ele) => (
      { const containerRef = useRef(null); @@ -26,24 +27,15 @@ export default () => { return (
      -
      - + onChange(Number(e.target.value))} + onChange={(val) => onChange(Number(val))} /> - -
      + +
      {list.map((ele) => ( @@ -53,7 +45,8 @@ export default () => { display: 'flex', justifyContent: 'center', alignItems: 'center', - border: '1px solid #e8e8e8', + border: '1px dashed #ccc', + borderRadius: 4, marginBottom: 8, }} key={ele.index} diff --git a/packages/hooks/src/useVirtualList/index.en-US.md b/packages/hooks/src/useVirtualList/index.en-US.md index 7129c8c367..d85bccb9e6 100644 --- a/packages/hooks/src/useVirtualList/index.en-US.md +++ b/packages/hooks/src/useVirtualList/index.en-US.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useVirtualList +nav: Hooks +group: + title: Scene + order: 2 +order: 6 +toc: content +demo: + cols: 2 --- -# useVirtualList - A hook that allows you to use virtual list to render huge chunks of list data. ## Examples -### Default usage - - - -### Dynamic item height - - + + ## API diff --git a/packages/hooks/src/useVirtualList/index.zh-CN.md b/packages/hooks/src/useVirtualList/index.zh-CN.md index 62e2082b12..40b33bee68 100644 --- a/packages/hooks/src/useVirtualList/index.zh-CN.md +++ b/packages/hooks/src/useVirtualList/index.zh-CN.md @@ -1,21 +1,21 @@ --- -nav: - path: /hooks +title: useVirtualList +nav: Hooks +group: + title: Scene + order: 2 +order: 6 +toc: content +demo: + cols: 2 --- -# useVirtualList - 提供虚拟化列表能力的 Hook,用于解决展示海量数据渲染时首屏渲染缓慢和滚动卡顿问题。 ## 代码演示 -### 基础用法 - - - -### 动态元素高度 - - + + ## API diff --git a/packages/hooks/src/useWebSocket/demo/demo1.tsx b/packages/hooks/src/useWebSocket/demo/demo1.tsx index 3d7973d9b3..bcac1f65f1 100644 --- a/packages/hooks/src/useWebSocket/demo/demo1.tsx +++ b/packages/hooks/src/useWebSocket/demo/demo1.tsx @@ -1,5 +1,14 @@ +/** + * title: Basic usage + * description: + * + * title.zh-CN: 基础用法 + * description.zh-CN: + */ + import React, { useRef, useMemo } from 'react'; import { useWebSocket } from 'ahooks'; +import { Button, Space } from 'antd'; enum ReadyState { Connecting = 0, @@ -21,29 +30,9 @@ export default () => { ); return ( -
      - {/* send message */} - - {/* disconnect */} - - {/* connect */} - -
      readyState: {readyState}
      -
      + <> +
      readyState: {readyState}
      +

      received message:

      {messageHistory.current.map((message, index) => (

      @@ -51,6 +40,26 @@ export default () => {

      ))}
      -
      + + {/* send message */} + + {/* disconnect */} + + {/* connect */} + + + ); }; diff --git a/packages/hooks/src/useWebSocket/index.en-US.md b/packages/hooks/src/useWebSocket/index.en-US.md index 763a18681e..a3acfb51f1 100644 --- a/packages/hooks/src/useWebSocket/index.en-US.md +++ b/packages/hooks/src/useWebSocket/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useWebSocket +nav: Hooks +group: + title: Scene + order: 2 +order: 13 +toc: content +demo: + cols: 2 --- -# useWebSocket - A hook for WebSocket. ## Examples -### Default usage - - + ## API @@ -52,7 +55,7 @@ useWebSocket(socketUrl: string, options?: Options): Result; | socketUrl | Required, webSocket url | `string` | - | | options | connect the configuration item | `Options` | - | -#### Options +### Options | Options Property | Description | Type | Default | | ----------------- | ---------------------------------- | ---------------------------------------------------------------------- | ------- | diff --git a/packages/hooks/src/useWebSocket/index.zh-CN.md b/packages/hooks/src/useWebSocket/index.zh-CN.md index 4d7f52a84d..b5d12c9814 100644 --- a/packages/hooks/src/useWebSocket/index.zh-CN.md +++ b/packages/hooks/src/useWebSocket/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useWebSocket +nav: Hooks +group: + title: Scene + order: 2 +order: 13 +toc: content +demo: + cols: 2 --- -# useWebSocket - 用于处理 WebSocket 的 Hook。 ## 代码演示 -### 基础用法 - - + ## API @@ -52,7 +55,7 @@ useWebSocket(socketUrl: string, options?: Options): Result; | socketUrl | 必填,webSocket 地址 | `string` | - | | options | 可选,连接配置项 | `Options` | - | -#### Options +### Options | 参数 | 说明 | 类型 | 默认值 | | ----------------- | ---------------------- | ---------------------------------------------------------------------- | ------- | diff --git a/packages/hooks/src/useWhyDidYouUpdate/demo/demo1.tsx b/packages/hooks/src/useWhyDidYouUpdate/demo/demo1.tsx index ee1c86f581..37facb6bcc 100644 --- a/packages/hooks/src/useWhyDidYouUpdate/demo/demo1.tsx +++ b/packages/hooks/src/useWhyDidYouUpdate/demo/demo1.tsx @@ -1,13 +1,14 @@ /** * title: Default usage - * desc: Update state or props, you can see the output in the console + * description: Update state or props, you can see the output in the console. * * title.zh-CN: 基础用法 - * desc.zh-CN: 更新 state 或 props,可以在控制台看到输出 + * description.zh-CN: 更新 state 或 props,可以在控制台看到输出。 */ -import { useWhyDidYouUpdate } from 'ahooks'; import React, { useState } from 'react'; +import { Button, Space } from 'antd'; +import { useWhyDidYouUpdate } from 'ahooks'; const Demo: React.FC<{ count: number }> = (props) => { const [randomNum, setRandomNum] = useState(Math.random()); @@ -19,12 +20,10 @@ const Demo: React.FC<{ count: number }> = (props) => {
      number: {props.count}
      -
      + randomNum: {randomNum} - -
      + +
      ); }; @@ -35,13 +34,13 @@ export default () => { return (
      -
      - - + -
      -

      Please open the browser console to view the output!

      + + +

      Please open the browser console to view the output!

      ); }; diff --git a/packages/hooks/src/useWhyDidYouUpdate/index.en-US.md b/packages/hooks/src/useWhyDidYouUpdate/index.en-US.md index e02e375780..c70250d228 100644 --- a/packages/hooks/src/useWhyDidYouUpdate/index.en-US.md +++ b/packages/hooks/src/useWhyDidYouUpdate/index.en-US.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useWhyDidYouUpdate +nav: Hooks +group: + title: Dev + order: 8 +order: 2 +toc: content +demo: + cols: 2 --- -# useWhyDidYouUpdate - Help developers troubleshoot what changes have caused component rerender. ## Examples -### Default usage - - + ## API diff --git a/packages/hooks/src/useWhyDidYouUpdate/index.zh-CN.md b/packages/hooks/src/useWhyDidYouUpdate/index.zh-CN.md index 9a43faea06..f7e9ad3a28 100644 --- a/packages/hooks/src/useWhyDidYouUpdate/index.zh-CN.md +++ b/packages/hooks/src/useWhyDidYouUpdate/index.zh-CN.md @@ -1,17 +1,20 @@ --- -nav: - path: /hooks +title: useWhyDidYouUpdate +nav: Hooks +group: + title: Dev + order: 8 +order: 2 +toc: content +demo: + cols: 2 --- -# useWhyDidYouUpdate - 帮助开发者排查是哪个属性改变导致了组件的 rerender。 ## 代码演示 -### 基础用法 - - + ## API diff --git a/packages/hooks/tsconfig.json b/packages/hooks/tsconfig.json index 04dc211e11..34058b8024 100644 --- a/packages/hooks/tsconfig.json +++ b/packages/hooks/tsconfig.json @@ -4,7 +4,12 @@ "rootDir": "src", "outDir": "lib", "composite": true, - "declaration": true + "declaration": true, + "paths": { + "@@/*": [".dumi/tmp/*"], + "ahooks": ["packages/hooks/src/index.ts"], + "ahooks/es/*": ["packages/hooks/src/*"] + } }, "include": ["src"] } diff --git a/packages/use-url-state/README.md b/packages/use-url-state/README.md deleted file mode 100644 index a190001770..0000000000 --- a/packages/use-url-state/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# useUrlState - -A hook that stores the state into url query parameters. - -## Installing - -Inside your React project directory, run the following: - -```bash -yarn add @ahooksjs/use-url-state -S -``` - -Or with npm: - -```bash -npm install @ahooksjs/use-url-state -S -``` - -Or with pnpm - -```bash -pnpm add @ahooksjs/use-url-state -``` - -Or with Bun - -```bash -bun add @ahooksjs/use-url-state -``` - -## Example - -```javascript -import useUrlState from '@ahooksjs/use-url-state'; - -const [state, setState] = useUrlState({ demoCount: '1' }); -``` - -## Documentation - -https://ahooks.js.org/hooks/state/use-url-state diff --git a/packages/use-url-state/use-url-state.en-US.md b/packages/use-url-state/index.en-US.md similarity index 87% rename from packages/use-url-state/use-url-state.en-US.md rename to packages/use-url-state/index.en-US.md index e816649f39..54e4a46dd9 100644 --- a/packages/use-url-state/use-url-state.en-US.md +++ b/packages/use-url-state/index.en-US.md @@ -1,12 +1,15 @@ --- -nav: - path: /hooks +title: useUrlState +nav: Hooks group: - path: / + title: State + order: 4 +order: 4 +toc: content +demo: + cols: 2 --- -# useUrlState - A hook that store the state into url query. ## Install @@ -37,19 +40,19 @@ React Router V6:https://codesandbox.io/s/autumn-shape-odrt9?file=/App.tsx ### Default usage - + ### Multi-state management - + ### Multi-state management (split) - + ### Custom query-string options - + ## API diff --git a/packages/use-url-state/use-url-state.zh-CN.md b/packages/use-url-state/index.zh-CN.md similarity index 87% rename from packages/use-url-state/use-url-state.zh-CN.md rename to packages/use-url-state/index.zh-CN.md index d9d44ec491..981b486870 100644 --- a/packages/use-url-state/use-url-state.zh-CN.md +++ b/packages/use-url-state/index.zh-CN.md @@ -1,12 +1,15 @@ --- -nav: - path: /hooks +title: useUrlState +nav: Hooks group: - path: / + title: State + order: 4 +order: 4 +toc: content +demo: + cols: 2 --- -# useUrlState - 通过 url query 来管理 state 的 Hook。 ## 安装 @@ -37,19 +40,19 @@ React Router V6:https://codesandbox.io/s/autumn-shape-odrt9?file=/App.tsx ### 基础用法 - + ### 多状态管理 - + ### 多状态管理(拆分) - + ### 自定义 query-string 配置 - + ## API diff --git a/packages/use-url-state/demo/demo1.tsx b/packages/use-url-state/src/demo/demo1.tsx similarity index 66% rename from packages/use-url-state/demo/demo1.tsx rename to packages/use-url-state/src/demo/demo1.tsx index faa627e27e..83d11ed54c 100644 --- a/packages/use-url-state/demo/demo1.tsx +++ b/packages/use-url-state/src/demo/demo1.tsx @@ -1,9 +1,9 @@ /** * title: Default usage - * desc: Store the state into url query. By set the value to `undefined`, the attribute can be removed from the url query. + * description: Store the state into url query. By set the value to `undefined`, the attribute can be removed from the url query. * * title.zh-CN: 基础用法 - * desc.zh-CN: 将状态同步到 url query 中。通过设置值为 `undefined`, 可以从 url query 上彻底删除某个属性,从而使用默认值。 + * description.zh-CN: 将状态同步到 url query 中。通过设置值为 `undefined`, 可以从 url query 上彻底删除某个属性,从而使用默认值。 */ import React from 'react'; diff --git a/packages/use-url-state/demo/demo2.tsx b/packages/use-url-state/src/demo/demo2.tsx similarity index 92% rename from packages/use-url-state/demo/demo2.tsx rename to packages/use-url-state/src/demo/demo2.tsx index e32923380d..d0e73a3731 100644 --- a/packages/use-url-state/demo/demo2.tsx +++ b/packages/use-url-state/src/demo/demo2.tsx @@ -1,9 +1,9 @@ /** * title: Multi-state management - * desc: useUrlState can manage multiple states at the same time + * description: useUrlState can manage multiple states at the same time * * title.zh-CN: 多状态管理 - * desc.zh-CN: useUrlState 可以同时管理多个状态 + * description.zh-CN: useUrlState 可以同时管理多个状态 */ import React from 'react'; diff --git a/packages/use-url-state/demo/demo3.tsx b/packages/use-url-state/src/demo/demo3.tsx similarity index 79% rename from packages/use-url-state/demo/demo3.tsx rename to packages/use-url-state/src/demo/demo3.tsx index d7a5b706ea..7663457d5b 100644 --- a/packages/use-url-state/demo/demo3.tsx +++ b/packages/use-url-state/src/demo/demo3.tsx @@ -1,9 +1,9 @@ /** * title: Custom query-string options - * desc: The rules can be customized by passing in parseOptions and stringifyOptions. + * description: The rules can be customized by passing in parseOptions and stringifyOptions. * * title.zh-CN: 自定义 query-string 配置 - * desc.zh-CN: 可以通过传入 parseOptions 和 stringifyOptions 自定义转换规则。 + * description.zh-CN: 可以通过传入 parseOptions 和 stringifyOptions 自定义转换规则。 */ import React from 'react'; diff --git a/packages/use-url-state/demo/demo4.tsx b/packages/use-url-state/src/demo/demo4.tsx similarity index 100% rename from packages/use-url-state/demo/demo4.tsx rename to packages/use-url-state/src/demo/demo4.tsx diff --git a/packages/use-url-state/tsconfig.json b/packages/use-url-state/tsconfig.json index 1dac9cf65d..bb022d53e2 100644 --- a/packages/use-url-state/tsconfig.json +++ b/packages/use-url-state/tsconfig.json @@ -1,7 +1,11 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "rootDir": "src" + "rootDir": "src", + "paths": { + "@@/*": [".dumi/tmp/*"], + "@ahooksjs/use-url-state": ["packages/use-url-state/src/index.ts"] + } }, "include": ["src"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 064f786ddd..0e68afd35c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,6 +3,7 @@ lockfileVersion: 5.4 importers: .: specifiers: + '@ahooks.js/dumi-theme-antd': ^0.1.1 '@ant-design/icons': ^5.3.0 '@babel/cli': ^7.10.1 '@babel/core': ^7.10.2 @@ -20,7 +21,7 @@ importers: coveralls: ^3.1.1 cross-env: ^7.0.3 del: ^5.1.0 - dumi: ^1.1.48 + dumi: ^2.3.0-beta.7 eslint: ^8.56.0 eslint-plugin-react-hooks: ^4.6.0 fast-glob: ^3.2.11 @@ -49,6 +50,7 @@ importers: webpack-cli: ^5.1.4 webpack-merge: ^4.2.2 devDependencies: + '@ahooks.js/dumi-theme-antd': 0.1.1_aft53fbaybnzk43rs2pxc27b54 '@ant-design/icons': 5.3.0_biqbaboplfbrettd7655fr4n2y '@babel/cli': 7.21.0_@babel+core@7.21.0 '@babel/core': 7.21.0 @@ -66,7 +68,7 @@ importers: coveralls: 3.1.1 cross-env: 7.0.3 del: 5.1.0 - dumi: 1.1.50_23ggkg76n7muqojfq7htundxji + dumi: 2.3.0-beta.7_jee3wun45dmguwauug36rvsrn4 eslint: 8.57.0 eslint-plugin-react-hooks: 4.6.0_eslint@8.57.0 fast-glob: 3.2.12 @@ -168,6 +170,46 @@ packages: } dev: true + /@ahooks.js/dumi-theme-antd/0.1.1_aft53fbaybnzk43rs2pxc27b54: + resolution: + { + integrity: sha512-OCePgCVoddmTkWk4FlGDkUGnc+4wbNpPc9gTV8AmmQvvY1fWjfVlHrSDcbcmO5WgtLeMa0FqQuj+zSJuuDqjzg==, + } + peerDependencies: + antd: ^5.7.0 + dumi: ^2.2.1 + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@ant-design/cssinjs': 1.16.2_biqbaboplfbrettd7655fr4n2y + '@ant-design/icons': 5.1.4_biqbaboplfbrettd7655fr4n2y + '@babel/runtime': 7.22.3 + '@ctrl/tinycolor': 3.6.0 + '@emotion/css': 11.11.2 + '@emotion/react': 11.11.0_react@18.2.0 + '@emotion/server': 11.11.0_@emotion+css@11.11.2 + antd: 5.14.2_biqbaboplfbrettd7655fr4n2y + antd-token-previewer: 2.0.0-alpha.6_e6zmfrfzgmrafsxr5g4tr4x66i + classnames: 2.3.2 + crypto: 1.0.1 + dayjs: 1.11.7 + dumi: 2.3.0-beta.7_jee3wun45dmguwauug36rvsrn4 + lodash.clonedeep: 4.5.0 + rc-drawer: 6.2.0_biqbaboplfbrettd7655fr4n2y + rc-footer: 0.6.8_biqbaboplfbrettd7655fr4n2y + rc-util: 5.33.0_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + transitivePeerDependencies: + - '@babel/core' + - '@types/react' + - date-fns + - immer + - luxon + - moment + - react-is + dev: true + /@alifd/field/1.5.8: resolution: { @@ -198,14 +240,14 @@ packages: react-dom: ^16.13.1 dependencies: '@gcanvas/core': 1.0.0 - classnames: 2.3.2 + classnames: 2.5.1 omit.js: 2.0.2 prop-types: 15.8.1 react: 18.2.0 react-dom: 16.14.0_react@18.2.0 style-unit: 2.0.1 swiper: 6.5.0 - tslib: 2.5.0 + tslib: 2.6.2 universal-env: 3.3.3 universal-panresponder: 0.6.5 universal-transition: 1.1.1 @@ -231,11 +273,11 @@ packages: '@uni/vibrate': 1.0.1 babel-runtime-jsx-style-transform: 1.0.2 classnames: 2.2.6 - dayjs: 1.11.7 + dayjs: 1.11.10 driver-universal: 3.5.0 react: 18.2.0 react-dom: 16.14.0_react@18.2.0 - tslib: 2.5.0 + tslib: 2.6.2 universal-canvas-context: 1.0.0 universal-choose-image: 1.3.0_rax@1.2.3 universal-element: 0.0.6 @@ -308,13 +350,22 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true + /@ant-design/colors/6.0.0: + resolution: + { + integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==, + } + dependencies: + '@ctrl/tinycolor': 3.6.1 + dev: true + /@ant-design/colors/7.0.0: resolution: { integrity: sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==, } dependencies: - '@ctrl/tinycolor': 3.6.0 + '@ctrl/tinycolor': 3.6.1 dev: true /@ant-design/colors/7.0.2: @@ -326,6 +377,26 @@ packages: '@ctrl/tinycolor': 3.6.1 dev: true + /@ant-design/cssinjs/1.16.2_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-W+LT6Xm5sEYZn7ocMAIP9LvX99woxGg1aYu15o608/uUAaJDR7LrxBu/5cnMLa6AQK1829zdoKmRnRFOxAgzEg==, + } + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.23.9 + '@emotion/hash': 0.8.0 + '@emotion/unitless': 0.7.5 + classnames: 2.5.1 + csstype: 3.1.3 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + stylis: 4.3.1 + dev: true + /@ant-design/cssinjs/1.18.4_biqbaboplfbrettd7655fr4n2y: resolution: { @@ -355,15 +426,15 @@ packages: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@emotion/hash': 0.8.0 '@emotion/unitless': 0.7.5 - classnames: 2.3.2 - csstype: 3.1.1 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + classnames: 2.5.1 + csstype: 3.1.3 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 - stylis: 4.1.3 + stylis: 4.3.1 dev: true /@ant-design/icons-svg/4.2.1: @@ -380,6 +451,26 @@ packages: } dev: true + /@ant-design/icons/4.8.1_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-JRAuiqllnMsiZIO8OvBOeFconprC3cnMpJ9MvXrHh+H5co9rlg8/aSHQfLf5jKKe18lUgRaIwC2pz8YxH9VuCA==, + } + engines: { node: '>=8' } + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-svg': 4.4.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + lodash: 4.17.21 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + /@ant-design/icons/5.0.1_jnbmergxldlwssobus342vza4q: resolution: { @@ -399,6 +490,25 @@ packages: react-dom: 16.14.0_react@18.2.0 dev: true + /@ant-design/icons/5.1.4_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-YHKL7Jx3bM12OxvtiYDon04BsBT/6LGitYEqar3GljzWaAyMOAD8i/uF1Rsi5Us/YNdWWXBGSvZV2OZWMpJlcA==, + } + engines: { node: '>=8' } + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@ant-design/colors': 7.0.2 + '@ant-design/icons-svg': 4.4.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + /@ant-design/icons/5.3.0_biqbaboplfbrettd7655fr4n2y: resolution: { @@ -426,8 +536,8 @@ packages: peerDependencies: react: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 json2mq: 0.2.0 react: 18.2.0 resize-observer-polyfill: 1.5.1 @@ -450,6 +560,37 @@ packages: throttle-debounce: 5.0.0 dev: true + /@antfu/install-pkg/0.1.1: + resolution: + { + integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==, + } + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/utils/0.7.7: + resolution: + { + integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==, + } + dev: true + + /@arvinxu/layout-kit/1.4.0_e6zmfrfzgmrafsxr5g4tr4x66i: + resolution: + { + integrity: sha512-dEsmFwZa/NJ2XvDBL4sCPbgFPvCvpxP+G+90Ay9zqN92vc4YbgVo4NjpjsDihiNqwDQjWhasGCC3+v4w7bdYqg==, + } + dependencies: + styled-components: 5.3.11_e6zmfrfzgmrafsxr5g4tr4x66i + transitivePeerDependencies: + - '@babel/core' + - react + - react-dom + - react-is + dev: true + /@babel/cli/7.21.0_@babel+core@7.21.0: resolution: { @@ -479,7 +620,7 @@ packages: integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==, } dependencies: - '@babel/highlight': 7.18.6 + '@babel/highlight': 7.23.4 dev: true /@babel/code-frame/7.18.6: @@ -489,7 +630,18 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/highlight': 7.18.6 + '@babel/highlight': 7.23.4 + dev: true + + /@babel/code-frame/7.23.5: + resolution: + { + integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 dev: true /@babel/compat-data/7.21.0: @@ -500,6 +652,14 @@ packages: engines: { node: '>=6.9.0' } dev: true + /@babel/compat-data/7.23.5: + resolution: + { + integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==, + } + engines: { node: '>=6.9.0' } + dev: true + /@babel/core/7.21.0: resolution: { @@ -526,6 +686,58 @@ packages: - supports-color dev: true + /@babel/core/7.23.6: + resolution: + { + integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.6 + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core/7.23.9: + resolution: + { + integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.23.9 + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/eslint-parser/7.19.1_ccoxihxmx25rm5cufeee3dmlne: resolution: { @@ -540,7 +752,41 @@ packages: '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 7.32.0 eslint-visitor-keys: 2.1.0 - semver: 6.3.0 + semver: 6.3.1 + dev: true + + /@babel/eslint-parser/7.23.3_ajxhju64wjvi3t5e4634pz6c6u: + resolution: + { + integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==, + } + 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.23.9 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: true + + /@babel/eslint-parser/7.23.3_xtod5yve3pp7w5xszvnzytf73y: + resolution: + { + integrity: sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==, + } + 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.23.6 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 dev: true /@babel/generator/7.21.1: @@ -550,20 +796,33 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 jsesc: 2.5.2 dev: true - /@babel/helper-annotate-as-pure/7.18.6: + /@babel/generator/7.23.6: resolution: { - integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==, + integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==, } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure/7.22.5: + resolution: + { + integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 dev: true /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: @@ -574,7 +833,7 @@ packages: engines: { node: '>=6.9.0' } dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 dev: true /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.0: @@ -594,6 +853,20 @@ packages: semver: 6.3.0 dev: true + /@babel/helper-compilation-targets/7.23.6: + resolution: + { + integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.0: resolution: { @@ -604,14 +877,14 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-replace-supers': 7.20.7 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-split-export-declaration': 7.22.6 transitivePeerDependencies: - supports-color dev: true @@ -626,7 +899,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.1 dev: true @@ -639,12 +912,12 @@ packages: '@babel/core': ^7.4.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.1 - semver: 6.3.0 + resolve: 1.22.4 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true @@ -657,6 +930,14 @@ packages: engines: { node: '>=6.9.0' } dev: true + /@babel/helper-environment-visitor/7.22.20: + resolution: + { + integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, + } + engines: { node: '>=6.9.0' } + dev: true + /@babel/helper-explode-assignable-expression/7.18.6: resolution: { @@ -664,7 +945,7 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 dev: true /@babel/helper-function-name/7.21.0: @@ -674,8 +955,19 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.2 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-function-name/7.23.0: + resolution: + { + integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 dev: true /@babel/helper-hoist-variables/7.18.6: @@ -685,7 +977,17 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-hoist-variables/7.22.5: + resolution: + { + integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 dev: true /@babel/helper-member-expression-to-functions/7.21.0: @@ -695,7 +997,7 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 dev: true /@babel/helper-module-imports/7.18.6: @@ -705,7 +1007,17 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-module-imports/7.22.15: + resolution: + { + integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 dev: true /@babel/helper-module-transforms/7.21.2: @@ -716,25 +1028,76 @@ packages: engines: { node: '>=6.9.0' } dependencies: '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.20.2 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-validator-identifier': 7.22.20 '@babel/template': 7.20.7 '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-optimise-call-expression/7.18.6: + /@babel/helper-module-transforms/7.23.3_@babel+core@7.21.0: resolution: { - integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==, + integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, } engines: { node: '>=6.9.0' } - dependencies: - '@babel/types': 7.21.2 + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-module-transforms/7.23.3_@babel+core@7.23.6: + resolution: + { + integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-module-transforms/7.23.3_@babel+core@7.23.9: + resolution: + { + integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-optimise-call-expression/7.18.6: + resolution: + { + integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 dev: true /@babel/helper-plugin-utils/7.20.2: @@ -745,6 +1108,14 @@ packages: engines: { node: '>=6.9.0' } dev: true + /@babel/helper-plugin-utils/7.22.5: + resolution: + { + integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==, + } + engines: { node: '>=6.9.0' } + dev: true + /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.21.0: resolution: { @@ -755,10 +1126,10 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color dev: true @@ -770,12 +1141,12 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color dev: true @@ -787,7 +1158,17 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-simple-access/7.22.5: + resolution: + { + integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 dev: true /@babel/helper-skip-transparent-expression-wrappers/7.20.0: @@ -797,7 +1178,7 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 dev: true /@babel/helper-split-export-declaration/7.18.6: @@ -807,21 +1188,31 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 + dev: true + + /@babel/helper-split-export-declaration/7.22.6: + resolution: + { + integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/types': 7.23.9 dev: true - /@babel/helper-string-parser/7.19.4: + /@babel/helper-string-parser/7.23.4: resolution: { - integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==, + integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, } engines: { node: '>=6.9.0' } dev: true - /@babel/helper-validator-identifier/7.19.1: + /@babel/helper-validator-identifier/7.22.20: resolution: { - integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==, + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, } engines: { node: '>=6.9.0' } dev: true @@ -834,6 +1225,14 @@ packages: engines: { node: '>=6.9.0' } dev: true + /@babel/helper-validator-option/7.23.5: + resolution: + { + integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, + } + engines: { node: '>=6.9.0' } + dev: true + /@babel/helper-wrap-function/7.20.5: resolution: { @@ -841,10 +1240,10 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/helper-function-name': 7.21.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color dev: true @@ -858,19 +1257,33 @@ packages: dependencies: '@babel/template': 7.20.7 '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers/7.23.9: + resolution: + { + integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight/7.18.6: + /@babel/highlight/7.23.4: resolution: { - integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==, + integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==, } engines: { node: '>=6.9.0' } dependencies: - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 dev: true @@ -883,7 +1296,18 @@ packages: engines: { node: '>=6.0.0' } hasBin: true dependencies: - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 + dev: true + + /@babel/parser/7.23.9: + resolution: + { + integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==, + } + engines: { node: '>=6.0.0' } + hasBin: true + dependencies: + '@babel/types': 7.23.9 dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.21.0: @@ -896,7 +1320,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.21.0: @@ -909,7 +1333,7 @@ packages: '@babel/core': ^7.13.0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.0 dev: true @@ -924,8 +1348,8 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0 '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.0 transitivePeerDependencies: @@ -959,7 +1383,7 @@ packages: dependencies: '@babel/core': 7.21.0 '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.0 transitivePeerDependencies: - supports-color @@ -994,7 +1418,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.0 dev: true @@ -1008,7 +1432,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.0 dev: true @@ -1022,7 +1446,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.0 dev: true @@ -1036,7 +1460,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.0 dev: true @@ -1050,7 +1474,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.0 dev: true @@ -1064,7 +1488,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.0 dev: true @@ -1077,10 +1501,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 + '@babel/compat-data': 7.23.5 '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0 '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0 dev: true @@ -1095,7 +1519,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.0 dev: true @@ -1109,7 +1533,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.0 dev: true @@ -1125,7 +1549,7 @@ packages: dependencies: '@babel/core': 7.21.0 '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color dev: true @@ -1140,9 +1564,9 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.0 transitivePeerDependencies: - supports-color @@ -1159,7 +1583,7 @@ packages: dependencies: '@babel/core': 7.21.0 '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.0: @@ -1171,7 +1595,19 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.23.9: + resolution: + { + integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, + } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.21.0: @@ -1183,7 +1619,19 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.23.9: + resolution: + { + integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, + } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.0: @@ -1195,7 +1643,19 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.23.9: + resolution: + { + integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, + } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.21.0: @@ -1208,7 +1668,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-decorators/7.21.0_@babel+core@7.21.0: @@ -1221,7 +1681,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.21.0: @@ -1233,7 +1693,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.21.0: @@ -1245,7 +1705,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.21.0: @@ -1258,7 +1718,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.21.0: @@ -1270,249 +1730,384 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.23.9: resolution: { - integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, + integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.0: + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.0: resolution: { - integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==, + integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.0: + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.23.9: resolution: { - integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, + integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-jsx/7.23.3_@babel+core@7.21.0: resolution: { - integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, + integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==, } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.0: + /@babel/plugin-syntax-jsx/7.23.3_@babel+core@7.23.9: resolution: { - integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, + integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==, } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.0: resolution: { - integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, + integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.23.9: resolution: { - integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, + integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.0: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.0: resolution: { - integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, + integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.21.0: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.23.9: resolution: { - integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, + integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.0: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.0: resolution: { - integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, + integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.0: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.23.9: resolution: { - integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==, + integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.21.0: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.0: resolution: { - integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==, + integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.21.0: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.23.9: resolution: { - integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==, + integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.21.0: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.0: resolution: { - integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==, + integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.21.0: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.23.9: resolution: { - integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==, + integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-classes/7.21.0_@babel+core@7.21.0: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.0: resolution: { - integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==, + integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.21.0: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.23.9: resolution: { - integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==, + integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, } - engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.21.0: + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.21.0: resolution: { - integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==, + integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, } engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.0: + resolution: + { + integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.23.9: + resolution: + { + integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.0: + resolution: + { + integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.23.9: + resolution: + { + integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.21.0: + resolution: + { + integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.21.0: + resolution: + { + integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.21.0: + resolution: + { + integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.21.0: + 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.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-classes/7.21.0_@babel+core@7.21.0: + resolution: + { + integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.21.0: + resolution: + { + integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.23.9 + dev: true + + /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.21.0: + resolution: + { + integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.0 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.21.0: @@ -1526,7 +2121,7 @@ packages: dependencies: '@babel/core': 7.21.0 '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.21.0: @@ -1539,7 +2134,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.21.0: @@ -1553,7 +2148,7 @@ packages: dependencies: '@babel/core': 7.21.0 '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-for-of/7.21.0_@babel+core@7.21.0: @@ -1566,7 +2161,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.21.0: @@ -1579,9 +2174,9 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-literals/7.18.9_@babel+core@7.21.0: @@ -1594,7 +2189,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.21.0: @@ -1607,7 +2202,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.21.0: @@ -1620,27 +2215,23 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.21.0 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.0: + /@babel/plugin-transform-modules-commonjs/7.23.3_@babel+core@7.21.0: resolution: { - integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==, + integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==, } engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 dev: true /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.21.0: @@ -1653,12 +2244,10 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 - transitivePeerDependencies: - - supports-color + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.21.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 dev: true /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.21.0: @@ -1671,10 +2260,8 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-module-transforms': 7.21.2 - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color + '@babel/helper-module-transforms': 7.23.3_@babel+core@7.21.0 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.21.0: @@ -1688,7 +2275,7 @@ packages: dependencies: '@babel/core': 7.21.0 '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.21.0: @@ -1701,7 +2288,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.21.0: @@ -1714,7 +2301,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color @@ -1730,7 +2317,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.21.0: @@ -1743,7 +2330,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.21.0: @@ -1756,7 +2343,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-react-jsx-development/7.18.6_@babel+core@7.21.0: @@ -1772,6 +2359,32 @@ packages: '@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.0 dev: true + /@babel/plugin-transform-react-jsx-self/7.23.3_@babel+core@7.23.9: + resolution: + { + integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-jsx-source/7.23.3_@babel+core@7.23.9: + resolution: + { + integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==, + } + engines: { node: '>=6.9.0' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-react-jsx/7.21.0_@babel+core@7.21.0: resolution: { @@ -1782,11 +2395,11 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 - '@babel/types': 7.21.2 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3_@babel+core@7.21.0 + '@babel/types': 7.23.9 dev: true /@babel/plugin-transform-react-pure-annotations/7.18.6_@babel+core@7.21.0: @@ -1799,8 +2412,8 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.21.0: @@ -1813,7 +2426,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.1 dev: true @@ -1827,7 +2440,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-runtime/7.21.0_@babel+core@7.21.0: @@ -1860,7 +2473,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-spread/7.20.7_@babel+core@7.21.0: @@ -1873,7 +2486,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 dev: true @@ -1887,7 +2500,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.21.0: @@ -1900,7 +2513,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.21.0: @@ -1913,7 +2526,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-typescript/7.21.0_@babel+core@7.21.0: @@ -1927,7 +2540,7 @@ packages: dependencies: '@babel/core': 7.21.0 '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.0 transitivePeerDependencies: - supports-color @@ -1943,7 +2556,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.21.0: @@ -1957,7 +2570,7 @@ packages: dependencies: '@babel/core': 7.21.0 '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 dev: true /@babel/preset-env/7.20.2_@babel+core@7.21.0: @@ -2021,7 +2634,7 @@ packages: '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.0 '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.21.0 '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.21.0 - '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0 + '@babel/plugin-transform-modules-commonjs': 7.23.3_@babel+core@7.21.0 '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.21.0 '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.21.0 '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.21.0 @@ -2039,12 +2652,12 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.21.0 '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.21.0 '@babel/preset-modules': 0.1.5_@babel+core@7.21.0 - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.0 babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.0 babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.0 core-js-compat: 3.29.0 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true @@ -2058,10 +2671,10 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.0 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.0 - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 esutils: 2.0.3 dev: true @@ -2107,24 +2720,34 @@ packages: } dev: true - /@babel/runtime/7.18.6: + /@babel/runtime/7.21.0: resolution: { - integrity: sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==, + integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==, } engines: { node: '>=6.9.0' } dependencies: regenerator-runtime: 0.13.11 - dev: true - /@babel/runtime/7.21.0: + /@babel/runtime/7.22.3: resolution: { - integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==, + integrity: sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==, } engines: { node: '>=6.9.0' } dependencies: regenerator-runtime: 0.13.11 + dev: true + + /@babel/runtime/7.23.6: + resolution: + { + integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==, + } + engines: { node: '>=6.9.0' } + dependencies: + regenerator-runtime: 0.14.1 + dev: true /@babel/runtime/7.23.9: resolution: @@ -2143,9 +2766,21 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.23.5 '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 + dev: true + + /@babel/template/7.23.9: + resolution: + { + integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==, + } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 dev: true /@babel/traverse/7.21.2: @@ -2155,56 +2790,110 @@ packages: } engines: { node: '>=6.9.0' } dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.23.5 '@babel/generator': 7.21.1 '@babel/helper-environment-visitor': 7.18.9 '@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.2 - '@babel/types': 7.21.2 + '@babel/types': 7.23.9 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.21.2: + /@babel/traverse/7.23.9: resolution: { - integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==, + integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==, } engines: { node: '>=6.9.0' } dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color dev: true - /@bcoe/v8-coverage/0.2.3: + /@babel/traverse/7.23.9_supports-color@5.5.0: resolution: { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==, } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + debug: 4.3.4_supports-color@5.5.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color dev: true - /@bloomberg/record-tuple-polyfill/0.0.3: + /@babel/types/7.21.2: resolution: { - integrity: sha512-sBnCqW0nqofE47mxFnw+lvx6kzsQstwaQMVkh66qm/A6IlsnH7WsyGuVXTou8RF2wL4W7ybOoHPvP2WgIo6rhQ==, + integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==, } + engines: { node: '>=6.9.0' } + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 dev: true - /@commitlint/cli/17.4.4: + /@babel/types/7.23.9: resolution: { - integrity: sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g==, + integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==, } - engines: { node: '>=v14' } - hasBin: true + engines: { node: '>=6.9.0' } dependencies: - '@commitlint/format': 17.4.4 - '@commitlint/lint': 17.4.4 + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage/0.2.3: + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + dev: true + + /@bloomberg/record-tuple-polyfill/0.0.4: + resolution: + { + integrity: sha512-h0OYmPR3A5Dfbetra/GzxBAzQk8sH7LhRkRUTdagX6nrtlUgJGYCTv4bBK33jsTQw9HDd8PE2x1Ma+iRKEDUsw==, + } + dev: true + + /@commitlint/cli/17.4.4: + resolution: + { + integrity: sha512-HwKlD7CPVMVGTAeFZylVNy14Vm5POVY0WxPkZr7EXLC/os0LH/obs6z4HRvJtH/nHCMYBvUBQhGwnufKfTjd5g==, + } + engines: { node: '>=v14' } + hasBin: true + dependencies: + '@commitlint/format': 17.4.4 + '@commitlint/lint': 17.4.4 '@commitlint/load': 17.4.4 '@commitlint/read': 17.4.4 '@commitlint/types': 17.4.4 @@ -2352,7 +3041,7 @@ packages: dependencies: '@commitlint/top-level': 17.4.0 '@commitlint/types': 17.4.4 - fs-extra: 11.1.0 + fs-extra: 11.1.1 git-raw-commits: 2.0.11 minimist: 1.2.8 dev: true @@ -2424,1114 +3113,3011 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@csstools/convert-colors/1.4.0: + /@csstools/postcss-color-function/1.1.1_postcss@8.4.21: resolution: { - integrity: sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==, + integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==, } - engines: { node: '>=4.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /@ctrl/tinycolor/3.6.0: + /@csstools/postcss-font-format-keywords/1.0.1_postcss@8.4.21: resolution: { - integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==, + integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==, } - engines: { node: '>=10' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /@ctrl/tinycolor/3.6.1: + /@csstools/postcss-hwb-function/1.0.2_postcss@8.4.21: resolution: { - integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==, + integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==, } - engines: { node: '>=10' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /@discoveryjs/json-ext/0.5.7: + /@csstools/postcss-ic-unit/1.0.1_postcss@8.4.21: resolution: { - integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==, + integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==, } - engines: { node: '>=10.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /@emotion/hash/0.8.0: + /@csstools/postcss-is-pseudo-class/2.0.7_postcss@8.4.21: resolution: { - integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==, + integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==, } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/selector-specificity': 2.2.0_laljekdltgzr3kfi7r4exvsr5a + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /@emotion/unitless/0.7.5: + /@csstools/postcss-normalize-display-values/1.0.1_postcss@8.4.21: resolution: { - integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==, + integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==, } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /@eslint-community/eslint-utils/4.4.0_eslint@8.57.0: + /@csstools/postcss-oklab-function/1.1.1_postcss@8.4.21: resolution: { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + engines: { node: ^12 || ^14 || >=16 } peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + postcss: ^8.2 dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /@eslint-community/regexpp/4.10.0: + /@csstools/postcss-progressive-custom-properties/1.3.0_postcss@8.4.21: resolution: { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==, } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /@eslint/eslintrc/0.4.3: + /@csstools/postcss-stepped-value-functions/1.0.1_postcss@8.4.21: resolution: { - integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==, + integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==, } - engines: { node: ^10.12.0 || >=12.0.0 } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 7.3.1 - globals: 13.20.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - js-yaml: 3.14.1 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /@eslint/eslintrc/2.1.4: + /@csstools/postcss-unset-value/1.0.2_postcss@8.4.21: resolution: { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color + postcss: 8.4.21 dev: true - /@eslint/js/8.57.0: + /@csstools/selector-specificity/2.2.0_laljekdltgzr3kfi7r4exvsr5a: resolution: { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss-selector-parser: ^6.0.10 + dependencies: + postcss-selector-parser: 6.0.11 dev: true - /@gcanvas/core/1.0.0: + /@ctrl/tinycolor/3.6.0: resolution: { - integrity: sha512-v+moRYrngBYtaFTABYjzeve9H+EAvh1zJd7RCzELQM/vLQCqjcpjh3R+R80W4i4y6dos1yQhMB2SVH8tfx0iEg==, + integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==, } + engines: { node: '>=10' } dev: true - /@humanwhocodes/config-array/0.11.14: + /@ctrl/tinycolor/3.6.1: resolution: { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==, } - engines: { node: '>=10.10.0' } - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + engines: { node: '>=10' } dev: true - /@humanwhocodes/config-array/0.5.0: + /@discoveryjs/json-ext/0.5.7: resolution: { - integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==, + integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==, } - engines: { node: '>=10.10.0' } - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + engines: { node: '>=10.0.0' } dev: true - /@humanwhocodes/module-importer/1.0.1: + /@emotion/babel-plugin/11.11.0: resolution: { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==, } - engines: { node: '>=12.22' } + dependencies: + '@babel/helper-module-imports': 7.22.15 + '@babel/runtime': 7.23.9 + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/serialize': 1.1.3 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 dev: true - /@humanwhocodes/object-schema/1.2.1: + /@emotion/cache/11.11.0: resolution: { - integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, + integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==, } + dependencies: + '@emotion/memoize': 0.8.1 + '@emotion/sheet': 1.2.2 + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.3.1 + stylis: 4.2.0 dev: true - /@humanwhocodes/object-schema/2.0.2: + /@emotion/css/11.11.2: resolution: { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + integrity: sha512-VJxe1ucoMYMS7DkiMdC2T7PWNbrEI0a39YRiyDvK2qq4lXwjRbVP/z4lpG+odCsRzadlR+1ywwrTzhdm5HNdew==, } + dependencies: + '@emotion/babel-plugin': 11.11.0 + '@emotion/cache': 11.11.0 + '@emotion/serialize': 1.1.3 + '@emotion/sheet': 1.2.2 + '@emotion/utils': 1.2.1 dev: true - /@istanbuljs/load-nyc-config/1.1.0: + /@emotion/hash/0.8.0: resolution: { - integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, + integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==, } - engines: { node: '>=8' } - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 dev: true - /@istanbuljs/schema/0.1.3: + /@emotion/hash/0.9.1: resolution: { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==, } - engines: { node: '>=8' } dev: true - /@jest/console/29.4.3: + /@emotion/is-prop-valid/1.2.2: resolution: { - integrity: sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A==, + integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/types': 29.4.3 - '@types/node': 18.14.6 - chalk: 4.1.2 - jest-message-util: 29.4.3 - jest-util: 29.4.3 - slash: 3.0.0 + '@emotion/memoize': 0.8.1 dev: true - /@jest/core/29.4.3_ts-node@10.9.1: + /@emotion/memoize/0.8.1: resolution: { - integrity: sha512-56QvBq60fS4SPZCuM7T+7scNrkGIe7Mr6PVIXUpu48ouvRaWOFqRPV91eifvFM0ay2HmfswXiGf97NGUN5KofQ==, + integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==, + } + dev: true + + /@emotion/react/11.11.0_react@18.2.0: + resolution: + { + integrity: sha512-ZSK3ZJsNkwfjT3JpDAWJZlrGD81Z3ytNDsxw1LKq1o+xkmO5pnWfr6gmCC8gHEFf3nSSX/09YrG67jybNPxSUw==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + '@types/react': '*' + react: '>=16.8.0' peerDependenciesMeta: - node-notifier: + '@types/react': optional: true dependencies: - '@jest/console': 29.4.3 - '@jest/reporters': 29.4.3 - '@jest/test-result': 29.4.3 - '@jest/transform': 29.4.3 - '@jest/types': 29.4.3 - '@types/node': 18.14.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.8.0 - exit: 0.1.2 - graceful-fs: 4.2.10 - jest-changed-files: 29.4.3 - jest-config: 29.4.3_nvadb4ngcuh2lyv22apfdo6nc4 - jest-haste-map: 29.4.3 - jest-message-util: 29.4.3 - jest-regex-util: 29.4.3 - jest-resolve: 29.4.3 - jest-resolve-dependencies: 29.4.3 - jest-runner: 29.4.3 - jest-runtime: 29.4.3 - jest-snapshot: 29.4.3 - jest-util: 29.4.3 - jest-validate: 29.4.3 - jest-watcher: 29.4.3 - micromatch: 4.0.5 - pretty-format: 29.4.3 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color - - ts-node + '@babel/runtime': 7.23.9 + '@emotion/babel-plugin': 11.11.0 + '@emotion/cache': 11.11.0 + '@emotion/serialize': 1.1.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.0.1_react@18.2.0 + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.3.1 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 dev: true - /@jest/environment/29.4.3: + /@emotion/serialize/1.1.3: resolution: { - integrity: sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA==, + integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/fake-timers': 29.4.3 - '@jest/types': 29.4.3 - '@types/node': 18.14.6 - jest-mock: 29.4.3 + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/unitless': 0.8.1 + '@emotion/utils': 1.2.1 + csstype: 3.1.3 dev: true - /@jest/expect-utils/29.4.3: + /@emotion/server/11.11.0_@emotion+css@11.11.2: resolution: { - integrity: sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ==, + integrity: sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + '@emotion/css': ^11.0.0-rc.0 + peerDependenciesMeta: + '@emotion/css': + optional: true dependencies: - jest-get-type: 29.4.3 + '@emotion/css': 11.11.2 + '@emotion/utils': 1.2.1 + html-tokenize: 2.0.1 + multipipe: 1.0.2 + through: 2.3.8 dev: true - /@jest/expect/29.4.3: + /@emotion/sheet/1.2.2: resolution: { - integrity: sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ==, + integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - expect: 29.4.3 - jest-snapshot: 29.4.3 - transitivePeerDependencies: - - supports-color dev: true - /@jest/fake-timers/29.4.3: + /@emotion/stylis/0.8.5: resolution: { - integrity: sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw==, + integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - '@jest/types': 29.4.3 - '@sinonjs/fake-timers': 10.0.2 - '@types/node': 18.14.6 - jest-message-util: 29.4.3 - jest-mock: 29.4.3 - jest-util: 29.4.3 dev: true - /@jest/globals/29.4.3: + /@emotion/unitless/0.7.5: resolution: { - integrity: sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA==, + integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - '@jest/environment': 29.4.3 - '@jest/expect': 29.4.3 - '@jest/types': 29.4.3 - jest-mock: 29.4.3 - transitivePeerDependencies: - - supports-color dev: true - /@jest/reporters/29.4.3: + /@emotion/unitless/0.8.1: resolution: { - integrity: sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg==, + integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.4.3 - '@jest/test-result': 29.4.3 - '@jest/transform': 29.4.3 - '@jest/types': 29.4.3 - '@jridgewell/trace-mapping': 0.3.23 - '@types/node': 18.14.6 - 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.2.1 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 - jest-message-util: 29.4.3 - jest-util: 29.4.3 - jest-worker: 29.7.0 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - v8-to-istanbul: 9.1.0 - transitivePeerDependencies: - - supports-color dev: true - /@jest/schemas/28.1.3: + /@emotion/use-insertion-effect-with-fallbacks/1.0.1_react@18.2.0: resolution: { - integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==, + integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==, } - engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + peerDependencies: + react: '>=16.8.0' dependencies: - '@sinclair/typebox': 0.24.51 + react: 18.2.0 dev: true - /@jest/schemas/29.4.3: + /@emotion/utils/1.2.1: resolution: { - integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==, + integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - '@sinclair/typebox': 0.25.24 dev: true - /@jest/schemas/29.6.3: + /@emotion/weak-memoize/0.3.1: resolution: { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - '@sinclair/typebox': 0.27.8 dev: true - /@jest/source-map/29.4.3: + /@esbuild-kit/cjs-loader/2.4.4: resolution: { - integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==, + integrity: sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jridgewell/trace-mapping': 0.3.23 - callsites: 3.1.0 - graceful-fs: 4.2.11 + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.2 dev: true - /@jest/test-result/29.4.3: + /@esbuild-kit/core-utils/3.3.2: resolution: { - integrity: sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA==, + integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/console': 29.4.3 - '@jest/types': 29.4.3 - '@types/istanbul-lib-coverage': 2.0.4 - collect-v8-coverage: 1.0.1 + esbuild: 0.18.20 + source-map-support: 0.5.21 dev: true - /@jest/test-sequencer/29.4.3: + /@esbuild-kit/esm-loader/2.6.5: resolution: { - integrity: sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw==, + integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/test-result': 29.4.3 - graceful-fs: 4.2.11 - jest-haste-map: 29.4.3 - slash: 3.0.0 + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.2 dev: true - /@jest/transform/29.4.3: + /@esbuild/android-arm/0.17.19: resolution: { - integrity: sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg==, + integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - '@babel/core': 7.21.0 - '@jest/types': 29.4.3 - '@jridgewell/trace-mapping': 0.3.23 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.4.3 - jest-regex-util: 29.4.3 - jest-util: 29.4.3 - micromatch: 4.0.5 - pirates: 4.0.5 - slash: 3.0.0 - write-file-atomic: 4.0.2 - transitivePeerDependencies: - - supports-color + engines: { node: '>=12' } + cpu: [arm] + os: [android] + requiresBuild: true dev: true + optional: true - /@jest/types/29.4.3: + /@esbuild/android-arm/0.18.20: resolution: { - integrity: sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA==, + integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - '@jest/schemas': 29.4.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 18.14.6 - '@types/yargs': 17.0.22 - chalk: 4.1.2 + engines: { node: '>=12' } + cpu: [arm] + os: [android] + requiresBuild: true dev: true + optional: true - /@jest/types/29.6.3: + /@esbuild/android-arm64/0.17.19: resolution: { - integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, + integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==, } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.6.0 - '@types/yargs': 17.0.24 - chalk: 4.1.2 + engines: { node: '>=12' } + cpu: [arm64] + os: [android] + requiresBuild: true dev: true + optional: true - /@jridgewell/gen-mapping/0.1.1: + /@esbuild/android-arm64/0.18.20: resolution: { - integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==, + integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==, } - engines: { node: '>=6.0.0' } - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + engines: { node: '>=12' } + cpu: [arm64] + os: [android] + requiresBuild: true dev: true + optional: true - /@jridgewell/gen-mapping/0.3.2: + /@esbuild/android-x64/0.17.19: resolution: { - integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==, + integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==, } - engines: { node: '>=6.0.0' } - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.17 + engines: { node: '>=12' } + cpu: [x64] + os: [android] + requiresBuild: true dev: true + optional: true - /@jridgewell/gen-mapping/0.3.4: + /@esbuild/android-x64/0.18.20: resolution: { - integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==, + integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==, } - engines: { node: '>=6.0.0' } - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.23 + engines: { node: '>=12' } + cpu: [x64] + os: [android] + requiresBuild: true dev: true + optional: true - /@jridgewell/resolve-uri/3.1.0: + /@esbuild/darwin-arm64/0.17.19: resolution: { - integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, + integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==, } - engines: { node: '>=6.0.0' } + engines: { node: '>=12' } + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@jridgewell/resolve-uri/3.1.2: + /@esbuild/darwin-arm64/0.18.20: resolution: { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==, } - engines: { node: '>=6.0.0' } + engines: { node: '>=12' } + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@jridgewell/set-array/1.1.2: + /@esbuild/darwin-x64/0.17.19: resolution: { - integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, + integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==, } - engines: { node: '>=6.0.0' } + engines: { node: '>=12' } + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@jridgewell/source-map/0.3.2: + /@esbuild/darwin-x64/0.18.20: resolution: { - integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==, + integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==, } - dependencies: - '@jridgewell/gen-mapping': 0.3.4 - '@jridgewell/trace-mapping': 0.3.23 + engines: { node: '>=12' } + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@jridgewell/source-map/0.3.5: + /@esbuild/freebsd-arm64/0.17.19: resolution: { - integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==, + integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==, } - dependencies: - '@jridgewell/gen-mapping': 0.3.4 - '@jridgewell/trace-mapping': 0.3.23 + engines: { node: '>=12' } + cpu: [arm64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /@jridgewell/sourcemap-codec/1.4.14: + /@esbuild/freebsd-arm64/0.18.20: resolution: { - integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, + integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==, } + engines: { node: '>=12' } + cpu: [arm64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /@jridgewell/sourcemap-codec/1.4.15: + /@esbuild/freebsd-x64/0.17.19: resolution: { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==, } + engines: { node: '>=12' } + cpu: [x64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /@jridgewell/trace-mapping/0.3.17: + /@esbuild/freebsd-x64/0.18.20: resolution: { - integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==, + integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==, } - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + engines: { node: '>=12' } + cpu: [x64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /@jridgewell/trace-mapping/0.3.23: + /@esbuild/linux-arm/0.17.19: resolution: { - integrity: sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==, + integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==, } - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + engines: { node: '>=12' } + cpu: [arm] + os: [linux] + requiresBuild: true dev: true + optional: true - /@jridgewell/trace-mapping/0.3.9: + /@esbuild/linux-arm/0.18.20: resolution: { - integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, + integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==, } - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + engines: { node: '>=12' } + cpu: [arm] + os: [linux] + requiresBuild: true dev: true + optional: true - /@mapbox/hast-util-to-jsx/1.0.0: + /@esbuild/linux-arm64/0.17.19: resolution: { - integrity: sha512-HJRp3qkr0uGIBFASzA8rVATLo6y/UoOMoD8eXsG8HVofk5Dokc9PV+dh266zYLZniYgtpJbc2+AKf1fNpsVqAA==, + integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==, } - engines: { node: '>=10' } - dependencies: - kebab-case: 1.0.2 - postcss: 7.0.39 - postcss-js: 2.0.3 - property-information: 5.6.0 - react-attr-converter: 0.3.1 - stringify-entities: 3.1.0 - stringify-object: 3.3.0 + engines: { node: '>=12' } + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@nicolo-ribaudo/chokidar-2/2.1.8-no-fsevents.3: + /@esbuild/linux-arm64/0.18.20: resolution: { - integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==, + integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==, } + engines: { node: '>=12' } + cpu: [arm64] + os: [linux] requiresBuild: true dev: true optional: true - /@nicolo-ribaudo/eslint-scope-5-internals/5.1.1-v1: + /@esbuild/linux-ia32/0.17.19: resolution: { - integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==, + integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==, } - dependencies: - eslint-scope: 5.1.1 + engines: { node: '>=12' } + cpu: [ia32] + os: [linux] + requiresBuild: true dev: true + optional: true - /@nodelib/fs.scandir/2.1.5: + /@esbuild/linux-ia32/0.18.20: + resolution: + { + integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==, + } + engines: { node: '>=12' } + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.17.19: + resolution: + { + integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==, + } + engines: { node: '>=12' } + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.18.20: + resolution: + { + integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==, + } + engines: { node: '>=12' } + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.17.19: + resolution: + { + integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==, + } + engines: { node: '>=12' } + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.18.20: + resolution: + { + integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==, + } + engines: { node: '>=12' } + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.17.19: + resolution: + { + integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==, + } + engines: { node: '>=12' } + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.18.20: + resolution: + { + integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==, + } + engines: { node: '>=12' } + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.17.19: + resolution: + { + integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==, + } + engines: { node: '>=12' } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.18.20: + resolution: + { + integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==, + } + engines: { node: '>=12' } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.17.19: + resolution: + { + integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==, + } + engines: { node: '>=12' } + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.18.20: + resolution: + { + integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==, + } + engines: { node: '>=12' } + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.17.19: + resolution: + { + integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.18.20: + resolution: + { + integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.17.19: + resolution: + { + integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.18.20: + resolution: + { + integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.17.19: + resolution: + { + integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.18.20: + resolution: + { + integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.17.19: + resolution: + { + integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.18.20: + resolution: + { + integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.17.19: + resolution: + { + integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==, + } + engines: { node: '>=12' } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.18.20: + resolution: + { + integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==, + } + engines: { node: '>=12' } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.17.19: + resolution: + { + integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==, + } + engines: { node: '>=12' } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.18.20: + resolution: + { + integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==, + } + engines: { node: '>=12' } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.17.19: + resolution: + { + integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.18.20: + resolution: + { + integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==, + } + engines: { node: '>=12' } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils/4.4.0_eslint@8.57.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.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp/4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc/0.4.3: + resolution: + { + integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 7.3.1 + globals: 13.24.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/eslintrc/2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js/8.57.0: + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /@floating-ui/core/0.6.2: + resolution: + { + integrity: sha512-jktYRmZwmau63adUG3GKOAVCofBXkk55S/zQ94XOorAHhwqFIOFAy1rSp2N0Wp6/tGbe9V3u/ExlGZypyY17rg==, + } + dev: true + + /@floating-ui/dom/0.4.5: + resolution: + { + integrity: sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw==, + } + dependencies: + '@floating-ui/core': 0.6.2 + dev: true + + /@floating-ui/react-dom-interactions/0.3.1_ef5jwxihqo6n7gxfmzogljlgcm: + resolution: + { + integrity: sha512-tP2KEh7EHJr5hokSBHcPGojb+AorDNUf0NYfZGg/M+FsMvCOOsSEeEF0O1NDfETIzDnpbHnCs0DuvCFhSMSStg==, + } + deprecated: Package renamed to @floating-ui/react + dependencies: + '@floating-ui/react-dom': 0.6.3_ef5jwxihqo6n7gxfmzogljlgcm + aria-hidden: 1.2.3 + point-in-polygon: 1.1.0 + use-isomorphic-layout-effect: 1.1.2_react@18.1.0 + transitivePeerDependencies: + - '@types/react' + - react + - react-dom + dev: true + + /@floating-ui/react-dom/0.6.3_ef5jwxihqo6n7gxfmzogljlgcm: + resolution: + { + integrity: sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==, + } + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/dom': 0.4.5 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + use-isomorphic-layout-effect: 1.1.2_react@18.1.0 + transitivePeerDependencies: + - '@types/react' + dev: true + + /@formatjs/ecma402-abstract/1.18.2: + resolution: + { + integrity: sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA==, + } + dependencies: + '@formatjs/intl-localematcher': 0.5.4 + tslib: 2.6.2 + dev: true + + /@formatjs/fast-memoize/2.2.0: + resolution: + { + integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==, + } + dependencies: + tslib: 2.6.2 + dev: true + + /@formatjs/icu-messageformat-parser/2.7.6: + resolution: + { + integrity: sha512-etVau26po9+eewJKYoiBKP6743I1br0/Ie00Pb/S/PtmYfmjTcOn2YCh2yNkSZI12h6Rg+BOgQYborXk46BvkA==, + } + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/icu-skeleton-parser': 1.8.0 + tslib: 2.6.2 + dev: true + + /@formatjs/icu-skeleton-parser/1.8.0: + resolution: + { + integrity: sha512-QWLAYvM0n8hv7Nq5BEs4LKIjevpVpbGLAJgOaYzg9wABEoX1j0JO1q2/jVkO6CVlq0dbsxZCngS5aXbysYueqA==, + } + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + tslib: 2.6.2 + dev: true + + /@formatjs/intl-displaynames/6.6.6: + resolution: + { + integrity: sha512-Dg5URSjx0uzF8VZXtHb6KYZ6LFEEhCbAbKoYChYHEOnMFTw/ZU3jIo/NrujzQD2EfKPgQzIq73LOUvW6Z/LpFA==, + } + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/intl-localematcher': 0.5.4 + tslib: 2.6.2 + dev: true + + /@formatjs/intl-listformat/7.5.5: + resolution: + { + integrity: sha512-XoI52qrU6aBGJC9KJddqnacuBbPlb/bXFN+lIFVFhQ1RnFHpzuFrlFdjD9am2O7ZSYsyqzYRpkVcXeT1GHkwDQ==, + } + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/intl-localematcher': 0.5.4 + tslib: 2.6.2 + dev: true + + /@formatjs/intl-localematcher/0.5.4: + resolution: + { + integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==, + } + dependencies: + tslib: 2.6.2 + dev: true + + /@formatjs/intl/2.10.0_typescript@5.1.3: + resolution: + { + integrity: sha512-X3xT9guVkKDS86EKV80lS0KxoazUglkJTGZO66sKY7otgl0VeStPA8B3u8UkKT47PexVV98fUzjpkchYmbe9nw==, + } + peerDependencies: + typescript: ^4.7 || 5 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/fast-memoize': 2.2.0 + '@formatjs/icu-messageformat-parser': 2.7.6 + '@formatjs/intl-displaynames': 6.6.6 + '@formatjs/intl-listformat': 7.5.5 + intl-messageformat: 10.5.11 + tslib: 2.6.2 + typescript: 5.1.3 + dev: true + + /@gcanvas/core/1.0.0: + resolution: + { + integrity: sha512-v+moRYrngBYtaFTABYjzeve9H+EAvh1zJd7RCzELQM/vLQCqjcpjh3R+R80W4i4y6dos1yQhMB2SVH8tfx0iEg==, + } + dev: true + + /@humanwhocodes/config-array/0.11.14: + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: '>=10.10.0' } + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/config-array/0.5.0: + resolution: + { + integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==, + } + engines: { node: '>=10.10.0' } + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer/1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: '>=12.22' } + dev: true + + /@humanwhocodes/object-schema/1.2.1: + resolution: + { + integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, + } + dev: true + + /@humanwhocodes/object-schema/2.0.2: + resolution: + { + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + } + dev: true + + /@iconify/types/2.0.0: + resolution: + { + integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==, + } + dev: true + + /@iconify/utils/2.1.1: + resolution: + { + integrity: sha512-H8xz74JDzDw8f0qLxwIaxFMnFkbXTZNWEufOk3WxaLFHV4h0A2FjIDgNk5LzC0am4jssnjdeJJdRs3UFu3582Q==, + } + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.7 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + 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.1.0 + strip-ansi-cjs: /strip-ansi/6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi/7.0.0 + dev: true + + /@istanbuljs/load-nyc-config/1.1.0: + resolution: + { + integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, + } + engines: { node: '>=8' } + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema/0.1.3: + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: '>=8' } + dev: true + + /@jest/console/29.4.3: + resolution: + { + integrity: sha512-W/o/34+wQuXlgqlPYTansOSiBnuxrTv61dEVkA6HNmpcgHLUjfaUbdqt6oVvOzaawwo9IdW9QOtMgQ1ScSZC4A==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.11.20 + chalk: 4.1.2 + jest-message-util: 29.4.3 + jest-util: 29.7.0 + slash: 3.0.0 + dev: true + + /@jest/core/29.4.3_ts-node@10.9.1: + resolution: + { + integrity: sha512-56QvBq60fS4SPZCuM7T+7scNrkGIe7Mr6PVIXUpu48ouvRaWOFqRPV91eifvFM0ay2HmfswXiGf97NGUN5KofQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 29.4.3 + '@jest/reporters': 29.4.3 + '@jest/test-result': 29.4.3 + '@jest/transform': 29.4.3 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.8.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.4.3 + jest-config: 29.4.3_wshvhplg7zwmonas2lycqdlrli + jest-haste-map: 29.4.3 + jest-message-util: 29.4.3 + jest-regex-util: 29.4.3 + jest-resolve: 29.4.3 + jest-resolve-dependencies: 29.4.3 + jest-runner: 29.4.3 + jest-runtime: 29.4.3 + jest-snapshot: 29.4.3 + jest-util: 29.7.0 + jest-validate: 29.4.3 + jest-watcher: 29.4.3 + micromatch: 4.0.5 + pretty-format: 29.4.3 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + + /@jest/environment/29.4.3: + resolution: + { + integrity: sha512-dq5S6408IxIa+lr54zeqce+QgI+CJT4nmmA+1yzFgtcsGK8c/EyiUb9XQOgz3BMKrRDfKseeOaxj2eO8LlD3lA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/fake-timers': 29.4.3 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 + jest-mock: 29.4.3 + dev: true + + /@jest/expect-utils/29.4.3: + resolution: + { + integrity: sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + jest-get-type: 29.4.3 + dev: true + + /@jest/expect/29.4.3: + resolution: + { + integrity: sha512-iktRU/YsxEtumI9zsPctYUk7ptpC+AVLLk1Ax3AsA4g1C+8OOnKDkIQBDHtD5hA/+VtgMd5AWI5gNlcAlt2vxQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + expect: 29.4.3 + jest-snapshot: 29.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/fake-timers/29.4.3: + resolution: + { + integrity: sha512-4Hote2MGcCTWSD2gwl0dwbCpBRHhE6olYEuTj8FMowdg3oQWNKr2YuxenPQYZ7+PfqPY1k98wKDU4Z+Hvd4Tiw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.0.2 + '@types/node': 20.11.20 + jest-message-util: 29.4.3 + jest-mock: 29.4.3 + jest-util: 29.7.0 + dev: true + + /@jest/globals/29.4.3: + resolution: + { + integrity: sha512-8BQ/5EzfOLG7AaMcDh7yFCbfRLtsc+09E1RQmRBI4D6QQk4m6NSK/MXo+3bJrBN0yU8A2/VIcqhvsOLFmziioA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/environment': 29.4.3 + '@jest/expect': 29.4.3 + '@jest/types': 29.6.3 + jest-mock: 29.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters/29.4.3: + resolution: + { + integrity: sha512-sr2I7BmOjJhyqj9ANC6CTLsL4emMoka7HkQpcoMRlhCbQJjz2zsRzw0BDPiPyEFDXAbxKgGFYuQZiSJ1Y6YoTg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.4.3 + '@jest/test-result': 29.4.3 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.23 + '@types/node': 20.11.20 + 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.2.1 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + jest-message-util: 29.4.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas/28.1.3: + resolution: + { + integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0 } + dependencies: + '@sinclair/typebox': 0.24.51 + dev: true + + /@jest/schemas/29.4.3: + resolution: + { + integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@sinclair/typebox': 0.25.24 + dev: true + + /@jest/schemas/29.6.3: + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jest/source-map/29.4.3: + resolution: + { + integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jridgewell/trace-mapping': 0.3.23 + callsites: 3.1.0 + graceful-fs: 4.2.11 + dev: true + + /@jest/test-result/29.4.3: + resolution: + { + integrity: sha512-Oi4u9NfBolMq9MASPwuWTlC5WvmNRwI4S8YrQg5R5Gi47DYlBe3sh7ILTqi/LGrK1XUE4XY9KZcQJTH1WJCLLA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/console': 29.4.3 + '@jest/types': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.1 + dev: true + + /@jest/test-sequencer/29.4.3: + resolution: + { + integrity: sha512-yi/t2nES4GB4G0mjLc0RInCq/cNr9dNwJxcGg8sslajua5Kb4kmozAc+qPLzplhBgfw1vLItbjyHzUN92UXicw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/test-result': 29.4.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + dev: true + + /@jest/transform/29.4.3: + resolution: + { + integrity: sha512-8u0+fBGWolDshsFgPQJESkDa72da/EVwvL+II0trN2DR66wMwiQ9/CihaGfHdlLGFzbBZwMykFtxuwFdZqlKwg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@babel/core': 7.23.9 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.23 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.5 + pirates: 4.0.5 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/transform/29.7.0: + resolution: + { + integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@babel/core': 7.23.9 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.23 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.5 + pirates: 4.0.5 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types/27.5.1: + resolution: + { + integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==, + } + engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 } + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.11.20 + '@types/yargs': 16.0.9 + chalk: 4.1.2 + dev: true + + /@jest/types/29.4.3: + resolution: + { + integrity: sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/schemas': 29.4.3 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.11.20 + '@types/yargs': 17.0.22 + chalk: 4.1.2 + dev: true + + /@jest/types/29.6.3: + resolution: + { + integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.11.20 + '@types/yargs': 17.0.24 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping/0.1.1: + resolution: + { + integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==, + } + engines: { node: '>=6.0.0' } + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/gen-mapping/0.3.2: + resolution: + { + integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==, + } + engines: { node: '>=6.0.0' } + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.23 + dev: true + + /@jridgewell/gen-mapping/0.3.4: + resolution: + { + integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==, + } + engines: { node: '>=6.0.0' } + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.23 + dev: true + + /@jridgewell/resolve-uri/3.1.0: + resolution: + { + integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, + } + engines: { node: '>=6.0.0' } + dev: true + + /@jridgewell/resolve-uri/3.1.2: + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: '>=6.0.0' } + dev: true + + /@jridgewell/set-array/1.1.2: + resolution: + { + integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, + } + engines: { node: '>=6.0.0' } + dev: true + + /@jridgewell/source-map/0.3.5: + resolution: + { + integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==, + } + dependencies: + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: + { + integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, + } + dev: true + + /@jridgewell/sourcemap-codec/1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + dev: true + + /@jridgewell/trace-mapping/0.3.17: + resolution: + { + integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==, + } + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/trace-mapping/0.3.23: + resolution: + { + integrity: sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==, + } + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/trace-mapping/0.3.9: + resolution: + { + integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, + } + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@loadable/component/5.15.2_react@18.1.0: + resolution: + { + integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==, + } + engines: { node: '>=8' } + peerDependencies: + react: '>=16.3.0' + dependencies: + '@babel/runtime': 7.23.9 + hoist-non-react-statics: 3.3.2 + react: 18.1.0 + react-is: 16.13.1 + dev: true + + /@loadable/component/5.15.2_react@18.2.0: + resolution: + { + integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==, + } + engines: { node: '>=8' } + peerDependencies: + react: '>=16.3.0' + dependencies: + '@babel/runtime': 7.23.9 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + react-is: 16.13.1 + dev: true + + /@makotot/ghostui/2.0.0_react@18.2.0: + resolution: + { + integrity: sha512-LD6OeMv+yGjpYZNjh34yDTCIE1NegqOtJq5gm4wX6op3QL7K5psTVzMjkWzseBoYj0XOD4g+UJVIZTprfoOPGg==, + } + engines: { node: '>=10' } + peerDependencies: + react: '>=16' + dependencies: + react: 18.2.0 + dev: true + + /@nicolo-ribaudo/chokidar-2/2.1.8-no-fsevents.3: + resolution: + { + integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==, + } + requiresBuild: true + dev: true + optional: true + + /@nicolo-ribaudo/eslint-scope-5-internals/5.1.1-v1: + resolution: + { + integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==, + } + dependencies: + eslint-scope: 5.1.1 + dev: true + + /@nodelib/fs.scandir/2.1.5: resolution: { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, } - engines: { node: '>= 8' } + engines: { node: '>= 8' } + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: '>= 8' } + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: '>= 8' } + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@pkgjs/parseargs/0.11.0: + resolution: + { + integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, + } + engines: { node: '>=14' } + requiresBuild: true + dev: true + optional: true + + /@pkgr/utils/2.4.2: + resolution: + { + integrity: sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.3.2 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.6.2 + dev: true + + /@rc-component/color-picker/1.5.2_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-YJXujYzYFAEtlXJXy0yJUhwzUWPTcniBZto+wZ/vnACmFnUTNR7dH+NOeqSwMMsssh74e9H5Jfpr5LAH2PYqUw==, + } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + '@ctrl/tinycolor': 3.6.1 + classnames: 2.5.1 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + + /@rc-component/context/1.3.0_jnbmergxldlwssobus342vza4q: + resolution: + { + integrity: sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w==, + } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q + react: 18.2.0 + react-dom: 16.14.0_react@18.2.0 + dev: true + + /@rc-component/context/1.4.0_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==, + } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + + /@rc-component/mini-decimal/1.0.1: + resolution: + { + integrity: sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==, + } + engines: { node: '>=8.x' } + dependencies: + '@babel/runtime': 7.23.9 + dev: true + + /@rc-component/mini-decimal/1.1.0: + resolution: + { + integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==, + } + engines: { node: '>=8.x' } + dependencies: + '@babel/runtime': 7.23.9 + dev: true + + /@rc-component/mutate-observer/1.0.0_jnbmergxldlwssobus342vza4q: + resolution: + { + integrity: sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==, + } + engines: { node: '>=8.x' } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q + react: 18.2.0 + react-dom: 16.14.0_react@18.2.0 + dev: true + + /@rc-component/mutate-observer/1.1.0_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==, + } + engines: { node: '>=8.x' } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + + /@rc-component/portal/1.1.2_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==, + } + engines: { node: '>=8.x' } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + + /@rc-component/portal/1.1.2_jnbmergxldlwssobus342vza4q: + resolution: + { + integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==, + } + engines: { node: '>=8.x' } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q + react: 18.2.0 + react-dom: 16.14.0_react@18.2.0 + dev: true + + /@rc-component/tour/1.12.3_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-U4mf1FiUxGCwrX4ed8op77Y8VKur+8Y/61ylxtqGbcSoh1EBC7bWd/DkLu0ClTUrKZInqEi1FL7YgFtnT90vHA==, + } + engines: { node: '>=8.x' } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + '@rc-component/portal': 1.1.2_biqbaboplfbrettd7655fr4n2y + '@rc-component/trigger': 1.18.3_biqbaboplfbrettd7655fr4n2y + classnames: 2.5.1 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + + /@rc-component/tour/1.8.0_jnbmergxldlwssobus342vza4q: + resolution: + { + integrity: sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA==, + } + engines: { node: '>=8.x' } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + '@rc-component/portal': 1.1.2_jnbmergxldlwssobus342vza4q + '@rc-component/trigger': 1.5.0_jnbmergxldlwssobus342vza4q + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q + react: 18.2.0 + react-dom: 16.14.0_react@18.2.0 + dev: true + + /@rc-component/trigger/1.18.3_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA==, + } + engines: { node: '>=8.x' } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + '@rc-component/portal': 1.1.2_biqbaboplfbrettd7655fr4n2y + classnames: 2.5.1 + rc-motion: 2.9.0_biqbaboplfbrettd7655fr4n2y + rc-resize-observer: 1.4.0_biqbaboplfbrettd7655fr4n2y + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + + /@rc-component/trigger/1.5.0_jnbmergxldlwssobus342vza4q: + resolution: + { + integrity: sha512-uF5H7FjRbSDaCIWe+aASk/vdTJtmhZvAIcH5IbO/jBXdEbLz9OYoY7QfHWfmUwNGaEX640+z8mAawiVBQGOwFw==, + } + engines: { node: '>=8.x' } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + '@rc-component/portal': 1.1.2_jnbmergxldlwssobus342vza4q + classnames: 2.5.1 + rc-align: 4.0.15_jnbmergxldlwssobus342vza4q + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-resize-observer: 1.3.1_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q + react: 18.2.0 + react-dom: 16.14.0_react@18.2.0 + dev: true + + /@reactflow/background/11.3.9_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-byj/G9pEC8tN0wT/ptcl/LkEP/BBfa33/SvBkqE4XwyofckqF87lKp573qGlisfnsijwAbpDlf81PuFL41So4Q==, + } + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@reactflow/core': 11.10.4_biqbaboplfbrettd7655fr4n2y + classcat: 5.0.4 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + zustand: 4.5.2_react@18.2.0 + transitivePeerDependencies: + - '@types/react' + - immer + dev: true + + /@reactflow/controls/11.2.9_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-e8nWplbYfOn83KN1BrxTXS17+enLyFnjZPbyDgHSRLtI5ZGPKF/8iRXV+VXb2LFVzlu4Wh3la/pkxtfP/0aguA==, + } + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@reactflow/core': 11.10.4_biqbaboplfbrettd7655fr4n2y + classcat: 5.0.4 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + zustand: 4.5.2_react@18.2.0 + transitivePeerDependencies: + - '@types/react' + - immer + dev: true + + /@reactflow/core/11.10.4_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-j3i9b2fsTX/sBbOm+RmNzYEFWbNx4jGWGuGooh2r1jQaE2eV+TLJgiG/VNOp0q5mBl9f6g1IXs3Gm86S9JfcGw==, + } + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@types/d3': 7.4.3 + '@types/d3-drag': 3.0.7 + '@types/d3-selection': 3.0.10 + '@types/d3-zoom': 3.0.8 + classcat: 5.0.4 + d3-drag: 3.0.0 + d3-selection: 3.0.0 + d3-zoom: 3.0.0 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + zustand: 4.5.2_react@18.2.0 + transitivePeerDependencies: + - '@types/react' + - immer + dev: true + + /@reactflow/minimap/11.7.9_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-le95jyTtt3TEtJ1qa7tZ5hyM4S7gaEQkW43cixcMOZLu33VAdc2aCpJg/fXcRrrf7moN2Mbl9WIMNXUKsp5ILA==, + } + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@reactflow/core': 11.10.4_biqbaboplfbrettd7655fr4n2y + '@types/d3-selection': 3.0.10 + '@types/d3-zoom': 3.0.8 + classcat: 5.0.4 + d3-selection: 3.0.0 + d3-zoom: 3.0.0 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + zustand: 4.5.2_react@18.2.0 + transitivePeerDependencies: + - '@types/react' + - immer + dev: true + + /@reactflow/node-resizer/2.2.9_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-HfickMm0hPDIHt9qH997nLdgLt0kayQyslKE0RS/GZvZ4UMQJlx/NRRyj5y47Qyg0NnC66KYOQWDM9LLzRTnUg==, + } + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@reactflow/core': 11.10.4_biqbaboplfbrettd7655fr4n2y + classcat: 5.0.4 + d3-drag: 3.0.0 + d3-selection: 3.0.0 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + zustand: 4.5.2_react@18.2.0 + transitivePeerDependencies: + - '@types/react' + - immer + dev: true + + /@reactflow/node-toolbar/1.3.9_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-VmgxKmToax4sX1biZ9LXA7cj/TBJ+E5cklLGwquCCVVxh+lxpZGTBF3a5FJGVHiUNBBtFsC8ldcSZIK4cAlQww==, + } + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@reactflow/core': 11.10.4_biqbaboplfbrettd7655fr4n2y + classcat: 5.0.4 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + zustand: 4.5.2_react@18.2.0 + transitivePeerDependencies: + - '@types/react' + - immer + dev: true + + /@remix-run/router/1.3.3: + resolution: + { + integrity: sha512-YRHie1yQEj0kqqCTCJEfHqYSSNlZQ696QJG+MMiW4mxSl9I0ojz/eRhJS4fs88Z5i6D1SmoF9d3K99/QOhI8/w==, + } + engines: { node: '>=14' } + + /@selderee/plugin-htmlparser2/0.11.0: + resolution: + { + integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==, + } + dependencies: + domhandler: 5.0.3 + selderee: 0.11.0 + dev: true + + /@sinclair/typebox/0.24.51: + resolution: + { + integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==, + } + dev: true + + /@sinclair/typebox/0.25.24: + resolution: + { + integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==, + } + dev: true + + /@sinclair/typebox/0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@sinonjs/commons/2.0.0: + resolution: + { + integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==, + } + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers/10.0.2: + resolution: + { + integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==, + } + dependencies: + '@sinonjs/commons': 2.0.0 + dev: true + + /@sketch-hq/sketch-file-format-ts/6.5.0: + resolution: + { + integrity: sha512-shaGl4ttFDpHjYBoMaZpciOtsi/lKvJ3VfcBYk6+PjjbFs6H5GxPAyhbiSqy3Vmx30aos284pd88QzD3rE6iag==, + } + dev: true + + /@stackblitz/sdk/1.9.0: + resolution: + { + integrity: sha512-3m6C7f8pnR5KXys/Hqx2x6ylnpqOak6HtnZI6T5keEO0yT+E4Spkw37VEbdwuC+2oxmjdgq6YZEgiKX7hM1GmQ==, + } + dev: true + + /@stylelint/postcss-css-in-js/0.37.3_j55xdkkcxc32kvnyvx3y7casfm: + resolution: + { + integrity: sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==, + } + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + dependencies: + '@babel/core': 7.23.9 + postcss: 7.0.39 + postcss-syntax: 0.36.2_kei4jy7wdgbhc236h4oijypxom + transitivePeerDependencies: + - supports-color + dev: true + + /@stylelint/postcss-css-in-js/0.38.0_64375vj2stjdn6gyt55zwvoboa: + resolution: + { + integrity: sha512-XOz5CAe49kS95p5yRd+DAIWDojTjfmyAQ4bbDlXMdbZTQ5t0ThjSLvWI6JI2uiS7MFurVBkZ6zUqcimzcLTBoQ==, + } + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + dependencies: + '@babel/core': 7.23.9 + postcss: 8.4.21 + postcss-syntax: 0.36.2_postcss@8.4.21 + transitivePeerDependencies: + - supports-color + dev: true + + /@stylelint/postcss-markdown/0.36.2_j55xdkkcxc32kvnyvx3y7casfm: + resolution: + { + integrity: sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==, + } + deprecated: 'Use the original unforked package instead: postcss-markdown' + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + dependencies: + postcss: 7.0.39 + postcss-syntax: 0.36.2_kei4jy7wdgbhc236h4oijypxom + remark: 13.0.0 + unist-util-find-all-after: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/babel-plugin-add-jsx-attribute/6.5.1_@babel+core@7.23.9: + resolution: + { + integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==, + } + engines: { node: '>=10' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + dev: true + + /@svgr/babel-plugin-remove-jsx-attribute/8.0.0_@babel+core@7.23.9: + resolution: + { + integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==, + } + engines: { node: '>=14' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + dev: true + + /@svgr/babel-plugin-remove-jsx-empty-expression/8.0.0_@babel+core@7.23.9: + resolution: + { + integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==, + } + engines: { node: '>=14' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + dev: true + + /@svgr/babel-plugin-replace-jsx-attribute-value/6.5.1_@babel+core@7.23.9: + resolution: + { + integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==, + } + engines: { node: '>=10' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + dev: true + + /@svgr/babel-plugin-svg-dynamic-title/6.5.1_@babel+core@7.23.9: + resolution: + { + integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==, + } + engines: { node: '>=10' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + dev: true + + /@svgr/babel-plugin-svg-em-dimensions/6.5.1_@babel+core@7.23.9: + resolution: + { + integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==, + } + engines: { node: '>=10' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + dev: true + + /@svgr/babel-plugin-transform-react-native-svg/6.5.1_@babel+core@7.23.9: + resolution: + { + integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==, + } + engines: { node: '>=10' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + dev: true + + /@svgr/babel-plugin-transform-svg-component/6.5.1_@babel+core@7.23.9: + resolution: + { + integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==, + } + engines: { node: '>=12' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + dev: true + + /@svgr/babel-preset/6.5.1_@babel+core@7.23.9: + resolution: + { + integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==, + } + engines: { node: '>=10' } + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1_@babel+core@7.23.9 + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0_@babel+core@7.23.9 + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0_@babel+core@7.23.9 + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1_@babel+core@7.23.9 + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1_@babel+core@7.23.9 + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1_@babel+core@7.23.9 + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1_@babel+core@7.23.9 + '@svgr/babel-plugin-transform-svg-component': 6.5.1_@babel+core@7.23.9 + dev: true + + /@svgr/core/6.5.1: + resolution: + { + integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==, + } + engines: { node: '>=10' } dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + '@babel/core': 7.23.9 + '@svgr/babel-preset': 6.5.1_@babel+core@7.23.9 + '@svgr/plugin-jsx': 6.5.1_@svgr+core@6.5.1 + camelcase: 6.3.0 + cosmiconfig: 7.1.0 + transitivePeerDependencies: + - supports-color dev: true - /@nodelib/fs.stat/2.0.5: + /@svgr/hast-util-to-babel-ast/6.5.1: resolution: { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==, } - engines: { node: '>= 8' } + engines: { node: '>=10' } + dependencies: + '@babel/types': 7.23.9 + entities: 4.4.0 dev: true - /@nodelib/fs.walk/1.2.8: + /@svgr/plugin-jsx/6.5.1_@svgr+core@6.5.1: resolution: { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==, } - engines: { node: '>= 8' } + engines: { node: '>=10' } + peerDependencies: + '@svgr/core': ^6.0.0 dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + '@babel/core': 7.23.9 + '@svgr/babel-preset': 6.5.1_@babel+core@7.23.9 + '@svgr/core': 6.5.1 + '@svgr/hast-util-to-babel-ast': 6.5.1 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color dev: true - /@rc-component/color-picker/1.5.2_biqbaboplfbrettd7655fr4n2y: + /@svgr/plugin-svgo/6.5.1_@svgr+core@6.5.1: resolution: { - integrity: sha512-YJXujYzYFAEtlXJXy0yJUhwzUWPTcniBZto+wZ/vnACmFnUTNR7dH+NOeqSwMMsssh74e9H5Jfpr5LAH2PYqUw==, + integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==, } + engines: { node: '>=10' } peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + '@svgr/core': '*' + dependencies: + '@svgr/core': 6.5.1 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + svgo: 2.8.0 + dev: true + + /@swc/core-darwin-arm64/1.3.72: + resolution: + { + integrity: sha512-oNSI5hVfZ+1xpj+dH1g4kQqA0VsGtqd8S9S+cDqkHZiOOVOevw9KN6dzVtmLOcPtlULVypVc0TVvsB55KdVZhQ==, + } + engines: { node: '>=10' } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@swc/core-darwin-x64/1.3.72: + resolution: + { + integrity: sha512-y5O/WQ1g0/VfTgeNahWIOutbdD5U2Gi703jaefdcoJo3FUx8WU108QQdbVGwGMgaqapo3iQB6Qs9paixYQAYsA==, + } + engines: { node: '>=10' } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm-gnueabihf/1.3.72: + resolution: + { + integrity: sha512-05JdWcso0OomHF+7bk5MBDgI8MZ9skcQ/4nhSv5gboSgSiuBmKM15Bg3lZ5iAUwGByNj7pGkSmmd3YwTrXEB+g==, + } + engines: { node: '>=10' } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-gnu/1.3.72: + resolution: + { + integrity: sha512-8qRELJaeYshhJgqvyOeXCKqBOpai+JYdWuouMbvvDUL85j3OcZhzR+bipexEbbJKcOCdRnoYB7Qg6mjqZ0t7VA==, + } + engines: { node: '>=10' } + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-arm64-musl/1.3.72: + resolution: + { + integrity: sha512-tOqAGZw+Pe7YrBHFrwFVyRiKqjgjzwYbJmY+UDxLrzWrZSVtC3eO2TPrp7kWmhirg40Og81BbdfRAl8ds48w0Q==, + } + engines: { node: '>=10' } + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-gnu/1.3.72: + resolution: + { + integrity: sha512-U2W2xWR3s9nplGVWz376GiBlcLTgxyYKlpZPBNZk0w3OvTcjKC62gW1Pe7PUkk4NgJUnaQDBa/mb4V4Zl+GZPA==, + } + engines: { node: '>=10' } + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@swc/core-linux-x64-musl/1.3.72: + resolution: + { + integrity: sha512-3+2dUiZBsifKgvnFEHWdysXjInK8K+BfPBw2tTZJmq1+fZLt0rvuErYDVMLfIJnVWLCcJMnDtTXrvkFV1y/6iA==, + } + engines: { node: '>=10' } + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-arm64-msvc/1.3.72: + resolution: + { + integrity: sha512-ndI8xZ2AId806D25xgqw2SFJ9gc/jhg21+5hA8XPq9ZL+oDiaYDztaP3ijVmZ1G5xXKD9DpgB7xmylv/f6o6GA==, + } + engines: { node: '>=10' } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-ia32-msvc/1.3.72: + resolution: + { + integrity: sha512-F3TK8JHP3SRFjLRlzcRVZPnvvGm2CQ5/cwbIkaEq0Dla3kyctU8SiRqvtYwWCW4JuY10cUygIg93Ec/C9Lkk4g==, + } + engines: { node: '>=10' } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core-win32-x64-msvc/1.3.72: + resolution: + { + integrity: sha512-FXMnIUtLl0yEmGkw+xbUg/uUPExvUxUlLSHbX7CnbSuOIHqMHzvEd9skIueLAst4bvmJ8kT1hDyAIWQcTIAJYQ==, + } + engines: { node: '>=10' } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@swc/core/1.3.72: + resolution: + { + integrity: sha512-+AKjwLH3/STfPrd7CHzB9+NG1FVT0UKJMUChuWq9sQ8b9xlV8vUeRgZXgh/EHYvNQgl/OUTQKtL6xU2yOLuEuA==, + } + engines: { node: '>=10' } + requiresBuild: true + peerDependencies: + '@swc/helpers': ^0.5.0 + peerDependenciesMeta: + '@swc/helpers': + optional: true + optionalDependencies: + '@swc/core-darwin-arm64': 1.3.72 + '@swc/core-darwin-x64': 1.3.72 + '@swc/core-linux-arm-gnueabihf': 1.3.72 + '@swc/core-linux-arm64-gnu': 1.3.72 + '@swc/core-linux-arm64-musl': 1.3.72 + '@swc/core-linux-x64-gnu': 1.3.72 + '@swc/core-linux-x64-musl': 1.3.72 + '@swc/core-win32-arm64-msvc': 1.3.72 + '@swc/core-win32-ia32-msvc': 1.3.72 + '@swc/core-win32-x64-msvc': 1.3.72 + dev: true + + /@testing-library/dom/8.20.0: + resolution: + { + integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==, + } + engines: { node: '>=12' } dependencies: + '@babel/code-frame': 7.23.5 '@babel/runtime': 7.23.9 - '@ctrl/tinycolor': 3.6.1 - classnames: 2.5.1 - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + '@types/aria-query': 5.0.1 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 dev: true - /@rc-component/context/1.3.0_jnbmergxldlwssobus342vza4q: + /@testing-library/jest-dom/5.16.5: resolution: { - integrity: sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w==, + integrity: sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==, + } + engines: { node: '>=8', npm: '>=6', yarn: '>=1' } + dependencies: + '@adobe/css-tools': 4.2.0 + '@babel/runtime': 7.21.0 + '@types/testing-library__jest-dom': 5.14.5 + aria-query: 5.1.3 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.5.16 + lodash: 4.17.21 + redent: 3.0.0 + dev: true + + /@testing-library/react/13.4.0_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==, } + engines: { node: '>=12' } peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' + react: ^18.0.0 + react-dom: ^18.0.0 dependencies: '@babel/runtime': 7.21.0 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@testing-library/dom': 8.20.0 + '@types/react-dom': 18.0.11 react: 18.2.0 - react-dom: 16.14.0_react@18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + + /@tootallnate/once/2.0.0: + resolution: + { + integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, + } + engines: { node: '>= 10' } + dev: true + + /@trysound/sax/0.2.0: + resolution: + { + integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==, + } + engines: { node: '>=10.13.0' } + dev: true + + /@tsconfig/node10/1.0.9: + resolution: + { + integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, + } + dev: true + + /@tsconfig/node12/1.0.11: + resolution: + { + integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, + } + dev: true + + /@tsconfig/node14/1.0.3: + resolution: + { + integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, + } + dev: true + + /@tsconfig/node16/1.0.3: + resolution: + { + integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==, + } + dev: true + + /@types/aria-query/5.0.1: + resolution: + { + integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==, + } + dev: true + + /@types/babel__core/7.20.0: + resolution: + { + integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==, + } + dependencies: + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.18.3 + dev: true + + /@types/babel__generator/7.6.4: + resolution: + { + integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==, + } + dependencies: + '@babel/types': 7.23.9 + dev: true + + /@types/babel__template/7.4.1: + resolution: + { + integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==, + } + dependencies: + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 dev: true - /@rc-component/context/1.4.0_biqbaboplfbrettd7655fr4n2y: + /@types/babel__traverse/7.18.3: resolution: { - integrity: sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==, + integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==, } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.9 - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + '@babel/types': 7.23.9 dev: true - /@rc-component/mini-decimal/1.0.1: + /@types/d3-array/3.2.1: resolution: { - integrity: sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==, + integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==, } - engines: { node: '>=8.x' } - dependencies: - '@babel/runtime': 7.21.0 dev: true - /@rc-component/mini-decimal/1.1.0: + /@types/d3-axis/3.0.6: resolution: { - integrity: sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==, + integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==, } - engines: { node: '>=8.x' } dependencies: - '@babel/runtime': 7.23.9 + '@types/d3-selection': 3.0.10 dev: true - /@rc-component/mutate-observer/1.0.0_jnbmergxldlwssobus342vza4q: + /@types/d3-brush/3.0.6: resolution: { - integrity: sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==, + integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==, } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q - react: 18.2.0 - react-dom: 16.14.0_react@18.2.0 + '@types/d3-selection': 3.0.10 dev: true - /@rc-component/mutate-observer/1.1.0_biqbaboplfbrettd7655fr4n2y: + /@types/d3-chord/3.0.6: resolution: { - integrity: sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==, + integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==, } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.23.9 - classnames: 2.5.1 - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 dev: true - /@rc-component/portal/1.1.0_jnbmergxldlwssobus342vza4q: + /@types/d3-color/3.1.3: resolution: { - integrity: sha512-tbXM9SB1r5FOuZjRCljERFByFiEUcMmCWMXLog/NmgCzlAzreXyf23Vei3ZpSMxSMavzPnhCovfZjZdmxS3d1w==, + integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==, } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q - react: 18.2.0 - react-dom: 16.14.0_react@18.2.0 dev: true - /@rc-component/portal/1.1.2_biqbaboplfbrettd7655fr4n2y: + /@types/d3-contour/3.0.6: resolution: { - integrity: sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==, + integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==, } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.9 - classnames: 2.5.1 - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + '@types/d3-array': 3.2.1 + '@types/geojson': 7946.0.14 dev: true - /@rc-component/tour/1.12.3_biqbaboplfbrettd7655fr4n2y: + /@types/d3-delaunay/6.0.4: resolution: { - integrity: sha512-U4mf1FiUxGCwrX4ed8op77Y8VKur+8Y/61ylxtqGbcSoh1EBC7bWd/DkLu0ClTUrKZInqEi1FL7YgFtnT90vHA==, + integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==, } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.23.9 - '@rc-component/portal': 1.1.2_biqbaboplfbrettd7655fr4n2y - '@rc-component/trigger': 1.18.3_biqbaboplfbrettd7655fr4n2y - classnames: 2.5.1 - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 dev: true - /@rc-component/tour/1.8.0_jnbmergxldlwssobus342vza4q: + /@types/d3-dispatch/3.0.6: resolution: { - integrity: sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA==, + integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==, } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.0_jnbmergxldlwssobus342vza4q - '@rc-component/trigger': 1.5.0_jnbmergxldlwssobus342vza4q - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q - react: 18.2.0 - react-dom: 16.14.0_react@18.2.0 dev: true - /@rc-component/trigger/1.18.3_biqbaboplfbrettd7655fr4n2y: + /@types/d3-drag/3.0.7: resolution: { - integrity: sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA==, + integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==, } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.23.9 - '@rc-component/portal': 1.1.2_biqbaboplfbrettd7655fr4n2y - classnames: 2.5.1 - rc-motion: 2.9.0_biqbaboplfbrettd7655fr4n2y - rc-resize-observer: 1.4.0_biqbaboplfbrettd7655fr4n2y - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + '@types/d3-selection': 3.0.10 dev: true - /@rc-component/trigger/1.5.0_jnbmergxldlwssobus342vza4q: + /@types/d3-dsv/3.0.7: resolution: { - integrity: sha512-uF5H7FjRbSDaCIWe+aASk/vdTJtmhZvAIcH5IbO/jBXdEbLz9OYoY7QfHWfmUwNGaEX640+z8mAawiVBQGOwFw==, + integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==, } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.0_jnbmergxldlwssobus342vza4q - classnames: 2.3.2 - rc-align: 4.0.15_jnbmergxldlwssobus342vza4q - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-resize-observer: 1.3.1_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q - react: 18.2.0 - react-dom: 16.14.0_react@18.2.0 dev: true - /@remix-run/router/1.3.3: + /@types/d3-ease/3.0.2: resolution: { - integrity: sha512-YRHie1yQEj0kqqCTCJEfHqYSSNlZQ696QJG+MMiW4mxSl9I0ojz/eRhJS4fs88Z5i6D1SmoF9d3K99/QOhI8/w==, + integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==, } - engines: { node: '>=14' } + dev: true - /@sinclair/typebox/0.24.51: + /@types/d3-fetch/3.0.7: resolution: { - integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==, + integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==, } + dependencies: + '@types/d3-dsv': 3.0.7 dev: true - /@sinclair/typebox/0.25.24: + /@types/d3-force/3.0.9: resolution: { - integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==, + integrity: sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==, } dev: true - /@sinclair/typebox/0.27.8: + /@types/d3-format/3.0.4: resolution: { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==, } dev: true - /@sinonjs/commons/2.0.0: + /@types/d3-geo/3.1.0: resolution: { - integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==, + integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==, } dependencies: - type-detect: 4.0.8 + '@types/geojson': 7946.0.14 dev: true - /@sinonjs/fake-timers/10.0.2: + /@types/d3-hierarchy/3.1.6: resolution: { - integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==, + integrity: sha512-qlmD/8aMk5xGorUvTUWHCiumvgaUXYldYjNVOWtYoTYY/L+WwIEAmJxUmTgr9LoGNG0PPAOmqMDJVDPc7DOpPw==, } - dependencies: - '@sinonjs/commons': 2.0.0 dev: true - /@stylelint/postcss-css-in-js/0.37.3_j55xdkkcxc32kvnyvx3y7casfm: + /@types/d3-interpolate/3.0.4: resolution: { - integrity: sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==, + integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==, } - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - peerDependencies: - postcss: '>=7.0.0' - postcss-syntax: '>=0.36.2' dependencies: - '@babel/core': 7.21.0 - postcss: 7.0.39 - postcss-syntax: 0.36.2_postcss@7.0.39 - transitivePeerDependencies: - - supports-color + '@types/d3-color': 3.1.3 dev: true - /@stylelint/postcss-markdown/0.36.2_j55xdkkcxc32kvnyvx3y7casfm: + /@types/d3-path/3.1.0: resolution: { - integrity: sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==, + integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==, } - deprecated: 'Use the original unforked package instead: postcss-markdown' - peerDependencies: - postcss: '>=7.0.0' - postcss-syntax: '>=0.36.2' - dependencies: - postcss: 7.0.39 - postcss-syntax: 0.36.2_postcss@7.0.39 - remark: 13.0.0 - unist-util-find-all-after: 3.0.2 - transitivePeerDependencies: - - supports-color dev: true - /@testing-library/dom/8.20.0: + /@types/d3-polygon/3.0.2: resolution: { - integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==, + integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==, } - engines: { node: '>=12' } - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/runtime': 7.21.0 - '@types/aria-query': 5.0.1 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 dev: true - /@testing-library/jest-dom/5.16.5: + /@types/d3-quadtree/3.0.6: resolution: { - integrity: sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==, + integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==, } - engines: { node: '>=8', npm: '>=6', yarn: '>=1' } - dependencies: - '@adobe/css-tools': 4.2.0 - '@babel/runtime': 7.21.0 - '@types/testing-library__jest-dom': 5.14.5 - aria-query: 5.1.3 - chalk: 3.0.0 - css.escape: 1.5.1 - dom-accessibility-api: 0.5.16 - lodash: 4.17.21 - redent: 3.0.0 dev: true - /@testing-library/react/13.4.0_biqbaboplfbrettd7655fr4n2y: + /@types/d3-random/3.0.3: resolution: { - integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==, + integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==, } - engines: { node: '>=12' } - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@babel/runtime': 7.21.0 - '@testing-library/dom': 8.20.0 - '@types/react-dom': 18.0.11 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 dev: true - /@tootallnate/once/1.1.2: + /@types/d3-scale-chromatic/3.0.3: resolution: { - integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==, + integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==, } - engines: { node: '>= 6' } dev: true - /@tootallnate/once/2.0.0: + /@types/d3-scale/4.0.8: resolution: { - integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, + integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==, } - engines: { node: '>= 10' } + dependencies: + '@types/d3-time': 3.0.3 dev: true - /@tsconfig/node10/1.0.9: + /@types/d3-selection/3.0.10: resolution: { - integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, + integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==, } dev: true - /@tsconfig/node12/1.0.11: + /@types/d3-shape/3.1.6: resolution: { - integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, + integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==, } + dependencies: + '@types/d3-path': 3.1.0 dev: true - /@tsconfig/node14/1.0.3: + /@types/d3-time-format/4.0.3: resolution: { - integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, + integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==, } dev: true - /@tsconfig/node16/1.0.3: + /@types/d3-time/3.0.3: resolution: { - integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==, + integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==, } dev: true - /@types/aria-query/5.0.1: + /@types/d3-timer/3.0.2: resolution: { - integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==, + integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==, } dev: true - /@types/babel__core/7.20.0: + /@types/d3-transition/3.0.8: resolution: { - integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==, + integrity: sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==, } dependencies: - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.18.3 + '@types/d3-selection': 3.0.10 dev: true - /@types/babel__generator/7.6.4: + /@types/d3-zoom/3.0.8: resolution: { - integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==, + integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==, } dependencies: - '@babel/types': 7.21.2 + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.10 dev: true - /@types/babel__template/7.4.1: + /@types/d3/7.4.3: resolution: { - integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==, + integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==, } dependencies: - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 + '@types/d3-array': 3.2.1 + '@types/d3-axis': 3.0.6 + '@types/d3-brush': 3.0.6 + '@types/d3-chord': 3.0.6 + '@types/d3-color': 3.1.3 + '@types/d3-contour': 3.0.6 + '@types/d3-delaunay': 6.0.4 + '@types/d3-dispatch': 3.0.6 + '@types/d3-drag': 3.0.7 + '@types/d3-dsv': 3.0.7 + '@types/d3-ease': 3.0.2 + '@types/d3-fetch': 3.0.7 + '@types/d3-force': 3.0.9 + '@types/d3-format': 3.0.4 + '@types/d3-geo': 3.1.0 + '@types/d3-hierarchy': 3.1.6 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.0 + '@types/d3-polygon': 3.0.2 + '@types/d3-quadtree': 3.0.6 + '@types/d3-random': 3.0.3 + '@types/d3-scale': 4.0.8 + '@types/d3-scale-chromatic': 3.0.3 + '@types/d3-selection': 3.0.10 + '@types/d3-shape': 3.1.6 + '@types/d3-time': 3.0.3 + '@types/d3-time-format': 4.0.3 + '@types/d3-timer': 3.0.2 + '@types/d3-transition': 3.0.8 + '@types/d3-zoom': 3.0.8 dev: true - /@types/babel__traverse/7.18.3: + /@types/debug/4.1.12: resolution: { - integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==, + integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==, } dependencies: - '@babel/types': 7.21.2 + '@types/ms': 0.7.34 dev: true /@types/eslint-scope/3.7.4: @@ -3551,23 +6137,49 @@ packages: } dependencies: '@types/estree': 1.0.5 - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.12 dev: true /@types/eslint/8.44.2: resolution: { - integrity: sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==, + integrity: sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==, + } + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.12 + dev: true + + /@types/estree-jsx/1.0.5: + resolution: + { + integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==, + } + dependencies: + '@types/estree': 1.0.5 + dev: true + + /@types/estree/1.0.5: + resolution: + { + integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + } + dev: true + + /@types/fs-extra/11.0.1: + resolution: + { + integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==, } dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.12 + '@types/jsonfile': 6.1.4 + '@types/node': 20.11.20 dev: true - /@types/estree/1.0.5: + /@types/geojson/7946.0.14: resolution: { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==, } dev: true @@ -3578,7 +6190,7 @@ packages: } dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.14.6 + '@types/node': 20.11.20 dev: true /@types/graceful-fs/4.1.6: @@ -3587,13 +6199,20 @@ packages: integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==, } dependencies: - '@types/node': 18.14.6 + '@types/node': 20.11.20 + dev: true + + /@types/hapi__joi/17.1.9: + resolution: + { + integrity: sha512-oOMFT8vmCTFncsF1engrs04jatz8/Anwx3De9uxnOK4chgSEgWBvFtpSoJo8u3784JNO+ql5tzRR6phHoRnscQ==, + } dev: true - /@types/hast/2.3.4: + /@types/hast/2.3.10: resolution: { - integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==, + integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==, } dependencies: '@types/unist': 2.0.6 @@ -3606,14 +6225,21 @@ packages: } dev: true - /@types/history/5.0.0: + /@types/hoist-non-react-statics/3.3.5: resolution: { - integrity: sha512-hy8b7Y1J8OGe6LbAjj3xniQrj3v6lsivCcrmf4TzSgPzLkhIeKgc5IZnT7ReIqmEuodjfO8EYAuoFvIrHi/+jQ==, + integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==, } - deprecated: This is a stub types definition. history provides its own type definitions, so you do not need this installed. dependencies: - history: 5.3.0 + '@types/react': 18.0.28 + hoist-non-react-statics: 3.3.2 + dev: true + + /@types/html-minifier-terser/6.1.0: + resolution: + { + integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==, + } dev: true /@types/istanbul-lib-coverage/2.0.4: @@ -3671,23 +6297,25 @@ packages: integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==, } dependencies: - '@types/node': 18.14.6 + '@types/node': 20.11.20 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true - /@types/json-schema/7.0.11: + /@types/json-schema/7.0.12: resolution: { - integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==, + integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==, } dev: true - /@types/json-schema/7.0.12: + /@types/jsonfile/6.1.4: resolution: { - integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==, + integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==, } + dependencies: + '@types/node': 20.11.20 dev: true /@types/keyv/3.1.4: @@ -3706,17 +6334,10 @@ packages: } dev: true - /@types/mathjax/0.0.36: - resolution: - { - integrity: sha512-TqDJc2GWuTqd/m+G/FbNkN+/TF2OCCHvcawmhIrUaZkdVquMdNZmNiNUkupNg9qctorXXkVLVSogZv1DhmgLmg==, - } - dev: true - - /@types/mdast/3.0.10: + /@types/mdast/3.0.15: resolution: { - integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==, + integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==, } dependencies: '@types/unist': 2.0.6 @@ -3743,10 +6364,17 @@ packages: } dev: true - /@types/node/14.18.37: + /@types/ms/0.7.34: + resolution: + { + integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==, + } + dev: true + + /@types/node/17.0.45: resolution: { - integrity: sha512-7GgtHCs/QZrBrDzgIJnQtuSvhFSwhyYSI2uafSwZoNt1iOGhEN5fwNrQMjtONyHm9+/LoA4453jH0CMYcr06Pg==, + integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==, } dev: true @@ -3766,13 +6394,6 @@ packages: undici-types: 5.26.5 dev: true - /@types/node/20.6.0: - resolution: - { - integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==, - } - dev: true - /@types/normalize-package-data/2.4.1: resolution: { @@ -3787,10 +6408,10 @@ packages: } dev: true - /@types/parse5/5.0.3: + /@types/parse5/6.0.3: resolution: { - integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==, + integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==, } dev: true @@ -3808,53 +6429,28 @@ packages: } dev: true - /@types/react-dom/16.9.18: - resolution: - { - integrity: sha512-lmNARUX3+rNF/nmoAFqasG0jAA7q6MeGZK/fdeLwY3kAA4NPgHHrG5bNQe2B5xmD4B+x6Z6h0rEJQ7MEEgQxsw==, - } - dependencies: - '@types/react': 16.14.35 - dev: true - - /@types/react-dom/18.0.11: - resolution: - { - integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==, - } - dependencies: - '@types/react': 18.0.28 - dev: true - - /@types/react-router-config/5.0.2: + /@types/q/1.5.8: resolution: { - integrity: sha512-WOSetDV3YPxbkVJAdv/bqExJjmcdCi/vpCJh3NfQOy1X15vHMSiMioXIcGekXDJJYhqGUMDo9e337mh508foAA==, + integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==, } - dependencies: - '@types/history': 5.0.0 - '@types/react': 18.0.28 - '@types/react-router': 5.1.20 dev: true - /@types/react-router-dom/5.1.7: + /@types/ramda/0.29.3: resolution: { - integrity: sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg==, + integrity: sha512-Yh/RHkjN0ru6LVhSQtTkCRo6HXkfL9trot/2elzM/yXLJmbLm2v6kJc8yftTnwv1zvUob6TEtqI2cYjdqG3U0Q==, } dependencies: - '@types/history': 5.0.0 - '@types/react': 18.0.28 - '@types/react-router': 5.1.20 + types-ramda: 0.29.8 dev: true - /@types/react-router/5.1.12: + /@types/react-dom/18.0.11: resolution: { - integrity: sha512-0bhXQwHYfMeJlCh7mGhc0VJTRm0Gk+Z8T00aiP4702mDUuLs9SMhnd2DitpjWFjdOecx2UXtICK14H9iMnziGA==, + integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==, } dependencies: - '@types/history': 5.0.0 '@types/react': 18.0.28 dev: true @@ -3868,17 +6464,6 @@ packages: '@types/react': 18.0.28 dev: true - /@types/react/16.14.35: - resolution: - { - integrity: sha512-NUEiwmSS1XXtmBcsm1NyRRPYjoZF2YTE89/5QiLt5mlGffYK9FQqOKuOLuXNrjPQV04oQgaZG+Yq02ZfHoFyyg==, - } - dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.3 - dev: true - /@types/react/18.0.28: resolution: { @@ -3887,7 +6472,7 @@ packages: dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 - csstype: 3.1.1 + csstype: 3.1.3 dev: true /@types/responselike/1.0.0: @@ -3905,7 +6490,7 @@ packages: integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==, } dependencies: - '@types/node': 14.18.37 + '@types/node': 20.11.20 dev: true /@types/scheduler/0.16.2: @@ -3959,6 +6544,15 @@ packages: } dev: true + /@types/yargs/16.0.9: + resolution: + { + integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==, + } + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + /@types/yargs/17.0.22: resolution: { @@ -3991,7 +6585,7 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.54.0_b7tisbpcguunpryxdryrb3yucu + '@typescript-eslint/parser': 5.54.0_jofidmxrjzhj7l6vknpw5ecvfe '@typescript-eslint/scope-manager': 5.54.0 '@typescript-eslint/type-utils': 5.54.0_jofidmxrjzhj7l6vknpw5ecvfe '@typescript-eslint/utils': 5.54.0_jofidmxrjzhj7l6vknpw5ecvfe @@ -4001,13 +6595,44 @@ packages: ignore: 5.2.4 natural-compare-lite: 1.4.0 regexpp: 3.2.0 - semver: 7.3.8 + semver: 7.5.4 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true + /@typescript-eslint/eslint-plugin/5.62.0_m2cxlwrnli62flezl4w56zrvky: + resolution: + { + integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 5.62.0_b7tisbpcguunpryxdryrb3yucu + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0_b7tisbpcguunpryxdryrb3yucu + '@typescript-eslint/utils': 5.62.0_b7tisbpcguunpryxdryrb3yucu + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare-lite: 1.4.0 + semver: 7.5.4 + tsutils: 3.21.0_typescript@5.1.3 + typescript: 5.1.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/experimental-utils/4.33.0_jofidmxrjzhj7l6vknpw5ecvfe: resolution: { @@ -4017,7 +6642,7 @@ packages: peerDependencies: eslint: '*' dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.12 '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.9.5 @@ -4029,7 +6654,7 @@ packages: - typescript dev: true - /@typescript-eslint/parser/5.54.0_b7tisbpcguunpryxdryrb3yucu: + /@typescript-eslint/parser/5.54.0_jofidmxrjzhj7l6vknpw5ecvfe: resolution: { integrity: sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==, @@ -4044,7 +6669,30 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.54.0 '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/typescript-estree': 5.54.0_typescript@5.1.3 + '@typescript-eslint/typescript-estree': 5.54.0_typescript@4.9.5 + debug: 4.3.4 + eslint: 7.32.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.62.0_b7tisbpcguunpryxdryrb3yucu: + resolution: + { + integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0_typescript@5.1.3 debug: 4.3.4 eslint: 8.57.0 typescript: 5.1.3 @@ -4074,6 +6722,17 @@ packages: '@typescript-eslint/visitor-keys': 5.54.0 dev: true + /@typescript-eslint/scope-manager/5.62.0: + resolution: + { + integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + /@typescript-eslint/type-utils/5.54.0_jofidmxrjzhj7l6vknpw5ecvfe: resolution: { @@ -4097,6 +6756,29 @@ packages: - supports-color dev: true + /@typescript-eslint/type-utils/5.62.0_b7tisbpcguunpryxdryrb3yucu: + resolution: + { + integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0_typescript@5.1.3 + '@typescript-eslint/utils': 5.62.0_b7tisbpcguunpryxdryrb3yucu + debug: 4.3.4 + eslint: 8.57.0 + tsutils: 3.21.0_typescript@5.1.3 + typescript: 5.1.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/types/4.33.0: resolution: { @@ -4113,6 +6795,14 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true + /@typescript-eslint/types/5.62.0: + resolution: + { + integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + /@typescript-eslint/typescript-estree/4.33.0_typescript@4.9.5: resolution: { @@ -4130,7 +6820,7 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 + semver: 7.5.4 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: @@ -4154,17 +6844,17 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 + semver: 7.5.4 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree/5.54.0_typescript@5.1.3: + /@typescript-eslint/typescript-estree/5.62.0_typescript@5.1.3: resolution: { - integrity: sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==, + integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: @@ -4173,12 +6863,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.54.0 - '@typescript-eslint/visitor-keys': 5.54.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 + semver: 7.5.4 tsutils: 3.21.0_typescript@5.1.3 typescript: 5.1.3 transitivePeerDependencies: @@ -4194,7 +6884,7 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.12 '@types/semver': 7.3.13 '@typescript-eslint/scope-manager': 5.54.0 '@typescript-eslint/types': 5.54.0 @@ -4202,213 +6892,348 @@ packages: eslint: 7.32.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@7.32.0 - semver: 7.3.8 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils/5.62.0_b7tisbpcguunpryxdryrb3yucu: + resolution: + { + integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==, + } + 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.57.0 + '@types/json-schema': 7.0.12 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0_typescript@5.1.3 + eslint: 8.57.0 + eslint-scope: 5.1.1 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/4.33.0: + resolution: + { + integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==, + } + engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } + dependencies: + '@typescript-eslint/types': 4.33.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /@typescript-eslint/visitor-keys/5.54.0: + resolution: + { + integrity: sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + '@typescript-eslint/types': 5.54.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys/5.62.0: + resolution: + { + integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@umijs/ast/4.1.2: + resolution: + { + integrity: sha512-ejgp07sn4IEMf8Urxt+su9KrUWIWp0rhtnljB3XVR2A4mcVdz1jtSQbqYwQFtgn6Mp6tCMG+H1fkweRWj7+vfQ==, + } + dependencies: + '@umijs/bundler-utils': 4.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/babel-preset-umi/4.1.2: + resolution: + { + integrity: sha512-SdizYktVzp5ODwOQEeHzAwt+/WGUaIO/py9z1lGQdzxGfiTkEMU5hB70bh0fFKn3jOKCKTdBLw8BfIi2E/GwDQ==, + } + dependencies: + '@babel/runtime': 7.23.6 + '@bloomberg/record-tuple-polyfill': 0.0.4 + '@umijs/bundler-utils': 4.1.2 + '@umijs/utils': 4.1.2 + core-js: 3.34.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/bundler-esbuild/4.1.2: + resolution: + { + integrity: sha512-LcAlqoQKDUeEYmkLw2mB2T9FBOjZQsFSzCw6ZYItTV2zIdFNlH4U5slfhRqlwQbzxDgBrbPLEGl0M85CqEFE4w==, + } + hasBin: true + dependencies: + '@umijs/bundler-utils': 4.1.2 + '@umijs/utils': 4.1.2 + enhanced-resolve: 5.9.3 + postcss: 8.4.21 + postcss-flexbugs-fixes: 5.0.2_postcss@8.4.21 + postcss-preset-env: 7.5.0_postcss@8.4.21 + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/bundler-utils/4.1.2: + resolution: + { + integrity: sha512-bcN3VSgCPZjyLmQrRWPfPkuhVP0GCFyBLTxzr4vPHQTYx7FjHJcvpEbOsXoVNiBHowRA8J6PGCB/jxqRSO1yxw==, + } + dependencies: + '@umijs/utils': 4.1.2 + esbuild: 0.17.19 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + spdy: 4.0.2 transitivePeerDependencies: - supports-color - - typescript dev: true - /@typescript-eslint/visitor-keys/4.33.0: + /@umijs/bundler-vite/4.1.2_2qpxjod5fkhd5fgxli4ejdun2m: resolution: { - integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==, + integrity: sha512-znqi0rb8zsh90jT8duCkGj/gcli8xEkjQDi1y6BA/dshIO9Ra4KT9riijJsaumiD+OJrABpV2DWjX7JrszzByg==, } - engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 } + hasBin: true dependencies: - '@typescript-eslint/types': 4.33.0 - eslint-visitor-keys: 2.1.0 + '@svgr/core': 6.5.1 + '@umijs/bundler-utils': 4.1.2 + '@umijs/utils': 4.1.2 + '@vitejs/plugin-react': 4.0.0_vite@4.3.1 + core-js: 3.34.0 + less: 4.1.3 + postcss-preset-env: 7.5.0_postcss@8.4.21 + rollup-plugin-visualizer: 5.9.0 + systemjs: 6.14.3 + vite: 4.3.1_@types+node@18.14.6 + transitivePeerDependencies: + - '@types/node' + - postcss + - rollup + - sass + - stylus + - sugarss + - supports-color + - terser dev: true - /@typescript-eslint/visitor-keys/5.54.0: + /@umijs/bundler-webpack/4.1.2_4gka4bvekjbmxy5tqwawlojx2a: resolution: { - integrity: sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==, + integrity: sha512-rCf+H/k1Ru/twlCvAlqjjRIZRZJNZmaXpROaQ6VviPDj1F5YLDWMCunvdGf8KOeBVTLy4syhdxn95ZIyKcPpPA==, } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + hasBin: true dependencies: - '@typescript-eslint/types': 5.54.0 - eslint-visitor-keys: 3.4.3 + '@svgr/core': 6.5.1 + '@svgr/plugin-jsx': 6.5.1_@svgr+core@6.5.1 + '@svgr/plugin-svgo': 6.5.1_@svgr+core@6.5.1 + '@types/hapi__joi': 17.1.9 + '@umijs/babel-preset-umi': 4.1.2 + '@umijs/bundler-utils': 4.1.2 + '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 + '@umijs/mfsu': 4.1.2 + '@umijs/react-refresh-webpack-plugin': 0.5.11_zkrbwxiwgp3wtwv4jj5ekwxzpi + '@umijs/utils': 4.1.2 + cors: 2.8.5 + css-loader: 6.7.1_webpack@5.90.3 + es5-imcompatible-versions: 0.1.80 + fork-ts-checker-webpack-plugin: 8.0.0_4gka4bvekjbmxy5tqwawlojx2a + jest-worker: 29.4.3 + lightningcss: 1.22.1 + node-libs-browser: 2.2.1 + postcss: 8.4.21 + postcss-preset-env: 7.5.0_postcss@8.4.21 + react-error-overlay: 6.0.9 + react-refresh: 0.14.0 + transitivePeerDependencies: + - '@types/webpack' + - sockjs-client + - supports-color + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve dev: true - /@umijs/ast/3.5.37: + /@umijs/case-sensitive-paths-webpack-plugin/1.0.1: resolution: { - integrity: sha512-G8nwU1K82f3ZVpw9NQmf+gO3FAbtVdMocOcrgzYXGBG01xjkE4M2Tghh3yDIRNL6Yhzq0oI93laVY/vMxO+W2A==, + integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==, } - dependencies: - '@umijs/utils': 3.5.37 dev: true - /@umijs/babel-plugin-auto-css-modules/3.5.37: + /@umijs/core/4.1.2: resolution: { - integrity: sha512-4eQmHhQ894GU7NWVxCw20JjROKbhmdt+otzFO2s2pRKL6ovjgyyEAErpvoTysGWn3ETZVYqhn8mj+j4n6BP8gg==, + integrity: sha512-OZlZKG+26coItwPJBtPmqB2zGSnVJqi/BVFm4MYB3fDtY5+/KmPCSXur/FJvpmRInoVAJkahbsycmMh+dUT0wQ==, } dependencies: - '@umijs/utils': 3.5.37 + '@umijs/bundler-utils': 4.1.2 + '@umijs/utils': 4.1.2 + transitivePeerDependencies: + - supports-color dev: true - /@umijs/babel-plugin-import-to-await-require/3.5.37: + /@umijs/did-you-know/1.0.3: resolution: { - integrity: sha512-n+pos7QyWMdRAhrSjYwc3CIfrl0F/lPQ4y9LhBJ2cNknLbQCqrTZYD+Yw3WbijQtfJGjkelPk0UTYu7qpIshhg==, + integrity: sha512-9EZ+rgY9+2HEaE+Z9dGkal2ccw8L4uuz77tCB5WpskW7NBZX5nOj82sqF/shEtA5tU3SWO/Mi4n35K3iONvDtw==, } - dependencies: - '@umijs/utils': 3.5.37 dev: true - /@umijs/babel-plugin-lock-core-js-3/3.5.37: + /@umijs/es-module-parser-darwin-arm64/0.0.7: resolution: { - integrity: sha512-qxLeoebNvJY0GIFzd54JzwQbV/2tCQEi2Kw8HSvlB0kNXgOk4OKrCiBSoX802lltWUwqK/jCcR8+hyo1TOFnDQ==, + integrity: sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw==, } - dependencies: - '@umijs/utils': 3.5.37 - core-js: 3.6.5 + engines: { node: '>= 10' } + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@umijs/babel-plugin-no-anonymous-default-export/3.5.37: + /@umijs/es-module-parser-darwin-x64/0.0.7: resolution: { - integrity: sha512-HI6bRvx+CQQ4cnfslAjT2AuO2kbOH9ssR6+9BxfVRfWUfryAN+3bSurHRHO7stVOx7G4Bco6jkRqj0PFL51ZLg==, + integrity: sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA==, } - dependencies: - '@umijs/utils': 3.5.37 + engines: { node: '>= 10' } + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@umijs/babel-preset-umi/3.5.37: + /@umijs/es-module-parser-linux-arm-gnueabihf/0.0.7: resolution: { - integrity: sha512-OnJvPZIrgzUJdnIRhSjHmUePi3lgtYEK3F1JVRfrQD9RqkNJAUUnneGGpVVJACLu8tMWIdGDYceS3QN+uyEqQg==, + integrity: sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ==, } - dependencies: - '@babel/runtime': 7.18.6 - '@umijs/babel-plugin-auto-css-modules': 3.5.37 - '@umijs/babel-plugin-import-to-await-require': 3.5.37 - '@umijs/babel-plugin-lock-core-js-3': 3.5.37 - '@umijs/babel-plugin-no-anonymous-default-export': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/utils': 3.5.37 + engines: { node: '>= 10' } + cpu: [arm] + os: [linux] + requiresBuild: true dev: true + optional: true - /@umijs/bundler-utils/3.5.37_263kk2d5tiuyg32yuu7rrhuyze: + /@umijs/es-module-parser-linux-arm64-gnu/0.0.7: resolution: { - integrity: sha512-4f0CnXOkkqW7fPdKPQ1NmnhyNOjTn5cqTzAcSYtSM7pL2d0O6yf1mCe9qkUSY9fQgOYtHwrBYheS6EtTes/fQA==, + integrity: sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w==, } - dependencies: - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/types': 3.5.37_263kk2d5tiuyg32yuu7rrhuyze - '@umijs/utils': 3.5.37 - transitivePeerDependencies: - - react - - react-dom - - react-router + engines: { node: '>= 10' } + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true dev: true + optional: true - /@umijs/bundler-utils/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: + /@umijs/es-module-parser-linux-arm64-musl/0.0.7: resolution: { - integrity: sha512-4f0CnXOkkqW7fPdKPQ1NmnhyNOjTn5cqTzAcSYtSM7pL2d0O6yf1mCe9qkUSY9fQgOYtHwrBYheS6EtTes/fQA==, + integrity: sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw==, } - dependencies: - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/types': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 - '@umijs/utils': 3.5.37 - transitivePeerDependencies: - - react - - react-dom - - react-router + engines: { node: '>= 10' } + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true dev: true + optional: true - /@umijs/bundler-webpack/3.5.37_263kk2d5tiuyg32yuu7rrhuyze: + /@umijs/es-module-parser-linux-x64-gnu/0.0.7: resolution: { - integrity: sha512-t9m35Mk1zIqQLxho6F99vtAN3gXtGG1DfLh6v9htNdaRDU3TMYk3ocBLEbywS9ZNX+MUxIBKDwh63Q1CbAMNSQ==, + integrity: sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew==, } - hasBin: true - dependencies: - '@umijs/bundler-utils': 3.5.37_263kk2d5tiuyg32yuu7rrhuyze - '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 - '@umijs/deps': 3.5.37 - '@umijs/types': 3.5.37_263kk2d5tiuyg32yuu7rrhuyze - '@umijs/utils': 3.5.37 - jest-worker: 26.6.2 - node-libs-browser: 2.2.1 - normalize-url: 1.9.1 - postcss: 7.0.32 - postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 3.0.0 - postcss-preset-env: 6.7.0 - postcss-safe-parser: 4.0.2 - terser: 5.14.2 - webpack-chain: 6.5.1 - transitivePeerDependencies: - - react - - react-dom - - react-router + engines: { node: '>= 10' } + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true dev: true + optional: true - /@umijs/bundler-webpack/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: + /@umijs/es-module-parser-linux-x64-musl/0.0.7: resolution: { - integrity: sha512-t9m35Mk1zIqQLxho6F99vtAN3gXtGG1DfLh6v9htNdaRDU3TMYk3ocBLEbywS9ZNX+MUxIBKDwh63Q1CbAMNSQ==, + integrity: sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ==, } - hasBin: true - dependencies: - '@umijs/bundler-utils': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 - '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 - '@umijs/deps': 3.5.37 - '@umijs/types': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 - '@umijs/utils': 3.5.37 - jest-worker: 26.6.2 - node-libs-browser: 2.2.1 - normalize-url: 1.9.1 - postcss: 7.0.32 - postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 3.0.0 - postcss-preset-env: 6.7.0 - postcss-safe-parser: 4.0.2 - terser: 5.14.2 - webpack-chain: 6.5.1 - transitivePeerDependencies: - - react - - react-dom - - react-router + engines: { node: '>= 10' } + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true dev: true + optional: true - /@umijs/case-sensitive-paths-webpack-plugin/1.0.1: + /@umijs/es-module-parser-win32-arm64-msvc/0.0.7: resolution: { - integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==, + integrity: sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg==, } + engines: { node: '>= 10' } + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@umijs/core/3.5.37: + /@umijs/es-module-parser-win32-x64-msvc/0.0.7: resolution: { - integrity: sha512-JrmnNWgqUTl9PnkymeySXJWCQoW8k4FrNkJa1G/BeD74l7A+O90cSYxCR/UOupajVjm+cdiNXbd8v5OW1bYf+g==, + integrity: sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA==, } - dependencies: - '@umijs/ast': 3.5.37 - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/utils': 3.5.37 + engines: { node: '>= 10' } + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@umijs/deps/3.5.37: + /@umijs/es-module-parser/0.0.7: resolution: { - integrity: sha512-nR4fjlTJwI5HVZpI8j7DchLFF3L9ZfJBpxibO8Gbucp6wEkFmNbMFggZC1x8p+1bNAVf2a0LV1WgIgtO5rxLzg==, + integrity: sha512-x47CMi/Hw7Nkz3RXTUqlldH/UM+Tcmw2PziV3k+itJqTFJc8oVx3lzdUgCnG+eL3ZtmLPbOEBhPb30V0NytNDQ==, } - dependencies: - '@bloomberg/record-tuple-polyfill': 0.0.3 - chokidar: 3.5.1 - clipboardy: 2.3.0 - esbuild: 0.12.15 - jest-worker: 24.9.0 - prettier: 2.2.1 - regenerate-unicode-properties: 10.0.1 + engines: { node: '>= 10' } + optionalDependencies: + '@umijs/es-module-parser-darwin-arm64': 0.0.7 + '@umijs/es-module-parser-darwin-x64': 0.0.7 + '@umijs/es-module-parser-linux-arm-gnueabihf': 0.0.7 + '@umijs/es-module-parser-linux-arm64-gnu': 0.0.7 + '@umijs/es-module-parser-linux-arm64-musl': 0.0.7 + '@umijs/es-module-parser-linux-x64-gnu': 0.0.7 + '@umijs/es-module-parser-linux-x64-musl': 0.0.7 + '@umijs/es-module-parser-win32-arm64-msvc': 0.0.7 + '@umijs/es-module-parser-win32-x64-msvc': 0.0.7 dev: true /@umijs/fabric/2.14.1: @@ -4426,7 +7251,7 @@ packages: '@babel/preset-react': 7.18.6_@babel+core@7.21.0 '@babel/preset-typescript': 7.21.0_@babel+core@7.21.0 '@typescript-eslint/eslint-plugin': 5.54.0_upfp7q3y5merkkqzbm2yvqbijq - '@typescript-eslint/parser': 5.54.0_b7tisbpcguunpryxdryrb3yucu + '@typescript-eslint/parser': 5.54.0_jofidmxrjzhj7l6vknpw5ecvfe chalk: 4.1.2 eslint: 7.32.0 eslint-config-prettier: 8.7.0_eslint@7.32.0 @@ -4454,308 +7279,265 @@ packages: - supports-color dev: true - /@umijs/plugin-analytics/0.2.3_umi@3.5.37: - resolution: - { - integrity: sha512-6Fj+EOzd2vXe1YHjK1aqhHlITWBXcnhPd6pxAEjeGu3vAxDcfp1yM3PoRr//baBXk8CYF2krWDQGYy+OlRXM4A==, - } - peerDependencies: - umi: 3.x - dependencies: - umi: 3.5.37_react-router@6.8.2 - dev: true - - /@umijs/preset-built-in/3.5.37_wcqkhtmu7mswc6yz4uyexck3ty: + /@umijs/history/5.3.1: resolution: { - integrity: sha512-RCBSJldTVCdhYLlnsCvLMlFKM2Nq5NfgYwHaeyIMBFItdpl5B+Q5a415x6MfMj0Fa8Nb+k/C2K+xhLgM3k2+MQ==, + integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==, } - peerDependencies: - react: 16.x || 17.x dependencies: - '@types/react-router-config': 5.0.2 - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/bundler-webpack': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 - '@umijs/core': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/renderer-mpa': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty - '@umijs/renderer-react': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 - '@umijs/runtime': 3.5.37_react@16.14.0 - '@umijs/server': 3.5.37 - '@umijs/types': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 - '@umijs/utils': 3.5.37 - ansi-html: 0.0.9 - core-js: 3.6.5 - core-js-pure: 3.29.0 - error-stack-parser: 2.1.4 - es-module-lexer: 0.7.1 - es5-imcompatible-versions: 0.1.80 - history-with-query: 4.10.4 - html-entities: 2.3.3 - mime: 1.4.1 - react: 16.14.0 - react-refresh: 0.10.0 - react-router: 5.2.0_react@16.14.0 - react-router-config: 5.1.1_6flbfkch6crntn4ac2g723iqde - react-router-dom: 5.2.0_react@16.14.0 - regenerator-runtime: 0.13.5 - schema-utils: 3.1.1 - transitivePeerDependencies: - - react-dom + '@babel/runtime': 7.23.9 + query-string: 6.14.1 dev: true - /@umijs/preset-dumi/1.1.50_hybve2zuw5q64fgjm73h46xefu: + /@umijs/lint/4.1.2_sixyaurwwshuckydxqo2rxewqq: resolution: { - integrity: sha512-HhKMGct5DEd+ZZxBLbCUvXxnMh4MYlMeFIQXf2Ei9tVaKCeNri4I+BYb93swAmEl2v+2PxrKHCCzXNv07C+9Uw==, + integrity: sha512-sdau5ICWOtyEsQrRHuS5wx4iPZhu56DGrxZkASAXGtQxntoJeWzx/e+qAhdsiFiWZrNXbbOOdlafpGyLy6BoKA==, } - peerDependencies: - umi: ^3.0.0 dependencies: - '@babel/core': 7.21.0 - '@babel/generator': 7.21.1 - '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 - '@mapbox/hast-util-to-jsx': 1.0.0 - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/core': 3.5.37 - '@umijs/plugin-analytics': 0.2.3_umi@3.5.37 - '@umijs/runtime': 3.5.37_react@18.2.0 - '@umijs/types': 3.5.37_dcrkjks5ndmrrgy72rhd72hmq4 - '@umijs/utils': 3.5.37 - codesandbox: 2.2.3 - copy-text-to-clipboard: 2.2.0 - deepmerge: 4.3.0 - dumi-assets-types: 1.0.1 - dumi-theme-default: 1.1.24_gnbr5qsyacvgxlk37meoe5oi7m - enhanced-resolve: 4.5.0 - github-slugger: 1.5.0 - hast-util-has-property: 1.0.4 - hast-util-is-element: 1.1.0 - hast-util-raw: 6.1.0 - hast-util-to-html: 7.1.3 - hast-util-to-string: 1.0.4 - hosted-git-info: 3.0.8 - ignore: 5.2.4 - js-yaml: 3.14.1 - lodash.throttle: 4.1.1 - lz-string: 1.5.0 - react-docgen-typescript-dumi-tmp: 1.22.1-0_typescript@5.1.3 - rehype-autolink-headings: 4.0.0 - rehype-mathjax: 3.1.0 - rehype-remove-comments: 4.0.2 - rehype-stringify: 8.0.0 - remark-frontmatter: 3.0.0 - remark-gfm: 1.0.0 - remark-math: 4.0.0 - remark-parse: 9.0.0 - remark-rehype: 8.1.0 - remark-stringify: 9.0.1 - sitemap: 6.4.0 - slash2: 2.0.0 - terser: 5.16.5 - umi: 3.5.37_react-router@6.8.2 - unified: 8.4.2 - unist-util-visit: 2.0.3 - unist-util-visit-parents: 3.1.1 + '@babel/core': 7.23.6 + '@babel/eslint-parser': 7.23.3_xtod5yve3pp7w5xszvnzytf73y + '@stylelint/postcss-css-in-js': 0.38.0_64375vj2stjdn6gyt55zwvoboa + '@typescript-eslint/eslint-plugin': 5.62.0_m2cxlwrnli62flezl4w56zrvky + '@typescript-eslint/parser': 5.62.0_b7tisbpcguunpryxdryrb3yucu + '@umijs/babel-preset-umi': 4.1.2 + eslint-plugin-jest: 27.2.3_cfrvxilm7r3dicxhggyedjexwm + eslint-plugin-react: 7.33.2_eslint@8.57.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.57.0 + postcss: 8.4.21 + postcss-syntax: 0.36.2_postcss@8.4.21 + stylelint-config-standard: 25.0.0_stylelint@14.16.1 transitivePeerDependencies: - - bufferutil - - canvas - - react - - react-dom - - react-router + - eslint + - jest + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - stylelint - supports-color - typescript - - utf-8-validate dev: true - /@umijs/renderer-mpa/3.5.37_wcqkhtmu7mswc6yz4uyexck3ty: + /@umijs/mfsu/4.1.2: resolution: { - integrity: sha512-n0pVFnwBXCMEnq92s1ga+rTMycGTPzDQAJvfCSmVt0fLgv/Rhiy2J3tYkOw0GK3USjNY0vtQoXJBUmnmQKmjOw==, + integrity: sha512-PxkSdQWR0323B1PKLjn2F3ZLfxByg3MmwgRipUbwX3dC8ae9kqIR5wEB2bfL1uXSg9x63o2JMsv5/ObfhrsmYw==, } - peerDependencies: - react: 16.x || 17.x - react-dom: 16.x || 17.x dependencies: - '@types/react': 16.14.35 - '@types/react-dom': 16.9.18 - '@umijs/runtime': 3.5.37_react@16.14.0 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 + '@umijs/bundler-esbuild': 4.1.2 + '@umijs/bundler-utils': 4.1.2 + '@umijs/utils': 4.1.2 + enhanced-resolve: 5.9.3 + is-equal: 1.7.0 + transitivePeerDependencies: + - supports-color dev: true - /@umijs/renderer-react/3.5.37_263kk2d5tiuyg32yuu7rrhuyze: + /@umijs/plugin-run/4.1.2: resolution: { - integrity: sha512-ULdWHl19GzZ/irUzElQCVR8EWvuBP59y5wRaI7ACWlRx85XCJ+DBj4fp9MzGgukCa93lPpdaHde1+/SJD+evww==, + integrity: sha512-SkCOd1ZMe5zJp0avxC0UWr4/MK4QU3iqMzNOk6kBYPMIZgsNSn+6+iol+Sb3aqn3RzU3TQWHeKtO2ckZyrD+vw==, } - peerDependencies: - react: 16.x || 17.x - react-dom: 16.x || 17.x dependencies: - '@types/react': 16.14.35 - '@types/react-dom': 16.9.18 - '@types/react-router-config': 5.0.2 - '@umijs/runtime': 3.5.37_react@16.14.0 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 - react-router-config: 5.1.1_w3pku2rfskdxqtbs66joerxk6y - transitivePeerDependencies: - - react-router + tsx: 3.12.2 dev: true - /@umijs/renderer-react/3.5.37_dcrkjks5ndmrrgy72rhd72hmq4: + /@umijs/preset-umi/4.1.2_afx5wvnfqqjxgaebtgup7fbpvq: resolution: { - integrity: sha512-ULdWHl19GzZ/irUzElQCVR8EWvuBP59y5wRaI7ACWlRx85XCJ+DBj4fp9MzGgukCa93lPpdaHde1+/SJD+evww==, + integrity: sha512-tZe7mWS2vCoULXcY5Zx10nVWxMHPXl1+Pj3X0hiPE2oPYJYw5eYtE0+IivNAOUH2M2d5c8j257MgG+XND8Gpbw==, } - peerDependencies: - react: 16.x || 17.x - react-dom: 16.x || 17.x dependencies: - '@types/react': 16.14.35 - '@types/react-dom': 16.9.18 - '@types/react-router-config': 5.0.2 - '@umijs/runtime': 3.5.37_react@18.2.0 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-router-config: 5.1.1_t2zoxmawn7sfdpkcuytim2cp3i + '@iconify/utils': 2.1.1 + '@svgr/core': 6.5.1 + '@umijs/ast': 4.1.2 + '@umijs/babel-preset-umi': 4.1.2 + '@umijs/bundler-esbuild': 4.1.2 + '@umijs/bundler-utils': 4.1.2 + '@umijs/bundler-vite': 4.1.2_2qpxjod5fkhd5fgxli4ejdun2m + '@umijs/bundler-webpack': 4.1.2_4gka4bvekjbmxy5tqwawlojx2a + '@umijs/core': 4.1.2 + '@umijs/did-you-know': 1.0.3 + '@umijs/es-module-parser': 0.0.7 + '@umijs/history': 5.3.1 + '@umijs/mfsu': 4.1.2 + '@umijs/plugin-run': 4.1.2 + '@umijs/renderer-react': 4.1.2_ef5jwxihqo6n7gxfmzogljlgcm + '@umijs/server': 4.1.2 + '@umijs/ui': 3.0.1 + '@umijs/utils': 4.1.2 + '@umijs/zod2ts': 4.1.2 + babel-plugin-dynamic-import-node: 2.3.3 + click-to-react-component: 1.1.0_ef5jwxihqo6n7gxfmzogljlgcm + core-js: 3.34.0 + current-script-polyfill: 1.0.0 + enhanced-resolve: 5.9.3 + fast-glob: 3.2.12 + html-webpack-plugin: 5.5.0_webpack@5.90.3 + less-plugin-resolve: 1.0.2 + path-to-regexp: 1.7.0 + postcss: 8.4.21 + postcss-prefix-selector: 1.16.0_postcss@8.4.21 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + react-router: 6.3.0_react@18.1.0 + react-router-dom: 6.3.0_ef5jwxihqo6n7gxfmzogljlgcm + regenerator-runtime: 0.13.11 transitivePeerDependencies: - - react-router + - '@types/node' + - '@types/react' + - '@types/webpack' + - rollup + - sass + - sockjs-client + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve dev: true - /@umijs/renderer-react/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: + /@umijs/react-refresh-webpack-plugin/0.5.11_zkrbwxiwgp3wtwv4jj5ekwxzpi: resolution: { - integrity: sha512-ULdWHl19GzZ/irUzElQCVR8EWvuBP59y5wRaI7ACWlRx85XCJ+DBj4fp9MzGgukCa93lPpdaHde1+/SJD+evww==, + integrity: sha512-RtFvB+/GmjRhpHcqNgnw8iWZpTlxOnmNxi8eDcecxMmxmSgeDj25LV0jr4Q6rOhv3GTIfVGBhkwz+khGT5tfmg==, } + engines: { node: '>= 10.13' } peerDependencies: - react: 16.x || 17.x - react-dom: 16.x || 17.x + '@types/webpack': 4.x || 5.x + react-refresh: '>=0.10.0 <1.0.0' + sockjs-client: ^1.4.0 + type-fest: '>=0.17.0 <5.0.0' + webpack: '>=4.43.0 <6.0.0' + webpack-dev-server: 3.x || 4.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + '@types/webpack': + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true dependencies: - '@types/react': 16.14.35 - '@types/react-dom': 16.9.18 - '@types/react-router-config': 5.0.2 - '@umijs/runtime': 3.5.37_react@16.14.0 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 - react-router-config: 5.1.1_6flbfkch6crntn4ac2g723iqde - transitivePeerDependencies: - - react-router + ansi-html-community: 0.0.8 + common-path-prefix: 3.0.0 + core-js-pure: 3.29.0 + error-stack-parser: 2.1.4 + find-up: 5.0.0 + html-entities: 2.3.3 + loader-utils: 2.0.4 + react-refresh: 0.14.0 + schema-utils: 3.3.0 + source-map: 0.7.4 + webpack: 5.90.3_webpack-cli@5.1.4 dev: true - /@umijs/runtime/3.5.37_react@16.14.0: + /@umijs/renderer-react/4.1.2_biqbaboplfbrettd7655fr4n2y: resolution: { - integrity: sha512-VtR/Py28AnZmjGFpxAYEUrk1xa47Ct6GbDpt1h+Nygy8Rn85LerMTlfL9pzwAzDNydFL3mPgKvwcygYbDTql/g==, + integrity: sha512-zAZ1yU/PTkit/Nl0JsArS8ZwWyhmFpMEMRKpFZqw1rYieXTlNGvZTm2twJj+rNzsxwoNmW7E24glJGjpm1CunA==, } peerDependencies: - react: 16.x || 17.x + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@types/react-router': 5.1.12 - '@types/react-router-dom': 5.1.7 - history-with-query: 4.10.4 - react: 16.14.0 - react-router: 5.2.0_react@16.14.0 - react-router-dom: 5.2.0_react@16.14.0 - use-subscription: 1.5.1_react@16.14.0 + '@babel/runtime': 7.23.6 + '@loadable/component': 5.15.2_react@18.2.0 + history: 5.3.0 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-helmet-async: 1.3.0_biqbaboplfbrettd7655fr4n2y + react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y dev: true - /@umijs/runtime/3.5.37_react@18.2.0: + /@umijs/renderer-react/4.1.2_ef5jwxihqo6n7gxfmzogljlgcm: resolution: { - integrity: sha512-VtR/Py28AnZmjGFpxAYEUrk1xa47Ct6GbDpt1h+Nygy8Rn85LerMTlfL9pzwAzDNydFL3mPgKvwcygYbDTql/g==, + integrity: sha512-zAZ1yU/PTkit/Nl0JsArS8ZwWyhmFpMEMRKpFZqw1rYieXTlNGvZTm2twJj+rNzsxwoNmW7E24glJGjpm1CunA==, } peerDependencies: - react: 16.x || 17.x + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@types/react-router': 5.1.12 - '@types/react-router-dom': 5.1.7 - history-with-query: 4.10.4 - react: 18.2.0 - react-router: 5.2.0_react@18.2.0 - react-router-dom: 5.2.0_react@18.2.0 - use-subscription: 1.5.1_react@18.2.0 + '@babel/runtime': 7.23.6 + '@loadable/component': 5.15.2_react@18.1.0 + history: 5.3.0 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + react-helmet-async: 1.3.0_ef5jwxihqo6n7gxfmzogljlgcm + react-router-dom: 6.3.0_ef5jwxihqo6n7gxfmzogljlgcm dev: true - /@umijs/server/3.5.37: + /@umijs/server/4.1.2: resolution: { - integrity: sha512-FHWqODAi9f9MHFD+MJwq4wv5dBszy2jMXSgFQmQE2shRSOvWYVLI/LXzgaacZkm0eyyptbx7dglySgJCbtJ1vQ==, + integrity: sha512-1oUWhF4qW2T4BqYKRTtZm+REJpDzPdQ3oeXubAIpFqek5Z0ABKcp7/mkH68AVRztsag0t9cXuBN/AL5GkvjXww==, } dependencies: - '@umijs/core': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/utils': 3.5.37 + '@umijs/bundler-utils': 4.1.2 + history: 5.3.0 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + react-router-dom: 6.3.0_ef5jwxihqo6n7gxfmzogljlgcm + transitivePeerDependencies: + - supports-color dev: true - /@umijs/types/3.5.37_263kk2d5tiuyg32yuu7rrhuyze: + /@umijs/test/4.1.2_@babel+core@7.21.0: resolution: { - integrity: sha512-KwHFr7KhIErgF5zcV+n/lpTNvXJCUyJJH0XD+KBKu13u6TTDfAzCl2j/YGb/x6VkD0zaXmNTUo7p337wnSihKg==, + integrity: sha512-mmP0bmvYx/gHIgq8mxbMJSgLxBKh5Tp2ZiuK68aoqlBWSBXU2xB9LM4KGno3Or9vihSFAUzK1wWEcVj7CQCY4w==, } dependencies: - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/core': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/renderer-react': 3.5.37_263kk2d5tiuyg32yuu7rrhuyze - '@umijs/server': 3.5.37 - '@umijs/utils': 3.5.37 - webpack-chain: 6.5.1 + '@babel/plugin-transform-modules-commonjs': 7.23.3_@babel+core@7.21.0 + '@jest/types': 27.5.1 + '@umijs/bundler-utils': 4.1.2 + '@umijs/utils': 4.1.2 + babel-jest: 29.7.0_@babel+core@7.21.0 + esbuild: 0.17.19 + identity-obj-proxy: 3.0.0 + isomorphic-unfetch: 4.0.2 transitivePeerDependencies: - - react - - react-dom - - react-router + - '@babel/core' + - supports-color dev: true - /@umijs/types/3.5.37_dcrkjks5ndmrrgy72rhd72hmq4: + /@umijs/ui/3.0.1: resolution: { - integrity: sha512-KwHFr7KhIErgF5zcV+n/lpTNvXJCUyJJH0XD+KBKu13u6TTDfAzCl2j/YGb/x6VkD0zaXmNTUo7p337wnSihKg==, + integrity: sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw==, } - dependencies: - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/core': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/renderer-react': 3.5.37_dcrkjks5ndmrrgy72rhd72hmq4 - '@umijs/server': 3.5.37 - '@umijs/utils': 3.5.37 - webpack-chain: 6.5.1 - transitivePeerDependencies: - - react - - react-dom - - react-router dev: true - /@umijs/types/3.5.37_hflg5r6ml7trnjm7sh3tgaza54: + /@umijs/utils/4.1.2: resolution: { - integrity: sha512-KwHFr7KhIErgF5zcV+n/lpTNvXJCUyJJH0XD+KBKu13u6TTDfAzCl2j/YGb/x6VkD0zaXmNTUo7p337wnSihKg==, + integrity: sha512-YBzN7Zn3595W93t8XPh8IbKMInr6NecXPtHVD+L7fJFv5oCrzHxCkvSZBTmTXuFMyW+9rHT0TlsXM4gqQ1n18Q==, } dependencies: - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/core': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/renderer-react': 3.5.37_hflg5r6ml7trnjm7sh3tgaza54 - '@umijs/server': 3.5.37 - '@umijs/utils': 3.5.37 - webpack-chain: 6.5.1 - transitivePeerDependencies: - - react - - react-dom - - react-router + chokidar: 3.5.3 + pino: 7.11.0 dev: true - /@umijs/utils/3.5.37: + /@umijs/zod2ts/4.1.2: resolution: { - integrity: sha512-nvHX9KGf5dWDeht78VfGzDalRAUBHB+O1VOOOtdWhFvRkGHw0px/W4LDWUNDb1xGtFJ1FM39xNTO3EgYGncBUw==, + integrity: sha512-h5P45gXxTVWdDeIuB/EQ9lDqJgPrm747Ox77WvK1ooG+jN4xBB6uoH5slCLenl3ig+M1nRLIadVsD/8kjrWWHw==, } - dependencies: - '@umijs/babel-preset-umi': 3.5.37 - '@umijs/deps': 3.5.37 dev: true /@ungap/promise-all-settled/1.1.2: @@ -4851,6 +7633,24 @@ packages: '@uni/action-sheet': 1.0.7 dev: true + /@vitejs/plugin-react/4.0.0_vite@4.3.1: + resolution: + { + integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + vite: ^4.2.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx-self': 7.23.3_@babel+core@7.23.9 + '@babel/plugin-transform-react-jsx-source': 7.23.3_@babel+core@7.23.9 + react-refresh: 0.14.0 + vite: 4.3.1_@types+node@18.14.6 + transitivePeerDependencies: + - supports-color + dev: true + /@webassemblyjs/ast/1.11.6: resolution: { @@ -5087,23 +7887,13 @@ packages: } dev: true - /acorn-globals/6.0.0: - resolution: - { - integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==, - } - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - dev: true - /acorn-globals/7.0.1: resolution: { integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==, } dependencies: - acorn: 8.8.2 + acorn: 8.11.3 acorn-walk: 8.2.0 dev: true @@ -5140,14 +7930,6 @@ packages: acorn: 8.11.3 dev: true - /acorn-walk/7.2.0: - resolution: - { - integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==, - } - engines: { node: '>=0.4.0' } - dev: true - /acorn-walk/8.2.0: resolution: { @@ -5235,17 +8017,6 @@ packages: indent-string: 4.0.0 dev: true - /ajv-errors/1.0.1_ajv@6.12.6: - resolution: - { - integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==, - } - peerDependencies: - ajv: '>=5.0.0' - dependencies: - ajv: 6.12.6 - dev: true - /ajv-keywords/3.5.2_ajv@6.12.6: resolution: { @@ -5281,6 +8052,13 @@ packages: uri-js: 4.4.1 dev: true + /animated-scroll-to/2.3.0: + resolution: + { + integrity: sha512-PT/5MSKCWQaK2kuOl2HT2KJMuJEvUS4/TgMhWy82c2EmF74/CIkvPBPKOvd8nMYP6Higo7xCn49/iSW9BccMoQ==, + } + dev: true + /ansi-align/2.0.0: resolution: { @@ -5344,10 +8122,10 @@ packages: ansi-wrap: 0.1.0 dev: true - /ansi-html/0.0.9: + /ansi-html-community/0.0.8: resolution: { - integrity: sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==, + integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==, } engines: { '0': node >= 0.8.0 } hasBin: true @@ -5385,6 +8163,14 @@ packages: engines: { node: '>=8' } dev: true + /ansi-regex/6.0.1: + resolution: + { + integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, + } + engines: { node: '>=12' } + dev: true + /ansi-styles/3.2.1: resolution: { @@ -5413,6 +8199,14 @@ packages: engines: { node: '>=10' } dev: true + /ansi-styles/6.2.1: + resolution: + { + integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, + } + engines: { node: '>=12' } + dev: true + /ansi-wrap/0.1.0: resolution: { @@ -5421,6 +8215,40 @@ packages: engines: { node: '>=0.10.0' } dev: true + /antd-token-previewer/2.0.0-alpha.6_e6zmfrfzgmrafsxr5g4tr4x66i: + resolution: + { + integrity: sha512-I2C+c5g6irJO6XGnkVaF5uKxPwThXz1OxESPDjHc26OFLaJ894YkjK8N+7/jKEohuTUZfKLdauJF79Z0PgOmZA==, + } + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/cssinjs': 1.18.4_biqbaboplfbrettd7655fr4n2y + '@ant-design/icons': 4.8.1_biqbaboplfbrettd7655fr4n2y + '@arvinxu/layout-kit': 1.4.0_e6zmfrfzgmrafsxr5g4tr4x66i + '@babel/runtime': 7.23.9 + '@ctrl/tinycolor': 3.6.1 + antd: 5.14.2_biqbaboplfbrettd7655fr4n2y + classnames: 2.5.1 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-colorful: 5.6.1_biqbaboplfbrettd7655fr4n2y + react-dom: 18.2.0_react@18.2.0 + reactflow: 11.10.4_biqbaboplfbrettd7655fr4n2y + use-debouncy: 4.6.0_react@18.2.0 + vanilla-jsoneditor: 0.16.1 + transitivePeerDependencies: + - '@babel/core' + - '@types/react' + - date-fns + - immer + - luxon + - moment + - react-is + dev: true + /antd/5.14.2_biqbaboplfbrettd7655fr4n2y: resolution: { @@ -5549,6 +8377,13 @@ packages: - moment dev: true + /any-promise/1.3.0: + resolution: + { + integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, + } + dev: true + /anymatch/2.0.0: resolution: { @@ -5589,13 +8424,6 @@ packages: } dev: true - /arch/2.2.0: - resolution: - { - integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==, - } - dev: true - /archy/1.0.0: resolution: { @@ -5633,6 +8461,16 @@ packages: } dev: true + /aria-hidden/1.2.3: + resolution: + { + integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==, + } + engines: { node: '>=10' } + dependencies: + tslib: 2.6.2 + dev: true + /aria-query/5.1.3: resolution: { @@ -5686,6 +8524,17 @@ packages: engines: { node: '>=0.10.0' } dev: true + /array-buffer-byte-length/1.0.1: + resolution: + { + integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==, + } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + dev: true + /array-each/1.0.1: resolution: { @@ -5708,10 +8557,10 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -5786,23 +8635,54 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 es-shim-unscopables: 1.0.0 dev: true + /array.prototype.reduce/1.0.6: + resolution: + { + integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==, + } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + dev: true + /array.prototype.tosorted/1.1.1: resolution: { integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==, } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 + dev: true + + /arraybuffer.prototype.slice/1.0.3: + resolution: + { + integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==, + } + engines: { node: '>= 0.4' } + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.2 dev: true /arrify/1.0.1: @@ -5875,6 +8755,14 @@ packages: engines: { node: '>=8' } dev: true + /astring/1.8.6: + resolution: + { + integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==, + } + hasBin: true + dev: true + /async-done/1.3.2: resolution: { @@ -5912,6 +8800,15 @@ packages: } dev: true + /asynciterator.prototype/1.0.0: + resolution: + { + integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==, + } + dependencies: + has-symbols: 1.0.3 + dev: true + /asynckit/0.4.0: resolution: { @@ -5928,6 +8825,33 @@ packages: hasBin: true dev: true + /atomic-sleep/1.0.0: + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: '>=8.0.0' } + dev: true + + /autoprefixer/10.4.17_postcss@8.4.21: + resolution: + { + integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==, + } + engines: { node: ^10 || ^12 || >=14 } + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001591 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 + dev: true + /autoprefixer/9.8.8: resolution: { @@ -5935,8 +8859,8 @@ packages: } hasBin: true dependencies: - browserslist: 4.21.5 - caniuse-lite: 1.0.30001469 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001591 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -5944,12 +8868,14 @@ packages: postcss-value-parser: 4.2.0 dev: true - /available-typed-arrays/1.0.5: + /available-typed-arrays/1.0.7: resolution: { - integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==, + integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, } engines: { node: '>= 0.4' } + dependencies: + possible-typed-array-names: 1.0.0 dev: true /aws-sign2/0.7.0: @@ -5979,20 +8905,41 @@ packages: - supports-color dev: true - /babel-jest/29.4.3_@babel+core@7.21.0: + /babel-jest/29.7.0_@babel+core@7.21.0: resolution: { - integrity: sha512-o45Wyn32svZE+LnMVWv/Z4x0SwtLbh4FyGcYtR20kIWd+rdrDZ9Fzq8Ml3MYLD+mZvEdzCjZsCnYZ2jpJyQ+Nw==, + integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==, } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@babel/core': ^7.8.0 dependencies: '@babel/core': 7.21.0 - '@jest/transform': 29.4.3 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.0 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3_@babel+core@7.21.0 + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-jest/29.7.0_@babel+core@7.23.9: + resolution: + { + integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.23.9 + '@jest/transform': 29.7.0 '@types/babel__core': 7.20.0 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.4.3_@babel+core@7.21.0 + babel-preset-jest: 29.6.3_@babel+core@7.23.9 chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -6000,6 +8947,15 @@ packages: - supports-color dev: true + /babel-plugin-dynamic-import-node/2.3.3: + resolution: + { + integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==, + } + dependencies: + object.assign: 4.1.5 + dev: true + /babel-plugin-import/1.13.6: resolution: { @@ -6016,7 +8972,7 @@ packages: } engines: { node: '>=8' } dependencies: - '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-plugin-utils': 7.22.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -6025,19 +8981,31 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist/29.4.3: + /babel-plugin-jest-hoist/29.6.3: resolution: { - integrity: sha512-mB6q2q3oahKphy5V7CpnNqZOCkxxZ9aokf1eh82Dy3jQmg4xvM1tGrh5y6BQUJh4a3Pj9+eLfwvAZ7VNKg7H8Q==, + integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==, } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.2 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 '@types/babel__core': 7.20.0 '@types/babel__traverse': 7.18.3 dev: true + /babel-plugin-macros/3.1.0: + resolution: + { + integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==, + } + engines: { node: '>=10', npm: '>=6' } + dependencies: + '@babel/runtime': 7.23.9 + cosmiconfig: 7.1.0 + resolve: 1.22.4 + dev: true + /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.21.0: resolution: { @@ -6083,6 +9051,24 @@ packages: - supports-color dev: true + /babel-plugin-styled-components/2.1.4_bxwnlj6smseml4rudp2zrvo6rq: + resolution: + { + integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==, + } + peerDependencies: + styled-components: '>= 2' + dependencies: + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/plugin-syntax-jsx': 7.23.3_@babel+core@7.21.0 + lodash: 4.17.21 + picomatch: 2.3.1 + styled-components: 5.3.11_e6zmfrfzgmrafsxr5g4tr4x66i + transitivePeerDependencies: + - '@babel/core' + dev: true + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.21.0: resolution: { @@ -6106,20 +9092,57 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.0 dev: true - /babel-preset-jest/29.4.3_@babel+core@7.21.0: + /babel-preset-current-node-syntax/1.0.1_@babel+core@7.23.9: + resolution: + { + integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==, + } + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.23.9 + '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.23.9 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.23.9 + '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.23.9 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.23.9 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.23.9 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.23.9 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.23.9 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.23.9 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.23.9 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.23.9 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.23.9 + dev: true + + /babel-preset-jest/29.6.3_@babel+core@7.21.0: resolution: { - integrity: sha512-gWx6COtSuma6n9bw+8/F+2PCXrIgxV/D1TJFnp6OyBK2cxPWg0K9p/sriNYeifKjpUkMViWQ09DSWtzJQRETsw==, + integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==, } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.0 - babel-plugin-jest-hoist: 29.4.3 + babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.0 dev: true + /babel-preset-jest/29.6.3_@babel+core@7.23.9: + resolution: + { + integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.23.9 + dev: true + /babel-runtime-jsx-style-transform/1.0.2: resolution: { @@ -6164,6 +9187,13 @@ packages: } dev: true + /bail/2.0.2: + resolution: + { + integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==, + } + dev: true + /balanced-match/1.0.2: resolution: { @@ -6217,6 +9247,14 @@ packages: tweetnacl: 0.14.5 dev: true + /big-integer/1.6.52: + resolution: + { + integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==, + } + engines: { node: '>=0.6' } + dev: true + /big.js/5.2.2: resolution: { @@ -6307,6 +9345,13 @@ packages: } dev: true + /boolbase/1.0.0: + resolution: + { + integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, + } + dev: true + /boxen/1.3.0: resolution: { @@ -6323,6 +9368,16 @@ packages: widest-line: 2.0.1 dev: true + /bplist-parser/0.2.0: + resolution: + { + integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==, + } + engines: { node: '>= 5.10.0' } + dependencies: + big-integer: 1.6.52 + dev: true + /brace-expansion/1.1.11: resolution: { @@ -6333,6 +9388,15 @@ packages: concat-map: 0.0.1 dev: true + /brace-expansion/2.0.1: + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } + dependencies: + balanced-match: 1.0.2 + dev: true + /braces/2.3.2: resolution: { @@ -6371,13 +9435,6 @@ packages: } dev: true - /browser-process-hrtime/1.0.0: - resolution: - { - integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==, - } - dev: true - /browser-stdout/1.3.1: resolution: { @@ -6480,10 +9537,24 @@ packages: engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: - caniuse-lite: 1.0.30001469 - electron-to-chromium: 1.4.320 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 + caniuse-lite: 1.0.30001591 + electron-to-chromium: 1.4.682 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13_browserslist@4.21.5 + dev: true + + /browserslist/4.23.0: + resolution: + { + integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + hasBin: true + dependencies: + caniuse-lite: 1.0.30001591 + electron-to-chromium: 1.4.682 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13_browserslist@4.23.0 dev: true /bs-logger/0.2.6: @@ -6537,6 +9608,13 @@ packages: } dev: true + /buffer-from/0.1.2: + resolution: + { + integrity: sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==, + } + dev: true + /buffer-from/1.1.2: resolution: { @@ -6576,6 +9654,16 @@ packages: } dev: true + /bundle-name/3.0.0: + resolution: + { + integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==, + } + engines: { node: '>=12' } + dependencies: + run-applescript: 5.0.0 + dev: true + /cacache/10.0.4: resolution: { @@ -6636,42 +9724,18 @@ packages: unset-value: 1.0.0 dev: true - /call-bind/1.0.2: - resolution: - { - integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, - } - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 - dev: true - - /caller-callsite/2.0.0: - resolution: - { - integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==, - } - engines: { node: '>=4' } - dependencies: - callsites: 2.0.0 - dev: true - - /caller-path/2.0.0: + /call-bind/1.0.7: resolution: { - integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==, + integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, } - engines: { node: '>=4' } + engines: { node: '>= 0.4' } dependencies: - caller-callsite: 2.0.0 - dev: true - - /callsites/2.0.0: - resolution: - { - integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==, - } - engines: { node: '>=4' } + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 dev: true /callsites/3.1.0: @@ -6682,12 +9746,14 @@ packages: engines: { node: '>=6' } dev: true - /camelcase-css/2.0.1: + /camel-case/4.1.2: resolution: { - integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==, + integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==, } - engines: { node: '>= 6' } + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.2 dev: true /camelcase-keys/6.2.2: @@ -6734,10 +9800,10 @@ packages: engines: { node: '>=10' } dev: true - /caniuse-lite/1.0.30001469: + /camelize/1.0.1: resolution: { - integrity: sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==, + integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==, } dev: true @@ -6748,6 +9814,13 @@ packages: } dev: true + /caniuse-lite/1.0.30001591: + resolution: + { + integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==, + } + dev: true + /capture-stack-trace/1.0.2: resolution: { @@ -6763,10 +9836,10 @@ packages: } dev: true - /ccount/1.1.0: + /ccount/2.0.1: resolution: { - integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==, + integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==, } dev: true @@ -6812,10 +9885,10 @@ packages: engines: { node: '>=10' } dev: true - /character-entities-html4/1.1.4: + /character-entities-html4/2.1.0: resolution: { - integrity: sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==, + integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==, } dev: true @@ -6826,6 +9899,13 @@ packages: } dev: true + /character-entities-legacy/3.0.0: + resolution: + { + integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==, + } + dev: true + /character-entities/1.2.4: resolution: { @@ -6833,6 +9913,13 @@ packages: } dev: true + /character-entities/2.0.2: + resolution: + { + integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==, + } + dev: true + /character-reference-invalid/1.1.4: resolution: { @@ -6840,6 +9927,13 @@ packages: } dev: true + /character-reference-invalid/2.0.1: + resolution: + { + integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==, + } + dev: true + /chardet/0.7.0: resolution: { @@ -6874,7 +9968,25 @@ packages: /chokidar/3.5.1: resolution: { - integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==, + integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==, + } + engines: { node: '>= 8.10.0' } + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.5.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /chokidar/3.5.3: + resolution: + { + integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, } engines: { node: '>= 8.10.0' } dependencies: @@ -6884,7 +9996,7 @@ packages: is-binary-path: 2.1.0 is-glob: 4.0.3 normalize-path: 3.0.0 - readdirp: 3.5.0 + readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -6907,7 +10019,6 @@ packages: optionalDependencies: fsevents: 2.3.3 dev: true - optional: true /chownr/1.1.4: resolution: @@ -6976,6 +10087,13 @@ packages: static-extend: 0.1.2 dev: true + /classcat/5.0.4: + resolution: + { + integrity: sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g==, + } + dev: true + /classnames/2.2.6: resolution: { @@ -6997,6 +10115,16 @@ packages: } dev: true + /clean-css/5.3.3: + resolution: + { + integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==, + } + engines: { node: '>= 10.0' } + dependencies: + source-map: 0.6.1 + dev: true + /clean-regexp/1.0.0: resolution: { @@ -7061,16 +10189,21 @@ packages: } dev: true - /clipboardy/2.3.0: + /click-to-react-component/1.1.0_ef5jwxihqo6n7gxfmzogljlgcm: resolution: { - integrity: sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==, + integrity: sha512-/DjZemufS1BkxyRgZL3r7HXVVOFRWVQi5Xd4EBnjxZMwrHEh0OlUVA2N9CjXkZ0x8zMf8dL1cKnnx+xUWUg4VA==, } - engines: { node: '>=8' } + peerDependencies: + react: '>=16.8.0' dependencies: - arch: 2.2.0 - execa: 1.0.0 - is-wsl: 2.2.0 + '@floating-ui/react-dom-interactions': 0.3.1_ef5jwxihqo6n7gxfmzogljlgcm + htm: 3.1.1 + react: 18.1.0 + react-merge-refs: 1.1.0 + transitivePeerDependencies: + - '@types/react' + - react-dom dev: true /cliui/3.2.0: @@ -7171,6 +10304,18 @@ packages: engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' } dev: true + /coa/2.0.2: + resolution: + { + integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==, + } + engines: { node: '>= 4.0' } + dependencies: + '@types/q': 1.5.8 + chalk: 2.4.2 + q: 1.5.1 + dev: true + /code-point-at/1.1.0: resolution: { @@ -7292,6 +10437,16 @@ packages: } dev: true + /color-string/1.9.1: + resolution: + { + integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==, + } + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: true + /color-support/1.1.3: resolution: { @@ -7300,6 +10455,23 @@ packages: hasBin: true dev: true + /color/3.2.1: + resolution: + { + integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==, + } + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + dev: true + + /colord/2.9.3: + resolution: + { + integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==, + } + dev: true + /colorette/2.0.20: resolution: { @@ -7325,10 +10497,10 @@ packages: delayed-stream: 1.0.0 dev: true - /comma-separated-tokens/1.0.8: + /comma-separated-tokens/2.0.3: resolution: { - integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==, + integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==, } dev: true @@ -7363,12 +10535,27 @@ packages: engines: { node: '>= 6' } dev: true - /commander/9.2.0: + /commander/7.2.0: + resolution: + { + integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, + } + engines: { node: '>= 10' } + dev: true + + /commander/8.3.0: resolution: { - integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==, + integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==, + } + engines: { node: '>= 12' } + dev: true + + /common-path-prefix/3.0.0: + resolution: + { + integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==, } - engines: { node: ^12.20.0 || >=14 } dev: true /compare-func/2.0.0: @@ -7504,6 +10691,15 @@ packages: } dev: true + /copy-anything/2.0.6: + resolution: + { + integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==, + } + dependencies: + is-what: 3.14.1 + dev: true + /copy-concurrently/1.0.5: resolution: { @@ -7536,14 +10732,6 @@ packages: is-plain-object: 5.0.0 dev: true - /copy-text-to-clipboard/2.2.0: - resolution: - { - integrity: sha512-WRvoIdnTs1rgPMkgA2pUOa/M4Enh2uzCwdKsOMYNAJiz/4ZvEJgmbF4OmninPmlFdAWisfeh0tH+Cpf7ni3RqQ==, - } - engines: { node: '>=6' } - dev: true - /copy-to-clipboard/3.3.3: resolution: { @@ -7559,7 +10747,7 @@ packages: integrity: sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==, } dependencies: - browserslist: 4.21.5 + browserslist: 4.23.0 dev: true /core-js-pure/3.29.0: @@ -7579,12 +10767,11 @@ packages: requiresBuild: true dev: true - /core-js/3.6.5: + /core-js/3.34.0: resolution: { - integrity: sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==, + integrity: sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==, } - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. requiresBuild: true dev: true @@ -7602,6 +10789,17 @@ packages: } dev: true + /cors/2.8.5: + resolution: + { + integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==, + } + engines: { node: '>= 0.10' } + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + /cosmiconfig-typescript-loader/4.3.0_y2okb5cfqgxv537umje5rj3w6m: resolution: { @@ -7620,19 +10818,6 @@ packages: typescript: 4.9.5 dev: true - /cosmiconfig/5.2.1: - resolution: - { - integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==, - } - engines: { node: '>=4' } - dependencies: - import-fresh: 2.0.0 - is-directory: 0.3.1 - js-yaml: 3.14.1 - parse-json: 4.0.0 - dev: true - /cosmiconfig/7.1.0: resolution: { @@ -7762,20 +10947,6 @@ packages: which: 1.3.1 dev: true - /cross-spawn/6.0.5: - resolution: - { - integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==, - } - engines: { node: '>=4.8' } - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.1 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true - /cross-spawn/7.0.3: resolution: { @@ -7815,27 +10986,56 @@ packages: engines: { node: '>=4' } dev: true - /css-blank-pseudo/0.1.4: + /crypto/1.0.1: resolution: { - integrity: sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==, + integrity: sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==, } - engines: { node: '>=6.0.0' } + deprecated: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in. + dev: true + + /css-blank-pseudo/3.0.3_postcss@8.4.21: + resolution: + { + integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==, + } + engines: { node: ^12 || ^14 || >=16 } hasBin: true + peerDependencies: + postcss: ^8.4 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /css-has-pseudo/0.10.0: + /css-color-keywords/1.0.0: resolution: { - integrity: sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==, + integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==, } - engines: { node: '>=6.0.0' } + engines: { node: '>=4' } + dev: true + + /css-functions-list/3.2.1: + resolution: + { + integrity: sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==, + } + engines: { node: '>=12 || >=16' } + dev: true + + /css-has-pseudo/3.0.4_postcss@8.4.21: + resolution: + { + integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==, + } + engines: { node: ^12 || ^14 || >=16 } hasBin: true + peerDependencies: + postcss: ^8.4 dependencies: - postcss: 7.0.32 - postcss-selector-parser: 5.0.0 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true /css-in-js-utils/3.1.0: @@ -7847,130 +11047,319 @@ packages: hyphenate-style-name: 1.0.4 dev: true - /css-prefers-color-scheme/3.1.1: + /css-loader/6.7.1_webpack@5.90.3: resolution: { - integrity: sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==, + integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==, } - engines: { node: '>=6.0.0' } + engines: { node: '>= 12.13.0' } + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-modules-extract-imports: 3.0.0_postcss@8.4.21 + postcss-modules-local-by-default: 4.0.4_postcss@8.4.21 + postcss-modules-scope: 3.1.1_postcss@8.4.21 + postcss-modules-values: 4.0.0_postcss@8.4.21 + postcss-value-parser: 4.2.0 + semver: 7.5.4 + webpack: 5.90.3_webpack-cli@5.1.4 + dev: true + + /css-prefers-color-scheme/6.0.3_postcss@8.4.21: + resolution: + { + integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==, + } + engines: { node: ^12 || ^14 || >=16 } + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.21 + dev: true + + /css-select-base-adapter/0.1.1: + resolution: + { + integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==, + } + dev: true + + /css-select/2.1.0: + resolution: + { + integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==, + } + dependencies: + boolbase: 1.0.0 + css-what: 3.4.2 + domutils: 1.7.0 + nth-check: 1.0.2 + dev: true + + /css-select/4.3.0: + resolution: + { + integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==, + } + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-to-react-native/3.2.0: + resolution: + { + integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==, + } + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + dev: true + + /css-tree/1.0.0-alpha.37: + resolution: + { + integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==, + } + engines: { node: '>=8.0.0' } + dependencies: + mdn-data: 2.0.4 + source-map: 0.6.1 + dev: true + + /css-tree/1.1.3: + resolution: + { + integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==, + } + engines: { node: '>=8.0.0' } + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true + + /css-what/3.4.2: + resolution: + { + integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==, + } + engines: { node: '>= 6' } + dev: true + + /css-what/6.1.0: + resolution: + { + integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==, + } + engines: { node: '>= 6' } + dev: true + + /css.escape/1.5.1: + resolution: + { + integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==, + } + dev: true + + /css/3.0.0: + resolution: + { + integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==, + } + dependencies: + inherits: 2.0.4 + source-map: 0.6.1 + source-map-resolve: 0.6.0 + dev: true + + /cssdb/6.6.3: + resolution: + { + integrity: sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==, + } + dev: true + + /cssesc/3.0.0: + resolution: + { + integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, + } + engines: { node: '>=4' } hasBin: true + dev: true + + /csso/4.2.0: + resolution: + { + integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==, + } + engines: { node: '>=8.0.0' } + dependencies: + css-tree: 1.1.3 + dev: true + + /cssom/0.3.8: + resolution: + { + integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==, + } + dev: true + + /cssom/0.5.0: + resolution: + { + integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==, + } + dev: true + + /cssstyle/2.3.0: + resolution: + { + integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==, + } + engines: { node: '>=8' } dependencies: - postcss: 7.0.32 + cssom: 0.3.8 dev: true - /css-tree/1.1.3: + /csstype/3.1.3: resolution: { - integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==, + integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, } - engines: { node: '>=8.0.0' } - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 dev: true - /css.escape/1.5.1: + /current-script-polyfill/1.0.0: resolution: { - integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==, + integrity: sha512-qv8s+G47V6Hq+g2kRE5th+ASzzrL7b6l+tap1DHKK25ZQJv3yIFhH96XaQ7NGL+zRW3t/RDbweJf/dJDe5Z5KA==, } dev: true - /cssdb/4.4.0: + /cwd/0.9.1: resolution: { - integrity: sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==, + integrity: sha512-4+0D+ojEasdLndYX4Cqff057I/Jp6ysXpwKkdLQLnZxV8f6IYZmZtTP5uqD91a/kWqejoc0sSqK4u8wpTKCh8A==, } + engines: { node: '>=0.8' } + dependencies: + find-pkg: 0.1.2 dev: true - /cssesc/2.0.0: + /cyclist/1.0.1: resolution: { - integrity: sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==, + integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==, } - engines: { node: '>=4' } - hasBin: true dev: true - /cssesc/3.0.0: + /d/1.0.1: resolution: { - integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==, + integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==, } - engines: { node: '>=4' } - hasBin: true + dependencies: + es5-ext: 0.10.62 + type: 1.2.0 dev: true - /cssom/0.3.8: + /d3-color/3.1.0: resolution: { - integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==, + integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==, } + engines: { node: '>=12' } dev: true - /cssom/0.4.4: + /d3-dispatch/3.0.1: resolution: { - integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==, + integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==, } + engines: { node: '>=12' } dev: true - /cssom/0.5.0: + /d3-drag/3.0.0: resolution: { - integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==, + integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==, } + engines: { node: '>=12' } + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 dev: true - /cssstyle/2.3.0: + /d3-ease/3.0.1: resolution: { - integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==, + integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==, } - engines: { node: '>=8' } - dependencies: - cssom: 0.3.8 + engines: { node: '>=12' } dev: true - /csstype/3.1.1: + /d3-interpolate/3.0.1: resolution: { - integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==, + integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==, } + engines: { node: '>=12' } + dependencies: + d3-color: 3.1.0 dev: true - /csstype/3.1.3: + /d3-selection/3.0.0: resolution: { - integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==, + integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==, } + engines: { node: '>=12' } dev: true - /cwd/0.9.1: + /d3-timer/3.0.1: resolution: { - integrity: sha512-4+0D+ojEasdLndYX4Cqff057I/Jp6ysXpwKkdLQLnZxV8f6IYZmZtTP5uqD91a/kWqejoc0sSqK4u8wpTKCh8A==, + integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==, } - engines: { node: '>=0.8' } - dependencies: - find-pkg: 0.1.2 + engines: { node: '>=12' } dev: true - /cyclist/1.0.1: + /d3-transition/3.0.1_d3-selection@3.0.0: resolution: { - integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==, + integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==, } + engines: { node: '>=12' } + peerDependencies: + d3-selection: 2 - 3 + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 dev: true - /d/1.0.1: + /d3-zoom/3.0.0: resolution: { - integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==, + integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==, } + engines: { node: '>=12' } dependencies: - es5-ext: 0.10.62 - type: 1.2.0 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1_d3-selection@3.0.0 dev: true /dargs/7.0.0: @@ -7991,16 +11380,12 @@ packages: assert-plus: 1.0.0 dev: true - /data-urls/2.0.0: + /data-uri-to-buffer/4.0.1: resolution: { - integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==, + integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==, } - engines: { node: '>=10' } - dependencies: - abab: 2.0.6 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 + engines: { node: '>= 12' } dev: true /data-urls/3.0.2: @@ -8112,6 +11497,22 @@ packages: ms: 2.1.2 dev: true + /debug/4.3.4_supports-color@5.5.0: + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: '>=6.0' } + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 5.5.0 + dev: true + /decamelize-keys/1.1.1: resolution: { @@ -8146,6 +11547,15 @@ packages: } dev: true + /decode-named-character-reference/1.0.2: + resolution: + { + integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==, + } + dependencies: + character-entities: 2.0.2 + dev: true + /decode-uri-component/0.2.2: resolution: { @@ -8175,23 +11585,23 @@ packages: integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==, } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 es-get-iterator: 1.1.3 - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 is-arguments: 1.1.1 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-date-object: 1.0.5 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 isarray: 2.0.5 object-is: 1.1.5 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 side-channel: 1.0.4 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.9 + which-typed-array: 1.1.14 dev: true /deep-extend/0.6.0: @@ -8209,22 +11619,49 @@ packages: } dev: true - /deepmerge/1.5.2: + /deep-rename-keys/0.2.1: resolution: { - integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==, + integrity: sha512-RHd9ABw4Fvk+gYDWqwOftG849x0bYOySl/RgX0tLI9i27ZIeSO91mLZJEp7oPHOMFqHvpgu21YptmDt0FYD/0A==, } engines: { node: '>=0.10.0' } + dependencies: + kind-of: 3.2.2 + rename-keys: 1.2.0 dev: true - /deepmerge/4.3.0: + /deepmerge/4.3.1: resolution: { - integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==, + integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, } engines: { node: '>=0.10.0' } dev: true + /default-browser-id/3.0.0: + resolution: + { + integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==, + } + engines: { node: '>=12' } + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: true + + /default-browser/4.0.0: + resolution: + { + integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==, + } + engines: { node: '>=14.16' } + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.2.0 + titleize: 3.0.0 + dev: true + /default-compare/1.0.0: resolution: { @@ -8243,14 +11680,43 @@ packages: engines: { node: '>= 0.10' } dev: true - /define-properties/1.2.0: + /define-data-property/1.1.4: + resolution: + { + integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, + } + engines: { node: '>= 0.4' } + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + dev: true + + /define-lazy-prop/2.0.0: resolution: { - integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==, + integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, + } + engines: { node: '>=8' } + dev: true + + /define-lazy-prop/3.0.0: + resolution: + { + integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==, + } + engines: { node: '>=12' } + dev: true + + /define-properties/1.2.1: + resolution: + { + integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, } engines: { node: '>= 0.4' } dependencies: - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 dev: true @@ -8310,6 +11776,14 @@ packages: engines: { node: '>=0.4.0' } dev: true + /dequal/2.0.3: + resolution: + { + integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, + } + engines: { node: '>=6' } + dev: true + /des.js/1.0.1: resolution: { @@ -8336,6 +11810,23 @@ packages: engines: { node: '>=8' } dev: true + /detect-indent/7.0.1: + resolution: + { + integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==, + } + engines: { node: '>=12.20' } + dev: true + + /detect-libc/1.0.3: + resolution: + { + integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==, + } + engines: { node: '>=0.10' } + hasBin: true + dev: true + /detect-newline/3.1.0: resolution: { @@ -8344,6 +11835,21 @@ packages: engines: { node: '>=8' } dev: true + /detect-newline/4.0.1: + resolution: + { + integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /detect-node/2.1.0: + resolution: + { + integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==, + } + dev: true + /diff-sequences/28.1.1: resolution: { @@ -8431,13 +11937,22 @@ packages: } dev: true + /dom-converter/0.2.0: + resolution: + { + integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==, + } + dependencies: + utila: 0.4.0 + dev: true + /dom-helpers/3.4.0: resolution: { integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==, } dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 dev: true /dom-serializer/0.2.2: @@ -8450,6 +11965,28 @@ packages: entities: 2.2.0 dev: true + /dom-serializer/1.4.1: + resolution: + { + integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==, + } + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /dom-serializer/2.0.0: + resolution: + { + integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==, + } + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.4.0 + dev: true + /dom7/3.0.0: resolution: { @@ -8481,16 +12018,6 @@ packages: } dev: true - /domexception/2.0.1: - resolution: - { - integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==, - } - engines: { node: '>=8' } - dependencies: - webidl-conversions: 5.0.0 - dev: true - /domexception/4.0.0: resolution: { @@ -8510,6 +12037,26 @@ packages: domelementtype: 1.3.1 dev: true + /domhandler/4.3.1: + resolution: + { + integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==, + } + engines: { node: '>= 4' } + dependencies: + domelementtype: 2.3.0 + dev: true + + /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: { @@ -8520,6 +12067,38 @@ packages: domelementtype: 1.3.1 dev: true + /domutils/2.8.0: + resolution: + { + integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==, + } + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /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: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + /dot-prop/4.2.1: resolution: { @@ -8578,53 +12157,136 @@ packages: style-unit: 3.0.5 dev: true - /dumi-assets-types/1.0.1: + /dumi-afx-deps/1.0.0-alpha.20: + resolution: + { + integrity: sha512-PRSJlHuJkyHDET7Hukykx/hLULkgUBX5q2CutMG5EDI3eJLzJlX634wNll10m3at1uomcDAVudL7Dgh5UOJ7IQ==, + } + dev: true + + /dumi-assets-types/2.0.0-alpha.0: resolution: { - integrity: sha512-A+fJp7L+Q6nU5S2KgbdnyfRoCkAZy+UFudQ45QPM7W+3LIe8o+Tt0cURIQMnLZMBjoKbItB5IDi+IM39FwFZvQ==, + integrity: sha512-a/Y5lf0G6gwsEQ9hop/n03CcjmHsGBk384Cz/AEX6mRYrfSpUx/lQvP9HLoXkCzScl9PL1sSmLPnMkgaXDCZLA==, } dev: true - /dumi-theme-default/1.1.24_gnbr5qsyacvgxlk37meoe5oi7m: + /dumi/2.3.0-beta.7_jee3wun45dmguwauug36rvsrn4: resolution: { - integrity: sha512-/fS7gBJejom1Zy1GZkrqG/dLEsCK6J/S/ctCPEawDC3KkZE0sJh+dqsMuhHt8ts7ZhaGhDpJNPXSMghfN/qrzw==, + integrity: sha512-iS6dyNtl1ZrxGId4+qPG9rVtlvwUu5DBNFiJoyRQL9Heokz5utUCL6PxDWGxuBoBJ5QisHVll+w9Kcu/Hjjjfg==, } + hasBin: true peerDependencies: - '@umijs/preset-dumi': 1.x - react: ^16.13.1 || ^17.0.0 + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@umijs/preset-dumi': 1.1.50_hybve2zuw5q64fgjm73h46xefu + '@ant-design/icons-svg': 4.4.2 + '@makotot/ghostui': 2.0.0_react@18.2.0 + '@stackblitz/sdk': 1.9.0 + '@swc/core': 1.3.72 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + '@umijs/bundler-utils': 4.1.2 + '@umijs/core': 4.1.2 + '@umijs/utils': 4.1.2 + animated-scroll-to: 2.3.0 + classnames: 2.3.2 + codesandbox: 2.2.3 + copy-to-clipboard: 3.3.3 + deepmerge: 4.3.1 + dumi-afx-deps: 1.0.0-alpha.20 + dumi-assets-types: 2.0.0-alpha.0 + enhanced-resolve: 5.15.0 + estree-util-to-js: 1.2.0 + estree-util-visit: 1.2.1 + file-system-cache: 2.4.4 + github-slugger: 1.5.0 + hast-util-is-element: 2.1.3 + hast-util-raw: 8.0.0 + hast-util-to-estree: 2.3.3 + hast-util-to-string: 2.0.0 + heti: 0.9.4 + hosted-git-info: 6.1.1 + html-to-text: 9.0.5 + html2sketch: 1.0.2 + js-yaml: 4.1.0 lodash.throttle: 4.1.1 + mdast-util-find-and-replace: 2.2.2 + mdast-util-to-string: 3.2.0 + nprogress: 0.2.0 + pluralize: 8.0.0 prism-react-renderer: 1.3.5_react@18.2.0 + prism-themes: 1.9.0 prismjs: 1.29.0 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-tabs: 11.16.1_biqbaboplfbrettd7655fr4n2y - rc-tree: 5.7.2_biqbaboplfbrettd7655fr4n2y + raw-loader: 4.0.2_webpack@5.90.3 + rc-motion: 2.9.0_biqbaboplfbrettd7655fr4n2y + rc-tabs: 12.15.0_biqbaboplfbrettd7655fr4n2y + rc-tree: 5.8.5_biqbaboplfbrettd7655fr4n2y + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y react: 18.2.0 - react-error-boundary: 3.1.4_react@18.2.0 + react-copy-to-clipboard: 5.1.0_react@18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-error-boundary: 4.0.12_react@18.2.0 + react-intl: 6.6.2_iexvvtburph4rvb3nqc2tfrkce + react-loading-skeleton: 3.4.0_react@18.2.0 + react-simple-code-editor: 0.13.1_biqbaboplfbrettd7655fr4n2y + rehype-autolink-headings: 6.1.1 + rehype-remove-comments: 5.0.0 + rehype-stringify: 9.0.4 + remark-directive: 2.0.1 + remark-frontmatter: 4.0.1 + remark-gfm: 3.0.1 + remark-parse: 10.0.2 + remark-rehype: 10.1.0 + sass: 1.71.1 + sitemap: 7.1.1 + sucrase: 3.35.0 + umi: 4.1.2_winawttwhukufwtoaav7nvyiee + unified: 10.1.2 + unist-util-visit: 4.1.2 + unist-util-visit-parents: 5.1.3 + url: 0.11.3 + v8-compile-cache: 2.3.0 + vfile: 5.3.7 transitivePeerDependencies: - - react-dom + - '@babel/core' + - '@swc/helpers' + - '@types/node' + - '@types/react' + - '@types/webpack' + - '@volar/vue-language-plugin-pug' + - '@volar/vue-typescript' + - eslint + - jest + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - prettier + - rollup + - sockjs-client + - stylelint + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve dev: true - /dumi/1.1.50_23ggkg76n7muqojfq7htundxji: + /duplexer2/0.1.4: resolution: { - integrity: sha512-8kc+VL62JlVj1zoAaqWN2uE/feSYhzCuFFnWUll+aQgpKKM103DvnkmczqruMqV33gOsy3lWHf01uFu5RUagGg==, + integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==, } - hasBin: true dependencies: - '@umijs/preset-dumi': 1.1.50_hybve2zuw5q64fgjm73h46xefu - umi: 3.5.37_react-router@6.8.2 - transitivePeerDependencies: - - bufferutil - - canvas - - react - - react-dom - - react-router - - supports-color - - typescript - - utf-8-validate + readable-stream: 2.3.8 dev: true /duplexer3/0.1.5: @@ -8646,6 +12308,18 @@ packages: stream-shift: 1.0.1 dev: true + /duplexify/4.1.2: + resolution: + { + integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==, + } + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.1 + stream-shift: 1.0.1 + dev: true + /each-props/1.3.2: resolution: { @@ -8656,6 +12330,13 @@ packages: object.defaults: 1.1.0 dev: true + /eastasianwidth/0.2.0: + resolution: + { + integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, + } + dev: true + /ecc-jsbn/0.1.2: resolution: { @@ -8674,20 +12355,20 @@ packages: engines: { node: '>=0.8' } dependencies: errlop: 2.2.0 - semver: 6.3.0 + semver: 6.3.1 dev: true - /electron-to-chromium/1.4.320: + /electron-to-chromium/1.4.513: resolution: { - integrity: sha512-h70iRscrNluMZPVICXYl5SSB+rBKo22XfuIS1ER0OQxQZpKTnFpuS6coj7wY9M/3trv7OR88rRMOlKmRvDty7Q==, + integrity: sha512-cOB0xcInjm+E5qIssHeXJ29BaUyWpMyFKT5RB3bsLENDheCja0wMkHJyiPl0NBE/VzDI7JDuNEQWhe6RitEUcw==, } dev: true - /electron-to-chromium/1.4.513: + /electron-to-chromium/1.4.682: resolution: { - integrity: sha512-cOB0xcInjm+E5qIssHeXJ29BaUyWpMyFKT5RB3bsLENDheCja0wMkHJyiPl0NBE/VzDI7JDuNEQWhe6RitEUcw==, + integrity: sha512-oCglfs8yYKs9RQjJFOHonSnhikPK3y+0SvSYc/YpYJV//6rqc0/hbwd0c7vgK4vrl6y2gJAwjkhkSGWK+z4KRA==, } dev: true @@ -8721,6 +12402,13 @@ packages: } dev: true + /emoji-regex/9.2.2: + resolution: + { + integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, + } + dev: true + /emojis-list/3.0.0: resolution: { @@ -8747,22 +12435,21 @@ packages: once: 1.4.0 dev: true - /enhanced-resolve/4.5.0: + /enhanced-resolve/5.15.0: resolution: { - integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==, + integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==, } - engines: { node: '>=6.9.0' } + engines: { node: '>=10.13.0' } dependencies: graceful-fs: 4.2.11 - memory-fs: 0.5.0 - tapable: 1.1.3 + tapable: 2.2.1 dev: true - /enhanced-resolve/5.15.0: + /enhanced-resolve/5.9.3: resolution: { - integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==, + integrity: sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==, } engines: { node: '>=10.13.0' } dependencies: @@ -8832,9 +12519,11 @@ packages: integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==, } hasBin: true + requiresBuild: true dependencies: prr: 1.0.1 dev: true + optional: true /error-ex/1.3.2: resolution: @@ -8854,46 +12543,79 @@ packages: stackframe: 1.3.4 dev: true - /es-abstract/1.21.1: + /es-abstract/1.22.4: resolution: { - integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==, + integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==, } engines: { node: '>= 0.4' } dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 - function-bind: 1.1.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.0 - get-symbol-description: 1.0.0 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 + hasown: 2.0.1 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 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-typed-array: 1.1.10 + is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.12.3 + object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.0 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 + which-typed-array: 1.1.14 + dev: true + + /es-array-method-boxes-properly/1.0.0: + resolution: + { + integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==, + } + dev: true + + /es-define-property/1.0.0: + resolution: + { + integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, + } + engines: { node: '>= 0.4' } + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors/1.3.0: + resolution: + { + integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, + } + engines: { node: '>= 0.4' } dev: true /es-get-iterator/1.1.3: @@ -8902,8 +12624,8 @@ packages: integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==, } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 is-map: 2.0.2 @@ -8913,11 +12635,28 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-module-lexer/0.7.1: + /es-iterator-helpers/1.0.17: resolution: { - integrity: sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==, + integrity: sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==, } + engines: { node: '>= 0.4' } + dependencies: + asynciterator.prototype: 1.0.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.3 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + iterator.prototype: 1.1.2 + safe-array-concat: 1.1.0 dev: true /es-module-lexer/1.3.0: @@ -8927,16 +12666,16 @@ packages: } dev: true - /es-set-tostringtag/2.0.1: + /es-set-tostringtag/2.0.3: resolution: { - integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==, + integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==, } engines: { node: '>= 0.4' } dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - has-tostringtag: 1.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.1 dev: true /es-shim-unscopables/1.0.0: @@ -9029,13 +12768,70 @@ packages: es6-symbol: 3.1.3 dev: true - /esbuild/0.12.15: + /esbuild/0.17.19: resolution: { - integrity: sha512-72V4JNd2+48eOVCXx49xoSWHgC3/cCy96e7mbXKY+WOWghN00cCmlGnwVLRhRHorvv0dgCyuMYBZlM2xDM5OQw==, + integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==, + } + engines: { node: '>=12' } + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + + /esbuild/0.18.20: + resolution: + { + integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==, } + engines: { node: '>=12' } hasBin: true requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 dev: true /escalade/3.1.1: @@ -9070,6 +12866,14 @@ packages: engines: { node: '>=10' } dev: true + /escape-string-regexp/5.0.0: + resolution: + { + integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==, + } + engines: { node: '>=12' } + dev: true + /escodegen/2.0.0: resolution: { @@ -9160,6 +12964,31 @@ packages: - typescript dev: true + /eslint-plugin-jest/27.2.3_cfrvxilm7r3dicxhggyedjexwm: + resolution: + { + integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.62.0_m2cxlwrnli62flezl4w56zrvky + '@typescript-eslint/utils': 5.62.0_b7tisbpcguunpryxdryrb3yucu + eslint: 8.57.0 + jest: 29.4.3_nvadb4ngcuh2lyv22apfdo6nc4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /eslint-plugin-promise/6.1.1_eslint@7.32.0: resolution: { @@ -9219,7 +13048,35 @@ packages: object.values: 1.1.6 prop-types: 15.8.1 resolve: 2.0.0-next.4 - semver: 6.3.0 + semver: 6.3.1 + string.prototype.matchall: 4.0.8 + dev: true + + /eslint-plugin-react/7.33.2_eslint@8.57.0: + resolution: + { + integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==, + } + engines: { node: '>=4' } + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.17 + eslint: 8.57.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.3 + minimatch: 3.1.2 + object.entries: 1.1.7 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.1 string.prototype.matchall: 4.0.8 dev: true @@ -9245,7 +13102,7 @@ packages: regexp-tree: 0.1.24 reserved-words: 0.1.2 safe-regex: 2.1.1 - semver: 7.3.8 + semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true @@ -9295,8 +13152,8 @@ packages: peerDependencies: eslint: '>=7.0.0' dependencies: - '@babel/core': 7.21.0 - '@babel/eslint-parser': 7.19.1_ccoxihxmx25rm5cufeee3dmlne + '@babel/core': 7.23.9 + '@babel/eslint-parser': 7.23.3_ajxhju64wjvi3t5e4634pz6c6u eslint: 7.32.0 eslint-visitor-keys: 2.1.0 esquery: 1.5.0 @@ -9394,7 +13251,7 @@ packages: optionator: 0.9.1 progress: 2.0.3 regexpp: 3.2.0 - semver: 7.3.8 + semver: 7.5.4 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 table: 6.8.1 @@ -9454,14 +13311,6 @@ packages: - supports-color dev: true - /esm/3.2.25: - resolution: - { - integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==, - } - engines: { node: '>=6' } - dev: true - /espree/7.3.1: resolution: { @@ -9531,6 +13380,43 @@ packages: engines: { node: '>=4.0' } dev: true + /estree-util-attach-comments/2.1.1: + resolution: + { + integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==, + } + dependencies: + '@types/estree': 1.0.5 + dev: true + + /estree-util-is-identifier-name/2.1.0: + resolution: + { + integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==, + } + dev: true + + /estree-util-to-js/1.2.0: + resolution: + { + integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==, + } + dependencies: + '@types/estree-jsx': 1.0.5 + astring: 1.8.6 + source-map: 0.7.4 + dev: true + + /estree-util-visit/1.2.1: + resolution: + { + integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==, + } + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 2.0.6 + dev: true + /esutils/2.0.3: resolution: { @@ -9539,6 +13425,13 @@ packages: engines: { node: '>=0.10.0' } dev: true + /eventemitter3/2.0.3: + resolution: + { + integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==, + } + dev: true + /events/3.3.0: resolution: { @@ -9573,22 +13466,6 @@ packages: strip-eof: 1.0.0 dev: true - /execa/1.0.0: - resolution: - { - integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==, - } - engines: { node: '>=6' } - dependencies: - cross-spawn: 6.0.5 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - dev: true - /execa/4.1.0: resolution: { @@ -9625,6 +13502,24 @@ packages: strip-final-newline: 2.0.0 dev: true + /execa/7.2.0: + resolution: + { + integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==, + } + engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + /execall/2.0.0: resolution: { @@ -9805,6 +13700,20 @@ packages: micromatch: 4.0.5 dev: true + /fast-glob/3.3.2: + resolution: + { + integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, + } + engines: { node: '>=8.6.0' } + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + /fast-json-stable-stringify/2.1.0: resolution: { @@ -9833,6 +13742,14 @@ packages: } dev: true + /fast-redact/3.3.0: + resolution: + { + integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, + } + engines: { node: '>=6' } + dev: true + /fast-shallow-equal/1.0.0: resolution: { @@ -9864,10 +13781,10 @@ packages: reusify: 1.0.4 dev: true - /fault/1.0.4: + /fault/2.0.1: resolution: { - integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==, + integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==, } dependencies: format: 0.2.2 @@ -9917,6 +13834,17 @@ packages: - encoding dev: true + /fetch-blob/3.2.0: + resolution: + { + integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==, + } + engines: { node: ^12.20 || >= 14.13 } + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + dev: true + /figures/2.0.0: resolution: { @@ -9945,6 +13873,18 @@ packages: engines: { node: '>=0.10.0' } dev: true + /file-system-cache/2.4.4: + resolution: + { + integrity: sha512-vCYhn8pb5nlC3Gs2FFCOkmf4NEg2Ym3ulJwkmS9o6p9oRShGj6CwTMFvpgZihBlsh373NaM0XgAgDHXQIlS4LQ==, + } + dependencies: + '@types/fs-extra': 11.0.1 + '@types/ramda': 0.29.3 + fs-extra: 11.1.1 + ramda: 0.29.0 + dev: true + /file-uri-to-path/1.0.0: resolution: { @@ -10022,6 +13962,13 @@ packages: find-file-up: 0.1.3 dev: true + /find-root/1.1.0: + resolution: + { + integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==, + } + dev: true + /find-up/1.1.2: resolution: { @@ -10134,14 +14081,6 @@ packages: } dev: true - /flatten/1.0.3: - resolution: - { - integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==, - } - deprecated: flatten is deprecated in favor of utility frameworks such as lodash. - dev: true - /flush-write-stream/1.1.1: resolution: { @@ -10206,6 +14145,17 @@ packages: for-in: 1.0.2 dev: true + /foreground-child/3.1.1: + resolution: + { + integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==, + } + engines: { node: '>=14' } + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + /forever-agent/0.6.1: resolution: { @@ -10213,6 +14163,32 @@ packages: } dev: true + /fork-ts-checker-webpack-plugin/8.0.0_4gka4bvekjbmxy5tqwawlojx2a: + resolution: + { + integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==, + } + engines: { node: '>=12.13.0', yarn: '>=1.0.0' } + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + dependencies: + '@babel/code-frame': 7.23.5 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + fs-extra: 10.1.0 + memfs: 3.5.3 + minimatch: 3.1.2 + node-abort-controller: 3.1.1 + schema-utils: 3.3.0 + semver: 7.5.4 + tapable: 2.2.1 + typescript: 5.1.3 + webpack: 5.90.3_webpack-cli@5.1.4 + dev: true + /form-data/2.3.3: resolution: { @@ -10225,10 +14201,10 @@ packages: mime-types: 2.1.35 dev: true - /form-data/3.0.1: + /form-data/4.0.0: resolution: { - integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==, + integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, } engines: { node: '>= 6' } dependencies: @@ -10237,24 +14213,29 @@ packages: mime-types: 2.1.35 dev: true - /form-data/4.0.0: + /format/0.2.2: resolution: { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, + integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==, + } + engines: { node: '>=0.4.x' } + dev: true + + /formdata-polyfill/4.0.10: + resolution: + { + integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, } - engines: { node: '>= 6' } + engines: { node: '>=12.20.0' } dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 + fetch-blob: 3.2.0 dev: true - /format/0.2.2: + /fraction.js/4.3.7: resolution: { - integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==, + integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==, } - engines: { node: '>=0.4.x' } dev: true /fragment-cache/0.2.1: @@ -10304,10 +14285,10 @@ packages: universalify: 2.0.0 dev: true - /fs-extra/11.1.0: + /fs-extra/11.1.1: resolution: { - integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==, + integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==, } engines: { node: '>=14.14' } dependencies: @@ -10338,6 +14319,13 @@ packages: through2: 2.0.5 dev: true + /fs-monkey/1.0.5: + resolution: + { + integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==, + } + dev: true + /fs-readdir-recursive/1.1.0: resolution: { @@ -10403,23 +14391,23 @@ packages: rimraf: 2.7.1 dev: true - /function-bind/1.1.1: + /function-bind/1.1.2: resolution: { - integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, } dev: true - /function.prototype.name/1.1.5: + /function.prototype.name/1.1.6: resolution: { - integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==, + integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==, } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 functions-have-names: 1.2.3 dev: true @@ -10467,22 +14455,18 @@ packages: engines: { node: 6.* || 8.* || >= 10.* } dev: true - /get-intrinsic/1.2.0: + /get-intrinsic/1.2.4: resolution: { - integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==, + integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, } + engines: { node: '>= 0.4' } dependencies: - function-bind: 1.1.1 - has: 1.0.3 + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - dev: true - - /get-own-enumerable-property-symbols/3.0.2: - resolution: - { - integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==, - } + hasown: 2.0.1 dev: true /get-package-type/0.1.0: @@ -10509,16 +14493,6 @@ packages: engines: { node: '>=4' } dev: true - /get-stream/4.1.0: - resolution: - { - integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==, - } - engines: { node: '>=6' } - dependencies: - pump: 3.0.0 - dev: true - /get-stream/5.2.0: resolution: { @@ -10537,15 +14511,25 @@ packages: engines: { node: '>=10' } dev: true - /get-symbol-description/1.0.0: + /get-symbol-description/1.0.2: resolution: { - integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==, + integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==, } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + dev: true + + /get-tsconfig/4.7.2: + resolution: + { + integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, + } + dependencies: + resolve-pkg-maps: 1.0.0 dev: true /get-value/2.0.6: @@ -10592,6 +14576,13 @@ packages: } dev: true + /git-hooks-list/3.1.0: + resolution: + { + integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==, + } + dev: true + /git-raw-commits/2.0.11: resolution: { @@ -10711,6 +14702,21 @@ packages: - supports-color dev: true + /glob/10.3.10: + resolution: + { + integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==, + } + engines: { node: '>=16 || 14 >=14.17' } + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: true + /glob/7.1.6: resolution: { @@ -10856,7 +14862,7 @@ packages: } engines: { node: '>= 0.4' } dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 dev: true /globby/10.0.0: @@ -10869,7 +14875,7 @@ packages: '@types/glob': 7.2.0 array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.2 glob: 7.2.3 ignore: 5.3.1 merge2: 1.4.1 @@ -10886,7 +14892,7 @@ packages: '@types/glob': 7.2.0 array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.2 glob: 7.2.3 ignore: 5.2.4 merge2: 1.4.1 @@ -10902,12 +14908,26 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.2 ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 dev: true + /globby/13.2.2: + resolution: + { + integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + /globjoin/0.1.4: resolution: { @@ -10942,7 +14962,7 @@ packages: integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, } dependencies: - get-intrinsic: 1.2.0 + get-intrinsic: 1.2.4 dev: true /got/6.7.1: @@ -11106,6 +15126,13 @@ packages: glogg: 1.0.2 dev: true + /handle-thing/2.0.1: + resolution: + { + integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==, + } + dev: true + /har-schema/2.0.0: resolution: { @@ -11134,6 +15161,13 @@ packages: engines: { node: '>=6' } dev: true + /harmony-reflect/1.6.2: + resolution: + { + integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==, + } + dev: true + /has-bigints/1.0.2: resolution: { @@ -11157,19 +15191,19 @@ packages: engines: { node: '>=8' } dev: true - /has-property-descriptors/1.0.0: + /has-property-descriptors/1.0.2: resolution: { - integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==, + integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, } dependencies: - get-intrinsic: 1.2.0 + es-define-property: 1.0.0 dev: true - /has-proto/1.0.1: + /has-proto/1.0.3: resolution: { - integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==, + integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, } engines: { node: '>= 0.4' } dev: true @@ -11182,10 +15216,10 @@ packages: engines: { node: '>= 0.4' } dev: true - /has-tostringtag/1.0.0: + /has-tostringtag/1.0.2: resolution: { - integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==, + integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, } engines: { node: '>= 0.4' } dependencies: @@ -11242,7 +15276,7 @@ packages: } engines: { node: '>= 0.4.0' } dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 dev: true /hash-base/3.1.0: @@ -11267,159 +15301,199 @@ packages: minimalistic-assert: 1.0.1 dev: true - /hast-to-hyperscript/9.0.1: + /hasown/2.0.1: resolution: { - integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==, + integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, } + engines: { node: '>= 0.4' } dependencies: - '@types/unist': 2.0.6 - comma-separated-tokens: 1.0.8 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - style-to-object: 0.3.0 - unist-util-is: 4.1.0 - web-namespaces: 1.1.4 + function-bind: 1.1.2 dev: true - /hast-util-from-dom/3.0.0: + /hast-util-from-parse5/7.1.2: resolution: { - integrity: sha512-4vQuGiD5Y/wlD7fZiY4mZML/6oh0GOnH38UNyeDFcSTE4AHF0zjKHZfbd+ekVwPvsZXRl8choc99INHUwSPJlg==, + integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==, } dependencies: - hastscript: 6.0.0 - web-namespaces: 1.1.4 + '@types/hast': 2.3.10 + '@types/unist': 2.0.6 + hastscript: 7.2.0 + property-information: 6.4.1 + vfile: 5.3.7 + vfile-location: 4.1.0 + web-namespaces: 2.0.1 dev: true - /hast-util-from-parse5/6.0.1: + /hast-util-has-property/2.0.1: resolution: { - integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==, + integrity: sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==, } - dependencies: - '@types/parse5': 5.0.3 - hastscript: 6.0.0 - property-information: 5.6.0 - vfile: 4.2.1 - vfile-location: 3.2.0 - web-namespaces: 1.1.4 dev: true - /hast-util-has-property/1.0.4: + /hast-util-heading-rank/2.1.1: resolution: { - integrity: sha512-ghHup2voGfgFoHMGnaLHOjbYFACKrRh9KFttdCzMCbFoBMJXiNi2+XTrPP8+q6cDJM/RSqlCfVWrjp1H201rZg==, + integrity: sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==, } + dependencies: + '@types/hast': 2.3.10 dev: true - /hast-util-is-conditional-comment/1.0.4: + /hast-util-is-conditional-comment/2.0.0: resolution: { - integrity: sha512-rtULxWWknVeSuU/vsJ9tHo+M3ExyaOrZcWvLxqY2nUfCHbDcq60EJzSJC5zNm6ZlbxbJ8l7Ej8C1Kzsi5PJS1A==, + integrity: sha512-U66gW8ZWQdxP4ZjTEZ3xZT72y6rIKJqV4At5QmC1ItBbQyZyVkuTp8QkQwhxsbkHdzpifiZdQWrDipc9ByqhRg==, } + dependencies: + '@types/hast': 2.3.10 dev: true - /hast-util-is-element/1.1.0: + /hast-util-is-element/2.1.3: resolution: { - integrity: sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==, + integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==, } + dependencies: + '@types/hast': 2.3.10 + '@types/unist': 2.0.6 dev: true - /hast-util-parse-selector/2.2.5: + /hast-util-parse-selector/3.1.1: resolution: { - integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==, + integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==, } + dependencies: + '@types/hast': 2.3.10 dev: true - /hast-util-raw/6.1.0: + /hast-util-raw/7.2.3: resolution: { - integrity: sha512-5FoZLDHBpka20OlZZ4I/+RBw5piVQ8iI1doEvffQhx5CbCyTtP8UCq8Tw6NmTAMtXgsQxmhW7Ly8OdFre5/YMQ==, + integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==, } dependencies: - '@types/hast': 2.3.4 - hast-util-from-parse5: 6.0.1 - hast-util-to-parse5: 6.0.0 - html-void-elements: 1.0.5 + '@types/hast': 2.3.10 + '@types/parse5': 6.0.3 + hast-util-from-parse5: 7.1.2 + hast-util-to-parse5: 7.1.0 + html-void-elements: 2.0.1 parse5: 6.0.1 - unist-util-position: 3.1.0 - unist-util-visit: 2.0.3 - vfile: 4.2.1 - web-namespaces: 1.1.4 - xtend: 4.0.2 - zwitch: 1.0.5 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + web-namespaces: 2.0.1 + zwitch: 2.0.4 dev: true - /hast-util-to-html/7.1.3: + /hast-util-raw/8.0.0: resolution: { - integrity: sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==, + integrity: sha512-bKbaUxMNLjZMMowgcrc4l3aQSPiMLiceZD+mp+AKF8Si0mtyR2DYVdxzS2XBxXYDeW/VvfZy40lNxHRiY6MMTg==, } dependencies: - ccount: 1.1.0 - comma-separated-tokens: 1.0.8 - hast-util-is-element: 1.1.0 - hast-util-whitespace: 1.0.4 - html-void-elements: 1.0.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - stringify-entities: 3.1.0 - unist-util-is: 4.1.0 - xtend: 4.0.2 + '@types/hast': 2.3.10 + extend: 3.0.2 + hast-util-from-parse5: 7.1.2 + hast-util-to-parse5: 7.1.0 + html-void-elements: 2.0.1 + mdast-util-to-hast: 12.3.0 + parse5: 7.1.2 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 + vfile: 5.3.7 + web-namespaces: 2.0.1 + zwitch: 2.0.4 dev: true - /hast-util-to-parse5/6.0.0: + /hast-util-to-estree/2.3.3: resolution: { - integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==, + integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==, } dependencies: - hast-to-hyperscript: 9.0.1 - property-information: 5.6.0 - web-namespaces: 1.1.4 - xtend: 4.0.2 - zwitch: 1.0.5 + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 2.3.10 + '@types/unist': 2.0.6 + comma-separated-tokens: 2.0.3 + estree-util-attach-comments: 2.1.1 + estree-util-is-identifier-name: 2.1.0 + hast-util-whitespace: 2.0.1 + mdast-util-mdx-expression: 1.3.2 + mdast-util-mdxjs-esm: 1.3.1 + property-information: 6.4.1 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 4.0.4 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color dev: true - /hast-util-to-string/1.0.4: + /hast-util-to-html/8.0.4: resolution: { - integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==, + integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==, } + dependencies: + '@types/hast': 2.3.10 + '@types/unist': 2.0.6 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 7.2.3 + hast-util-whitespace: 2.0.1 + html-void-elements: 2.0.1 + property-information: 6.4.1 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.3 + zwitch: 2.0.4 dev: true - /hast-util-to-text/2.0.1: + /hast-util-to-parse5/7.1.0: resolution: { - integrity: sha512-8nsgCARfs6VkwH2jJU9b8LNTuR4700na+0h3PqCaEk4MAnMDeu5P0tP8mjk9LLNGxIeQRLbiDbZVw6rku+pYsQ==, + integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==, } dependencies: - hast-util-is-element: 1.1.0 - repeat-string: 1.6.1 - unist-util-find-after: 3.0.0 + '@types/hast': 2.3.10 + comma-separated-tokens: 2.0.3 + property-information: 6.4.1 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: true + + /hast-util-to-string/2.0.0: + resolution: + { + integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==, + } + dependencies: + '@types/hast': 2.3.10 dev: true - /hast-util-whitespace/1.0.4: + /hast-util-whitespace/2.0.1: resolution: { - integrity: sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==, + integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==, } dev: true - /hastscript/6.0.0: + /hastscript/7.2.0: resolution: { - integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==, + integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==, } dependencies: - '@types/hast': 2.3.4 - comma-separated-tokens: 1.0.8 - hast-util-parse-selector: 2.2.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 + '@types/hast': 2.3.10 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 3.1.1 + property-information: 6.4.1 + space-separated-tokens: 2.0.2 dev: true /he/1.2.0: @@ -11430,33 +15504,20 @@ packages: hasBin: true dev: true - /history-with-query/4.10.4: + /heti-findandreplacedomtext/0.5.0: resolution: { - integrity: sha512-JnskQK8X+PbRFHSdDAExhoJyhLnlLZL+UuHQuQhys+Se9/ukRDRBWU4JVTjsiIfbv1fcEmR3oqKW56OYmk5M5w==, + integrity: sha512-GFZjqU8LAdu1uR72GqrReI+lzNLMlcWtvdz1TKNJiofyo1mfTecFYSZEoEbcLcRMl+KwEldnNQoS4BwO8wtg0A==, } - dependencies: - '@babel/runtime': 7.23.9 - loose-envify: 1.4.0 - query-string: 6.14.1 - resolve-pathname: 3.0.0 - tiny-invariant: 1.3.1 - tiny-warning: 1.0.3 - value-equal: 1.0.1 dev: true - /history/4.10.1: + /heti/0.9.4: resolution: { - integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==, + integrity: sha512-DI1A/R6VabM8wulXrGVbeHZNZ8jJUm+Pwn+PEYZcNBxAO+4mXWPEX+Xu9R/YrHETGcevNrLO34m/99ZCnFnlhw==, } dependencies: - '@babel/runtime': 7.23.9 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.3.1 - tiny-warning: 1.0.3 - value-equal: 1.0.1 + heti-findandreplacedomtext: 0.5.0 dev: true /history/5.3.0: @@ -11505,34 +15566,43 @@ packages: } dev: true - /hosted-git-info/3.0.8: + /hosted-git-info/4.1.0: resolution: { - integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==, + integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, } engines: { node: '>=10' } dependencies: lru-cache: 6.0.0 dev: true - /hosted-git-info/4.1.0: + /hosted-git-info/6.1.1: resolution: { - integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, + integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==, } - engines: { node: '>=10' } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } dependencies: - lru-cache: 6.0.0 + lru-cache: 7.18.3 dev: true - /html-encoding-sniffer/2.0.1: + /hpack.js/2.1.6: resolution: { - integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==, + integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==, } - engines: { node: '>=10' } dependencies: - whatwg-encoding: 1.0.5 + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + dev: true + + /htm/3.1.1: + resolution: + { + integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==, + } dev: true /html-encoding-sniffer/3.0.0: @@ -11559,6 +15629,23 @@ packages: } dev: true + /html-minifier-terser/6.1.0: + resolution: + { + integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==, + } + engines: { node: '>=12' } + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.3 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.28.1 + dev: true + /html-tags/3.2.0: resolution: { @@ -11567,11 +15654,73 @@ packages: engines: { node: '>=8' } dev: true - /html-void-elements/1.0.5: + /html-to-text/9.0.5: + resolution: + { + integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==, + } + engines: { node: '>=14' } + dependencies: + '@selderee/plugin-htmlparser2': 0.11.0 + deepmerge: 4.3.1 + dom-serializer: 2.0.0 + htmlparser2: 8.0.2 + selderee: 0.11.0 + dev: true + + /html-tokenize/2.0.1: + resolution: + { + integrity: sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==, + } + hasBin: true + dependencies: + buffer-from: 0.1.2 + inherits: 2.0.4 + minimist: 1.2.8 + readable-stream: 1.0.34 + through2: 0.4.2 + dev: true + + /html-void-elements/2.0.1: + resolution: + { + integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==, + } + dev: true + + /html-webpack-plugin/5.5.0_webpack@5.90.3: + resolution: + { + integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==, + } + engines: { node: '>=10.13.0' } + peerDependencies: + webpack: ^5.20.0 + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + webpack: 5.90.3_webpack-cli@5.1.4 + dev: true + + /html2sketch/1.0.2: resolution: { - integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==, + integrity: sha512-/P9NcVH9yBhrOkcnaFkAbWJifDO8Ii+CTIxy9gE6trSQvo2OH++TKQIP5MICEoWvgXpVhZ6botj7P63Krl1/gg==, } + engines: { node: '>=14.0.0' } + dependencies: + '@sketch-hq/sketch-file-format-ts': 6.5.0 + color: 3.2.1 + css: 3.0.0 + svg-pathdata: 5.0.5 + svgo-browser: 1.3.8 + svgson: 4.1.0 + transformation-matrix: 2.16.1 + uuid: 8.3.2 dev: true /htmlparser2/3.10.1: @@ -11588,6 +15737,30 @@ packages: readable-stream: 3.6.1 dev: true + /htmlparser2/6.1.0: + resolution: + { + integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==, + } + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + dev: true + + /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.4.0 + dev: true + /http-cache-semantics/3.8.1: resolution: { @@ -11595,29 +15768,22 @@ packages: } dev: true - /http-proxy-agent/2.1.0: + /http-deceiver/1.2.7: resolution: { - integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==, + integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==, } - engines: { node: '>= 4.5.0' } - dependencies: - agent-base: 4.3.0 - debug: 3.1.0 - transitivePeerDependencies: - - supports-color dev: true - /http-proxy-agent/4.0.1: + /http-proxy-agent/2.1.0: resolution: { - integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==, + integrity: sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==, } - engines: { node: '>= 6' } + engines: { node: '>= 4.5.0' } dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.4 + agent-base: 4.3.0 + debug: 3.1.0 transitivePeerDependencies: - supports-color dev: true @@ -11697,6 +15863,14 @@ packages: engines: { node: '>=10.17.0' } dev: true + /human-signals/4.3.1: + resolution: + { + integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==, + } + engines: { node: '>=14.18.0' } + dev: true + /humanize-ms/1.2.1: resolution: { @@ -11749,6 +15923,28 @@ packages: safer-buffer: 2.1.2 dev: true + /icss-utils/5.1.0_postcss@8.4.21: + resolution: + { + integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==, + } + engines: { node: ^10 || ^12 || >= 14 } + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.21 + dev: true + + /identity-obj-proxy/3.0.0: + resolution: + { + integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==, + } + engines: { node: '>=4' } + dependencies: + harmony-reflect: 1.6.2 + dev: true + /ieee754/1.2.1: resolution: { @@ -11787,36 +15983,33 @@ packages: engines: { node: '>= 4' } dev: true - /image-size/0.8.3: + /image-size/0.5.5: resolution: { - integrity: sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==, + integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==, } - engines: { node: '>=6.9.0' } + engines: { node: '>=0.10.0' } hasBin: true - dependencies: - queue: 6.0.1 + requiresBuild: true dev: true + optional: true - /import-cwd/2.1.0: + /image-size/0.8.3: resolution: { - integrity: sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==, + integrity: sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==, } - engines: { node: '>=4' } + engines: { node: '>=6.9.0' } + hasBin: true dependencies: - import-from: 2.1.0 + queue: 6.0.1 dev: true - /import-fresh/2.0.0: + /immutable/4.3.5: resolution: { - integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==, + integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==, } - engines: { node: '>=4' } - dependencies: - caller-path: 2.0.0 - resolve-from: 3.0.0 dev: true /import-fresh/3.3.0: @@ -11830,16 +16023,6 @@ packages: resolve-from: 4.0.0 dev: true - /import-from/2.1.0: - resolution: - { - integrity: sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==, - } - engines: { node: '>=4' } - dependencies: - resolve-from: 3.0.0 - dev: true - /import-lazy/2.1.0: resolution: { @@ -11892,13 +16075,6 @@ packages: engines: { node: '>=8' } dev: true - /indexes-of/1.0.1: - resolution: - { - integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==, - } - dev: true - /inflight/1.0.6: resolution: { @@ -11976,15 +16152,15 @@ packages: through: 2.3.8 dev: true - /internal-slot/1.0.5: + /internal-slot/1.0.7: resolution: { - integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==, + integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==, } engines: { node: '>= 0.4' } dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 + es-errors: 1.3.0 + hasown: 2.0.1 side-channel: 1.0.4 dev: true @@ -12009,7 +16185,28 @@ packages: { integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==, } - dev: false + dev: false + + /intl-messageformat/10.5.11: + resolution: + { + integrity: sha512-eYq5fkFBVxc7GIFDzpFQkDOZgNayNTQn4Oufe8jw6YY6OHVw70/4pA3FyCsQ0Gb2DnvEJEMmN2tOaXUGByM+kg==, + } + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/fast-memoize': 2.2.0 + '@formatjs/icu-messageformat-parser': 2.7.6 + tslib: 2.6.2 + dev: true + + /invariant/2.2.4: + resolution: + { + integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, + } + dependencies: + loose-envify: 1.4.0 + dev: true /invert-kv/1.0.0: resolution: @@ -12080,6 +16277,13 @@ packages: } dev: true + /is-alphabetical/2.0.1: + resolution: + { + integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==, + } + dev: true + /is-alphanumerical/1.0.4: resolution: { @@ -12090,6 +16294,16 @@ packages: is-decimal: 1.0.4 dev: true + /is-alphanumerical/2.0.1: + resolution: + { + integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==, + } + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + dev: true + /is-arguments/1.1.1: resolution: { @@ -12097,19 +16311,19 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true - /is-array-buffer/3.0.2: + /is-array-buffer/3.0.4: resolution: { - integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==, + integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==, } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-typed-array: 1.1.10 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 dev: true /is-arrayish/0.2.1: @@ -12119,6 +16333,33 @@ packages: } dev: true + /is-arrayish/0.3.2: + resolution: + { + integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==, + } + dev: true + + /is-arrow-function/2.0.3: + resolution: + { + integrity: sha512-iDStzcT1FJMzx+TjCOK//uDugSe/Mif/8a+T0htydQ3qkJGvSweTZpVYz4hpJH0baloSPiAFQdA8WslAgJphvQ==, + } + engines: { node: '>= 0.4' } + dependencies: + is-callable: 1.2.7 + dev: true + + /is-async-function/2.0.0: + resolution: + { + integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==, + } + engines: { node: '>= 0.4' } + dependencies: + has-tostringtag: 1.0.2 + dev: true + /is-bigint/1.0.4: resolution: { @@ -12155,8 +16396,8 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true /is-buffer/1.1.6: @@ -12192,15 +16433,6 @@ packages: ci-info: 1.6.0 dev: true - /is-core-module/2.11.0: - resolution: - { - integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==, - } - dependencies: - has: 1.0.3 - dev: true - /is-core-module/2.13.0: resolution: { @@ -12237,7 +16469,7 @@ packages: } engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-decimal/1.0.4: @@ -12247,6 +16479,13 @@ packages: } dev: true + /is-decimal/2.0.1: + resolution: + { + integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==, + } + dev: true + /is-descriptor/0.1.6: resolution: { @@ -12271,20 +16510,21 @@ packages: kind-of: 6.0.3 dev: true - /is-directory/0.3.1: + /is-docker/2.2.1: resolution: { - integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==, + integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, } - engines: { node: '>=0.10.0' } + engines: { node: '>=8' } + hasBin: true dev: true - /is-docker/2.2.1: + /is-docker/3.0.0: resolution: { - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, + integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==, } - engines: { node: '>=8' } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } hasBin: true dev: true @@ -12295,6 +16535,37 @@ packages: } dev: true + /is-equal/1.7.0: + resolution: + { + integrity: sha512-hErktGR9jmoYXNWlbrwGjc8eHh09mbY6TWSTTFtnMcKaCuSMN8z+Ni5ma/8mkbVpe4CbB7V6kN1MkCg9bCx5bA==, + } + engines: { node: '>= 0.4' } + dependencies: + es-get-iterator: 1.1.3 + es-to-primitive: 1.2.1 + functions-have-names: 1.2.3 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + hasown: 2.0.1 + is-arrow-function: 2.0.3 + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-generator-function: 1.0.10 + is-number-object: 1.0.7 + is-regex: 1.1.4 + is-string: 1.0.7 + is-symbol: 1.0.4 + isarray: 2.0.5 + object-inspect: 1.13.1 + object.entries: 1.1.7 + object.getprototypeof: 1.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + dev: true + /is-extendable/0.1.1: resolution: { @@ -12321,6 +16592,15 @@ packages: engines: { node: '>=0.10.0' } dev: true + /is-finalizationregistry/1.0.2: + resolution: + { + integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==, + } + dependencies: + call-bind: 1.0.7 + dev: true + /is-fullwidth-code-point/1.0.0: resolution: { @@ -12355,6 +16635,16 @@ packages: engines: { node: '>=6' } dev: true + /is-generator-function/1.0.10: + resolution: + { + integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==, + } + engines: { node: '>= 0.4' } + dependencies: + has-tostringtag: 1.0.2 + dev: true + /is-glob/3.1.0: resolution: { @@ -12382,6 +16672,24 @@ packages: } dev: true + /is-hexadecimal/2.0.1: + resolution: + { + integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==, + } + dev: true + + /is-inside-container/1.0.0: + resolution: + { + integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==, + } + engines: { node: '>=14.16' } + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + /is-installed-globally/0.1.0: resolution: { @@ -12431,7 +16739,7 @@ packages: } engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-number/3.0.0: @@ -12518,6 +16826,14 @@ packages: engines: { node: '>=8' } dev: true + /is-plain-obj/4.1.0: + resolution: + { + integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, + } + engines: { node: '>=12' } + dev: true + /is-plain-object/2.0.4: resolution: { @@ -12558,16 +16874,8 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-regexp/1.0.0: - resolution: - { - integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==, - } - engines: { node: '>=0.10.0' } + call-bind: 1.0.7 + has-tostringtag: 1.0.2 dev: true /is-regexp/2.1.0: @@ -12609,7 +16917,7 @@ packages: integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==, } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-stream/1.1.0: @@ -12628,6 +16936,14 @@ packages: engines: { node: '>=8' } dev: true + /is-stream/3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + /is-string/1.0.7: resolution: { @@ -12635,7 +16951,7 @@ packages: } engines: { node: '>= 0.4' } dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-symbol/1.0.4: @@ -12658,18 +16974,14 @@ packages: text-extensions: 1.9.0 dev: true - /is-typed-array/1.1.10: + /is-typed-array/1.1.13: resolution: { - integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==, + integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==, } engines: { node: '>= 0.4' } dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 + which-typed-array: 1.1.14 dev: true /is-typedarray/1.0.0: @@ -12725,7 +17037,7 @@ packages: integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 dev: true /is-weakset/2.0.2: @@ -12734,8 +17046,15 @@ packages: integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==, } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + + /is-what/3.14.1: + resolution: + { + integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==, + } dev: true /is-windows/0.2.0: @@ -12818,6 +17137,16 @@ packages: engines: { node: '>=0.10.0' } dev: true + /isomorphic-unfetch/4.0.2: + resolution: + { + integrity: sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==, + } + dependencies: + node-fetch: 3.3.2 + unfetch: 5.0.0 + dev: true + /isstream/0.1.2: resolution: { @@ -12840,11 +17169,11 @@ packages: } engines: { node: '>=8' } dependencies: - '@babel/core': 7.21.0 - '@babel/parser': 7.21.2 + '@babel/core': 7.23.9 + '@babel/parser': 7.23.9 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true @@ -12898,11 +17227,29 @@ packages: textextensions: 2.6.0 dev: true - /javascript-stringify/2.1.0: + /iterator.prototype/1.1.2: + resolution: + { + integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==, + } + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.5 + set-function-name: 2.0.2 + dev: true + + /jackspeak/2.3.6: resolution: { - integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==, + integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==, } + engines: { node: '>=14' } + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 dev: true /jest-changed-files/29.4.3: @@ -12926,8 +17273,8 @@ packages: '@jest/environment': 29.4.3 '@jest/expect': 29.4.3 '@jest/test-result': 29.4.3 - '@jest/types': 29.4.3 - '@types/node': 18.14.6 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -12937,7 +17284,7 @@ packages: jest-message-util: 29.4.3 jest-runtime: 29.4.3 jest-snapshot: 29.4.3 - jest-util: 29.4.3 + jest-util: 29.7.0 p-limit: 3.1.0 pretty-format: 29.4.3 slash: 3.0.0 @@ -12961,13 +17308,13 @@ packages: dependencies: '@jest/core': 29.4.3_ts-node@10.9.1 '@jest/test-result': 29.4.3 - '@jest/types': 29.4.3 + '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 import-local: 3.1.0 jest-config: 29.4.3_nvadb4ngcuh2lyv22apfdo6nc4 - jest-util: 29.4.3 + jest-util: 29.7.0 jest-validate: 29.4.3 prompts: 2.4.2 yargs: 17.7.1 @@ -12992,23 +17339,66 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.21.0 + '@babel/core': 7.23.9 '@jest/test-sequencer': 29.4.3 - '@jest/types': 29.4.3 + '@jest/types': 29.6.3 '@types/node': 18.14.6 - babel-jest: 29.4.3_@babel+core@7.21.0 + babel-jest: 29.7.0_@babel+core@7.23.9 chalk: 4.1.2 ci-info: 3.8.0 - deepmerge: 4.3.0 + deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 jest-circus: 29.4.3 jest-environment-node: 29.4.3 jest-get-type: 29.4.3 - jest-regex-util: 29.4.3 + jest-regex-util: 29.6.3 jest-resolve: 29.4.3 jest-runner: 29.4.3 - jest-util: 29.4.3 + jest-util: 29.7.0 + jest-validate: 29.4.3 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.4.3 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.1_pswqo3o4pyfd2r62msllcpg6nq + transitivePeerDependencies: + - supports-color + dev: true + + /jest-config/29.4.3_wshvhplg7zwmonas2lycqdlrli: + resolution: + { + integrity: sha512-eCIpqhGnIjdUCXGtLhz4gdDoxKSWXKjzNcc5r+0S1GKOp2fwOipx5mRcwa9GB/ArsxJ1jlj2lmlD9bZAsBxaWQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.23.9 + '@jest/test-sequencer': 29.4.3 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 + babel-jest: 29.7.0_@babel+core@7.23.9 + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.4.3 + jest-environment-node: 29.4.3 + jest-get-type: 29.4.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.4.3 + jest-runner: 29.4.3 + jest-util: 29.7.0 jest-validate: 29.4.3 micromatch: 4.0.5 parse-json: 5.2.0 @@ -13063,10 +17453,10 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/types': 29.4.3 + '@jest/types': 29.6.3 chalk: 4.1.2 jest-get-type: 29.4.3 - jest-util: 29.4.3 + jest-util: 29.7.0 pretty-format: 29.4.3 dev: true @@ -13105,10 +17495,10 @@ packages: dependencies: '@jest/environment': 29.4.3 '@jest/fake-timers': 29.4.3 - '@jest/types': 29.4.3 - '@types/node': 18.14.6 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 jest-mock: 29.4.3 - jest-util: 29.4.3 + jest-util: 29.7.0 dev: true /jest-get-type/28.0.2: @@ -13134,14 +17524,36 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/types': 29.4.3 + '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.6 - '@types/node': 18.14.6 + '@types/node': 20.11.20 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 29.4.3 - jest-util: 29.4.3 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /jest-haste-map/29.7.0: + resolution: + { + integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.6 + '@types/node': 20.11.20 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 jest-worker: 29.7.0 micromatch: 4.0.5 walker: 1.0.8 @@ -13188,8 +17600,8 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@babel/code-frame': 7.18.6 - '@jest/types': 29.4.3 + '@babel/code-frame': 7.23.5 + '@jest/types': 29.6.3 '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 @@ -13206,9 +17618,9 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/types': 29.4.3 - '@types/node': 18.14.6 - jest-util: 29.4.3 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 + jest-util: 29.7.0 dev: true /jest-pnp-resolver/1.2.3_jest-resolve@29.4.3: @@ -13234,6 +17646,14 @@ packages: engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dev: true + /jest-regex-util/29.6.3: + resolution: + { + integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + /jest-resolve-dependencies/29.4.3: resolution: { @@ -13241,7 +17661,7 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - jest-regex-util: 29.4.3 + jest-regex-util: 29.6.3 jest-snapshot: 29.4.3 transitivePeerDependencies: - supports-color @@ -13256,11 +17676,11 @@ packages: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 29.4.3 + jest-haste-map: 29.7.0 jest-pnp-resolver: 1.2.3_jest-resolve@29.4.3 - jest-util: 29.4.3 + jest-util: 29.7.0 jest-validate: 29.4.3 - resolve: 1.22.1 + resolve: 1.22.4 resolve.exports: 2.0.0 slash: 3.0.0 dev: true @@ -13275,20 +17695,20 @@ packages: '@jest/console': 29.4.3 '@jest/environment': 29.4.3 '@jest/test-result': 29.4.3 - '@jest/transform': 29.4.3 - '@jest/types': 29.4.3 - '@types/node': 18.14.6 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 jest-docblock: 29.4.3 jest-environment-node: 29.4.3 - jest-haste-map: 29.4.3 + jest-haste-map: 29.7.0 jest-leak-detector: 29.4.3 jest-message-util: 29.4.3 jest-resolve: 29.4.3 jest-runtime: 29.4.3 - jest-util: 29.4.3 + jest-util: 29.7.0 jest-watcher: 29.4.3 jest-worker: 29.7.0 p-limit: 3.1.0 @@ -13309,21 +17729,21 @@ packages: '@jest/globals': 29.4.3 '@jest/source-map': 29.4.3 '@jest/test-result': 29.4.3 - '@jest/transform': 29.4.3 - '@jest/types': 29.4.3 - '@types/node': 18.14.6 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-haste-map: 29.4.3 + jest-haste-map: 29.7.0 jest-message-util: 29.4.3 jest-mock: 29.4.3 - jest-regex-util: 29.4.3 + jest-regex-util: 29.6.3 jest-resolve: 29.4.3 jest-snapshot: 29.4.3 - jest-util: 29.4.3 + jest-util: 29.7.0 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: @@ -13337,30 +17757,30 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@babel/core': 7.21.0 - '@babel/generator': 7.21.1 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.0 - '@babel/traverse': 7.21.2 - '@babel/types': 7.21.2 + '@babel/core': 7.23.9 + '@babel/generator': 7.23.6 + '@babel/plugin-syntax-jsx': 7.23.3_@babel+core@7.23.9 + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 '@jest/expect-utils': 29.4.3 - '@jest/transform': 29.4.3 - '@jest/types': 29.4.3 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 '@types/babel__traverse': 7.18.3 '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.0 + babel-preset-current-node-syntax: 1.0.1_@babel+core@7.23.9 chalk: 4.1.2 expect: 29.4.3 graceful-fs: 4.2.11 jest-diff: 29.4.3 jest-get-type: 29.4.3 - jest-haste-map: 29.4.3 + jest-haste-map: 29.7.0 jest-matcher-utils: 29.4.3 jest-message-util: 29.4.3 - jest-util: 29.4.3 + jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.4.3 - semver: 7.3.8 + semver: 7.5.4 transitivePeerDependencies: - supports-color dev: true @@ -13372,8 +17792,8 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/types': 29.4.3 - '@types/node': 18.14.6 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -13388,7 +17808,7 @@ packages: engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 - '@types/node': 20.6.0 + '@types/node': 20.11.20 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -13403,7 +17823,7 @@ packages: engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 - '@types/node': 18.14.6 + '@types/node': 20.11.20 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -13417,7 +17837,7 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@jest/types': 29.4.3 + '@jest/types': 29.6.3 camelcase: 6.3.0 chalk: 4.1.2 jest-get-type: 29.4.3 @@ -13433,12 +17853,12 @@ packages: engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/test-result': 29.4.3 - '@jest/types': 29.4.3 - '@types/node': 18.14.6 + '@jest/types': 29.6.3 + '@types/node': 20.11.20 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 - jest-util: 29.4.3 + jest-util: 29.7.0 string-length: 4.0.2 dev: true @@ -13452,37 +17872,27 @@ packages: mock-socket: 9.2.1 dev: true - /jest-worker/24.9.0: - resolution: - { - integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==, - } - engines: { node: '>= 6' } - dependencies: - merge-stream: 2.0.0 - supports-color: 6.1.0 - dev: true - - /jest-worker/26.6.2: + /jest-worker/27.5.1: resolution: { - integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==, + integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, } engines: { node: '>= 10.13.0' } dependencies: '@types/node': 20.11.20 merge-stream: 2.0.0 - supports-color: 7.2.0 + supports-color: 8.1.1 dev: true - /jest-worker/27.5.1: + /jest-worker/29.4.3: resolution: { - integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, + integrity: sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA==, } - engines: { node: '>= 10.13.0' } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@types/node': 20.11.20 + jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -13494,7 +17904,7 @@ packages: } engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: - '@types/node': 18.14.6 + '@types/node': 20.11.20 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -13573,51 +17983,6 @@ packages: } dev: true - /jsdom/16.7.0: - resolution: - { - integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==, - } - engines: { node: '>=10' } - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - abab: 2.0.6 - acorn: 8.11.3 - acorn-globals: 6.0.0 - cssom: 0.4.4 - cssstyle: 2.3.0 - data-urls: 2.0.0 - decimal.js: 10.4.3 - domexception: 2.0.1 - escodegen: 2.0.0 - form-data: 3.0.1 - html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.2 - parse5: 6.0.1 - saxes: 5.0.1 - symbol-tree: 3.2.4 - tough-cookie: 4.1.2 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 2.0.0 - webidl-conversions: 6.1.0 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - ws: 7.5.9 - xml-name-validator: 3.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /jsdom/20.0.3: resolution: { @@ -13744,16 +18109,6 @@ packages: string-convert: 0.2.1 dev: true - /json5/1.0.2: - resolution: - { - integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==, - } - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - /json5/2.2.3: resolution: { @@ -13812,7 +18167,7 @@ packages: engines: { node: '>=4.0' } dependencies: array-includes: 3.1.6 - object.assign: 4.1.4 + object.assign: 4.1.5 dev: true /just-debounce/1.1.0: @@ -13822,23 +18177,6 @@ packages: } dev: true - /katex/0.12.0: - resolution: - { - integrity: sha512-y+8btoc/CK70XqcHqjxiGWBOeIL8upbS0peTPXTvgrh21n1RiWWcIpSWM+4uXq+IAgNh9YYQWdc7LVDPDAEEAg==, - } - hasBin: true - dependencies: - commander: 2.20.3 - dev: true - - /kebab-case/1.0.2: - resolution: - { - integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==, - } - dev: true - /keyv/4.5.4: resolution: { @@ -13892,6 +18230,14 @@ packages: engines: { node: '>=6' } dev: true + /kleur/4.1.5: + resolution: + { + integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, + } + engines: { node: '>=6' } + dev: true + /known-css-properties/0.21.0: resolution: { @@ -13899,6 +18245,20 @@ packages: } dev: true + /known-css-properties/0.26.0: + resolution: + { + integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==, + } + dev: true + + /kolorist/1.8.0: + resolution: + { + integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==, + } + dev: true + /last-run/1.1.1: resolution: { @@ -13966,6 +18326,13 @@ packages: hasBin: true dev: true + /leac/0.6.0: + resolution: + { + integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==, + } + dev: true + /lead/1.0.0: resolution: { @@ -13976,6 +18343,36 @@ packages: flush-write-stream: 1.1.1 dev: true + /less-plugin-resolve/1.0.2: + resolution: + { + integrity: sha512-e1AHq0XNTU8S3d9JCc8CFYajoUBr0EK3pcuLT5PogyBBeE0knzZJL105kKKSZWfq2lQLq3/uEDrMK3JPq+fHaA==, + } + dependencies: + enhanced-resolve: 5.15.0 + dev: true + + /less/4.1.3: + resolution: + { + integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==, + } + engines: { node: '>=6' } + hasBin: true + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.6.2 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.4.1 + needle: 3.3.1 + source-map: 0.6.1 + dev: true + /leven/3.1.0: resolution: { @@ -14020,11 +18417,143 @@ packages: is-plain-object: 2.0.4 object.map: 1.0.1 rechoir: 0.6.2 - resolve: 1.22.1 + resolve: 1.22.4 transitivePeerDependencies: - supports-color dev: true + /lightningcss-darwin-arm64/1.22.1: + resolution: + { + integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==, + } + engines: { node: '>= 12.0.0' } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-darwin-x64/1.22.1: + resolution: + { + integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==, + } + engines: { node: '>= 12.0.0' } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-freebsd-x64/1.22.1: + resolution: + { + integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==, + } + engines: { node: '>= 12.0.0' } + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm-gnueabihf/1.22.1: + resolution: + { + integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==, + } + engines: { node: '>= 12.0.0' } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-gnu/1.22.1: + resolution: + { + integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==, + } + engines: { node: '>= 12.0.0' } + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-musl/1.22.1: + resolution: + { + integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==, + } + engines: { node: '>= 12.0.0' } + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-gnu/1.22.1: + resolution: + { + integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==, + } + engines: { node: '>= 12.0.0' } + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-musl/1.22.1: + resolution: + { + integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==, + } + engines: { node: '>= 12.0.0' } + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /lightningcss-win32-x64-msvc/1.22.1: + resolution: + { + integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==, + } + engines: { node: '>= 12.0.0' } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /lightningcss/1.22.1: + resolution: + { + integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==, + } + engines: { node: '>= 12.0.0' } + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.22.1 + lightningcss-darwin-x64: 1.22.1 + lightningcss-freebsd-x64: 1.22.1 + lightningcss-linux-arm-gnueabihf: 1.22.1 + lightningcss-linux-arm64-gnu: 1.22.1 + lightningcss-linux-arm64-musl: 1.22.1 + lightningcss-linux-x64-gnu: 1.22.1 + lightningcss-linux-x64-musl: 1.22.1 + lightningcss-win32-x64-msvc: 1.22.1 + dev: true + /lines-and-columns/1.2.4: resolution: { @@ -14054,16 +18583,24 @@ packages: engines: { node: '>=6.11.5' } dev: true - /loader-utils/1.4.2: + /loader-utils/2.0.4: resolution: { - integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==, + integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==, } - engines: { node: '>=4.0.0' } + engines: { node: '>=8.9.0' } dependencies: big.js: 5.2.2 emojis-list: 3.0.0 - json5: 1.0.2 + json5: 2.2.3 + dev: true + + /local-pkg/0.4.3: + resolution: + { + integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==, + } + engines: { node: '>=14' } dev: true /locate-path/5.0.0: @@ -14271,14 +18808,30 @@ packages: } dev: true + /longest-streak/3.1.0: + resolution: + { + integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==, + } + dev: true + /loose-envify/1.4.0: resolution: { - integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, + integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, + } + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /lower-case/2.0.2: + resolution: + { + integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==, } - hasBin: true dependencies: - js-tokens: 4.0.0 + tslib: 2.6.2 + dev: true /lowercase-keys/1.0.1: resolution: @@ -14288,6 +18841,14 @@ packages: engines: { node: '>=0.10.0' } dev: true + /lru-cache/10.2.0: + resolution: + { + integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==, + } + engines: { node: 14 || >=16.14 } + dev: true + /lru-cache/4.1.5: resolution: { @@ -14317,6 +18878,14 @@ packages: yallist: 4.0.0 dev: true + /lru-cache/7.18.3: + resolution: + { + integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==, + } + engines: { node: '>=12' } + dev: true + /lz-string/1.5.0: resolution: { @@ -14353,7 +18922,7 @@ packages: } engines: { node: '>=8' } dependencies: - semver: 6.3.0 + semver: 6.3.1 dev: true /make-error/1.3.6: @@ -14447,13 +19016,11 @@ packages: object-visit: 1.0.1 dev: true - /markdown-table/2.0.0: + /markdown-table/3.0.3: resolution: { - integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==, + integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==, } - dependencies: - repeat-string: 1.6.1 dev: true /matchdep/2.0.0: @@ -14465,24 +19032,12 @@ packages: dependencies: findup-sync: 2.0.0 micromatch: 3.1.10 - resolve: 1.22.1 + resolve: 1.22.4 stack-trace: 0.0.10 transitivePeerDependencies: - supports-color dev: true - /mathjax-full/3.2.2: - resolution: - { - integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==, - } - dependencies: - esm: 3.2.25 - mhchemparser: 4.1.1 - mj-context-menu: 0.6.1 - speech-rule-engine: 4.0.7 - dev: true - /mathml-tag-names/2.1.3: resolution: { @@ -14501,24 +19056,44 @@ packages: safe-buffer: 5.2.1 dev: true - /mdast-util-definitions/4.0.0: + /mdast-util-definitions/5.1.2: resolution: { - integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==, + integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==, } dependencies: - unist-util-visit: 2.0.3 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.6 + unist-util-visit: 4.1.2 dev: true - /mdast-util-find-and-replace/1.1.1: + /mdast-util-directive/2.2.4: resolution: { - integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==, + integrity: sha512-sK3ojFP+jpj1n7Zo5ZKvoxP1MvLyzVG63+gm40Z/qI00avzdPCYxt7RBMgofwAva9gBjbDBWVRB/i+UD+fUCzQ==, } dependencies: - escape-string-regexp: 4.0.0 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.6 + mdast-util-from-markdown: 1.3.1 + mdast-util-to-markdown: 1.5.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-visit-parents: 5.1.3 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-find-and-replace/2.2.2: + resolution: + { + integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==, + } + dependencies: + '@types/mdast': 3.0.15 + escape-string-regexp: 5.0.0 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 dev: true /mdast-util-from-markdown/0.8.5: @@ -14527,7 +19102,7 @@ packages: integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==, } dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 micromark: 2.11.4 parse-entities: 2.0.0 @@ -14536,96 +19111,167 @@ packages: - supports-color dev: true - /mdast-util-frontmatter/0.2.0: + /mdast-util-from-markdown/1.3.1: + resolution: + { + integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==, + } + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.6 + decode-named-character-reference: 1.0.2 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-frontmatter/1.0.1: resolution: { - integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==, + integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==, } dependencies: - micromark-extension-frontmatter: 0.2.2 + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + micromark-extension-frontmatter: 1.1.1 dev: true - /mdast-util-gfm-autolink-literal/0.1.3: + /mdast-util-gfm-autolink-literal/1.0.3: resolution: { - integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==, + integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==, } dependencies: - ccount: 1.1.0 - mdast-util-find-and-replace: 1.1.1 - micromark: 2.11.4 + '@types/mdast': 3.0.15 + ccount: 2.0.1 + mdast-util-find-and-replace: 2.2.2 + micromark-util-character: 1.2.0 + dev: true + + /mdast-util-gfm-footnote/1.0.2: + resolution: + { + integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==, + } + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + micromark-util-normalize-identifier: 1.1.0 + dev: true + + /mdast-util-gfm-strikethrough/1.0.3: + resolution: + { + integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==, + } + dependencies: + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 + dev: true + + /mdast-util-gfm-table/1.0.7: + resolution: + { + integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==, + } + dependencies: + '@types/mdast': 3.0.15 + markdown-table: 3.0.3 + mdast-util-from-markdown: 1.3.1 + mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color dev: true - /mdast-util-gfm-strikethrough/0.2.3: + /mdast-util-gfm-task-list-item/1.0.2: resolution: { - integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==, + integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==, } dependencies: - mdast-util-to-markdown: 0.6.5 + '@types/mdast': 3.0.15 + mdast-util-to-markdown: 1.5.0 dev: true - /mdast-util-gfm-table/0.1.6: + /mdast-util-gfm/2.0.2: resolution: { - integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==, + integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==, } dependencies: - markdown-table: 2.0.0 - mdast-util-to-markdown: 0.6.5 + mdast-util-from-markdown: 1.3.1 + mdast-util-gfm-autolink-literal: 1.0.3 + mdast-util-gfm-footnote: 1.0.2 + mdast-util-gfm-strikethrough: 1.0.3 + mdast-util-gfm-table: 1.0.7 + mdast-util-gfm-task-list-item: 1.0.2 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color dev: true - /mdast-util-gfm-task-list-item/0.1.6: + /mdast-util-mdx-expression/1.3.2: resolution: { - integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==, + integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==, } dependencies: - mdast-util-to-markdown: 0.6.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-from-markdown: 1.3.1 + mdast-util-to-markdown: 1.5.0 + transitivePeerDependencies: + - supports-color dev: true - /mdast-util-gfm/0.1.2: + /mdast-util-mdxjs-esm/1.3.1: resolution: { - integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==, + integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==, } dependencies: - mdast-util-gfm-autolink-literal: 0.1.3 - mdast-util-gfm-strikethrough: 0.2.3 - mdast-util-gfm-table: 0.1.6 - mdast-util-gfm-task-list-item: 0.1.6 - mdast-util-to-markdown: 0.6.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-from-markdown: 1.3.1 + mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color dev: true - /mdast-util-math/0.1.2: + /mdast-util-phrasing/3.0.1: resolution: { - integrity: sha512-fogAitds+wH+QRas78Yr1TwmQGN4cW/G2WRw5ePuNoJbBSPJCxIOCE8MTzHgWHVSpgkRaPQTgfzXRE1CrwWSlg==, + integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==, } dependencies: - longest-streak: 2.0.4 - mdast-util-to-markdown: 0.6.5 - repeat-string: 1.6.1 + '@types/mdast': 3.0.15 + unist-util-is: 5.2.1 dev: true - /mdast-util-to-hast/10.2.0: + /mdast-util-to-hast/12.3.0: resolution: { - integrity: sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==, + integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==, } dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 - mdast-util-definitions: 4.0.0 - mdurl: 1.0.1 - unist-builder: 2.0.3 - unist-util-generated: 1.1.6 - unist-util-position: 3.1.0 - unist-util-visit: 2.0.3 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-definitions: 5.1.2 + micromark-util-sanitize-uri: 1.2.0 + trim-lines: 3.0.1 + unist-util-generated: 2.0.1 + unist-util-position: 4.0.4 + unist-util-visit: 4.1.2 dev: true /mdast-util-to-markdown/0.6.5: @@ -14642,6 +19288,22 @@ packages: zwitch: 1.0.5 dev: true + /mdast-util-to-markdown/1.5.0: + resolution: + { + integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==, + } + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.6 + longest-streak: 3.1.0 + mdast-util-phrasing: 3.0.1 + mdast-util-to-string: 3.2.0 + micromark-util-decode-string: 1.1.0 + unist-util-visit: 4.1.2 + zwitch: 2.0.4 + dev: true + /mdast-util-to-string/2.0.0: resolution: { @@ -14649,6 +19311,15 @@ packages: } dev: true + /mdast-util-to-string/3.2.0: + resolution: + { + integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==, + } + dependencies: + '@types/mdast': 3.0.15 + dev: true + /mdn-data/2.0.14: resolution: { @@ -14656,195 +19327,457 @@ packages: } dev: true - /mdurl/1.0.1: + /mdn-data/2.0.4: + resolution: + { + integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==, + } + dev: true + + /mem/5.1.1: + resolution: + { + integrity: sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==, + } + engines: { node: '>=8' } + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 2.1.0 + p-is-promise: 2.1.0 + dev: true + + /memfs/3.5.3: + resolution: + { + integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==, + } + engines: { node: '>= 4.0.0' } + dependencies: + fs-monkey: 1.0.5 + dev: true + + /meow/8.1.2: + resolution: + { + integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==, + } + engines: { node: '>=10' } + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + + /meow/9.0.0: + resolution: + { + integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==, + } + engines: { node: '>=10' } + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize: 1.2.0 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + + /merge-stream/2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + dev: true + + /merge2/1.4.1: + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + } + engines: { node: '>= 8' } + dev: true + + /micromark-core-commonmark/1.1.0: + resolution: + { + integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==, + } + dependencies: + decode-named-character-reference: 1.0.2 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-extension-directive/2.2.1: + resolution: + { + integrity: sha512-ZFKZkNaEqAP86IghX1X7sE8NNnx6kFNq9mSBRvEHjArutTCJZ3LYg6VH151lXVb1JHpmIcW/7rX25oMoIHuSug==, + } + dependencies: + micromark-factory-space: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + parse-entities: 4.0.1 + uvu: 0.5.6 + dev: true + + /micromark-extension-frontmatter/1.1.1: + resolution: + { + integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==, + } + dependencies: + fault: 2.0.1 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-extension-gfm-autolink-literal/1.0.5: + resolution: + { + integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==, + } + dependencies: + micromark-util-character: 1.2.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-extension-gfm-footnote/1.1.2: + resolution: + { + integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==, + } + dependencies: + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-extension-gfm-strikethrough/1.0.7: + resolution: + { + integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==, + } + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-extension-gfm-table/1.0.7: + resolution: + { + integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==, + } + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-extension-gfm-tagfilter/1.0.2: + resolution: + { + integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==, + } + dependencies: + micromark-util-types: 1.1.0 + dev: true + + /micromark-extension-gfm-task-list-item/1.0.5: + resolution: + { + integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==, + } + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-extension-gfm/2.0.3: + resolution: + { + integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==, + } + dependencies: + micromark-extension-gfm-autolink-literal: 1.0.5 + micromark-extension-gfm-footnote: 1.1.2 + micromark-extension-gfm-strikethrough: 1.0.7 + micromark-extension-gfm-table: 1.0.7 + micromark-extension-gfm-tagfilter: 1.0.2 + micromark-extension-gfm-task-list-item: 1.0.5 + micromark-util-combine-extensions: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-factory-destination/1.1.0: + resolution: + { + integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==, + } + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-factory-label/1.1.0: + resolution: + { + integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==, + } + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-factory-space/1.1.0: + resolution: + { + integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==, + } + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-factory-title/1.1.0: + resolution: + { + integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==, + } + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-factory-whitespace/1.1.0: resolution: { - integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==, + integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==, } + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 dev: true - /mem/5.1.1: + /micromark-util-character/1.2.0: resolution: { - integrity: sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==, + integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==, } - engines: { node: '>=8' } dependencies: - map-age-cleaner: 0.1.3 - mimic-fn: 2.1.0 - p-is-promise: 2.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 dev: true - /memory-fs/0.5.0: + /micromark-util-chunked/1.1.0: resolution: { - integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==, + integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==, } - engines: { node: '>=4.3.0 <5.0.0 || >=5.10' } dependencies: - errno: 0.1.8 - readable-stream: 2.3.8 + micromark-util-symbol: 1.1.0 dev: true - /meow/8.1.2: + /micromark-util-classify-character/1.1.0: resolution: { - integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==, + integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==, } - engines: { node: '>=10' } dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 dev: true - /meow/9.0.0: + /micromark-util-combine-extensions/1.1.0: resolution: { - integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==, + integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==, } - engines: { node: '>=10' } dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize: 1.2.0 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 dev: true - /merge-stream/2.0.0: + /micromark-util-decode-numeric-character-reference/1.1.0: resolution: { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==, } + dependencies: + micromark-util-symbol: 1.1.0 dev: true - /merge2/1.4.1: + /micromark-util-decode-string/1.1.0: resolution: { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==, } - engines: { node: '>= 8' } + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 dev: true - /mhchemparser/4.1.1: + /micromark-util-encode/1.1.0: resolution: { - integrity: sha512-R75CUN6O6e1t8bgailrF1qPq+HhVeFTM3XQ0uzI+mXTybmphy3b6h4NbLOYhemViQ3lUs+6CKRkC3Ws1TlYREA==, + integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==, } dev: true - /micromark-extension-frontmatter/0.2.2: + /micromark-util-html-tag-name/1.2.0: resolution: { - integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==, + integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==, } - dependencies: - fault: 1.0.4 dev: true - /micromark-extension-gfm-autolink-literal/0.5.7: + /micromark-util-normalize-identifier/1.1.0: resolution: { - integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==, + integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==, } dependencies: - micromark: 2.11.4 - transitivePeerDependencies: - - supports-color + micromark-util-symbol: 1.1.0 dev: true - /micromark-extension-gfm-strikethrough/0.6.5: + /micromark-util-resolve-all/1.1.0: resolution: { - integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==, + integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==, } dependencies: - micromark: 2.11.4 - transitivePeerDependencies: - - supports-color + micromark-util-types: 1.1.0 dev: true - /micromark-extension-gfm-table/0.4.3: + /micromark-util-sanitize-uri/1.2.0: resolution: { - integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==, + integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==, } dependencies: - micromark: 2.11.4 - transitivePeerDependencies: - - supports-color + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 dev: true - /micromark-extension-gfm-tagfilter/0.3.0: + /micromark-util-subtokenize/1.1.0: resolution: { - integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==, + integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==, } + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 dev: true - /micromark-extension-gfm-task-list-item/0.3.3: + /micromark-util-symbol/1.1.0: resolution: { - integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==, + integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==, } - dependencies: - micromark: 2.11.4 - transitivePeerDependencies: - - supports-color dev: true - /micromark-extension-gfm/0.3.3: + /micromark-util-types/1.1.0: resolution: { - integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==, + integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==, } - dependencies: - micromark: 2.11.4 - micromark-extension-gfm-autolink-literal: 0.5.7 - micromark-extension-gfm-strikethrough: 0.6.5 - micromark-extension-gfm-table: 0.4.3 - micromark-extension-gfm-tagfilter: 0.3.0 - micromark-extension-gfm-task-list-item: 0.3.3 - transitivePeerDependencies: - - supports-color dev: true - /micromark-extension-math/0.1.2: + /micromark/2.11.4: resolution: { - integrity: sha512-ZJXsT2eVPM8VTmcw0CPSDeyonOn9SziGK3Z+nkf9Vb6xMPeU+4JMEnO6vzDL10562Favw8Vste74f54rxJ/i6Q==, + integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==, } dependencies: - katex: 0.12.0 - micromark: 2.11.4 + debug: 4.3.4 + parse-entities: 2.0.0 transitivePeerDependencies: - supports-color dev: true - /micromark/2.11.4: + /micromark/3.2.0: resolution: { - integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==, + integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==, } dependencies: + '@types/debug': 4.1.12 debug: 4.3.4 - parse-entities: 2.0.0 + decode-named-character-reference: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 transitivePeerDependencies: - supports-color dev: true @@ -14919,7 +19852,9 @@ packages: integrity: sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==, } hasBin: true + requiresBuild: true dev: true + optional: true /mimer/1.1.0: resolution: @@ -14946,44 +19881,20 @@ packages: engines: { node: '>=6' } dev: true - /min-indent/1.0.1: - resolution: - { - integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, - } - engines: { node: '>=4' } - dev: true - - /mini-create-react-context/0.4.1_4vyaxm4rsh2mpfdenvlqy7kmya: + /mimic-fn/4.0.0: resolution: { - integrity: sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==, + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, } - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - peerDependencies: - prop-types: ^15.0.0 - react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@babel/runtime': 7.23.9 - prop-types: 15.8.1 - react: 16.14.0 - tiny-warning: 1.0.3 + engines: { node: '>=12' } dev: true - /mini-create-react-context/0.4.1_sh5qlbywuemxd2y3xkrw2y2kr4: + /min-indent/1.0.1: resolution: { - integrity: sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==, + integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, } - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - peerDependencies: - prop-types: ^15.0.0 - react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - '@babel/runtime': 7.23.9 - prop-types: 15.8.1 - react: 18.2.0 - tiny-warning: 1.0.3 + engines: { node: '>=4' } dev: true /minimalistic-assert/1.0.1: @@ -15018,6 +19929,16 @@ packages: brace-expansion: 1.1.11 dev: true + /minimatch/9.0.3: + resolution: + { + integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, + } + engines: { node: '>=16 || 14 >=14.17' } + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist-options/4.1.0: resolution: { @@ -15044,6 +19965,14 @@ packages: } dev: true + /minipass/7.0.4: + resolution: + { + integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, + } + engines: { node: '>=16 || 14 >=14.17' } + dev: true + /mississippi/1.3.1: resolution: { @@ -15092,13 +20021,6 @@ packages: is-extendable: 1.0.1 dev: true - /mj-context-menu/0.6.1: - resolution: - { - integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==, - } - dev: true - /mkdirp/0.5.6: resolution: { @@ -15226,6 +20148,16 @@ packages: } dev: true + /multipipe/1.0.2: + resolution: + { + integrity: sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==, + } + dependencies: + duplexer2: 0.1.4 + object-assign: 4.1.1 + dev: true + /mute-stdout/1.0.1: resolution: { @@ -15248,6 +20180,17 @@ packages: } dev: true + /mz/2.7.0: + resolution: + { + integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==, + } + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nan/2.18.0: resolution: { @@ -15267,7 +20210,7 @@ packages: react-dom: '*' dependencies: css-tree: 1.1.3 - csstype: 3.1.1 + csstype: 3.1.3 fastest-stable-stringify: 2.0.2 inline-style-prefixer: 6.0.4 react: 18.2.0 @@ -15275,7 +20218,7 @@ packages: rtl-css-js: 1.16.1 sourcemap-codec: 1.4.8 stacktrace-js: 2.0.2 - stylis: 4.1.3 + stylis: 4.3.1 dev: true /nanoid/2.1.11: @@ -15339,6 +20282,20 @@ packages: } dev: true + /needle/3.3.1: + resolution: + { + integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==, + } + engines: { node: '>= 4.4.x' } + hasBin: true + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + sax: 1.2.4 + dev: true + optional: true + /neo-async/2.6.2: resolution: { @@ -15360,11 +20317,29 @@ packages: } dev: true - /nice-try/1.0.5: + /no-case/3.0.4: + resolution: + { + integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, + } + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: true + + /node-abort-controller/3.1.1: + resolution: + { + integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==, + } + dev: true + + /node-domexception/1.0.0: resolution: { - integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==, + integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, } + engines: { node: '>=10.5.0' } dev: true /node-fetch-npm/2.0.4: @@ -15395,6 +20370,18 @@ packages: whatwg-url: 5.0.0 dev: true + /node-fetch/3.3.2: + resolution: + { + integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + dev: true + /node-int64/0.4.0: resolution: { @@ -15428,22 +20415,22 @@ packages: string_decoder: 1.3.0 timers-browserify: 2.0.12 tty-browserify: 0.0.0 - url: 0.11.0 + url: 0.11.3 util: 0.11.1 vm-browserify: 1.1.2 dev: true - /node-releases/2.0.10: + /node-releases/2.0.13: resolution: { - integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==, + integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==, } dev: true - /node-releases/2.0.13: + /node-releases/2.0.14: resolution: { - integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==, + integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, } dev: true @@ -15454,7 +20441,7 @@ packages: } dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.1 + resolve: 1.22.4 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -15467,8 +20454,8 @@ packages: engines: { node: '>=10' } dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.11.0 - semver: 7.3.8 + is-core-module: 2.13.0 + semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -15505,19 +20492,6 @@ packages: } dev: true - /normalize-url/1.9.1: - resolution: - { - integrity: sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ==, - } - engines: { node: '>=4' } - dependencies: - object-assign: 4.1.1 - prepend-http: 1.0.4 - query-string: 4.3.4 - sort-keys: 1.1.2 - dev: true - /now-and-later/2.0.1: resolution: { @@ -15570,6 +20544,41 @@ packages: path-key: 3.1.1 dev: true + /npm-run-path/5.3.0: + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + dev: true + + /nprogress/0.2.0: + resolution: + { + integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==, + } + dev: true + + /nth-check/1.0.2: + resolution: + { + integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==, + } + dependencies: + boolbase: 1.0.0 + dev: true + + /nth-check/2.1.1: + resolution: + { + integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, + } + dependencies: + boolbase: 1.0.0 + dev: true + /num2fraction/1.2.2: resolution: { @@ -15619,10 +20628,10 @@ packages: kind-of: 3.2.2 dev: true - /object-inspect/1.12.3: + /object-inspect/1.13.1: resolution: { - integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==, + integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==, } dev: true @@ -15633,8 +20642,15 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + dev: true + + /object-keys/0.4.0: + resolution: + { + integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==, + } dev: true /object-keys/1.1.1: @@ -15662,8 +20678,21 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.assign/4.1.5: + resolution: + { + integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==, + } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 dev: true @@ -15688,9 +20717,21 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + dev: true + + /object.entries/1.1.7: + resolution: + { + integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==, + } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true /object.fromentries/2.0.6: @@ -15700,9 +20741,36 @@ packages: } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + dev: true + + /object.getownpropertydescriptors/2.1.7: + resolution: + { + integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==, + } + engines: { node: '>= 0.8' } + dependencies: + array.prototype.reduce: 1.0.6 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + safe-array-concat: 1.1.0 + dev: true + + /object.getprototypeof/1.0.5: + resolution: + { + integrity: sha512-4G0QiXpoIppBUz5efmxTm/HTbVN2ioGjk/PbsaNvwISFX+saj8muGp6vNuzIdsosFxM4V/kpUVNvy/+9+DVBZQ==, + } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + reflect.getprototypeof: 1.0.5 dev: true /object.hasown/1.1.2: @@ -15711,8 +20779,8 @@ packages: integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==, } dependencies: - define-properties: 1.2.0 - es-abstract: 1.21.1 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true /object.map/1.0.1: @@ -15752,17 +20820,42 @@ packages: { integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==, } - engines: { node: '>= 0.4' } - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + dev: true + + /obuf/1.1.2: + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } + dev: true + + /omit-deep/0.3.0: + resolution: + { + integrity: sha512-Lbl/Ma59sss2b15DpnWnGmECBRL8cRl/PjPbPMVW+Y8zIQzRrwMaI65Oy6HvxyhYeILVKBJb2LWeG81bj5zbMg==, + } + engines: { node: '>=0.10.0' } + dependencies: + is-plain-object: 2.0.4 + unset-value: 0.1.2 + dev: true + + /omit.js/2.0.2: + resolution: + { + integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==, + } dev: true - /omit.js/2.0.2: + /on-exit-leak-free/0.2.0: resolution: { - integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==, + integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==, } dev: true @@ -15795,6 +20888,16 @@ packages: mimic-fn: 2.1.0 dev: true + /onetime/6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: '>=12' } + dependencies: + mimic-fn: 4.0.0 + dev: true + /open/6.4.0: resolution: { @@ -15805,6 +20908,31 @@ packages: is-wsl: 1.1.0 dev: true + /open/8.4.2: + resolution: + { + integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, + } + engines: { node: '>=12' } + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /open/9.1.0: + resolution: + { + integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==, + } + engines: { node: '>=14.16' } + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: true + /optionator/0.8.3: resolution: { @@ -16071,6 +21199,16 @@ packages: readable-stream: 2.3.8 dev: true + /param-case/3.0.4: + resolution: + { + integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==, + } + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + /parent-module/1.0.1: resolution: { @@ -16108,6 +21246,22 @@ packages: is-hexadecimal: 1.0.4 dev: true + /parse-entities/4.0.1: + resolution: + { + integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==, + } + dependencies: + '@types/unist': 2.0.6 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + dev: true + /parse-filepath/1.0.2: resolution: { @@ -16153,17 +21307,6 @@ packages: error-ex: 1.3.2 dev: true - /parse-json/4.0.0: - resolution: - { - integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, - } - engines: { node: '>=4' } - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - /parse-json/5.2.0: resolution: { @@ -16171,7 +21314,7 @@ packages: } engines: { node: '>=8' } dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -16209,6 +21352,26 @@ packages: entities: 4.4.0 dev: true + /parseley/0.12.1: + resolution: + { + integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==, + } + dependencies: + leac: 0.6.0 + peberminta: 0.9.0 + dev: true + + /pascal-case/3.1.2: + resolution: + { + integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==, + } + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + /pascalcase/0.1.1: resolution: { @@ -16280,6 +21443,14 @@ packages: engines: { node: '>=8' } dev: true + /path-key/4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: '>=12' } + dev: true + /path-parse/1.0.7: resolution: { @@ -16305,10 +21476,21 @@ packages: path-root-regex: 0.1.2 dev: true - /path-to-regexp/1.8.0: + /path-scurry/1.10.1: + resolution: + { + integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==, + } + engines: { node: '>=16 || 14 >=14.17' } + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: true + + /path-to-regexp/1.7.0: resolution: { - integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==, + integrity: sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q==, } dependencies: isarray: 0.0.1 @@ -16348,6 +21530,13 @@ packages: sha.js: 2.4.11 dev: true + /peberminta/0.9.0: + resolution: + { + integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==, + } + dev: true + /performance-now/2.1.0: resolution: { @@ -16427,6 +21616,43 @@ packages: engines: { node: '>=0.10.0' } dev: true + /pino-abstract-transport/0.5.0: + resolution: + { + integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==, + } + dependencies: + duplexify: 4.1.2 + split2: 4.2.0 + dev: true + + /pino-std-serializers/4.0.0: + resolution: + { + integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==, + } + dev: true + + /pino/7.11.0: + resolution: + { + integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==, + } + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 0.2.0 + pino-abstract-transport: 0.5.0 + pino-std-serializers: 4.0.0 + process-warning: 1.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.1.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 2.8.0 + thread-stream: 0.15.2 + dev: true + /pirates/4.0.5: resolution: { @@ -16476,6 +21702,13 @@ packages: engines: { node: '>=4' } dev: true + /point-in-polygon/1.1.0: + resolution: + { + integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==, + } + dev: true + /posix-character-classes/0.1.1: resolution: { @@ -16484,184 +21717,216 @@ packages: engines: { node: '>=0.10.0' } dev: true - /postcss-attribute-case-insensitive/4.0.2: + /possible-typed-array-names/1.0.0: resolution: { - integrity: sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==, + integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==, } - dependencies: - postcss: 7.0.32 - postcss-selector-parser: 6.0.11 + engines: { node: '>= 0.4' } dev: true - /postcss-color-functional-notation/2.0.1: + /postcss-attribute-case-insensitive/5.0.2_postcss@8.4.21: resolution: { - integrity: sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==, + integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /postcss-color-gray/5.0.0: + /postcss-clamp/4.1.0_postcss@8.4.21: resolution: { - integrity: sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==, + integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==, } - engines: { node: '>=6.0.0' } + engines: { node: '>=7.6.0' } + peerDependencies: + postcss: ^8.4.6 dependencies: - '@csstools/convert-colors': 1.4.0 - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-color-hex-alpha/5.0.3: + /postcss-color-functional-notation/4.2.4_postcss@8.4.21: resolution: { - integrity: sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==, + integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-color-mod-function/3.0.3: + /postcss-color-hex-alpha/8.0.4_postcss@8.4.21: resolution: { - integrity: sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==, + integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.4 dependencies: - '@csstools/convert-colors': 1.4.0 - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-color-rebeccapurple/4.0.1: + /postcss-color-rebeccapurple/7.1.1_postcss@8.4.21: resolution: { - integrity: sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==, + integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-custom-media/7.0.8: + /postcss-custom-media/8.0.2_postcss@8.4.21: resolution: { - integrity: sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==, + integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.3 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-custom-properties/8.0.11: + /postcss-custom-properties/12.1.11_postcss@8.4.21: resolution: { - integrity: sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==, + integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-custom-selectors/5.1.2: + /postcss-custom-selectors/6.0.3_postcss@8.4.21: resolution: { - integrity: sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==, + integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.3 dependencies: - postcss: 7.0.32 - postcss-selector-parser: 5.0.0 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /postcss-dir-pseudo-class/5.0.0: + /postcss-dir-pseudo-class/6.0.5_postcss@8.4.21: resolution: { - integrity: sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==, + integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==, } - engines: { node: '>=4.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 - postcss-selector-parser: 5.0.0 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /postcss-double-position-gradients/1.0.0: + /postcss-double-position-gradients/3.1.2_postcss@8.4.21: resolution: { - integrity: sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==, + integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-env-function/2.0.2: + /postcss-env-function/4.0.6_postcss@8.4.21: resolution: { - integrity: sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==, + integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.4 dependencies: - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-flexbugs-fixes/4.2.1: + /postcss-flexbugs-fixes/5.0.2_postcss@8.4.21: resolution: { - integrity: sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==, + integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==, } + peerDependencies: + postcss: ^8.1.4 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 dev: true - /postcss-focus-visible/4.0.0: + /postcss-focus-visible/6.0.4_postcss@8.4.21: resolution: { - integrity: sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==, + integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.4 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /postcss-focus-within/3.0.0: + /postcss-focus-within/5.0.4_postcss@8.4.21: resolution: { - integrity: sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==, + integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.4 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /postcss-font-variant/4.0.1: + /postcss-font-variant/5.0.0_postcss@8.4.21: resolution: { - integrity: sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==, + integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==, } + peerDependencies: + postcss: ^8.1.0 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 dev: true - /postcss-gap-properties/2.0.0: + /postcss-gap-properties/3.0.5_postcss@8.4.21: resolution: { - integrity: sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==, + integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 dev: true /postcss-html/0.36.0_j55xdkkcxc32kvnyvx3y7casfm: @@ -16675,49 +21940,45 @@ packages: dependencies: htmlparser2: 3.10.1 postcss: 7.0.39 - postcss-syntax: 0.36.2_postcss@7.0.39 - dev: true - - /postcss-image-set-function/3.0.1: - resolution: - { - integrity: sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==, - } - engines: { node: '>=6.0.0' } - dependencies: - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss-syntax: 0.36.2_kei4jy7wdgbhc236h4oijypxom dev: true - /postcss-initial/3.0.4: + /postcss-image-set-function/4.0.7_postcss@8.4.21: resolution: { - integrity: sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==, + integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==, } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-js/2.0.3: + /postcss-initial/4.0.1_postcss@8.4.21: resolution: { - integrity: sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==, + integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==, } + peerDependencies: + postcss: ^8.0.0 dependencies: - camelcase-css: 2.0.1 - postcss: 7.0.39 + postcss: 8.4.21 dev: true - /postcss-lab-function/2.0.1: + /postcss-lab-function/4.2.1_postcss@8.4.21: resolution: { - integrity: sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==, + integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - '@csstools/convert-colors': 1.4.0 - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true /postcss-less/3.1.4: @@ -16740,161 +22001,243 @@ packages: postcss: 8.4.21 dev: true - /postcss-load-config/2.1.2: + /postcss-logical/5.0.4_postcss@8.4.21: resolution: { - integrity: sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==, + integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==, } - engines: { node: '>= 4' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.4 dependencies: - cosmiconfig: 5.2.1 - import-cwd: 2.1.0 + postcss: 8.4.21 dev: true - /postcss-loader/3.0.0: + /postcss-media-minmax/5.0.0_postcss@8.4.21: resolution: { - integrity: sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==, + integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==, } - engines: { node: '>= 6' } + engines: { node: '>=10.0.0' } + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.21 + dev: true + + /postcss-media-query-parser/0.2.3: + resolution: + { + integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==, + } + dev: true + + /postcss-modules-extract-imports/3.0.0_postcss@8.4.21: + resolution: + { + integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==, + } + engines: { node: ^10 || ^12 || >= 14 } + peerDependencies: + postcss: ^8.1.0 dependencies: - loader-utils: 1.4.2 - postcss: 7.0.32 - postcss-load-config: 2.1.2 - schema-utils: 1.0.0 + postcss: 8.4.21 dev: true - /postcss-logical/3.0.0: + /postcss-modules-local-by-default/4.0.4_postcss@8.4.21: resolution: { - integrity: sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==, + integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==, } - engines: { node: '>=6.0.0' } + engines: { node: ^10 || ^12 || >= 14 } + peerDependencies: + postcss: ^8.1.0 dependencies: - postcss: 7.0.32 + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 dev: true - /postcss-media-minmax/4.0.0: + /postcss-modules-scope/3.1.1_postcss@8.4.21: resolution: { - integrity: sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==, + integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==, } - engines: { node: '>=6.0.0' } + engines: { node: ^10 || ^12 || >= 14 } + peerDependencies: + postcss: ^8.1.0 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /postcss-media-query-parser/0.2.3: + /postcss-modules-values/4.0.0_postcss@8.4.21: resolution: { - integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==, + integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==, } + engines: { node: ^10 || ^12 || >= 14 } + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.4.21 + postcss: 8.4.21 dev: true - /postcss-nesting/7.0.1: + /postcss-nesting/10.2.0_postcss@8.4.21: resolution: { - integrity: sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==, + integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/selector-specificity': 2.2.0_laljekdltgzr3kfi7r4exvsr5a + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-opacity-percentage/1.1.3_postcss@8.4.21: + resolution: + { + integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==, + } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 dev: true - /postcss-overflow-shorthand/2.0.0: + /postcss-overflow-shorthand/3.0.4_postcss@8.4.21: resolution: { - integrity: sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==, + integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-page-break/2.0.0: + /postcss-page-break/3.0.4_postcss@8.4.21: resolution: { - integrity: sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==, + integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==, } + peerDependencies: + postcss: ^8 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 dev: true - /postcss-place/4.0.1: + /postcss-place/7.0.5_postcss@8.4.21: resolution: { - integrity: sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==, + integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 - postcss-values-parser: 2.0.1 + postcss: 8.4.21 + postcss-value-parser: 4.2.0 dev: true - /postcss-preset-env/6.7.0: + /postcss-prefix-selector/1.16.0_postcss@8.4.21: resolution: { - integrity: sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==, + integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==, } - engines: { node: '>=6.0.0' } + peerDependencies: + postcss: '>4 <9' dependencies: - autoprefixer: 9.8.8 - browserslist: 4.21.5 - caniuse-lite: 1.0.30001469 - css-blank-pseudo: 0.1.4 - css-has-pseudo: 0.10.0 - css-prefers-color-scheme: 3.1.1 - cssdb: 4.4.0 - postcss: 7.0.32 - postcss-attribute-case-insensitive: 4.0.2 - postcss-color-functional-notation: 2.0.1 - postcss-color-gray: 5.0.0 - postcss-color-hex-alpha: 5.0.3 - postcss-color-mod-function: 3.0.3 - postcss-color-rebeccapurple: 4.0.1 - postcss-custom-media: 7.0.8 - postcss-custom-properties: 8.0.11 - postcss-custom-selectors: 5.1.2 - postcss-dir-pseudo-class: 5.0.0 - postcss-double-position-gradients: 1.0.0 - postcss-env-function: 2.0.2 - postcss-focus-visible: 4.0.0 - postcss-focus-within: 3.0.0 - postcss-font-variant: 4.0.1 - postcss-gap-properties: 2.0.0 - postcss-image-set-function: 3.0.1 - postcss-initial: 3.0.4 - postcss-lab-function: 2.0.1 - postcss-logical: 3.0.0 - postcss-media-minmax: 4.0.0 - postcss-nesting: 7.0.1 - postcss-overflow-shorthand: 2.0.0 - postcss-page-break: 2.0.0 - postcss-place: 4.0.1 - postcss-pseudo-class-any-link: 6.0.0 - postcss-replace-overflow-wrap: 3.0.0 - postcss-selector-matches: 4.0.0 - postcss-selector-not: 4.0.1 - dev: true - - /postcss-pseudo-class-any-link/6.0.0: - resolution: - { - integrity: sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==, + postcss: 8.4.21 + dev: true + + /postcss-preset-env/7.5.0_postcss@8.4.21: + resolution: + { + integrity: sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ==, + } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/postcss-color-function': 1.1.1_postcss@8.4.21 + '@csstools/postcss-font-format-keywords': 1.0.1_postcss@8.4.21 + '@csstools/postcss-hwb-function': 1.0.2_postcss@8.4.21 + '@csstools/postcss-ic-unit': 1.0.1_postcss@8.4.21 + '@csstools/postcss-is-pseudo-class': 2.0.7_postcss@8.4.21 + '@csstools/postcss-normalize-display-values': 1.0.1_postcss@8.4.21 + '@csstools/postcss-oklab-function': 1.1.1_postcss@8.4.21 + '@csstools/postcss-progressive-custom-properties': 1.3.0_postcss@8.4.21 + '@csstools/postcss-stepped-value-functions': 1.0.1_postcss@8.4.21 + '@csstools/postcss-unset-value': 1.0.2_postcss@8.4.21 + autoprefixer: 10.4.17_postcss@8.4.21 + browserslist: 4.23.0 + css-blank-pseudo: 3.0.3_postcss@8.4.21 + css-has-pseudo: 3.0.4_postcss@8.4.21 + css-prefers-color-scheme: 6.0.3_postcss@8.4.21 + cssdb: 6.6.3 + postcss: 8.4.21 + postcss-attribute-case-insensitive: 5.0.2_postcss@8.4.21 + postcss-clamp: 4.1.0_postcss@8.4.21 + postcss-color-functional-notation: 4.2.4_postcss@8.4.21 + postcss-color-hex-alpha: 8.0.4_postcss@8.4.21 + postcss-color-rebeccapurple: 7.1.1_postcss@8.4.21 + postcss-custom-media: 8.0.2_postcss@8.4.21 + postcss-custom-properties: 12.1.11_postcss@8.4.21 + postcss-custom-selectors: 6.0.3_postcss@8.4.21 + postcss-dir-pseudo-class: 6.0.5_postcss@8.4.21 + postcss-double-position-gradients: 3.1.2_postcss@8.4.21 + postcss-env-function: 4.0.6_postcss@8.4.21 + postcss-focus-visible: 6.0.4_postcss@8.4.21 + postcss-focus-within: 5.0.4_postcss@8.4.21 + postcss-font-variant: 5.0.0_postcss@8.4.21 + postcss-gap-properties: 3.0.5_postcss@8.4.21 + postcss-image-set-function: 4.0.7_postcss@8.4.21 + postcss-initial: 4.0.1_postcss@8.4.21 + postcss-lab-function: 4.2.1_postcss@8.4.21 + postcss-logical: 5.0.4_postcss@8.4.21 + postcss-media-minmax: 5.0.0_postcss@8.4.21 + postcss-nesting: 10.2.0_postcss@8.4.21 + postcss-opacity-percentage: 1.1.3_postcss@8.4.21 + postcss-overflow-shorthand: 3.0.4_postcss@8.4.21 + postcss-page-break: 3.0.4_postcss@8.4.21 + postcss-place: 7.0.5_postcss@8.4.21 + postcss-pseudo-class-any-link: 7.1.6_postcss@8.4.21 + postcss-replace-overflow-wrap: 4.0.0_postcss@8.4.21 + postcss-selector-not: 5.0.0_postcss@8.4.21 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-pseudo-class-any-link/7.1.6_postcss@8.4.21: + resolution: + { + integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==, } - engines: { node: '>=6.0.0' } + engines: { node: ^12 || ^14 || >=16 } + peerDependencies: + postcss: ^8.2 dependencies: - postcss: 7.0.32 - postcss-selector-parser: 5.0.0 + postcss: 8.4.21 + postcss-selector-parser: 6.0.11 dev: true - /postcss-replace-overflow-wrap/3.0.0: + /postcss-replace-overflow-wrap/4.0.0_postcss@8.4.21: resolution: { - integrity: sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==, + integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==, } + peerDependencies: + postcss: ^8.0.3 dependencies: - postcss: 7.0.32 + postcss: 8.4.21 dev: true /postcss-resolve-nested-selector/0.1.1: @@ -16914,6 +22257,18 @@ packages: postcss: 7.0.39 dev: true + /postcss-safe-parser/6.0.0_postcss@8.4.21: + resolution: + { + integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==, + } + engines: { node: '>=12.0' } + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.21 + dev: true + /postcss-sass/0.4.4: resolution: { @@ -16934,36 +22289,16 @@ packages: postcss: 7.0.39 dev: true - /postcss-selector-matches/4.0.0: - resolution: - { - integrity: sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==, - } - dependencies: - balanced-match: 1.0.2 - postcss: 7.0.32 - dev: true - - /postcss-selector-not/4.0.1: + /postcss-selector-not/5.0.0_postcss@8.4.21: resolution: { - integrity: sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==, + integrity: sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==, } + peerDependencies: + postcss: ^8.1.0 dependencies: balanced-match: 1.0.2 - postcss: 7.0.32 - dev: true - - /postcss-selector-parser/5.0.0: - resolution: - { - integrity: sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==, - } - engines: { node: '>=4' } - dependencies: - cssesc: 2.0.0 - indexes-of: 1.0.1 - uniq: 1.0.1 + postcss: 8.4.21 dev: true /postcss-selector-parser/6.0.11: @@ -16989,7 +22324,7 @@ packages: postcss: 8.4.21 dev: true - /postcss-syntax/0.36.2_postcss@7.0.39: + /postcss-syntax/0.36.2_kei4jy7wdgbhc236h4oijypxom: resolution: { integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==, @@ -17014,37 +22349,43 @@ packages: optional: true dependencies: postcss: 7.0.39 + postcss-html: 0.36.0_j55xdkkcxc32kvnyvx3y7casfm + postcss-less: 3.1.4 + postcss-scss: 2.1.1 dev: true - /postcss-value-parser/4.2.0: - resolution: - { - integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, - } - dev: true - - /postcss-values-parser/2.0.1: + /postcss-syntax/0.36.2_postcss@8.4.21: resolution: { - integrity: sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==, + integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==, } - engines: { node: '>=6.14.4' } + peerDependencies: + postcss: '>=5.0.0' + postcss-html: '*' + postcss-jsx: '*' + postcss-less: '*' + postcss-markdown: '*' + postcss-scss: '*' + peerDependenciesMeta: + postcss-html: + optional: true + postcss-jsx: + optional: true + postcss-less: + optional: true + postcss-markdown: + optional: true + postcss-scss: + optional: true dependencies: - flatten: 1.0.3 - indexes-of: 1.0.1 - uniq: 1.0.1 + postcss: 8.4.21 dev: true - /postcss/7.0.32: + /postcss-value-parser/4.2.0: resolution: { - integrity: sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==, + integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==, } - engines: { node: '>=6.0.0' } - dependencies: - chalk: 2.4.2 - source-map: 0.6.1 - supports-color: 6.1.0 dev: true /postcss/7.0.39: @@ -17094,6 +22435,26 @@ packages: engines: { node: '>=0.10.0' } dev: true + /prettier-plugin-organize-imports/3.2.4_vfwfovtzxjfwgbyps6iutumz4q: + resolution: + { + integrity: sha512-6m8WBhIp0dfwu0SkgfOxJqh+HpdyfqSSLfKKRZSFbDuEQXDDndb8fTpRWkUrX/uBenkex3MgnVk0J3b3Y5byog==, + } + peerDependencies: + '@volar/vue-language-plugin-pug': ^1.0.4 + '@volar/vue-typescript': ^1.0.4 + prettier: '>=2.0' + typescript: '>=2.9' + peerDependenciesMeta: + '@volar/vue-language-plugin-pug': + optional: true + '@volar/vue-typescript': + optional: true + dependencies: + prettier: 3.2.5 + typescript: 5.1.3 + dev: true + /prettier-plugin-packagejson/2.3.0_prettier@2.8.8: resolution: { @@ -17109,6 +22470,22 @@ packages: sort-package-json: 1.57.0 dev: true + /prettier-plugin-packagejson/2.4.3_prettier@3.2.5: + resolution: + { + integrity: sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ==, + } + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + dependencies: + prettier: 3.2.5 + sort-package-json: 2.4.1 + synckit: 0.8.5 + dev: true + /prettier-plugin-two-style-order/1.0.1_prettier@2.8.8: resolution: { @@ -17123,15 +22500,6 @@ packages: prettier: 2.8.8 dev: true - /prettier/2.2.1: - resolution: - { - integrity: sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==, - } - engines: { node: '>=10.13.0' } - hasBin: true - dev: true - /prettier/2.8.8: resolution: { @@ -17150,6 +22518,16 @@ packages: hasBin: true dev: true + /pretty-error/4.0.0: + resolution: + { + integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==, + } + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + dev: true + /pretty-format/27.5.1: resolution: { @@ -17226,6 +22604,13 @@ packages: react: 18.2.0 dev: true + /prism-themes/1.9.0: + resolution: + { + integrity: sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw==, + } + dev: true + /prismjs/1.29.0: resolution: { @@ -17241,6 +22626,13 @@ packages: } dev: true + /process-warning/1.0.0: + resolution: + { + integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==, + } + dev: true + /process/0.11.10: resolution: { @@ -17321,13 +22713,11 @@ packages: react-is: 16.13.1 dev: true - /property-information/5.6.0: + /property-information/6.4.1: resolution: { - integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==, + integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==, } - dependencies: - xtend: 4.0.2 dev: true /protoduck/4.0.0: @@ -17345,6 +22735,7 @@ packages: integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==, } dev: true + optional: true /pseudomap/1.0.2: resolution: @@ -17415,13 +22806,6 @@ packages: pump: 2.0.1 dev: true - /punycode/1.3.2: - resolution: - { - integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==, - } - dev: true - /punycode/1.4.1: resolution: { @@ -17429,14 +22813,6 @@ packages: } dev: true - /punycode/2.3.0: - resolution: - { - integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==, - } - engines: { node: '>=6' } - dev: true - /punycode/2.3.1: resolution: { @@ -17471,23 +22847,22 @@ packages: react: 18.2.0 dev: true - /qs/6.5.3: + /qs/6.11.2: resolution: { - integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==, + integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==, } engines: { node: '>=0.6' } + dependencies: + side-channel: 1.0.4 dev: true - /query-string/4.3.4: + /qs/6.5.3: resolution: { - integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==, + integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==, } - engines: { node: '>=0.10.0' } - dependencies: - object-assign: 4.1.1 - strict-uri-encode: 1.1.0 + engines: { node: '>=0.6' } dev: true /query-string/6.14.1: @@ -17523,15 +22898,6 @@ packages: engines: { node: '>=0.4.x' } dev: true - /querystring/0.2.0: - resolution: - { - integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==, - } - engines: { node: '>=0.4.x' } - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. - dev: true - /querystringify/2.2.0: resolution: { @@ -17555,6 +22921,13 @@ packages: inherits: 2.0.4 dev: true + /quick-format-unescaped/4.0.4: + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } + dev: true + /quick-lru/4.0.1: resolution: { @@ -17563,6 +22936,13 @@ packages: engines: { node: '>=8' } dev: true + /ramda/0.29.0: + resolution: + { + integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==, + } + dev: true + /randombytes/2.1.0: resolution: { @@ -17582,6 +22962,20 @@ packages: safe-buffer: 5.2.1 dev: true + /raw-loader/4.0.2_webpack@5.90.3: + resolution: + { + integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==, + } + engines: { node: '>= 10.13.0' } + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + loader-utils: 2.0.4 + schema-utils: 3.3.0 + webpack: 5.90.3_webpack-cli@5.1.4 + dev: true + /rax-children/1.0.0_rax@1.2.3: resolution: { @@ -17634,7 +23028,7 @@ packages: } engines: { npm: '>=3.0.0' } dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 prop-types: 15.8.1 rax-children: 1.0.0_rax@1.2.3 rax-clone-element: 1.0.0_rax@1.2.3 @@ -17642,7 +23036,7 @@ packages: rax-is-valid-element: 1.0.1 dev: true - /rc-align/4.0.15_biqbaboplfbrettd7655fr4n2y: + /rc-align/4.0.15_jnbmergxldlwssobus342vza4q: resolution: { integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==, @@ -17654,25 +23048,7 @@ packages: '@babel/runtime': 7.23.9 classnames: 2.5.1 dom-align: 1.12.4 - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - resize-observer-polyfill: 1.5.1 - dev: true - - /rc-align/4.0.15_jnbmergxldlwssobus342vza4q: - resolution: - { - integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==, - } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - dom-align: 1.12.4 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 resize-observer-polyfill: 1.5.1 @@ -17706,12 +23082,12 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 array-tree-filter: 2.1.0 - classnames: 2.3.2 + classnames: 2.5.1 rc-select: 14.3.0_jnbmergxldlwssobus342vza4q rc-tree: 5.7.2_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -17725,8 +23101,8 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -17756,10 +23132,10 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -17790,11 +23166,11 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.0_jnbmergxldlwssobus342vza4q - classnames: 2.3.2 - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + '@rc-component/portal': 1.1.2_jnbmergxldlwssobus342vza4q + classnames: 2.5.1 + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -17826,19 +23202,19 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.0_jnbmergxldlwssobus342vza4q - classnames: 2.3.2 - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + '@rc-component/portal': 1.1.2_jnbmergxldlwssobus342vza4q + classnames: 2.5.1 + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true - /rc-drawer/7.0.0_biqbaboplfbrettd7655fr4n2y: + /rc-drawer/6.2.0_biqbaboplfbrettd7655fr4n2y: resolution: { - integrity: sha512-ePcS4KtQnn57bCbVXazHN2iC8nTPCXlWEIA/Pft87Pd9U7ZeDkdRzG47jWG2/TAFXFlFltRAMcslqmUM8NPCGA==, + integrity: sha512-spPkZ3WvP0U0vy5dyzSwlUJ/+vLFtjP/cTwSwejhQRoDBaexSZHsBhELoCZcEggI7LQ7typmtG30lAue2HEhvA==, } peerDependencies: react: '>=16.9.0' @@ -17853,18 +23229,19 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: true - /rc-dropdown/4.0.1_biqbaboplfbrettd7655fr4n2y: + /rc-drawer/7.0.0_biqbaboplfbrettd7655fr4n2y: resolution: { - integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==, + integrity: sha512-ePcS4KtQnn57bCbVXazHN2iC8nTPCXlWEIA/Pft87Pd9U7ZeDkdRzG47jWG2/TAFXFlFltRAMcslqmUM8NPCGA==, } peerDependencies: - react: '>=16.11.0' - react-dom: '>=16.11.0' + react: '>=16.9.0' + react-dom: '>=16.9.0' dependencies: '@babel/runtime': 7.23.9 + '@rc-component/portal': 1.1.2_biqbaboplfbrettd7655fr4n2y classnames: 2.5.1 - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.9.0_biqbaboplfbrettd7655fr4n2y rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -17879,10 +23256,10 @@ packages: react: '>=16.11.0' react-dom: '>=16.11.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 rc-trigger: 5.3.4_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -17914,9 +23291,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 async-validator: 4.2.5 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -17938,6 +23315,21 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: true + /rc-footer/0.6.8_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-JBZ+xcb6kkex8XnBd4VHw1ZxjV6kmcwUumSHaIFdka2qzMCo7Klcy4sI6G0XtUpG/vtpislQCc+S9Bc+NLHYMg==, + } + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + /rc-image/5.15.2_jnbmergxldlwssobus342vza4q: resolution: { @@ -17947,12 +23339,12 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - '@rc-component/portal': 1.1.0_jnbmergxldlwssobus342vza4q - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + '@rc-component/portal': 1.1.2_jnbmergxldlwssobus342vza4q + classnames: 2.5.1 rc-dialog: 9.0.2_jnbmergxldlwssobus342vza4q - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -17985,10 +23377,10 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@rc-component/mini-decimal': 1.0.1 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18020,9 +23412,9 @@ packages: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18052,13 +23444,13 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 rc-input: 0.2.2_jnbmergxldlwssobus342vza4q rc-menu: 9.8.2_jnbmergxldlwssobus342vza4q rc-textarea: 1.0.1_jnbmergxldlwssobus342vza4q rc-trigger: 5.3.4_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18102,26 +23494,6 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: true - /rc-menu/9.6.4_biqbaboplfbrettd7655fr4n2y: - resolution: - { - integrity: sha512-6DiNAjxjVIPLZXHffXxxcyE15d4isRL7iQ1ru4MqYDH2Cqc5bW96wZOdMydFtGLyDdnmEQ9jVvdCE9yliGvzkw==, - } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.23.9 - classnames: 2.5.1 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-overflow: 1.3.2_biqbaboplfbrettd7655fr4n2y - rc-trigger: 5.3.4_biqbaboplfbrettd7655fr4n2y - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - shallowequal: 1.1.0 - dev: true - /rc-menu/9.8.2_jnbmergxldlwssobus342vza4q: resolution: { @@ -18131,17 +23503,17 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q rc-overflow: 1.2.8_jnbmergxldlwssobus342vza4q rc-trigger: 5.3.4_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true - /rc-motion/2.6.3_biqbaboplfbrettd7655fr4n2y: + /rc-motion/2.6.3_jnbmergxldlwssobus342vza4q: resolution: { integrity: sha512-xFLkes3/7VL/J+ah9jJruEW/Akbx5F6jVa2wG5o/ApGKQKSOd5FR3rseHLL9+xtJg4PmCwo6/1tqhDO/T+jFHA==, @@ -18152,28 +23524,28 @@ packages: dependencies: '@babel/runtime': 7.23.9 classnames: 2.5.1 - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 16.14.0_react@18.2.0 dev: true - /rc-motion/2.6.3_jnbmergxldlwssobus342vza4q: + /rc-motion/2.9.0_biqbaboplfbrettd7655fr4n2y: resolution: { - integrity: sha512-xFLkes3/7VL/J+ah9jJruEW/Akbx5F6jVa2wG5o/ApGKQKSOd5FR3rseHLL9+xtJg4PmCwo6/1tqhDO/T+jFHA==, + integrity: sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==, } peerDependencies: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y react: 18.2.0 - react-dom: 16.14.0_react@18.2.0 + react-dom: 18.2.0_react@18.2.0 dev: true - /rc-motion/2.9.0_biqbaboplfbrettd7655fr4n2y: + /rc-motion/2.9.0_jnbmergxldlwssobus342vza4q: resolution: { integrity: sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==, @@ -18184,9 +23556,9 @@ packages: dependencies: '@babel/runtime': 7.23.9 classnames: 2.5.1 - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 16.14.0_react@18.2.0 dev: true /rc-notification/5.0.2_jnbmergxldlwssobus342vza4q: @@ -18199,10 +23571,10 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18234,10 +23606,10 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-resize-observer: 1.3.1_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-resize-observer: 1.4.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18268,8 +23640,8 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18310,12 +23682,12 @@ packages: moment: optional: true dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 dayjs: 1.11.7 moment: 2.29.4 rc-trigger: 5.3.4_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18363,9 +23735,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18413,9 +23785,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18429,9 +23801,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 resize-observer-polyfill: 1.5.1 @@ -18454,6 +23826,23 @@ packages: resize-observer-polyfill: 1.5.1 dev: true + /rc-resize-observer/1.4.0_jnbmergxldlwssobus342vza4q: + resolution: + { + integrity: sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==, + } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q + react: 18.2.0 + react-dom: 16.14.0_react@18.2.0 + resize-observer-polyfill: 1.5.1 + dev: true + /rc-segmented/2.1.2_jnbmergxldlwssobus342vza4q: resolution: { @@ -18463,10 +23852,10 @@ packages: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18519,12 +23908,12 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@rc-component/trigger': 1.5.0_jnbmergxldlwssobus342vza4q - classnames: 2.3.2 - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q + classnames: 2.5.1 + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q rc-overflow: 1.2.8_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q rc-virtual-list: 3.4.13_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 @@ -18540,9 +23929,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18574,9 +23963,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18607,9 +23996,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18640,11 +24029,11 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@rc-component/context': 1.3.0_jnbmergxldlwssobus342vza4q - classnames: 2.3.2 + classnames: 2.5.1 rc-resize-observer: 1.3.1_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18669,10 +24058,10 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: true - /rc-tabs/11.16.1_biqbaboplfbrettd7655fr4n2y: + /rc-tabs/12.15.0_biqbaboplfbrettd7655fr4n2y: resolution: { - integrity: sha512-bR7Dap23YyfzZQwtKomhiFEFzZuE7WaKWo+ypNRSGB9PDKSc6tM12VP8LWYkvmmQHthgwP0WRN8nFbSJWuqLYw==, + integrity: sha512-aXFLRo7jo531Jed1LgRqrF0VmRnzM/Qki25PknM3S04gqyxpDaHNFpPba05pHhn+d1N+54qIi0IcY1odrCrF2A==, } engines: { node: '>=8.x' } peerDependencies: @@ -18681,8 +24070,9 @@ packages: dependencies: '@babel/runtime': 7.23.9 classnames: 2.5.1 - rc-dropdown: 4.0.1_biqbaboplfbrettd7655fr4n2y - rc-menu: 9.6.4_biqbaboplfbrettd7655fr4n2y + rc-dropdown: 4.1.0_biqbaboplfbrettd7655fr4n2y + rc-menu: 9.12.4_biqbaboplfbrettd7655fr4n2y + rc-motion: 2.9.0_biqbaboplfbrettd7655fr4n2y rc-resize-observer: 1.4.0_biqbaboplfbrettd7655fr4n2y rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y react: 18.2.0 @@ -18699,13 +24089,13 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 rc-dropdown: 4.0.1_jnbmergxldlwssobus342vza4q rc-menu: 9.8.2_jnbmergxldlwssobus342vza4q - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q rc-resize-observer: 1.3.1_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18740,11 +24130,11 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 rc-input: 0.2.2_jnbmergxldlwssobus342vza4q rc-resize-observer: 1.3.1_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18776,9 +24166,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 '@rc-component/trigger': 1.5.0_jnbmergxldlwssobus342vza4q - classnames: 2.3.2 + classnames: 2.5.1 react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18826,16 +24216,16 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 + '@babel/runtime': 7.23.9 + classnames: 2.5.1 rc-select: 14.3.0_jnbmergxldlwssobus342vza4q rc-tree: 5.7.2_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true - /rc-tree/5.7.2_biqbaboplfbrettd7655fr4n2y: + /rc-tree/5.7.2_jnbmergxldlwssobus342vza4q: resolution: { integrity: sha512-nmnL6qLnfwVckO5zoqKL2I9UhwDqzyCtjITQCkwhimyz1zfuFkG5ZPIXpzD/Guzso94qQA/QrMsvzic5W6QDjg==, @@ -18847,27 +24237,8 @@ packages: dependencies: '@babel/runtime': 7.23.9 classnames: 2.5.1 - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - rc-virtual-list: 3.11.4_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - dev: true - - /rc-tree/5.7.2_jnbmergxldlwssobus342vza4q: - resolution: - { - integrity: sha512-nmnL6qLnfwVckO5zoqKL2I9UhwDqzyCtjITQCkwhimyz1zfuFkG5ZPIXpzD/Guzso94qQA/QrMsvzic5W6QDjg==, - } - engines: { node: '>=10.x' } - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q rc-virtual-list: 3.4.13_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 @@ -18892,7 +24263,7 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: true - /rc-trigger/5.3.4_biqbaboplfbrettd7655fr4n2y: + /rc-trigger/5.3.4_jnbmergxldlwssobus342vza4q: resolution: { integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==, @@ -18904,28 +24275,9 @@ packages: dependencies: '@babel/runtime': 7.23.9 classnames: 2.5.1 - rc-align: 4.0.15_biqbaboplfbrettd7655fr4n2y - rc-motion: 2.6.3_biqbaboplfbrettd7655fr4n2y - rc-util: 5.38.2_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - dev: true - - /rc-trigger/5.3.4_jnbmergxldlwssobus342vza4q: - resolution: - { - integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==, - } - engines: { node: '>=8.x' } - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 rc-align: 4.0.15_jnbmergxldlwssobus342vza4q - rc-motion: 2.6.3_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + rc-motion: 2.9.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18939,9 +24291,9 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -18971,12 +24323,27 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 react: 18.2.0 react-dom: 16.14.0_react@18.2.0 react-is: 16.13.1 dev: true + /rc-util/5.33.0_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-mq2NkEAnHklq4fgU/JqjiE0PS8+8u33gEWw2bDUNDPck3OroPpSgw/8oEyuFrvPgaZEmt9BgQdh59JfQt2cU+w==, + } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-is: 16.13.1 + dev: true + /rc-util/5.38.2_biqbaboplfbrettd7655fr4n2y: resolution: { @@ -18986,12 +24353,27 @@ packages: react: '>=16.9.0' react-dom: '>=16.9.0' dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-is: 18.2.0 dev: true + /rc-util/5.38.2_jnbmergxldlwssobus342vza4q: + resolution: + { + integrity: sha512-yRGRPKyi84H7NkRSP6FzEIYBdUt4ufdsmXUZ7qM2H5qoByPax70NnGPkfo36N+UKUnUBj2f2Q2eUbwYMuAsIOQ==, + } + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.23.9 + react: 18.2.0 + react-dom: 16.14.0_react@18.2.0 + react-is: 18.2.0 + dev: true + /rc-virtual-list/3.11.4_biqbaboplfbrettd7655fr4n2y: resolution: { @@ -19020,10 +24402,10 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.21.0 - classnames: 2.3.2 - rc-resize-observer: 1.3.1_jnbmergxldlwssobus342vza4q - rc-util: 5.28.0_jnbmergxldlwssobus342vza4q + '@babel/runtime': 7.23.9 + classnames: 2.5.1 + rc-resize-observer: 1.4.0_jnbmergxldlwssobus342vza4q + rc-util: 5.38.2_jnbmergxldlwssobus342vza4q react: 18.2.0 react-dom: 16.14.0_react@18.2.0 dev: true @@ -19041,13 +24423,6 @@ packages: strip-json-comments: 2.0.1 dev: true - /react-attr-converter/0.3.1: - resolution: - { - integrity: sha512-dSxo2Mn6Zx4HajeCeQNLefwEO4kNtV/0E682R1+ZTyFRPqxDa5zYb5qM/ocqw9Bxr/kFQO0IUiqdV7wdHw+Cdg==, - } - dev: true - /react-base16-styling/0.6.0: resolution: { @@ -19060,18 +24435,33 @@ packages: pure-color: 1.3.0 dev: true - /react-docgen-typescript-dumi-tmp/1.22.1-0_typescript@5.1.3: + /react-colorful/5.6.1_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==, + } + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + + /react-copy-to-clipboard/5.1.0_react@18.2.0: resolution: { - integrity: sha512-wjuAm1yj+ZZucovow2VF0MXkH2SGZ+squZxfNdnam3oyUbHy/xZaU1ZabCn7rY+13ZFx0/NLda+ZuBgF3g8vBA==, + integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==, } peerDependencies: - typescript: '>= 3.x' + react: ^15.3.0 || 16 || 17 || 18 dependencies: - typescript: 5.1.3 + copy-to-clipboard: 3.3.3 + prop-types: 15.8.1 + react: 18.2.0 dev: true - /react-dom/16.14.0_react@16.14.0: + /react-dom/16.14.0_react@18.2.0: resolution: { integrity: sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==, @@ -19082,23 +24472,21 @@ packages: loose-envify: 1.4.0 object-assign: 4.1.1 prop-types: 15.8.1 - react: 16.14.0 + react: 18.2.0 scheduler: 0.19.1 dev: true - /react-dom/16.14.0_react@18.2.0: + /react-dom/18.1.0_react@18.1.0: resolution: { - integrity: sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==, + integrity: sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==, } peerDependencies: - react: ^16.14.0 + react: ^18.1.0 dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 - prop-types: 15.8.1 - react: 18.2.0 - scheduler: 0.19.1 + react: 18.1.0 + scheduler: 0.22.0 dev: true /react-dom/18.2.0_react@18.2.0: @@ -19124,12 +24512,11 @@ packages: prop-types: 15.8.1 dev: true - /react-error-boundary/3.1.4_react@18.2.0: + /react-error-boundary/4.0.12_react@18.2.0: resolution: { - integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==, + integrity: sha512-kJdxdEYlb7CPC1A0SeUY38cHpjuu6UkvzKiAmqmOFL21VRfMhOcWxTCBgLVCO0VEMh9JhFNcVaXlV4/BTpiwOA==, } - engines: { node: '>=10', npm: '>=6' } peerDependencies: react: '>=16.13.1' dependencies: @@ -19137,6 +24524,82 @@ packages: react: 18.2.0 dev: true + /react-error-overlay/6.0.9: + resolution: + { + integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==, + } + dev: true + + /react-fast-compare/3.2.2: + resolution: + { + integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==, + } + dev: true + + /react-helmet-async/1.3.0_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==, + } + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.23.9 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + dev: true + + /react-helmet-async/1.3.0_ef5jwxihqo6n7gxfmzogljlgcm: + resolution: + { + integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==, + } + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.23.9 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + dev: true + + /react-intl/6.6.2_iexvvtburph4rvb3nqc2tfrkce: + resolution: + { + integrity: sha512-IpW2IkLtGENSFlX3vfH11rjuCIsW0VyjT0Q1pPKMZPtT2z1FxLt4weFT5Ezti2TScT1xiyb3aQBFth9EB7jzAg==, + } + peerDependencies: + react: ^16.6.0 || 17 || 18 + typescript: ^4.7 || 5 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@formatjs/ecma402-abstract': 1.18.2 + '@formatjs/icu-messageformat-parser': 2.7.6 + '@formatjs/intl': 2.10.0_typescript@5.1.3 + '@formatjs/intl-displaynames': 6.6.6 + '@formatjs/intl-listformat': 7.5.5 + '@types/hoist-non-react-statics': 3.3.5 + '@types/react': 18.0.28 + hoist-non-react-statics: 3.3.2 + intl-messageformat: 10.5.11 + react: 18.2.0 + tslib: 2.6.2 + typescript: 5.1.3 + dev: true + /react-is/16.13.1: resolution: { @@ -19185,132 +24648,84 @@ packages: } dev: true - /react-refresh/0.10.0: - resolution: - { - integrity: sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==, - } - engines: { node: '>=0.10.0' } - dev: true - - /react-router-config/5.1.1_6flbfkch6crntn4ac2g723iqde: + /react-loading-skeleton/3.4.0_react@18.2.0: resolution: { - integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==, + integrity: sha512-1oJEBc9+wn7BbkQQk7YodlYEIjgeR+GrRjD+QXkVjwZN7LGIcAFHrx4NhT7UHGBxNY1+zax3c+Fo6XQM4R7CgA==, } peerDependencies: - react: '>=15' - react-router: '>=5' + react: '>=16.8.0' dependencies: - '@babel/runtime': 7.23.9 - react: 16.14.0 - react-router: 5.2.0_react@16.14.0 + react: 18.2.0 dev: true - /react-router-config/5.1.1_t2zoxmawn7sfdpkcuytim2cp3i: + /react-merge-refs/1.1.0: resolution: { - integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==, + integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==, } - peerDependencies: - react: '>=15' - react-router: '>=5' - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - react-router: 6.8.2_react@18.2.0 dev: true - /react-router-config/5.1.1_w3pku2rfskdxqtbs66joerxk6y: + /react-refresh/0.14.0: resolution: { - integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==, + integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==, } - peerDependencies: - react: '>=15' - react-router: '>=5' - dependencies: - '@babel/runtime': 7.23.9 - react: 16.14.0 - react-router: 6.8.2_react@18.2.0 + engines: { node: '>=0.10.0' } dev: true - /react-router-dom/5.2.0_react@16.14.0: + /react-router-dom/6.3.0_biqbaboplfbrettd7655fr4n2y: resolution: { - integrity: sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==, + integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==, } peerDependencies: - react: '>=15' + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@babel/runtime': 7.23.9 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 16.14.0 - react-router: 5.2.0_react@16.14.0 - tiny-invariant: 1.3.1 - tiny-warning: 1.0.3 + history: 5.3.0 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-router: 6.3.0_react@18.2.0 dev: true - /react-router-dom/5.2.0_react@18.2.0: + /react-router-dom/6.3.0_ef5jwxihqo6n7gxfmzogljlgcm: resolution: { - integrity: sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==, + integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==, } peerDependencies: - react: '>=15' + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@babel/runtime': 7.23.9 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 18.2.0 - react-router: 5.2.0_react@18.2.0 - tiny-invariant: 1.3.1 - tiny-warning: 1.0.3 + history: 5.3.0 + react: 18.1.0 + react-dom: 18.1.0_react@18.1.0 + react-router: 6.3.0_react@18.1.0 dev: true - /react-router/5.2.0_react@16.14.0: + /react-router/6.3.0_react@18.1.0: resolution: { - integrity: sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==, + integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==, } peerDependencies: - react: '>=15' + react: '>=16.8' dependencies: - '@babel/runtime': 7.23.9 - history: 4.10.1 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - mini-create-react-context: 0.4.1_4vyaxm4rsh2mpfdenvlqy7kmya - path-to-regexp: 1.8.0 - prop-types: 15.8.1 - react: 16.14.0 - react-is: 16.13.1 - tiny-invariant: 1.3.1 - tiny-warning: 1.0.3 + history: 5.3.0 + react: 18.1.0 dev: true - /react-router/5.2.0_react@18.2.0: + /react-router/6.3.0_react@18.2.0: resolution: { - integrity: sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==, + integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==, } peerDependencies: - react: '>=15' + react: '>=16.8' dependencies: - '@babel/runtime': 7.23.9 - history: 4.10.1 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - mini-create-react-context: 0.4.1_sh5qlbywuemxd2y3xkrw2y2kr4 - path-to-regexp: 1.8.0 - prop-types: 15.8.1 + history: 5.3.0 react: 18.2.0 - react-is: 16.13.1 - tiny-invariant: 1.3.1 - tiny-warning: 1.0.3 dev: true /react-router/6.8.2_react@18.2.0: @@ -19342,6 +24757,19 @@ packages: react-use: 15.3.8_biqbaboplfbrettd7655fr4n2y dev: true + /react-simple-code-editor/0.13.1_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-XYeVwRZwgyKtjNIYcAEgg2FaQcCZwhbarnkJIV20U2wkCU9q/CPFBo8nRXrK4GXUz3AvbqZFsZRrpUTkqqEYyQ==, + } + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: true + /react-textarea-autosize/8.4.0_react@18.2.0: resolution: { @@ -19351,7 +24779,7 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 react: 18.2.0 use-composed-ref: 1.3.0_react@18.2.0 use-latest: 1.2.1_react@18.2.0 @@ -19376,7 +24804,7 @@ packages: react-lifecycles-compat: 3.0.4 dev: true - /react-universal-interface/0.6.2_react@18.2.0+tslib@2.5.0: + /react-universal-interface/0.6.2_react@18.2.0+tslib@2.6.2: resolution: { integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==, @@ -19386,7 +24814,7 @@ packages: tslib: '*' dependencies: react: 18.2.0 - tslib: 2.5.0 + tslib: 2.6.2 dev: true /react-use/15.3.8_biqbaboplfbrettd7655fr4n2y: @@ -19407,25 +24835,23 @@ packages: nano-css: 5.3.5_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - react-universal-interface: 0.6.2_react@18.2.0+tslib@2.5.0 + react-universal-interface: 0.6.2_react@18.2.0+tslib@2.6.2 resize-observer-polyfill: 1.5.1 screenfull: 5.2.0 set-harmonic-interval: 1.0.1 throttle-debounce: 2.3.0 ts-easing: 0.2.0 - tslib: 2.5.0 + tslib: 2.6.2 dev: true - /react/16.14.0: + /react/18.1.0: resolution: { - integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==, + integrity: sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==, } engines: { node: '>=0.10.0' } dependencies: loose-envify: 1.4.0 - object-assign: 4.1.1 - prop-types: 15.8.1 dev: true /react/18.2.0: @@ -19437,6 +24863,28 @@ packages: dependencies: loose-envify: 1.4.0 + /reactflow/11.10.4_biqbaboplfbrettd7655fr4n2y: + resolution: + { + integrity: sha512-0CApYhtYicXEDg/x2kvUHiUk26Qur8lAtTtiSlptNKuyEuGti6P1y5cS32YGaUoDMoCqkm/m+jcKkfMOvSCVRA==, + } + peerDependencies: + react: '>=17' + react-dom: '>=17' + dependencies: + '@reactflow/background': 11.3.9_biqbaboplfbrettd7655fr4n2y + '@reactflow/controls': 11.2.9_biqbaboplfbrettd7655fr4n2y + '@reactflow/core': 11.10.4_biqbaboplfbrettd7655fr4n2y + '@reactflow/minimap': 11.7.9_biqbaboplfbrettd7655fr4n2y + '@reactflow/node-resizer': 2.2.9_biqbaboplfbrettd7655fr4n2y + '@reactflow/node-toolbar': 1.3.9_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + transitivePeerDependencies: + - '@types/react' + - immer + dev: true + /read-pkg-up/1.0.1: resolution: { @@ -19492,6 +24940,18 @@ packages: mute-stream: 0.0.8 dev: true + /readable-stream/1.0.34: + resolution: + { + integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==, + } + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + dev: true + /readable-stream/2.3.8: resolution: { @@ -19552,7 +25012,14 @@ packages: dependencies: picomatch: 2.3.1 dev: true - optional: true + + /real-require/0.1.0: + resolution: + { + integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==, + } + engines: { node: '>= 12.13.0' } + dev: true /rechoir/0.6.2: resolution: @@ -19561,7 +25028,7 @@ packages: } engines: { node: '>= 0.10' } dependencies: - resolve: 1.22.1 + resolve: 1.22.4 dev: true /rechoir/0.8.0: @@ -19585,20 +25052,26 @@ packages: strip-indent: 3.0.0 dev: true - /regenerate-unicode-properties/10.0.1: + /reflect.getprototypeof/1.0.5: resolution: { - integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==, + integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==, } - engines: { node: '>=4' } + engines: { node: '>= 0.4' } dependencies: - regenerate: 1.4.2 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 dev: true - /regenerate-unicode-properties/10.1.0: + /regenerate-unicode-properties/10.1.1: resolution: { - integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==, + integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==, } engines: { node: '>=4' } dependencies: @@ -19625,13 +25098,6 @@ packages: integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, } - /regenerator-runtime/0.13.5: - resolution: - { - integrity: sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==, - } - dev: true - /regenerator-runtime/0.14.1: resolution: { @@ -19667,16 +25133,17 @@ packages: hasBin: true dev: true - /regexp.prototype.flags/1.4.3: + /regexp.prototype.flags/1.5.2: resolution: { - integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==, + integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, } engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 dev: true /regexpp/3.2.0: @@ -19696,7 +25163,7 @@ packages: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 + regenerate-unicode-properties: 10.1.1 regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 @@ -19732,86 +25199,101 @@ packages: jsesc: 0.5.0 dev: true - /rehype-autolink-headings/4.0.0: + /rehype-autolink-headings/6.1.1: resolution: { - integrity: sha512-2lglJ+4S3A4RCz+zlKVWj1wHvwO4bjunAoEOgMfjphT59EVXwdMiJzrL/A2fuAX/33k/LhkGW6BEK1Cl1I5WQw==, + integrity: sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==, } dependencies: + '@types/hast': 2.3.10 extend: 3.0.2 - hast-util-has-property: 1.0.4 - hast-util-is-element: 1.1.0 - unist-util-visit: 2.0.3 + hast-util-has-property: 2.0.1 + hast-util-heading-rank: 2.1.1 + hast-util-is-element: 2.1.3 + unified: 10.1.2 + unist-util-visit: 4.1.2 dev: true - /rehype-mathjax/3.1.0: + /rehype-remove-comments/5.0.0: resolution: { - integrity: sha512-Pmz92Y56lBFmDjFc9nIdrKu1xzKSBYevcwKiKiG7b5JJg74q1E62nRSbPEm37vXaXn7Bn25iRsWcP39bJKkMxg==, + integrity: sha512-sfiVT+u1in19sxo9vv/SDQVbHE2mADScNrpeVsUxBFl14zOMZnfPb6l4hR+lXqe10G13UFVqv5pt8zDbCR4JYQ==, } dependencies: - '@types/mathjax': 0.0.36 - hast-util-from-dom: 3.0.0 - hast-util-to-text: 2.0.1 - jsdom: 16.7.0 - mathjax-full: 3.2.2 - unist-util-visit: 2.0.3 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate + '@types/hast': 2.3.10 + hast-util-is-conditional-comment: 2.0.0 + unified: 10.1.2 + unist-util-filter: 4.0.1 dev: true - /rehype-remove-comments/4.0.2: + /rehype-stringify/9.0.4: resolution: { - integrity: sha512-E2FNohTuIs7QzUnEQs3SdYdCScsTgUN7yPeDNWi+gsvx+pbLzIAyp27TWz3Gm64jpdLi7/6HxyRHxdd1NVQ37A==, + integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==, } dependencies: - hast-util-is-conditional-comment: 1.0.4 - unist-util-filter: 2.0.3 + '@types/hast': 2.3.10 + hast-util-to-html: 8.0.4 + unified: 10.1.2 + dev: true + + /relateurl/0.2.7: + resolution: + { + integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==, + } + engines: { node: '>= 0.10' } dev: true - /rehype-stringify/8.0.0: + /remark-directive/2.0.1: resolution: { - integrity: sha512-VkIs18G0pj2xklyllrPSvdShAV36Ff3yE5PUO9u36f6+2qJFnn22Z5gKwBOwgXviux4UC7K+/j13AnZfPICi/g==, + integrity: sha512-oosbsUAkU/qmUE78anLaJePnPis4ihsE7Agp0T/oqTzvTea8pOiaYEtfInU/+xMOVTS9PN5AhGOiaIVe4GD8gw==, } dependencies: - hast-util-to-html: 7.1.3 + '@types/mdast': 3.0.15 + mdast-util-directive: 2.2.4 + micromark-extension-directive: 2.2.1 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color dev: true - /remark-frontmatter/3.0.0: + /remark-frontmatter/4.0.1: resolution: { - integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==, + integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==, } dependencies: - mdast-util-frontmatter: 0.2.0 - micromark-extension-frontmatter: 0.2.2 + '@types/mdast': 3.0.15 + mdast-util-frontmatter: 1.0.1 + micromark-extension-frontmatter: 1.1.1 + unified: 10.1.2 dev: true - /remark-gfm/1.0.0: + /remark-gfm/3.0.1: resolution: { - integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==, + integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==, } dependencies: - mdast-util-gfm: 0.1.2 - micromark-extension-gfm: 0.3.3 + '@types/mdast': 3.0.15 + mdast-util-gfm: 2.0.2 + micromark-extension-gfm: 2.0.3 + unified: 10.1.2 transitivePeerDependencies: - supports-color dev: true - /remark-math/4.0.0: + /remark-parse/10.0.2: resolution: { - integrity: sha512-lH7SoQenXtQrvL0bm+mjZbvOk//YWNuyR+MxV18Qyv8rgFmMEGNuB0TSCQDkoDaiJ40FCnG8lxErc/zhcedYbw==, + integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==, } dependencies: - mdast-util-math: 0.1.2 - micromark-extension-math: 0.1.2 + '@types/mdast': 3.0.15 + mdast-util-from-markdown: 1.3.1 + unified: 10.1.2 transitivePeerDependencies: - supports-color dev: true @@ -19827,13 +25309,16 @@ packages: - supports-color dev: true - /remark-rehype/8.1.0: + /remark-rehype/10.1.0: resolution: { - integrity: sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA==, + integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==, } dependencies: - mdast-util-to-hast: 10.2.0 + '@types/hast': 2.3.10 + '@types/mdast': 3.0.15 + mdast-util-to-hast: 12.3.0 + unified: 10.1.2 dev: true /remark-stringify/9.0.1: @@ -19908,6 +25393,27 @@ packages: } dev: true + /rename-keys/1.2.0: + resolution: + { + integrity: sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg==, + } + engines: { node: '>= 0.8.0' } + dev: true + + /renderkid/3.0.0: + resolution: + { + integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==, + } + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + dev: true + /repeat-element/1.1.4: resolution: { @@ -20049,14 +25555,6 @@ packages: global-modules: 1.0.0 dev: true - /resolve-from/3.0.0: - resolution: - { - integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==, - } - engines: { node: '>=4' } - dev: true - /resolve-from/4.0.0: resolution: { @@ -20093,10 +25591,10 @@ packages: value-or-function: 3.0.0 dev: true - /resolve-pathname/3.0.0: + /resolve-pkg-maps/1.0.0: resolution: { - integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==, + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, } dev: true @@ -20116,18 +25614,6 @@ packages: engines: { node: '>=10' } dev: true - /resolve/1.22.1: - resolution: - { - integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, - } - hasBin: true - dependencies: - is-core-module: 2.11.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - /resolve/1.22.4: resolution: { @@ -20147,7 +25633,7 @@ packages: } hasBin: true dependencies: - is-core-module: 2.11.0 + is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -20216,6 +25702,36 @@ packages: inherits: 2.0.4 dev: true + /rollup-plugin-visualizer/5.9.0: + resolution: + { + integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==, + } + engines: { node: '>=14' } + hasBin: true + peerDependencies: + rollup: 2.x || 3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + source-map: 0.7.4 + yargs: 17.7.1 + dev: true + + /rollup/3.29.4: + resolution: + { + integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==, + } + engines: { node: '>=14.18.0', npm: '>=8.0.0' } + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + /rtl-css-js/1.16.1: resolution: { @@ -20225,6 +25741,16 @@ packages: '@babel/runtime': 7.23.9 dev: true + /run-applescript/5.0.0: + resolution: + { + integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==, + } + engines: { node: '>=12' } + dependencies: + execa: 5.1.1 + dev: true + /run-async/2.4.1: resolution: { @@ -20261,6 +25787,29 @@ packages: tslib: 1.14.1 dev: true + /sade/1.8.1: + resolution: + { + integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, + } + engines: { node: '>=6' } + dependencies: + mri: 1.2.0 + dev: true + + /safe-array-concat/1.1.0: + resolution: + { + integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==, + } + engines: { node: '>=0.4' } + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + /safe-buffer/5.1.2: resolution: { @@ -20275,14 +25824,15 @@ packages: } dev: true - /safe-regex-test/1.0.0: + /safe-regex-test/1.0.3: resolution: { - integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==, + integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==, } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 dev: true @@ -20304,6 +25854,14 @@ packages: regexp-tree: 0.1.24 dev: true + /safe-stable-stringify/2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: '>=10' } + dev: true + /safer-buffer/2.1.2: resolution: { @@ -20311,21 +25869,24 @@ packages: } dev: true - /sax/1.2.4: + /sass/1.71.1: resolution: { - integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==, + integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==, } + engines: { node: '>=14.0.0' } + hasBin: true + dependencies: + chokidar: 3.6.0 + immutable: 4.3.5 + source-map-js: 1.0.2 dev: true - /saxes/5.0.1: + /sax/1.2.4: resolution: { - integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==, + integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==, } - engines: { node: '>=10' } - dependencies: - xmlchars: 2.2.0 dev: true /saxes/6.0.0: @@ -20348,37 +25909,22 @@ packages: object-assign: 4.1.1 dev: true - /scheduler/0.23.0: + /scheduler/0.22.0: resolution: { - integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==, + integrity: sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==, } dependencies: loose-envify: 1.4.0 dev: true - /schema-utils/1.0.0: - resolution: - { - integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==, - } - engines: { node: '>= 4' } - dependencies: - ajv: 6.12.6 - ajv-errors: 1.0.1_ajv@6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 - dev: true - - /schema-utils/3.1.1: + /scheduler/0.23.0: resolution: { - integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==, + integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==, } - engines: { node: '>= 10.13.0' } dependencies: - '@types/json-schema': 7.0.11 - ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + loose-envify: 1.4.0 dev: true /schema-utils/3.3.0: @@ -20429,6 +25975,22 @@ packages: kind-of: 6.0.3 dev: true + /selderee/0.11.0: + resolution: + { + integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==, + } + dependencies: + parseley: 0.12.1 + dev: true + + /select-hose/2.0.0: + resolution: + { + integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==, + } + dev: true + /semver-diff/2.1.0: resolution: { @@ -20465,6 +26027,14 @@ packages: hasBin: true dev: true + /semver/6.3.1: + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } + hasBin: true + dev: true + /semver/7.3.8: resolution: { @@ -20512,6 +26082,34 @@ packages: } dev: true + /set-function-length/1.2.1: + resolution: + { + integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==, + } + engines: { node: '>= 0.4' } + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + dev: true + + /set-function-name/2.0.2: + resolution: + { + integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, + } + engines: { node: '>= 0.4' } + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + dev: true + /set-harmonic-interval/1.0.1: resolution: { @@ -20618,6 +26216,7 @@ packages: { integrity: sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==, } + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: nanoid: 2.1.11 dev: true @@ -20628,9 +26227,9 @@ packages: integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, } dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - object-inspect: 1.12.3 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 dev: true /signal-exit/3.0.7: @@ -20640,6 +26239,23 @@ packages: } dev: true + /signal-exit/4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: '>=14' } + dev: true + + /simple-swizzle/0.2.2: + resolution: + { + integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==, + } + dependencies: + is-arrayish: 0.3.2 + dev: true + /sisteransi/1.0.5: resolution: { @@ -20647,15 +26263,15 @@ packages: } dev: true - /sitemap/6.4.0: + /sitemap/7.1.1: resolution: { - integrity: sha512-DoPKNc2/apQZTUnfiOONWctwq7s6dZVspxAZe2VPMNtoqNq7HgXRvlRnbIpKjf+8+piQdWncwcy+YhhTGY5USQ==, + integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==, } - engines: { node: '>=10.3.0', npm: '>=5.6.0' } + engines: { node: '>=12.0.0', npm: '>=5.6.0' } hasBin: true dependencies: - '@types/node': 14.18.37 + '@types/node': 17.0.45 '@types/sax': 1.2.4 arg: 5.0.2 sax: 1.2.4 @@ -20677,12 +26293,12 @@ packages: engines: { node: '>=8' } dev: true - /slash2/2.0.0: + /slash/4.0.0: resolution: { - integrity: sha512-7ElvBydJPi3MHU/KEOblFSbO/skl4Z69jKkFCpYIYVOMSIZsKi4gYU43HGeZPmjxCXrHekoDAAewphPQNnsqtA==, + integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==, } - engines: { node: '>=6' } + engines: { node: '>=12' } dev: true /slice-ansi/4.0.0: @@ -20768,14 +26384,13 @@ packages: smart-buffer: 1.1.15 dev: true - /sort-keys/1.1.2: + /sonic-boom/2.8.0: resolution: { - integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==, + integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==, } - engines: { node: '>=0.10.0' } dependencies: - is-plain-obj: 1.1.0 + atomic-sleep: 1.0.0 dev: true /sort-object-keys/1.1.3: @@ -20800,6 +26415,21 @@ packages: sort-object-keys: 1.1.3 dev: true + /sort-package-json/2.4.1: + resolution: + { + integrity: sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==, + } + hasBin: true + dependencies: + detect-indent: 7.0.1 + detect-newline: 4.0.1 + git-hooks-list: 3.1.0 + globby: 13.2.2 + is-plain-obj: 4.1.0 + sort-object-keys: 1.1.3 + dev: true + /source-map-js/1.0.2: resolution: { @@ -20822,6 +26452,17 @@ packages: urix: 0.1.0 dev: true + /source-map-resolve/0.6.0: + resolution: + { + integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==, + } + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + dev: true + /source-map-support/0.5.13: resolution: { @@ -20890,10 +26531,10 @@ packages: deprecated: Please use @jridgewell/sourcemap-codec instead dev: true - /space-separated-tokens/1.1.5: + /space-separated-tokens/2.0.2: resolution: { - integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==, + integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==, } dev: true @@ -20939,24 +26580,44 @@ packages: } dev: true - /specificity/0.4.1: + /spdy-transport/3.0.0: resolution: { - integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==, + integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==, } - hasBin: true + dependencies: + debug: 4.3.4 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.1 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color dev: true - /speech-rule-engine/4.0.7: + /spdy/4.0.2: resolution: { - integrity: sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==, + integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==, } - hasBin: true + engines: { node: '>=6.0.0' } dependencies: - commander: 9.2.0 - wicked-good-xpath: 1.3.0 - xmldom-sre: 0.1.31 + debug: 4.3.4 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /specificity/0.4.1: + resolution: + { + integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==, + } + hasBin: true dev: true /split-on-first/1.1.0: @@ -21000,6 +26661,14 @@ packages: readable-stream: 3.6.1 dev: true + /split2/4.2.0: + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: '>= 10.x' } + dev: true + /sprintf-js/1.0.3: resolution: { @@ -21051,6 +26720,14 @@ packages: safe-buffer: 5.2.1 dev: true + /stable/0.1.8: + resolution: + { + integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==, + } + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: true + /stack-generator/2.0.10: resolution: { @@ -21120,7 +26797,7 @@ packages: } engines: { node: '>= 0.4' } dependencies: - internal-slot: 1.0.5 + internal-slot: 1.0.7 dev: true /stream-browserify/2.0.2: @@ -21170,14 +26847,6 @@ packages: } dev: true - /strict-uri-encode/1.1.0: - resolution: - { - integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==, - } - engines: { node: '>=0.10.0' } - dev: true - /strict-uri-encode/2.0.0: resolution: { @@ -21239,83 +26908,101 @@ packages: strip-ansi: 6.0.1 dev: true + /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.1.0 + dev: true + /string.prototype.matchall/4.0.8: resolution: { integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==, } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - get-intrinsic: 1.2.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.4.3 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 side-channel: 1.0.4 dev: true - /string.prototype.trimend/1.0.6: + /string.prototype.trim/1.2.8: resolution: { - integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==, + integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==, } + engines: { node: '>= 0.4' } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true - /string.prototype.trimstart/1.0.6: + /string.prototype.trimend/1.0.7: resolution: { - integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==, + integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==, } dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true - /string_decoder/1.1.1: + /string.prototype.trimstart/1.0.7: resolution: { - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, + integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==, } dependencies: - safe-buffer: 5.1.2 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.22.4 dev: true - /string_decoder/1.3.0: + /string_decoder/0.10.31: resolution: { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==, + } + dev: true + + /string_decoder/1.1.1: + resolution: + { + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, } dependencies: - safe-buffer: 5.2.1 + safe-buffer: 5.1.2 dev: true - /stringify-entities/3.1.0: + /string_decoder/1.3.0: resolution: { - integrity: sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==, + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, } dependencies: - character-entities-html4: 1.1.4 - character-entities-legacy: 1.1.4 - xtend: 4.0.2 + safe-buffer: 5.2.1 dev: true - /stringify-object/3.3.0: + /stringify-entities/4.0.3: resolution: { - integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==, + integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==, } - engines: { node: '>=4' } dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 dev: true /strip-ansi/3.0.1: @@ -21358,6 +27045,16 @@ packages: ansi-regex: 5.0.1 dev: true + /strip-ansi/7.1.0: + resolution: + { + integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, + } + engines: { node: '>=12' } + dependencies: + ansi-regex: 6.0.1 + dev: true + /strip-bom-string/1.0.0: resolution: { @@ -21400,6 +27097,14 @@ packages: engines: { node: '>=6' } dev: true + /strip-final-newline/3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: '>=12' } + dev: true + /strip-indent/3.0.0: resolution: { @@ -21440,10 +27145,10 @@ packages: } dev: true - /style-to-object/0.3.0: + /style-to-object/0.4.4: resolution: { - integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==, + integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==, } dependencies: inline-style-parser: 0.1.1 @@ -21464,10 +27169,38 @@ packages: integrity: sha512-xL+kev1W1dPthdhpQqZs9Qk1zenQiHKyy9oy2/VasW4z6wi7m7qQvMe67foPsr99JSs0115X0TCN1ch1n0XqSw==, } dependencies: - '@babel/runtime': 7.21.0 + '@babel/runtime': 7.23.9 universal-env: 3.3.3 dev: true + /styled-components/5.3.11_e6zmfrfzgmrafsxr5g4tr4x66i: + resolution: + { + integrity: sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==, + } + engines: { node: '>=10' } + peerDependencies: + react: '>= 16.8.0' + react-dom: '>= 16.8.0' + react-is: '>= 16.8.0' + dependencies: + '@babel/helper-module-imports': 7.22.15 + '@babel/traverse': 7.23.9_supports-color@5.5.0 + '@emotion/is-prop-valid': 1.2.2 + '@emotion/stylis': 0.8.5 + '@emotion/unitless': 0.7.5 + babel-plugin-styled-components: 2.1.4_bxwnlj6smseml4rudp2zrvo6rq + css-to-react-native: 3.2.0 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + react-is: 18.2.0 + shallowequal: 1.1.0 + supports-color: 5.5.0 + transitivePeerDependencies: + - '@babel/core' + dev: true + /stylelint-config-css-modules/2.3.0_stylelint@13.13.1: resolution: { @@ -21503,6 +27236,17 @@ packages: stylelint: 13.13.1 dev: true + /stylelint-config-recommended/7.0.0_stylelint@14.16.1: + resolution: + { + integrity: sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==, + } + peerDependencies: + stylelint: ^14.4.0 + dependencies: + stylelint: 14.16.1 + dev: true + /stylelint-config-standard/20.0.0_stylelint@13.13.1: resolution: { @@ -21515,6 +27259,18 @@ packages: stylelint-config-recommended: 3.0.0_stylelint@13.13.1 dev: true + /stylelint-config-standard/25.0.0_stylelint@14.16.1: + resolution: + { + integrity: sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==, + } + peerDependencies: + stylelint: ^14.4.0 + dependencies: + stylelint: 14.16.1 + stylelint-config-recommended: 7.0.0_stylelint@14.16.1 + dev: true + /stylelint-declaration-block-no-ignored-properties/2.7.0_stylelint@13.13.1: resolution: { @@ -21543,7 +27299,7 @@ packages: cosmiconfig: 7.1.0 debug: 4.3.4 execall: 2.0.0 - fast-glob: 3.2.12 + fast-glob: 3.3.2 fastest-levenshtein: 1.0.16 file-entry-cache: 6.0.1 get-stdin: 8.0.0 @@ -21570,7 +27326,7 @@ packages: postcss-sass: 0.4.4 postcss-scss: 2.1.1 postcss-selector-parser: 6.0.11 - postcss-syntax: 0.36.2_postcss@7.0.39 + postcss-syntax: 0.36.2_kei4jy7wdgbhc236h4oijypxom postcss-value-parser: 4.2.0 resolve-from: 5.0.0 slash: 3.0.0 @@ -21582,17 +27338,67 @@ packages: svg-tags: 1.0.0 table: 6.8.1 v8-compile-cache: 2.3.0 - write-file-atomic: 3.0.3 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - postcss-jsx + - postcss-markdown + - supports-color + dev: true + + /stylelint/14.16.1: + resolution: + { + integrity: sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + hasBin: true + dependencies: + '@csstools/selector-specificity': 2.2.0_laljekdltgzr3kfi7r4exvsr5a + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 7.1.0 + css-functions-list: 3.2.1 + debug: 4.3.4 + fast-glob: 3.3.2 + fastest-levenshtein: 1.0.16 + file-entry-cache: 6.0.1 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.2.0 + ignore: 5.3.1 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.26.0 + mathml-tag-names: 2.1.3 + meow: 9.0.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.21 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 6.0.0_postcss@8.4.21 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 2.3.0 + svg-tags: 1.0.0 + table: 6.8.1 + v8-compile-cache: 2.3.0 + write-file-atomic: 4.0.2 transitivePeerDependencies: - - postcss-jsx - - postcss-markdown - supports-color dev: true - /stylis/4.1.3: + /stylis/4.2.0: resolution: { - integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==, + integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==, } dev: true @@ -21603,31 +27409,38 @@ packages: } dev: true - /sugarss/2.0.0: + /sucrase/3.35.0: resolution: { - integrity: sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==, + integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==, } + engines: { node: '>=16 || 14 >=14.17' } + hasBin: true dependencies: - postcss: 7.0.39 + '@jridgewell/gen-mapping': 0.3.4 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.5 + ts-interface-checker: 0.1.13 dev: true - /supports-color/5.5.0: + /sugarss/2.0.0: resolution: { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, + integrity: sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==, } - engines: { node: '>=4' } dependencies: - has-flag: 3.0.0 + postcss: 7.0.39 dev: true - /supports-color/6.1.0: + /supports-color/5.5.0: resolution: { - integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==, + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, } - engines: { node: '>=6' } + engines: { node: '>=4' } dependencies: has-flag: 3.0.0 dev: true @@ -21720,6 +27533,21 @@ packages: es6-symbol: 3.1.3 dev: true + /svg-parser/2.0.4: + resolution: + { + integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==, + } + dev: true + + /svg-pathdata/5.0.5: + resolution: + { + integrity: sha512-TAAvLNSE3fEhyl/Da19JWfMAdhSXTYeviXsLSoDT1UM76ADj5ndwAPX1FKQEgB/gFMPavOy6tOqfalXKUiXrow==, + } + engines: { node: '>=6.9.5' } + dev: true + /svg-tags/1.0.0: resolution: { @@ -21727,6 +27555,56 @@ packages: } dev: true + /svgo-browser/1.3.8: + resolution: + { + integrity: sha512-yOgDNIcewFZN3+jXdWeh/rQzbWJjCq1dTHphLz2r4T4AfTm+nqCxZ5B89v9bjQbFKA/s/k7TUc7J90+pP2HTyw==, + } + engines: { node: '>=4.0.0' } + hasBin: true + dependencies: + chalk: 2.4.2 + coa: 2.0.2 + css-select: 2.1.0 + css-select-base-adapter: 0.1.1 + css-tree: 1.0.0-alpha.37 + csso: 4.2.0 + js-yaml: 3.14.1 + mkdirp: 0.5.6 + sax: 1.2.4 + stable: 0.1.8 + unquote: 1.1.1 + util.promisify: 1.0.1 + dev: true + + /svgo/2.8.0: + resolution: + { + integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==, + } + engines: { node: '>=10.13.0' } + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: true + + /svgson/4.1.0: + resolution: + { + integrity: sha512-DodISxHtdLKUghDYA+PGK4Qq350+CbBAkdvGLkBFSmWd9WKSg4dijgjB1IiRPTmsUCd+a7KYe+ILHtklYgQyzQ==, + } + dependencies: + deep-rename-keys: 0.2.1 + omit-deep: 0.3.0 + xml-reader: 2.4.3 + dev: true + /swiper/6.5.0: resolution: { @@ -21746,6 +27624,24 @@ packages: } dev: true + /synckit/0.8.5: + resolution: + { + integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + '@pkgr/utils': 2.4.2 + tslib: 2.6.2 + dev: true + + /systemjs/6.14.3: + resolution: + { + integrity: sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==, + } + dev: true + /table/6.8.1: resolution: { @@ -21760,14 +27656,6 @@ packages: strip-ansi: 6.0.1 dev: true - /tapable/1.1.3: - resolution: - { - integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==, - } - engines: { node: '>=6' } - dev: true - /tapable/2.2.1: resolution: { @@ -21852,34 +27740,6 @@ packages: webpack: 5.90.3_webpack-cli@5.1.4 dev: true - /terser/5.14.2: - resolution: - { - integrity: sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==, - } - engines: { node: '>=10' } - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.5 - acorn: 8.11.3 - commander: 2.20.3 - source-map-support: 0.5.21 - dev: true - - /terser/5.16.5: - resolution: - { - integrity: sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==, - } - engines: { node: '>=10' } - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.2 - commander: 2.20.3 - source-map-support: 0.5.21 - dev: true - /terser/5.28.1: resolution: { @@ -21889,7 +27749,7 @@ packages: hasBin: true dependencies: '@jridgewell/source-map': 0.3.5 - acorn: 8.10.0 + acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -21929,6 +27789,34 @@ packages: engines: { node: '>=0.8' } dev: true + /thenify-all/1.6.0: + resolution: + { + integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==, + } + engines: { node: '>=0.8' } + dependencies: + thenify: 3.3.1 + dev: true + + /thenify/3.3.1: + resolution: + { + integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==, + } + dependencies: + any-promise: 1.3.0 + dev: true + + /thread-stream/0.15.2: + resolution: + { + integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==, + } + dependencies: + real-require: 0.1.0 + dev: true + /throttle-debounce/2.3.0: resolution: { @@ -21962,6 +27850,16 @@ packages: xtend: 4.0.2 dev: true + /through2/0.4.2: + resolution: + { + integrity: sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==, + } + dependencies: + readable-stream: 1.0.34 + xtend: 2.1.2 + dev: true + /through2/2.0.5: resolution: { @@ -22017,18 +27915,12 @@ packages: setimmediate: 1.0.5 dev: true - /tiny-invariant/1.3.1: - resolution: - { - integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==, - } - dev: true - - /tiny-warning/1.0.3: + /titleize/3.0.0: resolution: { - integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==, + integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==, } + engines: { node: '>=12' } dev: true /tmp/0.0.33: @@ -22150,7 +28042,7 @@ packages: engines: { node: '>=0.8' } dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 dev: true /tough-cookie/4.1.2: @@ -22161,7 +28053,7 @@ packages: engines: { node: '>=6' } dependencies: psl: 1.9.0 - punycode: 2.3.0 + punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 dev: true @@ -22173,24 +28065,28 @@ packages: } dev: true - /tr46/2.1.0: + /tr46/3.0.0: resolution: { - integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==, + integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==, } - engines: { node: '>=8' } + engines: { node: '>=12' } dependencies: punycode: 2.3.1 dev: true - /tr46/3.0.0: + /transformation-matrix/2.16.1: resolution: { - integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==, + integrity: sha512-tdtC3wxVEuzU7X/ydL131Q3JU5cPMEn37oqVLITjRDSDsnSHVFzW2JiCLfZLIQEgWzZHdSy3J6bZzvKEN24jGA==, + } + dev: true + + /trim-lines/3.0.1: + resolution: + { + integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==, } - engines: { node: '>=12' } - dependencies: - punycode: 2.3.1 dev: true /trim-newlines/3.0.1: @@ -22208,6 +28104,13 @@ packages: } dev: true + /trough/2.2.0: + resolution: + { + integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==, + } + dev: true + /ts-easing/0.2.0: resolution: { @@ -22215,6 +28118,13 @@ packages: } dev: true + /ts-interface-checker/0.1.13: + resolution: + { + integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, + } + dev: true + /ts-jest/29.1.1_qxnzkgjgfs7tsedreuy2cieazm: resolution: { @@ -22275,7 +28185,7 @@ packages: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 '@types/node': 18.14.6 - acorn: 8.8.2 + acorn: 8.11.3 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 @@ -22286,6 +28196,13 @@ packages: yn: 3.1.1 dev: true + /ts-toolbelt/9.6.0: + resolution: + { + integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==, + } + dev: true + /tslib/1.14.1: resolution: { @@ -22298,6 +28215,7 @@ packages: { integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==, } + dev: false /tslib/2.6.2: resolution: @@ -22332,8 +28250,25 @@ packages: typescript: 5.1.3 dev: true + /tsx/3.12.2: + resolution: + { + integrity: sha512-ykAEkoBg30RXxeOMVeZwar+JH632dZn9EUJVyJwhfag62k6UO/dIyJEV58YuLF6e5BTdV/qmbQrpkWqjq9cUnQ==, + } + hasBin: true + dependencies: + '@esbuild-kit/cjs-loader': 2.4.4 + '@esbuild-kit/core-utils': 3.3.2 + '@esbuild-kit/esm-loader': 2.6.5 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /tty-browserify/0.0.0: - resolution: { integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= } + resolution: + { + integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==, + } dev: true /tunnel-agent/0.6.0: @@ -22434,15 +28369,56 @@ packages: } dev: true + /typed-array-buffer/1.0.2: + resolution: + { + integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==, + } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-length/1.0.1: + resolution: + { + integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==, + } + engines: { node: '>= 0.4' } + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-offset/1.0.2: + resolution: + { + integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==, + } + engines: { node: '>= 0.4' } + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + /typed-array-length/1.0.4: resolution: { integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==, } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.10 + is-typed-array: 1.1.13 dev: true /typedarray-to-buffer/3.1.5: @@ -22461,6 +28437,15 @@ packages: } dev: true + /types-ramda/0.29.8: + resolution: + { + integrity: sha512-+RTOlcwl1hEdNV1xfug3ofG6rny0hqQsFuBmS88vD4Lrh8Iys14IPlUH9QaGjCY46iCZgEDuCTLMLH/pOOsGKg==, + } + dependencies: + ts-toolbelt: 9.6.0 + dev: true + /typescript/4.9.5: resolution: { @@ -22486,25 +28471,57 @@ packages: } dev: true - /umi/3.5.37_react-router@6.8.2: + /umi/4.1.2_winawttwhukufwtoaav7nvyiee: resolution: { - integrity: sha512-OVguoKbZdIHe3qVAvvn/ELRsg/jDtlsr5T+xJq3sGwik7r5lQqU4bkiBJ9KoJ42i59cIYPiB0eqyZiWQm4D6yA==, + integrity: sha512-lP/qxOo4CmjcJKFrOy8PCIsW/nRLGXsH5CY0/WEUAkHd63M+osbv/t1fhAhsgKpb7/ofaiSpkNsev5XJz+M3aQ==, } + engines: { node: '>=14' } hasBin: true dependencies: - '@umijs/bundler-webpack': 3.5.37_263kk2d5tiuyg32yuu7rrhuyze - '@umijs/core': 3.5.37 - '@umijs/deps': 3.5.37 - '@umijs/preset-built-in': 3.5.37_wcqkhtmu7mswc6yz4uyexck3ty - '@umijs/runtime': 3.5.37_react@16.14.0 - '@umijs/types': 3.5.37_263kk2d5tiuyg32yuu7rrhuyze - '@umijs/utils': 3.5.37 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 - v8-compile-cache: 2.3.0 + '@babel/runtime': 7.23.6 + '@umijs/bundler-utils': 4.1.2 + '@umijs/bundler-webpack': 4.1.2_4gka4bvekjbmxy5tqwawlojx2a + '@umijs/core': 4.1.2 + '@umijs/lint': 4.1.2_sixyaurwwshuckydxqo2rxewqq + '@umijs/preset-umi': 4.1.2_afx5wvnfqqjxgaebtgup7fbpvq + '@umijs/renderer-react': 4.1.2_biqbaboplfbrettd7655fr4n2y + '@umijs/server': 4.1.2 + '@umijs/test': 4.1.2_@babel+core@7.21.0 + '@umijs/utils': 4.1.2 + prettier-plugin-organize-imports: 3.2.4_vfwfovtzxjfwgbyps6iutumz4q + prettier-plugin-packagejson: 2.4.3_prettier@3.2.5 transitivePeerDependencies: - - react-router + - '@babel/core' + - '@types/node' + - '@types/react' + - '@types/webpack' + - '@volar/vue-language-plugin-pug' + - '@volar/vue-typescript' + - eslint + - jest + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - prettier + - react + - react-dom + - rollup + - sass + - sockjs-client + - stylelint + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve dev: true /unbox-primitive/1.0.2: @@ -22513,7 +28530,7 @@ packages: integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, } dependencies: - call-bind: 1.0.2 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -22561,6 +28578,13 @@ packages: } dev: true + /unfetch/5.0.0: + resolution: + { + integrity: sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==, + } + dev: true + /unicode-canonical-property-names-ecmascript/2.0.0: resolution: { @@ -22596,18 +28620,19 @@ packages: engines: { node: '>=4' } dev: true - /unified/8.4.2: + /unified/10.1.2: resolution: { - integrity: sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==, + integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==, } dependencies: '@types/unist': 2.0.6 - bail: 1.0.5 + bail: 2.0.2 extend: 3.0.2 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 5.3.7 dev: true /unified/9.2.2: @@ -22638,13 +28663,6 @@ packages: set-value: 2.0.1 dev: true - /uniq/1.0.1: - resolution: - { - integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==, - } - dev: true - /unique-filename/1.1.1: resolution: { @@ -22683,89 +28701,95 @@ packages: crypto-random-string: 1.0.0 dev: true - /unist-builder/2.0.3: + /unist-util-filter/4.0.1: resolution: { - integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==, + integrity: sha512-RynicUM/vbOSTSiUK+BnaK9XMfmQUh6gyi7L6taNgc7FIf84GukXVV3ucGzEN/PhUUkdP5hb1MmXc+3cvPUm5Q==, } + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 dev: true - /unist-util-filter/2.0.3: + /unist-util-find-all-after/3.0.2: resolution: { - integrity: sha512-8k6Jl/KLFqIRTHydJlHh6+uFgqYHq66pV75pZgr1JwfyFSjbWb12yfb0yitW/0TbHXjr9U4G9BQpOvMANB+ExA==, + integrity: sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==, } dependencies: unist-util-is: 4.1.0 dev: true - /unist-util-find-after/3.0.0: + /unist-util-generated/2.0.1: resolution: { - integrity: sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ==, + integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==, } - dependencies: - unist-util-is: 4.1.0 dev: true - /unist-util-find-all-after/3.0.2: + /unist-util-is/4.1.0: resolution: { - integrity: sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==, + integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==, } - dependencies: - unist-util-is: 4.1.0 dev: true - /unist-util-generated/1.1.6: + /unist-util-is/5.2.1: resolution: { - integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==, + integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==, } + dependencies: + '@types/unist': 2.0.6 dev: true - /unist-util-is/4.1.0: + /unist-util-position/4.0.4: resolution: { - integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==, + integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==, } + dependencies: + '@types/unist': 2.0.6 dev: true - /unist-util-position/3.1.0: + /unist-util-stringify-position/2.0.3: resolution: { - integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==, + integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==, } + dependencies: + '@types/unist': 2.0.6 dev: true - /unist-util-stringify-position/2.0.3: + /unist-util-stringify-position/3.0.3: resolution: { - integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==, + integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==, } dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-visit-parents/3.1.1: + /unist-util-visit-parents/5.1.3: resolution: { - integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==, + integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==, } dependencies: '@types/unist': 2.0.6 - unist-util-is: 4.1.0 + unist-util-is: 5.2.1 dev: true - /unist-util-visit/2.0.3: + /unist-util-visit/4.1.2: resolution: { - integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==, + integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==, } dependencies: '@types/unist': 2.0.6 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 dev: true /universal-canvas-context/1.0.0: @@ -22899,6 +28923,24 @@ packages: engines: { node: '>= 10.0.0' } dev: true + /unquote/1.1.1: + resolution: + { + integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==, + } + dev: true + + /unset-value/0.1.2: + resolution: + { + integrity: sha512-yhv5I4TsldLdE3UcVQn0hD2T5sNCPv4+qm/CTUpRKIpwthYRIipsAPdsrNpOI79hPQa0rTTeW22Fq6JWRcTgNg==, + } + engines: { node: '>=0.10.0' } + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + /unset-value/1.0.0: resolution: { @@ -22910,6 +28952,14 @@ packages: isobject: 3.0.1 dev: true + /untildify/4.0.0: + resolution: + { + integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==, + } + engines: { node: '>=8' } + dev: true + /unzip-response/2.0.1: resolution: { @@ -22926,10 +28976,24 @@ packages: engines: { node: '>=4' } dev: true - /update-browserslist-db/1.0.10_browserslist@4.21.5: + /update-browserslist-db/1.0.11_browserslist@4.21.10: + resolution: + { + integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==, + } + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.10 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /update-browserslist-db/1.0.13_browserslist@4.21.5: resolution: { - integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==, + integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, } hasBin: true peerDependencies: @@ -22940,16 +29004,16 @@ packages: picocolors: 1.0.0 dev: true - /update-browserslist-db/1.0.11_browserslist@4.21.10: + /update-browserslist-db/1.0.13_browserslist@4.23.0: resolution: { - integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==, + integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, } hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.10 + browserslist: 4.23.0 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -23014,14 +29078,14 @@ packages: requires-port: 1.0.0 dev: true - /url/0.11.0: + /url/0.11.3: resolution: { - integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==, + integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==, } dependencies: - punycode: 1.3.2 - querystring: 0.2.0 + punycode: 1.4.1 + qs: 6.11.2 dev: true /use-composed-ref/1.3.0_react@18.2.0: @@ -23035,7 +29099,18 @@ packages: react: 18.2.0 dev: true - /use-isomorphic-layout-effect/1.1.2_react@18.2.0: + /use-debouncy/4.6.0_react@18.2.0: + resolution: + { + integrity: sha512-5N3n/oQYMuU3QKLXDa9p/xtdPKBcNbGQdLqJJPrkT164IMpHdke5xqoehDZCmgDciy+wJC+iqyE3g8c+k03lGg==, + } + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + dev: true + + /use-isomorphic-layout-effect/1.1.2_react@18.1.0: resolution: { integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==, @@ -23047,13 +29122,13 @@ packages: '@types/react': optional: true dependencies: - react: 18.2.0 + react: 18.1.0 dev: true - /use-latest/1.2.1_react@18.2.0: + /use-isomorphic-layout-effect/1.1.2_react@18.2.0: resolution: { - integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==, + integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==, } peerDependencies: '@types/react': '*' @@ -23063,30 +29138,32 @@ packages: optional: true dependencies: react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2_react@18.2.0 dev: true - /use-subscription/1.5.1_react@16.14.0: + /use-latest/1.2.1_react@18.2.0: resolution: { - integrity: sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==, + integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==, } peerDependencies: - react: ^16.8.0 || ^17.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true dependencies: - object-assign: 4.1.1 - react: 16.14.0 + react: 18.2.0 + use-isomorphic-layout-effect: 1.1.2_react@18.2.0 dev: true - /use-subscription/1.5.1_react@18.2.0: + /use-sync-external-store/1.2.0_react@18.2.0: resolution: { - integrity: sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==, + integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==, } peerDependencies: - react: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - object-assign: 4.1.1 react: 18.2.0 dev: true @@ -23105,6 +29182,18 @@ packages: } dev: true + /util.promisify/1.0.1: + resolution: + { + integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==, + } + dependencies: + define-properties: 1.2.1 + es-abstract: 1.22.4 + has-symbols: 1.0.3 + object.getownpropertydescriptors: 2.1.7 + dev: true + /util/0.10.3: resolution: { @@ -23123,6 +29212,13 @@ packages: inherits: 2.0.3 dev: true + /utila/0.4.0: + resolution: + { + integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==, + } + dev: true + /uuid/3.4.0: resolution: { @@ -23132,6 +29228,28 @@ packages: hasBin: true dev: true + /uuid/8.3.2: + resolution: + { + integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, + } + hasBin: true + dev: true + + /uvu/0.5.6: + resolution: + { + integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==, + } + engines: { node: '>=8' } + hasBin: true + dependencies: + dequal: 2.0.3 + diff: 5.0.0 + kleur: 4.1.5 + sade: 1.8.1 + dev: true + /v8-compile-cache-lib/3.0.1: resolution: { @@ -23187,19 +29305,27 @@ packages: builtins: 1.0.3 dev: true - /value-equal/1.0.1: + /value-or-function/3.0.0: resolution: { - integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==, + integrity: sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==, } + engines: { node: '>= 0.10' } dev: true - /value-or-function/3.0.0: + /vanilla-jsoneditor/0.16.1: resolution: { - integrity: sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==, + integrity: sha512-Wirg6DoCrJpYwMHxkwyvgQ16gr4kgH9zzueHSSSovzQDvlg/XSqpY/stVsI5lz1vqJW1RAtr0Ilyyg1AbokRXA==, } - engines: { node: '>= 0.10' } + dev: true + + /vary/1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: '>= 0.8' } dev: true /verror/1.10.0: @@ -23211,11 +29337,14 @@ packages: extsprintf: 1.3.0 dev: true - /vfile-location/3.2.0: + /vfile-location/4.1.0: resolution: { - integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==, + integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==, } + dependencies: + '@types/unist': 2.0.6 + vfile: 5.3.7 dev: true /vfile-message/2.0.4: @@ -23228,6 +29357,16 @@ packages: unist-util-stringify-position: 2.0.3 dev: true + /vfile-message/3.1.4: + resolution: + { + integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==, + } + dependencies: + '@types/unist': 2.0.6 + unist-util-stringify-position: 3.0.3 + dev: true + /vfile/4.2.1: resolution: { @@ -23240,6 +29379,18 @@ packages: vfile-message: 2.0.4 dev: true + /vfile/5.3.7: + resolution: + { + integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==, + } + dependencies: + '@types/unist': 2.0.6 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + dev: true + /vinyl-fs/3.0.3: resolution: { @@ -23249,7 +29400,7 @@ packages: dependencies: fs-mkdirp-stream: 1.0.0 glob-stream: 6.1.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 is-valid-glob: 1.0.0 lazystream: 1.0.1 lead: 1.0.0 @@ -23306,31 +29457,47 @@ packages: replace-ext: 1.0.1 dev: true - /vm-browserify/1.1.2: - resolution: - { - integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==, - } - dev: true - - /w3c-hr-time/1.0.2: + /vite/4.3.1_@types+node@18.14.6: resolution: { - integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==, + integrity: sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==, } - deprecated: Use your platform's native performance.now() and performance.timeOrigin. + engines: { node: ^14.18.0 || >=16.0.0 } + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true dependencies: - browser-process-hrtime: 1.0.0 + '@types/node': 18.14.6 + esbuild: 0.17.19 + postcss: 8.4.21 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 dev: true - /w3c-xmlserializer/2.0.0: + /vm-browserify/1.1.2: resolution: { - integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==, + integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==, } - engines: { node: '>=10' } - dependencies: - xml-name-validator: 3.0.0 dev: true /w3c-xmlserializer/4.0.0: @@ -23363,34 +29530,35 @@ packages: graceful-fs: 4.2.11 dev: true - /web-namespaces/1.1.4: + /wbuf/1.7.3: resolution: { - integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==, + integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==, } + dependencies: + minimalistic-assert: 1.0.1 dev: true - /webidl-conversions/3.0.1: + /web-namespaces/2.0.1: resolution: { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, + integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==, } dev: true - /webidl-conversions/5.0.0: + /web-streams-polyfill/3.3.3: resolution: { - integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==, + integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==, } - engines: { node: '>=8' } + engines: { node: '>= 8' } dev: true - /webidl-conversions/6.1.0: + /webidl-conversions/3.0.1: resolution: { - integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==, + integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, } - engines: { node: '>=10.4' } dev: true /webidl-conversions/7.0.0: @@ -23401,17 +29569,6 @@ packages: engines: { node: '>=12' } dev: true - /webpack-chain/6.5.1: - resolution: - { - integrity: sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==, - } - engines: { node: '>=8' } - dependencies: - deepmerge: 1.5.2 - javascript-stringify: 2.1.0 - dev: true - /webpack-cli/5.1.4_webpack@5.90.3: resolution: { @@ -23520,15 +29677,6 @@ packages: - uglify-js dev: true - /whatwg-encoding/1.0.5: - resolution: - { - integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==, - } - dependencies: - iconv-lite: 0.4.24 - dev: true - /whatwg-encoding/2.0.0: resolution: { @@ -23539,13 +29687,6 @@ packages: iconv-lite: 0.6.3 dev: true - /whatwg-mimetype/2.3.0: - resolution: - { - integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==, - } - dev: true - /whatwg-mimetype/3.0.0: resolution: { @@ -23575,18 +29716,6 @@ packages: webidl-conversions: 3.0.1 dev: true - /whatwg-url/8.7.0: - resolution: - { - integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==, - } - engines: { node: '>=10' } - dependencies: - lodash: 4.17.21 - tr46: 2.1.0 - webidl-conversions: 6.1.0 - dev: true - /which-boxed-primitive/1.0.2: resolution: { @@ -23600,6 +29729,27 @@ packages: is-symbol: 1.0.4 dev: true + /which-builtin-type/1.1.3: + resolution: + { + integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==, + } + engines: { node: '>= 0.4' } + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.2 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.14 + dev: true + /which-collection/1.0.1: resolution: { @@ -23619,19 +29769,18 @@ packages: } dev: true - /which-typed-array/1.1.9: + /which-typed-array/1.1.14: resolution: { - integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==, + integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==, } engines: { node: '>= 0.4' } dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 + has-tostringtag: 1.0.2 dev: true /which/1.3.1: @@ -23655,10 +29804,6 @@ packages: isexe: 2.0.0 dev: true - /wicked-good-xpath/1.3.0: - resolution: { integrity: sha1-gbDpXoZQ5JyUsiKY//hoa1VTz2w= } - dev: true - /wide-align/1.1.3: resolution: { @@ -23723,6 +29868,18 @@ packages: strip-ansi: 6.0.1 dev: true + /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.1.0 + dev: true + /wrappy/1.0.2: resolution: { @@ -23764,22 +29921,6 @@ packages: signal-exit: 3.0.7 dev: true - /ws/7.5.9: - resolution: - { - integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==, - } - engines: { node: '>=8.3.0' } - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /ws/8.12.1: resolution: { @@ -23804,11 +29945,13 @@ packages: engines: { node: '>=4' } dev: true - /xml-name-validator/3.0.0: + /xml-lexer/0.2.2: resolution: { - integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==, + integrity: sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w==, } + dependencies: + eventemitter3: 2.0.3 dev: true /xml-name-validator/4.0.0: @@ -23819,6 +29962,16 @@ packages: engines: { node: '>=12' } dev: true + /xml-reader/2.4.3: + resolution: + { + integrity: sha512-xWldrIxjeAMAu6+HSf9t50ot1uL5M+BtOidRCWHXIeewvSeIpscWCsp4Zxjk8kHHhdqFBrfK8U0EJeCcnyQ/gA==, + } + dependencies: + eventemitter3: 2.0.3 + xml-lexer: 0.2.2 + dev: true + /xmlchars/2.2.0: resolution: { @@ -23826,12 +29979,14 @@ packages: } dev: true - /xmldom-sre/0.1.31: + /xtend/2.1.2: resolution: { - integrity: sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==, + integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==, } - engines: { node: '>=0.1' } + engines: { node: '>=0.4' } + dependencies: + object-keys: 0.4.0 dev: true /xtend/4.0.2: @@ -23924,7 +30079,7 @@ packages: } dependencies: camelcase: 3.0.0 - object.assign: 4.1.4 + object.assign: 4.1.5 dev: true /yargs-unparser/2.0.0: @@ -24009,9 +30164,38 @@ packages: engines: { node: '>=10' } dev: true + /zustand/4.5.2_react@18.2.0: + resolution: + { + integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==, + } + engines: { node: '>=12.7.0' } + peerDependencies: + '@types/react': '>=16.8' + immer: '>=9.0.6' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + dependencies: + react: 18.2.0 + use-sync-external-store: 1.2.0_react@18.2.0 + dev: true + /zwitch/1.0.5: resolution: { integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==, } dev: true + + /zwitch/2.0.4: + resolution: + { + integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==, + } + dev: true diff --git a/public/style.css b/public/style.css index fd32c993a2..788ce8a65c 100644 --- a/public/style.css +++ b/public/style.css @@ -1,36 +1,13 @@ -.__dumi-default-navbar-logo { - color: transparent !important; -} - -.__dumi-default-layout-hero img { - width: 250px; -} - -a[title='站长统计'] { - display: none; -} - input, button { padding: 4px; } -input[type='number'] { - border: 1px solid rgb(118, 118, 118); -} - -[data-prefers-color='dark'] button { - color: #141414; -} - -[data-prefers-color='dark'] input { - color: #141414; +button[disabled] { + cursor: not-allowed; } -#logo-version { - flex: 1; - margin-top: 10px; - margin-left: -30px; +.dumi-default-logo { color: #a8a8ad; font-size: 16px; } diff --git a/tsconfig.json b/tsconfig.json index aa3fa97d3c..2b95538901 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,10 +7,6 @@ "downlevelIteration": true, "sourceMap": true, "baseUrl": ".", - "paths": { - "@/*": ["src/*"], - "@ahooksjs/use-url-state": ["./packages/use-url-state/src/index.ts"] - }, "allowJs": true, "allowSyntheticDefaultImports": true, "skipLibCheck": true,