From 3aa65cb30c3b808ad11d53413e125227338f4113 Mon Sep 17 00:00:00 2001 From: YANG QIA <2013xile@gmail.com> Date: Fri, 30 Jun 2023 20:49:44 +0800 Subject: [PATCH] feat: data visualization (#2160) * feat(charts-v2): init * chore(charts-v2): init chart renderer * feat(chart-v2): add chart grid and initializer * feat(chart-v2): improve ui * feat(chart-v2): ui * feat(charts-v2): query sort ui * feat(charts-v2): field select component * feat(charts-v2): improve ui && add query action * feat(charts-v2): imporve ui, work in progress * fix(charts-v2): chart renderer request api twice * feat(charts-v2): add dimension formatter * feat(charts-v2): filter, sort, limit * feat(charts-v2): sql mode ui * feat(charts-v2): support duplicate & sql mode * fix(charts-v2): wrong defaultValue of json config * feat(charts-v2): transformer ui * feat(charts-v2): transformer * chore(charts-v2): rename transfromer to transform * feat(charts-v2): support cache * feat(charts-v2): add acl provider * chore(charts-v2): hide sql mode * refactor(charts-v2): add renderer provider * feat: collection permission check * feat(charts-v2): add antd statistic * test(charts-v2): backend * chore: improve code * test(charts-v2): add test * chore: add Chinese translation * fix(charts-v2): locale switch bug * chore: add dependency * feat(charts-v2): init chart config from query * feat: change layout * test: fix frontend test * feat: improve auto infer * fix: ui issues * chore: translation * fix: sql error * fix: some issues * feat: support table * fix: bug * chore: improve code and fix query * feat: add config reference * chore: add translation * fix: process data due to pg issue * test: fix parseBuilder * chore: upgrade formily to 2.2.25 * fix: some issues and import style * fix: bug when query with sort * feat: parse enum data * fix: yarn.lock * fix: type error * fix: infer bug and frontend test * test: fix frontend * fix: test * feat: improve preview * chore: downgrade formily * feat: support associations, draft, in testing * fix: typo * test: frontend & backend * fix: infer bug * feat: measure selection of statistics * fix: bug of group by alias * fix: some issues * fix: order issues * fix: yarn.lock * chore: fix filter include & 'data-visualization' * style: improve style * docs: add readme * chore: add translation --------- Co-authored-by: chenos --- .../client/src/plugins/data-visualization.ts | 1 + packages/core/client/package.json | 2 +- packages/core/client/src/acl/ACLProvider.tsx | 2 +- .../client/src/collection-manager/index.tsx | 1 + .../antd/auto-complete/AutoComplete.tsx | 11 + .../antd/auto-complete/index.ts | 1 + .../schema-component/antd/filter/useValues.ts | 3 +- .../client/src/schema-component/antd/index.ts | 1 + .../client/src/schema-initializer/index.ts | 1 + packages/core/client/src/user/CurrentUser.tsx | 1 - packages/core/database/src/index.ts | 1 + packages/plugins/charts/src/client/index.tsx | 2 +- .../plugins/charts/src/client/locale/zh-CN.ts | 1 + packages/plugins/data-visualization/LICENSE | 661 +++++++++++++++ packages/plugins/data-visualization/README.md | 88 ++ .../plugins/data-visualization/client.d.ts | 3 + packages/plugins/data-visualization/client.js | 65 ++ .../plugins/data-visualization/package.json | 22 + .../plugins/data-visualization/server.d.ts | 3 + packages/plugins/data-visualization/server.js | 65 ++ .../src/client/Settings.tsx | 43 + .../client/__tests__/chart-configure.test.tsx | 14 + .../client/__tests__/chart-library.test.ts | 78 ++ .../client/__tests__/chart-renderer.test.tsx | 30 + .../src/client/__tests__/hooks.test.ts | 261 ++++++ .../src/client/block/ChartBlock.tsx | 22 + .../src/client/block/ChartBlockDesigner.tsx | 19 + .../client/block/ChartBlockInitializer.tsx | 83 ++ .../src/client/block/ChartConfigure.tsx | 450 ++++++++++ .../src/client/block/formatters.ts | 70 ++ .../src/client/block/index.ts | 4 + .../src/client/block/schemas/configure.ts | 474 +++++++++++ .../src/client/block/transformers.ts | 52 ++ .../data-visualization/src/client/hooks.ts | 239 ++++++ .../data-visualization/src/client/index.tsx | 41 + .../src/client/locale/en-US.ts | 23 + .../src/client/locale/index.ts | 19 + .../src/client/locale/ja-JP.ts | 1 + .../src/client/locale/pt-BR.ts | 23 + .../src/client/locale/ru-RU.ts | 1 + .../src/client/locale/tr-TR.ts | 1 + .../src/client/locale/zh-CN.ts | 71 ++ .../src/client/renderer/ChartLibrary.tsx | 178 ++++ .../src/client/renderer/ChartRenderer.tsx | 201 +++++ .../client/renderer/ChartRendererProvider.tsx | 58 ++ .../src/client/renderer/index.ts | 4 + .../client/renderer/library/AntdLibrary.tsx | 94 +++ .../client/renderer/library/G2PlotLibrary.tsx | 236 ++++++ .../src/client/renderer/library/index.tsx | 4 + .../data-visualization/src/client/utils.ts | 102 +++ .../plugins/data-visualization/src/index.ts | 1 + .../src/server/__tests__/api.test.ts | 105 +++ .../src/server/__tests__/formatter.test.ts | 49 ++ .../src/server/__tests__/query.test.ts | 220 +++++ .../src/server/actions/formatter.ts | 49 ++ .../src/server/actions/query.ts | 285 +++++++ .../src/server/collections/.gitkeep | 0 .../data-visualization/src/server/index.ts | 1 + .../data-visualization/src/server/plugin.ts | 37 + packages/plugins/error-handler/package.json | 2 +- packages/plugins/mobile-client/package.json | 2 +- .../plugins/ui-schema-storage/package.json | 2 +- packages/presets/nocobase/package.json | 3 +- packages/presets/nocobase/src/index.ts | 1 + yarn.lock | 785 +----------------- 65 files changed, 4617 insertions(+), 756 deletions(-) create mode 100644 packages/app/client/src/plugins/data-visualization.ts create mode 100644 packages/core/client/src/schema-component/antd/auto-complete/AutoComplete.tsx create mode 100644 packages/core/client/src/schema-component/antd/auto-complete/index.ts create mode 100644 packages/plugins/data-visualization/LICENSE create mode 100644 packages/plugins/data-visualization/README.md create mode 100755 packages/plugins/data-visualization/client.d.ts create mode 100755 packages/plugins/data-visualization/client.js create mode 100644 packages/plugins/data-visualization/package.json create mode 100755 packages/plugins/data-visualization/server.d.ts create mode 100755 packages/plugins/data-visualization/server.js create mode 100644 packages/plugins/data-visualization/src/client/Settings.tsx create mode 100644 packages/plugins/data-visualization/src/client/__tests__/chart-configure.test.tsx create mode 100644 packages/plugins/data-visualization/src/client/__tests__/chart-library.test.ts create mode 100644 packages/plugins/data-visualization/src/client/__tests__/chart-renderer.test.tsx create mode 100644 packages/plugins/data-visualization/src/client/__tests__/hooks.test.ts create mode 100644 packages/plugins/data-visualization/src/client/block/ChartBlock.tsx create mode 100644 packages/plugins/data-visualization/src/client/block/ChartBlockDesigner.tsx create mode 100644 packages/plugins/data-visualization/src/client/block/ChartBlockInitializer.tsx create mode 100644 packages/plugins/data-visualization/src/client/block/ChartConfigure.tsx create mode 100644 packages/plugins/data-visualization/src/client/block/formatters.ts create mode 100644 packages/plugins/data-visualization/src/client/block/index.ts create mode 100644 packages/plugins/data-visualization/src/client/block/schemas/configure.ts create mode 100644 packages/plugins/data-visualization/src/client/block/transformers.ts create mode 100644 packages/plugins/data-visualization/src/client/hooks.ts create mode 100644 packages/plugins/data-visualization/src/client/index.tsx create mode 100644 packages/plugins/data-visualization/src/client/locale/en-US.ts create mode 100644 packages/plugins/data-visualization/src/client/locale/index.ts create mode 100644 packages/plugins/data-visualization/src/client/locale/ja-JP.ts create mode 100644 packages/plugins/data-visualization/src/client/locale/pt-BR.ts create mode 100644 packages/plugins/data-visualization/src/client/locale/ru-RU.ts create mode 100644 packages/plugins/data-visualization/src/client/locale/tr-TR.ts create mode 100644 packages/plugins/data-visualization/src/client/locale/zh-CN.ts create mode 100644 packages/plugins/data-visualization/src/client/renderer/ChartLibrary.tsx create mode 100644 packages/plugins/data-visualization/src/client/renderer/ChartRenderer.tsx create mode 100644 packages/plugins/data-visualization/src/client/renderer/ChartRendererProvider.tsx create mode 100644 packages/plugins/data-visualization/src/client/renderer/index.ts create mode 100644 packages/plugins/data-visualization/src/client/renderer/library/AntdLibrary.tsx create mode 100644 packages/plugins/data-visualization/src/client/renderer/library/G2PlotLibrary.tsx create mode 100644 packages/plugins/data-visualization/src/client/renderer/library/index.tsx create mode 100644 packages/plugins/data-visualization/src/client/utils.ts create mode 100644 packages/plugins/data-visualization/src/index.ts create mode 100644 packages/plugins/data-visualization/src/server/__tests__/api.test.ts create mode 100644 packages/plugins/data-visualization/src/server/__tests__/formatter.test.ts create mode 100644 packages/plugins/data-visualization/src/server/__tests__/query.test.ts create mode 100644 packages/plugins/data-visualization/src/server/actions/formatter.ts create mode 100644 packages/plugins/data-visualization/src/server/actions/query.ts create mode 100644 packages/plugins/data-visualization/src/server/collections/.gitkeep create mode 100644 packages/plugins/data-visualization/src/server/index.ts create mode 100644 packages/plugins/data-visualization/src/server/plugin.ts diff --git a/packages/app/client/src/plugins/data-visualization.ts b/packages/app/client/src/plugins/data-visualization.ts new file mode 100644 index 000000000..9a45caf2f --- /dev/null +++ b/packages/app/client/src/plugins/data-visualization.ts @@ -0,0 +1 @@ +export { default } from '@nocobase/plugin-data-visualization/client'; diff --git a/packages/core/client/package.json b/packages/core/client/package.json index cff19074c..4eef718b6 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -61,4 +61,4 @@ "dumi-theme-nocobase": "^0.2.9" }, "gitHead": "ce588eefb0bfc50f7d5bbee575e0b5e843bf6644" -} +} \ No newline at end of file diff --git a/packages/core/client/src/acl/ACLProvider.tsx b/packages/core/client/src/acl/ACLProvider.tsx index d5e2e3d26..b41568f11 100644 --- a/packages/core/client/src/acl/ACLProvider.tsx +++ b/packages/core/client/src/acl/ACLProvider.tsx @@ -168,7 +168,7 @@ export const ACLCollectionProvider = (props) => { if (allowAll) { return props.children; } - const actionPath = schema['x-acl-action']; + const actionPath = schema?.['x-acl-action']; if (!actionPath) { return props.children; } diff --git a/packages/core/client/src/collection-manager/index.tsx b/packages/core/client/src/collection-manager/index.tsx index a25e09341..534917543 100644 --- a/packages/core/client/src/collection-manager/index.tsx +++ b/packages/core/client/src/collection-manager/index.tsx @@ -16,3 +16,4 @@ export { getConfigurableProperties } from './templates/properties'; export * from './templates/types'; export * from './types'; export * from './CollectionHistoryProvider'; +export * from './interfaces/properties'; diff --git a/packages/core/client/src/schema-component/antd/auto-complete/AutoComplete.tsx b/packages/core/client/src/schema-component/antd/auto-complete/AutoComplete.tsx new file mode 100644 index 000000000..81d1b9e6d --- /dev/null +++ b/packages/core/client/src/schema-component/antd/auto-complete/AutoComplete.tsx @@ -0,0 +1,11 @@ +import { connect, mapProps, mapReadPretty } from '@formily/react'; +import { AutoComplete as AntdAutoComplete } from 'antd'; +import { ReadPretty } from '../input'; + +export const AutoComplete = connect( + AntdAutoComplete, + mapProps({ + dataSource: 'options', + }), + mapReadPretty(ReadPretty.Input), +); diff --git a/packages/core/client/src/schema-component/antd/auto-complete/index.ts b/packages/core/client/src/schema-component/antd/auto-complete/index.ts new file mode 100644 index 000000000..99dbd39e3 --- /dev/null +++ b/packages/core/client/src/schema-component/antd/auto-complete/index.ts @@ -0,0 +1 @@ +export * from './AutoComplete'; diff --git a/packages/core/client/src/schema-component/antd/filter/useValues.ts b/packages/core/client/src/schema-component/antd/filter/useValues.ts index 3e133b9fc..1c0361f6f 100644 --- a/packages/core/client/src/schema-component/antd/filter/useValues.ts +++ b/packages/core/client/src/schema-component/antd/filter/useValues.ts @@ -23,7 +23,6 @@ const findOption = (dataIndex = [], options) => { export const useValues = () => { const field = useField(); const { options } = useContext(FilterContext) || {}; - const data2value = () => { field.value = flat.unflatten({ [`${field.data.dataIndex?.join('.')}.${field.data?.operator?.value}`]: field.data?.value, @@ -48,7 +47,7 @@ export const useValues = () => { field.data.schema = merge(option?.schema, operator?.schema); field.data.value = get(unflatten(field.value), `${fieldPath}.$${operatorValue}`); }; - useEffect(value2data, [field.path.entire]); + useEffect(value2data, [field.path]); return { fields: options, ...(field?.data || {}), diff --git a/packages/core/client/src/schema-component/antd/index.ts b/packages/core/client/src/schema-component/antd/index.ts index 29f652916..70017f6ef 100644 --- a/packages/core/client/src/schema-component/antd/index.ts +++ b/packages/core/client/src/schema-component/antd/index.ts @@ -1,6 +1,7 @@ export * from './action'; export * from './association-field'; export * from './association-select'; +export * from './auto-complete'; export * from './block-item'; export * from './calendar'; export * from './card-item'; diff --git a/packages/core/client/src/schema-initializer/index.ts b/packages/core/client/src/schema-initializer/index.ts index 2565c7fbf..195b3299b 100644 --- a/packages/core/client/src/schema-initializer/index.ts +++ b/packages/core/client/src/schema-initializer/index.ts @@ -4,6 +4,7 @@ export * from './types'; export * from './items'; export { gridRowColWrap, + useCollectionDataSourceItems, useRecordCollectionDataSourceItems, createTableBlockSchema, createFilterFormBlockSchema, diff --git a/packages/core/client/src/user/CurrentUser.tsx b/packages/core/client/src/user/CurrentUser.tsx index 49619d0b6..2cb20ae69 100644 --- a/packages/core/client/src/user/CurrentUser.tsx +++ b/packages/core/client/src/user/CurrentUser.tsx @@ -43,7 +43,6 @@ export const SettingsMenu: React.FC<{ .resource('app') .getInfo() .then((res) => { - console.log(res); if (res?.status === 200) { resolve('ok'); clearInterval(heartbeat); diff --git a/packages/core/database/src/index.ts b/packages/core/database/src/index.ts index 3162fad03..76c5c3bae 100644 --- a/packages/core/database/src/index.ts +++ b/packages/core/database/src/index.ts @@ -23,3 +23,4 @@ export * from './value-parsers'; export * from './collection-group-manager'; export * from './view-collection'; export * from './view/view-inference'; +export { default as FilterParser } from './filter-parser'; diff --git a/packages/plugins/charts/src/client/index.tsx b/packages/plugins/charts/src/client/index.tsx index 11959ac1d..051ceb672 100644 --- a/packages/plugins/charts/src/client/index.tsx +++ b/packages/plugins/charts/src/client/index.tsx @@ -50,7 +50,7 @@ const Charts = React.memo((props) => { key: 'chart', type: 'item', icon: 'PieChartOutlined', - title: '{{t("Chart",{ns:"charts"})}}', + title: '{{t("Chart (Old)",{ns:"charts"})}}', component: 'ChartBlockInitializer', }); } diff --git a/packages/plugins/charts/src/client/locale/zh-CN.ts b/packages/plugins/charts/src/client/locale/zh-CN.ts index ffb19d590..38955e9ef 100644 --- a/packages/plugins/charts/src/client/locale/zh-CN.ts +++ b/packages/plugins/charts/src/client/locale/zh-CN.ts @@ -60,4 +60,5 @@ export default { '1 「Time」 or 「Order Noun」 field, 1 「Value」 field': '1 个「时间」或「有序名词」字段,1 个「数值」字段', '1~ 2 「Unordered Noun」 fields, 1 「Numeric」 field': '1 ~ 2 个「无序名词」字段,1 个「数值」字段', '1 「Numeric」 field, 0~ 1 「Unordered Noun」 field': '1 个「数值」字段,0 ~ 1 个「无序名词」字段', + 'Chart (Old)': '图表 (旧)', }; diff --git a/packages/plugins/data-visualization/LICENSE b/packages/plugins/data-visualization/LICENSE new file mode 100644 index 000000000..0ad25db4b --- /dev/null +++ b/packages/plugins/data-visualization/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/packages/plugins/data-visualization/README.md b/packages/plugins/data-visualization/README.md new file mode 100644 index 000000000..7cf2ab5f6 --- /dev/null +++ b/packages/plugins/data-visualization/README.md @@ -0,0 +1,88 @@ +# Data Visualization + +提供BI面板和数据可视化功能。 + +## 介绍 + +新版数据可视化插件以Collection为基础,提供了可视化的数据检索、图表配置面板,多个图表可以在同一区块内进行组织,支持以插件形式扩展和使用其他图表组件库。未来还计划支持SQL模式,单个及多个图表的时间、条件筛选,数据下钻,图表与数据区块联动等功能。 + +## 图表区块 + + + +- 图表区块可以组织多个图表,区块中的图表可以像区块一样排列和拖拽。 +- 区块标题可以编辑。 +- 图表以Collection为基础,新建图表时需要选定一个Collection. +- 有查看权限的Collection才可以用于配置图表,否则将会在选项中被隐藏。 +- 图表可以修改 (Configure), 复制 (Duplicate), 设置标题 (Edit block title). + +## 配置面板 + + + +配置面板整体上分为三个区块:数据配置,图表配置,图表预览。 + +### 数据配置 + + + +- 顶部下拉框代表当前正在配置的Collection,通过下拉菜单可以切换。 +- 配置完成后,点击"Run query"可以通过配置获取数据,"Data"面板会展示数据。 + +#### 度量 + + + +度量字段,通常是图表需要展示的核心数据。度量数据可以通过聚合函数进行统计,支持常用的数据库统计函数`Sum`, `Count`, `Avg`, `Max`, `Min`. 度量字段可以有多个,可以设置别名。 + +#### 维度 + + + +维度字段,通常是图表数据分组的依据。对于日期类型字段,支持如图所示的格式化方式,格式化通过数据库函数实现(例如:MySQL对应`date_format`),其他类型数据格式化见[数据转换](数据转换)部分。 + +> **维度格式化 (Dimensions Format) VS 数据转换 (Transform)** +> - 维度格式化发生在获取最终数据之前,数据分组按照维度格式化后的值进行,通常在按时间段筛选数据时有此需求。 +> - 数据转换对响应数据做进一步处理,诸如可读性处理,以展现恰当的数据,数据转换在前端进行。 + +#### 筛选 + + + +此处配置将对分组前的数据进行过滤。 + +#### 排序 (Sort) 和限制 (Limit) + + + +目前图表允许的数据集条数上限为2000. + +#### 缓存 + + + +开启缓存后,图表将展示缓存的数据。 + +### 图表配置 + + + +- 图表类型 (Chart Type) - 用于展示的图表类型,目前按图表库分组。如何使用其他图表库? +- 基础配置 - 选择图表后,会出现相应的基础可视化配置,字段配置通常提供了下拉菜单供选择,选项中包含了Collection的基础字段和字段别名。 +- JSON配置 - 当基础配置不满足要求时,可以使用JSON配置其他图表属性。 + +### 数据转换 + + + +使用数据转换可以对接口响应的数据做进一步处理,目前支持转换处理的数据类型为 `number`, `date`, `time`, `datetime`, 对于不属于支持的数据类型的字段,可以手动选择为这几个类型,以使用对应的转换方法。 + +## 使用其他图表库 + +```TypeScript +import { ChartLibraryProvider } from '@nocobase/plugin-charts-v2/client'; +``` + +图表插件提供了ChartLibraryProvider组件,组件接收以下属性: +- name 图表库名字 +- charts 图表组件列表,参考`packages/plugins/charts-v2/src/client/renderer/library/G2PlotLibrary.tsx` \ No newline at end of file diff --git a/packages/plugins/data-visualization/client.d.ts b/packages/plugins/data-visualization/client.d.ts new file mode 100755 index 000000000..bd53a2f77 --- /dev/null +++ b/packages/plugins/data-visualization/client.d.ts @@ -0,0 +1,3 @@ +// @ts-nocheck +export * from './lib/client'; +export { default } from './lib/client'; diff --git a/packages/plugins/data-visualization/client.js b/packages/plugins/data-visualization/client.js new file mode 100755 index 000000000..c83e7e450 --- /dev/null +++ b/packages/plugins/data-visualization/client.js @@ -0,0 +1,65 @@ +'use strict'; + +function _getRequireWildcardCache(nodeInterop) { + if (typeof WeakMap !== 'function') return null; + var cacheBabelInterop = new WeakMap(); + var cacheNodeInterop = new WeakMap(); + return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { + return nodeInterop ? cacheNodeInterop : cacheBabelInterop; + })(nodeInterop); +} + +function _interopRequireWildcard(obj, nodeInterop) { + if (!nodeInterop && obj && obj.__esModule) { + return obj; + } + if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) { + return { default: obj }; + } + var cache = _getRequireWildcardCache(nodeInterop); + if (cache && cache.has(obj)) { + return cache.get(obj); + } + var newObj = {}; + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var key in obj) { + if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + newObj.default = obj; + if (cache) { + cache.set(obj, newObj); + } + return newObj; +} + +var _index = _interopRequireWildcard(require('./lib/client')); + +Object.defineProperty(exports, '__esModule', { + value: true, +}); +var _exportNames = {}; +Object.defineProperty(exports, 'default', { + enumerable: true, + get: function get() { + return _index.default; + }, +}); + +Object.keys(_index).forEach(function (key) { + if (key === 'default' || key === '__esModule') return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _index[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _index[key]; + }, + }); +}); diff --git a/packages/plugins/data-visualization/package.json b/packages/plugins/data-visualization/package.json new file mode 100644 index 000000000..9c60223ec --- /dev/null +++ b/packages/plugins/data-visualization/package.json @@ -0,0 +1,22 @@ +{ + "name": "@nocobase/plugin-data-visualization", + "version": "0.10.0-alpha.5", + "main": "lib/server/index.js", + "devDependencies": { + "@nocobase/actions": "0.10.0-alpha.5", + "@nocobase/cache": "0.10.0-alpha.5", + "@nocobase/server": "0.10.0-alpha.5", + "@nocobase/test": "0.10.0-alpha.5", + "@testing-library/react": "^14.0.0", + "lodash": "^4.17.21" + }, + "dependencies": { + "@ant-design/plots": "^1.2.5", + "dayjs": "^1.11.7", + "react-error-boundary": "^4.0.4" + }, + "displayName": "Data Visualization", + "displayName.zh-CN": "数据可视化", + "description": "Provides business intelligence and data visualization features", + "description.zh-CN": "提供BI面板和数据可视化功能" +} \ No newline at end of file diff --git a/packages/plugins/data-visualization/server.d.ts b/packages/plugins/data-visualization/server.d.ts new file mode 100755 index 000000000..4d922a91b --- /dev/null +++ b/packages/plugins/data-visualization/server.d.ts @@ -0,0 +1,3 @@ +// @ts-nocheck +export * from './lib/server'; +export { default } from './lib/server'; diff --git a/packages/plugins/data-visualization/server.js b/packages/plugins/data-visualization/server.js new file mode 100755 index 000000000..4f16903a6 --- /dev/null +++ b/packages/plugins/data-visualization/server.js @@ -0,0 +1,65 @@ +'use strict'; + +function _getRequireWildcardCache(nodeInterop) { + if (typeof WeakMap !== 'function') return null; + var cacheBabelInterop = new WeakMap(); + var cacheNodeInterop = new WeakMap(); + return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { + return nodeInterop ? cacheNodeInterop : cacheBabelInterop; + })(nodeInterop); +} + +function _interopRequireWildcard(obj, nodeInterop) { + if (!nodeInterop && obj && obj.__esModule) { + return obj; + } + if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) { + return { default: obj }; + } + var cache = _getRequireWildcardCache(nodeInterop); + if (cache && cache.has(obj)) { + return cache.get(obj); + } + var newObj = {}; + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var key in obj) { + if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + newObj.default = obj; + if (cache) { + cache.set(obj, newObj); + } + return newObj; +} + +var _index = _interopRequireWildcard(require('./lib/server')); + +Object.defineProperty(exports, '__esModule', { + value: true, +}); +var _exportNames = {}; +Object.defineProperty(exports, 'default', { + enumerable: true, + get: function get() { + return _index.default; + }, +}); + +Object.keys(_index).forEach(function (key) { + if (key === 'default' || key === '__esModule') return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _index[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _index[key]; + }, + }); +}); diff --git a/packages/plugins/data-visualization/src/client/Settings.tsx b/packages/plugins/data-visualization/src/client/Settings.tsx new file mode 100644 index 000000000..06a59fac4 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/Settings.tsx @@ -0,0 +1,43 @@ +import { CheckOutlined } from '@ant-design/icons'; +import { css } from '@emotion/css'; +import { Form, FormItem } from '@formily/antd'; +import { Button, Card } from 'antd'; +import cls from 'classnames'; +import React, { useContext } from 'react'; +import { useChartsTranslation } from './locale'; +import { ChartLibraryContext, useToggleChartLibrary } from './renderer'; + +export const Settings = () => { + const { t } = useChartsTranslation(); + const libraries = useContext(ChartLibraryContext); + const { toggle } = useToggleChartLibrary(); + const list = Object.entries(libraries).map(([library, { enabled }]) => { + return ( + + ); + }); + return ( + +
+ {list} +
+
+ ); +}; diff --git a/packages/plugins/data-visualization/src/client/__tests__/chart-configure.test.tsx b/packages/plugins/data-visualization/src/client/__tests__/chart-configure.test.tsx new file mode 100644 index 000000000..ae4155517 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/__tests__/chart-configure.test.tsx @@ -0,0 +1,14 @@ +import { vi } from 'vitest'; + +describe('ChartConfigure', () => { + afterEach(() => { + vi.restoreAllMocks(); + }); + + it('should render correctly', () => { + // vi.spyOn(client, 'useDesignable').mockReturnValue({} as any); + // render( {}} />); + // const modal = document.querySelector('.ant-modal-content') as HTMLInputElement; + // expect(modal).toBeInTheDocument(); + }); +}); diff --git a/packages/plugins/data-visualization/src/client/__tests__/chart-library.test.ts b/packages/plugins/data-visualization/src/client/__tests__/chart-library.test.ts new file mode 100644 index 000000000..653e65070 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/__tests__/chart-library.test.ts @@ -0,0 +1,78 @@ +import { FieldOption } from '../hooks'; +import { infer } from '../renderer'; + +describe('library', () => { + describe('auto infer', () => { + const fields = [ + { + name: 'price', + value: 'price', + type: 'number', + label: 'Price', + }, + { + name: 'count', + value: 'count', + type: 'number', + label: 'Count', + }, + { + name: 'title', + value: 'title', + type: 'string', + label: 'Title', + }, + { + name: 'name', + value: 'name', + type: 'string', + label: 'Name', + }, + { + name: 'createdAt', + value: 'createdAt', + type: 'date', + label: 'Created At', + }, + ] as FieldOption[]; + + test('1 measure, 1 dimension', () => { + const { xField, yField } = infer(fields, { + measures: [{ field: ['price'] }], + dimensions: [{ field: ['title'] }], + }); + expect(yField.value).toEqual('price'); + expect(xField.value).toEqual('title'); + }); + + test('1 measure, 2 dimensions with date', () => { + const { xField, yField, seriesField } = infer(fields, { + measures: [{ field: ['price'] }], + dimensions: [{ field: ['title'] }, { field: ['createdAt'] }], + }); + expect(yField.value).toEqual('price'); + expect(xField.value).toEqual('createdAt'); + expect(seriesField.value).toEqual('title'); + }); + + test('1 measure, 2 dimensions without date', () => { + const { xField, yField, seriesField } = infer(fields, { + measures: [{ field: ['price'] }], + dimensions: [{ field: ['title'] }, { field: ['name'] }], + }); + expect(yField.value).toEqual('price'); + expect(xField.value).toEqual('title'); + expect(seriesField.value).toEqual('name'); + }); + + test('2 measures, 1 dimension', () => { + const { xField, yField, yFields } = infer(fields, { + measures: [{ field: ['price'] }, { field: ['count'] }], + dimensions: [{ field: ['title'] }], + }); + expect(yField.value).toEqual('price'); + expect(xField.value).toEqual('title'); + expect(yFields.length).toEqual(2); + }); + }); +}); diff --git a/packages/plugins/data-visualization/src/client/__tests__/chart-renderer.test.tsx b/packages/plugins/data-visualization/src/client/__tests__/chart-renderer.test.tsx new file mode 100644 index 000000000..f37d4a70e --- /dev/null +++ b/packages/plugins/data-visualization/src/client/__tests__/chart-renderer.test.tsx @@ -0,0 +1,30 @@ +describe('ChartRenderer', () => { + it('should render correctly', () => { + // render( + //
Chart
, + // useProps: (info) => info, + // }, + // }} + // > + // + // + // + //
, + // ); + // expect(screen.getByText('Please configure and run query')).toBeInTheDocument(); + }); +}); diff --git a/packages/plugins/data-visualization/src/client/__tests__/hooks.test.ts b/packages/plugins/data-visualization/src/client/__tests__/hooks.test.ts new file mode 100644 index 000000000..61351bf11 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/__tests__/hooks.test.ts @@ -0,0 +1,261 @@ +import * as client from '@nocobase/client'; +import { renderHook } from '@testing-library/react'; +import { vi } from 'vitest'; +import formatters from '../block/formatters'; +import transformers from '../block/transformers'; +import { + useChartFields, + useFieldsWithAssociation, + useFieldTransformer, + useFieldTypes, + useFormatters, + useOrderFieldsOptions, + useTransformers, +} from '../hooks'; + +describe('hooks', () => { + beforeEach(() => { + vi.spyOn(client, 'useCollectionManager').mockReturnValue({ + getCollectionFields: (name: string) => + ({ + orders: [ + { + interface: 'string', + name: 'name', + uiSchema: { + title: '{{t("Name")}}', + }, + type: 'string', + }, + { + interface: 'number', + name: 'price', + uiSchema: { + title: '{{t("Price")}}', + }, + type: 'double', + }, + { + interface: 'createdAt', + name: 'createdAt', + uiSchema: { + title: '{{t("Created At")}}', + }, + type: 'date', + }, + { + interface: 'm2o', + name: 'user', + uiSchema: { + title: '{{t("User")}}', + }, + target: 'users', + type: 'belongsTo', + }, + ], + users: [ + { + interface: 'string', + name: 'name', + uiSchema: { + title: '{{t("Name")}}', + }, + type: 'string', + }, + ], + }[name]), + } as any); + }); + + afterEach(() => { + vi.restoreAllMocks(); + }); + + test('useFieldsWithAssociation', () => { + const { result } = renderHook(() => useFieldsWithAssociation('orders')); + expect(result.current).toMatchObject([ + { + key: 'name', + label: 'Name', + value: 'name', + }, + { + key: 'price', + label: 'Price', + value: 'price', + }, + { + key: 'createdAt', + label: 'Created At', + value: 'createdAt', + }, + { + key: 'user', + label: 'User', + value: 'user', + target: 'users', + targetFields: [ + { + key: 'user.name', + label: 'User / Name', + value: 'user.name', + }, + ], + }, + ]); + }); + + test('useChartFields', () => { + const fields = renderHook(() => useFieldsWithAssociation('orders')).result.current; + const { result } = renderHook(() => useChartFields(fields)); + const func = result.current; + const field = { + query: () => ({ + get: () => ({ + measures: [ + { + field: ['price'], + alias: 'Price Alias', + }, + ], + dimensions: [ + { + field: ['user', 'name'], + }, + ], + }), + }), + dataSource: [], + }; + func(field); + expect(field.dataSource).toMatchObject([ + { + key: 'Price Alias', + label: 'Price Alias', + value: 'Price Alias', + }, + { + key: 'user.name', + label: 'User / Name', + value: 'user.name', + }, + ]); + }); + + test('useFormatters', () => { + const fields = renderHook(() => useFieldsWithAssociation('orders')).result.current; + const { result } = renderHook(() => useFormatters(fields)); + const func = result.current; + const field = { + query: () => ({ + get: () => 'createdAt', + }), + dataSource: [], + }; + func(field); + expect(field.dataSource).toEqual(formatters.datetime); + }); + + test('useFieldTypes', () => { + const fields = renderHook(() => useFieldsWithAssociation('orders')).result.current; + const { result } = renderHook(() => useFieldTypes(fields)); + const func = result.current; + let state1 = {}; + let state2 = {}; + const field = { + dataSource: [], + state: {}, + }; + const query = (path: string, val: string) => ({ + get: () => { + if (path === 'query') { + return { measures: [{ field: ['price'] }, { field: ['name'] }] }; + } + return val; + }, + }); + const field1 = { + query: (path: string) => query(path, 'price'), + setState: (state) => (state1 = state), + ...field, + }; + const field2 = { + query: (path: string) => query(path, 'name'), + setState: (state) => (state2 = state), + ...field, + }; + func(field1); + func(field2); + expect(field1.dataSource.map((item) => item.value)).toEqual(Object.keys(transformers)); + expect(state1).toEqual({ value: 'number', disabled: true }); + expect(state2).toEqual({ value: null, disabled: false }); + }); + + test('useTransformers', () => { + const field = { + query: () => ({ + get: () => 'datetime', + }), + dataSource: [], + }; + renderHook(() => useTransformers(field)); + expect(field.dataSource.map((item) => item.value)).toEqual(Object.keys(transformers['datetime'])); + }); + + test('useFieldTransformers', () => { + const { result } = renderHook(() => + useFieldTransformer([ + { + field: '1', + type: 'datetime', + format: 'YYYY', + }, + { + field: '2', + type: 'number', + format: 'YYYY', + }, + ]), + ); + expect(result.current['1']).toBeDefined(); + expect(result.current['2']).toBeUndefined(); + }); + + test('useOrderFieldsOptions', () => { + const fields = renderHook(() => useFieldsWithAssociation('orders')).result.current; + const { result } = renderHook(() => useOrderFieldsOptions([], fields)); + const func = result.current; + const field1 = { + query: () => ({ + get: () => ({ + measures: [{ field: ['price'] }], + }), + }), + dataSource: [], + componentProps: { + fieldNames: {}, + }, + }; + const field2 = { + query: () => ({ + get: () => ({ + measures: [{ field: ['price'], aggregation: 'sum' }], + }), + }), + componentProps: { + fieldNames: {}, + }, + dataSource: [], + }; + func(field1); + func(field2); + expect(field1.dataSource).toEqual([]); + expect(field1.componentProps.fieldNames).toEqual({ + label: 'title', + value: 'name', + children: 'children', + }); + expect(field2.dataSource).toMatchObject([{ key: 'price', value: 'price', label: 'Price' }]); + expect(field2.componentProps.fieldNames).toEqual({}); + }); +}); diff --git a/packages/plugins/data-visualization/src/client/block/ChartBlock.tsx b/packages/plugins/data-visualization/src/client/block/ChartBlock.tsx new file mode 100644 index 000000000..08487aa44 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/block/ChartBlock.tsx @@ -0,0 +1,22 @@ +import { SchemaInitializerButtonContext, useDesignable } from '@nocobase/client'; +import React, { useState } from 'react'; +import { ChartConfigContext, ChartConfigCurrent, ChartConfigure } from './ChartConfigure'; + +export const ChartV2Block: React.FC = (props) => { + const { insertAdjacent } = useDesignable(); + const [visible, setVisible] = useState(false); + const [current, setCurrent] = useState({} as any); + const [data, setData] = useState([]); + const [initialVisible, setInitialVisible] = useState(false); + const [searchValue, setSearchValue] = useState(''); + return ( + + + {props.children} + insertAdjacent('beforeEnd', schema, options)} /> + + + ); +}; diff --git a/packages/plugins/data-visualization/src/client/block/ChartBlockDesigner.tsx b/packages/plugins/data-visualization/src/client/block/ChartBlockDesigner.tsx new file mode 100644 index 000000000..bae4f1e3f --- /dev/null +++ b/packages/plugins/data-visualization/src/client/block/ChartBlockDesigner.tsx @@ -0,0 +1,19 @@ +import { GeneralSchemaDesigner, SchemaSettings } from '@nocobase/client'; +import React from 'react'; +import { useChartsTranslation } from '../locale'; + +export const ChartV2BlockDesigner: React.FC = () => { + const { t } = useChartsTranslation(); + return ( + + + + + + ); +}; diff --git a/packages/plugins/data-visualization/src/client/block/ChartBlockInitializer.tsx b/packages/plugins/data-visualization/src/client/block/ChartBlockInitializer.tsx new file mode 100644 index 000000000..80a64e111 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/block/ChartBlockInitializer.tsx @@ -0,0 +1,83 @@ +import { LineChartOutlined } from '@ant-design/icons'; +import { ISchema } from '@formily/react'; +import { uid } from '@formily/shared'; +import { SchemaInitializer, useACLRoleContext, useCollectionDataSourceItems } from '@nocobase/client'; +import React, { useContext } from 'react'; +import { useChartsTranslation } from '../locale'; +import { ChartConfigContext } from './ChartConfigure'; + +const itemWrap = SchemaInitializer.itemWrap; +const ConfigureButton = itemWrap((props) => { + const { setVisible, setCurrent, setData } = useContext(ChartConfigContext); + return ( + { + setCurrent({ schema: {}, field: null, collection: props.item?.name }); + setData([]); + setVisible(true); + }} + /> + ); +}); + +export const ChartInitializers = () => { + const { t } = useChartsTranslation(); + const collections = useCollectionDataSourceItems('Chart'); + const { allowAll, parseAction } = useACLRoleContext(); + const children = collections[0].children + .filter((item) => { + if (allowAll) { + return true; + } + const params = parseAction(`${item.name}:list`); + return params; + }) + .map((item) => ({ + ...item, + component: ConfigureButton, + })); + if (!children.length) { + // Leave a blank item to show the filter component + children.push({} as any); + } + collections[0].children = children; + return ( + + {t('Add chart')} + + ); +}; + +export const ChartV2BlockInitializer: React.FC<{ + insert: (s: ISchema) => void; +}> = (props) => { + const { insert } = props; + return ( + } + onClick={() => { + insert({ + type: 'void', + 'x-component': 'CardItem', + 'x-designer': 'ChartV2BlockDesigner', + properties: { + [uid()]: { + type: 'void', + 'x-component': 'Grid', + 'x-decorator': 'ChartV2Block', + 'x-initializer': 'ChartInitializers', + }, + }, + }); + }} + /> + ); +}; diff --git a/packages/plugins/data-visualization/src/client/block/ChartConfigure.tsx b/packages/plugins/data-visualization/src/client/block/ChartConfigure.tsx new file mode 100644 index 000000000..54db7c8ea --- /dev/null +++ b/packages/plugins/data-visualization/src/client/block/ChartConfigure.tsx @@ -0,0 +1,450 @@ +import { RightSquareOutlined } from '@ant-design/icons'; +import { ArrayItems, Editable, Form, FormCollapse, FormItem, Switch } from '@formily/antd'; +import { createForm, Form as FormType, ObjectField, onFieldChange, onFormInit } from '@formily/core'; +import { FormConsumer, ISchema, Schema } from '@formily/react'; +import { + AutoComplete, + Cascader, + DatePicker, + Filter, + gridRowColWrap, + Input, + InputNumber, + Radio, + SchemaComponent, + Select, + useCollectionFieldsOptions, + useCollectionFilterOptions, + useDesignable, +} from '@nocobase/client'; +import { Alert, Button, Card, Col, Modal, Row, Space, Table, Tabs, Typography } from 'antd'; +import { cloneDeep, isEqual } from 'lodash'; +import React, { createContext, useContext, useMemo, useRef } from 'react'; +import { useTranslation } from 'react-i18next'; +import { + useChartFields, + useCollectionOptions, + useFieldsWithAssociation, + useFieldTypes, + useFormatters, + useOrderFieldsOptions, + useOrderReaction, + useTransformers, +} from '../hooks'; +import { useChartsTranslation } from '../locale'; +import { ChartRenderer, ChartRendererProvider, useCharts, useChartTypes } from '../renderer'; +import { createRendererSchema, getField, getSelectedFields } from '../utils'; +import { getConfigSchema, querySchema, transformSchema } from './schemas/configure'; +const { Paragraph, Text } = Typography; + +export type ChartConfigCurrent = { + schema: ISchema; + field: any; + collection: string; +}; + +export type SelectedField = { + field: string | string[]; + alias?: string; +}; + +export const ChartConfigContext = createContext<{ + visible: boolean; + setVisible?: (visible: boolean) => void; + current?: ChartConfigCurrent; + setCurrent?: (current: ChartConfigCurrent) => void; + data?: any[] | string; + setData?: (data: any[] | string) => void; +}>({ + visible: true, +}); + +export const ChartConfigure: React.FC<{ + insert: ( + s: ISchema, + options: { + onSuccess: () => void; + wrap?: (schema: ISchema) => ISchema; + }, + ) => void; +}> & { + Renderer: React.FC<{ + runQuery?: any; + }>; + Config: React.FC; + Query: React.FC; + Transform: React.FC; + Data: React.FC; +} = (props) => { + const { t } = useChartsTranslation(); + const { visible, setVisible, current } = useContext(ChartConfigContext); + const { schema, field, collection } = current || {}; + const { dn } = useDesignable(); + const { insert } = props; + + const charts = useCharts(); + const fields = useFieldsWithAssociation(collection); + const initChart = (overwrite = false) => { + if (!form.modified) { + return; + } + const chartType = form.values.config?.chartType; + if (!chartType) { + return; + } + const chart = charts[chartType]; + const init = chart?.init; + if (!init) { + if (overwrite) { + form.values.config.general = {}; + form.values.config.advanced = {}; + } + return; + } + const query = form.values.query; + const selectedFields = getSelectedFields(fields, query); + const { general, advanced } = init(selectedFields, query); + if (general || overwrite) { + form.values.config.general = general; + } + if (advanced || overwrite) { + form.values.config.advanced = advanced || {}; + } + }; + + const [measures, setMeasures] = React.useState([]); + const [dimensions, setDimensions] = React.useState([]); + const queryReact = (form: FormType, reaction?: () => void) => { + const currentMeasures = form.values.query?.measures.filter((item) => item.field) || []; + const currentDimensions = form.values.query?.dimensions.filter((item) => item.field) || []; + if (isEqual(currentMeasures, measures) && isEqual(currentDimensions, dimensions)) { + return; + } + reaction?.(); + setMeasures(cloneDeep(currentMeasures)); + setDimensions(cloneDeep(currentDimensions)); + }; + const chartTypes = useChartTypes(); + const form = useMemo( + () => { + const chartType = chartTypes[0]?.children?.[0]?.value; + return createForm({ + values: { config: { chartType }, ...schema?.['x-decorator-props'], collection, data: '' }, + effects: (form) => { + onFieldChange('config.chartType', () => initChart(true)); + onFormInit(() => queryReact(form)); + }, + }); + }, + // visible, collection added here to re-initialize form when visible, collection change + // eslint-disable-next-line react-hooks/exhaustive-deps + [schema, visible, collection], + ); + + const runQuery = useRef(null); + const RunButton: React.FC = () => { + const [loading, setLoading] = React.useState(false); + return ( + + ); + }; + + const queryRef = useRef(null); + const configRef = useRef(null); + return ( + { + const { query, config, transform, mode } = form.values; + const rendererProps = { + query, + config, + collection, + transform, + mode: mode || 'builder', + }; + if (schema && schema['x-uid']) { + schema['x-decorator-props'] = rendererProps; + field.decoratorProps = rendererProps; + field['x-acl-action'] = `${collection}:list`; + dn.emit('patch', { + schema, + }); + setVisible(false); + queryRef.current.scrollTop = 0; + configRef.current.scrollTop = 0; + return; + } + insert(createRendererSchema(rendererProps), { + onSuccess: () => setVisible(false), + wrap: gridRowColWrap, + }); + }} + onCancel={() => { + Modal.confirm({ + title: t('Are you sure to cancel?'), + content: t('You changes are not saved. If you click OK, your changes will be lost.'), + okButtonProps: { + danger: true, + }, + onOk: () => { + setVisible(false); + queryRef.current.scrollTop = 0; + configRef.current.scrollTop = 0; + }, + }); + }} + width={'95%'} + bodyStyle={{ + background: 'rgba(128, 128, 128, 0.08)', + }} + > +
+ + + + } + items={[ + { + label: t('Query'), + key: 'query', + children: , + }, + { + label: t('Data'), + key: 'data', + children: , + }, + ]} + /> + + + + + , + }, + { + label: t('Transform'), + key: 'transform', + children: , + }, + ]} + /> + + + + + + + + +
+
+ ); +}; + +ChartConfigure.Renderer = function Renderer(props) { + const { current } = useContext(ChartConfigContext); + const { collection } = current || {}; + return ( + + {(form) => { + // Any change of config and transform will trigger rerender + // Change of query only trigger rerender when "Run query" button is clicked + const config = cloneDeep(form.values.config); + const transform = cloneDeep(form.values.transform); + return ( + + + + ); + }} + + ); +}; + +ChartConfigure.Query = function Query() { + const { t } = useChartsTranslation(); + const { t: lang } = useTranslation(); + const fields = useFieldsWithAssociation(); + const useFormatterOptions = useFormatters(fields); + const collectionOptions = useCollectionOptions(); + const { current, setCurrent } = useContext(ChartConfigContext); + const { collection } = current || {}; + const fieldOptions = useCollectionFieldsOptions(collection, 1); + const compiledFieldOptions = Schema.compile(fieldOptions, { t: lang }); + const filterOptions = useCollectionFilterOptions(collection); + const formCollapse = FormCollapse.createFormCollapse(['measures', 'dimensions', 'filter', 'sort']); + const onCollectionChange = (value: string) => { + const { schema, field } = current; + const newSchema = { ...schema }; + newSchema['x-decorator-props'] = { collection: value }; + newSchema['x-acl-action'] = `${value}:list`; + setCurrent({ + schema: newSchema, + field, + collection: value, + }); + }; + const FromSql = () => ( + + From {current?.collection} + + ); + return ( + + ); +}; + +ChartConfigure.Config = function Config() { + const { t } = useChartsTranslation(); + const chartTypes = useChartTypes(); + const fields = useFieldsWithAssociation(); + const charts = useCharts(); + const getChartFields = useChartFields(fields); + const getReference = (chartType: string) => { + const reference = charts[chartType]?.reference; + if (!reference) return ''; + const { title, link } = reference; + return ( + + {t('Config reference: ')} + + {t(title)} + + + ); + }; + + return ( + + {(form) => { + const chartType = form.values.config?.chartType; + const chart = charts[chartType]; + const schema = chart?.schema || {}; + return ( + + ); + }} + + ); +}; + +ChartConfigure.Transform = function Transform() { + const { t } = useChartsTranslation(); + const fields = useFieldsWithAssociation(); + const useFieldTypeOptions = useFieldTypes(fields); + const getChartFields = useChartFields(fields); + return ( + + ); +}; + +ChartConfigure.Data = function Data() { + const { data } = useContext(ChartConfigContext); + const fields = useFieldsWithAssociation(); + return Array.isArray(data) ? ( + { + const field = getField(fields, col.split('.')); + return { + title: field?.label || col, + dataIndex: col, + key: col, + }; + })} + size="small" + /> + ) : ( + + ); +}; diff --git a/packages/plugins/data-visualization/src/client/block/formatters.ts b/packages/plugins/data-visualization/src/client/block/formatters.ts new file mode 100644 index 000000000..baf08b06b --- /dev/null +++ b/packages/plugins/data-visualization/src/client/block/formatters.ts @@ -0,0 +1,70 @@ +import { lang } from '../locale'; + +export default { + datetime: [ + { + label: lang('YYYY'), + value: 'YYYY', + }, + { + label: lang('MM'), + value: 'MM', + }, + { + label: lang('DD'), + value: 'DD', + }, + { + label: lang('YYYY-MM'), + value: 'YYYY-MM', + }, + { + label: lang('YYYY-MM-DD'), + value: 'YYYY-MM-DD', + }, + { + label: lang('YYYY-MM-DD hh:mm'), + value: 'YYYY-MM-DD hh:mm', + }, + { + label: lang('YYYY-MM-DD hh:mm:ss'), + value: 'YYYY-MM-DD hh:mm:ss', + }, + ], + date: [ + { + label: lang('YYYY'), + value: 'YYYY', + }, + { + label: lang('MM'), + value: 'MM', + }, + { + label: lang('DD'), + value: 'DD', + }, + { + label: lang('YYYY-MM'), + value: 'YYYY-MM', + }, + { + label: lang('YYYY-MM-DD'), + value: 'YYYY-MM-DD', + }, + ], + time: [ + { + label: lang('hh:mm:ss'), + value: 'hh:mm:ss', + }, + { + label: lang('hh:mm'), + value: 'hh:mm', + }, + { + label: lang('hh'), + value: 'hh', + }, + ], +}; diff --git a/packages/plugins/data-visualization/src/client/block/index.ts b/packages/plugins/data-visualization/src/client/block/index.ts new file mode 100644 index 000000000..4f659c849 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/block/index.ts @@ -0,0 +1,4 @@ +export * from './ChartBlock'; +export * from './ChartBlockDesigner'; +export * from './ChartBlockInitializer'; +export * from './ChartConfigure'; diff --git a/packages/plugins/data-visualization/src/client/block/schemas/configure.ts b/packages/plugins/data-visualization/src/client/block/schemas/configure.ts new file mode 100644 index 000000000..a1e21cc7d --- /dev/null +++ b/packages/plugins/data-visualization/src/client/block/schemas/configure.ts @@ -0,0 +1,474 @@ +import { ISchema } from '@formily/react'; +import { uid } from '@formily/shared'; +import { lang } from '../../locale'; + +const getArraySchema = (fields = {}, extra = {}) => ({ + type: 'array', + 'x-decorator': 'FormItem', + 'x-component': 'ArrayItems', + ...extra, + items: { + type: 'object', + properties: { + space: { + type: 'void', + 'x-component': 'Space', + properties: { + sort: { + type: 'void', + 'x-decorator': 'FormItem', + 'x-component': 'ArrayItems.SortHandle', + }, + ...fields, + remove: { + type: 'void', + 'x-decorator': 'FormItem', + 'x-component': 'ArrayItems.Remove', + }, + }, + }, + }, + }, + properties: { + add: { + type: 'void', + title: '{{t("Add field")}}', + 'x-component': 'ArrayItems.Addition', + }, + }, +}); + +export const getConfigSchema = (general: any): ISchema => ({ + type: 'void', + properties: { + config: { + type: 'object', + properties: { + chartType: { + type: 'string', + title: '{{t("Chart type")}}', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + placeholder: '{{t("Please select a chart type.")}}', + }, + enum: '{{ chartTypes }}', + }, + [uid()]: { + type: 'void', + properties: { + general, + }, + }, + [uid()]: { + type: 'void', + properties: { + advanced: { + type: 'json', + title: '{{t("JSON config")}}', + 'x-decorator': 'FormItem', + 'x-decorator-props': { + extra: lang('Same properties set in the form above will be overwritten by this JSON config.'), + }, + 'x-component': 'Input.JSON', + 'x-component-props': { + autoSize: { + minRows: 3, + }, + }, + }, + }, + }, + reference: { + type: 'string', + 'x-reactions': { + dependencies: ['.chartType'], + fulfill: { + schema: { + 'x-content': '{{ getReference($deps[0]) }}', + }, + }, + }, + }, + }, + }, + }, +}); + +export const querySchema: ISchema = { + type: 'void', + properties: { + settings: { + type: 'void', + // 'x-component': 'FormItem', + properties: { + // mode: { + // type: 'string', + // 'x-decorator': 'FormItem', + // 'x-decorator-props': { + // style: { + // display: 'inline-block', + // width: '45%', + // }, + // }, + // 'x-component': 'Radio.Group', + // 'x-component-props': { + // defaultValue: 'builder', + // optionType: 'button', + // buttonStyle: 'solid', + // }, + // enum: [ + // { + // label: lang('Builder mode'), + // value: 'builder', + // }, + // { + // label: lang('SQL mode'), + // value: 'sql', + // }, + // ], + // 'x-reactions': [ + // { + // target: 'query.builder', + // fulfill: { + // state: { + // visible: '{{ $self.value !== "sql" }}', + // }, + // }, + // }, + // { + // target: 'query.sql', + // fulfill: { + // state: { + // visible: '{{ $self.value === "sql" }}', + // }, + // }, + // }, + // ], + // }, + collection: { + title: '{{t("Collection")}}', + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + options: '{{ collectionOptions }}', + onChange: '{{ onCollectionChange }}', + placeholder: lang('Collection'), + }, + }, + }, + }, + query: { + type: 'object', + properties: { + builder: { + type: 'void', + properties: { + collapse: { + type: 'void', + 'x-decorator': 'FormItem', + 'x-component': 'FormCollapse', + 'x-component-props': { + formCollapse: '{{formCollapse}}', + }, + properties: { + pane1: { + type: 'void', + 'x-component': 'FormCollapse.CollapsePanel', + 'x-component-props': { + header: lang('Measures'), + key: 'measures', + }, + properties: { + measures: getArraySchema( + { + field: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Cascader', + 'x-component-props': { + placeholder: '{{t("Field")}}', + fieldNames: { + label: 'title', + value: 'name', + children: 'children', + }, + }, + enum: '{{ fieldOptions }}', + required: true, + }, + aggregation: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + placeholder: '{{t("Aggregation")}}', + }, + enum: [ + { label: lang('Sum'), value: 'sum' }, + { label: lang('Count'), value: 'count' }, + { label: lang('Avg'), value: 'avg' }, + { label: lang('Max'), value: 'max' }, + { label: lang('Min'), value: 'min' }, + ], + }, + alias: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Input', + 'x-component-props': { + placeholder: '{{t("Alias")}}', + }, + }, + }, + { required: true }, + ), + }, + }, + pane2: { + type: 'void', + 'x-component': 'FormCollapse.CollapsePanel', + 'x-component-props': { + header: lang('Dimensions'), + key: 'dimensions', + }, + properties: { + dimensions: getArraySchema({ + field: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Cascader', + 'x-component-props': { + placeholder: '{{t("Field")}}', + fieldNames: { + label: 'title', + value: 'name', + children: 'children', + }, + }, + enum: '{{ fieldOptions }}', + required: true, + }, + format: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + placeholder: '{{t("Format")}}', + style: { + maxWidth: '120px', + }, + }, + 'x-reactions': '{{ useFormatterOptions }}', + 'x-visible': '{{ $self.dataSource && $self.dataSource.length }}', + }, + alias: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Input', + 'x-component-props': { + placeholder: '{{t("Alias")}}', + }, + }, + }), + }, + }, + pane3: { + type: 'void', + 'x-component': 'FormCollapse.CollapsePanel', + 'x-component-props': { + header: lang('Filter'), + key: 'filter', + }, + properties: { + filter: { + type: 'object', + 'x-decorator': 'FormItem', + 'x-decorator-props': { + style: { + overflow: 'scroll', + }, + }, + 'x-component': 'Filter', + 'x-component-props': { + options: '{{ filterOptions }}', + // dynamicComponent: 'Input', + }, + }, + }, + }, + pane4: { + type: 'void', + 'x-component': 'FormCollapse.CollapsePanel', + 'x-component-props': { + header: lang('Sort'), + key: 'sort', + }, + properties: { + orders: getArraySchema( + { + field: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Cascader', + 'x-component-props': { + placeholder: '{{t("Field")}}', + }, + 'x-reactions': '{{ useOrderOptions }}', + required: true, + }, + order: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Radio.Group', + 'x-component-props': { + defaultValue: 'ASC', + optionType: 'button', + }, + enum: ['ASC', 'DESC'], + }, + }, + { + 'x-reactions': '{{ useOrderReaction }}', + }, + ), + }, + }, + }, + }, + limit: { + title: '{{t("Limit")}}', + type: 'number', + 'x-decorator': 'FormItem', + 'x-component': 'InputNumber', + 'x-component-props': { + defaultValue: 2000, + max: 2000, + min: 1, + style: { + width: '100px', + }, + }, + }, + }, + }, + // sql: { + // type: 'object', + // properties: { + // select: { + // type: 'void', + // 'x-decorator': 'p', + // 'x-component': 'Text', + // 'x-component-props': { + // code: true, + // }, + // 'x-content': 'SELECT', + // }, + // fields: { + // type: 'string', + // 'x-decorator': 'FormItem', + // 'x-component': 'Input.TextArea', + // 'x-component-props': { + // autoSize: { + // minRows: 2, + // }, + // placeholder: 'Fields', + // }, + // required: true, + // }, + // from: { + // type: 'void', + // 'x-decorator': 'p', + // 'x-component': 'FromSql', + // }, + // clauses: { + // type: 'string', + // 'x-decorator': 'FormItem', + // 'x-component': 'Input.TextArea', + // 'x-component-props': { + // autoSize: { + // minRows: 5, + // }, + // placeholder: 'Join, Where, Group By, Having, Order By, Limit', + // }, + // required: true, + // }, + // }, + // }, + cache: { + type: 'object', + properties: { + enabled: { + type: 'boolean', + title: '{{t("Enable cache")}}', + 'x-decorator': 'FormItem', + 'x-component': 'Switch', + }, + ttl: { + type: 'number', + title: '{{t("TTL (second)")}}', + 'x-decorator': 'FormItem', + 'x-component': 'InputNumber', + 'x-component-props': { + defaultValue: 60, + min: 1, + style: { + width: '100px', + }, + }, + }, + }, + }, + }, + }, + }, +}; + +export const transformSchema: ISchema = { + type: 'void', + properties: { + transform: getArraySchema( + { + field: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + placeholder: '{{t("Field")}}', + style: { + maxWidth: '100px', + }, + }, + 'x-reactions': '{{ useChartFields }}', + }, + type: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + placeholder: '{{t("Type")}}', + }, + 'x-reactions': '{{ useFieldTypeOptions }}', + }, + format: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-component-props': { + placeholder: '{{t("Format")}}', + }, + 'x-reactions': '{{ useTransformers }}', + 'x-visible': '{{ $self.dataSource && $self.dataSource.length }}', + }, + }, + { + 'x-decorator-props': { + style: { + width: '50%', + }, + }, + }, + ), + }, +}; diff --git a/packages/plugins/data-visualization/src/client/block/transformers.ts b/packages/plugins/data-visualization/src/client/block/transformers.ts new file mode 100644 index 000000000..f3f81e831 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/block/transformers.ts @@ -0,0 +1,52 @@ +import dayjs from 'dayjs'; + +const transformers: { + [key: string]: { + [key: string]: (val: any, locale?: string) => string | number; + }; +} = { + datetime: { + YYYY: (val: string) => dayjs(val).format('YYYY'), + MM: (val: string) => dayjs(val).format('MM'), + DD: (val: string) => dayjs(val).format('DD'), + 'YYYY-MM': (val: string) => dayjs(val).format('YYYY-MM'), + 'YYYY-MM-DD': (val: string) => dayjs(val).format('YYYY-MM-DD'), + 'YYYY-MM-DD hh:mm': (val: string) => dayjs(val).format('YYYY-MM-DD hh:mm'), + 'YYYY-MM-DD hh:mm:ss': (val: string) => dayjs(val).format('YYYY-MM-DD hh:mm:ss'), + }, + date: { + YYYY: (val: string) => dayjs(val).format('YYYY'), + MM: (val: string) => dayjs(val).format('MM'), + DD: (val: string) => dayjs(val).format('DD'), + 'YYYY-MM': (val: string) => dayjs(val).format('YYYY-MM'), + 'YYYY-MM-DD': (val: string) => dayjs(val).format('YYYY-MM-DD'), + }, + time: { + 'hh:mm:ss': (val: string) => dayjs(val).format('hh:mm:ss'), + 'hh:mm': (val: string) => dayjs(val).format('hh:mm'), + hh: (val: string) => dayjs(val).format('hh'), + }, + number: { + Percent: (val: number) => + new Intl.NumberFormat('en-US', { style: 'percent', minimumFractionDigits: 2, maximumFractionDigits: 2 }).format( + val, + ), + Currency: (val: number, locale = 'en-US') => { + const currency = { + 'zh-CN': 'CNY', + 'en-US': 'USD', + 'ja-JP': 'JPY', + 'ko-KR': 'KRW', + 'pt-BR': 'BRL', + 'ru-RU': 'RUB', + 'tr-TR': 'TRY', + 'es-ES': 'EUR', + }[locale]; + return new Intl.NumberFormat(locale, { style: 'currency', currency }).format(val); + }, + Exponential: (val: number | string) => (+val)?.toExponential(), + Abbreviation: (val: number, locale = 'en-US') => new Intl.NumberFormat(locale, { notation: 'compact' }).format(val), + }, +}; + +export default transformers; diff --git a/packages/plugins/data-visualization/src/client/hooks.ts b/packages/plugins/data-visualization/src/client/hooks.ts new file mode 100644 index 000000000..20c04771e --- /dev/null +++ b/packages/plugins/data-visualization/src/client/hooks.ts @@ -0,0 +1,239 @@ +import { ArrayField } from '@formily/core'; +import { ISchema, Schema } from '@formily/react'; +import { useACLRoleContext, useCollectionManager } from '@nocobase/client'; +import { useContext } from 'react'; +import { useTranslation } from 'react-i18next'; +import { ChartConfigContext } from './block/ChartConfigure'; +import formatters from './block/formatters'; +import transformers from './block/transformers'; +import { lang } from './locale'; +import { ChartRendererProps } from './renderer'; +import { getField, getSelectedFields, parseField } from './utils'; + +export type FieldOption = { + value: string; + label: string; + key: string; + alias?: string; + name?: string; + type?: string; + interface?: string; + uiSchema?: ISchema; + target?: string; + targetFields?: FieldOption[]; +}; + +export const useFields = (collection?: string) => { + const { current } = useContext(ChartConfigContext); + if (!collection) { + collection = current?.collection || ''; + } + const { getCollectionFields } = useCollectionManager(); + const fields = (getCollectionFields(collection) || []) + .filter((field) => { + return field.interface; + }) + .map((field) => ({ + ...field, + key: field.name, + label: field.uiSchema?.title || field.name, + value: field.name, + })); + return fields; +}; + +export const useFieldsWithAssociation = (collection?: string) => { + const { getCollectionFields } = useCollectionManager(); + const { t } = useTranslation(); + const fields = useFields(collection); + return fields.map((field) => { + const label = Schema.compile(field.uiSchema?.title || field.name, { t }); + if (!field.target) { + return { ...field, label }; + } + const targetFields = (getCollectionFields(field.target) || []) + .filter((targetField) => { + return targetField.interface; + }) + .map((targetField) => ({ + ...targetField, + key: `${field.name}.${targetField.name}`, + label: `${label} / ${Schema.compile(targetField.uiSchema?.title || targetField.name, { t })}`, + value: `${field.name}.${targetField.name}`, + })); + return { + ...field, + label, + targetFields, + }; + }); +}; + +export const useChartFields = (fields: FieldOption[]) => (field: any) => { + const query = field.query('query').get('value') || {}; + const selectedFields = getSelectedFields(fields, query); + field.dataSource = selectedFields; +}; + +export const useFormatters = (fields: FieldOption[]) => (field: any) => { + const selectedField = field.query('.field').get('value'); + if (!selectedField) { + field.dataSource = []; + return; + } + let options = []; + const fieldInterface = getField(fields, selectedField)?.interface; + switch (fieldInterface) { + case 'datetime': + case 'createdAt': + case 'updatedAt': + options = formatters.datetime; + break; + case 'date': + options = formatters.date; + break; + case 'time': + options = formatters.time; + break; + default: + options = []; + } + field.dataSource = options; +}; + +export const useCollectionOptions = () => { + const { t } = useTranslation(); + const { collections } = useCollectionManager(); + const { allowAll, parseAction } = useACLRoleContext(); + const options = collections + .filter((collection: { name: string }) => { + if (allowAll) { + return true; + } + const params = parseAction(`${collection.name}:list`); + return params; + }) + .map((collection: { name: string; title: string }) => ({ + label: collection.title, + value: collection.name, + key: collection.name, + })); + return Schema.compile(options, { t }); +}; + +/** + * useFieldTypes + * Get field types for using transformers + * Only supported types will be displayed + * Some interfaces and types will be mapped to supported types + */ +export const useFieldTypes = (fields: FieldOption[]) => (field: any) => { + const selectedField = field.query('.field').get('value'); + const query = field.query('query').get('value') || {}; + const selectedFields = getSelectedFields(fields, query); + const fieldProps = selectedFields.find((field) => field.value === selectedField); + const supports = Object.keys(transformers); + field.dataSource = supports.map((key) => ({ + label: lang(key), + value: key, + })); + const map = { + createdAt: 'datetime', + updatedAt: 'datetime', + double: 'number', + integer: 'number', + percent: 'number', + }; + const fieldInterface = fieldProps?.interface; + const fieldType = fieldProps?.type; + const key = map[fieldInterface] || map[fieldType] || fieldType; + if (supports.includes(key)) { + field.setState({ + value: key, + disabled: true, + }); + return; + } + field.setState({ + value: null, + disabled: false, + }); +}; + +export const useTransformers = (field: any) => { + const selectedType = field.query('.type').get('value'); + if (!selectedType) { + field.dataSource = []; + return; + } + const options = Object.keys(transformers[selectedType] || {}).map((key) => ({ + label: lang(key), + value: key, + })); + field.dataSource = options; +}; + +export const useFieldTransformer = (transform: ChartRendererProps['transform'], locale = 'en-US') => { + return (transform || []) + .filter((item) => item.field && item.type && item.format) + .reduce((mp, item) => { + const transformer = transformers[item.type][item.format]; + if (!transformer) { + return mp; + } + mp[item.field] = (val: any) => transformer(val, locale); + return mp; + }, {}); +}; + +export const useOrderFieldsOptions = (defaultOptions: any[], fields: FieldOption[]) => (field: any) => { + const query = field.query('query').get('value') || {}; + const { measures = [] } = query; + const hasAgg = measures.some((measure: { aggregation?: string }) => measure.aggregation); + if (!hasAgg) { + field.componentProps.fieldNames = { + label: 'title', + value: 'name', + children: 'children', + }; + field.dataSource = defaultOptions; + return; + } + const selectedFields = getSelectedFields(fields, query); + field.componentProps.fieldNames = {}; + field.dataSource = selectedFields; +}; + +export const useOrderReaction = (defaultOptions: any[], fields: FieldOption[]) => (field: ArrayField) => { + const query = field.query('query').get('value') || {}; + const { measures = [] } = query; + const hasAgg = measures.some((measure: { aggregation?: string }) => measure.aggregation); + let dataSource = defaultOptions; + const allValues = []; + if (hasAgg) { + dataSource = getSelectedFields(fields, query); + dataSource.forEach((field) => { + allValues.push(field.value); + }); + } else { + dataSource.forEach((field) => { + const children = field.children || []; + if (!children.length) { + allValues.push(field.value || field.name); + } + children.forEach((child: any) => { + allValues.push(`${field.name}.${child.name}`); + }); + }); + } + + const orders = field.value || []; + const newOrders = orders.reduce((newOrders: any[], item: any) => { + const { alias } = parseField(item.field); + if (!item.field || allValues.includes(alias)) { + newOrders.push(item); + } + return newOrders; + }, []); + field.setValue(newOrders); +}; diff --git a/packages/plugins/data-visualization/src/client/index.tsx b/packages/plugins/data-visualization/src/client/index.tsx new file mode 100644 index 000000000..cf0155cf6 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/index.tsx @@ -0,0 +1,41 @@ +import { SchemaComponentOptions, SchemaInitializerContext, SchemaInitializerProvider } from '@nocobase/client'; +import React, { useContext } from 'react'; +import { ChartInitializers, ChartV2Block, ChartV2BlockDesigner, ChartV2BlockInitializer } from './block'; +import { useChartsTranslation } from './locale'; +import { ChartRenderer, ChartRendererProvider, InternalLibrary } from './renderer'; +import { ChartLibraryProvider } from './renderer/ChartLibrary'; + +const Chart: React.FC = (props) => { + const { t } = useChartsTranslation(); + const initializers = useContext(SchemaInitializerContext); + const children = initializers.BlockInitializers.items[0].children; + const has = children.some((initializer) => initializer.component === 'ChartV2BlockInitializer'); + if (!has) { + children.push({ + key: 'chart-v2', + type: 'item', + title: t('Chart'), + component: 'ChartV2BlockInitializer', + }); + } + return ( + + + + {props.children} + + + + ); +}; + +export default Chart; +export { ChartLibraryProvider }; diff --git a/packages/plugins/data-visualization/src/client/locale/en-US.ts b/packages/plugins/data-visualization/src/client/locale/en-US.ts new file mode 100644 index 000000000..056d2b670 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/locale/en-US.ts @@ -0,0 +1,23 @@ +export default { + Edit: 'Edit', + Delete: 'Delete', + Cancel: 'Cancel', + Submit: 'Submit', + Actions: 'Actions', + Title: 'Title', + Enable: 'Enable', + 'SAML manager': 'SAML manager', + 'SAML Providers': 'SAML Providers', + 'Redirect url': 'Redirect url', + 'SP entity id': 'SP entity id', + 'Add provider': 'Add', + 'Edit provider': 'Edit', + 'Client id': 'Client id', + 'Entity id or issuer': 'Entity id or issuer', + 'Login Url': 'Login Url', + 'Public cert': 'Public cert', + 'Delete provider': 'Delete', + 'Are you sure you want to delete it?': 'Are you sure you want to delete it?', + 'Sign in button name, which will be displayed on the sign in page': + 'Sign in button name, which will be displayed on the sign in page', +}; diff --git a/packages/plugins/data-visualization/src/client/locale/index.ts b/packages/plugins/data-visualization/src/client/locale/index.ts new file mode 100644 index 000000000..428b9d68f --- /dev/null +++ b/packages/plugins/data-visualization/src/client/locale/index.ts @@ -0,0 +1,19 @@ +import { i18n } from '@nocobase/client'; +import { useTranslation } from 'react-i18next'; +import zhCN from './zh-CN'; + +export const NAMESPACE = 'charts-v2'; + +i18n.addResources('zh-CN', NAMESPACE, zhCN); +// i18n.addResources('en-US', NAMESPACE, enUS); +// i18n.addResources('ja-JP', NAMESPACE, jaJP); +// i18n.addResources('ru-RU', NAMESPACE, ruRU); +// i18n.addResources('tr-TR', NAMESPACE, trTR); + +export function lang(key: string) { + return i18n.t(key, { ns: NAMESPACE }); +} + +export function useChartsTranslation() { + return useTranslation(NAMESPACE); +} diff --git a/packages/plugins/data-visualization/src/client/locale/ja-JP.ts b/packages/plugins/data-visualization/src/client/locale/ja-JP.ts new file mode 100644 index 000000000..ff8b4c563 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/locale/ja-JP.ts @@ -0,0 +1 @@ +export default {}; diff --git a/packages/plugins/data-visualization/src/client/locale/pt-BR.ts b/packages/plugins/data-visualization/src/client/locale/pt-BR.ts new file mode 100644 index 000000000..6969b693c --- /dev/null +++ b/packages/plugins/data-visualization/src/client/locale/pt-BR.ts @@ -0,0 +1,23 @@ +export default { + Edit: 'Editar', + Delete: 'Delete', + Cancel: 'Cancelar', + Submit: 'Enviar', + Actions: 'Ações', + Title: 'Titulo', + Enable: 'Ativo', + 'SAML manager': 'Gerenciador SAML', + 'SAML Providers': 'Provedores SAML', + 'Redirect url': 'URL de redirecionamento', + 'SP entity id': 'ID de entidade do provedor de serviço (SP)', + 'Add provider': 'Adicionar', + 'Edit provider': 'Editar', + 'Client id': 'ID do cliente', + 'Entity id or issuer': 'ID de entidade ou emissor', + 'Login Url': 'URL de login', + 'Public cert': 'Certificado público', + 'Delete provider': 'Excluir', + 'Are you sure you want to delete it?': 'Tem certeza de que deseja excluí-lo?', + 'Sign in button name, which will be displayed on the sign in page': + 'Nome do botão de login, que será exibido na página de login', +}; diff --git a/packages/plugins/data-visualization/src/client/locale/ru-RU.ts b/packages/plugins/data-visualization/src/client/locale/ru-RU.ts new file mode 100644 index 000000000..ff8b4c563 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/locale/ru-RU.ts @@ -0,0 +1 @@ +export default {}; diff --git a/packages/plugins/data-visualization/src/client/locale/tr-TR.ts b/packages/plugins/data-visualization/src/client/locale/tr-TR.ts new file mode 100644 index 000000000..ff8b4c563 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/locale/tr-TR.ts @@ -0,0 +1 @@ +export default {}; diff --git a/packages/plugins/data-visualization/src/client/locale/zh-CN.ts b/packages/plugins/data-visualization/src/client/locale/zh-CN.ts new file mode 100644 index 000000000..6bb209cab --- /dev/null +++ b/packages/plugins/data-visualization/src/client/locale/zh-CN.ts @@ -0,0 +1,71 @@ +export default { + Edit: '编辑', + Delete: '删除', + Cancel: '取消', + Submit: '提交', + Actions: '操作', + Title: '名称', + Enable: '启用', + Chart: '图表', + ChartV2: '图表V2', + Charts: '图表', + Configure: '配置', + Duplicate: '复制', + 'Configure chart': '配置图表', + Transform: '数据转换', + 'Chart type': '图表类型', + 'JSON config': 'JSON 配置', + Query: '查询', + Data: '数据', + 'Run query': '执行查询', + Measures: '度量', + Dimensions: '维度', + Filter: '过滤', + Sort: '排序', + Limit: '结果数量', + 'Enable cache': '启用缓存', + 'TTL (second)': '缓存时间 (秒)', + Field: '字段', + Aggregation: '聚合', + Alias: '别名', + Format: '格式', + 'The first 10 records of the query result:': '查询结果的前 10 条记录:', + 'Please run query to retrive data.': '请执行查询来获取数据。', + Type: '类型', + 'Add field': '添加字段', + 'Add chart': '添加图表', + xField: 'x轴字段', + yField: 'y轴字段', + seriesField: '分类字段', + angleField: '角度字段', + colorField: '颜色字段', + 'Line Chart': '折线图', + 'Area Chart': '面积图', + 'Column Chart': '柱状图', + 'Bar Chart': '条形图', + 'Pie Chart': '饼图', + 'Dual Axes Chart': '双轴图', + 'Scatter Chart': '散点图', + 'Gauge Chart': '仪表盘', + Statistic: '统计', + Currency: '货币', + Percent: '百分比', + Exponential: '科学记数法', + Abbreviation: '缩写', + 'Please configure and run query': '请配置并执行数据查询', + 'Please configure chart': '请配置图表', + 'Are you sure to cancel?': '确定要取消吗?', + 'You changes are not saved. If you click OK, your changes will be lost.': + '您的更改尚未保存。如果您点击“确定”,您的更改将丢失。', + 'Same properties set in the form above will be overwritten by this JSON config.': + '上面表单中设置的相同属性将被JSON配置覆盖。', + 'Built-in': '内置图表', + 'Config reference: ': '配置参考: ', + Table: '表格', + Sum: '求和', + Avg: '平均值', + Count: '计数', + Min: '最小值', + Max: '最大值', + 'Please select a chart type.': '请选择图表类型', +}; diff --git a/packages/plugins/data-visualization/src/client/renderer/ChartLibrary.tsx b/packages/plugins/data-visualization/src/client/renderer/ChartLibrary.tsx new file mode 100644 index 000000000..e420fccbc --- /dev/null +++ b/packages/plugins/data-visualization/src/client/renderer/ChartLibrary.tsx @@ -0,0 +1,178 @@ +import { ISchema } from '@formily/react'; +import React, { createContext, useContext } from 'react'; +import { FieldOption } from '../hooks'; +import { lang } from '../locale'; +import { parseField } from '../utils'; +import { QueryProps } from './ChartRendererProvider'; + +/** + * @params {usePropsFunc} useProps - Accept the information that the chart component needs to render, + * process it and return the props of the chart component. + */ +export type usePropsFunc = (props: { + data: any[]; + fieldProps: { + [field: string]: FieldOption & { + transformer: (val: any) => string; + }; + }; + general: any; + advanced: any; +}) => any; + +export type ChartProps = { + name: string; + component: React.FC; + schema?: ISchema; + useProps?: usePropsFunc; + // The init function is used to initialize the configuration of the chart component from the query configuration. + init?: ( + fields: FieldOption[], + query: { + measures?: QueryProps['measures']; + dimensions?: QueryProps['dimensions']; + }, + ) => { + general?: any; + advanced?: any; + }; + reference?: { + title: string; + link: string; + }; +}; + +export type Charts = { + [type: string]: ChartProps; +}; + +export type ChartLibraries = { + [library: string]: { + enabled: boolean; + charts: Charts; + }; +}; + +export const ChartLibraryContext = createContext({}); + +export const useCharts = (): Charts => { + const library = useContext(ChartLibraryContext); + return Object.values(library) + .filter((l) => l.enabled) + .reduce((charts, l) => ({ ...charts, ...l.charts }), {}); +}; + +export const useChartTypes = (): { + label: string; + children: (ChartProps & { + key: string; + label: string; + value: string; + })[]; +}[] => { + const library = useContext(ChartLibraryContext); + return Object.entries(library) + .filter(([_, l]) => l.enabled) + .reduce((charts, [name, l]) => { + const children = Object.entries(l.charts).map(([type, chart]) => ({ + ...chart, + key: type, + label: chart.name, + value: type, + })); + return [ + ...charts, + { + label: lang(name), + children, + }, + ]; + }, []); +}; + +export const useToggleChartLibrary = () => { + const ctx = useContext(ChartLibraryContext); + return { + toggle: (library: string) => { + ctx[library].enabled = !ctx[library].enabled; + }, + }; +}; + +export const ChartLibraryProvider: React.FC<{ + name: string; + charts: Charts; +}> = (props) => { + const { children, charts, name } = props; + const ctx = useContext(ChartLibraryContext); + const library = { + ...ctx, + [name]: { + charts, + enabled: true, + }, + }; + return {children}; +}; + +export const infer = ( + fields: FieldOption[], + { + measures, + dimensions, + }: { + measures?: QueryProps['measures']; + dimensions?: QueryProps['dimensions']; + }, +) => { + let xField: FieldOption; + let yField: FieldOption; + let seriesField: FieldOption; + let yFields: FieldOption[]; + const getField = (fields: FieldOption[], selected: { field: string | string[]; alias?: string }) => { + if (selected.alias) { + return fields.find((f) => f.value === selected.alias); + } + const { alias } = parseField(selected.field); + return fields.find((f) => f.value === alias); + }; + if (measures?.length) { + yField = getField(fields, measures[0]); + yFields = measures.map((m) => getField(fields, m)); + } + if (dimensions) { + if (dimensions.length === 1) { + xField = getField(fields, dimensions[0]); + } else if (dimensions.length > 1) { + // If there is a time field, it is used as the x-axis field by default. + let xIndex: number; + dimensions.forEach((d, i) => { + const field = getField(fields, d); + if (['date', 'time', 'datetime'].includes(field?.type)) { + xField = field; + xIndex = i; + } + }); + if (xIndex) { + // If there is a time field, the other field is used as the series field by default. + const index = xIndex === 0 ? 1 : 0; + seriesField = getField(fields, dimensions[index]); + } else { + xField = getField(fields, dimensions[0]); + seriesField = getField(fields, dimensions[1]); + } + } + } + return { xField, yField, seriesField, yFields }; +}; + +export const commonInit: ChartProps['init'] = (fields, { measures, dimensions }) => { + const { xField, yField, seriesField } = infer(fields, { measures, dimensions }); + return { + general: { + xField: xField?.value, + yField: yField?.value, + seriesField: seriesField?.value, + }, + }; +}; diff --git a/packages/plugins/data-visualization/src/client/renderer/ChartRenderer.tsx b/packages/plugins/data-visualization/src/client/renderer/ChartRenderer.tsx new file mode 100644 index 000000000..72a1923bf --- /dev/null +++ b/packages/plugins/data-visualization/src/client/renderer/ChartRenderer.tsx @@ -0,0 +1,201 @@ +import { useField, useFieldSchema } from '@formily/react'; +import { + GeneralSchemaDesigner, + gridRowColWrap, + SchemaSettings, + useAPIClient, + useCollection, + useDesignable, + useRequest, +} from '@nocobase/client'; +import { Empty, Result, Typography } from 'antd'; +import React, { useContext, useEffect, useState } from 'react'; +import { ErrorBoundary } from 'react-error-boundary'; +import { ChartConfigContext } from '../block'; +import { useFieldsWithAssociation, useFieldTransformer } from '../hooks'; +import { useChartsTranslation } from '../locale'; +import { createRendererSchema, getField, parseField, processData } from '../utils'; +import { useCharts } from './ChartLibrary'; +import { ChartRendererContext, DimensionProps, MeasureProps, QueryProps } from './ChartRendererProvider'; +const { Paragraph, Text } = Typography; + +export const ChartRenderer: React.FC<{ + configuring?: boolean; + runQuery?: any; +}> & { + Designer: React.FC; +} = (props) => { + const { t } = useChartsTranslation(); + const { setData: setQueryData, current } = useContext(ChartConfigContext); + const { query, config, collection, transform } = useContext(ChartRendererContext); + const { configuring, runQuery } = props; + const general = config?.general || {}; + const advanced = config?.advanced || {}; + const schema = useFieldSchema(); + const currentSchema = schema || current?.schema; + const fields = useFieldsWithAssociation(collection); + const api = useAPIClient(); + const [data, setData] = useState([]); + const { runAsync } = useRequest( + (query) => + api + .request({ + url: 'charts:query', + method: 'POST', + data: { + uid: currentSchema?.['x-uid'], + collection, + ...query, + dimensions: (query?.dimensions || []).map((item: DimensionProps) => { + const dimension = { ...item }; + if (item.format && !item.alias) { + const { alias } = parseField(item.field); + dimension.alias = alias; + } + return dimension; + }), + measures: (query?.measures || []).map((item: MeasureProps) => { + const measure = { ...item }; + if (item.aggregation && !item.alias) { + const { alias } = parseField(item.field); + measure.alias = alias; + } + return measure; + }), + }, + }) + .then((res) => { + const data = res?.data?.data || []; + return processData(fields, data, { t }); + }), + { + manual: true, + onSuccess: (data) => { + setData(data); + }, + onFinally(params, data, error: any) { + if (!configuring) { + return; + } + if (error) { + const message = error?.response?.data?.errors?.map?.((error: any) => error.message).join('\n'); + setQueryData(message || error.message); + return; + } + setQueryData(data); + }, + }, + ); + + useEffect(() => { + setData([]); + const run = async (query: QueryProps) => { + if ( + query?.measures?.length + // || (query?.sql?.fields && query?.sql?.clauses) + ) { + await runAsync(query); + } + }; + if (runQuery) { + runQuery.current = run; + } + run(query); + }, [query, runAsync, runQuery]); + + const charts = useCharts(); + const chart = charts[config?.chartType]; + const Component = chart?.component; + const locale = api.auth.getLocale(); + const transformers = useFieldTransformer(transform, locale); + const info = { + data, + general, + advanced, + fieldProps: Object.keys(data[0] || {}).reduce((props, name) => { + if (!props[name]) { + const field = getField(fields, name.split('.')); + const transformer = transformers[name]; + props[name] = { ...field, transformer }; + } + return props; + }, {}), + locale, + }; + const componentProps = chart?.useProps?.(info) || info; + const C = () => + Component ? ( + { + console.error(error); + }} + FallbackComponent={ErrorFallback} + > + + + ) : ( + + ); + + return data && data.length ? ( + + ) : ( + + ); +}; + +ChartRenderer.Designer = function Designer() { + const { t } = useChartsTranslation(); + const { setVisible, setCurrent } = useContext(ChartConfigContext); + const field = useField(); + const schema = useFieldSchema(); + const { insertAdjacent } = useDesignable(); + const { name, title } = useCollection(); + return ( + + { + setCurrent({ schema, field, collection: name }); + setVisible(true); + }} + > + {t('Configure')} + + + insertAdjacent('afterEnd', createRendererSchema(schema?.['x-decorator-props']), { + wrap: gridRowColWrap, + }) + } + > + {t('Duplicate')} + + + + + + ); +}; + +const ErrorFallback = ({ error }) => { + const { t } = useChartsTranslation(); + + return ( +
+ + + + {error.message} + + + +
+ ); +}; diff --git a/packages/plugins/data-visualization/src/client/renderer/ChartRendererProvider.tsx b/packages/plugins/data-visualization/src/client/renderer/ChartRendererProvider.tsx new file mode 100644 index 000000000..88d293ca7 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/renderer/ChartRendererProvider.tsx @@ -0,0 +1,58 @@ +import { MaybeCollectionProvider } from '@nocobase/client'; +import React, { createContext } from 'react'; + +export type MeasureProps = { + field: string | string[]; + aggregation?: string; + alias?: string; +}; + +export type DimensionProps = { + field: string | string[]; + alias?: string; + format?: string; +}; + +export type TransformProps = { + field: string; + type: string; + format: string; +}; + +export type QueryProps = Partial<{ + measures: MeasureProps[]; + dimensions: DimensionProps[]; + orders: { + field: string; + order: 'asc' | 'desc'; + }[]; + filter: any; + limit: number; + sql: { + fields?: string; + clauses?: string; + }; +}>; + +export type ChartRendererProps = { + collection: string; + query?: QueryProps; + config?: { + chartType: string; + general: any; + advanced: any; + }; + transform?: TransformProps[]; + mode?: 'builder' | 'sql'; +}; + +export const ChartRendererContext = createContext({} as any); + +export const ChartRendererProvider: React.FC = (props) => { + const { collection } = props; + return ( + + {props.children} + + ); +}; diff --git a/packages/plugins/data-visualization/src/client/renderer/index.ts b/packages/plugins/data-visualization/src/client/renderer/index.ts new file mode 100644 index 000000000..f32fc2039 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/renderer/index.ts @@ -0,0 +1,4 @@ +export * from './ChartLibrary'; +export * from './ChartRenderer'; +export * from './ChartRendererProvider'; +export * from './library'; diff --git a/packages/plugins/data-visualization/src/client/renderer/library/AntdLibrary.tsx b/packages/plugins/data-visualization/src/client/renderer/library/AntdLibrary.tsx new file mode 100644 index 000000000..42e036633 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/renderer/library/AntdLibrary.tsx @@ -0,0 +1,94 @@ +import { Statistic, Table } from 'antd'; +import { lang } from '../../locale'; +import { Charts, infer } from '../ChartLibrary'; + +export const AntdLibrary: Charts = { + statistic: { + name: lang('Statistic'), + component: Statistic, + schema: { + type: 'object', + properties: { + field: { + title: lang('Field'), + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-reactions': '{{ useChartFields }}', + required: true, + }, + title: { + title: lang('Title'), + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Input', + }, + }, + }, + init: (fields, { measures, dimensions }) => { + const { yField } = infer(fields, { measures, dimensions }); + return { + general: { + field: yField?.value, + title: yField?.label, + }, + }; + }, + useProps: ({ data, fieldProps, general, advanced }) => { + const record = data[0] || {}; + const field = general?.field; + const props = fieldProps[field]; + return { + value: record[field], + formatter: props?.transformer, + ...general, + ...advanced, + }; + }, + reference: { + title: lang('Statistic'), + link: 'https://ant.design/components/statistic/', + }, + }, + table: { + name: lang('Table'), + component: Table, + useProps: ({ data, fieldProps, general, advanced }) => { + const columns = data.length + ? Object.keys(data[0]).map((item) => ({ + title: fieldProps[item]?.label || item, + dataIndex: item, + key: item, + })) + : []; + const dataSource = data.map((item: any) => { + Object.keys(item).map((key: string) => { + const props = fieldProps[key]; + if (props?.transformer) { + item[key] = props.transformer(item[key]); + } + }); + return item; + }); + const pageSize = advanced?.pagination?.pageSize || 10; + return { + bordered: true, + size: 'middle', + pagination: + dataSource.length < pageSize + ? false + : { + pageSize, + }, + dataSource, + columns, + ...general, + ...advanced, + }; + }, + reference: { + title: lang('Table'), + link: 'https://ant.design/components/table/', + }, + }, +}; diff --git a/packages/plugins/data-visualization/src/client/renderer/library/G2PlotLibrary.tsx b/packages/plugins/data-visualization/src/client/renderer/library/G2PlotLibrary.tsx new file mode 100644 index 000000000..bf8aaadfa --- /dev/null +++ b/packages/plugins/data-visualization/src/client/renderer/library/G2PlotLibrary.tsx @@ -0,0 +1,236 @@ +import { Area, Bar, Column, DualAxes, Line, Pie, Scatter } from '@ant-design/plots'; +import { lang } from '../../locale'; +import { Charts, commonInit, infer, usePropsFunc } from '../ChartLibrary'; +const init = commonInit; + +const basicSchema = { + type: 'object', + properties: { + xField: { + title: lang('xField'), + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-reactions': '{{ useChartFields }}', + required: true, + }, + yField: { + title: lang('yField'), + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-reactions': '{{ useChartFields }}', + required: true, + }, + seriesField: { + title: lang('seriesField'), + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-reactions': '{{ useChartFields }}', + }, + }, +}; + +const useProps: usePropsFunc = ({ data, fieldProps, general, advanced }) => { + const meta = {}; + Object.entries(fieldProps).forEach(([key, props]) => { + meta[key] = { + formatter: props.transformer, + alias: props.label, + }; + }); + return { + data, + meta, + ...general, + ...advanced, + }; +}; + +export const G2PlotLibrary: Charts = { + line: { + name: lang('Line Chart'), + component: Line, + schema: basicSchema, + init, + useProps, + reference: { + title: lang('Line Chart'), + link: 'https://g2plot.antv.antgroup.com/api/plots/bar', + }, + }, + area: { + name: lang('Area Chart'), + component: Area, + schema: basicSchema, + init, + useProps, + reference: { + title: lang('Area Chart'), + link: 'https://g2plot.antv.antgroup.com/api/plots/area', + }, + }, + column: { + name: lang('Column Chart'), + component: Column, + schema: basicSchema, + init, + useProps, + reference: { + title: lang('Column Chart'), + link: 'https://g2plot.antv.antgroup.com/api/plots/column', + }, + }, + bar: { + name: lang('Bar Chart'), + component: Bar, + schema: basicSchema, + init: (fields, { measures, dimensions }) => { + const { xField, yField, seriesField } = infer(fields, { measures, dimensions }); + return { + general: { + xField: yField?.value, + yField: xField?.value, + seriesField: seriesField?.value, + }, + }; + }, + useProps, + reference: { + title: lang('Bar Chart'), + link: 'https://g2plot.antv.antgroup.com/api/plots/bar', + }, + }, + pie: { + name: lang('Pie Chart'), + component: Pie, + schema: { + type: 'object', + properties: { + angleField: { + title: lang('angleField'), + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-reactions': '{{ useChartFields }}', + required: true, + }, + colorField: { + title: lang('colorField'), + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-reactions': '{{ useChartFields }}', + required: true, + }, + }, + }, + init: (fields, { measures, dimensions }) => { + const { xField, yField } = infer(fields, { measures, dimensions }); + return { + general: { + colorField: xField?.value, + angleField: yField?.value, + }, + }; + }, + useProps, + reference: { + title: lang('Pie Chart'), + link: 'https://g2plot.antv.antgroup.com/api/plots/pie', + }, + }, + dualAxes: { + name: lang('Dual Axes Chart'), + component: DualAxes, + useProps: ({ data, fieldProps, general, advanced }) => { + return { + ...useProps({ data, fieldProps, general, advanced }), + data: [data, data], + }; + }, + schema: { + type: 'object', + properties: { + xField: { + title: lang('xField'), + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-reactions': '{{ useChartFields }}', + required: true, + }, + yField: { + title: lang('yField'), + type: 'array', + 'x-decorator': 'FormItem', + 'x-component': 'ArrayItems', + items: { + type: 'void', + 'x-component': 'Space', + properties: { + sort: { + type: 'void', + 'x-decorator': 'FormItem', + 'x-component': 'ArrayItems.SortHandle', + }, + input: { + type: 'string', + 'x-decorator': 'FormItem', + 'x-component': 'Select', + 'x-reactions': '{{ useChartFields }}', + 'x-component-props': { + style: { + 'min-width': '200px', + }, + }, + required: true, + }, + remove: { + type: 'void', + 'x-decorator': 'FormItem', + 'x-component': 'ArrayItems.Remove', + }, + }, + }, + properties: { + add: { + type: 'void', + title: lang('Add'), + 'x-component': 'ArrayItems.Addition', + }, + }, + }, + }, + }, + init: (fields, { measures, dimensions }) => { + const { xField, yFields } = infer(fields, { measures, dimensions }); + return { + general: { + xField: xField?.value, + yField: yFields?.map((f) => f.value).slice(0, 2) || [], + }, + }; + }, + reference: { + title: lang('Dual Axes Chart'), + link: 'https://g2plot.antv.antgroup.com/api/plots/dual-axes', + }, + }, + // gauge: { + // name: lang('Gauge Chart'), + // component: Gauge, + // }, + scatter: { + name: lang('Scatter Chart'), + component: Scatter, + schema: basicSchema, + init, + useProps, + reference: { + title: lang('Scatter Chart'), + link: 'https://g2plot.antv.antgroup.com/api/plots/scatter', + }, + }, +}; diff --git a/packages/plugins/data-visualization/src/client/renderer/library/index.tsx b/packages/plugins/data-visualization/src/client/renderer/library/index.tsx new file mode 100644 index 000000000..0b98bf3aa --- /dev/null +++ b/packages/plugins/data-visualization/src/client/renderer/library/index.tsx @@ -0,0 +1,4 @@ +import { AntdLibrary } from './AntdLibrary'; +import { G2PlotLibrary } from './G2PlotLibrary'; + +export const InternalLibrary = { ...G2PlotLibrary, ...AntdLibrary }; diff --git a/packages/plugins/data-visualization/src/client/utils.ts b/packages/plugins/data-visualization/src/client/utils.ts new file mode 100644 index 000000000..ae465ac92 --- /dev/null +++ b/packages/plugins/data-visualization/src/client/utils.ts @@ -0,0 +1,102 @@ +import { Schema } from '@formily/react'; +import { uid } from '@formily/shared'; +import { SelectedField } from './block'; +import { FieldOption } from './hooks'; +import { QueryProps } from './renderer'; + +export const createRendererSchema = (decoratorProps: any, componentProps = {}) => { + const { collection } = decoratorProps; + return { + type: 'void', + 'x-decorator': 'ChartRendererProvider', + 'x-decorator-props': decoratorProps, + 'x-acl-action': `${collection}:list`, + 'x-designer': 'ChartRenderer.Designer', + 'x-component': 'CardItem', + 'x-component-props': { + size: 'small', + }, + 'x-initializer': 'ChartInitializers', + properties: { + [uid()]: { + type: 'void', + 'x-component': 'ChartRenderer', + 'x-component-props': componentProps, + }, + }, + }; +}; + +// For AssociationField, the format of field is [targetField, field] +export const parseField = (field: string | string[]) => { + let target: string; + let name: string; + if (!Array.isArray(field)) { + name = field; + } else if (field.length === 1) { + name = field[0]; + } else if (field.length > 1) { + [target, name] = field; + } + return { target, name, alias: target ? `${target}.${name}` : name }; +}; + +export const getField = (fields: FieldOption[], field: string | string[]) => { + const { target, name } = parseField(field); + if (!target) { + return fields.find((f) => f.name === name); + } + const targetField = fields.find((f) => f.name === target)?.targetFields?.find((f) => f.name === name); + return targetField; +}; + +export const getSelectedFields = (fields: FieldOption[], query: QueryProps) => { + // When field alias is set, appends it to the field list + const process = (selectedFields: SelectedField[]) => { + return selectedFields.map((selectedField) => { + const fieldProps = getField(fields, selectedField.field); + return { + ...fieldProps, + key: selectedField.alias || fieldProps?.key, + label: selectedField.alias || fieldProps?.label, + value: selectedField.alias || fieldProps?.value, + }; + }); + }; + const measures = query.measures || []; + const dimensions = query.dimensions || []; + // unique + const map = new Map([...process(measures), ...process(dimensions)].map((item) => [item.value, item])); + const selectedFields = [...map.values()]; + return selectedFields; +}; + +export const processData = (fields: FieldOption[], data: any[], scope: any) => { + const parseEnum = (field: FieldOption, value: any) => { + const options = field.uiSchema?.enum as { value: string; label: string }[]; + if (!options || !Array.isArray(options)) { + return value; + } + const option = options.find((option) => option.value === value); + return Schema.compile(option?.label || value, scope); + }; + return data.map((record) => { + const processed = {}; + Object.entries(record).forEach(([key, value]) => { + const field = getField(fields, key.split('.')); + if (!field) { + processed[key] = value; + return; + } + switch (field.interface) { + case 'select': + case 'radioGroup': + processed[key] = parseEnum(field, value); + break; + default: + processed[key] = value; + } + }); + return processed; + }); +}; diff --git a/packages/plugins/data-visualization/src/index.ts b/packages/plugins/data-visualization/src/index.ts new file mode 100644 index 000000000..7ddad5814 --- /dev/null +++ b/packages/plugins/data-visualization/src/index.ts @@ -0,0 +1 @@ +export { default } from './server'; diff --git a/packages/plugins/data-visualization/src/server/__tests__/api.test.ts b/packages/plugins/data-visualization/src/server/__tests__/api.test.ts new file mode 100644 index 000000000..d7526c4ae --- /dev/null +++ b/packages/plugins/data-visualization/src/server/__tests__/api.test.ts @@ -0,0 +1,105 @@ +import { Database } from '@nocobase/database'; +import { MockServer, mockServer } from '@nocobase/test'; +import { queryData } from '../actions/query'; +import ChartsV2Plugin from '../plugin'; + +describe('api', () => { + let app: MockServer; + let db: Database; + + beforeAll(async () => { + app = mockServer({ + acl: true, + plugins: ['users', 'auth'], + }); + app.plugin(ChartsV2Plugin); + await app.loadAndInstall({ clean: true }); + db = app.db; + + db.collection({ + name: 'chart_test', + fields: [ + { + type: 'double', + name: 'price', + }, + { + type: 'bigInt', + name: 'count', + }, + { + type: 'string', + name: 'title', + }, + { + type: 'date', + name: 'createdAt', + }, + ], + }); + await db.sync(); + const repo = db.getRepository('chart_test'); + await repo.create({ + values: [ + { price: 1, count: 1, title: 'title1' }, + { price: 2, count: 2, title: 'title2' }, + ], + }); + }); + + afterAll(async () => { + await db.close(); + }); + + test('query', () => { + expect.assertions(1); + return expect( + queryData({ db } as any, { + collection: 'chart_test', + measures: [ + { + field: ['price'], + alias: 'Price', + }, + { + field: ['count'], + alias: 'Count', + }, + ], + dimensions: [ + { + field: ['title'], + alias: 'Title', + }, + ], + }), + ).resolves.toBeDefined(); + }); + + test('query with sort', () => { + expect.assertions(1); + return expect( + queryData({ db } as any, { + collection: 'chart_test', + measures: [ + { + field: ['price'], + aggregation: 'sum', + alias: 'Price', + }, + ], + dimensions: [ + { + field: ['title'], + alias: 'Title', + }, + { + field: ['createdAt'], + format: 'YYYY', + }, + ], + orders: [{ field: 'createdAt', order: 'asc' }], + }), + ).resolves.toBeDefined(); + }); +}); diff --git a/packages/plugins/data-visualization/src/server/__tests__/formatter.test.ts b/packages/plugins/data-visualization/src/server/__tests__/formatter.test.ts new file mode 100644 index 000000000..8fa597497 --- /dev/null +++ b/packages/plugins/data-visualization/src/server/__tests__/formatter.test.ts @@ -0,0 +1,49 @@ +import { dateFormatFn } from '../actions/formatter'; + +describe('formatter', () => { + const field = 'field'; + const format = 'YYYY-MM-DD hh:mm:ss'; + describe('dateFormatFn', () => { + it('should return correct format for sqlite', () => { + const sequelize = { + fn: jest.fn().mockImplementation((fn: string, format: string, field: string) => ({ + fn, + format, + field, + })), + col: jest.fn().mockImplementation((field: string) => field), + }; + const dialect = 'sqlite'; + const result = dateFormatFn(sequelize, dialect, field, format); + expect(result.format).toEqual('%Y-%m-%d %H:%M:%S'); + }); + + it('should return correct format for mysql', () => { + const sequelize = { + fn: jest.fn().mockImplementation((fn: string, field: string, format: string) => ({ + fn, + format, + field, + })), + col: jest.fn().mockImplementation((field: string) => field), + }; + const dialect = 'mysql'; + const result = dateFormatFn(sequelize, dialect, field, format); + expect(result.format).toEqual('%Y-%m-%d %H:%i:%S'); + }); + + it('should return correct format for postgres', () => { + const sequelize = { + fn: jest.fn().mockImplementation((fn: string, field: string, format: string) => ({ + fn, + format, + field, + })), + col: jest.fn().mockImplementation((field: string) => field), + }; + const dialect = 'postgres'; + const result = dateFormatFn(sequelize, dialect, field, format); + expect(result.format).toEqual('YYYY-MM-DD HH24:MI:SS'); + }); + }); +}); diff --git a/packages/plugins/data-visualization/src/server/__tests__/query.test.ts b/packages/plugins/data-visualization/src/server/__tests__/query.test.ts new file mode 100644 index 000000000..1623c2cbf --- /dev/null +++ b/packages/plugins/data-visualization/src/server/__tests__/query.test.ts @@ -0,0 +1,220 @@ +import { MockServer, mockServer } from '@nocobase/test'; +import * as formatter from '../actions/formatter'; +import { cacheWrap, parseBuilder, parseFieldAndAssociations } from '../actions/query'; + +describe('query', () => { + describe('parseBuilder', () => { + const sequelize = { + fn: jest.fn().mockImplementation((fn: string, field: string) => [fn, field]), + col: jest.fn().mockImplementation((field: string) => field), + }; + let ctx: any; + let app: MockServer; + + beforeAll(() => { + app = mockServer(); + app.db.collection({ + name: 'orders', + fields: [ + { + name: 'id', + type: 'bigInt', + }, + { + name: 'price', + type: 'double', + }, + { + name: 'createdAt', + type: 'date', + }, + { + type: 'belongsTo', + name: 'user', + target: 'users', + targetKey: 'id', + foreignKey: 'userId', + }, + ], + }); + app.db.collection({ + name: 'users', + fields: [ + { + name: 'id', + type: 'bigInt', + }, + { + name: 'name', + type: 'string', + }, + ], + }); + ctx = { + db: { + sequelize, + getRepository: (name: string) => app.db.getRepository(name), + getModel: (name: string) => app.db.getModel(name), + getCollection: (name: string) => app.db.getCollection(name), + options: { + underscored: true, + }, + }, + }; + }); + + it('should parse field and associations', () => { + const associations = parseFieldAndAssociations(ctx, { + collection: 'orders', + measures: [{ field: ['price'], aggregation: 'sum', alias: 'price' }], + dimensions: [{ field: ['createdAt'] }, { field: ['user', 'name'] }], + }); + expect(associations).toMatchObject({ + measures: [{ field: 'orders.price', aggregation: 'sum', alias: 'price', type: 'double' }], + dimensions: [ + { field: 'orders.created_at', alias: 'createdAt', type: 'date' }, + { field: 'user.name', alias: 'user.name' }, + ], + include: [{ association: 'user' }], + }); + }); + + it('should parse measures', () => { + const measures1 = [ + { + field: ['price'], + }, + ]; + const { queryParams: result1 } = parseBuilder(ctx, { collection: 'orders', measures: measures1 }); + expect(result1.attributes).toEqual([['orders.price', 'price']]); + + const measures2 = [ + { + field: ['price'], + aggregation: 'sum', + alias: 'price-alias', + }, + ]; + const { queryParams: result2 } = parseBuilder(ctx, { collection: 'orders', measures: measures2 }); + expect(result2.attributes).toEqual([[['sum', 'orders.price'], 'price-alias']]); + }); + + it('should parse dimensions', () => { + jest.spyOn(formatter, 'formatter').mockReturnValue('formatted-field'); + const dimensions = [ + { + field: ['createdAt'], + format: 'YYYY-MM-DD', + alias: 'Created at', + }, + ]; + const { queryParams: result } = parseBuilder(ctx, { collection: 'orders', dimensions }); + expect(result.attributes).toEqual([['formatted-field', 'Created at']]); + expect(result.group).toEqual([]); + + const measures = [ + { + field: ['field'], + aggregation: 'sum', + }, + ]; + const { queryParams: result2 } = parseBuilder(ctx, { collection: 'orders', measures, dimensions }); + expect(result2.group).toEqual(['formatted-field']); + }); + + it('should parse filter', () => { + const filter = { + createdAt: { + $gt: '2020-01-01', + }, + }; + const { queryParams: result } = parseBuilder(ctx, { collection: 'orders', filter }); + expect(result.where.createdAt).toBeDefined(); + }); + }); + + describe('cacheWrap', () => { + const key = 'test-key'; + const value = 'test-val'; + class MockCache { + map: Map = new Map(); + async func() { + return value; + } + + get(key: string) { + return this.map.get(key); + } + set(key: string, value: any) { + this.map.set(key, value); + } + } + let cache: any; + let query: () => Promise; + + beforeEach(() => { + cache = new MockCache(); + }); + + it('should use cache', async () => { + query = async () => + await cacheWrap(cache, { + key, + func: cache.func, + useCache: true, + refresh: false, + }); + + const spy = jest.spyOn(cache, 'func'); + expect(cache.get(key)).toBeUndefined(); + const result = await query(); + expect(cache.func).toBeCalled(); + expect(result).toEqual(value); + expect(cache.get(key)).toEqual(value); + + spy.mockReset(); + const result2 = await query(); + expect(result2).toEqual(value); + expect(cache.func).not.toBeCalled(); + }); + + it('should not use cache', async () => { + query = async () => + await cacheWrap(cache, { + key, + func: cache.func, + useCache: false, + refresh: false, + }); + + cache.set(key, value); + expect(cache.get(key)).toBeDefined(); + jest.spyOn(cache, 'func'); + const result = await query(); + expect(cache.func).toBeCalled(); + expect(result).toEqual(value); + }); + + it('should refresh', async () => { + query = async () => + await cacheWrap(cache, { + key, + func: cache.func, + useCache: true, + refresh: true, + }); + + const spy = jest.spyOn(cache, 'func'); + expect(cache.get(key)).toBeUndefined(); + const result = await query(); + expect(cache.func).toBeCalled(); + expect(result).toEqual(value); + expect(cache.get(key)).toEqual(value); + + spy.mockClear(); + const result2 = await query(); + expect(cache.func).toBeCalled(); + expect(result2).toEqual(value); + }); + }); +}); diff --git a/packages/plugins/data-visualization/src/server/actions/formatter.ts b/packages/plugins/data-visualization/src/server/actions/formatter.ts new file mode 100644 index 000000000..850872368 --- /dev/null +++ b/packages/plugins/data-visualization/src/server/actions/formatter.ts @@ -0,0 +1,49 @@ +export const dateFormatFn = (sequelize: any, dialect: string, field: string, format: string) => { + switch (dialect) { + case 'sqlite': + format = format + .replace(/YYYY/g, '%Y') + .replace(/MM/g, '%m') + .replace(/DD/g, '%d') + .replace(/hh/g, '%H') + .replace(/mm/g, '%M') + .replace(/ss/g, '%S'); + return sequelize.fn('strftime', format, sequelize.col(field)); + case 'mysql': + format = format + .replace(/YYYY/g, '%Y') + .replace(/MM/g, '%m') + .replace(/DD/g, '%d') + .replace(/hh/g, '%H') + .replace(/mm/g, '%i') + .replace(/ss/g, '%S'); + return sequelize.fn('date_format', sequelize.col(field), format); + case 'postgres': + format = format.replace(/hh/g, 'HH24').replace(/mm/g, 'MI').replace(/ss/g, 'SS'); + return sequelize.fn('to_char', sequelize.col(field), format); + default: + return field; + } +}; + +export const formatFn = (sequelize: any, dialect: string, field: string, format: string) => { + switch (dialect) { + case 'sqlite': + case 'postgres': + return sequelize.fn('format', format, sequelize.col(field)); + default: + return field; + } +}; + +export const formatter = (sequelize: any, type: string, field: string, format: string) => { + const dialect = sequelize.getDialect(); + switch (type) { + case 'date': + case 'datetime': + case 'time': + return dateFormatFn(sequelize, dialect, field, format); + default: + return formatFn(sequelize, dialect, field, format); + } +}; diff --git a/packages/plugins/data-visualization/src/server/actions/query.ts b/packages/plugins/data-visualization/src/server/actions/query.ts new file mode 100644 index 000000000..5ffd07b35 --- /dev/null +++ b/packages/plugins/data-visualization/src/server/actions/query.ts @@ -0,0 +1,285 @@ +import { Context, Next } from '@nocobase/actions'; +import { Cache } from '@nocobase/cache'; +import { FilterParser, snakeCase } from '@nocobase/database'; +import ChartsV2Plugin from '../plugin'; +import { formatter } from './formatter'; + +type MeasureProps = { + field: string | string[]; + type?: string; + aggregation?: string; + alias?: string; +}; + +type DimensionProps = { + field: string | string[]; + type?: string; + alias?: string; + format?: string; +}; + +type OrderProps = { + field: string | string[]; + alias?: string; + order?: 'asc' | 'desc'; +}; + +type QueryParams = Partial<{ + uid: string; + collection: string; + measures: MeasureProps[]; + dimensions: DimensionProps[]; + orders: OrderProps[]; + filter: any; + limit: number; + sql: { + fields?: string; + clauses?: string; + }; + cache: { + enabled: boolean; + ttl: number; + }; + // Get the latest data from the database + refresh: boolean; +}>; + +export const parseFieldAndAssociations = (ctx: Context, params: QueryParams) => { + const { collection: collectionName, measures, dimensions, orders, filter } = params; + const collection = ctx.db.getCollection(collectionName); + const fields = collection.fields; + const underscored = ctx.db.options.underscored; + const models: { + [target: string]: { + type: string; + }; + } = {}; + const parseField = (selected: { field: string | string[]; alias?: string }) => { + let target: string; + let name: string; + if (!Array.isArray(selected.field)) { + name = selected.field; + } else if (selected.field.length === 1) { + name = selected.field[0]; + } else if (selected.field.length > 1) { + [target, name] = selected.field; + } + let field = underscored ? snakeCase(name) : name; + let type = fields.get(name)?.type; + if (target) { + field = `${target}.${field}`; + name = `${target}.${name}`; + type = fields.get(target)?.type; + if (!models[target]) { + models[target] = { type }; + } + } else { + field = `${collectionName}.${field}`; + } + return { + ...selected, + field, + name, + type, + alias: selected.alias || name, + }; + }; + + const parsedMeasures = measures?.map(parseField) || []; + const parsedDimensions = dimensions?.map(parseField) || []; + const parsedOrders = orders?.map(parseField) || []; + const include = Object.entries(models).map(([target, { type }]) => ({ + association: target, + attributes: [], + ...(type === 'belongsToMany' ? { through: { attributes: [] } } : {}), + })); + + const filterParser = new FilterParser(filter, { + collection, + }); + const { where, include: filterInclude } = filterParser.toSequelizeParams(); + const parsedFilterInclude = filterInclude?.map((item) => { + if (fields.get(item.association)?.type === 'belongsToMany') { + item.through = { attributes: [] }; + } + return item; + }); + + return { + where, + measures: parsedMeasures, + dimensions: parsedDimensions, + orders: parsedOrders, + include: [...include, ...(parsedFilterInclude || [])], + }; +}; + +export const parseBuilder = (ctx: Context, builder: QueryParams) => { + const { sequelize } = ctx.db; + const { limit } = builder; + const { measures, dimensions, orders, include, where } = parseFieldAndAssociations(ctx, builder); + const attributes = []; + const group = []; + const order = []; + const fieldMap = {}; + let hasAgg = false; + + measures.forEach((measure: MeasureProps & { field: string }) => { + const { field, aggregation, alias } = measure; + const attribute = []; + const col = sequelize.col(field); + if (aggregation) { + hasAgg = true; + attribute.push(sequelize.fn(aggregation, col)); + } else { + attribute.push(col); + } + if (alias) { + attribute.push(alias); + } + attributes.push(attribute.length > 1 ? attribute : attribute[0]); + fieldMap[alias || field] = measure; + }); + + dimensions.forEach((dimension: DimensionProps & { field: string }) => { + const { field, format, alias, type } = dimension; + const attribute = []; + const col = sequelize.col(field); + if (format) { + attribute.push(formatter(sequelize, type, field, format)); + } else { + attribute.push(col); + } + if (alias) { + attribute.push(alias); + } + attributes.push(attribute.length > 1 ? attribute : attribute[0]); + if (hasAgg) { + group.push(attribute[0]); + } + fieldMap[alias || field] = dimension; + }); + + orders.forEach((item: OrderProps) => { + const name = hasAgg ? sequelize.literal(`"${item.alias}"`) : sequelize.col(item.field as string); + order.push([name, item.order || 'ASC']); + }); + + return { + queryParams: { + where, + attributes, + include, + group, + order, + limit: limit > 2000 ? 2000 : limit, + raw: true, + }, + fieldMap, + }; +}; + +export const processData = (ctx: Context, data: any[], fieldMap: { [source: string]: { type?: string } }) => { + const { sequelize } = ctx.db; + const dialect = sequelize.getDialect(); + switch (dialect) { + case 'postgres': + // https://github.com/sequelize/sequelize/issues/4550 + return data.map((record) => { + const result = {}; + Object.entries(record).forEach(([key, value]) => { + const { type } = fieldMap[key] || {}; + switch (type) { + case 'bigInt': + case 'integer': + case 'float': + case 'double': + value = Number(value); + break; + } + result[key] = value; + }); + return result; + }); + default: + return data; + } +}; + +export const queryData = async (ctx: Context, builder: QueryParams) => { + const { collection, measures, dimensions, orders, filter, limit, sql } = builder; + const model = ctx.db.getModel(collection); + const { queryParams, fieldMap } = parseBuilder(ctx, { collection, measures, dimensions, orders, filter, limit }); + const data = await model.findAll(queryParams); + return processData(ctx, data, fieldMap); + // if (!sql) { + // return await repository.find(parseBuilder(ctx, { collection, measures, dimensions, orders, filter, limit })); + // } + + // const statement = `SELECT ${sql.fields} FROM ${collection} ${sql.clauses}`; + // const [data] = await ctx.db.sequelize.query(statement); + // return data; +}; + +export const cacheWrap = async ( + cache: Cache, + options: { + func: () => Promise; + key: string; + ttl?: number; + useCache?: boolean; + refresh?: boolean; + }, +) => { + const { func, key, ttl, useCache, refresh } = options; + if (useCache && !refresh) { + const data = await cache.get(key); + if (data) { + return data; + } + } + const data = await func(); + if (useCache) { + await cache.set(key, data, ttl); + } + return data; +}; + +export const query = async (ctx: Context, next: Next) => { + const { + uid, + collection, + measures, + dimensions, + orders, + filter, + limit, + sql, + cache: cacheConfig, + refresh, + } = ctx.action.params.values as QueryParams; + const roleName = ctx.state.currentRole || 'anonymous'; + const can = ctx.app.acl.can({ role: roleName, resource: collection, action: 'list' }); + if (!can && roleName !== 'root') { + ctx.throw(403, 'No permissions'); + } + + const plugin = ctx.app.getPlugin('data-visualization') as ChartsV2Plugin; + const cache = plugin.cache; + const useCache = cacheConfig?.enabled && uid; + + try { + ctx.body = await cacheWrap(cache, { + func: async () => await queryData(ctx, { collection, measures, dimensions, orders, filter, limit, sql }), + key: uid, + ttl: cacheConfig?.ttl || 30, + useCache: useCache ? true : false, + refresh, + }); + } catch (err) { + ctx.app.logger.error('charts query: ', err); + ctx.throw(500, err); + } + + await next(); +}; diff --git a/packages/plugins/data-visualization/src/server/collections/.gitkeep b/packages/plugins/data-visualization/src/server/collections/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/packages/plugins/data-visualization/src/server/index.ts b/packages/plugins/data-visualization/src/server/index.ts new file mode 100644 index 000000000..b68aea57f --- /dev/null +++ b/packages/plugins/data-visualization/src/server/index.ts @@ -0,0 +1 @@ +export { default } from './plugin'; diff --git a/packages/plugins/data-visualization/src/server/plugin.ts b/packages/plugins/data-visualization/src/server/plugin.ts new file mode 100644 index 000000000..492dbe6ea --- /dev/null +++ b/packages/plugins/data-visualization/src/server/plugin.ts @@ -0,0 +1,37 @@ +import { Cache, createCache } from '@nocobase/cache'; +import { InstallOptions, Plugin } from '@nocobase/server'; +import { query } from './actions/query'; + +export class DataVisualizationPlugin extends Plugin { + cache: Cache; + + afterAdd() {} + + beforeLoad() { + this.app.resource({ + name: 'charts', + actions: { + query, + }, + }); + this.app.acl.allow('charts', 'query', 'loggedIn'); + } + + async load() { + this.cache = createCache({ + ttl: 30, // seconds + max: 1000, + store: 'memory', + }); + } + + async install(options?: InstallOptions) {} + + async afterEnable() {} + + async afterDisable() {} + + async remove() {} +} + +export default DataVisualizationPlugin; diff --git a/packages/plugins/error-handler/package.json b/packages/plugins/error-handler/package.json index 15aad3775..d503a77dd 100644 --- a/packages/plugins/error-handler/package.json +++ b/packages/plugins/error-handler/package.json @@ -18,4 +18,4 @@ "directory": "packages/plugin-error-handler" }, "gitHead": "ce588eefb0bfc50f7d5bbee575e0b5e843bf6644" -} +} \ No newline at end of file diff --git a/packages/plugins/mobile-client/package.json b/packages/plugins/mobile-client/package.json index b945959cf..46e20b0f2 100644 --- a/packages/plugins/mobile-client/package.json +++ b/packages/plugins/mobile-client/package.json @@ -24,4 +24,4 @@ "dependencies": { "antd-mobile": "^5.29.1" } -} +} \ No newline at end of file diff --git a/packages/plugins/ui-schema-storage/package.json b/packages/plugins/ui-schema-storage/package.json index 053e6e969..8223aeb5b 100644 --- a/packages/plugins/ui-schema-storage/package.json +++ b/packages/plugins/ui-schema-storage/package.json @@ -13,4 +13,4 @@ "@nocobase/test": "0.10.0-alpha.5" }, "gitHead": "ce588eefb0bfc50f7d5bbee575e0b5e843bf6644" -} +} \ No newline at end of file diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 6a2a447ca..749a99d34 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -14,6 +14,7 @@ "@nocobase/plugin-client": "0.10.0-alpha.5", "@nocobase/plugin-collection-manager": "0.10.0-alpha.5", "@nocobase/plugin-duplicator": "0.10.0-alpha.5", + "@nocobase/plugin-data-visualization": "0.10.0-alpha.5", "@nocobase/plugin-error-handler": "0.10.0-alpha.5", "@nocobase/plugin-excel-formula-field": "0.10.0-alpha.5", "@nocobase/plugin-export": "0.10.0-alpha.5", @@ -47,4 +48,4 @@ "directory": "packages/presets/nocobase" }, "gitHead": "ce588eefb0bfc50f7d5bbee575e0b5e843bf6644" -} +} \ No newline at end of file diff --git a/packages/presets/nocobase/src/index.ts b/packages/presets/nocobase/src/index.ts index d18bfb78a..9b8425103 100644 --- a/packages/presets/nocobase/src/index.ts +++ b/packages/presets/nocobase/src/index.ts @@ -24,6 +24,7 @@ export class PresetNocoBase extends Plugin { 'iframe-block', 'formula-field', 'charts', + 'data-visualization', 'auth', 'sms-auth', ]; diff --git a/yarn.lock b/yarn.lock index 0ea9e4f3f..3a96e22aa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,7 +5,6 @@ "@adobe/css-tools@^4.0.1": version "4.2.0" resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.2.0.tgz#e1a84fca468f4b337816fcb7f0964beb620ba855" - integrity sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA== "@alicloud/credentials@^2": version "2.2.6" @@ -132,14 +131,12 @@ "@ant-design/colors@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.0.tgz#eb7eecead124c3533aea05d61254f0a17f2b61b3" - integrity sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg== dependencies: "@ctrl/tinycolor" "^3.4.0" "@ant-design/cssinjs@^1", "@ant-design/cssinjs@^1.9.1": version "1.9.1" resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.9.1.tgz#cc2e602afab14c795af20fd22b3f9d5ccf304d8a" - integrity sha512-CZt1vCMs/sY7RoacYuIkZwQmb8Bhp99ReNNE9Y8lnUzik8fmCdKAQA7ecvVOFwmNFdcBHga7ye/XIRrsbkiqWw== dependencies: "@babel/runtime" "^7.11.1" "@emotion/hash" "^0.8.0" @@ -166,7 +163,6 @@ "@ant-design/icons@^5.0.0", "@ant-design/icons@^5.1.0": version "5.1.4" resolved "https://registry.npmmirror.com/@ant-design/icons/-/icons-5.1.4.tgz#614e29e26d092c2c1c1a2acbc0d84434d8d1474e" - integrity sha512-YHKL7Jx3bM12OxvtiYDon04BsBT/6LGitYEqar3GljzWaAyMOAD8i/uF1Rsi5Us/YNdWWXBGSvZV2OZWMpJlcA== dependencies: "@ant-design/colors" "^7.0.0" "@ant-design/icons-svg" "^4.2.1" @@ -177,7 +173,6 @@ "@ant-design/icons@^5.1.3": version "5.1.3" resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.1.3.tgz#950dc7e809e23166fe8f76759f54d267603d7c83" - integrity sha512-vajYXDkzRQevAJwXgbFzVJ3970nKYqGjX+0+L5/FJcPbItSco32U1k06K9wC0OochLfL/z0U13JN1BsniqMYsA== dependencies: "@ant-design/colors" "^7.0.0" "@ant-design/icons-svg" "^4.2.1" @@ -185,10 +180,17 @@ classnames "^2.2.6" rc-util "^5.31.1" +"@ant-design/plots@^1.2.5": + version "1.2.5" + resolved "https://registry.npmmirror.com/@ant-design/plots/-/plots-1.2.5.tgz#404caf0e2c8d052590fe080c6f0fdf0e0c3119ab" + dependencies: + "@antv/g2plot" "^2.2.11" + "@antv/util" "^2.0.9" + react-content-loader "^5.0.4" + "@ant-design/pro-layout@^7.14.3": version "7.14.3" resolved "https://registry.npmmirror.com/@ant-design/pro-layout/-/pro-layout-7.14.3.tgz#01063883a334060c41b72ec084c3e83200673952" - integrity sha512-FcKj23f/laod2hfSSYfBbkjb9r74lZLgan8dylI+tngQnZKQc1o1a1f9If7CggkrhEdgDyIkIyFl9Ii/tfDa+A== dependencies: "@ant-design/icons" "^5.0.0" "@ant-design/pro-provider" "^2.10.2" @@ -210,7 +212,6 @@ "@ant-design/pro-provider@^2.10.2": version "2.10.2" resolved "https://registry.npmmirror.com/@ant-design/pro-provider/-/pro-provider-2.10.2.tgz#3338afa88f35fe06da8f3573e7cf31c323cad456" - integrity sha512-I0wfnP/fJUgGrl/9P5haMtITg8oHe2NOm83QKFVjqQWGYnA2V4O5rVqD+vdWveuaJ6rtCW8mEoeelfHF6nOnxw== dependencies: "@ant-design/cssinjs" "^1.9.1" "@babel/runtime" "^7.18.0" @@ -221,7 +222,6 @@ "@ant-design/pro-utils@^2.11.3": version "2.11.3" resolved "https://registry.npmmirror.com/@ant-design/pro-utils/-/pro-utils-2.11.3.tgz#847da90763f4157bc5e273bf0aa018af13ec28ae" - integrity sha512-Sd2oHzhQlSJ0svaD3Ih3v2VeXPnYWwJ05ul+ek8i9GWAGnFWD0yDTawGj7pDZwCQwJYaLpAzPHhfNvq3Led0/w== dependencies: "@ant-design/icons" "^5.0.0" "@ant-design/pro-provider" "^2.10.2" @@ -244,7 +244,6 @@ "@ant-design/react-slick@~1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.0.1.tgz#af10e67ef9a233df5610c36313a5c804ccc2ae6b" - integrity sha512-ARM0TmpGdDuUVE10NwUCENQlJSInNKo5NiBjL5szu5BxWNEHNwQMcDrlVCqFbkvFLy+2CvywW8Y59QJtC0YDag== dependencies: "@babel/runtime" "^7.10.4" classnames "^2.2.5" @@ -255,7 +254,6 @@ "@antfu/install-pkg@^0.1.1": version "0.1.1" resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-0.1.1.tgz#157bb04f0de8100b9e4c01734db1a6c77e98bbb5" - integrity sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ== dependencies: execa "^5.1.1" find-up "^5.0.0" @@ -263,7 +261,6 @@ "@antfu/utils@^0.7.2": version "0.7.2" resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.7.2.tgz#3bb6f37a6b188056fe9e2f363b6aa735ed65d7ca" - integrity sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g== "@antv/adjust@^0.2.1": version "0.2.5" @@ -385,7 +382,7 @@ "@antv/util" "~2.0.5" tslib "^2.0.0" -"@antv/g2plot@^2.4.18": +"@antv/g2plot@^2.2.11", "@antv/g2plot@^2.4.18": version "2.4.31" resolved "https://registry.yarnpkg.com/@antv/g2plot/-/g2plot-2.4.31.tgz#b444aee07d06939949eaa8ba8f8e93f948634aa5" dependencies: @@ -469,7 +466,6 @@ "@arvinxu/layout-kit@^1": version "1.4.0" resolved "https://registry.yarnpkg.com/@arvinxu/layout-kit/-/layout-kit-1.4.0.tgz#8bcb4328a19b76a1aed2614730c330616b6ca29f" - integrity sha512-dEsmFwZa/NJ2XvDBL4sCPbgFPvCvpxP+G+90Ay9zqN92vc4YbgVo4NjpjsDihiNqwDQjWhasGCC3+v4w7bdYqg== dependencies: styled-components "^5.3.3" @@ -1352,7 +1348,6 @@ "@babel/code-frame@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" - integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== dependencies: "@babel/highlight" "^7.22.5" @@ -1363,12 +1358,10 @@ "@babel/compat-data@^7.22.0": version "7.22.3" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.3.tgz#cd502a6a0b6e37d7ad72ce7e71a7160a3ae36f7e" - integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ== "@babel/compat-data@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.5.tgz#b1f6c86a02d85d2dd3368a2b67c09add8cd0c255" - integrity sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA== "@babel/core@7.12.3": version "7.12.3" @@ -1394,7 +1387,6 @@ "@babel/core@7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" - integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.18.6" @@ -1454,7 +1446,6 @@ "@babel/core@^7.11.6", "@babel/core@^7.17.9", "@babel/core@^7.19.6", "@babel/core@^7.21.4": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.1.tgz#5de51c5206f4c6f5533562838337a603c1033cfd" - integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.21.4" @@ -1475,7 +1466,6 @@ "@babel/eslint-parser@7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4" - integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" @@ -1493,7 +1483,6 @@ "@babel/generator@^7.21.0", "@babel/generator@^7.22.0", "@babel/generator@^7.22.3": version "7.22.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.3.tgz#0ff675d2edb93d7596c5f6728b52615cfc0df01e" - integrity sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A== dependencies: "@babel/types" "^7.22.3" "@jridgewell/gen-mapping" "^0.3.2" @@ -1503,7 +1492,6 @@ "@babel/generator@^7.21.4", "@babel/generator@^7.22.5": version "7.22.5" resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.22.5.tgz#1e7bf768688acfb05cf30b2369ef855e82d984f7" - integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== dependencies: "@babel/types" "^7.22.5" "@jridgewell/gen-mapping" "^0.3.2" @@ -1513,21 +1501,18 @@ "@babel/helper-annotate-as-pure@^7.16.0", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== dependencies: "@babel/types" "^7.22.5" "@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz#a3f4758efdd0190d8927fcffd261755937c71878" - integrity sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw== dependencies: "@babel/types" "^7.22.5" @@ -1544,7 +1529,6 @@ "@babel/helper-compilation-targets@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz#bfcd6b7321ffebe33290d68550e2c9d7eb7c7a58" - integrity sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ== dependencies: "@babel/compat-data" "^7.22.0" "@babel/helper-validator-option" "^7.21.0" @@ -1555,7 +1539,6 @@ "@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.5", "@babel/helper-create-class-features-plugin@^7.4.4": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz#2192a1970ece4685fbff85b48da2c32fcb130b7c" - integrity sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.5" @@ -1593,12 +1576,10 @@ "@babel/helper-environment-visitor@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz#ac3a56dbada59ed969d712cf527bd8271fe3eba8" - integrity sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA== "@babel/helper-function-name@^7.21.0", "@babel/helper-function-name@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== dependencies: "@babel/template" "^7.22.5" "@babel/types" "^7.22.5" @@ -1606,7 +1587,6 @@ "@babel/helper-hoist-variables@^7.18.6", "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== dependencies: "@babel/types" "^7.22.5" @@ -1619,7 +1599,6 @@ "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.21.4": version "7.21.4" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" - integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== dependencies: "@babel/types" "^7.21.4" @@ -1632,7 +1611,6 @@ "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.21.2", "@babel/helper-module-transforms@^7.22.5": version "7.22.5" resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz#0f65daa0716961b6e96b164034e737f60a80d2ef" - integrity sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw== dependencies: "@babel/helper-environment-visitor" "^7.22.5" "@babel/helper-module-imports" "^7.22.5" @@ -1646,7 +1624,6 @@ "@babel/helper-module-transforms@^7.21.0", "@babel/helper-module-transforms@^7.22.1": version "7.22.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz#e0cad47fedcf3cae83c11021696376e2d5a50c63" - integrity sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw== dependencies: "@babel/helper-environment-visitor" "^7.22.1" "@babel/helper-module-imports" "^7.21.4" @@ -1666,12 +1643,10 @@ "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== "@babel/helper-remap-async-to-generator@^7.1.0", "@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz#14a38141a7bf2165ad38da61d61cf27b43015da2" - integrity sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.5" @@ -1692,14 +1667,12 @@ "@babel/helper-simple-access@^7.12.1", "@babel/helper-simple-access@^7.20.2", "@babel/helper-simple-access@^7.22.5": version "7.22.5" resolved "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== dependencies: "@babel/types" "^7.22.5" "@babel/helper-simple-access@^7.21.5": version "7.21.5" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee" - integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== dependencies: "@babel/types" "^7.21.5" @@ -1722,12 +1695,10 @@ "@babel/helper-string-parser@^7.21.5": version "7.21.5" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd" - integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== "@babel/helper-string-parser@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" @@ -1736,7 +1707,6 @@ "@babel/helper-validator-identifier@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== "@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.21.0": version "7.21.0" @@ -1745,12 +1715,10 @@ "@babel/helper-validator-option@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" - integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== "@babel/helper-wrap-function@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz#44d205af19ed8d872b4eefb0d2fa65f45eb34f06" - integrity sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw== dependencies: "@babel/helper-function-name" "^7.22.5" "@babel/template" "^7.22.5" @@ -1768,7 +1736,6 @@ "@babel/helpers@^7.22.0": version "7.22.3" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.3.tgz#53b74351da9684ea2f694bf0877998da26dd830e" - integrity sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w== dependencies: "@babel/template" "^7.21.9" "@babel/traverse" "^7.22.1" @@ -1777,7 +1744,6 @@ "@babel/highlight@^7.18.6", "@babel/highlight@^7.22.5": version "7.22.5" resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" - integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== dependencies: "@babel/helper-validator-identifier" "^7.22.5" chalk "^2.0.0" @@ -1790,12 +1756,10 @@ "@babel/parser@^7.21.0", "@babel/parser@^7.21.9", "@babel/parser@^7.22.0", "@babel/parser@^7.22.4": version "7.22.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.4.tgz#a770e98fd785c231af9d93f6459d36770993fb32" - integrity sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e" - integrity sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -2419,7 +2383,6 @@ "@babel/plugin-transform-modules-commonjs@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa" - integrity sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA== dependencies: "@babel/helper-module-transforms" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" @@ -2996,7 +2959,6 @@ "@babel/runtime@^7", "@babel/runtime@^7.22.3", "@babel/runtime@^7.7.7": version "7.22.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.3.tgz#0a7fce51d43adbf0f7b517a71f4c3aaca92ebcbb" - integrity sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ== dependencies: regenerator-runtime "^0.13.11" @@ -3011,7 +2973,6 @@ "@babel/template@^7.21.9": version "7.21.9" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.21.9.tgz#bf8dad2859130ae46088a99c1f265394877446fb" - integrity sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ== dependencies: "@babel/code-frame" "^7.21.4" "@babel/parser" "^7.21.9" @@ -3035,7 +2996,6 @@ "@babel/traverse@^7.21.4", "@babel/traverse@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" - integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== dependencies: "@babel/code-frame" "^7.22.5" "@babel/generator" "^7.22.5" @@ -3051,7 +3011,6 @@ "@babel/traverse@^7.22.1": version "7.22.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.4.tgz#c3cf96c5c290bd13b55e29d025274057727664c0" - integrity sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ== dependencies: "@babel/code-frame" "^7.21.4" "@babel/generator" "^7.22.3" @@ -3075,7 +3034,6 @@ "@babel/types@^7.21.5", "@babel/types@^7.22.0", "@babel/types@^7.22.3", "@babel/types@^7.22.4": version "7.22.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.4.tgz#56a2653ae7e7591365dabf20b76295410684c071" - integrity sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA== dependencies: "@babel/helper-string-parser" "^7.21.5" "@babel/helper-validator-identifier" "^7.19.1" @@ -3084,7 +3042,6 @@ "@babel/types@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" - integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== dependencies: "@babel/helper-string-parser" "^7.22.5" "@babel/helper-validator-identifier" "^7.22.5" @@ -3101,7 +3058,6 @@ "@bloomberg/record-tuple-polyfill@0.0.4": version "0.0.4" resolved "https://registry.yarnpkg.com/@bloomberg/record-tuple-polyfill/-/record-tuple-polyfill-0.0.4.tgz#9ef3df44e472ceb9a0a2010d858a526f2021fefa" - integrity sha512-h0OYmPR3A5Dfbetra/GzxBAzQk8sH7LhRkRUTdagX6nrtlUgJGYCTv4bBK33jsTQw9HDd8PE2x1Ma+iRKEDUsw== "@braintree/sanitize-url@^6.0.0": version "6.0.2" @@ -3281,7 +3237,6 @@ "@csstools/postcss-color-function@^1.1.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" - integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -3289,21 +3244,18 @@ "@csstools/postcss-font-format-keywords@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" - integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-hwb-function@^1.0.0": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" - integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-ic-unit@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" - integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -3311,7 +3263,6 @@ "@csstools/postcss-is-pseudo-class@^2.0.2": version "2.0.7" resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" - integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== dependencies: "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" @@ -3319,14 +3270,12 @@ "@csstools/postcss-normalize-display-values@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" - integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-oklab-function@^1.1.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" - integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -3334,26 +3283,22 @@ "@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" - integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-stepped-value-functions@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" - integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-unset-value@^1.0.0": version "1.0.2" resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" - integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== "@csstools/selector-specificity@^2.0.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" - integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== "@ctrl/tinycolor@^3.4.0", "@ctrl/tinycolor@^3.6.0": version "3.6.0" @@ -3397,7 +3342,6 @@ "@emotion/babel-plugin@^11.11.0": version "11.11.0" resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" @@ -3414,7 +3358,6 @@ "@emotion/cache@^11.11.0": version "11.11.0" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== dependencies: "@emotion/memoize" "^0.8.1" "@emotion/sheet" "^1.2.2" @@ -3435,29 +3378,24 @@ "@emotion/hash@^0.8.0": version "0.8.0" resolved "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== "@emotion/hash@^0.9.1": version "0.9.1" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== "@emotion/is-prop-valid@^1.1.0": version "1.2.1" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc" - integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw== dependencies: "@emotion/memoize" "^0.8.1" "@emotion/memoize@^0.8.1": version "0.8.1" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== "@emotion/react@^11.11.0": version "11.11.0" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.0.tgz#408196b7ef8729d8ad08fc061b03b046d1460e02" - integrity sha512-ZSK3ZJsNkwfjT3JpDAWJZlrGD81Z3ytNDsxw1LKq1o+xkmO5pnWfr6gmCC8gHEFf3nSSX/09YrG67jybNPxSUw== dependencies: "@babel/runtime" "^7.18.3" "@emotion/babel-plugin" "^11.11.0" @@ -3471,7 +3409,6 @@ "@emotion/serialize@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.2.tgz#017a6e4c9b8a803bd576ff3d52a0ea6fa5a62b51" - integrity sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA== dependencies: "@emotion/hash" "^0.9.1" "@emotion/memoize" "^0.8.1" @@ -3486,37 +3423,30 @@ "@emotion/stylis@^0.8.4": version "0.8.5" resolved "https://registry.npmmirror.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" - integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== "@emotion/unitless@^0.7.4", "@emotion/unitless@^0.7.5": version "0.7.5" resolved "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== "@emotion/unitless@^0.8.1": version "0.8.1" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== "@emotion/utils@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== "@emotion/weak-memoize@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== "@esbuild-kit/cjs-loader@^2.4.2": version "2.4.2" resolved "https://registry.yarnpkg.com/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.2.tgz#cb4dde00fbf744a68c4f20162ea15a8242d0fa54" - integrity sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg== dependencies: "@esbuild-kit/core-utils" "^3.0.0" get-tsconfig "^4.4.0" @@ -3524,7 +3454,6 @@ "@esbuild-kit/core-utils@^3.0.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@esbuild-kit/core-utils/-/core-utils-3.1.0.tgz#49945d533dbd5e1b7620aa0fc522c15e6ec089c5" - integrity sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw== dependencies: esbuild "~0.17.6" source-map-support "^0.5.21" @@ -3532,7 +3461,6 @@ "@esbuild-kit/esm-loader@^2.5.5": version "2.5.5" resolved "https://registry.yarnpkg.com/@esbuild-kit/esm-loader/-/esm-loader-2.5.5.tgz#b82da14fcee3fc1d219869756c06f43f67d1ca71" - integrity sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw== dependencies: "@esbuild-kit/core-utils" "^3.0.0" get-tsconfig "^4.4.0" @@ -3540,222 +3468,178 @@ "@esbuild/android-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" - integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== "@esbuild/android-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" - integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== "@esbuild/android-arm@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" - integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== "@esbuild/android-arm@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" - integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== "@esbuild/android-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" - integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== "@esbuild/android-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" - integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== "@esbuild/darwin-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" - integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== "@esbuild/darwin-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" - integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== "@esbuild/darwin-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" - integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== "@esbuild/darwin-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" - integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== "@esbuild/freebsd-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" - integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== "@esbuild/freebsd-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" - integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== "@esbuild/freebsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" - integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== "@esbuild/freebsd-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" - integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== "@esbuild/linux-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" - integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== "@esbuild/linux-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" - integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== "@esbuild/linux-arm@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" - integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== "@esbuild/linux-arm@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" - integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== "@esbuild/linux-ia32@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" - integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== "@esbuild/linux-ia32@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" - integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== "@esbuild/linux-loong64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" - integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== "@esbuild/linux-loong64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" - integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== "@esbuild/linux-mips64el@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" - integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== "@esbuild/linux-mips64el@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" - integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== "@esbuild/linux-ppc64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" - integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== "@esbuild/linux-ppc64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" - integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== "@esbuild/linux-riscv64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" - integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== "@esbuild/linux-riscv64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" - integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== "@esbuild/linux-s390x@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" - integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== "@esbuild/linux-s390x@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" - integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== "@esbuild/linux-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" - integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== "@esbuild/linux-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" - integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== "@esbuild/netbsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" - integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== "@esbuild/netbsd-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" - integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== "@esbuild/openbsd-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" - integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== "@esbuild/openbsd-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" - integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== "@esbuild/sunos-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" - integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== "@esbuild/sunos-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" - integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== "@esbuild/win32-arm64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" - integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== "@esbuild/win32-arm64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" - integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== "@esbuild/win32-ia32@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" - integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== "@esbuild/win32-ia32@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" - integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== "@esbuild/win32-x64@0.16.17": version "0.16.17" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" - integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== "@esbuild/win32-x64@0.17.19": version "0.17.19" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" - integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" @@ -3788,17 +3672,14 @@ "@floating-ui/core@^0.6.2": version "0.6.2" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-0.6.2.tgz#f2813f0e5f3d5ed7af5029e1a082203dadf02b7d" - integrity sha512-jktYRmZwmau63adUG3GKOAVCofBXkk55S/zQ94XOorAHhwqFIOFAy1rSp2N0Wp6/tGbe9V3u/ExlGZypyY17rg== "@floating-ui/core@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.3.0.tgz#113bc85fa102cf890ae801668f43ee265c547a09" - integrity sha512-vX1WVAdPjZg9DkDkC+zEx/tKtnST6/qcNpwcjeBgco3XRNHz5PUA+ivi/yr6G3o0kMR60uKBJcfOdfzOFI7PMQ== "@floating-ui/dom@^0.4.5": version "0.4.5" resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-0.4.5.tgz#2e88d16646119cc67d44683f75ee99840475bbfa" - integrity sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw== dependencies: "@floating-ui/core" "^0.6.2" @@ -3811,7 +3692,6 @@ "@floating-ui/react-dom-interactions@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@floating-ui/react-dom-interactions/-/react-dom-interactions-0.3.1.tgz#abc0cb4b18e6f095397e50f9846572eee4e34554" - integrity sha512-tP2KEh7EHJr5hokSBHcPGojb+AorDNUf0NYfZGg/M+FsMvCOOsSEeEF0O1NDfETIzDnpbHnCs0DuvCFhSMSStg== dependencies: "@floating-ui/react-dom" "^0.6.3" aria-hidden "^1.1.3" @@ -3821,7 +3701,6 @@ "@floating-ui/react-dom@^0.6.3": version "0.6.3" resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-0.6.3.tgz#7b64cfd4fd12e4a0515dbf1b2be16e48c9a06c5a" - integrity sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg== dependencies: "@floating-ui/dom" "^0.4.5" use-isomorphic-layout-effect "^1.1.1" @@ -3829,7 +3708,6 @@ "@formatjs/ecma402-abstract@1.15.0": version "1.15.0" resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.15.0.tgz#0a285a5dc69889e15d53803bd5036272e23e5a18" - integrity sha512-7bAYAv0w4AIao9DNg0avfOLTCPE9woAgs6SpXuMq11IN3A+l+cq8ghczwqSZBM11myvPSJA7vLn72q0rJ0QK6Q== dependencies: "@formatjs/intl-localematcher" "0.2.32" tslib "^2.4.0" @@ -3837,14 +3715,12 @@ "@formatjs/fast-memoize@2.0.1": version "2.0.1" resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.0.1.tgz#f15aaa73caad5562899c69bdcad8db82adcd3b0b" - integrity sha512-M2GgV+qJn5WJQAYewz7q2Cdl6fobQa69S1AzSM2y0P68ZDbK5cWrJIcPCO395Of1ksftGZoOt4LYCO/j9BKBSA== dependencies: tslib "^2.4.0" "@formatjs/icu-messageformat-parser@2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.4.0.tgz#e165f3594c68416ce15f63793768251de2a85f88" - integrity sha512-6Dh5Z/gp4F/HovXXu/vmd0If5NbYLB5dZrmhWVNb+BOGOEU3wt7Z/83KY1dtd7IDhAnYHasbmKE1RbTE0J+3hw== dependencies: "@formatjs/ecma402-abstract" "1.15.0" "@formatjs/icu-skeleton-parser" "1.4.0" @@ -3853,7 +3729,6 @@ "@formatjs/icu-skeleton-parser@1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.4.0.tgz#96342eca7c4eef7a309875569e5da973db3465e6" - integrity sha512-Qq347VM616rVLkvN6QsKJELazRyNlbCiN47LdH0Mc5U7E2xV0vatiVhGqd3KFgbc055BvtnUXR7XX60dCGFuWg== dependencies: "@formatjs/ecma402-abstract" "1.15.0" tslib "^2.4.0" @@ -3861,7 +3736,6 @@ "@formatjs/intl-displaynames@6.3.2": version "6.3.2" resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-6.3.2.tgz#be169393a132eed9ca9c10ccb9d22ab150e24c90" - integrity sha512-kBOh0O7QYKLUqaZujLSEF2+au017plPp63R6Hrokl+oDtLyTt9y9pEuCTbOKh/P8CC9THnDLKRKgeVWZw5Ek8A== dependencies: "@formatjs/ecma402-abstract" "1.15.0" "@formatjs/intl-localematcher" "0.2.32" @@ -3870,7 +3744,6 @@ "@formatjs/intl-listformat@7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-7.2.2.tgz#d787932b5d6f1f936c73c5fec531692ab7069c7a" - integrity sha512-YIruRGwUrmgVOXjWi6VbwPcRNBkEfgK2DFjyyqopCmpfJ+39vnl46oLpVchErnuXs6kkARy5GcGaGV7xRsH4lw== dependencies: "@formatjs/ecma402-abstract" "1.15.0" "@formatjs/intl-localematcher" "0.2.32" @@ -3879,14 +3752,12 @@ "@formatjs/intl-localematcher@0.2.32": version "0.2.32" resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz#00d4d307cd7d514b298e15a11a369b86c8933ec1" - integrity sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ== dependencies: tslib "^2.4.0" "@formatjs/intl@2.7.2": version "2.7.2" resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-2.7.2.tgz#83dc77080a984d4883195bed39eedd947ebfd3d7" - integrity sha512-ziiQfnXwY0/rXhtohSAmYMqDjRsihoMKdl8H2aA+FvxG9638E0XrvfBFCb+1HhimNiuqRz5fTY7F/bZtsJxsjA== dependencies: "@formatjs/ecma402-abstract" "1.15.0" "@formatjs/fast-memoize" "2.0.1" @@ -3899,7 +3770,6 @@ "@formily/antd@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/antd/-/antd-2.2.26.tgz#abfe15523932fec8527f9b6fe6e81a0f3f2d1678" - integrity sha512-uoUBR4IgCAL05eYvRJxZG54s1gI50fzTjpbVSFRLc+fzzEVn32Xuxt5/ANQmEvhLZWqxTgZHbyjkJKa/uXXokg== dependencies: "@formily/core" "2.2.26" "@formily/grid" "2.2.26" @@ -3915,7 +3785,6 @@ "@formily/core@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/core/-/core-2.2.26.tgz#4a80171ef5b38ff64b9308b5bd0174b0212fc949" - integrity sha512-K0hQtb1xyLVnIZIHq0X8wMxv4V7f+8ON3Rlz9wQlx2raVVyFzS+9Y92O5VncnFMAK3W77Zvz1bXz95oo1u0Q0A== dependencies: "@formily/reactive" "2.2.26" "@formily/shared" "2.2.26" @@ -3924,7 +3793,6 @@ "@formily/grid@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/grid/-/grid-2.2.26.tgz#1bf523693f9d38fb2a9e0fd9e0e135b9c27fc136" - integrity sha512-32SOe8yTxxN+ouVVVaYCnBDBPiNJ0z9AEyiO78ZgYqIU1IcV6eYLU+T2505+KLEDrWGd5pZdsSrn4dt+hfnfow== dependencies: "@formily/reactive" "2.2.26" "@juggle/resize-observer" "^3.3.1" @@ -3932,7 +3800,6 @@ "@formily/json-schema@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/json-schema/-/json-schema-2.2.26.tgz#04c92f0bf6cfa7822f085efe0e28eec6bf888332" - integrity sha512-SGcrL1bCgQmOCRG8zDSau/SSuaylRifnUMOoeQ2Ctb9OLYkkrJb2KVz8Sb+pRyE1SD/rLmCCmEN5AMWsMDtjlw== dependencies: "@formily/core" "2.2.26" "@formily/reactive" "2.2.26" @@ -3941,12 +3808,10 @@ "@formily/path@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/path/-/path-2.2.26.tgz#b72453c293963c358a729a69a7c9b88e31ec449e" - integrity sha512-Bwc492hlbzmAyOllgMP/ZHPw+y3LqQumriOqup27TJwPBGMO4Ri9A5djftVmeDnX69NmB4BO/X0lVUnRuK/8jw== "@formily/react@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/react/-/react-2.2.26.tgz#275bafae41a8440d62903c6a4b429848acfed0f6" - integrity sha512-fBlzoFt0fL9p58isJeg/Ir9TqtwaqhSlmrKdwvFkOQJXGTp6sMPlrQHBZiVpfsmzUuApe4CKYfPfT6PpdtHQXw== dependencies: "@formily/core" "2.2.26" "@formily/json-schema" "2.2.26" @@ -3959,7 +3824,6 @@ "@formily/reactive-react@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/reactive-react/-/reactive-react-2.2.26.tgz#6c145502d75e68eb3d02399f7c635aacc17d91d8" - integrity sha512-VnoRtwvVZU0kZyu54n17F3VuqpULNG4rto61seJTiR1+nZVW71i66+meXj37XjbgD9qbVmIvdt1QoVcODVbYHw== dependencies: "@formily/reactive" "2.2.26" hoist-non-react-statics "^3.3.2" @@ -3967,12 +3831,10 @@ "@formily/reactive@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/reactive/-/reactive-2.2.26.tgz#f1cc26bffe542508773c8867ccc458741a7ce19d" - integrity sha512-eKCrFIFTm02CGGu99GCK4lBTte+hQecwjMKKmReeQ53QWZJZhSidnDgn4uoDme3m7CEsRJEMhhAhQnU5rENhtA== "@formily/shared@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/shared/-/shared-2.2.26.tgz#7efab8c79f30348552b4f322be62019b0a159407" - integrity sha512-PvAX3FvNu4PvZ4vXJKoDsVgGzhXEMD4+yPvekTHT8+wkJCFuU2P8/PDEhP+kJrmJ/rE2q51eNGOshjdcDdOOmQ== dependencies: "@formily/path" "2.2.26" camel-case "^4.1.1" @@ -3985,7 +3847,6 @@ "@formily/validator@2.2.26": version "2.2.26" resolved "https://registry.npmmirror.com/@formily/validator/-/validator-2.2.26.tgz#c4356ea849d67a11a2b85164eb028b31ca88ff15" - integrity sha512-b6Z7/VHQtPV6HrVGL+6yZv32Or99+UIxKpXEP48zSE+Nfie/thxsflieo/cFPpZphxKHfqLx1VY0HnRH+/M+WA== dependencies: "@formily/shared" "2.2.26" @@ -4010,7 +3871,6 @@ "@googlemaps/js-api-loader@^1.16.1": version "1.16.1" resolved "https://registry.yarnpkg.com/@googlemaps/js-api-loader/-/js-api-loader-1.16.1.tgz#db74c851f8e26a50f578a07c195a87e1fb60ae90" - integrity sha512-x6M48e2nkIrp1KGNwXEVMRTCzruBw/w1HItlhVXL6Lp5pKuTcJEfOCE4tjPk3n6kLcMuJYXE8aluYMmakn7tTw== dependencies: fast-deep-equal "^3.1.3" @@ -4047,12 +3907,10 @@ "@iconify/types@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57" - integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== "@iconify/utils@2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-2.1.1.tgz#a75387fff55aa9c95841968c7de05a210010c1ac" - integrity sha512-H8xz74JDzDw8f0qLxwIaxFMnFkbXTZNWEufOk3WxaLFHV4h0A2FjIDgNk5LzC0am4jssnjdeJJdRs3UFu3582Q== dependencies: "@antfu/install-pkg" "^0.1.1" "@antfu/utils" "^0.7.2" @@ -4181,7 +4039,6 @@ "@jest/expect-utils@^29.5.0": version "29.5.0" resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.5.0.tgz#f74fad6b6e20f924582dc8ecbf2cb800fe43a036" - integrity sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg== dependencies: jest-get-type "^29.4.3" @@ -4371,7 +4228,6 @@ "@jest/transform@^29.5.0": version "29.5.0" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.5.0.tgz#cf9c872d0965f0cbd32f1458aa44a2b1988b00f9" - integrity sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw== dependencies: "@babel/core" "^7.11.6" "@jest/types" "^29.5.0" @@ -4392,7 +4248,6 @@ "@jest/types@27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" @@ -5119,7 +4974,6 @@ "@loadable/component@5.15.2": version "5.15.2" resolved "https://registry.yarnpkg.com/@loadable/component/-/component-5.15.2.tgz#b6c418d592e0a64f16b1d614ca9d3b1443d3b498" - integrity sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw== dependencies: "@babel/runtime" "^7.7.7" hoist-non-react-statics "^3.3.1" @@ -5128,7 +4982,6 @@ "@makotot/ghostui@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@makotot/ghostui/-/ghostui-2.0.0.tgz#ae035d405a9ed5100436158e953ed9480f1c09a7" - integrity sha512-LD6OeMv+yGjpYZNjh34yDTCIE1NegqOtJq5gm4wX6op3QL7K5psTVzMjkWzseBoYj0XOD4g+UJVIZTprfoOPGg== "@mapbox/node-pre-gyp@^1.0.0": version "1.0.10" @@ -5154,7 +5007,6 @@ "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" - integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== dependencies: eslint-scope "5.1.1" @@ -5376,7 +5228,6 @@ "@pkgr/utils@^2.3.1": version "2.4.0" resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.0.tgz#b6373d2504aedaf2fc7cdf2d13ab1f48fa5f12d5" - integrity sha512-2OCURAmRtdlL8iUDTypMrrxfwe8frXTeXaxGsVOaYtc/wrUyk8Z/0OBetM7cdlsy7ZFWlMX72VogKeh+A4Xcjw== dependencies: cross-spawn "^7.0.3" fast-glob "^3.2.12" @@ -5437,7 +5288,6 @@ "@pmmmwh/react-refresh-webpack-plugin@0.5.10": version "0.5.10" resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8" - integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA== dependencies: ansi-html-community "^0.0.8" common-path-prefix "^3.0.0" @@ -5456,7 +5306,6 @@ "@rc-component/color-picker@~1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@rc-component/color-picker/-/color-picker-1.1.1.tgz#9f54276a10c0ce198fe88281499aa4b924bdac77" - integrity sha512-MKYqgEncpISQiZIaj8ykcdzZewgjslEfDo2iHg627jPnt+DbWIKG1T8MS55qXjuxkokgL0cNueyGnOndfaaNKw== dependencies: "@babel/runtime" "^7.10.1" "@ctrl/tinycolor" "^3.6.0" @@ -5466,7 +5315,6 @@ "@rc-component/context@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@rc-component/context/-/context-1.3.0.tgz#608ccf0abcbec9406751b17a4b35db08e481c110" - integrity sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w== dependencies: "@babel/runtime" "^7.10.1" rc-util "^5.27.0" @@ -5480,7 +5328,6 @@ "@rc-component/mutate-observer@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@rc-component/mutate-observer/-/mutate-observer-1.0.0.tgz#ce99af3239ed9c74ee3e7302f1c67098de920b46" - integrity sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA== dependencies: "@babel/runtime" "^7.18.0" classnames "^2.3.2" @@ -5489,7 +5336,6 @@ "@rc-component/portal@^1.0.0-6", "@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.1.tgz#1a30ffe51c240b54360cba8e8bfc5d1f559325c4" - integrity sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g== dependencies: "@babel/runtime" "^7.18.0" classnames "^2.3.2" @@ -5498,7 +5344,6 @@ "@rc-component/tour@~1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@rc-component/tour/-/tour-1.8.0.tgz#fda8b533e36db1d4254e3ffbcefe3395c346eb1c" - integrity sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA== dependencies: "@babel/runtime" "^7.18.0" "@rc-component/portal" "^1.0.0-9" @@ -5509,7 +5354,6 @@ "@rc-component/trigger@^1.0.4", "@rc-component/trigger@^1.13.0", "@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0": version "1.13.4" resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.13.4.tgz#b3d1aeae7b61b7a87b56900c5198744cd6ebe53c" - integrity sha512-DMRCHCOTgX1tpWSu6Lq0hhzktmgwY859JuSUZAerS+ocbqiB9nDR9n1JwJJREa8fGvc7U/8SovoPl0qLDsrKew== dependencies: "@babel/runtime" "^7.18.3" "@rc-component/portal" "^1.1.0" @@ -5562,7 +5406,6 @@ "@reactflow/background@11.2.2": version "11.2.2" resolved "https://registry.yarnpkg.com/@reactflow/background/-/background-11.2.2.tgz#4e94ba5f79bed5ca5cf6718a1e17ff9a0fa1d433" - integrity sha512-gOtae79Zx1zOs9tD4tmKfuiQQOyG0O81BWBCHqlAQgemKlYExElFKOC67lgTDZ4GGFK+4sXrgrWQ5h14hzaFgg== dependencies: "@reactflow/core" "11.7.2" classcat "^5.0.3" @@ -5571,7 +5414,6 @@ "@reactflow/controls@11.1.13": version "11.1.13" resolved "https://registry.yarnpkg.com/@reactflow/controls/-/controls-11.1.13.tgz#766eac279520604673c25ae947e241df9cc60c99" - integrity sha512-rA74+mbt2bnz9Fba6JL1JsKHNNEK6Nl70+ssfOLKMpRFIg512IroayBWufgPJB82X9dgMIzZfx/UcEFFUFJQ8Q== dependencies: "@reactflow/core" "11.7.2" classcat "^5.0.3" @@ -5580,7 +5422,6 @@ "@reactflow/core@11.7.2", "@reactflow/core@^11.6.0": version "11.7.2" resolved "https://registry.yarnpkg.com/@reactflow/core/-/core-11.7.2.tgz#07fcb62e0f33c5463326679f66e79408c9704ee1" - integrity sha512-AhszxILp1RNk3SwrnC/eYh1XsOil5yzthYG5k+oTpvLH5H3BtIWIVkeLEJwmL611lPKL3JuScfjliUxBm9128w== dependencies: "@types/d3" "^7.4.0" "@types/d3-drag" "^3.0.1" @@ -5595,7 +5436,6 @@ "@reactflow/minimap@11.5.2": version "11.5.2" resolved "https://registry.yarnpkg.com/@reactflow/minimap/-/minimap-11.5.2.tgz#70bcef9f45568ffe173c09b55f36de96fa7b6402" - integrity sha512-564gP/GMZKaJjVRGIrVLv2gIjgc89+qvNwuZzHnQLXjBw5+nS/QkW57Qx/M33MxVAaM+Z5rJ8gKknMSnxekwvQ== dependencies: "@reactflow/core" "11.7.2" "@types/d3-selection" "^3.0.3" @@ -5608,7 +5448,6 @@ "@reactflow/node-resizer@2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@reactflow/node-resizer/-/node-resizer-2.1.0.tgz#7764211a7e00f873eab652937cffba8df7c02b6a" - integrity sha512-DVL8nnWsltP8/iANadAcTaDB4wsEkx2mOLlBEPNE3yc5loSm3u9l5m4enXRcBym61MiMuTtDPzZMyYYQUjuYIg== dependencies: "@reactflow/core" "^11.6.0" classcat "^5.0.4" @@ -5619,7 +5458,6 @@ "@reactflow/node-toolbar@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@reactflow/node-toolbar/-/node-toolbar-1.2.1.tgz#6f06e9c2a15185cfb86881845678d525d256956d" - integrity sha512-EcMUMzJGAACYQTiUaBm3zxeiiKCPwU2MaoDeZdnEMbvq+2SfohKOur6JklANjv30kL+Pf3xj8QopEtyKTS4XrA== dependencies: "@reactflow/core" "11.7.2" classcat "^5.0.3" @@ -5628,12 +5466,10 @@ "@remix-run/router@1.6.2": version "1.6.2" resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.6.2.tgz#bbe75f8c59e0b7077584920ce2cc76f8f354934d" - integrity sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA== "@remix-run/router@1.6.3": version "1.6.3" resolved "https://registry.npmmirror.com/@remix-run/router/-/router-1.6.3.tgz#8205baf6e17ef93be35bf62c37d2d594e9be0dad" - integrity sha512-EXJysQ7J3veRECd0kZFQwYYd5sJMcq2O/m60zu1W2l3oVQ9xtub8jTOtYRE0+M2iomyG/W3Ps7+vp2kna0C27Q== "@restart/hooks@^0.3.25": version "0.3.27" @@ -5720,7 +5556,6 @@ "@selderee/plugin-htmlparser2@^0.6.0": version "0.6.0" resolved "https://registry.yarnpkg.com/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz#27e994afd1c2cb647ceb5406a185a5574188069d" - integrity sha512-J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA== dependencies: domhandler "^4.2.0" selderee "^0.6.0" @@ -5748,12 +5583,10 @@ "@sketch-hq/sketch-file-format-ts@^6": version "6.5.0" resolved "https://registry.yarnpkg.com/@sketch-hq/sketch-file-format-ts/-/sketch-file-format-ts-6.5.0.tgz#038b6feb52d5698bec62715d43d13b889e4af3aa" - integrity sha512-shaGl4ttFDpHjYBoMaZpciOtsi/lKvJ3VfcBYk6+PjjbFs6H5GxPAyhbiSqy3Vmx30aos284pd88QzD3rE6iag== "@smithy/protocol-http@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-1.0.1.tgz#62fd73d73db285fd8e9a2287ed2904ac66e0d43f" - integrity sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg== dependencies: "@smithy/types" "^1.0.0" tslib "^2.5.0" @@ -5761,19 +5594,16 @@ "@smithy/types@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@smithy/types/-/types-1.0.0.tgz#87ab6131fe5e19cbd4d383ffb94d2b806d027d38" - integrity sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg== dependencies: tslib "^2.5.0" "@stackblitz/sdk@^1.8.1": version "1.9.0" resolved "https://registry.yarnpkg.com/@stackblitz/sdk/-/sdk-1.9.0.tgz#b5174f3f45a51b6c1b9e67f1ef4e2e783ab105e9" - integrity sha512-3m6C7f8pnR5KXys/Hqx2x6ylnpqOak6HtnZI6T5keEO0yT+E4Spkw37VEbdwuC+2oxmjdgq6YZEgiKX7hM1GmQ== "@stylelint/postcss-css-in-js@^0.38.0": version "0.38.0" resolved "https://registry.yarnpkg.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.38.0.tgz#eabb061df932744db766f11a153ae1c465b6263c" - integrity sha512-XOz5CAe49kS95p5yRd+DAIWDojTjfmyAQ4bbDlXMdbZTQ5t0ThjSLvWI6JI2uiS7MFurVBkZ6zUqcimzcLTBoQ== dependencies: "@babel/core" "^7.17.9" @@ -5784,12 +5614,10 @@ "@svgr/babel-plugin-add-jsx-attribute@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba" - integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== "@svgr/babel-plugin-remove-jsx-attribute@*": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" - integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== "@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": version "5.4.0" @@ -5798,7 +5626,6 @@ "@svgr/babel-plugin-remove-jsx-empty-expression@*": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" - integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== "@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": version "5.0.1" @@ -5811,7 +5638,6 @@ "@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60" - integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": version "5.4.0" @@ -5820,7 +5646,6 @@ "@svgr/babel-plugin-svg-dynamic-title@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4" - integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": version "5.4.0" @@ -5829,7 +5654,6 @@ "@svgr/babel-plugin-svg-em-dimensions@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217" - integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": version "5.4.0" @@ -5838,7 +5662,6 @@ "@svgr/babel-plugin-transform-react-native-svg@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305" - integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== "@svgr/babel-plugin-transform-svg-component@^5.5.0": version "5.5.0" @@ -5847,7 +5670,6 @@ "@svgr/babel-plugin-transform-svg-component@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250" - integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== "@svgr/babel-preset@^5.5.0": version "5.5.0" @@ -5865,7 +5687,6 @@ "@svgr/babel-preset@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828" - integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" "@svgr/babel-plugin-remove-jsx-attribute" "*" @@ -5879,7 +5700,6 @@ "@svgr/core@6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a" - integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== dependencies: "@babel/core" "^7.19.6" "@svgr/babel-preset" "^6.5.1" @@ -5904,7 +5724,6 @@ "@svgr/hast-util-to-babel-ast@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2" - integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== dependencies: "@babel/types" "^7.20.0" entities "^4.4.0" @@ -5921,7 +5740,6 @@ "@svgr/plugin-jsx@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072" - integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== dependencies: "@babel/core" "^7.19.6" "@svgr/babel-preset" "^6.5.1" @@ -5939,7 +5757,6 @@ "@svgr/plugin-svgo@^6.5.1": version "6.5.1" resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz#0f91910e988fc0b842f88e0960c2862e022abe84" - integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== dependencies: cosmiconfig "^7.0.1" deepmerge "^4.2.2" @@ -5961,57 +5778,46 @@ "@swc/core-darwin-arm64@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.57.tgz#6af39458bf4ae58c8e4d12be2f2d69563b5a932a" - integrity sha512-lhAK9kF/ppZdNTdaxJl2gE0bXubzQXTgxB2Xojme/1sbOipaLTskBbJ3FLySChpmVOzD0QSCTiW8w/dmQxqNIQ== "@swc/core-darwin-x64@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.57.tgz#e7133f88e1aa166ad7e5966302df495551c3505c" - integrity sha512-jsTDH8Et/xdOM/ZCNvtrT6J8FT255OrMhEDvHZQZTgoky4oW/3FHUfji4J2FE97gitJqNJI8MuNuiGq81pIJRw== "@swc/core-linux-arm-gnueabihf@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.57.tgz#f8d95c8a9e03d1cccbb85d214fe24ca95940852a" - integrity sha512-MZv3fwcCmppbwfCWaE8cZvzbXOjX7n5SEC1hF2lgItTqp4S04dFk1iX50jKr6xS6xSLlRBPqDxwZH0sBpHaEuA== "@swc/core-linux-arm64-gnu@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.57.tgz#66fb53f081f43a652de79374d8b7c78b10469ef8" - integrity sha512-wUeqa/qbkOEGl6TaDQZZL7txrQXs1vL7ERjPYhi9El+ywacFY/rTW2pK5DqaNk2eulVnLhbbNjsE1OMGSEWGkQ== "@swc/core-linux-arm64-musl@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.57.tgz#28709d982d2eeb55b173c79a7d5feed1a2cc065d" - integrity sha512-pZfp1B9XfH7ZhDKFjr4qbyM093zU2Ri0IZq2M2A4W9q92+Ivy8oEIqw+gSRO3jwMDqRMEtFD49YuFhkJQakxdA== "@swc/core-linux-x64-gnu@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.57.tgz#3bea8b7d115fc2bf65a7b4b6930dd878f434034f" - integrity sha512-dvtQnv07NikV+CJ+9PYJ3fqphSigzfvSUH6wRCmb5OzLDDLFnPLMrEO0pGeURvdIWCOhngcHF252C1Hl5uFSzA== "@swc/core-linux-x64-musl@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.57.tgz#40bf395ac8971d561e38ef2af54b72d3705c199e" - integrity sha512-1TKCSngyQxpzwBYDzF5MrEfYRDhlzt/GN1ZqlSnsJIPGkABOWZxYDvWJuMrkASdIztn3jSTPU2ih7rR7YQ8IIw== "@swc/core-win32-arm64-msvc@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.57.tgz#5edf457fb86c455b6cecb89e4fa29a8dfa47910b" - integrity sha512-HvBYFyf4uBua/jyTrcFLKcq8SIbKVYfz2qWsbgSAZvuQPZvDC1XhN5EDH2tPZmT97F0CJx3fltH5nli6XY1/EQ== "@swc/core-win32-ia32-msvc@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.57.tgz#0d9d4b851f5380dce04094412ecae8ac538f5dc8" - integrity sha512-PS8AtK9e6Rp97S0ek9W5VCZNCbDaHBUasiJUmaYqRVCq/Mn6S7eQlhd0iUDnjsagigQtoCRgMUzkVknd1tarsQ== "@swc/core-win32-x64-msvc@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.57.tgz#4923a71e9bd3a1bae3ab3a1c6e07a31973d45f61" - integrity sha512-A6aX/Rpp0v3g7Spf3LSwR+ivviH8x+1xla612KLZmlc0yymWt9BMd3CmBkzyRBr2e41zGCrkf6tra6wgtCbAwA== "@swc/core@1.3.57": version "1.3.57" resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.57.tgz#a6c2c04ad72668a3144661fee27508556fff3fed" - integrity sha512-gAT80hOVeK5qoi+BRlgXWgJYI9cbQn2oi05A09Tvb6vjFgBsr9SlQGNZB9uMlcXRXspkZFf9l3yyWRtT4we3Yw== optionalDependencies: "@swc/core-darwin-arm64" "1.3.57" "@swc/core-darwin-x64" "1.3.57" @@ -6043,10 +5849,22 @@ lz-string "^1.4.4" pretty-format "^27.0.2" +"@testing-library/dom@^9.0.0": + version "9.3.1" + resolved "https://registry.npmmirror.com/@testing-library/dom/-/dom-9.3.1.tgz#8094f560e9389fb973fe957af41bf766937a9ee9" + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + "@testing-library/jest-dom@^5.16.5": version "5.16.5" resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" - integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== dependencies: "@adobe/css-tools" "^4.0.1" "@babel/runtime" "^7.9.2" @@ -6066,6 +5884,14 @@ "@testing-library/dom" "^8.0.0" "@types/react-dom" "<18.0.0" +"@testing-library/react@^14.0.0": + version "14.0.0" + resolved "https://registry.npmmirror.com/@testing-library/react/-/react-14.0.0.tgz#59030392a6792450b9ab8e67aea5f3cc18d6347c" + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^9.0.0" + "@types/react-dom" "^18.0.0" + "@testing-library/user-event@^14.4.3": version "14.4.3" resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.4.3.tgz#af975e367743fa91989cd666666aec31a8f50591" @@ -6077,7 +5903,6 @@ "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@tsconfig/node10@^1.0.7": version "1.0.9" @@ -6191,36 +6016,30 @@ "@types/d3-array@*": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.0.5.tgz#857c1afffd3f51319bbc5b301956aca68acaa7b8" - integrity sha512-Qk7fpJ6qFp+26VeQ47WY0mkwXaiq8+76RJcncDEfMc2ocRzXLO67bLFRNI4OX1aGBoPzsM5Y2T+/m1pldOgD+A== "@types/d3-axis@*": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/d3-axis/-/d3-axis-3.0.2.tgz#96e11d51256baf5bdb2fa73a17d302993e79df07" - integrity sha512-uGC7DBh0TZrU/LY43Fd8Qr+2ja1FKmH07q2FoZFHo1eYl8aj87GhfVoY1saJVJiq24rp1+wpI6BvQJMKgQm8oA== dependencies: "@types/d3-selection" "*" "@types/d3-brush@*": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/d3-brush/-/d3-brush-3.0.2.tgz#a610aad5a1e76c375be63e11c5eee1ed9fd2fb40" - integrity sha512-2TEm8KzUG3N7z0TrSKPmbxByBx54M+S9lHoP2J55QuLU0VSQ9mE96EJSAOVNEqd1bbynMjeTS9VHmz8/bSw8rA== dependencies: "@types/d3-selection" "*" "@types/d3-chord@*": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-3.0.2.tgz#cf6f05ad2d8faaad524e9e6f454b4fd06b200930" - integrity sha512-abT/iLHD3sGZwqMTX1TYCMEulr+wBd0SzyOQnjYNLp7sngdOHYtNkMRI5v3w5thoN+BWtlHVDx2Osvq6fxhZWw== "@types/d3-color@*": version "3.1.0" resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.0.tgz#6594da178ded6c7c3842f3cc0ac84b156f12f2d4" - integrity sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA== "@types/d3-contour@*": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/d3-contour/-/d3-contour-3.0.2.tgz#d8a0e4d12ec14f7d2bb6e59f3fbc1a527457d0b2" - integrity sha512-k6/bGDoAGJZnZWaKzeB+9glgXCYGvh6YlluxzBREiVo8f/X2vpTEdgPy9DN7Z2i42PZOZ4JDhVdlTSTSkLDPlQ== dependencies: "@types/d3-array" "*" "@types/geojson" "*" @@ -6228,124 +6047,102 @@ "@types/d3-delaunay@*": version "6.0.1" resolved "https://registry.yarnpkg.com/@types/d3-delaunay/-/d3-delaunay-6.0.1.tgz#006b7bd838baec1511270cb900bf4fc377bbbf41" - integrity sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ== "@types/d3-dispatch@*": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/d3-dispatch/-/d3-dispatch-3.0.2.tgz#b2fa80bab3bcead68680766e966f59cd6cb9a69f" - integrity sha512-rxN6sHUXEZYCKV05MEh4z4WpPSqIw+aP7n9ZN6WYAAvZoEAghEK1WeVZMZcHRBwyaKflU43PCUAJNjFxCzPDjg== "@types/d3-drag@*", "@types/d3-drag@^3.0.1": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/d3-drag/-/d3-drag-3.0.2.tgz#5562da3e7b33d782c2c1f9e65c5e91bb01ee82cf" - integrity sha512-qmODKEDvyKWVHcWWCOVcuVcOwikLVsyc4q4EBJMREsoQnR2Qoc2cZQUyFUPgO9q4S3qdSqJKBsuefv+h0Qy+tw== dependencies: "@types/d3-selection" "*" "@types/d3-dsv@*": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-3.0.1.tgz#c51a3505cee42653454b74a00f8713dc3548c362" - integrity sha512-76pBHCMTvPLt44wFOieouXcGXWOF0AJCceUvaFkxSZEu4VDUdv93JfpMa6VGNFs01FHfuP4a5Ou68eRG1KBfTw== "@types/d3-ease@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-3.0.0.tgz#c29926f8b596f9dadaeca062a32a45365681eae0" - integrity sha512-aMo4eaAOijJjA6uU+GIeW018dvy9+oH5Y2VPPzjjfxevvGQ/oRDs+tfYC9b50Q4BygRR8yE2QCLsrT0WtAVseA== "@types/d3-fetch@*": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/d3-fetch/-/d3-fetch-3.0.2.tgz#fe1f335243e07c9bd520c9a71756fed8330c54b1" - integrity sha512-gllwYWozWfbep16N9fByNBDTkJW/SyhH6SGRlXloR7WdtAaBui4plTP+gbUgiEot7vGw/ZZop1yDZlgXXSuzjA== dependencies: "@types/d3-dsv" "*" "@types/d3-force@*": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-3.0.4.tgz#2d50bd2b695f709797e1745644f6bc123e6e5f5a" - integrity sha512-q7xbVLrWcXvSBBEoadowIUJ7sRpS1yvgMWnzHJggFy5cUZBq2HZL5k/pBSm0GdYWS1vs5/EDwMjSKF55PDY4Aw== "@types/d3-format@*": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-3.0.1.tgz#194f1317a499edd7e58766f96735bdc0216bb89d" - integrity sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg== "@types/d3-geo@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-3.0.3.tgz#535e5f24be13722964c52354301be09b752f5d6e" - integrity sha512-bK9uZJS3vuDCNeeXQ4z3u0E7OeJZXjUgzFdSOtNtMCJCLvDtWDwfpRVWlyt3y8EvRzI0ccOu9xlMVirawolSCw== dependencies: "@types/geojson" "*" "@types/d3-hierarchy@*": version "3.1.2" resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b3a446b5437faededb30ac32b7cc0486559ab1e2" - integrity sha512-9hjRTVoZjRFR6xo8igAJyNXQyPX6Aq++Nhb5ebrUF414dv4jr2MitM2fWiOY475wa3Za7TOS2Gh9fmqEhLTt0A== "@types/d3-interpolate@*": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.1.tgz#e7d17fa4a5830ad56fe22ce3b4fac8541a9572dc" - integrity sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw== dependencies: "@types/d3-color" "*" "@types/d3-path@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.0.0.tgz#939e3a784ae4f80b1fde8098b91af1776ff1312b" - integrity sha512-0g/A+mZXgFkQxN3HniRDbXMN79K3CdTpLsevj+PXiTcb2hVyvkZUBg37StmgCQkaD84cUJ4uaDAWq7UJOQy2Tg== "@types/d3-polygon@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/d3-polygon/-/d3-polygon-3.0.0.tgz#5200a3fa793d7736fa104285fa19b0dbc2424b93" - integrity sha512-D49z4DyzTKXM0sGKVqiTDTYr+DHg/uxsiWDAkNrwXYuiZVd9o9wXZIo+YsHkifOiyBkmSWlEngHCQme54/hnHw== "@types/d3-quadtree@*": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/d3-quadtree/-/d3-quadtree-3.0.2.tgz#433112a178eb7df123aab2ce11c67f51cafe8ff5" - integrity sha512-QNcK8Jguvc8lU+4OfeNx+qnVy7c0VrDJ+CCVFS9srBo2GL9Y18CnIxBdTF3v38flrGy5s1YggcoAiu6s4fLQIw== "@types/d3-random@*": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/d3-random/-/d3-random-3.0.1.tgz#5c8d42b36cd4c80b92e5626a252f994ca6bfc953" - integrity sha512-IIE6YTekGczpLYo/HehAy3JGF1ty7+usI97LqraNa8IiDur+L44d0VOjAvFQWJVdZOJHukUJw+ZdZBlgeUsHOQ== "@types/d3-scale-chromatic@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#103124777e8cdec85b20b51fd3397c682ee1e954" - integrity sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw== "@types/d3-scale@*": version "4.0.3" resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.3.tgz#7a5780e934e52b6f63ad9c24b105e33dd58102b5" - integrity sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ== dependencies: "@types/d3-time" "*" "@types/d3-selection@*", "@types/d3-selection@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-3.0.5.tgz#27cd53b7672d405025e2414d98532d7934c16ebd" - integrity sha512-xCB0z3Hi8eFIqyja3vW8iV01+OHGYR2di/+e+AiOcXIOrY82lcvWW8Ke1DYE/EUVMsBl4Db9RppSBS3X1U6J0w== "@types/d3-shape@*": version "3.1.1" resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.1.1.tgz#15cc497751dac31192d7aef4e67a8d2c62354b95" - integrity sha512-6Uh86YFF7LGg4PQkuO2oG6EMBRLuW9cbavUW46zkIO5kuS2PfTqo2o9SkgtQzguBHbLgNnU90UNsITpsX1My+A== dependencies: "@types/d3-path" "*" "@types/d3-time-format@*": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-4.0.0.tgz#ee7b6e798f8deb2d9640675f8811d0253aaa1946" - integrity sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw== "@types/d3-time@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.0.tgz#e1ac0f3e9e195135361fa1a1d62f795d87e6e819" - integrity sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg== "@types/d3-timer@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-3.0.0.tgz#e2505f1c21ec08bda8915238e397fb71d2fc54ce" - integrity sha512-HNB/9GHqu7Fo8AQiugyJbv6ZxYz58wef0esl4Mv828w1ZKpAshw/uFWVDUcIB9KKFeFKoxS3cHY07FFgtTRZ1g== "@types/d3-timer@^2.0.0": version "2.0.1" @@ -6354,14 +6151,12 @@ "@types/d3-transition@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-3.0.3.tgz#d4ac37d08703fb039c87f92851a598ba77400402" - integrity sha512-/S90Od8Id1wgQNvIA8iFv9jRhCiZcGhPd2qX0bKF/PS+y0W5CrXKgIiELd2CvG1mlQrWK/qlYh3VxicqG1ZvgA== dependencies: "@types/d3-selection" "*" "@types/d3-zoom@*", "@types/d3-zoom@^3.0.1": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/d3-zoom/-/d3-zoom-3.0.3.tgz#5c29006a61ff7ca512fe21398c66ad95dd846674" - integrity sha512-OWk1yYIIWcZ07+igN6BeoG6rqhnJ/pYe+R1qWFM2DtW49zsoSjgb9G5xB0ZXA8hh2jAzey1XuRmMSoXdKw8MDA== dependencies: "@types/d3-interpolate" "*" "@types/d3-selection" "*" @@ -6369,7 +6164,6 @@ "@types/d3@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@types/d3/-/d3-7.4.0.tgz#fc5cac5b1756fc592a3cf1f3dc881bf08225f515" - integrity sha512-jIfNVK0ZlxcuRDKtRS/SypEyOQ6UHaFQBKv032X45VvxSJ6Yi5G9behy9h6tNTHTDGh5Vq+KbmBjUWLgY4meCA== dependencies: "@types/d3-array" "*" "@types/d3-axis" "*" @@ -6415,14 +6209,12 @@ "@types/estree-jsx@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz#7bfc979ab9f692b492017df42520f7f765e98df1" - integrity sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ== dependencies: "@types/estree" "*" "@types/estree@*", "@types/estree@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== "@types/estree@0.0.39": version "0.0.39" @@ -6449,7 +6241,6 @@ "@types/fs-extra@^11.0.1": version "11.0.1" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-11.0.1.tgz#f542ec47810532a8a252127e6e105f487e0a6ea5" - integrity sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA== dependencies: "@types/jsonfile" "*" "@types/node" "*" @@ -6457,7 +6248,6 @@ "@types/geojson@*": version "7946.0.10" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.10.tgz#6dfbf5ea17142f7f9a043809f1cd4c448cb68249" - integrity sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA== "@types/glob@^7.2.0": version "7.2.0" @@ -6469,7 +6259,6 @@ "@types/google.maps@^3.53.4": version "3.53.4" resolved "https://registry.yarnpkg.com/@types/google.maps/-/google.maps-3.53.4.tgz#741442764ebaef1a6705f3ab2c047ffeba333020" - integrity sha512-IiDAYTONQEKCBssPtoM0XqWF8YIIk2leba4NOf9qVQ/d8l5gLuS3QT87TrX6/u8rMonQAXC9KEDmM4q7sT6MWg== "@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3": version "4.1.6" @@ -6486,12 +6275,10 @@ "@types/hapi__joi@17.1.9": version "17.1.9" resolved "https://registry.yarnpkg.com/@types/hapi__joi/-/hapi__joi-17.1.9.tgz#fb4001df38aba1cd2406ce4b17d4e6fc3b0bd036" - integrity sha512-oOMFT8vmCTFncsF1engrs04jatz8/Anwx3De9uxnOK4chgSEgWBvFtpSoJo8u3784JNO+ql5tzRR6phHoRnscQ== "@types/hast@^2.0.0", "@types/hast@^2.3.4": version "2.3.4" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" - integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== dependencies: "@types/unist" "*" @@ -6505,7 +6292,6 @@ "@types/html-minifier-terser@^6.0.0": version "6.1.0" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-assert@*": version "1.5.3" @@ -6541,7 +6327,6 @@ "@types/jest@*": version "29.5.1" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.1.tgz#83c818aa9a87da27d6da85d3378e5a34d2f31a47" - integrity sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -6568,7 +6353,6 @@ "@types/jsonfile@*": version "6.1.1" resolved "https://registry.yarnpkg.com/@types/jsonfile/-/jsonfile-6.1.1.tgz#ac84e9aefa74a2425a0fb3012bdea44f58970f1b" - integrity sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png== dependencies: "@types/node" "*" @@ -6694,7 +6478,6 @@ "@types/node@^17.0.5": version "17.0.45" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" - integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== "@types/nodemailer@6.4.4": version "6.4.4" @@ -6709,7 +6492,6 @@ "@types/nprogress@^0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@types/nprogress/-/nprogress-0.2.0.tgz#86c593682d4199212a0509cc3c4d562bbbd6e45f" - integrity sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A== "@types/parse-json@^4.0.0": version "4.0.0" @@ -6718,7 +6500,6 @@ "@types/parse5@^6.0.0": version "6.0.3" resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" - integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== "@types/passport@^1.0.11": version "1.0.12" @@ -6770,7 +6551,6 @@ "@types/react@*", "@types/react@16 || 17 || 18", "@types/react@>=16.9.11", "@types/react@^17", "@types/react@^17.0.0", "@types/react@^18.0.0": version "17.0.60" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.60.tgz#a4a97dcdbebad76612c188fc06440e4995fd8ad2" - integrity sha512-pCH7bqWIfzHs3D+PDs3O/COCQJka+Kcw3RnO9rFA2zalqoXg7cNjJDh6mZ7oRtY1wmY4LVwDdAbA1F7Z8tv3BQ== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -6848,7 +6628,6 @@ "@types/testing-library__jest-dom@^5.9.1": version "5.14.6" resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.6.tgz#4887f6e1af11215428ab02777873bcede98a53b0" - integrity sha512-FkHXCb+ikSoUP4Y4rOslzTdX5sqYwMxfefKh1GmZ8ce1GOkEHntSp6b5cGadmNfp5e4BMEWOMx+WSKd5/MqlDA== dependencies: "@types/jest" "*" @@ -6906,7 +6685,6 @@ "@types/yargs@^16.0.0": version "16.0.5" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3" - integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== dependencies: "@types/yargs-parser" "*" @@ -6919,7 +6697,6 @@ "@typescript-eslint/eslint-plugin@5.48.1": version "5.48.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz#deee67e399f2cb6b4608c935777110e509d8018c" - integrity sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ== dependencies: "@typescript-eslint/scope-manager" "5.48.1" "@typescript-eslint/type-utils" "5.48.1" @@ -6949,7 +6726,6 @@ "@typescript-eslint/parser@5.48.1": version "5.48.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.1.tgz#d0125792dab7e232035434ab8ef0658154db2f10" - integrity sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA== dependencies: "@typescript-eslint/scope-manager" "5.48.1" "@typescript-eslint/types" "5.48.1" @@ -6968,7 +6744,6 @@ "@typescript-eslint/scope-manager@5.48.1": version "5.48.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz#39c71e4de639f5fe08b988005beaaf6d79f9d64d" - integrity sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ== dependencies: "@typescript-eslint/types" "5.48.1" "@typescript-eslint/visitor-keys" "5.48.1" @@ -6976,7 +6751,6 @@ "@typescript-eslint/scope-manager@5.59.6": version "5.59.6" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz#d43a3687aa4433868527cfe797eb267c6be35f19" - integrity sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ== dependencies: "@typescript-eslint/types" "5.59.6" "@typescript-eslint/visitor-keys" "5.59.6" @@ -6984,7 +6758,6 @@ "@typescript-eslint/scope-manager@5.59.9": version "5.59.9" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4" - integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ== dependencies: "@typescript-eslint/types" "5.59.9" "@typescript-eslint/visitor-keys" "5.59.9" @@ -6992,7 +6765,6 @@ "@typescript-eslint/type-utils@5.48.1": version "5.48.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz#5d94ac0c269a81a91ad77c03407cea2caf481412" - integrity sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ== dependencies: "@typescript-eslint/typescript-estree" "5.48.1" "@typescript-eslint/utils" "5.48.1" @@ -7002,7 +6774,6 @@ "@typescript-eslint/type-utils@5.59.9": version "5.59.9" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2" - integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q== dependencies: "@typescript-eslint/typescript-estree" "5.59.9" "@typescript-eslint/utils" "5.59.9" @@ -7012,22 +6783,18 @@ "@typescript-eslint/types@5.48.1": version "5.48.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.1.tgz#efd1913a9aaf67caf8a6e6779fd53e14e8587e14" - integrity sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg== "@typescript-eslint/types@5.59.6": version "5.59.6" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.6.tgz#5a6557a772af044afe890d77c6a07e8c23c2460b" - integrity sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA== "@typescript-eslint/types@5.59.9": version "5.59.9" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52" - integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw== "@typescript-eslint/typescript-estree@5.48.1": version "5.48.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz#9efa8ee2aa471c6ab62e649f6e64d8d121bc2056" - integrity sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA== dependencies: "@typescript-eslint/types" "5.48.1" "@typescript-eslint/visitor-keys" "5.48.1" @@ -7040,7 +6807,6 @@ "@typescript-eslint/typescript-estree@5.59.6": version "5.59.6" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz#2fb80522687bd3825504925ea7e1b8de7bb6251b" - integrity sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA== dependencies: "@typescript-eslint/types" "5.59.6" "@typescript-eslint/visitor-keys" "5.59.6" @@ -7053,7 +6819,6 @@ "@typescript-eslint/typescript-estree@5.59.9": version "5.59.9" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b" - integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA== dependencies: "@typescript-eslint/types" "5.59.9" "@typescript-eslint/visitor-keys" "5.59.9" @@ -7066,7 +6831,6 @@ "@typescript-eslint/utils@5.48.1": version "5.48.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.1.tgz#20f2f4e88e9e2a0961cbebcb47a1f0f7da7ba7f9" - integrity sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" @@ -7080,7 +6844,6 @@ "@typescript-eslint/utils@5.59.9": version "5.59.9" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4" - integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" @@ -7094,7 +6857,6 @@ "@typescript-eslint/utils@^5.10.0": version "5.59.6" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.6.tgz#82960fe23788113fc3b1f9d4663d6773b7907839" - integrity sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" @@ -7108,7 +6870,6 @@ "@typescript-eslint/visitor-keys@5.48.1": version "5.48.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz#79fd4fb9996023ef86849bf6f904f33eb6c8fccb" - integrity sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA== dependencies: "@typescript-eslint/types" "5.48.1" eslint-visitor-keys "^3.3.0" @@ -7116,7 +6877,6 @@ "@typescript-eslint/visitor-keys@5.59.6": version "5.59.6" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz#673fccabf28943847d0c8e9e8d008e3ada7be6bb" - integrity sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q== dependencies: "@typescript-eslint/types" "5.59.6" eslint-visitor-keys "^3.3.0" @@ -7124,7 +6884,6 @@ "@typescript-eslint/visitor-keys@5.59.9": version "5.59.9" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d" - integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q== dependencies: "@typescript-eslint/types" "5.59.9" eslint-visitor-keys "^3.3.0" @@ -7132,14 +6891,12 @@ "@umijs/ast@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/ast/-/ast-4.0.69.tgz#95e6aaae2fdd92edc6e217362287af07bce2fc08" - integrity sha512-Bsq9j00EHL5owk3KpfZyGB65JZ29wyd8w1WBHWjgKX1LkKmiprV73E6DgFjIyNVNw3mX2r2HNtmFPJycmJR0mw== dependencies: "@umijs/bundler-utils" "4.0.69" "@umijs/babel-preset-umi@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/babel-preset-umi/-/babel-preset-umi-4.0.69.tgz#094b46e84e4eda73a92916fb4b2801aa29470c5e" - integrity sha512-0978ONVhvUuu0c5CRcwaMZYrvNYjmNaTD0JRNZQMaT9/2H65rnj9dazY4OT07dSEN9ZKIcJb3mTalNdVw2/rHA== dependencies: "@babel/runtime" "7.21.0" "@bloomberg/record-tuple-polyfill" "0.0.4" @@ -7151,7 +6908,6 @@ "@umijs/bundler-esbuild@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/bundler-esbuild/-/bundler-esbuild-4.0.69.tgz#d9b8ce9a34d795a3dc3212116954f867e3d0acf4" - integrity sha512-3WcjSnQT818pSZsgE+Q10ADA+e8Co1Wd1M3Hxk05hLoIpUlMXkA5E/NS/C0UY+D3g/4R9zoxd7oqSvT62VEajw== dependencies: "@umijs/bundler-utils" "4.0.69" "@umijs/utils" "4.0.69" @@ -7163,7 +6919,6 @@ "@umijs/bundler-utils@4.0.69", "@umijs/bundler-utils@^4.0.64": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/bundler-utils/-/bundler-utils-4.0.69.tgz#c573ce0274c063d29a7c1903eca9a0619e3b56bf" - integrity sha512-xdKsz3q0zHpR+oeYz0nrxsHBv7++CmFsSZBh3SjQlmyOr8yrjMsqF9VaW1olh+syrkHFvxX5OdMF21oQPuIQVg== dependencies: "@umijs/utils" "4.0.69" esbuild "0.16.17" @@ -7174,7 +6929,6 @@ "@umijs/bundler-vite@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/bundler-vite/-/bundler-vite-4.0.69.tgz#aa6c3385365dc556e41c557477b12ab5fb02643d" - integrity sha512-IZVX230PbLPlBOgecZR1O5q90g09H/DjbmedUUgmK5bdmG8tdLXnGnZYgQ1V8rp9WjAr+4TkO4kVkui3Az16Cw== dependencies: "@svgr/core" "6.5.1" "@umijs/bundler-utils" "4.0.69" @@ -7188,7 +6942,6 @@ "@umijs/bundler-webpack@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/bundler-webpack/-/bundler-webpack-4.0.69.tgz#e37c3e3515b4b72cf92fe5f084ae1c0372618af1" - integrity sha512-p1h3MvcYr5aecrWwLDS0UZf5GgrITQuZAEl382zC6quB2TtWrJ/5BNxxQxuMyt9/Uf5IeqSvlLJGfp0ipyaD8Q== dependencies: "@pmmmwh/react-refresh-webpack-plugin" "0.5.10" "@svgr/core" "6.5.1" @@ -7219,7 +6972,6 @@ "@umijs/core@4.0.69", "@umijs/core@^4.0.64": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/core/-/core-4.0.69.tgz#4f832974f01f804ec3150fdf52cf427386d0b406" - integrity sha512-UXeEJqSY5kTf+cqrBYkTIVZ/JxPYrnoP6VAyZmHVgydv6+eoalFKhuhOcX5X5diIBK1F2Xcs9nUtJHn+OH/y+w== dependencies: "@umijs/bundler-utils" "4.0.69" "@umijs/utils" "4.0.69" @@ -7227,7 +6979,6 @@ "@umijs/deps@3.5.20": version "3.5.20" resolved "https://registry.yarnpkg.com/@umijs/deps/-/deps-3.5.20.tgz#002ad616fbe5c8b238f80fc9289d0aceb9b89c3c" - integrity sha512-75iqB0+ITFtxlLb945W2b6lVEgLWRFXaSQZD+wH6c4/WDiagOdYMWX9aiPs2JSzoM/yCtKpMaLeGbmVXsb7y4g== dependencies: "@bloomberg/record-tuple-polyfill" "0.0.3" chokidar "3.5.1" @@ -7239,57 +6990,46 @@ "@umijs/did-you-know@1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@umijs/did-you-know/-/did-you-know-1.0.3.tgz#c7cc40f404dec6fe5500d16c9f87d8c1ddfbc781" - integrity sha512-9EZ+rgY9+2HEaE+Z9dGkal2ccw8L4uuz77tCB5WpskW7NBZX5nOj82sqF/shEtA5tU3SWO/Mi4n35K3iONvDtw== "@umijs/es-module-parser-darwin-arm64@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-darwin-arm64/-/es-module-parser-darwin-arm64-0.0.7.tgz#7278f3487c586a3ee63bbf45f8504490bef2ebe0" - integrity sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw== "@umijs/es-module-parser-darwin-x64@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-darwin-x64/-/es-module-parser-darwin-x64-0.0.7.tgz#e6e154ad19909d817ce36a65b3bcb1a4d99168f3" - integrity sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA== "@umijs/es-module-parser-linux-arm-gnueabihf@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-linux-arm-gnueabihf/-/es-module-parser-linux-arm-gnueabihf-0.0.7.tgz#6ab6b28f5abbb97b84cb4c9665279cd0dc67f7fe" - integrity sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ== "@umijs/es-module-parser-linux-arm64-gnu@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-linux-arm64-gnu/-/es-module-parser-linux-arm64-gnu-0.0.7.tgz#a3c3bac9d6718a362f4612b16826c4daaff24a6a" - integrity sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w== "@umijs/es-module-parser-linux-arm64-musl@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-linux-arm64-musl/-/es-module-parser-linux-arm64-musl-0.0.7.tgz#0c9ea0d46e7e14eafb6e93b940c9f3887025ee5a" - integrity sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw== "@umijs/es-module-parser-linux-x64-gnu@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-linux-x64-gnu/-/es-module-parser-linux-x64-gnu-0.0.7.tgz#07c35db7eba4ff7b6f34ce7539fe38875ae27129" - integrity sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew== "@umijs/es-module-parser-linux-x64-musl@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-linux-x64-musl/-/es-module-parser-linux-x64-musl-0.0.7.tgz#0954cdde0d3a0c15f22d8712f52f31142b1b577e" - integrity sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ== "@umijs/es-module-parser-win32-arm64-msvc@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-win32-arm64-msvc/-/es-module-parser-win32-arm64-msvc-0.0.7.tgz#a3d07a733843e2b287a8135714fbd51950ae0de5" - integrity sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg== "@umijs/es-module-parser-win32-x64-msvc@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser-win32-x64-msvc/-/es-module-parser-win32-x64-msvc-0.0.7.tgz#0b7dbfd611c1f6e2a067d56a0da69f129d42e408" - integrity sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA== "@umijs/es-module-parser@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@umijs/es-module-parser/-/es-module-parser-0.0.7.tgz#7f6d7573a1725204dd6f2a67bb883cf20deed8e4" - integrity sha512-x47CMi/Hw7Nkz3RXTUqlldH/UM+Tcmw2PziV3k+itJqTFJc8oVx3lzdUgCnG+eL3ZtmLPbOEBhPb30V0NytNDQ== optionalDependencies: "@umijs/es-module-parser-darwin-arm64" "0.0.7" "@umijs/es-module-parser-darwin-x64" "0.0.7" @@ -7304,7 +7044,6 @@ "@umijs/history@5.3.1": version "5.3.1" resolved "https://registry.yarnpkg.com/@umijs/history/-/history-5.3.1.tgz#947217594203bf9fd332f95e6113f50855d655b7" - integrity sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA== dependencies: "@babel/runtime" "^7.7.6" query-string "^6.13.6" @@ -7312,7 +7051,6 @@ "@umijs/lint@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/lint/-/lint-4.0.69.tgz#f34407f1484f86f7e6d1befa8bf1a6d37ab776a2" - integrity sha512-1b5e2wKLdbDczNIPQ6brO7eYUL633HtvEm+tf+4dOQJhvczs0zm6xUZAot0LMDPl/yyliFbLV3gk12ijcNRx6Q== dependencies: "@babel/core" "7.21.0" "@babel/eslint-parser" "7.19.1" @@ -7330,7 +7068,6 @@ "@umijs/mfsu@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/mfsu/-/mfsu-4.0.69.tgz#3591ab246b78a75ad4824d5faa1c9d0c01c0ea21" - integrity sha512-ITLKw1DGAOMSeiQicXXO5nQh9FLMaf0/lxaZtAPYboq9DcodfJIG+J4xHYTjE+Ns5/9TQjkqMqTsKUCGCN6SIw== dependencies: "@umijs/bundler-esbuild" "4.0.69" "@umijs/bundler-utils" "4.0.69" @@ -7341,14 +7078,12 @@ "@umijs/plugin-run@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/plugin-run/-/plugin-run-4.0.69.tgz#100ccc9d12c9fbf9c8eb1fdce0a3834a2b7d3409" - integrity sha512-GzdbWdTUZt4/ZtxOn7AdPffrLXIaBp6ZiT5zJIugRuWnKLwJyNSmrAy1iD3ks4ZyEGfAqRd9Ou0Q+clmLGR7FA== dependencies: tsx "^3.12.2" "@umijs/preset-umi@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/preset-umi/-/preset-umi-4.0.69.tgz#b4ab5560014878399c7210e125137a956a6d4de2" - integrity sha512-W/Olv2ldPtGnPa+mbsFZwoyEhykCcWTbkmowf/4AewHe0n5CJEyqjeo1cOlD7fr8RbpIqzoxdlMrlMi/bBqbNQ== dependencies: "@iconify/utils" "2.1.1" "@svgr/core" "6.5.1" @@ -7386,7 +7121,6 @@ "@umijs/renderer-react@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/renderer-react/-/renderer-react-4.0.69.tgz#966795d8077ab3ad9a980da1b695a417b15427f3" - integrity sha512-7jD97cXoesulvqESJipTV3KJ0eEvtp94Kk/nUH82vYysHQlCS+P/WeWXqKo7nC4fvDCDGMz4aUV16r6Is7ZL8A== dependencies: "@babel/runtime" "7.21.0" "@loadable/component" "5.15.2" @@ -7397,12 +7131,10 @@ "@umijs/route-utils@^4.0.0": version "4.0.1" resolved "https://registry.npmmirror.com/@umijs/route-utils/-/route-utils-4.0.1.tgz#156df5b3f2328059722d3ee7dd8f65e18c3cde8b" - integrity sha512-+1ixf1BTOLuH+ORb4x8vYMPeIt38n9q0fJDwhv9nSxrV46mxbLF0nmELIo9CKQB2gHfuC4+hww6xejJ6VYnBHQ== "@umijs/server@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/server/-/server-4.0.69.tgz#6819612ee294ae432a37b7c673ea39e39a6aa7ef" - integrity sha512-znL4i6XC1dLmDCHk7fw3cKlehB4qKUqJeIao6j/eSzlfm6mCFzygsGqxzN8obrjCV0ohe/F/4WIRJDkEqwHleQ== dependencies: "@umijs/bundler-utils" "4.0.69" history "5.3.0" @@ -7413,7 +7145,6 @@ "@umijs/test@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/test/-/test-4.0.69.tgz#247b970f38a1077033962e0e26d9285df0610e9b" - integrity sha512-xkTNawfhz2xC0qqR2Q+JDJPoLNosSBNDAuna86YxNZK/WCvJ7n3/jehz2l9S6wxmstDW06yrXNM+IPoipUBAmg== dependencies: "@babel/plugin-transform-modules-commonjs" "7.21.2" "@jest/types" "27.5.1" @@ -7427,24 +7158,20 @@ "@umijs/ui@3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@umijs/ui/-/ui-3.0.1.tgz#64ae7ef36bf9374823f7361a7a844876d96c9e06" - integrity sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw== "@umijs/use-params@^1.0.9": version "1.0.9" resolved "https://registry.npmmirror.com/@umijs/use-params/-/use-params-1.0.9.tgz#0ae4a87f4922d8e8e3fb4495b0f8f4de9ca38c52" - integrity sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w== "@umijs/utils@3.5.20": version "3.5.20" resolved "https://registry.yarnpkg.com/@umijs/utils/-/utils-3.5.20.tgz#45e89eeac734a3963205d55b0f533bd96492f3b9" - integrity sha512-Y0i27zZTCKoqdHHyTuebO/GOIY4gGLUwDFs1eoH+m4etPn+uRq0iax9KJOkelmax2K3YLsT4KbRwM1enlSsv3A== dependencies: "@umijs/deps" "3.5.20" "@umijs/utils@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/utils/-/utils-4.0.69.tgz#8d2df2ddd1abcc0040bf3511c74852cb2b425f61" - integrity sha512-lLUsceXtNWBFb+A6/Sw/BRBrBCJMGCurkkuwFsPjVxuiHtJrI3X7RBUMH0uFilhG78dhQdHGN2tc+NH7Z1YXKw== dependencies: chokidar "3.5.3" pino "7.11.0" @@ -7452,7 +7179,6 @@ "@umijs/zod2ts@4.0.69": version "4.0.69" resolved "https://registry.yarnpkg.com/@umijs/zod2ts/-/zod2ts-4.0.69.tgz#eb1e426b5861871541ebe1ac1777ecba799178f8" - integrity sha512-whXJSz9vm8cuU+qUSGtcacuPGUG7Vp2yv1fiJ726mukb/bJS4uG/3tcCOOlkztV5cvkRB4QtZ6IEMaqvxtt7xw== "@use-gesture/core@10.2.20": version "10.2.20" @@ -7467,7 +7193,6 @@ "@vitejs/plugin-react@4.0.0", "@vitejs/plugin-react@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz#46d1c37c507447d10467be1c111595174555ef28" - integrity sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ== dependencies: "@babel/core" "^7.21.4" "@babel/plugin-transform-react-jsx-self" "^7.21.0" @@ -7764,7 +7489,6 @@ amp@0.3.1, amp@~0.3.1: animated-scroll-to@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/animated-scroll-to/-/animated-scroll-to-2.3.0.tgz#01d7a82db7ace7017eae11c5ebbafd3b0270bced" - integrity sha512-PT/5MSKCWQaK2kuOl2HT2KJMuJEvUS4/TgMhWy82c2EmF74/CIkvPBPKOvd8nMYP6Higo7xCn49/iSW9BccMoQ== ansi-align@^2.0.0: version "2.0.0" @@ -7817,7 +7541,6 @@ ansi-gray@^0.1.1: ansi-html-community@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-red@^0.1.1: version "0.1.1" @@ -7898,7 +7621,6 @@ antd-mobile@^5.29.1: antd-token-previewer@^2.0.0-alpha.6: version "2.0.0-alpha.6" resolved "https://registry.yarnpkg.com/antd-token-previewer/-/antd-token-previewer-2.0.0-alpha.6.tgz#510021540d358722b02d2151519be15f6d8caa86" - integrity sha512-I2C+c5g6irJO6XGnkVaF5uKxPwThXz1OxESPDjHc26OFLaJ894YkjK8N+7/jKEohuTUZfKLdauJF79Z0PgOmZA== dependencies: "@ant-design/colors" "^6" "@ant-design/cssinjs" "^1" @@ -7965,7 +7687,6 @@ antd@^4.24.8: antd@^5.4.2, antd@^5.5.1: version "5.5.1" resolved "https://registry.yarnpkg.com/antd/-/antd-5.5.1.tgz#84615c17db0a6d46ca69c26831130f1fae162896" - integrity sha512-H9vPVGQ/8fT9Zidl4fzMSVAOCDIe/ZQtiU2hDzrN2tqAbaxOet+1HqfoKv7dfy+e0ttKIFvs6Y2yWw/ign1MwQ== dependencies: "@ant-design/colors" "^7.0.0" "@ant-design/cssinjs" "^1.9.1" @@ -8129,11 +7850,10 @@ argparse@^2.0.1: aria-hidden@^1.1.3: version "1.2.3" resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954" - integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ== dependencies: tslib "^2.0.0" -aria-query@^5.0.0: +aria-query@5.1.3, aria-query@^5.0.0: version "5.1.3" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" dependencies: @@ -8345,7 +8065,6 @@ astral-regex@^1.0.0: astring@^1.8.0: version "1.8.5" resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.5.tgz#d5b95ce508e8987e32ab14ee62b4a0ac21de6938" - integrity sha512-TuBbdn7jWVzf8dmFGTaRpW8qgANtWLi1qJLnkfGO5uVf6jf9f/F4B1H35tnOI+qVYZo3p3i8WZlbZOuPAE0wEA== async-each@^1.0.1: version "1.0.6" @@ -8405,7 +8124,6 @@ atob@^2.1.2: atomic-sleep@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== atomically@^1.7.0: version "1.7.0" @@ -8436,7 +8154,6 @@ autoprefixer@9.6.0: autoprefixer@^10.4.6: version "10.4.14" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" - integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== dependencies: browserslist "^4.21.5" caniuse-lite "^1.0.30001464" @@ -8522,7 +8239,6 @@ babel-jest@^26.6.3: babel-jest@^29.4.3: version "29.5.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.5.0.tgz#3fe3ddb109198e78b1c88f9ebdecd5e4fc2f50a5" - integrity sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q== dependencies: "@jest/transform" "^29.5.0" "@types/babel__core" "^7.1.14" @@ -8575,7 +8291,6 @@ babel-plugin-jest-hoist@^26.6.2: babel-plugin-jest-hoist@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz#a97db437936f441ec196990c9738d4b88538618a" - integrity sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -8640,7 +8355,6 @@ babel-plugin-react-require@3.1.1: babel-plugin-styled-components@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.1.tgz#cd977cc0ff8410d5cbfdd142e42576e9c8794b87" - integrity sha512-c8lJlszObVQPguHkI+akXv8+Jgb9Ccujx0EetL7oIvwU100LxO6XAGe45qry37wUL40a5U9f23SYrivro2XKhA== dependencies: "@babel/helper-annotate-as-pure" "^7.16.0" "@babel/helper-module-imports" "^7.16.0" @@ -8651,7 +8365,6 @@ babel-plugin-styled-components@2.1.1: "babel-plugin-styled-components@>= 1.12.0": version "2.1.3" resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.3.tgz#f5616bee99efca6685e500fe45db87f26cb42ba7" - integrity sha512-jBioLwBVHpOMU4NsueH/ADcHrjS0Y/WTpt2eGVmmuSFNEv2DF3XhcMncuZlbbjxQ4vzxg+yEr6E6TNjrIQbsJQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-module-imports" "^7.21.4" @@ -8662,7 +8375,6 @@ babel-plugin-styled-components@2.1.1: babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - integrity sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw== babel-plugin-transform-react-remove-prop-types@0.4.24: version "0.4.24" @@ -8702,7 +8414,6 @@ babel-preset-jest@^26.6.2: babel-preset-jest@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz#57bc8cc88097af7ff6a5ab59d1cd29d52a5916e2" - integrity sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg== dependencies: babel-plugin-jest-hoist "^29.5.0" babel-preset-current-node-syntax "^1.0.0" @@ -8744,7 +8455,6 @@ babel-runtime@^6.26.0: bail@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" - integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== balanced-match@^1.0.0: version "1.0.2" @@ -8783,7 +8493,6 @@ bessel@^1.0.2: big-integer@^1.6.44: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== big.js@^5.2.2: version "5.2.2" @@ -8899,7 +8608,6 @@ boxen@^3.0.0: bplist-parser@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" - integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== dependencies: big-integer "^1.6.44" @@ -9103,7 +8811,6 @@ builtins@^1.0.3: bundle-name@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" - integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== dependencies: run-applescript "^5.0.0" @@ -9316,7 +9023,6 @@ camelcase@^6.0.0, camelcase@^6.2.0: camelize@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" - integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== caniuse-api@^3.0.0: version "3.0.0" @@ -9334,12 +9040,10 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000971: caniuse-lite@^1.0.30001449: version "1.0.30001502" resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001502.tgz#f7e4a76eb1d2d585340f773767be1fefc118dca8" - integrity sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg== caniuse-lite@^1.0.30001464: version "1.0.30001488" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001488.tgz#d19d7b6e913afae3e98f023db97c19e9ddc5e91f" - integrity sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ== capture-exit@^2.0.0: version "2.0.0" @@ -9358,7 +9062,6 @@ caseless@~0.12.0: ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== center-align@^0.1.1: version "0.1.3" @@ -9397,7 +9100,6 @@ chalk@2.4.1: chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -9434,7 +9136,6 @@ char-regex@^1.0.2: character-entities-html4@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== character-entities-legacy@^1.0.0: version "1.1.4" @@ -9443,7 +9144,6 @@ character-entities-legacy@^1.0.0: character-entities-legacy@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== character-entities@^1.0.0: version "1.2.4" @@ -9452,7 +9152,6 @@ character-entities@^1.0.0: character-entities@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" - integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-reference-invalid@^1.0.0: version "1.1.4" @@ -9461,7 +9160,6 @@ character-reference-invalid@^1.0.0: character-reference-invalid@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" - integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== chardet@^0.7.0: version "0.7.0" @@ -9591,7 +9289,6 @@ class-utils@^0.3.5: classcat@^5.0.3, classcat@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/classcat/-/classcat-5.0.4.tgz#e12d1dfe6df6427f260f03b80dc63571a5107ba6" - integrity sha512-sbpkOw6z413p+HDGcBENe498WM9woqWHiJxCq7nvmxe9WmrUmqfAcxpIwAiMtM5Q3AhYkzXcNQHqsWq0mND51g== classnames@2.3.2, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: version "2.3.2" @@ -9600,7 +9297,6 @@ classnames@2.3.2, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnam clean-css@^5.2.2: version "5.3.2" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" - integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== dependencies: source-map "~0.6.0" @@ -9653,7 +9349,6 @@ cli-width@^3.0.0: click-to-react-component@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/click-to-react-component/-/click-to-react-component-1.0.8.tgz#bcad2f4551dde67c54cec77e02791c7ecda50e5a" - integrity sha512-YBNYOp00udy+NBEnUmM/3Df0Yco1iHNQ8k0ltlJVcDYK9AuYt14xPoJicBh/BokLqbzkci1p+pbdY5r4JXZC4g== dependencies: "@floating-ui/react-dom-interactions" "^0.3.1" htm "^3.1.0" @@ -9906,7 +9601,6 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: comma-separated-tokens@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" - integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== commander@*: version "10.0.1" @@ -9933,7 +9627,6 @@ commander@^2.19.0, commander@^2.20.0, commander@^2.8.1, commander@^2.9.0: commander@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== commander@^9.2.0: version "9.5.0" @@ -9946,7 +9639,6 @@ commander@~2.1.0: common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== commondir@^1.0.1: version "1.0.1" @@ -10001,7 +9693,6 @@ compute-scroll-into-view@^1.0.20: compute-scroll-into-view@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz#c418900a5c56e2b04b885b54995df164535962b1" - integrity sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A== concat-map@0.0.1: version "0.0.1" @@ -10230,7 +9921,6 @@ convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== cookiejar@^2.1.4: version "2.1.4" @@ -10246,7 +9936,6 @@ cookies@~0.8.0: copy-anything@^2.0.1: version "2.0.6" resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" - integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== dependencies: is-what "^3.14.1" @@ -10284,7 +9973,6 @@ core-js-compat@^3.1.1, core-js-compat@^3.30.1, core-js-compat@^3.30.2, core-js-c core-js-pure@^3.23.3: version "3.30.2" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.2.tgz#005a82551f4af3250dcfb46ed360fad32ced114e" - integrity sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg== core-js@3.1.4: version "3.1.4" @@ -10293,7 +9981,6 @@ core-js@3.1.4: core-js@3.28.0: version "3.28.0" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" - integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== core-js@^2.4.0: version "2.6.12" @@ -10310,7 +9997,6 @@ core-util-is@^1.0.2, core-util-is@~1.0.0: cors@^2.8.5: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== dependencies: object-assign "^4" vary "^1" @@ -10506,7 +10192,6 @@ crypto-random-string@^1.0.0: css-blank-pseudo@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" - integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== dependencies: postcss-selector-parser "^6.0.9" @@ -10519,7 +10204,6 @@ css-box-model@^1.2.0: css-color-keywords@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" - integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" @@ -10535,14 +10219,12 @@ css-declaration-sorter@^4.0.1: css-has-pseudo@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" - integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== dependencies: postcss-selector-parser "^6.0.9" css-loader@6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" - integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== dependencies: icss-utils "^5.1.0" postcss "^8.4.7" @@ -10567,7 +10249,6 @@ css-modules-loader-core@^1.1.0: css-prefers-color-scheme@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" - integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== css-select-base-adapter@^0.1.1: version "0.1.1" @@ -10585,7 +10266,6 @@ css-select@^2.0.0: css-select@^4.1.3: version "4.3.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" css-what "^6.0.1" @@ -10613,7 +10293,6 @@ css-selector-tokenizer@^0.7.0: css-to-react-native@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" - integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== dependencies: camelize "^1.0.0" css-color-keywords "^1.0.0" @@ -10657,7 +10336,6 @@ css@^2.2.3, css@^2.2.4: css@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" - integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== dependencies: inherits "^2.0.4" source-map "^0.6.1" @@ -10666,7 +10344,6 @@ css@^3.0.0: cssdb@^6.6.1: version "6.6.3" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.6.3.tgz#1f331a2fab30c18d9f087301e6122a878bb1e505" - integrity sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA== cssesc@^3.0.0: version "3.0.0" @@ -10771,7 +10448,6 @@ culvert@^0.1.2: current-script-polyfill@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/current-script-polyfill/-/current-script-polyfill-1.0.0.tgz#f31cf7e4f3e218b0726e738ca92a02d3488ef615" - integrity sha512-qv8s+G47V6Hq+g2kRE5th+ASzzrL7b6l+tap1DHKK25ZQJv3yIFhH96XaQ7NGL+zRW3t/RDbweJf/dJDe5Z5KA== currently-unhandled@^0.4.1: version "0.4.1" @@ -11068,7 +10744,6 @@ data-uri-to-buffer@3: data-uri-to-buffer@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" - integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== data-urls@^1.0.0: version "1.1.0" @@ -11120,12 +10795,10 @@ dateformat@^3.0.0: dayjs@1.x, dayjs@^1.11.1, dayjs@^1.11.4, dayjs@^1.11.7, dayjs@^1.9.1, dayjs@~1.11.5: version "1.11.8" resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.8.tgz#4282f139c8c19dd6d0c7bd571e30c2d0ba7698ea" - integrity sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ== dayjs@~1.8.24: version "1.8.36" resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.8.36.tgz#be36e248467afabf8f5a86bae0de0cdceecced50" - integrity sha512-3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw== debounce-fn@^4.0.0: version "4.0.0" @@ -11185,7 +10858,6 @@ decimal.js@^10.2.1, decimal.js@^10.3.1: decode-named-character-reference@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== dependencies: character-entities "^2.0.0" @@ -11310,7 +10982,6 @@ deep-is@^0.1.3, deep-is@~0.1.3: deep-rename-keys@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/deep-rename-keys/-/deep-rename-keys-0.2.1.tgz#ede78537d7a66a2be61517e2af956d7f58a3f1d8" - integrity sha512-RHd9ABw4Fvk+gYDWqwOftG849x0bYOySl/RgX0tLI9i27ZIeSO91mLZJEp7oPHOMFqHvpgu21YptmDt0FYD/0A== dependencies: kind-of "^3.0.2" rename-keys "^1.1.2" @@ -11322,7 +10993,6 @@ deepmerge@^4.2.2: default-browser-id@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" - integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== dependencies: bplist-parser "^0.2.0" untildify "^4.0.0" @@ -11330,7 +11000,6 @@ default-browser-id@^3.0.0: default-browser@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" - integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== dependencies: bundle-name "^3.0.0" default-browser-id "^3.0.0" @@ -11356,12 +11025,10 @@ defer-to-connect@^1.0.1: define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== define-lazy-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" - integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: version "1.2.0" @@ -11462,12 +11129,10 @@ detect-indent@^6.0.0: detect-indent@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.1.tgz#cbb060a12842b9c4d333f1cac4aa4da1bb66bc25" - integrity sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g== detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== detect-libc@^2.0.0: version "2.0.1" @@ -11484,12 +11149,10 @@ detect-newline@^3.0.0: detect-newline@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-4.0.0.tgz#450ac3f864d5f61112b53a524123b012c59581bc" - integrity sha512-1aXUEPdfGdzVPFpzGJJNgq9o81bGg1s09uxTWsqBlo9PI332uyJRQq13+LK/UN4JfxJbFdCXonUFQ9R/p7yCtw== detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== dezalgo@^1.0.0, dezalgo@^1.0.4: version "1.0.4" @@ -11516,7 +11179,6 @@ diff-sequences@^26.6.2: diff-sequences@^29.4.3: version "29.4.3" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.4.3.tgz#9314bc1fabe09267ffeca9cbafc457d8499a13f2" - integrity sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA== diff@^4.0.1: version "4.0.2" @@ -11525,7 +11187,6 @@ diff@^4.0.1: diff@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== diffie-hellman@^5.0.0: version "5.0.3" @@ -11571,7 +11232,6 @@ doctrine@^3.0.0: dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: version "0.5.16" resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== dom-align@^1.7.0: version "1.12.4" @@ -11580,7 +11240,6 @@ dom-align@^1.7.0: dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" @@ -11601,7 +11260,6 @@ dom-serializer@0: dom-serializer@^1.0.1: version "1.4.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" domhandler "^4.2.0" @@ -11642,7 +11300,6 @@ domexception@^2.0.1: domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" @@ -11666,7 +11323,6 @@ domutils@^1.7.0: domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" domelementtype "^2.2.0" @@ -11726,17 +11382,14 @@ dottie@^2.0.2: dumi-afx-deps@^1.0.0-alpha.12: version "1.0.0-alpha.15" resolved "https://registry.yarnpkg.com/dumi-afx-deps/-/dumi-afx-deps-1.0.0-alpha.15.tgz#c286ab467a1dc06692b59b2f5b31061f321963f9" - integrity sha512-wX6qr1ijp9ZbkXTJiO4J+d57Somcpmlnc0mi/Efmso0QuIgEnlxFuFLZGy19Er4t6j+jf4DGbqFste9LzEliCQ== dumi-assets-types@2.0.0-alpha.0: version "2.0.0-alpha.0" resolved "https://registry.yarnpkg.com/dumi-assets-types/-/dumi-assets-types-2.0.0-alpha.0.tgz#46bf619ed1cb6d27bbe6a9cfe4be51e5e9589981" - integrity sha512-a/Y5lf0G6gwsEQ9hop/n03CcjmHsGBk384Cz/AEX6mRYrfSpUx/lQvP9HLoXkCzScl9PL1sSmLPnMkgaXDCZLA== dumi-theme-nocobase@^0.2.12: version "0.2.12" resolved "https://registry.yarnpkg.com/dumi-theme-nocobase/-/dumi-theme-nocobase-0.2.12.tgz#663c9bab60ae6dcfd5255b99780b4ddb7942ace7" - integrity sha512-ObjJZkKWYqeZ+JlQGOX71vI+FPD9RxASYRrFZV9vpkIALwkLfolwX+8JZTHq9VS8dG3+3tAukVY25FOagVs4ZA== dependencies: "@ant-design/icons" "^5.1.3" "@babel/runtime" "^7.22.3" @@ -11751,7 +11404,6 @@ dumi-theme-nocobase@^0.2.12: dumi-theme-nocobase@^0.2.9: version "0.2.9" resolved "https://registry.yarnpkg.com/dumi-theme-nocobase/-/dumi-theme-nocobase-0.2.9.tgz#0037a5a750e293b73de5be83e7f2195dbb0ae347" - integrity sha512-0B0op8V85gqYD01lsCfV/NRiXmzNd0Y7s2FgTVTW/eHxnS9TuzARal511cur7P11xUks9/30Df5e52QgBBwbVg== dependencies: "@ant-design/icons" "^5.1.3" "@babel/runtime" "^7.22.3" @@ -11766,7 +11418,6 @@ dumi-theme-nocobase@^0.2.9: dumi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/dumi/-/dumi-2.2.0.tgz#deab7bbad8a3ecbb254baaefef12c32ed4e3230f" - integrity sha512-bqtXpdQqMZYPYixXkomJ/8QT4Frk8PEd7MgbnLeqdcJJZq1pdRGDK7JO7AySd97Q7rJ0qJErJGw0sjE02alUzQ== dependencies: "@ant-design/icons-svg" "^4.2.1" "@makotot/ghostui" "^2.0.0" @@ -11850,7 +11501,6 @@ duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: duplexify@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" - integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== dependencies: end-of-stream "^1.4.1" inherits "^2.0.3" @@ -11890,7 +11540,6 @@ ee-first@1.1.1, ee-first@~1.1.1: electron-to-chromium@^1.4.284: version "1.4.428" resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.428.tgz#c31fc88e854f49d8305cdabf6ec934ff1588a902" - integrity sha512-L7uUknyY286of0AYC8CKfgWstD0Smk2DvHDi9F0GWQhSH90Bzi7iDrmCbZKz75tYJxeGSAc7TYeKpmbjMDoh1w== elkjs@^0.8.2: version "0.8.2" @@ -11961,7 +11610,6 @@ end-or-error@^1.0.1: enhanced-resolve@5.9.3: version "5.9.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" - integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -11977,7 +11625,6 @@ enhanced-resolve@^4.0.0: enhanced-resolve@^5.10.0: version "5.14.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz#0b6c676c8a3266c99fa281e4433a706f5c0c61c4" - integrity sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -12198,7 +11845,6 @@ esbuild@0.12.15: esbuild@0.16.17: version "0.16.17" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" - integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== optionalDependencies: "@esbuild/android-arm" "0.16.17" "@esbuild/android-arm64" "0.16.17" @@ -12226,7 +11872,6 @@ esbuild@0.16.17: esbuild@^0.17.5, esbuild@~0.17.6: version "0.17.19" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" - integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== optionalDependencies: "@esbuild/android-arm" "0.17.19" "@esbuild/android-arm64" "0.17.19" @@ -12278,7 +11923,6 @@ escape-string-regexp@^4.0.0: escape-string-regexp@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== escodegen@^1.8.1, escodegen@^1.9.1: version "1.14.3" @@ -12350,7 +11994,6 @@ eslint-plugin-import@^2.27.5: eslint-plugin-jest@27.2.1: version "27.2.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.2.1.tgz#b85b4adf41c682ea29f1f01c8b11ccc39b5c672c" - integrity sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -12428,7 +12071,6 @@ eslint-utils@^2.0.0: eslint-utils@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: eslint-visitor-keys "^2.0.0" @@ -12439,7 +12081,6 @@ eslint-visitor-keys@^1.1.0: eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint-visitor-keys@^3.3.0: version "3.4.0" @@ -12448,7 +12089,6 @@ eslint-visitor-keys@^3.3.0: eslint-visitor-keys@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" - integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== eslint@^8.39.0: version "8.42.0" @@ -12497,7 +12137,6 @@ eslint@^8.39.0: espree@^9.5.2: version "9.5.2" resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b" - integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" @@ -12530,19 +12169,16 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: estree-util-attach-comments@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz#ee44f4ff6890ee7dfb3237ac7810154c94c63f84" - integrity sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w== dependencies: "@types/estree" "^1.0.0" estree-util-is-identifier-name@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz#fb70a432dcb19045e77b05c8e732f1364b4b49b2" - integrity sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ== estree-util-to-js@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz#0f80d42443e3b13bd32f7012fffa6f93603f4a36" - integrity sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA== dependencies: "@types/estree-jsx" "^1.0.0" astring "^1.8.0" @@ -12551,7 +12187,6 @@ estree-util-to-js@^1.1.0: estree-util-visit@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.2.1.tgz#8bc2bc09f25b00827294703835aabee1cc9ec69d" - integrity sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw== dependencies: "@types/estree-jsx" "^1.0.0" "@types/unist" "^2.0.0" @@ -12677,7 +12312,6 @@ execa@^5.0.0, execa@^5.1.1: execa@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" - integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== dependencies: cross-spawn "^7.0.3" get-stream "^6.0.1" @@ -12744,7 +12378,6 @@ expect@^26.6.2: expect@^29.0.0: version "29.5.0" resolved "https://registry.yarnpkg.com/expect/-/expect-29.5.0.tgz#68c0509156cb2a0adb8865d413b137eeaae682f7" - integrity sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg== dependencies: "@jest/expect-utils" "^29.5.0" jest-get-type "^29.4.3" @@ -12824,12 +12457,10 @@ fast-diff@1.1.2: fast-diff@^1.1.2, fast-diff@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== fast-glob@3.2.12, fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.9: version "3.2.12" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -12863,7 +12494,6 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: fast-redact@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.2.0.tgz#b1e2d39bc731376d28bde844454fa23e26919987" - integrity sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw== fast-safe-stringify@^2.1.1: version "2.1.1" @@ -12894,7 +12524,6 @@ fastq@^1.6.0: fault@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" - integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== dependencies: format "^0.2.0" @@ -12921,7 +12550,6 @@ fecha@^4.2.0, fecha@~4.2.0: fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" - integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== dependencies: node-domexception "^1.0.0" web-streams-polyfill "^3.0.3" @@ -12961,7 +12589,6 @@ file-stream-rotator@^0.6.1: file-system-cache@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-2.3.0.tgz#201feaf4c8cd97b9d0d608e96861bb6005f46fe6" - integrity sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ== dependencies: fs-extra "11.1.1" ramda "0.29.0" @@ -13176,7 +12803,6 @@ fork-stream@^0.0.4: fork-ts-checker-webpack-plugin@8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz#dae45dfe7298aa5d553e2580096ced79b6179504" - integrity sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg== dependencies: "@babel/code-frame" "^7.16.7" chalk "^4.1.2" @@ -13222,7 +12848,6 @@ format@^0.2.0: formdata-polyfill@^4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== dependencies: fetch-blob "^3.1.2" @@ -13279,7 +12904,6 @@ fs-exists-sync@^0.1.0: fs-extra@11.1.1, fs-extra@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -13347,7 +12971,6 @@ fs-mkdirp-stream@^1.0.0: fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== fs-write-stream-atomic@^1.0.8: version "1.0.10" @@ -13540,7 +13163,6 @@ get-symbol-description@^1.0.0: get-tsconfig@^4.4.0: version "4.5.0" resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.5.0.tgz#6d52d1c7b299bd3ee9cd7638561653399ac77b0f" - integrity sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ== get-uri@3: version "3.0.2" @@ -13589,7 +13211,6 @@ git-config-path@^1.0.1: git-hooks-list@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/git-hooks-list/-/git-hooks-list-3.1.0.tgz#386dc531dcc17474cf094743ff30987a3d3e70fc" - integrity sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA== git-node-fs@^1.0.0: version "1.0.0" @@ -13660,7 +13281,6 @@ gitconfiglocal@^1.0.0: github-slugger@^1.4.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" - integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== gl-matrix@^3.0.0, gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: version "3.4.3" @@ -13777,7 +13397,6 @@ globby@^11.0.2, globby@^11.1.0: globby@^13.1.2: version "13.1.4" resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.4.tgz#2f91c116066bcec152465ba36e5caa4a13c01317" - integrity sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g== dependencies: dir-glob "^3.0.1" fast-glob "^3.2.11" @@ -13872,7 +13491,6 @@ gulp-if@2.0.2: gulp-less@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/gulp-less/-/gulp-less-5.0.0.tgz#edafce75e9202fd62c9f653fb57b8d0d9fd731e5" - integrity sha512-W2I3TewO/By6UZsM/wJG3pyK5M6J0NYmJAAhwYXQHR+38S0iDtZasmUgFCH3CQj+pQYw/PAIzxvFvwtEXz1HhQ== dependencies: less "^3.7.1 || ^4.0.0" object-assign "^4.0.1" @@ -13910,7 +13528,6 @@ gulp-typescript@5.0.1: handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== handlebars@^4.7.7: version "4.7.7" @@ -14043,7 +13660,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: hast-util-from-parse5@^7.0.0: version "7.1.2" resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz#aecfef73e3ceafdfa4550716443e4eb7b02e22b0" - integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw== dependencies: "@types/hast" "^2.0.0" "@types/unist" "^2.0.0" @@ -14056,26 +13672,22 @@ hast-util-from-parse5@^7.0.0: hast-util-has-property@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz#8ec99c3e8f02626304ee438cdb9f0528b017e083" - integrity sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg== hast-util-heading-rank@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/hast-util-heading-rank/-/hast-util-heading-rank-2.1.1.tgz#063b43b9cfb56a1a8ded84dd68d8af69e8864545" - integrity sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA== dependencies: "@types/hast" "^2.0.0" hast-util-is-conditional-comment@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hast-util-is-conditional-comment/-/hast-util-is-conditional-comment-2.0.0.tgz#b1c915c17ced12635a87984e562d3688f90cdb93" - integrity sha512-U66gW8ZWQdxP4ZjTEZ3xZT72y6rIKJqV4At5QmC1ItBbQyZyVkuTp8QkQwhxsbkHdzpifiZdQWrDipc9ByqhRg== dependencies: "@types/hast" "^2.0.0" hast-util-is-element@^2.0.0, hast-util-is-element@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz#cd3279cfefb70da6d45496068f020742256fc471" - integrity sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA== dependencies: "@types/hast" "^2.0.0" "@types/unist" "^2.0.0" @@ -14083,14 +13695,12 @@ hast-util-is-element@^2.0.0, hast-util-is-element@^2.1.2: hast-util-parse-selector@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2" - integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== dependencies: "@types/hast" "^2.0.0" hast-util-raw@^7.0.0, hast-util-raw@^7.2.2: version "7.2.3" resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99" - integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg== dependencies: "@types/hast" "^2.0.0" "@types/parse5" "^6.0.0" @@ -14107,7 +13717,6 @@ hast-util-raw@^7.0.0, hast-util-raw@^7.2.2: hast-util-to-estree@^2.1.0: version "2.3.2" resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.3.2.tgz#11ab0cd2e70ecf0305151af56e636b1cdfbba0bf" - integrity sha512-YYDwATNdnvZi3Qi84iatPIl1lWpXba1MeNrNbDfJfVzEBZL8uUmtR7mt7bxKBC8kuAuvb0bkojXYZzsNHyHCLg== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -14128,7 +13737,6 @@ hast-util-to-estree@^2.1.0: hast-util-to-html@^8.0.0: version "8.0.4" resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz#0269ef33fa3f6599b260a8dc94f733b8e39e41fc" - integrity sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA== dependencies: "@types/hast" "^2.0.0" "@types/unist" "^2.0.0" @@ -14145,7 +13753,6 @@ hast-util-to-html@^8.0.0: hast-util-to-parse5@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3" - integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw== dependencies: "@types/hast" "^2.0.0" comma-separated-tokens "^2.0.0" @@ -14157,19 +13764,16 @@ hast-util-to-parse5@^7.0.0: hast-util-to-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz#b008b0a4ea472bf34dd390b7eea1018726ae152a" - integrity sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A== dependencies: "@types/hast" "^2.0.0" hast-util-whitespace@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" - integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== hastscript@^7.0.0: version "7.2.0" resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" - integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== dependencies: "@types/hast" "^2.0.0" comma-separated-tokens "^2.0.0" @@ -14180,7 +13784,6 @@ hastscript@^7.0.0: he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== heap@^0.2.6: version "0.2.7" @@ -14189,12 +13792,10 @@ heap@^0.2.6: heti-findandreplacedomtext@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/heti-findandreplacedomtext/-/heti-findandreplacedomtext-0.5.0.tgz#a69dd028ac3d37c73a33173e376f2c3366cdd46f" - integrity sha512-GFZjqU8LAdu1uR72GqrReI+lzNLMlcWtvdz1TKNJiofyo1mfTecFYSZEoEbcLcRMl+KwEldnNQoS4BwO8wtg0A== heti@^0.9.2: version "0.9.4" resolved "https://registry.yarnpkg.com/heti/-/heti-0.9.4.tgz#23fed85c4ca69bdf2d24dfbf78cdf9d633faac43" - integrity sha512-DI1A/R6VabM8wulXrGVbeHZNZ8jJUm+Pwn+PEYZcNBxAO+4mXWPEX+Xu9R/YrHETGcevNrLO34m/99ZCnFnlhw== dependencies: heti-findandreplacedomtext "^0.5.0" @@ -14213,7 +13814,6 @@ highlight.js@^10.1.0, highlight.js@^10.2.0: history@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b" - integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ== dependencies: "@babel/runtime" "^7.7.6" @@ -14254,7 +13854,6 @@ hotkeys-js@3.9.4: hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" obuf "^1.0.0" @@ -14272,7 +13871,6 @@ hsla-regex@^1.0.0: htm@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/htm/-/htm-3.1.1.tgz#49266582be0dc66ed2235d5ea892307cc0c24b78" - integrity sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ== html-comment-regex@^1.1.2: version "1.1.2" @@ -14308,7 +13906,6 @@ html-escaper@^2.0.0: html-minifier-terser@^6.0.2: version "6.1.0" resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== dependencies: camel-case "^4.1.2" clean-css "^5.2.2" @@ -14327,7 +13924,6 @@ html-parse-stringify@^3.0.1: html-to-text@^8.2.1: version "8.2.1" resolved "https://registry.yarnpkg.com/html-to-text/-/html-to-text-8.2.1.tgz#4a75b8a1b646149bd71c50527adb568990bf459b" - integrity sha512-aN/3JvAk8qFsWVeE9InWAWueLXrbkoVZy0TkzaGhoRBC2gCFEeRLDDJN3/ijIGHohy6H+SZzUQWN/hcYtaPK8w== dependencies: "@selderee/plugin-htmlparser2" "^0.6.0" deepmerge "^4.2.2" @@ -14339,12 +13935,10 @@ html-to-text@^8.2.1: html-void-elements@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" - integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== html-webpack-plugin@5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== dependencies: "@types/html-minifier-terser" "^6.0.0" html-minifier-terser "^6.0.2" @@ -14355,7 +13949,6 @@ html-webpack-plugin@5.5.0: html2sketch@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/html2sketch/-/html2sketch-1.0.1.tgz#acba5d92f40d96ef9c0a18d05d764156b67e53e5" - integrity sha512-2Ml773nnn58VJpe+Uf1Ia06gVQQNsG6TARG2UB2tvoXPTZmU3cEhUOAbDKRYhwoTzkSNND3LklUbF1FUyhFjVQ== dependencies: "@sketch-hq/sketch-file-format-ts" "^6" color "^3.1.2" @@ -14369,7 +13962,6 @@ html2sketch@^1.0.1: htmlparser2@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" domhandler "^4.0.0" @@ -14403,7 +13995,6 @@ http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== http-errors@2.0.0: version "2.0.0" @@ -14493,7 +14084,6 @@ human-signals@^2.1.0: human-signals@^4.3.0: version "4.3.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" - integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== humanize-ms@^1.2.0, humanize-ms@^1.2.1: version "1.2.1" @@ -14536,7 +14126,6 @@ icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== identity-obj-proxy@3.0.0: version "3.0.0" @@ -14579,7 +14168,6 @@ image-size@~0.5.0: immutable@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.0.tgz#eb1738f14ffb39fd068b1dbe1296117484dd34be" - integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg== import-cwd@^2.0.0, import-cwd@^2.1.0: version "2.1.0" @@ -14785,7 +14373,6 @@ intersection-observer@^0.12.0: intl-messageformat@10.3.5: version "10.3.5" resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.3.5.tgz#f55684fc663e62616ad59d3a504ea0cac3f267b7" - integrity sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA== dependencies: "@formatjs/ecma402-abstract" "1.15.0" "@formatjs/fast-memoize" "2.0.1" @@ -14836,7 +14423,6 @@ is-alphabetical@^1.0.0: is-alphabetical@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" - integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== is-alphanumerical@^1.0.0: version "1.0.4" @@ -14848,7 +14434,6 @@ is-alphanumerical@^1.0.0: is-alphanumerical@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" - integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== dependencies: is-alphabetical "^2.0.0" is-decimal "^2.0.0" @@ -14879,14 +14464,12 @@ is-arrayish@^0.3.1: is-arrow-function@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-arrow-function/-/is-arrow-function-2.0.3.tgz#29be2c2d8d9450852b8bbafb635ba7b8d8e87ec2" - integrity sha512-iDStzcT1FJMzx+TjCOK//uDugSe/Mif/8a+T0htydQ3qkJGvSweTZpVYz4hpJH0baloSPiAFQdA8WslAgJphvQ== dependencies: is-callable "^1.0.4" is-async-function@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== dependencies: has-tostringtag "^1.0.0" @@ -14985,7 +14568,6 @@ is-decimal@^1.0.0: is-decimal@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" - integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== is-descriptor@^0.1.0: version "0.1.6" @@ -15014,12 +14596,10 @@ is-docker@^2.0.0, is-docker@^2.1.1: is-docker@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" - integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== is-equal@^1.6.4: version "1.6.4" resolved "https://registry.yarnpkg.com/is-equal/-/is-equal-1.6.4.tgz#9a51b9ff565637ca2452356e293e9c98a1490ea1" - integrity sha512-NiPOTBb5ahmIOYkJ7mVTvvB1bydnTzixvfO+59AjJKBpyjPBIULL3EHGxySyZijlVpewveJyhiLQThcivkkAtw== dependencies: es-get-iterator "^1.1.2" functions-have-names "^1.2.2" @@ -15060,7 +14640,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: is-finalizationregistry@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== dependencies: call-bind "^1.0.2" @@ -15119,12 +14698,10 @@ is-hexadecimal@^1.0.0: is-hexadecimal@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" - integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== is-inside-container@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" - integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== dependencies: is-docker "^3.0.0" @@ -15222,7 +14799,6 @@ is-plain-obj@^2.0.0: is-plain-obj@^4.0.0, is-plain-obj@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" @@ -15300,7 +14876,6 @@ is-stream@^2.0.0: is-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" @@ -15388,7 +14963,6 @@ is-weakset@^2.0.1: is-what@^3.14.1: version "3.14.1" resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" - integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== is-windows@^0.2.0: version "0.2.0" @@ -15441,7 +15015,6 @@ isobject@^3.0.0, isobject@^3.0.1: isomorphic-unfetch@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-4.0.2.tgz#5fc04eeb1053b7b702278e2cf7a3f246cb3a9214" - integrity sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA== dependencies: node-fetch "^3.2.0" unfetch "^5.0.0" @@ -15679,7 +15252,6 @@ jest-diff@^26.0.0, jest-diff@^26.6.2: jest-diff@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.5.0.tgz#e0d83a58eb5451dcc1fa61b1c3ee4e8f5a290d63" - integrity sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw== dependencies: chalk "^4.0.0" diff-sequences "^29.4.3" @@ -15786,7 +15358,6 @@ jest-get-type@^26.3.0: jest-get-type@^29.4.3: version "29.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.4.3.tgz#1ab7a5207c995161100b5187159ca82dd48b3dd5" - integrity sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg== jest-haste-map@^24.9.0: version "24.9.0" @@ -15829,7 +15400,6 @@ jest-haste-map@^26.6.2: jest-haste-map@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.5.0.tgz#69bd67dc9012d6e2723f20a945099e972b2e94de" - integrity sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA== dependencies: "@jest/types" "^29.5.0" "@types/graceful-fs" "^4.1.3" @@ -15928,7 +15498,6 @@ jest-matcher-utils@^26.6.2: jest-matcher-utils@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz#d957af7f8c0692c5453666705621ad4abc2c59c5" - integrity sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw== dependencies: chalk "^4.0.0" jest-diff "^29.5.0" @@ -15965,7 +15534,6 @@ jest-message-util@^26.6.2: jest-message-util@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.5.0.tgz#1f776cac3aca332ab8dd2e3b41625435085c900e" - integrity sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA== dependencies: "@babel/code-frame" "^7.12.13" "@jest/types" "^29.5.0" @@ -16005,7 +15573,6 @@ jest-regex-util@^26.0.0: jest-regex-util@^29.4.3: version "29.4.3" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" - integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== jest-resolve-dependencies@^24.9.0: version "24.9.0" @@ -16322,7 +15889,6 @@ jest-worker@24.9.0, jest-worker@^24.6.0, jest-worker@^24.9.0: jest-worker@29.4.3: version "29.4.3" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.3.tgz#9a4023e1ea1d306034237c7133d7da4240e8934e" - integrity sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA== dependencies: "@types/node" "*" jest-util "^29.4.3" @@ -16340,7 +15906,6 @@ jest-worker@^26.2.1, jest-worker@^26.6.2: jest-worker@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.5.0.tgz#bdaefb06811bd3384d93f009755014d8acb4615d" - integrity sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA== dependencies: "@types/node" "*" jest-util "^29.5.0" @@ -16718,7 +16283,6 @@ kleur@^3.0.0, kleur@^3.0.3: kleur@^4.0.3: version "4.1.5" resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== ko-sleep@^1.0.3: version "1.1.4" @@ -16798,7 +16362,6 @@ koa@^2.13.4: kolorist@^1.6.0: version "1.8.0" resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" - integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== kuler@^2.0.0: version "2.0.0" @@ -16881,7 +16444,6 @@ less-plugin-npm-import@2.1.0: less@4.1.3, "less@^3.7.1 || ^4.0.0": version "4.1.3" resolved "https://registry.yarnpkg.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" - integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== dependencies: copy-anything "^2.0.1" parse-node-version "^1.0.1" @@ -16935,47 +16497,38 @@ libnpmpublish@^4.0.0: lightningcss-darwin-arm64@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.19.0.tgz#56ab071e932f845dbb7667f44f5b78441175a343" - integrity sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg== lightningcss-darwin-x64@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.19.0.tgz#c867308b88859ba61a2c46c82b1ca52ff73a1bd0" - integrity sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw== lightningcss-linux-arm-gnueabihf@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.19.0.tgz#0f921dc45f2e5c3aea70fab98844ac0e5f2f81be" - integrity sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig== lightningcss-linux-arm64-gnu@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.19.0.tgz#027f9df9c7f4ffa127c37a71726245a5794d7ba2" - integrity sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww== lightningcss-linux-arm64-musl@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.19.0.tgz#85ea987da868524eac6db94f8e1eaa23d0b688a3" - integrity sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA== lightningcss-linux-x64-gnu@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.19.0.tgz#02bec89579ab4153dccc0def755d1fd9e3ee7f3c" - integrity sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ== lightningcss-linux-x64-musl@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.19.0.tgz#e36a5df8193ae961d22974635e4c100a1823bb8c" - integrity sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg== lightningcss-win32-x64-msvc@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.19.0.tgz#0854dbd153035eca1396e2227c708ad43655a61c" - integrity sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg== lightningcss@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.19.0.tgz#fbbad0975de66252e38d96b5bdd2a62f2dd0ffbf" - integrity sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA== dependencies: detect-libc "^1.0.3" optionalDependencies: @@ -17045,7 +16598,6 @@ loader-utils@^2.0.0, loader-utils@^2.0.4: local-pkg@^0.4.2, local-pkg@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" - integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== locate-path@^2.0.0: version "2.0.0" @@ -17249,7 +16801,6 @@ long@^4.0.0: longest-streak@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" - integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== longest@^1.0.1: version "1.0.1" @@ -17323,7 +16874,7 @@ luxon@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.3.0.tgz#d73ab5b5d2b49a461c47cedbc7e73309b4805b48" -lz-string@^1.4.4: +lz-string@^1.4.4, lz-string@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" @@ -17473,7 +17024,6 @@ markdown-it@13.0.1: markdown-table@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" - integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== mathjs@^10.6.0, mathjs@^10.6.1: version "10.6.4" @@ -17506,7 +17056,6 @@ md5.js@^1.3.4: mdast-util-definitions@^5.0.0: version "5.1.2" resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" - integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" @@ -17515,7 +17064,6 @@ mdast-util-definitions@^5.0.0: mdast-util-directive@^2.0.0: version "2.2.4" resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-2.2.4.tgz#e397ed699ec83938cb4a48dc1cec3ae69cbd7aa3" - integrity sha512-sK3ojFP+jpj1n7Zo5ZKvoxP1MvLyzVG63+gm40Z/qI00avzdPCYxt7RBMgofwAva9gBjbDBWVRB/i+UD+fUCzQ== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" @@ -17528,7 +17076,6 @@ mdast-util-directive@^2.0.0: mdast-util-find-and-replace@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz#cc2b774f7f3630da4bd592f61966fecade8b99b1" - integrity sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw== dependencies: "@types/mdast" "^3.0.0" escape-string-regexp "^5.0.0" @@ -17548,7 +17095,6 @@ mdast-util-from-markdown@^0.8.5: mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz#0214124154f26154a2b3f9d401155509be45e894" - integrity sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" @@ -17566,7 +17112,6 @@ mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.3.0: mdast-util-frontmatter@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz#79c46d7414eb9d3acabe801ee4a70a70b75e5af1" - integrity sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw== dependencies: "@types/mdast" "^3.0.0" mdast-util-to-markdown "^1.3.0" @@ -17575,7 +17120,6 @@ mdast-util-frontmatter@^1.0.0: mdast-util-gfm-autolink-literal@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz#67a13abe813d7eba350453a5333ae1bc0ec05c06" - integrity sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA== dependencies: "@types/mdast" "^3.0.0" ccount "^2.0.0" @@ -17585,7 +17129,6 @@ mdast-util-gfm-autolink-literal@^1.0.0: mdast-util-gfm-footnote@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz#ce5e49b639c44de68d5bf5399877a14d5020424e" - integrity sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ== dependencies: "@types/mdast" "^3.0.0" mdast-util-to-markdown "^1.3.0" @@ -17594,7 +17137,6 @@ mdast-util-gfm-footnote@^1.0.0: mdast-util-gfm-strikethrough@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz#5470eb105b483f7746b8805b9b989342085795b7" - integrity sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ== dependencies: "@types/mdast" "^3.0.0" mdast-util-to-markdown "^1.3.0" @@ -17602,7 +17144,6 @@ mdast-util-gfm-strikethrough@^1.0.0: mdast-util-gfm-table@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz#3552153a146379f0f9c4c1101b071d70bbed1a46" - integrity sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg== dependencies: "@types/mdast" "^3.0.0" markdown-table "^3.0.0" @@ -17612,7 +17153,6 @@ mdast-util-gfm-table@^1.0.0: mdast-util-gfm-task-list-item@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz#b280fcf3b7be6fd0cc012bbe67a59831eb34097b" - integrity sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ== dependencies: "@types/mdast" "^3.0.0" mdast-util-to-markdown "^1.3.0" @@ -17620,7 +17160,6 @@ mdast-util-gfm-task-list-item@^1.0.0: mdast-util-gfm@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz#e92f4d8717d74bdba6de57ed21cc8b9552e2d0b6" - integrity sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg== dependencies: mdast-util-from-markdown "^1.0.0" mdast-util-gfm-autolink-literal "^1.0.0" @@ -17633,7 +17172,6 @@ mdast-util-gfm@^2.0.0: mdast-util-mdx-expression@^1.0.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz#d027789e67524d541d6de543f36d51ae2586f220" - integrity sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^2.0.0" @@ -17644,7 +17182,6 @@ mdast-util-mdx-expression@^1.0.0: mdast-util-mdxjs-esm@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz#645d02cd607a227b49721d146fd81796b2e2d15b" - integrity sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^2.0.0" @@ -17655,7 +17192,6 @@ mdast-util-mdxjs-esm@^1.0.0: mdast-util-newline-to-break@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mdast-util-newline-to-break/-/mdast-util-newline-to-break-1.0.0.tgz#a42699874a9240dc89bfcf256d3ff3036856abba" - integrity sha512-491LcYv3gbGhhCrLoeALncQmega2xPh+m3gbsIhVsOX4sw85+ShLFPvPyibxc1Swx/6GtzxgVodq+cGa/47ULg== dependencies: "@types/mdast" "^3.0.0" mdast-util-find-and-replace "^2.0.0" @@ -17663,7 +17199,6 @@ mdast-util-newline-to-break@^1.0.0: mdast-util-phrasing@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463" - integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== dependencies: "@types/mdast" "^3.0.0" unist-util-is "^5.0.0" @@ -17671,7 +17206,6 @@ mdast-util-phrasing@^3.0.0: mdast-util-to-hast@^12.1.0: version "12.3.0" resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" - integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== dependencies: "@types/hast" "^2.0.0" "@types/mdast" "^3.0.0" @@ -17685,7 +17219,6 @@ mdast-util-to-hast@^12.1.0: mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0, mdast-util-to-markdown@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6" - integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" @@ -17703,7 +17236,6 @@ mdast-util-to-string@^2.0.0: mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" - integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== dependencies: "@types/mdast" "^3.0.0" @@ -17726,7 +17258,6 @@ media-typer@0.3.0: memfs@^3.4.1: version "3.5.1" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.5.1.tgz#f0cd1e2bfaef58f6fe09bfb9c2288f07fea099ec" - integrity sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA== dependencies: fs-monkey "^1.0.3" @@ -17834,7 +17365,6 @@ methods@^1.1.2: micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: version "1.0.6" resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad" - integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== dependencies: decode-named-character-reference "^1.0.0" micromark-factory-destination "^1.0.0" @@ -17856,7 +17386,6 @@ micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: micromark-extension-directive@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-2.2.0.tgz#f2b600900c50c7b5dd06c370978157e42da4d329" - integrity sha512-LWc2mGlJlPEcESz4IHNJR/tpJfWJEEFHGM+6vgCZGXkKMXc/y8rCKB07x5ZNnafIFe0/sjt6DIIihk78/Egj5Q== dependencies: micromark-factory-space "^1.0.0" micromark-factory-whitespace "^1.0.0" @@ -17869,7 +17398,6 @@ micromark-extension-directive@^2.0.0: micromark-extension-frontmatter@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.1.0.tgz#f8da3c2d880266c809dcf07eb0606448b2f837c5" - integrity sha512-0nLelmvXR5aZ+F2IL6/Ed4cDnHLpL/VD/EELKuclsTWHrLI8UgxGHEmeoumeX2FXiM6z2WrBIOEcbKUZR8RYNg== dependencies: fault "^2.0.0" micromark-util-character "^1.0.0" @@ -17879,7 +17407,6 @@ micromark-extension-frontmatter@^1.0.0: micromark-extension-gfm-autolink-literal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.4.tgz#3a8af48264be47138654ab0b8700a8e22785ef07" - integrity sha512-WCssN+M9rUyfHN5zPBn3/f0mIA7tqArHL/EKbv3CZK+LT2rG77FEikIQEqBkv46fOqXQK4NEW/Pc7Z27gshpeg== dependencies: micromark-util-character "^1.0.0" micromark-util-sanitize-uri "^1.0.0" @@ -17889,7 +17416,6 @@ micromark-extension-gfm-autolink-literal@^1.0.0: micromark-extension-gfm-footnote@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.0.tgz#73e3db823db9defef25f68074cb4cf4bb9cf6a8c" - integrity sha512-RWYce7j8+c0n7Djzv5NzGEGitNNYO3uj+h/XYMdS/JinH1Go+/Qkomg/rfxExFzYTiydaV6GLeffGO5qcJbMPA== dependencies: micromark-core-commonmark "^1.0.0" micromark-factory-space "^1.0.0" @@ -17903,7 +17429,6 @@ micromark-extension-gfm-footnote@^1.0.0: micromark-extension-gfm-strikethrough@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.5.tgz#4db40b87d674a6fe1d00d59ac91118e4f5960f12" - integrity sha512-X0oI5eYYQVARhiNfbETy7BfLSmSilzN1eOuoRnrf9oUNsPRrWOAe9UqSizgw1vNxQBfOwL+n2610S3bYjVNi7w== dependencies: micromark-util-chunked "^1.0.0" micromark-util-classify-character "^1.0.0" @@ -17915,7 +17440,6 @@ micromark-extension-gfm-strikethrough@^1.0.0: micromark-extension-gfm-table@^1.0.0: version "1.0.6" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.6.tgz#22b2b18dff9db39bdb29d6017e53bdd370672c8e" - integrity sha512-92pq7Q+T+4kXH4M6kL+pc8WU23Z9iuhcqmtYFWdFWjm73ZscFpH2xE28+XFpGWlvgq3LUwcN0XC0PGCicYFpgA== dependencies: micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" @@ -17926,14 +17450,12 @@ micromark-extension-gfm-table@^1.0.0: micromark-extension-gfm-tagfilter@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz#aa7c4dd92dabbcb80f313ebaaa8eb3dac05f13a7" - integrity sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g== dependencies: micromark-util-types "^1.0.0" micromark-extension-gfm-task-list-item@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.4.tgz#4b66d87847de40cef2b5ceddb9f9629a6dfe7472" - integrity sha512-9XlIUUVnYXHsFF2HZ9jby4h3npfX10S1coXTnV035QGPgrtNYQq3J6IfIvcCIUAJrrqBVi5BqA/LmaOMJqPwMQ== dependencies: micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" @@ -17944,7 +17466,6 @@ micromark-extension-gfm-task-list-item@^1.0.0: micromark-extension-gfm@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz#e517e8579949a5024a493e49204e884aa74f5acf" - integrity sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ== dependencies: micromark-extension-gfm-autolink-literal "^1.0.0" micromark-extension-gfm-footnote "^1.0.0" @@ -17958,7 +17479,6 @@ micromark-extension-gfm@^2.0.0: micromark-factory-destination@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" - integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" @@ -17967,7 +17487,6 @@ micromark-factory-destination@^1.0.0: micromark-factory-label@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137" - integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" @@ -17977,7 +17496,6 @@ micromark-factory-label@^1.0.0: micromark-factory-space@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633" - integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== dependencies: micromark-util-character "^1.0.0" micromark-util-types "^1.0.0" @@ -17985,7 +17503,6 @@ micromark-factory-space@^1.0.0: micromark-factory-title@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f" - integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== dependencies: micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" @@ -17996,7 +17513,6 @@ micromark-factory-title@^1.0.0: micromark-factory-whitespace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c" - integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== dependencies: micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" @@ -18006,7 +17522,6 @@ micromark-factory-whitespace@^1.0.0: micromark-util-character@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86" - integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== dependencies: micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" @@ -18014,14 +17529,12 @@ micromark-util-character@^1.0.0: micromark-util-chunked@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06" - integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== dependencies: micromark-util-symbol "^1.0.0" micromark-util-classify-character@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20" - integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" @@ -18030,7 +17543,6 @@ micromark-util-classify-character@^1.0.0: micromark-util-combine-extensions@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5" - integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== dependencies: micromark-util-chunked "^1.0.0" micromark-util-types "^1.0.0" @@ -18038,14 +17550,12 @@ micromark-util-combine-extensions@^1.0.0: micromark-util-decode-numeric-character-reference@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946" - integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== dependencies: micromark-util-symbol "^1.0.0" micromark-util-decode-string@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02" - integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== dependencies: decode-named-character-reference "^1.0.0" micromark-util-character "^1.0.0" @@ -18055,31 +17565,26 @@ micromark-util-decode-string@^1.0.0: micromark-util-encode@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383" - integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== micromark-util-html-tag-name@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz#eb227118befd51f48858e879b7a419fc0df20497" - integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== micromark-util-normalize-identifier@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828" - integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== dependencies: micromark-util-symbol "^1.0.0" micromark-util-resolve-all@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88" - integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== dependencies: micromark-util-types "^1.0.0" micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz#f12e07a85106b902645e0364feb07cf253a85aee" - integrity sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg== dependencies: micromark-util-character "^1.0.0" micromark-util-encode "^1.0.0" @@ -18088,7 +17593,6 @@ micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: micromark-util-subtokenize@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105" - integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== dependencies: micromark-util-chunked "^1.0.0" micromark-util-symbol "^1.0.0" @@ -18098,17 +17602,14 @@ micromark-util-subtokenize@^1.0.0: micromark-util-symbol@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e" - integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20" - integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== micromark@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.1.0.tgz#eeba0fe0ac1c9aaef675157b52c166f125e89f62" - integrity sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA== dependencies: "@types/debug" "^4.0.0" debug "^4.0.0" @@ -18220,7 +17721,6 @@ mimic-fn@^3.0.0: mimic-fn@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" @@ -18632,7 +18132,6 @@ needle@2.4.0: needle@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/needle/-/needle-3.2.0.tgz#07d240ebcabfd65c76c03afae7f6defe6469df44" - integrity sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ== dependencies: debug "^3.2.6" iconv-lite "^0.6.3" @@ -18664,7 +18163,6 @@ no-case@^3.0.4: node-abort-controller@^3.0.1: version "3.1.1" resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== node-addon-api@^4.2.0: version "4.3.0" @@ -18679,7 +18177,6 @@ node-dir@^0.1.17: node-domexception@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== node-fetch-npm@^2.0.2: version "2.0.4" @@ -18702,7 +18199,6 @@ node-fetch@^2.2.0, node-fetch@^2.6.1, node-fetch@^2.6.11, node-fetch@^2.6.7: node-fetch@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" - integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow== dependencies: data-uri-to-buffer "^4.0.0" fetch-blob "^3.1.4" @@ -18810,7 +18306,6 @@ node-notifier@^8.0.0: node-releases@^2.0.8: version "2.0.12" resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" - integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== node-xlsx@^0.16.1: version "0.16.2" @@ -19018,7 +18513,6 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: npm-run-path@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== dependencies: path-key "^4.0.0" @@ -19052,7 +18546,6 @@ npmlog@^6.0.0: nprogress@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" - integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nssocket@0.6.0: version "0.6.0" @@ -19168,7 +18661,6 @@ object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0 object.getprototypeof@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/object.getprototypeof/-/object.getprototypeof-1.0.4.tgz#d662d3d13f9cda65f01d1ea2ba86f0097676f83b" - integrity sha512-xV/FkUNM9sHa56AB5deXrlIR+jBtDAHieyfm6XZUuehqlMX+YJPh8CAYtPrXGA/mFLFttasTc9ihhpkPrH7pLw== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" @@ -19199,7 +18691,6 @@ object.values@^1.1.0, object.values@^1.1.1, object.values@^1.1.5, object.values@ obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== oidc-token-hash@^5.0.3: version "5.0.3" @@ -19208,7 +18699,6 @@ oidc-token-hash@^5.0.3: omit-deep@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/omit-deep/-/omit-deep-0.3.0.tgz#21c8af3499bcadd29651a232cbcacbc52445ebec" - integrity sha512-Lbl/Ma59sss2b15DpnWnGmECBRL8cRl/PjPbPMVW+Y8zIQzRrwMaI65Oy6HvxyhYeILVKBJb2LWeG81bj5zbMg== dependencies: is-plain-object "^2.0.1" unset-value "^0.1.1" @@ -19216,12 +18706,10 @@ omit-deep@0.3.0: omit.js@^2.0.2: version "2.0.2" resolved "https://registry.npmmirror.com/omit.js/-/omit.js-2.0.2.tgz#dd9b8436fab947a5f3ff214cb2538631e313ec2f" - integrity sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg== on-exit-leak-free@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" - integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== on-finished@^2.3.0: version "2.4.1" @@ -19260,7 +18748,6 @@ onetime@^5.1.0, onetime@^5.1.2: onetime@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== dependencies: mimic-fn "^4.0.0" @@ -19277,7 +18764,6 @@ open@^6.3.0: open@^8.4.0: version "8.4.2" resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== dependencies: define-lazy-prop "^2.0.0" is-docker "^2.1.1" @@ -19286,7 +18772,6 @@ open@^8.4.0: open@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" - integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== dependencies: default-browser "^4.0.0" define-lazy-prop "^3.0.0" @@ -19664,7 +19149,6 @@ parse-entities@^2.0.0: parse-entities@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e" - integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== dependencies: "@types/unist" "^2.0.0" character-entities "^2.0.0" @@ -19719,7 +19203,6 @@ parse-json@^5.0.0: parse-node-version@^1.0.0, parse-node-version@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== parse-passwd@^1.0.0: version "1.0.0" @@ -19771,7 +19254,6 @@ parse5@^7.0.0: parseley@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/parseley/-/parseley-0.7.0.tgz#9949e3a0ed05c5072adb04f013c2810cf49171a8" - integrity sha512-xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw== dependencies: moo "^0.5.1" nearley "^2.20.1" @@ -19836,7 +19318,6 @@ path-key@^3.0.0, path-key@^3.1.0: path-key@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" @@ -19845,7 +19326,6 @@ path-parse@^1.0.6, path-parse@^1.0.7: path-to-regexp@1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q== dependencies: isarray "0.0.1" @@ -19856,7 +19336,6 @@ path-to-regexp@2.2.1: path-to-regexp@2.4.0: version "2.4.0" resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz#35ce7f333d5616f1c1e1bfe266c3aba2e5b2e704" - integrity sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w== path-to-regexp@^6.1.0: version "6.2.1" @@ -20025,7 +19504,6 @@ pinkie@^2.0.0: pino-abstract-transport@v0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" - integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== dependencies: duplexify "^4.1.2" split2 "^4.0.0" @@ -20033,12 +19511,10 @@ pino-abstract-transport@v0.5.0: pino-std-serializers@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" - integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== pino@7.11.0: version "7.11.0" resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" - integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== dependencies: atomic-sleep "^1.0.0" fast-redact "^3.0.0" @@ -20121,7 +19597,6 @@ plugin-error@^1.0.0, plugin-error@^1.0.1: pluralize@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== pm2-axon-rpc@~0.7.0, pm2-axon-rpc@~0.7.1: version "0.7.1" @@ -20204,7 +19679,6 @@ pn@^1.1.0: point-in-polygon@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz#b0af2616c01bdee341cbf2894df643387ca03357" - integrity sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw== pony-cause@^2.1.2: version "2.1.10" @@ -20225,7 +19699,6 @@ posix-character-classes@^0.1.0: postcss-attribute-case-insensitive@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" - integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== dependencies: postcss-selector-parser "^6.0.10" @@ -20240,28 +19713,24 @@ postcss-calc@^7.0.1: postcss-clamp@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== dependencies: postcss-value-parser "^4.2.0" postcss-color-functional-notation@^4.2.2: version "4.2.4" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" - integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== dependencies: postcss-value-parser "^4.2.0" postcss-color-hex-alpha@^8.0.3: version "8.0.4" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" - integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== dependencies: postcss-value-parser "^4.2.0" postcss-color-rebeccapurple@^7.0.2: version "7.1.1" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" - integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== dependencies: postcss-value-parser "^4.2.0" @@ -20285,28 +19754,24 @@ postcss-convert-values@^4.0.1: postcss-custom-media@^8.0.0: version "8.0.2" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" - integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== dependencies: postcss-value-parser "^4.2.0" postcss-custom-properties@^12.1.7: version "12.1.11" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz#d14bb9b3989ac4d40aaa0e110b43be67ac7845cf" - integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== dependencies: postcss-value-parser "^4.2.0" postcss-custom-selectors@^6.0.0: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" - integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== dependencies: postcss-selector-parser "^6.0.4" postcss-dir-pseudo-class@^6.0.4: version "6.0.5" resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" - integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== dependencies: postcss-selector-parser "^6.0.10" @@ -20337,7 +19802,6 @@ postcss-discard-overridden@^4.0.1: postcss-double-position-gradients@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" - integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -20345,55 +19809,46 @@ postcss-double-position-gradients@^3.1.1: postcss-env-function@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" - integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== dependencies: postcss-value-parser "^4.2.0" postcss-flexbugs-fixes@5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" - integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== postcss-focus-visible@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" - integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== dependencies: postcss-selector-parser "^6.0.9" postcss-focus-within@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" - integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== dependencies: postcss-selector-parser "^6.0.9" postcss-font-variant@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" - integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== postcss-gap-properties@^3.0.3: version "3.0.5" resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" - integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== postcss-image-set-function@^4.0.6: version "4.0.7" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" - integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== dependencies: postcss-value-parser "^4.2.0" postcss-initial@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" - integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== postcss-lab-function@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" - integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== dependencies: "@csstools/postcss-progressive-custom-properties" "^1.1.0" postcss-value-parser "^4.2.0" @@ -20408,12 +19863,10 @@ postcss-load-config@^2.0.0, postcss-load-config@^2.1.0: postcss-logical@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" - integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== postcss-media-minmax@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" - integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== postcss-merge-longhand@^4.0.11: version "4.0.11" @@ -20480,7 +19933,6 @@ postcss-modules-extract-imports@1.1.0: postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== postcss-modules-local-by-default@1.2.0: version "1.2.0" @@ -20492,7 +19944,6 @@ postcss-modules-local-by-default@1.2.0: postcss-modules-local-by-default@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.1.tgz#7beae6bb99ee5bfe1d8273b0d47a3463209e5cef" - integrity sha512-Zr/dB+IlXaEqdoslLHhhqecwj73vc3rDmOpsBNBEVk7P2aqAlz+Ijy0fFbU5Ie9PtreDOIgGa9MsLWakVGl+fA== dependencies: icss-utils "^5.0.0" postcss-selector-parser "^6.0.2" @@ -20508,7 +19959,6 @@ postcss-modules-scope@1.1.0: postcss-modules-scope@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: postcss-selector-parser "^6.0.4" @@ -20522,7 +19972,6 @@ postcss-modules-values@1.3.0: postcss-modules-values@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: icss-utils "^5.0.0" @@ -20549,7 +19998,6 @@ postcss-modules@^2.0.0: postcss-nesting@^10.1.4: version "10.2.0" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" - integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== dependencies: "@csstools/selector-specificity" "^2.0.0" postcss-selector-parser "^6.0.10" @@ -20629,7 +20077,6 @@ postcss-normalize-whitespace@^4.0.2: postcss-opacity-percentage@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz#5b89b35551a556e20c5d23eb5260fbfcf5245da6" - integrity sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A== postcss-ordered-values@^4.1.2: version "4.1.2" @@ -20642,31 +20089,26 @@ postcss-ordered-values@^4.1.2: postcss-overflow-shorthand@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" - integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== dependencies: postcss-value-parser "^4.2.0" postcss-page-break@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" - integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== postcss-place@^7.0.4: version "7.0.5" resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" - integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== dependencies: postcss-value-parser "^4.2.0" postcss-prefix-selector@1.16.0: version "1.16.0" resolved "https://registry.yarnpkg.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz#ad5b56f9a73a2c090ca7161049632c9d89bcb404" - integrity sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q== postcss-preset-env@7.5.0: version "7.5.0" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.5.0.tgz#0c1f23933597d55dab4a90f61eda30b76e710658" - integrity sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ== dependencies: "@csstools/postcss-color-function" "^1.1.0" "@csstools/postcss-font-format-keywords" "^1.0.0" @@ -20717,7 +20159,6 @@ postcss-preset-env@7.5.0: postcss-pseudo-class-any-link@^7.1.2: version "7.1.6" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" - integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== dependencies: postcss-selector-parser "^6.0.10" @@ -20742,12 +20183,10 @@ postcss-reduce-transforms@^4.0.2: postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" - integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== postcss-selector-not@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz#ac5fc506f7565dd872f82f5314c0f81a05630dc7" - integrity sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ== dependencies: balanced-match "^1.0.0" @@ -20777,7 +20216,6 @@ postcss-svgo@^4.0.3: postcss-syntax@0.36.2: version "0.36.2" resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" - integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== postcss-unique-selectors@^4.0.1: version "4.0.1" @@ -20829,7 +20267,6 @@ postcss@^8.3.11: postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.7: version "8.4.24" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" - integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" @@ -20878,12 +20315,10 @@ prettier-linter-helpers@^1.0.0: prettier-plugin-organize-imports@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.2.tgz#91993365e017daa5d0d28d8183179834224d8dd1" - integrity sha512-e97lE6odGSiHonHJMTYC0q0iLXQyw0u5z/PJpvP/3vRy6/Zi9kLBwFAbEGjDzIowpjQv8b+J04PDamoUSQbzGA== prettier-plugin-packagejson@2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.4.3.tgz#77f50538cc47c86d4fa510bc312a548e346fb724" - integrity sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ== dependencies: sort-package-json "2.4.1" synckit "0.8.5" @@ -20903,7 +20338,6 @@ prettier@^2.2.1: pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" renderkid "^3.0.0" @@ -20937,7 +20371,6 @@ pretty-format@^27.0.2, pretty-format@^27.5.1: pretty-format@^29.0.0, pretty-format@^29.5.0: version "29.5.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.5.0.tgz#283134e74f70e2e3e7229336de0e4fce94ccde5a" - integrity sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw== dependencies: "@jest/schemas" "^29.4.3" ansi-styles "^5.0.0" @@ -20965,7 +20398,6 @@ prism-react-renderer@^1.3.5: prism-themes@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/prism-themes/-/prism-themes-1.9.0.tgz#19c034f3205f1e28d75d89728e54ccd745f7e3dd" - integrity sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw== prismjs@^1.29.0: version "1.29.0" @@ -20982,7 +20414,6 @@ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: process-warning@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" - integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== process@^0.11.10: version "0.11.10" @@ -21061,7 +20492,6 @@ prop-types@^15.5.10, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.2, property-information@^6.0.0: version "6.2.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" - integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== proto-list@~1.2.1: version "1.2.4" @@ -21165,7 +20595,6 @@ q@^1.1.2, q@^1.5.1: qrcode.react@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-3.1.0.tgz#5c91ddc0340f768316fbdb8fff2765134c2aecd8" - integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q== qs@^6.10.1, qs@^6.11.0, qs@^6.4.0, qs@^6.5.2, qs@^6.9.4: version "6.11.2" @@ -21207,7 +20636,6 @@ queue@6.0.1: quick-format-unescaped@^4.0.3: version "4.0.4" resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== quick-lru@^4.0.1: version "4.0.1" @@ -21249,7 +20677,6 @@ railroad-diagrams@^1.0.0: ramda@0.29.0: version "0.29.0" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.29.0.tgz#fbbb67a740a754c8a4cbb41e2a6e0eb8507f55fb" - integrity sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA== randexp@0.4.6: version "0.4.6" @@ -21287,7 +20714,6 @@ raw-body@^2.2.0, raw-body@^2.3.3: raw-loader@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" - integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA== dependencies: loader-utils "^2.0.0" schema-utils "^3.0.0" @@ -21305,7 +20731,6 @@ rc-align@^4.0.0: rc-cascader@~3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.12.0.tgz#709fdbede6c36f7e62d0daea76ba76b825cc7182" - integrity sha512-QTeGPTNYX33alozNy9lYg7YKpvYVwquai/mrFRR8mHlHnK7QlqJyMqbs2p7rc5eeKARKMRTUeoN5CfO+Gr9UBw== dependencies: "@babel/runtime" "^7.12.5" array-tree-filter "^2.1.0" @@ -21328,7 +20753,6 @@ rc-cascader@~3.7.0: rc-checkbox@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.0.1.tgz#f978771329be339d479cd81465eb2e2f8c82bc87" - integrity sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.3.2" @@ -21347,7 +20771,6 @@ rc-collapse@~3.4.2: rc-collapse@~3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.5.2.tgz#abb7d144ad55bd9cbd201fa95bc5b271da2aa7c3" - integrity sha512-/TNiT3DW1t3sUCiVD/DPUYooJZ3BLA93/2rZsB3eM2bGJCCla2X9D2E4tgm7LGMQGy5Atb2lMUn2FQuvQNvavQ== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" @@ -21367,7 +20790,6 @@ rc-dialog@~9.0.0, rc-dialog@~9.0.2: rc-dialog@~9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.1.0.tgz#6bf6fcc0453503b7643e54a5a445e835e3850649" - integrity sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/portal" "^1.0.0-8" @@ -21397,7 +20819,6 @@ rc-dropdown@~4.0.0: rc-dropdown@~4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.1.0.tgz#418a68939631520de80d0865d02b440eeeb4168e" - integrity sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw== dependencies: "@babel/runtime" "^7.18.3" "@rc-component/trigger" "^1.7.0" @@ -21415,7 +20836,6 @@ rc-field-form@~1.27.0, rc-field-form@~1.27.4: rc-field-form@~1.31.0: version "1.31.0" resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.31.0.tgz#c48a6a362bb37fab1fda3474753abc7b73e873df" - integrity sha512-3u6crithuSQMfHaDL3rMvzjG5oXJQIgCTxDfT0pJL9kI/C2LWuR8GrApzOvB9gKcf8VvvnejzmSPnsUJz4YGmQ== dependencies: "@babel/runtime" "^7.18.0" async-validator "^4.1.0" @@ -21435,7 +20855,6 @@ rc-image@~5.13.0: rc-image@~5.16.0: version "5.16.0" resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-5.16.0.tgz#79d5864bc1c5d66c4620176cc131d34cd4f4bea8" - integrity sha512-11DOye57IgTXh2yTsmxFNynZJG3tdx8RZnnaqb38eYWrBPPyhVHIuURxyiSZ8B68lEUAggR7SBA0Zb95KP/CyQ== dependencies: "@babel/runtime" "^7.11.2" "@rc-component/portal" "^1.0.2" @@ -21455,7 +20874,6 @@ rc-input-number@~7.3.9: rc-input-number@~7.4.0: version "7.4.2" resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-7.4.2.tgz#7c52d26b986461aa16e486d469dc0476d97c6ea3" - integrity sha512-yGturTw7WGP+M1GbJ+UTAO7L4buxeW6oilhL9Sq3DezsRS8/9qec4UiXUbeoiX9bzvRXH11JvgskBtxSp4YSNg== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/mini-decimal" "^1.0.1" @@ -21473,7 +20891,6 @@ rc-input@~0.1.4: rc-input@~1.0.0, rc-input@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-1.0.4.tgz#2f2c73c884f41e80685bb2eb7b9d5533e8540a77" - integrity sha512-clY4oneVHRtKHYf/HCxT/MO+4BGzCIywSNLosXWOm7fcQAS0jQW7n0an8Raa8JMB8kpxc8m28p7SNwFZmlMj6g== dependencies: "@babel/runtime" "^7.11.1" classnames "^2.2.1" @@ -21493,7 +20910,6 @@ rc-mentions@~1.13.1: rc-mentions@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-2.2.0.tgz#27900ec04d067c58205309897efd190f5d8f4ac8" - integrity sha512-R7ncCldr02uKgJBBPlXdtnOGQIjZ9C3uoIMi4fabU3CPFdmefYlNF6QM4u2AzgcGt8V0KkoHTN5T6HPdUpet8g== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/trigger" "^1.5.0" @@ -21525,7 +20941,6 @@ rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motio rc-motion@^2.6.0, rc-motion@^2.7.3: version "2.7.3" resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.7.3.tgz#126155bb3e687174fb3b92fddade2835c963b04d" - integrity sha512-2xUvo8yGHdOHeQbdI8BtBsCIrWKchEmFEIskf0nmHtJsou+meLd/JE+vnvSX2JxcBrJtXY2LuBpxAOxrbY/wMQ== dependencies: "@babel/runtime" "^7.11.1" classnames "^2.2.1" @@ -21543,7 +20958,6 @@ rc-notification@~4.6.0: rc-notification@~5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-5.0.4.tgz#4ad33d4aa291528fee9095b0be80ae41f1728a38" - integrity sha512-3535oellIRlt1LspERfK8yvCqb8Gio3R02rULciaSc1xe3H7ArTU/khlUTv1ddGzua4HhmF4D4Rwz/+mBxETvg== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" @@ -21569,7 +20983,6 @@ rc-pagination@~3.2.0: rc-pagination@~3.4.2: version "3.4.2" resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.4.2.tgz#19aef804b98b77e7636a35eebed62e3fea53eb4c" - integrity sha512-arFQKD15h26+rSXRnQNA8b/tHy98/853W/leXkas2WlViOYG5A2qgEg7CRX64GKb9TqJjdqnDzaMAvl0qF4Tig== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" @@ -21590,7 +21003,6 @@ rc-picker@~2.7.0: rc-picker@~3.7.4: version "3.7.6" resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-3.7.6.tgz#984122b39bbe9244c69f90eaadbb4890d68a32f7" - integrity sha512-v84wVXjgx5hQ5vTLjMeMMtj6+gn480Gqzwur2A2+o8+eFnhY4jKmuqzHmD8sEevrz0WT/j1pLHFxAV8/lksI2A== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/trigger" "^1.5.0" @@ -21608,7 +21020,6 @@ rc-progress@~3.4.1: rc-rate@~2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.10.0.tgz#b16fd906c13bfc26b4776e27a14d13d06d50c635" - integrity sha512-TCjEpKPeN1m0EnGDDbb1KyxjNTJRzoReiPdtbrBJEey4Ryf/UGOQ6vqmz2yC6DJdYVDVUoZPdoz043ryh0t/nQ== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" @@ -21643,7 +21054,6 @@ rc-segmented@~2.1.0: rc-segmented@~2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.2.2.tgz#a34f12ce6c0975fc3042ae7656bcd18e1744798e" - integrity sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA== dependencies: "@babel/runtime" "^7.11.1" classnames "^2.2.1" @@ -21665,7 +21075,6 @@ rc-select@~14.1.0, rc-select@~14.1.17: rc-select@~14.5.0: version "14.5.1" resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.5.1.tgz#e1693c3d8b89d0918cbd9f2e1df937091d0bb26c" - integrity sha512-RQ3yiguq6yJ+kbtip7/6RTq2hOotS/s00nyZL2nxyz5194C6uOtSB8Kgsw3c6ZXII1EDjuJX3zLI1pkxkNWyww== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/trigger" "^1.5.0" @@ -21687,7 +21096,6 @@ rc-slider@~10.0.0: rc-slider@~10.1.0: version "10.1.1" resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.1.1.tgz#5e82036e60b61021aba3ea0e353744dd7c74e104" - integrity sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.5" @@ -21704,7 +21112,6 @@ rc-steps@~5.0.0-alpha.2: rc-steps@~6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-6.0.0.tgz#f7148f8097d5d135f19b96c1b4f4b50ad6093753" - integrity sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ== dependencies: "@babel/runtime" "^7.16.7" classnames "^2.2.3" @@ -21721,7 +21128,6 @@ rc-switch@~3.2.0: rc-switch@~4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-4.1.0.tgz#f37d81b4e0c5afd1274fd85367b17306bf25e7d7" - integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg== dependencies: "@babel/runtime" "^7.21.0" classnames "^2.2.1" @@ -21740,7 +21146,6 @@ rc-table@~7.26.0: rc-table@~7.32.1: version "7.32.1" resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.32.1.tgz#7130a94727ac3870a6ddb9778b6f8496e388bce0" - integrity sha512-fHMQteKMocUC9I9Vex3eBLH7QsiaMR/qtzh3B1Ty2PoNGwVTwVdDFyRL05zch+JU3KnNNczgQeVvtf/p//gdrQ== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/context" "^1.3.0" @@ -21751,7 +21156,6 @@ rc-table@~7.32.1: rc-tabs@^12.5.6, rc-tabs@~12.6.0: version "12.6.0" resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.6.0.tgz#b69547cb6d48004e202d5bd15b03750536d2f24d" - integrity sha512-L9yIptdrmft573MEsc+xKoGbXzfg3V6NYvgT0sNh+PSzWaeF34W7CIPi98lcWjtsYB80oFMOcAXRilUFxLHTaA== dependencies: "@babel/runtime" "^7.11.2" classnames "2.x" @@ -21786,7 +21190,6 @@ rc-textarea@^0.4.0, rc-textarea@~0.4.5: rc-textarea@~1.2.0, rc-textarea@~1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-1.2.3.tgz#bdaea2931ad2571583e9e27e627b8a9b5dbe7de7" - integrity sha512-YvN8IskIVBRRzcS4deT0VAMim31+T3IoVX4yoCJ+b/iVCvw7yf0usR7x8OaHiUOUoURKcn/3lfGjmtzplcy99g== dependencies: "@babel/runtime" "^7.10.1" classnames "^2.2.1" @@ -21805,7 +21208,6 @@ rc-tooltip@~5.2.0: rc-tooltip@~6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-6.0.1.tgz#6a5e33bd6c3f6afe8851ea90e7af43e5c26b3cc6" - integrity sha512-MdvPlsD1fDSxKp9+HjXrc/CxLmA/s11QYIh1R7aExxfodKP7CZA++DG1AjrW80F8IUdHYcR43HAm0Y2BYPelHA== dependencies: "@babel/runtime" "^7.11.2" "@rc-component/trigger" "^1.0.4" @@ -21824,7 +21226,6 @@ rc-tree-select@~5.5.0: rc-tree-select@~5.9.0: version "5.9.0" resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.9.0.tgz#e8af859ff7751d22b6f4d98941cf13f775686475" - integrity sha512-oh3blESzLfLCBPSiVDtZ2irzrWWZUMeHvnSwRvFo79br8Z+K/1OhXhXBZmROvfKwaH8YUugAQy8B2j5EGQbdyA== dependencies: "@babel/runtime" "^7.10.1" classnames "2.x" @@ -21870,7 +21271,6 @@ rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.15.0, rc-util@^5.16.0, rc-util@^5.16. rc-util@^5.21.5, rc-util@^5.27.1, rc-util@^5.28.0, rc-util@^5.33.0: version "5.33.1" resolved "https://registry.npmmirror.com/rc-util/-/rc-util-5.33.1.tgz#96e5814400e04b819bace502b6ca40a67f3be37f" - integrity sha512-oMs2OIV/2lUCF8nllevzLccneyxAzdSOaHSs5y91qOLdqaLbIMsuL49C6/DhF/WKMqiAKEKGdVk2F1sB5HQe9A== dependencies: "@babel/runtime" "^7.18.3" react-is "^16.12.0" @@ -21878,7 +21278,6 @@ rc-util@^5.21.5, rc-util@^5.27.1, rc-util@^5.28.0, rc-util@^5.33.0: rc-util@^5.30.0: version "5.30.0" resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.30.0.tgz#76ae9019ff72a5b519ce51465cd77b2e451207e3" - integrity sha512-uaWpF/CZGyXuhQG71MWxkU+0bWkPEgqZUxEv251Cu7p3kpHDNm5+Ygu/U8ux0a/zbfGW8PsKcJL0XVBOMrlIZg== dependencies: "@babel/runtime" "^7.18.3" react-is "^16.12.0" @@ -21886,7 +21285,6 @@ rc-util@^5.30.0: rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.8, rc-virtual-list@^3.5.2: version "3.5.2" resolved "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.5.2.tgz#5e1028869bae900eacbae6788d4eca7210736006" - integrity sha512-sE2G9hTPjVmatQni8OP2Kx33+Oth6DMKm67OblBBmgMBJDJQOOFpSGH7KZ6Pm85rrI2IGxDRXZCr0QhYOH2pfQ== dependencies: "@babel/runtime" "^7.20.0" classnames "^2.2.6" @@ -21933,12 +21331,14 @@ react-big-calendar@^0.38.7: react-colorful@^5.5.1: version "5.6.1" resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b" - integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== + +react-content-loader@^5.0.4: + version "5.1.4" + resolved "https://registry.npmmirror.com/react-content-loader/-/react-content-loader-5.1.4.tgz#854bafe4415dd9de07174621375bc308edd0ebb5" react-copy-to-clipboard@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c" - integrity sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A== dependencies: copy-to-clipboard "^3.3.1" prop-types "^15.8.1" @@ -21947,10 +21347,9 @@ react-dom-factories@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/react-dom-factories/-/react-dom-factories-1.0.2.tgz#eb7705c4db36fb501b3aa38ff759616aa0ff96e0" -react-dom@17.x, react-dom@18.1.0, react-dom@^16.8.6, react-dom@^18.0.0: +react-dom@18.1.0, react-dom@18.x, react-dom@^16.8.6, react-dom@^18.0.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: loose-envify "^1.1.0" scheduler "^0.23.0" @@ -21968,7 +21367,7 @@ react-error-boundary@^3.1.4: dependencies: "@babel/runtime" "^7.12.5" -react-error-boundary@^4.0.3: +react-error-boundary@^4.0.3, react-error-boundary@^4.0.4: version "4.0.10" resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-4.0.10.tgz#975cc298e93ab7760d1460b7ea5a7855621e355a" dependencies: @@ -21977,17 +21376,14 @@ react-error-boundary@^4.0.3: react-error-overlay@6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" - integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== react-fast-compare@^3.1.1, react-fast-compare@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" - integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== react-helmet-async@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.3.0.tgz#7bd5bf8c5c69ea9f02f6083f14ce33ef545c222e" - integrity sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg== dependencies: "@babel/runtime" "^7.12.5" invariant "^2.2.4" @@ -22033,7 +21429,6 @@ react-image-lightbox@^5.1.4: react-intl@^6.1.1: version "6.4.2" resolved "https://registry.yarnpkg.com/react-intl/-/react-intl-6.4.2.tgz#cf4f49f5f89e66e0975927783d0d270e708314fd" - integrity sha512-q8QyLZfbyqV3Ifa7vtjRrgfSQPGTR6Fi+u9tP/CuzhUPl9DJEPIrvUFhlBryKtRW2qNASqchaP/79Obip+h6oA== dependencies: "@formatjs/ecma402-abstract" "1.15.0" "@formatjs/icu-messageformat-parser" "2.4.0" @@ -22057,7 +21452,6 @@ react-is@^17.0.1, react-is@^17.0.2: react-is@^18.0.0, react-is@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== react-js-cron@^3.1.0: version "3.2.0" @@ -22070,7 +21464,6 @@ react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: react-merge-refs@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/react-merge-refs/-/react-merge-refs-1.1.0.tgz#73d88b892c6c68cbb7a66e0800faa374f4c38b06" - integrity sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ== react-modal@^3.11.1: version "3.16.1" @@ -22119,12 +21512,10 @@ react-redux@^7.2.0: react-refresh@0.14.0, react-refresh@^0.14.0: version "0.14.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== react-router-dom@6.3.0, react-router-dom@^6.11.2: version "6.11.2" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.11.2.tgz#324d55750ffe2ecd54ca4ec6b7bc7ab01741f170" - integrity sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw== dependencies: "@remix-run/router" "1.6.2" react-router "6.11.2" @@ -22132,7 +21523,6 @@ react-router-dom@6.3.0, react-router-dom@^6.11.2: react-router@6.11.2, react-router@6.3.0, react-router@^6.11.2: version "6.12.1" resolved "https://registry.npmmirror.com/react-router/-/react-router-6.12.1.tgz#9e4126aa1139ec6b5d347e19576d5e940cd46362" - integrity sha512-evd/GrKJOeOypD0JB9e1r7pQh2gWCsTbUfq059Wm1AFT/K2MNZuDo19lFtAgIhlBrp0MmpgpqtvZC7LPAs7vSw== dependencies: "@remix-run/router" "1.6.3" @@ -22168,17 +21558,15 @@ react-to-print@^2.14.7: version "2.14.13" resolved "https://registry.yarnpkg.com/react-to-print/-/react-to-print-2.14.13.tgz#cd0349f7ef93c8af5120fac0ef6c4f3d100df490" -react@17.x, react@18.1.0, react@^16.8.6, react@^18.0.0: +react@18.1.0, react@18.x, react@^16.8.6, react@^18.0.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== dependencies: loose-envify "^1.1.0" reactflow@^11.7.0: version "11.7.2" resolved "https://registry.yarnpkg.com/reactflow/-/reactflow-11.7.2.tgz#251065686d51d97d65527e2270d6c6d745bebdcb" - integrity sha512-HBudD8BwZacOMqX8fbkiXbeBQs3nRezWVLCDurfc+tTeHsA7988uyaIOhrnKgYCcKtlpJaspsnxDZk+5JmmHxA== dependencies: "@reactflow/background" "11.2.2" "@reactflow/controls" "11.1.13" @@ -22360,7 +21748,6 @@ readdirp@~3.6.0: real-require@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" - integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== realpath-native@^1.1.0: version "1.1.0" @@ -22407,7 +21794,6 @@ redux@^4.0.0, redux@^4.0.4: reflect.getprototypeof@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz#2738fd896fcc3477ffbd4190b40c2458026b6928" - integrity sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw== dependencies: call-bind "^1.0.2" define-properties "^1.1.4" @@ -22519,7 +21905,6 @@ regjsparser@^0.9.1: rehype-autolink-headings@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/rehype-autolink-headings/-/rehype-autolink-headings-6.1.1.tgz#0cb874a56f3de6ead1c2268d7f0fc5006f244db5" - integrity sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA== dependencies: "@types/hast" "^2.0.0" extend "^3.0.0" @@ -22532,7 +21917,6 @@ rehype-autolink-headings@^6.1.1: rehype-remove-comments@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/rehype-remove-comments/-/rehype-remove-comments-5.0.0.tgz#88b4faba10f217d4ab68b36eb958b386630d5672" - integrity sha512-sfiVT+u1in19sxo9vv/SDQVbHE2mADScNrpeVsUxBFl14zOMZnfPb6l4hR+lXqe10G13UFVqv5pt8zDbCR4JYQ== dependencies: "@types/hast" "^2.0.0" hast-util-is-conditional-comment "^2.0.0" @@ -22542,7 +21926,6 @@ rehype-remove-comments@^5.0.0: rehype-stringify@^9.0.3: version "9.0.3" resolved "https://registry.yarnpkg.com/rehype-stringify/-/rehype-stringify-9.0.3.tgz#70e3bd6d4d29e7acf36b802deed350305d2c3c17" - integrity sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw== dependencies: "@types/hast" "^2.0.0" hast-util-to-html "^8.0.0" @@ -22551,12 +21934,10 @@ rehype-stringify@^9.0.3: relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remark-breaks@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/remark-breaks/-/remark-breaks-3.0.3.tgz#660e6c995e954e5abdd95bf77df6f1402cb911ef" - integrity sha512-C7VkvcUp1TPUc2eAYzsPdaUh8Xj4FSbQnYA5A9f80diApLZscTDeG7efiWP65W8hV2sEy3JuGVU0i6qr5D8Hug== dependencies: "@types/mdast" "^3.0.0" mdast-util-newline-to-break "^1.0.0" @@ -22565,7 +21946,6 @@ remark-breaks@^3.0.2: remark-directive@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-2.0.1.tgz#1c32d9df8d839a75ba3478112d21fe883635b48e" - integrity sha512-oosbsUAkU/qmUE78anLaJePnPis4ihsE7Agp0T/oqTzvTea8pOiaYEtfInU/+xMOVTS9PN5AhGOiaIVe4GD8gw== dependencies: "@types/mdast" "^3.0.0" mdast-util-directive "^2.0.0" @@ -22575,7 +21955,6 @@ remark-directive@^2.0.1: remark-frontmatter@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz#84560f7ccef114ef076d3d3735be6d69f8922309" - integrity sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA== dependencies: "@types/mdast" "^3.0.0" mdast-util-frontmatter "^1.0.0" @@ -22585,7 +21964,6 @@ remark-frontmatter@^4.0.1: remark-gfm@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f" - integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== dependencies: "@types/mdast" "^3.0.0" mdast-util-gfm "^2.0.0" @@ -22595,7 +21973,6 @@ remark-gfm@^3.0.1: remark-parse@^10.0.1: version "10.0.2" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" - integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== dependencies: "@types/mdast" "^3.0.0" mdast-util-from-markdown "^1.0.0" @@ -22604,7 +21981,6 @@ remark-parse@^10.0.1: remark-rehype@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" - integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== dependencies: "@types/hast" "^2.0.0" "@types/mdast" "^3.0.0" @@ -22645,12 +22021,10 @@ remove-trailing-separator@^1.0.1: rename-keys@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/rename-keys/-/rename-keys-1.2.0.tgz#be602fb0b750476b513ebe85ba4465d03254f0a3" - integrity sha512-U7XpAktpbSgHTRSNRrjKSrjYkZKuhUukfoBlXWXUExCAqhzh1TU3BDRAfJmarcl5voKS+pbKU9MvyLWKZ4UEEg== renderkid@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== dependencies: css-select "^4.1.3" dom-converter "^0.2.0" @@ -22679,7 +22053,6 @@ replace-ext@^1.0.0: replace-ext@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-2.0.0.tgz#9471c213d22e1bcc26717cd6e50881d88f812b06" - integrity sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug== request-promise-core@1.1.4: version "1.1.4" @@ -23009,7 +22382,6 @@ rollup-plugin-typescript2@0.29.0: rollup-plugin-visualizer@5.9.0: version "5.9.0" resolved "https://registry.yarnpkg.com/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.9.0.tgz#013ac54fb6a9d7c9019e7eb77eced673399e5a0b" - integrity sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg== dependencies: open "^8.4.0" picomatch "^2.3.1" @@ -23047,7 +22419,6 @@ rollup@^0.25.8: rollup@^3.20.2, rollup@^3.21.0: version "3.23.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.23.0.tgz#b8d6146dac4bf058ee817f92820988e9b358b564" - integrity sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ== optionalDependencies: fsevents "~2.3.2" @@ -23065,7 +22436,6 @@ rsvp@^4.8.4: run-applescript@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" - integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== dependencies: execa "^5.0.0" @@ -23112,14 +22482,12 @@ rxjs@^7.0.0, rxjs@^7.5.5: sade@^1.7.3: version "1.8.1" resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== dependencies: mri "^1.1.0" safe-array-concat@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" - integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== dependencies: call-bind "^1.0.2" get-intrinsic "^1.2.0" @@ -23188,7 +22556,6 @@ sanitize-html@2.10.0: sass@^1.55.0: version "1.62.1" resolved "https://registry.yarnpkg.com/sass/-/sass-1.62.1.tgz#caa8d6bf098935bc92fc73fa169fb3790cacd029" - integrity sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -23214,7 +22581,6 @@ scheduler@^0.19.1: scheduler@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== dependencies: loose-envify "^1.1.0" @@ -23229,7 +22595,6 @@ schema-utils@^3.0.0: schema-utils@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.2.tgz#36c10abca6f7577aeae136c804b0c741edeadc99" - integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" @@ -23248,7 +22613,6 @@ scroll-into-view-if-needed@^2.2.25: scroll-into-view-if-needed@^3.0.3: version "3.0.10" resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.0.10.tgz#38fbfe770d490baff0fb2ba34ae3539f6ec44e13" - integrity sha512-t44QCeDKAPf1mtQH3fYpWz8IM/DyvHLjs8wUvvwMYxk5moOqCzrMSxK6HQVD0QVmVjXFavoFIPRVrMuJPKAvtg== dependencies: compute-scroll-into-view "^3.0.2" @@ -23271,14 +22635,12 @@ seek-bzip@^1.0.5: selderee@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/selderee/-/selderee-0.6.0.tgz#f3bee66cfebcb6f33df98e4a1df77388b42a96f7" - integrity sha512-ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg== dependencies: parseley "^0.7.0" select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== semver-diff@^2.0.0: version "2.1.0" @@ -23493,7 +22855,6 @@ sisteransi@^1.0.0, sisteransi@^1.0.5: sitemap@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" - integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== dependencies: "@types/node" "^17.0.5" "@types/sax" "^1.2.1" @@ -23523,7 +22884,6 @@ slash@^3.0.0: slash@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== slide@^1.1.6: version "1.1.6" @@ -23612,7 +22972,6 @@ solarlunar-es@^1.0.9: sonic-boom@^2.2.1: version "2.8.0" resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" - integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== dependencies: atomic-sleep "^1.0.0" @@ -23631,12 +22990,10 @@ sort-keys@^4.0.0: sort-object-keys@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45" - integrity sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg== sort-package-json@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/sort-package-json/-/sort-package-json-2.4.1.tgz#4ea68a0b9ef34c2bc519e86d0d07de56622a7600" - integrity sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ== dependencies: detect-indent "^7.0.1" detect-newline "^4.0.0" @@ -23662,7 +23019,6 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-resolve@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== dependencies: atob "^2.1.2" decode-uri-component "^0.2.0" @@ -23709,7 +23065,6 @@ sourcemap-codec@^1.4.8: space-separated-tokens@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" - integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== spawn-command@0.0.2: version "0.0.2" @@ -23744,7 +23099,6 @@ spdx-license-ids@^3.0.0: spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== dependencies: debug "^4.1.0" detect-node "^2.0.4" @@ -23756,7 +23110,6 @@ spdy-transport@^3.0.0: spdy@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" handle-thing "^2.0.0" @@ -23867,7 +23220,6 @@ stack-utils@^1.0.1: stack-utils@^2.0.2, stack-utils@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" @@ -24082,7 +23434,6 @@ string_decoder@~1.1.1: stringify-entities@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== dependencies: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" @@ -24142,7 +23493,6 @@ strip-final-newline@^2.0.0: strip-final-newline@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== strip-indent@^1.0.1: version "1.0.1" @@ -24193,14 +23543,12 @@ style-inject@^0.3.0: style-to-object@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.1.tgz#53cf856f7cf7f172d72939d9679556469ba5de37" - integrity sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw== dependencies: inline-style-parser "0.1.1" styled-components@^5.3.3: version "5.3.10" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.10.tgz#42f7245f58fe960362a63f543dda23c0ac107c0f" - integrity sha512-3kSzSBN0TiCnGJM04UwO1HklIQQSXW7rCARUk+VyMR7clz8XVlA3jijtf5ypqoDIdNMKx3la4VvaPFR855SFcg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/traverse" "^7.4.5" @@ -24224,19 +23572,16 @@ stylehacks@^4.0.0: stylelint-config-recommended@^7.0.0: version "7.0.0" resolved "https://registry.npmmirror.com/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz#7497372ae83ab7a6fffc18d7d7b424c6480ae15e" - integrity sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q== stylelint-config-standard@25.0.0: version "25.0.0" resolved "https://registry.npmmirror.com/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz#2c916984e6655d40d6e8748b19baa8603b680bff" - integrity sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA== dependencies: stylelint-config-recommended "^7.0.0" stylis@4.2.0, stylis@^4.0.13, stylis@^4.1.2: version "4.2.0" resolved "https://registry.npmmirror.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" - integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== superagent@^8.0.5: version "8.0.9" @@ -24312,12 +23657,10 @@ svg-parser@^2.0.2, svg-parser@^2.0.4: svg-pathdata@^5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-5.0.5.tgz#65e8d765642ba15fe15434444087d082bc526b29" - integrity sha512-TAAvLNSE3fEhyl/Da19JWfMAdhSXTYeviXsLSoDT1UM76ADj5ndwAPX1FKQEgB/gFMPavOy6tOqfalXKUiXrow== svgo-browser@^1.3.7: version "1.3.8" resolved "https://registry.yarnpkg.com/svgo-browser/-/svgo-browser-1.3.8.tgz#e90c75ebf74a7f052ca9841d9a34044e40f4f65c" - integrity sha512-yOgDNIcewFZN3+jXdWeh/rQzbWJjCq1dTHphLz2r4T4AfTm+nqCxZ5B89v9bjQbFKA/s/k7TUc7J90+pP2HTyw== dependencies: chalk "^2.4.1" coa "^2.0.2" @@ -24353,7 +23696,6 @@ svgo@^1.0.0, svgo@^1.2.2: svgo@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: "@trysound/sax" "0.2.0" commander "^7.2.0" @@ -24366,7 +23708,6 @@ svgo@^2.8.0: svgson@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/svgson/-/svgson-4.1.0.tgz#eb70dac8d0075c61e5bfd45411a56014e2d3610e" - integrity sha512-DodISxHtdLKUghDYA+PGK4Qq350+CbBAkdvGLkBFSmWd9WKSg4dijgjB1IiRPTmsUCd+a7KYe+ILHtklYgQyzQ== dependencies: deep-rename-keys "^0.2.1" omit-deep "0.3.0" @@ -24375,7 +23716,6 @@ svgson@^4.1.0: swr@^2.0.0: version "2.1.5" resolved "https://registry.npmmirror.com/swr/-/swr-2.1.5.tgz#688effa719c03f6d35c66decbb0f8e79c7190399" - integrity sha512-/OhfZMcEpuz77KavXST5q6XE9nrOBOVcBLWjMT+oAE/kQHyE3PASrevXCtQDZ8aamntOfFkbVJp7Il9tNBQWrw== dependencies: use-sync-external-store "^1.2.0" @@ -24386,7 +23726,6 @@ symbol-tree@^3.2.2, symbol-tree@^3.2.4: synckit@0.8.5: version "0.8.5" resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" - integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== dependencies: "@pkgr/utils" "^2.3.1" tslib "^2.5.0" @@ -24402,7 +23741,6 @@ tapable@^1.0.0: tapable@^2.0.0, tapable@^2.2.0, tapable@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tape@^4.5.1: version "4.16.2" @@ -24558,7 +23896,6 @@ terser@^5.0.0: terser@^5.10.0: version "5.17.4" resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.4.tgz#b0c2d94897dfeba43213ed5f90ed117270a2c696" - integrity sha512-jcEKZw6UPrgugz/0Tuk/PVyLAPfMBJf5clnGueo45wTweoV8yh7Q7PEkhkJ5uuUbC7zAxEcG3tqNr1bstkQ8nw== dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -24613,7 +23950,6 @@ thenify-all@^1.0.0: thread-stream@^0.15.1: version "0.15.2" resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" - integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== dependencies: real-require "^0.1.0" @@ -24628,7 +23964,6 @@ throat@^5.0.0: throttle-debounce@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz#a17a4039e82a2ed38a5e7268e4132d6960d41933" - integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg== through2-filter@^3.0.0: version "3.0.0" @@ -24719,7 +24054,6 @@ tinyspy@^2.1.0: titleize@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" - integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== tmp@^0.0.33: version "0.0.33" @@ -24839,7 +24173,6 @@ tr46@~0.0.3: transformation-matrix@^2.11.1: version "2.15.0" resolved "https://registry.yarnpkg.com/transformation-matrix/-/transformation-matrix-2.15.0.tgz#4276ac7e384d9764b044c2d48ced77f8cc1f88c0" - integrity sha512-HN3kCvvH4ug3Xm/ycOfCFQOOktg5htxlC4Ih1Z7Wb6BMtQho+q+irOdGo10ARRKpqkRBXgBzQFw/AVmR0oIf0g== tree-kill@^1.2.2: version "1.2.2" @@ -24848,7 +24181,6 @@ tree-kill@^1.2.2: trim-lines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" - integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trim-newlines@^1.0.0: version "1.0.0" @@ -24865,7 +24197,6 @@ triple-beam@^1.3.0: trough@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" - integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== ts-dedent@^2.2.0: version "2.2.0" @@ -24991,7 +24322,6 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4 tslib@^2.3.0, tslib@^2.4.0: version "2.5.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.2.tgz#1b6f07185c881557b0ffa84b111a0106989e8338" - integrity sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA== tsscmp@1.0.6: version "1.0.6" @@ -25006,7 +24336,6 @@ tsutils@^3.21.0: tsx@^3.12.2: version "3.12.7" resolved "https://registry.yarnpkg.com/tsx/-/tsx-3.12.7.tgz#b3b8b0fc79afc8260d1e14f9e995616c859a91e9" - integrity sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw== dependencies: "@esbuild-kit/cjs-loader" "^2.4.2" "@esbuild-kit/core-utils" "^3.0.0" @@ -25227,7 +24556,6 @@ umi-utils@1.7.3: umi@^4.0.64, umi@^4.0.69: version "4.0.69" resolved "https://registry.yarnpkg.com/umi/-/umi-4.0.69.tgz#a6e087fa7b743be1b027c17d3c7de90d498b86c9" - integrity sha512-n6MqLQnJKpCDPzzMptSBa/2yfawNs0yXSWg6yWwKAyVew+IxodqD99+6i9ssGCudXPaC5AnbjIqF4bwa1IjTWw== dependencies: "@babel/runtime" "7.21.0" "@umijs/bundler-utils" "4.0.69" @@ -25295,7 +24623,6 @@ unescape@^1.0.1: unfetch@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-5.0.0.tgz#8a5b6e5779ebe4dde0049f7d7a81d4a1af99d142" - integrity sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -25319,7 +24646,6 @@ unicode-property-aliases-ecmascript@^2.0.0: unified@^10.0.0, unified@^10.1.2: version "10.1.2" resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" - integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== dependencies: "@types/unist" "^2.0.0" bail "^2.0.0" @@ -25374,7 +24700,6 @@ unique-string@^1.0.0: unist-util-filter@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/unist-util-filter/-/unist-util-filter-4.0.1.tgz#fd885dd48adaad345de5f5dc706ec4ff44a8d074" - integrity sha512-RynicUM/vbOSTSiUK+BnaK9XMfmQUh6gyi7L6taNgc7FIf84GukXVV3ucGzEN/PhUUkdP5hb1MmXc+3cvPUm5Q== dependencies: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" @@ -25383,19 +24708,16 @@ unist-util-filter@^4.0.0: unist-util-generated@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" - integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== unist-util-is@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" - integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== dependencies: "@types/unist" "^2.0.0" unist-util-position@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" - integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== dependencies: "@types/unist" "^2.0.0" @@ -25408,14 +24730,12 @@ unist-util-stringify-position@^2.0.0: unist-util-stringify-position@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" - integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== dependencies: "@types/unist" "^2.0.0" unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1, unist-util-visit-parents@^5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" - integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== dependencies: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" @@ -25423,7 +24743,6 @@ unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1, unist-util-vis unist-util-visit@^4.0.0, unist-util-visit@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" - integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== dependencies: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" @@ -25456,7 +24775,6 @@ unquote@~1.1.1: unset-value@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-0.1.2.tgz#506810b867f27c2a5a6e9b04833631f6de58d310" - integrity sha512-yhv5I4TsldLdE3UcVQn0hD2T5sNCPv4+qm/CTUpRKIpwthYRIipsAPdsrNpOI79hPQa0rTTeW22Fq6JWRcTgNg== dependencies: has-value "^0.3.1" isobject "^3.0.0" @@ -25471,7 +24789,6 @@ unset-value@^1.0.0: untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== unzip-response@^2.0.1: version "2.0.1" @@ -25488,7 +24805,6 @@ upath@^2.0.1: update-browserslist-db@^1.0.10: version "1.0.11" resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -25597,7 +24913,6 @@ urllib@^2.33.1: use-debouncy@^4.3.0: version "4.4.0" resolved "https://registry.yarnpkg.com/use-debouncy/-/use-debouncy-4.4.0.tgz#b04907e74f3e681beb74cd49784f93376a6511f2" - integrity sha512-GnPFLqpObdwNxTOVKd05QlJE92gAHHXkgLZ6Qvc3/VoSWQpny7jT5J5occYOyDBYWKAYA0AcHu327Ei6odCkpg== use-deep-compare-effect@^1.8.1: version "1.8.1" @@ -25609,17 +24924,14 @@ use-deep-compare-effect@^1.8.1: use-isomorphic-layout-effect@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== use-json-comparison@^1.0.3: version "1.0.6" resolved "https://registry.npmmirror.com/use-json-comparison/-/use-json-comparison-1.0.6.tgz#a012bbc258ce745db1f56745dc653f575226cb21" - integrity sha512-xPadt5yMRbEmVfOSGFSMqjjICrq7nLbfSH3rYIXsrtcuFX7PmbYDN/ku8ObBn3v8o/yZelO1OxUS5+5TI3+fUw== use-media-antd-query@^1.1.0: version "1.1.0" resolved "https://registry.npmmirror.com/use-media-antd-query/-/use-media-antd-query-1.1.0.tgz#f083ad7e292c1c0261b6bbfaac0edc3e0920d85d" - integrity sha512-B6kKZwNV4R+l4Rl11sWO7HqOay9alzs1Vp1b4YJqjz33YxbltBCZtt/yxXxkXN9rc1S7OeEL/GbwC30Wmqhw6Q== use-memo-one@^1.1.1: version "1.1.3" @@ -25679,7 +24991,6 @@ util@^0.11.0: utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== utility-types@^3.10.0: version "3.10.0" @@ -25714,7 +25025,6 @@ uuid@^9.0.0: uvu@^0.5.0: version "0.5.6" resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" - integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== dependencies: dequal "^2.0.0" diff "^5.0.0" @@ -25761,7 +25071,6 @@ value-or-function@^3.0.0: vanilla-jsoneditor@^0.16.1: version "0.16.1" resolved "https://registry.yarnpkg.com/vanilla-jsoneditor/-/vanilla-jsoneditor-0.16.1.tgz#0408c02cc377dce72bd719439750cf24b581843e" - integrity sha512-Wirg6DoCrJpYwMHxkwyvgQ16gr4kgH9zzueHSSSovzQDvlg/XSqpY/stVsI5lz1vqJW1RAtr0Ilyyg1AbokRXA== vary@^1, vary@^1.1.2, vary@~1.1.2: version "1.1.2" @@ -25782,7 +25091,6 @@ verror@1.10.0: vfile-location@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0" - integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== dependencies: "@types/unist" "^2.0.0" vfile "^5.0.0" @@ -25790,7 +25098,6 @@ vfile-location@^4.0.0: vfile-message@^3.0.0: version "3.1.4" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" - integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== dependencies: "@types/unist" "^2.0.0" unist-util-stringify-position "^3.0.0" @@ -25798,7 +25105,6 @@ vfile-message@^3.0.0: vfile@^5.0.0, vfile@^5.3.4: version "5.3.7" resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" - integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== dependencies: "@types/unist" "^2.0.0" is-buffer "^2.0.0" @@ -25870,7 +25176,6 @@ vite-node@0.32.0: vite@4.3.1: version "4.3.1" resolved "https://registry.npmmirror.com/vite/-/vite-4.3.1.tgz#9badb1377f995632cdcf05f32103414db6fbb95a" - integrity sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg== dependencies: esbuild "^0.17.5" postcss "^8.4.21" @@ -25881,7 +25186,6 @@ vite@4.3.1: "vite@^3.0.0 || ^4.0.0", vite@^4.3.9: version "4.3.9" resolved "https://registry.npmmirror.com/vite/-/vite-4.3.9.tgz#db896200c0b1aa13b37cdc35c9e99ee2fdd5f96d" - integrity sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg== dependencies: esbuild "^0.17.5" postcss "^8.4.23" @@ -25970,7 +25274,6 @@ warning@^4.0.3: wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== dependencies: minimalistic-assert "^1.0.0" @@ -25983,12 +25286,10 @@ wcwidth@^1.0.0, wcwidth@^1.0.1: web-namespaces@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" - integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== web-streams-polyfill@^3.0.3: version "3.2.1" resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== web-worker@^1.2.0: version "1.2.0" @@ -26013,7 +25314,6 @@ webidl-conversions@^6.1.0: well-known-symbols@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/well-known-symbols/-/well-known-symbols-2.0.0.tgz#e9c7c07dbd132b7b84212c8174391ec1f9871ba5" - integrity sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q== whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: version "1.0.5" @@ -26069,7 +25369,6 @@ which-boxed-primitive@^1.0.2: which-builtin-type@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== dependencies: function.prototype.name "^1.1.5" has-tostringtag "^1.0.0" @@ -26123,7 +25422,6 @@ which@^2.0.1, which@^2.0.2: why-is-node-running@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" - integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== dependencies: siginfo "^2.0.0" stackback "0.0.2" @@ -26275,7 +25573,6 @@ write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: write-file-atomic@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" @@ -26370,7 +25667,6 @@ xml-encryption@^3.0.2: xml-lexer@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/xml-lexer/-/xml-lexer-0.2.2.tgz#518193a4aa334d58fc7d248b549079b89907e046" - integrity sha512-G0i98epIwiUEiKmMcavmVdhtymW+pCAohMRgybyIME9ygfVu8QheIi+YoQh3ngiThsT0SQzJT4R0sKDEv8Ou0w== dependencies: eventemitter3 "^2.0.0" @@ -26381,7 +25677,6 @@ xml-name-validator@^3.0.0: xml-reader@2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/xml-reader/-/xml-reader-2.4.3.tgz#9f810caf7c425a5aafb848b1c45103c9e71d7530" - integrity sha512-xWldrIxjeAMAu6+HSf9t50ot1uL5M+BtOidRCWHXIeewvSeIpscWCsp4Zxjk8kHHhdqFBrfK8U0EJeCcnyQ/gA== dependencies: eventemitter3 "^2.0.0" xml-lexer "^0.2.2" @@ -26605,11 +25900,9 @@ zip-stream@^4.1.0: zustand@^4.3.1: version "4.3.8" resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.3.8.tgz#37113df8e9e1421b0be1b2dca02b49b76210e7c4" - integrity sha512-4h28KCkHg5ii/wcFFJ5Fp+k1J3gJoasaIbppdgZFO4BPJnsNxL0mQXBSFgOgAdCdBj35aDTPvdAJReTMntFPGg== dependencies: use-sync-external-store "1.2.0" zwitch@^2.0.0, zwitch@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==