From b95506e376cfede74ea48e55798cc37dc7de6c9c Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Mon, 22 Jul 2024 18:04:41 +0200 Subject: [PATCH 01/12] Use non singleton UrlSyncManager --- src/pages/Explore/TraceExploration.tsx | 5 ----- src/pages/Explore/TraceExplorationPage.tsx | 10 +++------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/pages/Explore/TraceExploration.tsx b/src/pages/Explore/TraceExploration.tsx index b5084d3..58069f7 100644 --- a/src/pages/Explore/TraceExploration.tsx +++ b/src/pages/Explore/TraceExploration.tsx @@ -5,7 +5,6 @@ import { AdHocVariableFilter, GrafanaTheme2 } from '@grafana/data'; import { CustomVariable, DataSourceVariable, - getUrlSyncManager, SceneComponentProps, SceneFlexItem, sceneGraph, @@ -107,10 +106,6 @@ export class TraceExploration extends SceneObjectBase { this.updateFiltersWithPrimarySignal(newState.primarySignal, oldState.primarySignal); } }); - - return () => { - getUrlSyncManager().cleanUp(this); - }; } public updateFiltersWithPrimarySignal(newSignal?: string, oldSignal?: string) { diff --git a/src/pages/Explore/TraceExplorationPage.tsx b/src/pages/Explore/TraceExplorationPage.tsx index 108598a..b02c565 100644 --- a/src/pages/Explore/TraceExplorationPage.tsx +++ b/src/pages/Explore/TraceExplorationPage.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useState } from 'react'; import { newTracesExploration } from '../../utils/utils'; import { TraceExploration } from './TraceExploration'; -import { getUrlSyncManager } from '@grafana/scenes'; +import {useUrlSync} from '@grafana/scenes'; import { DATASOURCE_LS_KEY } from '../../utils/shared'; import { reportAppInteraction, USER_EVENTS_ACTIONS, USER_EVENTS_PAGES } from '../../utils/analytics'; @@ -13,16 +13,12 @@ export const TraceExplorationPage = () => { }; export function TraceExplorationView({ exploration }: { exploration: TraceExploration }) { - const [isInitialized, setIsInitialized] = React.useState(false); - + const isInitialized = useUrlSync(exploration) useEffect(() => { if (!isInitialized) { - getUrlSyncManager().initSync(exploration); - setIsInitialized(true); - reportAppInteraction(USER_EVENTS_PAGES.common, USER_EVENTS_ACTIONS.common.app_initialized); } - }, [exploration, isInitialized]); + }, [isInitialized]); if (!isInitialized) { return null; From 6e31c3ca30172eca1d0aa95d948b2b7e87cf17bb Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Thu, 12 Sep 2024 13:43:57 +0200 Subject: [PATCH 02/12] Remove getUrlSyncManager().getUrlState --- src/utils/utils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 9c751d5..926680d 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -3,11 +3,11 @@ import { AdHocFiltersVariable, CustomVariable, DataSourceVariable, - getUrlSyncManager, sceneGraph, SceneObject, SceneObjectUrlValues, SceneTimeRange, + sceneUtils, } from '@grafana/scenes'; import { TraceExploration } from '../pages/Explore'; @@ -32,7 +32,7 @@ export function newTracesExploration(initialDS?: string): TraceExploration { } export function getUrlForExploration(exploration: TraceExploration) { - const params = getUrlSyncManager().getUrlState(exploration); + const params = sceneUtils.getUrlState(exploration); return getUrlForValues(params); } From 21a51d386f051719e570b7ddf415512f7cfdc142 Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Wed, 25 Sep 2024 15:45:27 +0200 Subject: [PATCH 03/12] Use scenes canary build --- package-lock.json | 8 ++++---- package.json | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0a48051..dcc20f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@emotion/css": "^11.10.6", "@grafana/data": "^11.2.0", - "@grafana/scenes": "^5.14.7", + "@grafana/scenes": "^5.15.1--canary.899.11016830015.0", "@grafana/ui": "11.2.0", "react": "18.2.0", "react-dom": "18.2.0", @@ -2919,9 +2919,9 @@ } }, "node_modules/@grafana/scenes": { - "version": "5.14.7", - "resolved": "https://registry.npmjs.org/@grafana/scenes/-/scenes-5.14.7.tgz", - "integrity": "sha512-7m+Gk5+2XUXnfNK0FNK8xMt5iCrWgMG234jJHNvmbRxs5+VOEZfaFkdKUPSs7UcZNl7GFrNJtHF+FXe6SiS06A==", + "version": "5.15.1--canary.899.11016830015.0", + "resolved": "https://registry.npmjs.org/@grafana/scenes/-/scenes-5.15.1--canary.899.11016830015.0.tgz", + "integrity": "sha512-OkCe8KkwWjCp38N3Wz2WJTozpGqYeODh8PAV3y2eoZpjfuuGUTqHW0CVvlyJ8CNqIv9ZlzxoI8wuCQVX/UhQ0Q==", "dependencies": { "@floating-ui/react": "0.26.16", "@grafana/e2e-selectors": "^11.0.0", diff --git a/package.json b/package.json index 63730d2..51aa9eb 100644 --- a/package.json +++ b/package.json @@ -60,9 +60,9 @@ }, "dependencies": { "@emotion/css": "^11.10.6", - "@grafana/scenes": "^5.14.7", - "@grafana/ui": "11.2.0", "@grafana/data": "^11.2.0", + "@grafana/scenes": "^5.15.1--canary.899.11016830015.0", + "@grafana/ui": "11.2.0", "react": "18.2.0", "react-dom": "18.2.0", "react-loading-skeleton": "3.4.0", From b4e4e46c63df96679d2d7ea91fa1974c0c755037 Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Wed, 16 Oct 2024 15:13:36 +0200 Subject: [PATCH 04/12] Add example extension --- src/module.ts | 12 ++++++- src/pages/Explore/TraceExplorationPage.tsx | 38 +++++++++++++++++++++- src/plugin.json | 10 ++++++ src/utils/utils.ts | 4 +-- 4 files changed, 60 insertions(+), 4 deletions(-) diff --git a/src/module.ts b/src/module.ts index 319808b..46fa4f9 100644 --- a/src/module.ts +++ b/src/module.ts @@ -7,4 +7,14 @@ export const plugin = new AppPlugin<{}>().setRootPage(App).addConfigPage({ icon: 'cog', body: AppConfig, id: 'configuration', -}); +}) + .addLink({ + title: 'Open traces', + description: 'Open traces', + icon: 'align-left', + targets: 'grafana-lokiexplore-app/toolbar', + onClick: (e, helpers) => { + // @ts-ignore + helpers.openAppInSideview(helpers.context); + }, + }); diff --git a/src/pages/Explore/TraceExplorationPage.tsx b/src/pages/Explore/TraceExplorationPage.tsx index a61e58d..87b9faf 100644 --- a/src/pages/Explore/TraceExplorationPage.tsx +++ b/src/pages/Explore/TraceExplorationPage.tsx @@ -4,10 +4,20 @@ import { TraceExploration } from './TraceExploration'; import { DATASOURCE_LS_KEY } from '../../utils/shared'; import { reportAppInteraction, USER_EVENTS_ACTIONS, USER_EVENTS_PAGES } from '../../utils/analytics'; import { UrlSyncContextProvider } from '@grafana/scenes'; +import {AdHocVariableFilter, usePluginContext} from '@grafana/data'; export const TraceExplorationPage = () => { + const pluginContext = usePluginContext(); const initialDs = localStorage.getItem(DATASOURCE_LS_KEY) || ''; - const [exploration] = useState(newTracesExploration(initialDs)); + const [exploration] = useState( + newTracesExploration( + initialDs, + getInitialFilters( + // @ts-ignore + pluginContext.initialContext + ) + ) + ); return ; }; @@ -33,3 +43,29 @@ export function TraceExplorationView({ exploration }: { exploration: TraceExplor ); } + +function getInitialFilters(context: unknown): AdHocVariableFilter[] | undefined { + if (context && typeof context === 'object' && 'filters' in context && Array.isArray(context.filters)) { + const mappedFilters = context.filters.reduce((filters, maybeFilter) => { + if ( + maybeFilter && + typeof maybeFilter === 'object' && + 'key' in maybeFilter && + 'operator' in maybeFilter && + 'value' in maybeFilter + ) { + filters.push({ + key: maybeFilter.key, + value: maybeFilter.value, + operator: maybeFilter.operator, + }); + } + return filters; + }, []); + if (mappedFilters.length) { + return mappedFilters; + } + } + + return undefined; +} diff --git a/src/plugin.json b/src/plugin.json index 02aabfd..dee68b9 100644 --- a/src/plugin.json +++ b/src/plugin.json @@ -3,6 +3,7 @@ "type": "app", "name": "Explore Traces", "id": "grafana-exploretraces-app", + "preload": true, "autoEnabled": true, "info": { "keywords": ["app", "tempo", "traces", "explore"], @@ -54,5 +55,14 @@ "dependencies": { "grafanaDependency": ">=11.2.0", "plugins": [] + }, + "extensions": { + "addedLinks": [ + { + "targets": ["grafana-lokiexplore-app/toolbar"], + "title": "Open traces", + "description": "Open traces" + } + ] } } diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 09438af..b2dc3f8 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -32,10 +32,10 @@ export function getTraceByServiceScene(model: SceneObject): TracesByServiceScene return sceneGraph.getAncestor(model, TracesByServiceScene); } -export function newTracesExploration(initialDS?: string): TraceExploration { +export function newTracesExploration(initialDS?: string, initialFilters?: AdHocVariableFilter[]): TraceExploration { return new TraceExploration({ initialDS, - initialFilters: [primarySignalOptions[0].filter], + initialFilters: initialFilters ?? [primarySignalOptions[0].filter], $timeRange: new SceneTimeRange({ from: 'now-15m', to: 'now' }), }); } From 67718cb078615a5c2c82278143d0183fdb41b10a Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Wed, 23 Oct 2024 15:53:36 +0200 Subject: [PATCH 05/12] Add filter passing from extension --- package-lock.json | 11 +++- package.json | 3 +- src/module.ts | 29 +++++++--- src/pages/Explore/TraceExplorationPage.tsx | 65 +++++++++++----------- src/plugin.json | 2 +- 5 files changed, 66 insertions(+), 44 deletions(-) diff --git a/package-lock.json b/package-lock.json index dcc20f6..eef5261 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,8 @@ "react-loading-skeleton": "3.4.0", "react-router-dom": "^5.2.0", "rxjs": "7.8.0", - "tslib": "2.5.3" + "tslib": "2.5.3", + "zod": "^3.23.8" }, "devDependencies": { "@babel/core": "^7.21.4", @@ -16292,6 +16293,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, "node_modules/zstddec": { "version": "0.1.0", "license": "MIT AND BSD-3-Clause" diff --git a/package.json b/package.json index 51aa9eb..afe3b44 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,8 @@ "react-loading-skeleton": "3.4.0", "react-router-dom": "^5.2.0", "rxjs": "7.8.0", - "tslib": "2.5.3" + "tslib": "2.5.3", + "zod": "^3.23.8" }, "packageManager": "yarn@1.22.22" } diff --git a/src/module.ts b/src/module.ts index 46fa4f9..58955fe 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2,19 +2,30 @@ import { AppPlugin } from '@grafana/data'; import { App } from './components/App'; import { AppConfig } from './components/AppConfig'; -export const plugin = new AppPlugin<{}>().setRootPage(App).addConfigPage({ - title: 'Configuration', - icon: 'cog', - body: AppConfig, - id: 'configuration', -}) +// @ts-ignore new API that is not yet in stable release +import { sidecarServiceSingleton_EXPERIMENTAL } from '@grafana/runtime'; +import pluginJson from './plugin.json'; + +export const plugin = new AppPlugin<{}>() + .setRootPage(App) + .addConfigPage({ + title: 'Configuration', + icon: 'cog', + body: AppConfig, + id: 'configuration', + }) .addLink({ - title: 'Open traces', + title: 'traces', description: 'Open traces', icon: 'align-left', targets: 'grafana-lokiexplore-app/toolbar', + configure: () => { + if (sidecarServiceSingleton_EXPERIMENTAL?.isAppOpened(pluginJson.id)) { + return undefined; + } + return {}; + }, onClick: (e, helpers) => { - // @ts-ignore - helpers.openAppInSideview(helpers.context); + sidecarServiceSingleton_EXPERIMENTAL?.openApp(pluginJson.id, helpers.context); }, }); diff --git a/src/pages/Explore/TraceExplorationPage.tsx b/src/pages/Explore/TraceExplorationPage.tsx index 87b9faf..582b92f 100644 --- a/src/pages/Explore/TraceExplorationPage.tsx +++ b/src/pages/Explore/TraceExplorationPage.tsx @@ -1,23 +1,23 @@ import React, { useEffect, useState } from 'react'; +import z from 'zod'; + import { newTracesExploration } from '../../utils/utils'; import { TraceExploration } from './TraceExploration'; import { DATASOURCE_LS_KEY } from '../../utils/shared'; import { reportAppInteraction, USER_EVENTS_ACTIONS, USER_EVENTS_PAGES } from '../../utils/analytics'; import { UrlSyncContextProvider } from '@grafana/scenes'; -import {AdHocVariableFilter, usePluginContext} from '@grafana/data'; +import { AdHocVariableFilter } from '@grafana/data'; + +// @ts-ignore new API that is not yet in stable release +import { useSidecar_EXPERIMENTAL } from '@grafana/runtime'; export const TraceExplorationPage = () => { - const pluginContext = usePluginContext(); + // We are calling this conditionally, but it will depend on grafana version and should not change in runtime so we + // can ignore the hook rule here + const sidecarContext = useSidecar_EXPERIMENTAL?.() ?? {}; + const initialDs = localStorage.getItem(DATASOURCE_LS_KEY) || ''; - const [exploration] = useState( - newTracesExploration( - initialDs, - getInitialFilters( - // @ts-ignore - pluginContext.initialContext - ) - ) - ); + const [exploration] = useState(newTracesExploration(initialDs, getInitialFilters(sidecarContext.initialContext))); return ; }; @@ -44,28 +44,29 @@ export function TraceExplorationView({ exploration }: { exploration: TraceExplor ); } +const AdHocVariableFilterSchema = z.object({ + key: z.string(), + operator: z.string(), + value: z.string(), +}); + +const InitialFiltersSchema = z.object({ + filters: z.array(AdHocVariableFilterSchema), +}); + +/** Because the context comes from a different app plugin we cannot really count on it being the correct type even if + * it was typed, so it is safer to do runtime parsing here. It also can come from different app extensions and at this + * point we don't know which, but we also have implemented only one so far it's a fair guess. + * + * At this point there is no smartness. What ever we got from the other app we use as is. Ideally there should be some + * normalization of the filters or smart guesses when there are differences. + * @param context + */ function getInitialFilters(context: unknown): AdHocVariableFilter[] | undefined { - if (context && typeof context === 'object' && 'filters' in context && Array.isArray(context.filters)) { - const mappedFilters = context.filters.reduce((filters, maybeFilter) => { - if ( - maybeFilter && - typeof maybeFilter === 'object' && - 'key' in maybeFilter && - 'operator' in maybeFilter && - 'value' in maybeFilter - ) { - filters.push({ - key: maybeFilter.key, - value: maybeFilter.value, - operator: maybeFilter.operator, - }); - } - return filters; - }, []); - if (mappedFilters.length) { - return mappedFilters; - } + const result = InitialFiltersSchema.safeParse(context); + if (!result.success) { + return undefined; } - return undefined; + return result.data.filters; } diff --git a/src/plugin.json b/src/plugin.json index dee68b9..de096e6 100644 --- a/src/plugin.json +++ b/src/plugin.json @@ -60,7 +60,7 @@ "addedLinks": [ { "targets": ["grafana-lokiexplore-app/toolbar"], - "title": "Open traces", + "title": "traces", "description": "Open traces" } ] From fedbe107cea970b94cd6a5a166c50834d26a04e1 Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Wed, 23 Oct 2024 15:59:38 +0200 Subject: [PATCH 06/12] Use non canary version of scenes --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6a80f2d..0d18c8b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@emotion/css": "^11.10.6", "@grafana/data": "^11.2.0", - "@grafana/scenes": "^5.15.1--canary.899.11016830015.0", + "@grafana/scenes": "^5.20.4", "@grafana/ui": "11.2.0", "react": "18.2.0", "react-dom": "18.2.0", @@ -3262,9 +3262,9 @@ } }, "node_modules/@grafana/scenes": { - "version": "5.15.1--canary.899.11016830015.0", - "resolved": "https://registry.npmjs.org/@grafana/scenes/-/scenes-5.15.1--canary.899.11016830015.0.tgz", - "integrity": "sha512-OkCe8KkwWjCp38N3Wz2WJTozpGqYeODh8PAV3y2eoZpjfuuGUTqHW0CVvlyJ8CNqIv9ZlzxoI8wuCQVX/UhQ0Q==", + "version": "5.20.4", + "resolved": "https://registry.npmjs.org/@grafana/scenes/-/scenes-5.20.4.tgz", + "integrity": "sha512-4ucIjm3jfWFz6U64WNBXQUzZAliCag9um8fMWrkHOKI2cLVJZOeL04ImYW+hropvkIuf8ENYgfCXo2IIKszbzQ==", "dependencies": { "@floating-ui/react": "0.26.16", "@grafana/e2e-selectors": "^11.0.0", diff --git a/package.json b/package.json index 494b7bf..cdf1959 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "dependencies": { "@emotion/css": "^11.10.6", "@grafana/data": "^11.2.0", - "@grafana/scenes": "^5.15.1--canary.899.11016830015.0", + "@grafana/scenes": "^5.20.4", "@grafana/ui": "11.2.0", "react": "18.2.0", "react-dom": "18.2.0", From 111a2fa1c714cc8e27d9b0df774c323c70a189d9 Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Thu, 31 Oct 2024 10:57:24 +0100 Subject: [PATCH 07/12] Update the extension point id --- src/module.ts | 2 +- src/plugin.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/module.ts b/src/module.ts index 58955fe..b582e54 100644 --- a/src/module.ts +++ b/src/module.ts @@ -18,7 +18,7 @@ export const plugin = new AppPlugin<{}>() title: 'traces', description: 'Open traces', icon: 'align-left', - targets: 'grafana-lokiexplore-app/toolbar', + targets: 'grafana-lokiexplore-app/toolbar-open-related/v1', configure: () => { if (sidecarServiceSingleton_EXPERIMENTAL?.isAppOpened(pluginJson.id)) { return undefined; diff --git a/src/plugin.json b/src/plugin.json index b5fa629..84b88ef 100644 --- a/src/plugin.json +++ b/src/plugin.json @@ -59,7 +59,7 @@ "extensions": { "addedLinks": [ { - "targets": ["grafana-lokiexplore-app/toolbar"], + "targets": ["grafana-lokiexplore-app/toolbar-open-related/v1"], "title": "traces", "description": "Open traces" } From 197bb5edb7a56c0e8bfa5654e0adc47d28e30f03 Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Thu, 31 Oct 2024 14:19:51 +0100 Subject: [PATCH 08/12] Add spelling ignore --- cspell.config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cspell.config.json b/cspell.config.json index 859646f..15bfc31 100644 --- a/cspell.config.json +++ b/cspell.config.json @@ -43,6 +43,7 @@ "Spanset", "tempopb", "querysharding", - "queryless" + "queryless", + "lokiexplore" ] } From f673045cf41cdf06392b697e912defa9dd4add3e Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Mon, 11 Nov 2024 14:20:04 +0100 Subject: [PATCH 09/12] Update grafana/* packages --- package-lock.json | 836 ++++++++++++++++++++-------------------------- package.json | 6 +- 2 files changed, 374 insertions(+), 468 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7513c51..affb1c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,10 @@ "license": "Apache-2.0", "dependencies": { "@emotion/css": "^11.10.6", - "@grafana/data": "^11.2.0", - "@grafana/runtime": "^11.2.0", + "@grafana/data": "^11.3.0", + "@grafana/runtime": "^11.3.0", "@grafana/scenes": "^5.14.7", - "@grafana/ui": "11.2.0", + "@grafana/ui": "11.3.0", "react": "18.2.0", "react-dom": "18.2.0", "react-loading-skeleton": "3.4.0", @@ -1219,14 +1219,15 @@ } }, "node_modules/@emotion/babel-plugin": { - "version": "11.11.0", - "license": "MIT", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz", + "integrity": "sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==", "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.2.0", "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", @@ -1238,62 +1239,62 @@ "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/@emotion/babel-plugin/node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/@emotion/cache": { - "version": "11.11.0", - "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", + "version": "11.13.1", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", + "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } }, "node_modules/@emotion/css": { - "version": "11.11.2", - "resolved": "https://registry.npmjs.org/@emotion/css/-/css-11.11.2.tgz", - "integrity": "sha512-VJxe1ucoMYMS7DkiMdC2T7PWNbrEI0a39YRiyDvK2qq4lXwjRbVP/z4lpG+odCsRzadlR+1ywwrTzhdm5HNdew==", - "license": "MIT", + "version": "11.13.4", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-11.13.4.tgz", + "integrity": "sha512-CthbOD5EBw+iN0rfM96Tuv5kaZN4nxPyYDvGUs0bc7wZBBiU/0mse+l+0O9RshW2d+v5HH1cme+BAbLJ/3Folw==", "dependencies": { - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.2", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1" + "@emotion/babel-plugin": "^11.12.0", + "@emotion/cache": "^11.13.0", + "@emotion/serialize": "^1.3.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.0" } }, "node_modules/@emotion/hash": { - "version": "0.9.1", - "license": "MIT" + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==" }, "node_modules/@emotion/memoize": { - "version": "0.8.1", - "license": "MIT" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==" }, "node_modules/@emotion/react": { - "version": "11.11.4", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz", - "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==", + "version": "11.13.3", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.3.tgz", + "integrity": "sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==", "dependencies": { "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", + "@emotion/babel-plugin": "^11.12.0", + "@emotion/cache": "^11.13.0", + "@emotion/serialize": "^1.3.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/utils": "^1.4.0", + "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { @@ -1306,23 +1307,26 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.1.4", - "license": "MIT", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.2.tgz", + "integrity": "sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==", "dependencies": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.1", "csstype": "^3.0.2" } }, "node_modules/@emotion/sheet": { - "version": "1.2.2", - "license": "MIT" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==" }, "node_modules/@emotion/unitless": { - "version": "0.8.1", - "license": "MIT" + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==" }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { "version": "1.1.0", @@ -1333,14 +1337,14 @@ } }, "node_modules/@emotion/utils": { - "version": "1.2.1", - "license": "MIT" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.1.tgz", + "integrity": "sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==" }, "node_modules/@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==", - "license": "MIT" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==" }, "node_modules/@es-joy/jsdoccomment": { "version": "0.39.4", @@ -1477,12 +1481,12 @@ } }, "node_modules/@floating-ui/react": { - "version": "0.26.22", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.22.tgz", - "integrity": "sha512-LNv4azPt8SpT4WW7Kku5JNVjLk2GcS0bGGjFTAgqOONRFo9r/aaGHHPpdiIuQbB1t8shmWyWqTTUDmZ9fcNshg==", + "version": "0.26.24", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.26.24.tgz", + "integrity": "sha512-2ly0pCkZIGEQUq5H8bBK0XJmc1xIK/RM3tvVzY3GBER7IOD1UgmC2Y2tjj4AuS+TC+vTE1KJv2053290jua0Sw==", "dependencies": { - "@floating-ui/react-dom": "^2.1.1", - "@floating-ui/utils": "^0.2.7", + "@floating-ui/react-dom": "^2.1.2", + "@floating-ui/utils": "^0.2.8", "tabbable": "^6.0.0" }, "peerDependencies": { @@ -1491,9 +1495,9 @@ } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz", - "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", + "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", "dependencies": { "@floating-ui/dom": "^1.0.0" }, @@ -1503,61 +1507,62 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.7.tgz", - "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==" + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==" }, "node_modules/@formatjs/ecma402-abstract": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", - "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.2.3.tgz", + "integrity": "sha512-aElGmleuReGnk2wtYOzYFmNWYoiWWmf1pPPCYg0oiIQSJj0mjc4eUfzUXaSOJ4S8WzI/cLqnCTWjqz904FT2OQ==", "dependencies": { - "@formatjs/intl-localematcher": "0.5.4", - "tslib": "^2.4.0" + "@formatjs/fast-memoize": "2.2.3", + "@formatjs/intl-localematcher": "0.5.7", + "tslib": "2" } }, "node_modules/@formatjs/fast-memoize": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", - "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.3.tgz", + "integrity": "sha512-3jeJ+HyOfu8osl3GNSL4vVHUuWFXR03Iz9jjgI7RwjG6ysu/Ymdr0JRCPHfF5yGbTE6JCrd63EpvX1/WybYRbA==", "dependencies": { - "tslib": "^2.4.0" + "tslib": "2" } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz", - "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==", + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.9.3.tgz", + "integrity": "sha512-9L99QsH14XjOCIp4TmbT8wxuffJxGK8uLNO1zNhLtcZaVXvv626N0s4A2qgRCKG3dfYWx9psvGlFmvyVBa6u/w==", "dependencies": { - "@formatjs/ecma402-abstract": "2.0.0", - "@formatjs/icu-skeleton-parser": "1.8.2", - "tslib": "^2.4.0" + "@formatjs/ecma402-abstract": "2.2.3", + "@formatjs/icu-skeleton-parser": "1.8.7", + "tslib": "2" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz", - "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==", + "version": "1.8.7", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.7.tgz", + "integrity": "sha512-fI+6SmS2g7h3srfAKSWa5dwreU5zNEfon2uFo99OToiLF6yxGE+WikvFSbsvMAYkscucvVmTYNlWlaDPp0n5HA==", "dependencies": { - "@formatjs/ecma402-abstract": "2.0.0", - "tslib": "^2.4.0" + "@formatjs/ecma402-abstract": "2.2.3", + "tslib": "2" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz", - "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.7.tgz", + "integrity": "sha512-GGFtfHGQVFe/niOZp24Kal5b2i36eE2bNL0xi9Sg/yd0TR8aLjcteApZdHmismP5QQax1cMnZM9yWySUUjJteA==", "dependencies": { - "tslib": "^2.4.0" + "tslib": "2" } }, "node_modules/@grafana/data": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@grafana/data/-/data-11.2.0.tgz", - "integrity": "sha512-mMek4DWhoegojMfb4/vIFm/jYj/88b/xu2RHKqa4h1ySdQ0wgOFhN9ea5n3Beo68RrEQa2RINaDa36DSTsHJrQ==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@grafana/data/-/data-11.3.0.tgz", + "integrity": "sha512-AH7kJQRk1G0ccfAnCPfeQ/zJJ0kdkvpfjgTe40EJbj4S3m2mJ1lawYxd0VUsPgrh0DVezBZZkybInn+PT9jv4A==", "dependencies": { "@braintree/sanitize-url": "7.0.1", - "@grafana/schema": "11.2.0", + "@grafana/schema": "11.3.0", "@types/d3-interpolate": "^3.0.0", "@types/string-hash": "1.1.3", "d3-interpolate": "3.0.1", @@ -1570,15 +1575,15 @@ "marked": "12.0.2", "marked-mangle": "1.1.9", "moment": "2.30.1", - "moment-timezone": "0.5.45", + "moment-timezone": "0.5.46", "ol": "7.4.0", "papaparse": "5.4.1", "react-use": "17.5.1", "rxjs": "7.8.1", "string-hash": "^1.1.3", "tinycolor2": "1.6.0", - "tslib": "2.6.3", - "uplot": "1.6.30", + "tslib": "2.7.0", + "uplot": "1.6.31", "xss": "^1.0.14" }, "peerDependencies": { @@ -1596,9 +1601,9 @@ } }, "node_modules/@grafana/data/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/@grafana/e2e": { "version": "10.4.1", @@ -3353,19 +3358,19 @@ } }, "node_modules/@grafana/runtime": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@grafana/runtime/-/runtime-11.2.0.tgz", - "integrity": "sha512-UQ/wAOE/4wt+dnCkHzYe/TfwFTt6s5BgzwACeU9Ik2Zc40Hi8vk1jdd5ky5q4fItzAfd9h0tczP2iURZPpsIHg==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@grafana/runtime/-/runtime-11.3.0.tgz", + "integrity": "sha512-wSa8CVK/C4N68DeEii2i2JXR8CuoXYXufLQwRG6wbpv2lcpAV2guyMSb3hmBX3DSg12SVn1ixVZRAkm5sYUqNg==", "dependencies": { - "@grafana/data": "11.2.0", - "@grafana/e2e-selectors": "11.2.0", + "@grafana/data": "11.3.0", + "@grafana/e2e-selectors": "11.3.0", "@grafana/faro-web-sdk": "^1.3.6", - "@grafana/schema": "11.2.0", - "@grafana/ui": "11.2.0", + "@grafana/schema": "11.3.0", + "@grafana/ui": "11.3.0", "history": "4.10.1", "lodash": "4.17.21", "rxjs": "7.8.1", - "tslib": "2.6.3" + "tslib": "2.7.0" }, "peerDependencies": { "react": "^18.0.0", @@ -3373,19 +3378,19 @@ } }, "node_modules/@grafana/runtime/node_modules/@grafana/e2e-selectors": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@grafana/e2e-selectors/-/e2e-selectors-11.2.0.tgz", - "integrity": "sha512-13iHPt6bz7gfgO9WbqPpSla5SEalKtXhgBrCNHTZbGoZhiDkl/kl6wSWYepnXIEs2psyXnABaLpMfg/nXNgSyQ==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@grafana/e2e-selectors/-/e2e-selectors-11.3.0.tgz", + "integrity": "sha512-M1Ay/qxen7PyqS0YpwIpXRRlp563l22KOzxRAY+oGqjvVQvEIoq5ET10Y7rX5DgHpqdcuH1OyhrijYKV1x5fuA==", "dependencies": { - "@grafana/tsconfig": "^1.3.0-rc1", - "tslib": "2.6.3", - "typescript": "5.4.5" + "@grafana/tsconfig": "^2.0.0", + "tslib": "2.7.0", + "typescript": "5.5.4" } }, "node_modules/@grafana/runtime/node_modules/@grafana/tsconfig": { - "version": "1.3.0-rc1", - "resolved": "https://registry.npmjs.org/@grafana/tsconfig/-/tsconfig-1.3.0-rc1.tgz", - "integrity": "sha512-bi+qFOptejg/a2/WmCDVxQLQtobhKd3y+B6mxFBOMmzElqgr30MPnN60THTou6dGwtfw+ExX1H5FGm9DM35Qrw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@grafana/tsconfig/-/tsconfig-2.0.0.tgz", + "integrity": "sha512-cxC3Htv/GidI5FeVGAzj/lYZTMMz/Cfsc8VOQFO3Ichjx3hUjyjeoBUIpVSVMnIjKUdA5ycdxtMYPHIuIrk8+A==" }, "node_modules/@grafana/runtime/node_modules/rxjs": { "version": "7.8.1", @@ -3396,21 +3401,9 @@ } }, "node_modules/@grafana/runtime/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" - }, - "node_modules/@grafana/runtime/node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/@grafana/scenes": { "version": "5.20.4", @@ -3520,17 +3513,17 @@ } }, "node_modules/@grafana/schema": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@grafana/schema/-/schema-11.2.0.tgz", - "integrity": "sha512-ajW/O0uLgoNrtmxWefgUxJC1DFDyQOjnidzdoWDQbBAbw2fxxhXSYmY1v5Z9ZvVjxuWH7gn636cpA2PfRLNkcw==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@grafana/schema/-/schema-11.3.0.tgz", + "integrity": "sha512-KOgk0omDs8URuhL++ksgMDPMB49di8oCKqMNI10z3zSQniECUow+3Ggz1WeenReL7ajyJVG/O3rGVEaqteDMzg==", "dependencies": { - "tslib": "2.6.3" + "tslib": "2.7.0" } }, "node_modules/@grafana/schema/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/@grafana/tsconfig": { "version": "1.2.0-rc1", @@ -3540,28 +3533,29 @@ "license": "Apache-2.0" }, "node_modules/@grafana/ui": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@grafana/ui/-/ui-11.2.0.tgz", - "integrity": "sha512-tG1V/ajIwRfIx9m+rXrg6NFE6dI6ZYc89FOHVmh2QRTukElgQ0VIdkvumFiR38NdHsAh5wGNkgST91Z6RRyryQ==", - "dependencies": { - "@emotion/css": "11.11.2", - "@emotion/react": "11.11.4", - "@floating-ui/react": "0.26.22", - "@grafana/data": "11.2.0", - "@grafana/e2e-selectors": "11.2.0", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@grafana/ui/-/ui-11.3.0.tgz", + "integrity": "sha512-uTr1TCmLwmrEPS7FHqjM7nx/6KXrQkIAWwvzW/u5KrYiGVjmFCK5IRe586Y61SQ+uAZ98ZjqvIXzVgorzFGZ+w==", + "dependencies": { + "@emotion/css": "11.13.4", + "@emotion/react": "11.13.3", + "@emotion/serialize": "1.3.2", + "@floating-ui/react": "0.26.24", + "@grafana/data": "11.3.0", + "@grafana/e2e-selectors": "11.3.0", "@grafana/faro-web-sdk": "^1.3.6", - "@grafana/schema": "11.2.0", + "@grafana/schema": "11.3.0", "@hello-pangea/dnd": "16.6.0", "@leeoniya/ufuzzy": "1.0.14", "@monaco-editor/react": "4.6.0", "@popperjs/core": "2.11.8", - "@react-aria/dialog": "3.5.16", - "@react-aria/focus": "3.18.1", - "@react-aria/overlays": "3.23.1", - "@react-aria/utils": "3.25.1", + "@react-aria/dialog": "3.5.18", + "@react-aria/focus": "3.18.3", + "@react-aria/overlays": "3.23.3", + "@react-aria/utils": "3.25.3", "@tanstack/react-virtual": "^3.5.1", - "@types/jquery": "3.5.30", - "@types/lodash": "4.17.7", + "@types/jquery": "3.5.31", + "@types/lodash": "4.17.10", "@types/react-table": "7.7.20", "ansicolor": "1.1.100", "calculate-size": "1.1.1", @@ -3581,22 +3575,22 @@ "monaco-editor": "0.34.1", "ol": "7.4.0", "prismjs": "1.29.0", - "rc-cascader": "3.27.0", + "rc-cascader": "3.28.1", "rc-drawer": "7.2.0", - "rc-slider": "10.6.2", + "rc-slider": "11.1.7", "rc-time-picker": "^3.7.3", - "rc-tooltip": "6.2.0", - "react-calendar": "4.8.0", + "rc-tooltip": "6.2.1", + "react-calendar": "5.0.0", "react-colorful": "5.6.1", "react-custom-scrollbars-2": "4.5.0", - "react-dropzone": "14.2.3", + "react-dropzone": "14.2.9", "react-highlight-words": "0.20.0", "react-hook-form": "^7.49.2", "react-i18next": "^14.0.0", "react-inlinesvg": "3.0.2", - "react-loading-skeleton": "3.4.0", - "react-router-dom": "5.3.3", - "react-select": "5.8.0", + "react-loading-skeleton": "3.5.0", + "react-router-dom-v5-compat": "^6.26.1", + "react-select": "5.8.1", "react-table": "7.8.0", "react-transition-group": "4.4.5", "react-use": "17.5.1", @@ -3606,8 +3600,8 @@ "slate-plain-serializer": "0.7.13", "slate-react": "0.22.10", "tinycolor2": "1.6.0", - "tslib": "2.6.3", - "uplot": "1.6.30", + "tslib": "2.7.0", + "uplot": "1.6.31", "uuid": "9.0.1" }, "peerDependencies": { @@ -3616,36 +3610,26 @@ } }, "node_modules/@grafana/ui/node_modules/@grafana/e2e-selectors": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@grafana/e2e-selectors/-/e2e-selectors-11.2.0.tgz", - "integrity": "sha512-13iHPt6bz7gfgO9WbqPpSla5SEalKtXhgBrCNHTZbGoZhiDkl/kl6wSWYepnXIEs2psyXnABaLpMfg/nXNgSyQ==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@grafana/e2e-selectors/-/e2e-selectors-11.3.0.tgz", + "integrity": "sha512-M1Ay/qxen7PyqS0YpwIpXRRlp563l22KOzxRAY+oGqjvVQvEIoq5ET10Y7rX5DgHpqdcuH1OyhrijYKV1x5fuA==", "dependencies": { - "@grafana/tsconfig": "^1.3.0-rc1", - "tslib": "2.6.3", - "typescript": "5.4.5" + "@grafana/tsconfig": "^2.0.0", + "tslib": "2.7.0", + "typescript": "5.5.4" } }, "node_modules/@grafana/ui/node_modules/@grafana/tsconfig": { - "version": "1.3.0-rc1", - "resolved": "https://registry.npmjs.org/@grafana/tsconfig/-/tsconfig-1.3.0-rc1.tgz", - "integrity": "sha512-bi+qFOptejg/a2/WmCDVxQLQtobhKd3y+B6mxFBOMmzElqgr30MPnN60THTou6dGwtfw+ExX1H5FGm9DM35Qrw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@grafana/tsconfig/-/tsconfig-2.0.0.tgz", + "integrity": "sha512-cxC3Htv/GidI5FeVGAzj/lYZTMMz/Cfsc8VOQFO3Ichjx3hUjyjeoBUIpVSVMnIjKUdA5ycdxtMYPHIuIrk8+A==" }, - "node_modules/@grafana/ui/node_modules/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-Ov0tGPMBgqmbu5CDmN++tv2HQ9HlWDuWIIqn4b88gjlAN5IHI+4ZUZRcpz9Hl0azFIwihbLDYw1OiHGRo7ZIng==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.3", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, + "node_modules/@grafana/ui/node_modules/react-loading-skeleton": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.5.0.tgz", + "integrity": "sha512-gxxSyLbrEAdXTKgfbpBEFZCO/P153DnqSCQau2+o6lNy1jgMRr2MmRmOzMmyrwSaSYLRB8g7b0waYPmUjz7IhQ==", "peerDependencies": { - "react": ">=15" + "react": ">=16.8.0" } }, "node_modules/@grafana/ui/node_modules/rxjs": { @@ -3657,21 +3641,9 @@ } }, "node_modules/@grafana/ui/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" - }, - "node_modules/@grafana/ui/node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/@grafana/ui/node_modules/uuid": { "version": "9.0.1", @@ -3788,34 +3760,34 @@ "license": "BSD-3-Clause" }, "node_modules/@internationalized/date": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.5.tgz", - "integrity": "sha512-H+CfYvOZ0LTJeeLOqm19E3uj/4YjrmOFtBufDHPfvtI80hFAMqtrp7oCACpe4Cil5l8S0Qu/9dYfZc/5lY8WQQ==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.6.tgz", + "integrity": "sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==", "dependencies": { "@swc/helpers": "^0.5.0" } }, "node_modules/@internationalized/message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.4.tgz", - "integrity": "sha512-Dygi9hH1s7V9nha07pggCkvmRfDd3q2lWnMGvrJyrOwYMe1yj4D2T9BoH9I6MGR7xz0biQrtLPsqUkqXzIrBOw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.5.tgz", + "integrity": "sha512-hjEpLKFlYA3m5apldLqzHqw531qqfOEq0HlTWdfyZmcloWiUbWsYXD6YTiUmQmOtarthzhdjCAwMVrB8a4E7uA==", "dependencies": { "@swc/helpers": "^0.5.0", "intl-messageformat": "^10.1.0" } }, "node_modules/@internationalized/number": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.3.tgz", - "integrity": "sha512-rd1wA3ebzlp0Mehj5YTuTI50AQEx80gWFyHcQu+u91/5NgdwBecO8BH6ipPfE+lmQ9d63vpB3H9SHoIUiupllw==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.4.tgz", + "integrity": "sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==", "dependencies": { "@swc/helpers": "^0.5.0" } }, "node_modules/@internationalized/string": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.3.tgz", - "integrity": "sha512-9kpfLoA8HegiWTeCbR2livhdVeKobCnVv8tlJ6M2jF+4tcMqDo94ezwlnrUANBWPgd8U7OXIHCk2Ov2qhk4KXw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.4.tgz", + "integrity": "sha512-BcyadXPn89Ae190QGZGDUZPqxLj/xsP4U1Br1oSy8yfIjmpJ8cJtGYleaodqW/EmzFjwELtwDojLkf3FhV6SjA==", "dependencies": { "@swc/helpers": "^0.5.0" } @@ -4729,9 +4701,9 @@ } }, "node_modules/@rc-component/trigger": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.3.tgz", - "integrity": "sha512-X1oFIpKoXAMXNDYCviOmTfuNuYxE4h5laBsyCqVAVMjNHxoF3/uiyA7XdegK1XbCvBbCZ6P6byWrEoDRpKL8+A==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.5.tgz", + "integrity": "sha512-F1EJ4KjFpGAHAjuKvOyZB/6IZDkVx0bHl0M4fQM5wXcmm7lgTgVSSnR3bXwdmS6jOJGHOqfDxIJW3WUvwMIXhQ==", "dependencies": { "@babel/runtime": "^7.23.2", "@rc-component/portal": "^1.1.0", @@ -4749,15 +4721,15 @@ } }, "node_modules/@react-aria/dialog": { - "version": "3.5.16", - "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.16.tgz", - "integrity": "sha512-2clBSQQaoqCjAUkHnMA/noZ1ZnFbEVU67fL9M1QfokezAyLAlyCyD9XSed6+Td/Ncj80N3/Lax65XAlvWCyOlg==", - "dependencies": { - "@react-aria/focus": "^3.18.1", - "@react-aria/overlays": "^3.23.1", - "@react-aria/utils": "^3.25.1", - "@react-types/dialog": "^3.5.12", - "@react-types/shared": "^3.24.1", + "version": "3.5.18", + "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.18.tgz", + "integrity": "sha512-j0x0OwDZKyW2GqBZl2Dw/pHl0uSCzhHOg5jNeulkZC8xQa8COuksQf5NFzPmgRPnzqpbgvSzCSs41ymS8spmFg==", + "dependencies": { + "@react-aria/focus": "^3.18.3", + "@react-aria/overlays": "^3.23.3", + "@react-aria/utils": "^3.25.3", + "@react-types/dialog": "^3.5.13", + "@react-types/shared": "^3.25.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { @@ -4766,13 +4738,13 @@ } }, "node_modules/@react-aria/focus": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.18.1.tgz", - "integrity": "sha512-N0Cy61WCIv+57mbqC7hiZAsB+3rF5n4JKabxUmg/2RTJL6lq7hJ5N4gx75ymKxkN8GnVDwt4pKZah48Wopa5jw==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.18.3.tgz", + "integrity": "sha512-WKUElg+5zS0D3xlVn8MntNnkzJql2J6MuzAMP8Sv5WTgFDse/XGR842dsxPTIyKKdrWVCRegCuwa4m3n/GzgJw==", "dependencies": { - "@react-aria/interactions": "^3.22.1", - "@react-aria/utils": "^3.25.1", - "@react-types/shared": "^3.24.1", + "@react-aria/interactions": "^3.22.3", + "@react-aria/utils": "^3.25.3", + "@react-types/shared": "^3.25.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, @@ -4789,98 +4761,52 @@ } }, "node_modules/@react-aria/i18n": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.2.tgz", - "integrity": "sha512-PvEyC6JWylTpe8dQEWqQwV6GiA+pbTxHQd//BxtMSapRW3JT9obObAnb/nFhj3HthkUvqHyj0oO1bfeN+mtD8A==", - "dependencies": { - "@internationalized/date": "^3.5.5", - "@internationalized/message": "^3.1.4", - "@internationalized/number": "^3.5.3", - "@internationalized/string": "^3.2.3", - "@react-aria/ssr": "^3.9.5", - "@react-aria/utils": "^3.25.2", - "@react-types/shared": "^3.24.1", + "version": "3.12.3", + "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.3.tgz", + "integrity": "sha512-0Tp/4JwnCVNKDfuknPF+/xf3/woOc8gUjTU2nCjO3mCVb4FU7KFtjxQ2rrx+6hpIVG6g+N9qfMjRa/ggVH0CJg==", + "dependencies": { + "@internationalized/date": "^3.5.6", + "@internationalized/message": "^3.1.5", + "@internationalized/number": "^3.5.4", + "@internationalized/string": "^3.2.4", + "@react-aria/ssr": "^3.9.6", + "@react-aria/utils": "^3.25.3", + "@react-types/shared": "^3.25.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, - "node_modules/@react-aria/i18n/node_modules/@react-aria/utils": { - "version": "3.25.2", - "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.2.tgz", - "integrity": "sha512-GdIvG8GBJJZygB4L2QJP1Gabyn2mjFsha73I2wSe+o4DYeGWoJiMZRM06PyTIxLH4S7Sn7eVDtsSBfkc2VY/NA==", - "dependencies": { - "@react-aria/ssr": "^3.9.5", - "@react-stately/utils": "^3.10.3", - "@react-types/shared": "^3.24.1", - "@swc/helpers": "^0.5.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@react-aria/i18n/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "engines": { - "node": ">=6" - } - }, "node_modules/@react-aria/interactions": { - "version": "3.22.2", - "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.2.tgz", - "integrity": "sha512-xE/77fRVSlqHp2sfkrMeNLrqf2amF/RyuAS6T5oDJemRSgYM3UoxTbWjucPhfnoW7r32pFPHHgz4lbdX8xqD/g==", + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.4.tgz", + "integrity": "sha512-E0vsgtpItmknq/MJELqYJwib+YN18Qag8nroqwjk1qOnBa9ROIkUhWJerLi1qs5diXq9LHKehZDXRlwPvdEFww==", "dependencies": { - "@react-aria/ssr": "^3.9.5", - "@react-aria/utils": "^3.25.2", - "@react-types/shared": "^3.24.1", + "@react-aria/ssr": "^3.9.6", + "@react-aria/utils": "^3.25.3", + "@react-types/shared": "^3.25.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, - "node_modules/@react-aria/interactions/node_modules/@react-aria/utils": { - "version": "3.25.2", - "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.2.tgz", - "integrity": "sha512-GdIvG8GBJJZygB4L2QJP1Gabyn2mjFsha73I2wSe+o4DYeGWoJiMZRM06PyTIxLH4S7Sn7eVDtsSBfkc2VY/NA==", - "dependencies": { - "@react-aria/ssr": "^3.9.5", - "@react-stately/utils": "^3.10.3", - "@react-types/shared": "^3.24.1", - "@swc/helpers": "^0.5.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@react-aria/interactions/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "engines": { - "node": ">=6" - } - }, "node_modules/@react-aria/overlays": { - "version": "3.23.1", - "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.23.1.tgz", - "integrity": "sha512-qNV3pGThvRXjhdHCfqN9Eg4uD+nFm2DoK6d5e9LFd1+xCkKbT88afDBIcLmeG7fgfmukb1sNmzCJQJt8Svk54g==", - "dependencies": { - "@react-aria/focus": "^3.18.1", - "@react-aria/i18n": "^3.12.1", - "@react-aria/interactions": "^3.22.1", - "@react-aria/ssr": "^3.9.5", - "@react-aria/utils": "^3.25.1", - "@react-aria/visually-hidden": "^3.8.14", - "@react-stately/overlays": "^3.6.9", - "@react-types/button": "^3.9.6", - "@react-types/overlays": "^3.8.9", - "@react-types/shared": "^3.24.1", + "version": "3.23.3", + "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.23.3.tgz", + "integrity": "sha512-vRW4DL466a27BBIP6dQqmmei4nX/nsur6DyF0Hmd46ygwOdvdA+5MwvXZUz9yUamB79UeS9BMQZuBVwhjoMwBQ==", + "dependencies": { + "@react-aria/focus": "^3.18.3", + "@react-aria/i18n": "^3.12.3", + "@react-aria/interactions": "^3.22.3", + "@react-aria/ssr": "^3.9.6", + "@react-aria/utils": "^3.25.3", + "@react-aria/visually-hidden": "^3.8.16", + "@react-stately/overlays": "^3.6.11", + "@react-types/button": "^3.10.0", + "@react-types/overlays": "^3.8.10", + "@react-types/shared": "^3.25.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { @@ -4889,9 +4815,9 @@ } }, "node_modules/@react-aria/ssr": { - "version": "3.9.5", - "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.5.tgz", - "integrity": "sha512-xEwGKoysu+oXulibNUSkXf8itW0npHHTa6c4AyYeZIJyRoegeteYuFpZUBPtIDE8RfHdNsSmE1ssOkxRnwbkuQ==", + "version": "3.9.6", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.6.tgz", + "integrity": "sha512-iLo82l82ilMiVGy342SELjshuWottlb5+VefO3jOQqQRNYnJBFpUSadswDPbRimSgJUZuFwIEYs6AabkP038fA==", "dependencies": { "@swc/helpers": "^0.5.0" }, @@ -4903,13 +4829,13 @@ } }, "node_modules/@react-aria/utils": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.1.tgz", - "integrity": "sha512-5Uj864e7T5+yj78ZfLnfHqmypLiqW2mN+nsdslog2z5ssunTqjolVeM15ootXskjISlZ7MojLpq97kIC4nlnAw==", + "version": "3.25.3", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.3.tgz", + "integrity": "sha512-PR5H/2vaD8fSq0H/UB9inNbc8KDcVmW6fYAfSWkkn+OAdhTTMVKqXXrZuZBWyFfSD5Ze7VN6acr4hrOQm2bmrA==", "dependencies": { - "@react-aria/ssr": "^3.9.5", - "@react-stately/utils": "^3.10.2", - "@react-types/shared": "^3.24.1", + "@react-aria/ssr": "^3.9.6", + "@react-stately/utils": "^3.10.4", + "@react-types/shared": "^3.25.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, @@ -4926,49 +4852,26 @@ } }, "node_modules/@react-aria/visually-hidden": { - "version": "3.8.15", - "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.15.tgz", - "integrity": "sha512-l+sJ7xTdD5Sd6+rDNDaeJCSPnHOsI+BaJyApvb/YcVgHa7rB47lp6TXCWUCDItcPY4JqRGyeByRJVrtzBFTWCw==", + "version": "3.8.17", + "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.17.tgz", + "integrity": "sha512-WFgny1q2CbxxU6gu46TGQXf1DjsnuSk+RBDP4M7bm1mUVZzoCp7U7AtjNmsBrWg0NejxUdgD7+7jkHHCQ91qRA==", "dependencies": { - "@react-aria/interactions": "^3.22.2", - "@react-aria/utils": "^3.25.2", - "@react-types/shared": "^3.24.1", + "@react-aria/interactions": "^3.22.4", + "@react-aria/utils": "^3.25.3", + "@react-types/shared": "^3.25.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, - "node_modules/@react-aria/visually-hidden/node_modules/@react-aria/utils": { - "version": "3.25.2", - "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.25.2.tgz", - "integrity": "sha512-GdIvG8GBJJZygB4L2QJP1Gabyn2mjFsha73I2wSe+o4DYeGWoJiMZRM06PyTIxLH4S7Sn7eVDtsSBfkc2VY/NA==", - "dependencies": { - "@react-aria/ssr": "^3.9.5", - "@react-stately/utils": "^3.10.3", - "@react-types/shared": "^3.24.1", - "@swc/helpers": "^0.5.0", - "clsx": "^2.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@react-aria/visually-hidden/node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "engines": { - "node": ">=6" - } - }, "node_modules/@react-stately/overlays": { - "version": "3.6.10", - "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.10.tgz", - "integrity": "sha512-XxZ2qScT5JPwGk9qiVJE4dtVh3AXTcYwGRA5RsHzC26oyVVsegPqY2PmNJGblAh6Q57VyodoVUyebE0Eo5CzRw==", + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.11.tgz", + "integrity": "sha512-usuxitwOx4FbmOW7Og4VM8R8ZjerbHZLLbFaxZW7pWLs7Ypway1YhJ3SWcyNTYK7NEk4o602kSoU6MSev1Vgag==", "dependencies": { - "@react-stately/utils": "^3.10.3", - "@react-types/overlays": "^3.8.9", + "@react-stately/utils": "^3.10.4", + "@react-types/overlays": "^3.8.10", "@swc/helpers": "^0.5.0" }, "peerDependencies": { @@ -4976,9 +4879,9 @@ } }, "node_modules/@react-stately/utils": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.3.tgz", - "integrity": "sha512-moClv7MlVSHpbYtQIkm0Cx+on8Pgt1XqtPx6fy9rQFb2DNc9u1G3AUVnqA17buOkH1vLxAtX4MedlxMWyRCYYA==", + "version": "3.10.4", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.4.tgz", + "integrity": "sha512-gBEQEIMRh5f60KCm7QKQ2WfvhB2gLUr9b72sqUdIZ2EG+xuPgaIlCBeSicvjmjBvYZwOjoOEnmIkcx2GHp/HWw==", "dependencies": { "@swc/helpers": "^0.5.0" }, @@ -4987,47 +4890,55 @@ } }, "node_modules/@react-types/button": { - "version": "3.9.6", - "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.9.6.tgz", - "integrity": "sha512-8lA+D5JLbNyQikf8M/cPP2cji91aVTcqjrGpDqI7sQnaLFikM8eFR6l1ZWGtZS5MCcbfooko77ha35SYplSQvw==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.10.0.tgz", + "integrity": "sha512-rAyU+N9VaHLBdZop4zasn8IDwf9I5Q1EzHUKMtzIFf5aUlMUW+K460zI/l8UESWRSWAXK9/WPSXGxfcoCEjvAA==", "dependencies": { - "@react-types/shared": "^3.24.1" + "@react-types/shared": "^3.25.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/dialog": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.12.tgz", - "integrity": "sha512-JmpQbSpXltqEyYfEwoqDolABIiojeExkqolHNdQlayIsfFuSxZxNwXZPOpz58Ri/iwv21JP7K3QF0Gb2Ohxl9w==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.13.tgz", + "integrity": "sha512-9k8daVcAqQsySkzDY6NIVlyGxtpEip4TKuLyzAehthbv78GQardD5fHdjQ6eXPRS4I2qZrmytrFFrlOnwWVGHw==", "dependencies": { - "@react-types/overlays": "^3.8.9", - "@react-types/shared": "^3.24.1" + "@react-types/overlays": "^3.8.10", + "@react-types/shared": "^3.25.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/overlays": { - "version": "3.8.9", - "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.9.tgz", - "integrity": "sha512-9ni9upQgXPnR+K9cWmbYWvm3ll9gH8P/XsEZprqIV5zNLMF334jADK48h4jafb1X9RFnj0WbHo6BqcSObzjTig==", + "version": "3.8.10", + "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.10.tgz", + "integrity": "sha512-IcnB+VYfAJazRjWhBKZTmVMh3KTp/B1rRbcKkPx6t8djP9UQhKcohP7lAALxjJ56Jjz/GFC6rWyUcnYH0NFVRA==", "dependencies": { - "@react-types/shared": "^3.24.1" + "@react-types/shared": "^3.25.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, "node_modules/@react-types/shared": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.24.1.tgz", - "integrity": "sha512-AUQeGYEm/zDTN6zLzdXolDxz3Jk5dDL7f506F07U8tBwxNNI3WRdhU84G0/AaFikOZzDXhOZDr3MhQMzyE7Ydw==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.25.0.tgz", + "integrity": "sha512-OZSyhzU6vTdW3eV/mz5i6hQwQUhkRs7xwY2d1aqPvTdMe0+2cY7Fwp45PAiwYLEj73i9ro2FxF9qC4DvHGSCgQ==", "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" } }, + "node_modules/@remix-run/router": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz", + "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -5519,9 +5430,9 @@ } }, "node_modules/@types/jquery": { - "version": "3.5.30", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.30.tgz", - "integrity": "sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==", + "version": "3.5.31", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.31.tgz", + "integrity": "sha512-rf/iB+cPJ/YZfMwr+FVuQbm7IaWC4y3FVYfVDxRGqmUCFjjPII0HWaP0vTPJGp6m4o13AXySCcMbWfrWtBFAKw==", "dependencies": { "@types/sizzle": "*" } @@ -5552,9 +5463,9 @@ "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.17.7", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz", - "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==" }, "node_modules/@types/node": { "version": "20.12.4", @@ -6626,8 +6537,9 @@ } }, "node_modules/attr-accept": { - "version": "2.2.2", - "license": "MIT", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", + "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", "engines": { "node": ">=4" } @@ -10361,7 +10273,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", - "license": "MIT", "dependencies": { "tslib": "^2.4.0" }, @@ -10369,10 +10280,6 @@ "node": ">= 12" } }, - "node_modules/file-selector/node_modules/tslib": { - "version": "2.6.2", - "license": "0BSD" - }, "node_modules/fill-range": { "version": "7.0.1", "dev": true, @@ -10411,8 +10318,7 @@ "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "license": "MIT" + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "node_modules/find-up": { "version": "5.0.0", @@ -11663,14 +11569,14 @@ } }, "node_modules/intl-messageformat": { - "version": "10.5.14", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz", - "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==", + "version": "10.7.6", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.6.tgz", + "integrity": "sha512-IsMU/hqyy3FJwNJ0hxDfY2heJ7MteSuFvcnCebxRp67di4Fhx1gKKE+qS0bBwUF8yXkX9SsPUhLeX/B6h5SKUA==", "dependencies": { - "@formatjs/ecma402-abstract": "2.0.0", - "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.7.8", - "tslib": "^2.4.0" + "@formatjs/ecma402-abstract": "2.2.3", + "@formatjs/fast-memoize": "2.2.3", + "@formatjs/icu-messageformat-parser": "2.9.3", + "tslib": "2" } }, "node_modules/invariant": { @@ -13914,20 +13820,6 @@ "node": ">=4" } }, - "node_modules/mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -14188,9 +14080,9 @@ } }, "node_modules/moment-timezone": { - "version": "0.5.45", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", - "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", + "version": "0.5.46", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.46.tgz", + "integrity": "sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==", "dependencies": { "moment": "^2.29.4" }, @@ -15552,15 +15444,15 @@ } }, "node_modules/rc-cascader": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.27.0.tgz", - "integrity": "sha512-z5uq8VvQadFUBiuZJ7YF5UAUGNkZtdEtcEYiIA94N/Kc2MIKr6lEbN5HyVddvYSgwWlKqnL6pH5bFXFuIK3MNg==", + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.28.1.tgz", + "integrity": "sha512-9+8oHIMWVLHxuaapDiqFNmD9KSyKN/P4bo9x/MBuDbyTqP8f2/POmmZxdXWBO3yq/uE3pKyQCXYNUxrNfHRv2A==", "dependencies": { "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.3.1", "rc-select": "~14.15.0", - "rc-tree": "~5.8.1", + "rc-tree": "~5.9.0", "rc-util": "^5.37.0" }, "peerDependencies": { @@ -15650,9 +15542,9 @@ } }, "node_modules/rc-slider": { - "version": "10.6.2", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.6.2.tgz", - "integrity": "sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw==", + "version": "11.1.7", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-11.1.7.tgz", + "integrity": "sha512-ytYbZei81TX7otdC0QvoYD72XSlxvTihNth5OeZ6PMXyEDq/vHdWFulQmfDGyXK1NwKwSlKgpvINOa88uT5g2A==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -15680,9 +15572,9 @@ } }, "node_modules/rc-tooltip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.0.tgz", - "integrity": "sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.1.tgz", + "integrity": "sha512-rws0duD/3sHHsD905Nex7FvoUGy2UBQRhTkKxeEvr2FB+r21HsOxcDJI0TzyO8NHhnAA8ILr8pfbSBg5Jj5KBg==", "dependencies": { "@babel/runtime": "^7.11.2", "@rc-component/trigger": "^2.0.0", @@ -15694,9 +15586,9 @@ } }, "node_modules/rc-tree": { - "version": "5.8.8", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.8.tgz", - "integrity": "sha512-S+mCMWo91m5AJqjz3PdzKilGgbFm7fFJRFiTDOcoRbD7UfMOPnerXwMworiga0O2XIo383UoWuEfeHs1WOltag==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.9.0.tgz", + "integrity": "sha512-CPrgOvm9d/9E+izTONKSngNzQdIEjMox2PBufWjS1wf7vxtvmCWzK1SlpHbRY6IaBfJIeZ+88RkcIevf729cRg==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -15758,9 +15650,9 @@ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/rc-virtual-list": { - "version": "3.14.5", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.5.tgz", - "integrity": "sha512-ZMOnkCLv2wUN8Jz7yI4XiSLa9THlYvf00LuMhb1JlsQCewuU7ydPuHw1rGVPhe9VZYl/5UqODtNd7QKJ2DMGfg==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.15.0.tgz", + "integrity": "sha512-dF2YQztqrU3ijAeWOqscTshCEr7vpimzSqAVjO1AyAmaqcHulaXpnGR0ptK5PXfxTUy48VkJOiglMIxlkYGs0w==", "dependencies": { "@babel/runtime": "^7.20.0", "classnames": "^2.2.6", @@ -15788,23 +15680,22 @@ } }, "node_modules/react-calendar": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/react-calendar/-/react-calendar-4.8.0.tgz", - "integrity": "sha512-qFgwo+p58sgv1QYMI1oGNaop90eJVKuHTZ3ZgBfrrpUb+9cAexxsKat0sAszgsizPMVo7vOXedV7Lqa0GQGMvA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/react-calendar/-/react-calendar-5.0.0.tgz", + "integrity": "sha512-bHcE5e5f+VUKLd4R19BGkcSQLpuwjKBVG0fKz74cwPW5xDfNsReHdDbfd4z3mdjuUuZzVtw4Q920mkwK5/ZOEg==", "dependencies": { "@wojtekmaj/date-utils": "^1.1.3", "clsx": "^2.0.0", "get-user-locale": "^2.2.1", - "prop-types": "^15.6.0", "warning": "^4.0.0" }, "funding": { "url": "https://github.com/wojtekmaj/react-calendar?sponsor=1" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -15873,10 +15764,9 @@ } }, "node_modules/react-dropzone": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", - "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", - "license": "MIT", + "version": "14.2.9", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.9.tgz", + "integrity": "sha512-jRZsMC7h48WONsOLHcmhyn3cRWJoIPQjPApvt/sJVfnYaB3Qltn025AoRTTJaj4WdmmgmLl6tUQg1s0wOhpodQ==", "dependencies": { "attr-accept": "^2.2.2", "file-selector": "^0.6.0", @@ -16030,24 +15920,17 @@ } }, "node_modules/react-router": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.3.tgz", - "integrity": "sha512-mzQGUvS3bM84TnbtMYR8ZjKnuPJ71IjSzR+DE6UkUqvN4czWIqEs17yLL8xkAycv4ev0AiN+IGrWu88vJs/p2w==", - "license": "MIT", + "version": "6.28.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz", + "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" + "@remix-run/router": "1.21.0" + }, + "engines": { + "node": ">=14.0.0" }, "peerDependencies": { - "react": ">=15" + "react": ">=16.8" } }, "node_modules/react-router-dom": { @@ -16068,6 +15951,32 @@ "react": ">=15" } }, + "node_modules/react-router-dom-v5-compat": { + "version": "6.28.0", + "resolved": "https://registry.npmjs.org/react-router-dom-v5-compat/-/react-router-dom-v5-compat-6.28.0.tgz", + "integrity": "sha512-KrTxsn2vibvoTeGstcBMEuchuT+BxXGftfa7njf1vNSlzO8t+4Y5oN2h3WeAq2rK7MyA5mFUXrE/+lMOR0ay9Q==", + "dependencies": { + "@remix-run/router": "1.21.0", + "history": "^5.3.0", + "react-router": "6.28.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8", + "react-router-dom": "4 || 5" + } + }, + "node_modules/react-router-dom-v5-compat/node_modules/history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "dependencies": { + "@babel/runtime": "^7.7.6" + } + }, "node_modules/react-router-dom/node_modules/react-router": { "version": "5.3.4", "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", @@ -16089,9 +15998,9 @@ } }, "node_modules/react-select": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.8.0.tgz", - "integrity": "sha512-TfjLDo58XrhP6VG5M/Mi56Us0Yt8X7xD6cDybC7yoRMUNm7BGO7qk8J0TLQOua/prb8vUOtsfnXZwfm30HGsAA==", + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.8.1.tgz", + "integrity": "sha512-RT1CJmuc+ejqm5MPgzyZujqDskdvB9a9ZqrdnVLsvAHjJ3Tj0hELnLeVPQlmYdVKCdCpxanepl6z7R5KhXhWzg==", "dependencies": { "@babel/runtime": "^7.12.0", "@emotion/cache": "^11.4.0", @@ -17779,8 +17688,7 @@ "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", - "license": "MIT" + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" }, "node_modules/supports-color": { "version": "8.1.1", @@ -18476,7 +18384,6 @@ "version": "5.5.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -18635,9 +18542,9 @@ } }, "node_modules/uplot": { - "version": "1.6.30", - "resolved": "https://registry.npmjs.org/uplot/-/uplot-1.6.30.tgz", - "integrity": "sha512-48oVVRALM/128ttW19F2a2xobc2WfGdJ0VJFX00099CfqbCTuML7L2OrTKxNzeFP34eo1+yJbqFSoFAp2u28/Q==" + "version": "1.6.31", + "resolved": "https://registry.npmjs.org/uplot/-/uplot-1.6.31.tgz", + "integrity": "sha512-sQZqSwVCbJGnFB4IQjQYopzj5CoTZJ4Br1fG/xdONimqgHmsacvCjNesdGDypNKFbrhLGIeshYhy89FxPF+H+w==" }, "node_modules/uri-js": { "version": "4.4.1", @@ -18823,7 +18730,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" } diff --git a/package.json b/package.json index cc797de..6aecbaf 100644 --- a/package.json +++ b/package.json @@ -72,10 +72,10 @@ }, "dependencies": { "@emotion/css": "^11.10.6", - "@grafana/data": "^11.2.0", - "@grafana/runtime": "^11.2.0", + "@grafana/data": "^11.3.0", + "@grafana/runtime": "^11.3.0", "@grafana/scenes": "^5.14.7", - "@grafana/ui": "11.2.0", + "@grafana/ui": "11.3.0", "react": "18.2.0", "react-dom": "18.2.0", "react-loading-skeleton": "3.4.0", From f4cd84abddfa2c8398fedf82b970800d29f16e36 Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Mon, 11 Nov 2024 15:03:59 +0100 Subject: [PATCH 10/12] Use compatRoute --- src/components/Routes/Routes.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/Routes/Routes.tsx b/src/components/Routes/Routes.tsx index b378582..9c4fcff 100644 --- a/src/components/Routes/Routes.tsx +++ b/src/components/Routes/Routes.tsx @@ -1,12 +1,13 @@ import React from 'react'; -import { Redirect, Route, Switch } from 'react-router-dom'; +import { Redirect, Switch } from 'react-router-dom'; +import { CompatRoute } from 'react-router-dom-v5-compat'; import { TraceExplorationPage } from '../../pages/Explore'; import { PLUGIN_BASE_URL, ROUTES } from 'utils/shared'; export const Routes = () => { return ( - + ); From 11228dd47ee016e3e830880518d0063bc8144747 Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Mon, 11 Nov 2024 16:12:54 +0100 Subject: [PATCH 11/12] Update router stuff --- package-lock.json | 1 + package.json | 1 + src/components/Routes/Routes.tsx | 18 ++++++------------ src/utils/shared.ts | 2 -- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index affb1c2..0b11eca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "react-dom": "18.2.0", "react-loading-skeleton": "3.4.0", "react-router-dom": "^5.2.0", + "react-router-dom-v5-compat": "^6.28.0", "rxjs": "7.8.0", "tslib": "2.5.3", "zod": "^3.23.8" diff --git a/package.json b/package.json index 6aecbaf..356b174 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,7 @@ "react-dom": "18.2.0", "react-loading-skeleton": "3.4.0", "react-router-dom": "^5.2.0", + "react-router-dom-v5-compat": "^6.28.0", "rxjs": "7.8.0", "tslib": "2.5.3", "zod": "^3.23.8" diff --git a/src/components/Routes/Routes.tsx b/src/components/Routes/Routes.tsx index 9c4fcff..a6da58b 100644 --- a/src/components/Routes/Routes.tsx +++ b/src/components/Routes/Routes.tsx @@ -1,19 +1,13 @@ import React from 'react'; -import { Redirect, Switch } from 'react-router-dom'; -import { CompatRoute } from 'react-router-dom-v5-compat'; +import { Route, Routes as ReactRoutes, Navigate } from 'react-router-dom-v5-compat'; import { TraceExplorationPage } from '../../pages/Explore'; -import { PLUGIN_BASE_URL, ROUTES } from 'utils/shared'; +import { ROUTES } from 'utils/shared'; export const Routes = () => { return ( - - - - + + } /> + } /> + ); }; - -// Prefixes the route with the base URL of the plugin -function prefixRoute(route: string): string { - return `${PLUGIN_BASE_URL}/${route}`; -} diff --git a/src/utils/shared.ts b/src/utils/shared.ts index f0336ac..1aa258a 100644 --- a/src/utils/shared.ts +++ b/src/utils/shared.ts @@ -1,5 +1,4 @@ import { BusEventWithPayload, DataFrame } from '@grafana/data'; -import pluginJson from '../plugin.json'; export type MetricFunction = 'rate' | 'errors' | 'duration'; @@ -7,7 +6,6 @@ export enum ROUTES { Explore = 'explore', } -export const PLUGIN_BASE_URL = `/a/${pluginJson.id}`; export const EXPLORATIONS_ROUTE = '/a/grafana-exploretraces-app/explore'; export const DATASOURCE_LS_KEY = 'grafana.explore.traces.datasource'; From 78aac1a13ecc954eb79640e5afdf7daccf64e6b9 Mon Sep 17 00:00:00 2001 From: Andrej Ocenas Date: Tue, 12 Nov 2024 11:21:38 +0100 Subject: [PATCH 12/12] Update grafanaDependency --- src/plugin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugin.json b/src/plugin.json index 84b88ef..322785d 100644 --- a/src/plugin.json +++ b/src/plugin.json @@ -53,7 +53,7 @@ } ], "dependencies": { - "grafanaDependency": ">=11.2.0", + "grafanaDependency": ">=11.3.0", "plugins": [] }, "extensions": {