@perses-dev/explore 0.55.0-beta.2 → 0.55.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,11 +22,11 @@ Object.defineProperty(exports, "ExploreManager", {
22
22
  });
23
23
  const _jsxruntime = require("react/jsx-runtime");
24
24
  const _material = require("@mui/material");
25
+ const _components = require("@perses-dev/components");
25
26
  const _pluginsystem = require("@perses-dev/plugin-system");
26
- const _react = require("react");
27
- const _ChevronRight = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/ChevronRight"));
28
27
  const _ChevronLeft = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/ChevronLeft"));
29
- const _components = require("@perses-dev/components");
28
+ const _ChevronRight = /*#__PURE__*/ _interop_require_default(require("mdi-material-ui/ChevronRight"));
29
+ const _react = require("react");
30
30
  const _ExploreToolbar = require("../ExploreToolbar");
31
31
  const _ExplorerManagerProvider = require("./ExplorerManagerProvider");
32
32
  function _interop_require_default(obj) {
@@ -28,9 +28,9 @@ _export(exports, {
28
28
  return useExplorerQueryParams;
29
29
  }
30
30
  });
31
- const _usequeryparams = require("use-query-params");
32
31
  const _pluginsystem = require("@perses-dev/plugin-system");
33
32
  const _qs = require("qs");
33
+ const _usequeryparams = require("use-query-params");
34
34
  const explorerQueryConfig = {
35
35
  refresh: _pluginsystem.TimeRangeParam,
36
36
  start: _pluginsystem.TimeRangeParam,
@@ -10,11 +10,17 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- // Add testing library assertions
14
13
  "use strict";
15
14
  Object.defineProperty(exports, "__esModule", {
16
15
  value: true
17
16
  });
18
- require("@testing-library/jest-dom/extend-expect");
17
+ const _matchers = /*#__PURE__*/ _interop_require_default(require("@testing-library/jest-dom/matchers"));
18
+ function _interop_require_default(obj) {
19
+ return obj && obj.__esModule ? obj : {
20
+ default: obj
21
+ };
22
+ }
23
+ // Add testing library assertions
24
+ expect.extend(_matchers.default);
19
25
  // Always mock e-charts during tests since we don't have a proper canvas in jsdom
20
- jest.mock('echarts/core');
26
+ vi.mock('echarts/core');
@@ -22,9 +22,9 @@ Object.defineProperty(exports, "ViewExplore", {
22
22
  });
23
23
  const _jsxruntime = require("react/jsx-runtime");
24
24
  const _material = require("@mui/material");
25
- const _pluginsystem = require("@perses-dev/plugin-system");
26
25
  const _components = require("@perses-dev/components");
27
26
  const _dashboards = require("@perses-dev/dashboards");
27
+ const _pluginsystem = require("@perses-dev/plugin-system");
28
28
  const _react = /*#__PURE__*/ _interop_require_default(require("react"));
29
29
  const _ViewExploreApp = require("./ViewExploreApp");
30
30
  function _interop_require_default(obj) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExploreManager.d.ts","sourceRoot":"","sources":["../../../src/components/ExploreManager/ExploreManager.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAsB,MAAM,OAAO,CAAC;AASpE,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAiGvE"}
1
+ {"version":3,"file":"ExploreManager.d.ts","sourceRoot":"","sources":["../../../src/components/ExploreManager/ExploreManager.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAsB,MAAM,OAAO,CAAC;AAOpE,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAiGvE"}
@@ -12,11 +12,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  import { Box, Button, Card, Stack, Tab, Tabs, useMediaQuery } from '@mui/material';
15
+ import { useLocalStorage } from '@perses-dev/components';
15
16
  import { PluginLoaderComponent, useListPluginMetadata } from '@perses-dev/plugin-system';
16
- import { useEffect, useMemo } from 'react';
17
- import ChevronRight from 'mdi-material-ui/ChevronRight';
18
17
  import ChevronLeft from 'mdi-material-ui/ChevronLeft';
19
- import { useLocalStorage } from '@perses-dev/components';
18
+ import ChevronRight from 'mdi-material-ui/ChevronRight';
19
+ import { useEffect, useMemo } from 'react';
20
20
  import { ExploreToolbar } from '../ExploreToolbar';
21
21
  import { useExplorerManagerContext } from './ExplorerManagerProvider';
22
22
  const EXPLORE_TABS_COLLAPSED_KEY = 'PERSES_EXPLORE_TABS_COLLAPSED';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ExploreManager/ExploreManager.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box, Button, Card, Stack, Tab, Tabs, useMediaQuery } from '@mui/material';\nimport { PluginLoaderComponent, useListPluginMetadata } from '@perses-dev/plugin-system';\nimport { ReactElement, ReactNode, useEffect, useMemo } from 'react';\nimport ChevronRight from 'mdi-material-ui/ChevronRight';\nimport ChevronLeft from 'mdi-material-ui/ChevronLeft';\nimport { useLocalStorage } from '@perses-dev/components';\nimport { ExploreToolbar } from '../ExploreToolbar';\nimport { useExplorerManagerContext } from './ExplorerManagerProvider';\n\nconst EXPLORE_TABS_COLLAPSED_KEY = 'PERSES_EXPLORE_TABS_COLLAPSED';\n\nexport interface ExploreManagerProps {\n exploreTitleComponent?: ReactNode;\n}\n\nexport function ExploreManager(props: ExploreManagerProps): ReactElement {\n const { exploreTitleComponent } = props;\n const { explorer, setExplorer } = useExplorerManagerContext();\n\n const plugins = useListPluginMetadata(['Explore']);\n\n const isSmallScreen = useMediaQuery('(max-width: 768px)');\n const [isCollapsed, setIsCollapsed] = useLocalStorage<boolean>(EXPLORE_TABS_COLLAPSED_KEY, false);\n\n const explorerPluginsMap = useMemo(\n () =>\n Object.fromEntries(plugins.data?.map((plugin) => [`${plugin.module.name}-${plugin.spec.name}`, plugin]) ?? []),\n [plugins.data]\n );\n\n useEffect(() => {\n const plugins = Object.keys(explorerPluginsMap);\n if (!explorer && plugins?.[0]) {\n setExplorer(plugins[0]);\n }\n }, [explorerPluginsMap, explorer, setExplorer]);\n\n const currentPlugin = explorer ? explorerPluginsMap[explorer] : undefined;\n\n if (!explorer) {\n return <div>No explorer plugin available</div>;\n }\n\n return (\n <Stack sx={{ width: '100%' }} px={2} pb={2} pt={1.5} gap={1}>\n <ExploreToolbar exploreTitleComponent={exploreTitleComponent} />\n\n <Stack direction={isSmallScreen ? 'column' : 'row'} gap={2} sx={{ width: '100%' }}>\n <Stack\n sx={{\n borderRight: isSmallScreen ? 0 : 1,\n borderBottom: isSmallScreen ? 1 : 0,\n borderColor: 'divider',\n minWidth: isCollapsed ? 15 : 100,\n }}\n >\n <Box sx={{ position: 'relative', height: 30, display: isSmallScreen ? 'none' : undefined }} test-id=\"qdqwd\">\n <Button\n title={isCollapsed ? 'Expand explorer tabs' : 'Collapse explorer tabs'}\n aria-label={isCollapsed ? 'Expand explorer tabs' : 'Collapse explorer tabs'}\n variant=\"text\"\n sx={{\n position: 'absolute',\n right: -15,\n zIndex: 1,\n padding: 0.5,\n minWidth: 'auto',\n backgroundColor: (theme) => theme.palette.background.default,\n }}\n onClick={() => setIsCollapsed(!isCollapsed)}\n >\n {isCollapsed ? <ChevronRight /> : <ChevronLeft />}\n </Button>\n </Box>\n\n <Tabs\n orientation={isSmallScreen ? 'horizontal' : 'vertical'}\n value={explorer}\n onChange={(_, state) => setExplorer(state)}\n variant={isSmallScreen ? 'fullWidth' : 'scrollable'}\n sx={{\n display: isCollapsed ? 'none' : 'flex',\n }}\n >\n {plugins.data\n ?.sort((a, b) => a.spec.display.name.localeCompare(b.spec.display.name))\n .map((plugin) => (\n <Tab\n key={`${plugin.module.name}-${plugin.spec.name}`}\n value={`${plugin.module.name}-${plugin.spec.name}`}\n label={plugin.spec.display.name}\n sx={{\n padding: 0.5,\n }}\n />\n ))}\n </Tabs>\n </Stack>\n <Card sx={{ padding: '10px', width: '100%' }}>\n {currentPlugin && (\n <PluginLoaderComponent\n key={`${currentPlugin.module.name}-${currentPlugin.spec.name}`}\n plugin={{\n name: currentPlugin.spec.name,\n moduleName: currentPlugin.module.name,\n }}\n />\n )}\n </Card>\n </Stack>\n </Stack>\n );\n}\n"],"names":["Box","Button","Card","Stack","Tab","Tabs","useMediaQuery","PluginLoaderComponent","useListPluginMetadata","useEffect","useMemo","ChevronRight","ChevronLeft","useLocalStorage","ExploreToolbar","useExplorerManagerContext","EXPLORE_TABS_COLLAPSED_KEY","ExploreManager","props","exploreTitleComponent","explorer","setExplorer","plugins","isSmallScreen","isCollapsed","setIsCollapsed","explorerPluginsMap","Object","fromEntries","data","map","plugin","module","name","spec","keys","currentPlugin","undefined","div","sx","width","px","pb","pt","gap","direction","borderRight","borderBottom","borderColor","minWidth","position","height","display","test-id","title","aria-label","variant","right","zIndex","padding","backgroundColor","theme","palette","background","default","onClick","orientation","value","onChange","_","state","sort","a","b","localeCompare","label","moduleName"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/components/ExploreManager/ExploreManager.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box, Button, Card, Stack, Tab, Tabs, useMediaQuery } from '@mui/material';\nimport { useLocalStorage } from '@perses-dev/components';\nimport { PluginLoaderComponent, useListPluginMetadata } from '@perses-dev/plugin-system';\nimport ChevronLeft from 'mdi-material-ui/ChevronLeft';\nimport ChevronRight from 'mdi-material-ui/ChevronRight';\nimport { ReactElement, ReactNode, useEffect, useMemo } from 'react';\n\nimport { ExploreToolbar } from '../ExploreToolbar';\nimport { useExplorerManagerContext } from './ExplorerManagerProvider';\n\nconst EXPLORE_TABS_COLLAPSED_KEY = 'PERSES_EXPLORE_TABS_COLLAPSED';\n\nexport interface ExploreManagerProps {\n exploreTitleComponent?: ReactNode;\n}\n\nexport function ExploreManager(props: ExploreManagerProps): ReactElement {\n const { exploreTitleComponent } = props;\n const { explorer, setExplorer } = useExplorerManagerContext();\n\n const plugins = useListPluginMetadata(['Explore']);\n\n const isSmallScreen = useMediaQuery('(max-width: 768px)');\n const [isCollapsed, setIsCollapsed] = useLocalStorage<boolean>(EXPLORE_TABS_COLLAPSED_KEY, false);\n\n const explorerPluginsMap = useMemo(\n () =>\n Object.fromEntries(plugins.data?.map((plugin) => [`${plugin.module.name}-${plugin.spec.name}`, plugin]) ?? []),\n [plugins.data],\n );\n\n useEffect(() => {\n const plugins = Object.keys(explorerPluginsMap);\n if (!explorer && plugins?.[0]) {\n setExplorer(plugins[0]);\n }\n }, [explorerPluginsMap, explorer, setExplorer]);\n\n const currentPlugin = explorer ? explorerPluginsMap[explorer] : undefined;\n\n if (!explorer) {\n return <div>No explorer plugin available</div>;\n }\n\n return (\n <Stack sx={{ width: '100%' }} px={2} pb={2} pt={1.5} gap={1}>\n <ExploreToolbar exploreTitleComponent={exploreTitleComponent} />\n\n <Stack direction={isSmallScreen ? 'column' : 'row'} gap={2} sx={{ width: '100%' }}>\n <Stack\n sx={{\n borderRight: isSmallScreen ? 0 : 1,\n borderBottom: isSmallScreen ? 1 : 0,\n borderColor: 'divider',\n minWidth: isCollapsed ? 15 : 100,\n }}\n >\n <Box sx={{ position: 'relative', height: 30, display: isSmallScreen ? 'none' : undefined }} test-id=\"qdqwd\">\n <Button\n title={isCollapsed ? 'Expand explorer tabs' : 'Collapse explorer tabs'}\n aria-label={isCollapsed ? 'Expand explorer tabs' : 'Collapse explorer tabs'}\n variant=\"text\"\n sx={{\n position: 'absolute',\n right: -15,\n zIndex: 1,\n padding: 0.5,\n minWidth: 'auto',\n backgroundColor: (theme) => theme.palette.background.default,\n }}\n onClick={() => setIsCollapsed(!isCollapsed)}\n >\n {isCollapsed ? <ChevronRight /> : <ChevronLeft />}\n </Button>\n </Box>\n\n <Tabs\n orientation={isSmallScreen ? 'horizontal' : 'vertical'}\n value={explorer}\n onChange={(_, state) => setExplorer(state)}\n variant={isSmallScreen ? 'fullWidth' : 'scrollable'}\n sx={{\n display: isCollapsed ? 'none' : 'flex',\n }}\n >\n {plugins.data\n ?.sort((a, b) => a.spec.display.name.localeCompare(b.spec.display.name))\n .map((plugin) => (\n <Tab\n key={`${plugin.module.name}-${plugin.spec.name}`}\n value={`${plugin.module.name}-${plugin.spec.name}`}\n label={plugin.spec.display.name}\n sx={{\n padding: 0.5,\n }}\n />\n ))}\n </Tabs>\n </Stack>\n <Card sx={{ padding: '10px', width: '100%' }}>\n {currentPlugin && (\n <PluginLoaderComponent\n key={`${currentPlugin.module.name}-${currentPlugin.spec.name}`}\n plugin={{\n name: currentPlugin.spec.name,\n moduleName: currentPlugin.module.name,\n }}\n />\n )}\n </Card>\n </Stack>\n </Stack>\n );\n}\n"],"names":["Box","Button","Card","Stack","Tab","Tabs","useMediaQuery","useLocalStorage","PluginLoaderComponent","useListPluginMetadata","ChevronLeft","ChevronRight","useEffect","useMemo","ExploreToolbar","useExplorerManagerContext","EXPLORE_TABS_COLLAPSED_KEY","ExploreManager","props","exploreTitleComponent","explorer","setExplorer","plugins","isSmallScreen","isCollapsed","setIsCollapsed","explorerPluginsMap","Object","fromEntries","data","map","plugin","module","name","spec","keys","currentPlugin","undefined","div","sx","width","px","pb","pt","gap","direction","borderRight","borderBottom","borderColor","minWidth","position","height","display","test-id","title","aria-label","variant","right","zIndex","padding","backgroundColor","theme","palette","background","default","onClick","orientation","value","onChange","_","state","sort","a","b","localeCompare","label","moduleName"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExplorerManagerProviderWithQueryParams.d.ts","sourceRoot":"","sources":["../../../src/components/ExploreManager/ExplorerManagerProviderWithQueryParams.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAShD,UAAU,2CAA2C;IACnD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,sCAAsC,CAAC,EACrD,QAAQ,GACT,EAAE,2CAA2C,GAAG,YAAY,CAI5D"}
1
+ {"version":3,"file":"ExplorerManagerProviderWithQueryParams.d.ts","sourceRoot":"","sources":["../../../src/components/ExploreManager/ExplorerManagerProviderWithQueryParams.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUhD,UAAU,2CAA2C;IACnD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,sCAAsC,CAAC,EACrD,QAAQ,GACT,EAAE,2CAA2C,GAAG,YAAY,CAI5D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ExploreManager/ExplorerManagerProviderWithQueryParams.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { ReactElement, ReactNode } from 'react';\nimport { JsonParam, StringParam, useQueryParams, withDefault } from 'use-query-params';\nimport { ExplorerManagerProvider } from './ExplorerManagerProvider';\n\nconst exploreQueryConfig = {\n explorer: withDefault(StringParam, undefined),\n data: withDefault(JsonParam, {}),\n};\n\ninterface ExplorerManagerProviderWithQueryParamsProps {\n children: ReactNode;\n}\n\nexport function ExplorerManagerProviderWithQueryParams({\n children,\n}: ExplorerManagerProviderWithQueryParamsProps): ReactElement {\n const [queryParams, setQueryParams] = useQueryParams(exploreQueryConfig);\n\n return <ExplorerManagerProvider store={[queryParams, setQueryParams]}>{children}</ExplorerManagerProvider>;\n}\n"],"names":["JsonParam","StringParam","useQueryParams","withDefault","ExplorerManagerProvider","exploreQueryConfig","explorer","undefined","data","ExplorerManagerProviderWithQueryParams","children","queryParams","setQueryParams","store"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAGjC,SAASA,SAAS,EAAEC,WAAW,EAAEC,cAAc,EAAEC,WAAW,QAAQ,mBAAmB;AACvF,SAASC,uBAAuB,QAAQ,4BAA4B;AAEpE,MAAMC,qBAAqB;IACzBC,UAAUH,YAAYF,aAAaM;IACnCC,MAAML,YAAYH,WAAW,CAAC;AAChC;AAMA,OAAO,SAASS,uCAAuC,EACrDC,QAAQ,EACoC;IAC5C,MAAM,CAACC,aAAaC,eAAe,GAAGV,eAAeG;IAErD,qBAAO,KAACD;QAAwBS,OAAO;YAACF;YAAaC;SAAe;kBAAGF;;AACzE"}
1
+ {"version":3,"sources":["../../../src/components/ExploreManager/ExplorerManagerProviderWithQueryParams.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { ReactElement, ReactNode } from 'react';\nimport { JsonParam, StringParam, useQueryParams, withDefault } from 'use-query-params';\n\nimport { ExplorerManagerProvider } from './ExplorerManagerProvider';\n\nconst exploreQueryConfig = {\n explorer: withDefault(StringParam, undefined),\n data: withDefault(JsonParam, {}),\n};\n\ninterface ExplorerManagerProviderWithQueryParamsProps {\n children: ReactNode;\n}\n\nexport function ExplorerManagerProviderWithQueryParams({\n children,\n}: ExplorerManagerProviderWithQueryParamsProps): ReactElement {\n const [queryParams, setQueryParams] = useQueryParams(exploreQueryConfig);\n\n return <ExplorerManagerProvider store={[queryParams, setQueryParams]}>{children}</ExplorerManagerProvider>;\n}\n"],"names":["JsonParam","StringParam","useQueryParams","withDefault","ExplorerManagerProvider","exploreQueryConfig","explorer","undefined","data","ExplorerManagerProviderWithQueryParams","children","queryParams","setQueryParams","store"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;AAGjC,SAASA,SAAS,EAAEC,WAAW,EAAEC,cAAc,EAAEC,WAAW,QAAQ,mBAAmB;AAEvF,SAASC,uBAAuB,QAAQ,4BAA4B;AAEpE,MAAMC,qBAAqB;IACzBC,UAAUH,YAAYF,aAAaM;IACnCC,MAAML,YAAYH,WAAW,CAAC;AAChC;AAMA,OAAO,SAASS,uCAAuC,EACrDC,QAAQ,EACoC;IAC5C,MAAM,CAACC,aAAaC,eAAe,GAAGV,eAAeG;IAErD,qBAAO,KAACD;QAAwBS,OAAO;YAACF;YAAaC;SAAe;kBAAGF;;AACzE"}
@@ -10,9 +10,9 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- import { encodeQueryParams, JsonParam, StringParam, useQueryParams } from 'use-query-params';
14
13
  import { TimeRangeParam } from '@perses-dev/plugin-system';
15
14
  import { stringify } from 'qs';
15
+ import { encodeQueryParams, JsonParam, StringParam, useQueryParams } from 'use-query-params';
16
16
  export const explorerQueryConfig = {
17
17
  refresh: TimeRangeParam,
18
18
  start: TimeRangeParam,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ExploreManager/query-params.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { encodeQueryParams, JsonParam, StringParam, useQueryParams } from 'use-query-params';\nimport { TimeRangeParam } from '@perses-dev/plugin-system';\nimport { stringify } from 'qs';\n\nexport const explorerQueryConfig = {\n refresh: TimeRangeParam,\n start: TimeRangeParam,\n end: TimeRangeParam,\n explorer: StringParam,\n data: JsonParam,\n};\n\ninterface ExplorerQueryData {\n refresh?: Date;\n start?: Date;\n end?: Date;\n explorer?: string;\n data?: Record<string, unknown>;\n}\n\n// Provide a query string for the explorer page using the given inputs, but also including any existing query params\nexport function useExplorerQueryParams(inputs: ExplorerQueryData): string {\n const [query] = useQueryParams(explorerQueryConfig, { updateType: 'replaceIn' });\n return stringify(encodeQueryParams(explorerQueryConfig, { ...query, ...inputs }));\n}\n"],"names":["encodeQueryParams","JsonParam","StringParam","useQueryParams","TimeRangeParam","stringify","explorerQueryConfig","refresh","start","end","explorer","data","useExplorerQueryParams","inputs","query","updateType"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,iBAAiB,EAAEC,SAAS,EAAEC,WAAW,EAAEC,cAAc,QAAQ,mBAAmB;AAC7F,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,SAAS,QAAQ,KAAK;AAE/B,OAAO,MAAMC,sBAAsB;IACjCC,SAASH;IACTI,OAAOJ;IACPK,KAAKL;IACLM,UAAUR;IACVS,MAAMV;AACR,EAAE;AAUF,oHAAoH;AACpH,OAAO,SAASW,uBAAuBC,MAAyB;IAC9D,MAAM,CAACC,MAAM,GAAGX,eAAeG,qBAAqB;QAAES,YAAY;IAAY;IAC9E,OAAOV,UAAUL,kBAAkBM,qBAAqB;QAAE,GAAGQ,KAAK;QAAE,GAAGD,MAAM;IAAC;AAChF"}
1
+ {"version":3,"sources":["../../../src/components/ExploreManager/query-params.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { TimeRangeParam } from '@perses-dev/plugin-system';\nimport { stringify } from 'qs';\nimport { encodeQueryParams, JsonParam, StringParam, useQueryParams } from 'use-query-params';\n\nexport const explorerQueryConfig = {\n refresh: TimeRangeParam,\n start: TimeRangeParam,\n end: TimeRangeParam,\n explorer: StringParam,\n data: JsonParam,\n};\n\ninterface ExplorerQueryData {\n refresh?: Date;\n start?: Date;\n end?: Date;\n explorer?: string;\n data?: Record<string, unknown>;\n}\n\n// Provide a query string for the explorer page using the given inputs, but also including any existing query params\nexport function useExplorerQueryParams(inputs: ExplorerQueryData): string {\n const [query] = useQueryParams(explorerQueryConfig, { updateType: 'replaceIn' });\n return stringify(encodeQueryParams(explorerQueryConfig, { ...query, ...inputs }));\n}\n"],"names":["TimeRangeParam","stringify","encodeQueryParams","JsonParam","StringParam","useQueryParams","explorerQueryConfig","refresh","start","end","explorer","data","useExplorerQueryParams","inputs","query","updateType"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,SAAS,QAAQ,KAAK;AAC/B,SAASC,iBAAiB,EAAEC,SAAS,EAAEC,WAAW,EAAEC,cAAc,QAAQ,mBAAmB;AAE7F,OAAO,MAAMC,sBAAsB;IACjCC,SAASP;IACTQ,OAAOR;IACPS,KAAKT;IACLU,UAAUN;IACVO,MAAMR;AACR,EAAE;AAUF,oHAAoH;AACpH,OAAO,SAASS,uBAAuBC,MAAyB;IAC9D,MAAM,CAACC,MAAM,GAAGT,eAAeC,qBAAqB;QAAES,YAAY;IAAY;IAC9E,OAAOd,UAAUC,kBAAkBI,qBAAqB;QAAE,GAAGQ,KAAK;QAAE,GAAGD,MAAM;IAAC;AAChF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExploreToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/ExploreToolbar/ExploreToolbar.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzC;AAED,eAAO,MAAM,cAAc,UAAW,mBAAmB,KAAG,YAwB3D,CAAC"}
1
+ {"version":3,"file":"ExploreToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/ExploreToolbar/ExploreToolbar.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzC;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,KAAG,YAwB3D,CAAC"}
@@ -1,2 +1,2 @@
1
- import '@testing-library/jest-dom/extend-expect';
1
+ export {};
2
2
  //# sourceMappingURL=setup-tests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-tests.d.ts","sourceRoot":"","sources":["../../src/test/setup-tests.ts"],"names":[],"mappings":"AAcA,OAAO,yCAAyC,CAAC"}
1
+ {"version":3,"file":"setup-tests.d.ts","sourceRoot":"","sources":["../../src/test/setup-tests.ts"],"names":[],"mappings":""}
@@ -10,9 +10,10 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
+ import matchers from '@testing-library/jest-dom/matchers';
13
14
  // Add testing library assertions
14
- import '@testing-library/jest-dom/extend-expect';
15
+ expect.extend(matchers);
15
16
  // Always mock e-charts during tests since we don't have a proper canvas in jsdom
16
- jest.mock('echarts/core');
17
+ vi.mock('echarts/core');
17
18
 
18
19
  //# sourceMappingURL=setup-tests.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/test/setup-tests.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n// Add testing library assertions\nimport '@testing-library/jest-dom/extend-expect';\n\n// Always mock e-charts during tests since we don't have a proper canvas in jsdom\njest.mock('echarts/core');\n"],"names":["jest","mock"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,iCAAiC;AACjC,OAAO,0CAA0C;AAEjD,iFAAiF;AACjFA,KAAKC,IAAI,CAAC"}
1
+ {"version":3,"sources":["../../src/test/setup-tests.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport matchers from '@testing-library/jest-dom/matchers';\n\n// Add testing library assertions\nexpect.extend(matchers);\n\n// Always mock e-charts during tests since we don't have a proper canvas in jsdom\nvi.mock('echarts/core');\n"],"names":["matchers","expect","extend","vi","mock"],"mappings":"AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAOA,cAAc,qCAAqC;AAE1D,iCAAiC;AACjCC,OAAOC,MAAM,CAACF;AAEd,iFAAiF;AACjFG,GAAGC,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewExplore.d.ts","sourceRoot":"","sources":["../../../src/views/ViewExplore/ViewExplore.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAO,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQ9C,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EAKtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IAClE,aAAa,EAAE,4BAA4B,CAAC,eAAe,CAAC,CAAC;IAC7D,WAAW,CAAC,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IAC1D,2BAA2B,CAAC,EAAE,qBAAqB,CAAC,6BAA6B,CAAC,CAAC;IACnF,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAkCjE"}
1
+ {"version":3,"file":"ViewExplore.d.ts","sourceRoot":"","sources":["../../../src/views/ViewExplore/ViewExplore.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAO,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EAKtB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI5C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IAClE,aAAa,EAAE,4BAA4B,CAAC,eAAe,CAAC,CAAC;IAC7D,WAAW,CAAC,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IAC1D,2BAA2B,CAAC,EAAE,qBAAqB,CAAC,6BAA6B,CAAC,CAAC;IACnF,qBAAqB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAkCjE"}
@@ -12,9 +12,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  import { Box } from '@mui/material';
15
- import { TimeRangeProviderWithQueryParams, useInitialRefreshInterval, useInitialTimeRange } from '@perses-dev/plugin-system';
16
15
  import { ErrorAlert, ErrorBoundary, combineSx } from '@perses-dev/components';
17
16
  import { DatasourceStoreProvider, VariableProvider, DEFAULT_DASHBOARD_DURATION, DEFAULT_REFRESH_INTERVAL } from '@perses-dev/dashboards';
17
+ import { TimeRangeProviderWithQueryParams, useInitialRefreshInterval, useInitialTimeRange } from '@perses-dev/plugin-system';
18
18
  import React from 'react';
19
19
  import { ViewExploreApp } from './ViewExploreApp';
20
20
  export function ViewExplore(props) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/ViewExplore/ViewExplore.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box, BoxProps } from '@mui/material';\nimport {\n TimeRangeProviderWithQueryParams,\n useInitialRefreshInterval,\n useInitialTimeRange,\n} from '@perses-dev/plugin-system';\n\nimport { ErrorAlert, ErrorBoundary, combineSx } from '@perses-dev/components';\nimport {\n DatasourceStoreProviderProps,\n VariableProviderProps,\n DatasourceStoreProvider,\n VariableProvider,\n DEFAULT_DASHBOARD_DURATION,\n DEFAULT_REFRESH_INTERVAL,\n} from '@perses-dev/dashboards';\nimport React, { ReactElement } from 'react';\nimport { ViewExploreApp } from './ViewExploreApp';\n\nexport interface ViewExploreProps extends Omit<BoxProps, 'children'> {\n datasourceApi: DatasourceStoreProviderProps['datasourceApi'];\n projectName?: DatasourceStoreProviderProps['projectName'];\n externalVariableDefinitions?: VariableProviderProps['externalVariableDefinitions'];\n exploreTitleComponent?: React.ReactNode;\n}\n\nexport function ViewExplore(props: ViewExploreProps): ReactElement {\n const { datasourceApi, projectName, externalVariableDefinitions, sx, exploreTitleComponent, ...others } = props;\n\n const initialTimeRange = useInitialTimeRange(DEFAULT_DASHBOARD_DURATION);\n const initialRefreshInterval = useInitialRefreshInterval(DEFAULT_REFRESH_INTERVAL);\n\n return (\n <DatasourceStoreProvider datasourceApi={datasourceApi} projectName={projectName}>\n <TimeRangeProviderWithQueryParams\n initialTimeRange={initialTimeRange}\n initialRefreshInterval={initialRefreshInterval}\n >\n <VariableProvider externalVariableDefinitions={externalVariableDefinitions}>\n <Box\n sx={combineSx(\n {\n display: 'flex',\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n },\n sx\n )}\n {...others}\n >\n <ErrorBoundary FallbackComponent={ErrorAlert}>\n <ViewExploreApp exploreTitleComponent={exploreTitleComponent} />\n </ErrorBoundary>\n </Box>\n </VariableProvider>\n </TimeRangeProviderWithQueryParams>\n </DatasourceStoreProvider>\n );\n}\n"],"names":["Box","TimeRangeProviderWithQueryParams","useInitialRefreshInterval","useInitialTimeRange","ErrorAlert","ErrorBoundary","combineSx","DatasourceStoreProvider","VariableProvider","DEFAULT_DASHBOARD_DURATION","DEFAULT_REFRESH_INTERVAL","React","ViewExploreApp","ViewExplore","props","datasourceApi","projectName","externalVariableDefinitions","sx","exploreTitleComponent","others","initialTimeRange","initialRefreshInterval","display","width","height","position","overflow","FallbackComponent"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,GAAG,QAAkB,gBAAgB;AAC9C,SACEC,gCAAgC,EAChCC,yBAAyB,EACzBC,mBAAmB,QACd,4BAA4B;AAEnC,SAASC,UAAU,EAAEC,aAAa,EAAEC,SAAS,QAAQ,yBAAyB;AAC9E,SAGEC,uBAAuB,EACvBC,gBAAgB,EAChBC,0BAA0B,EAC1BC,wBAAwB,QACnB,yBAAyB;AAChC,OAAOC,WAA6B,QAAQ;AAC5C,SAASC,cAAc,QAAQ,mBAAmB;AASlD,OAAO,SAASC,YAAYC,KAAuB;IACjD,MAAM,EAAEC,aAAa,EAAEC,WAAW,EAAEC,2BAA2B,EAAEC,EAAE,EAAEC,qBAAqB,EAAE,GAAGC,QAAQ,GAAGN;IAE1G,MAAMO,mBAAmBlB,oBAAoBM;IAC7C,MAAMa,yBAAyBpB,0BAA0BQ;IAEzD,qBACE,KAACH;QAAwBQ,eAAeA;QAAeC,aAAaA;kBAClE,cAAA,KAACf;YACCoB,kBAAkBA;YAClBC,wBAAwBA;sBAExB,cAAA,KAACd;gBAAiBS,6BAA6BA;0BAC7C,cAAA,KAACjB;oBACCkB,IAAIZ,UACF;wBACEiB,SAAS;wBACTC,OAAO;wBACPC,QAAQ;wBACRC,UAAU;wBACVC,UAAU;oBACZ,GACAT;oBAED,GAAGE,MAAM;8BAEV,cAAA,KAACf;wBAAcuB,mBAAmBxB;kCAChC,cAAA,KAACQ;4BAAeO,uBAAuBA;;;;;;;AAOrD"}
1
+ {"version":3,"sources":["../../../src/views/ViewExplore/ViewExplore.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box, BoxProps } from '@mui/material';\nimport { ErrorAlert, ErrorBoundary, combineSx } from '@perses-dev/components';\nimport {\n DatasourceStoreProviderProps,\n VariableProviderProps,\n DatasourceStoreProvider,\n VariableProvider,\n DEFAULT_DASHBOARD_DURATION,\n DEFAULT_REFRESH_INTERVAL,\n} from '@perses-dev/dashboards';\nimport {\n TimeRangeProviderWithQueryParams,\n useInitialRefreshInterval,\n useInitialTimeRange,\n} from '@perses-dev/plugin-system';\nimport React, { ReactElement } from 'react';\n\nimport { ViewExploreApp } from './ViewExploreApp';\n\nexport interface ViewExploreProps extends Omit<BoxProps, 'children'> {\n datasourceApi: DatasourceStoreProviderProps['datasourceApi'];\n projectName?: DatasourceStoreProviderProps['projectName'];\n externalVariableDefinitions?: VariableProviderProps['externalVariableDefinitions'];\n exploreTitleComponent?: React.ReactNode;\n}\n\nexport function ViewExplore(props: ViewExploreProps): ReactElement {\n const { datasourceApi, projectName, externalVariableDefinitions, sx, exploreTitleComponent, ...others } = props;\n\n const initialTimeRange = useInitialTimeRange(DEFAULT_DASHBOARD_DURATION);\n const initialRefreshInterval = useInitialRefreshInterval(DEFAULT_REFRESH_INTERVAL);\n\n return (\n <DatasourceStoreProvider datasourceApi={datasourceApi} projectName={projectName}>\n <TimeRangeProviderWithQueryParams\n initialTimeRange={initialTimeRange}\n initialRefreshInterval={initialRefreshInterval}\n >\n <VariableProvider externalVariableDefinitions={externalVariableDefinitions}>\n <Box\n sx={combineSx(\n {\n display: 'flex',\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n },\n sx,\n )}\n {...others}\n >\n <ErrorBoundary FallbackComponent={ErrorAlert}>\n <ViewExploreApp exploreTitleComponent={exploreTitleComponent} />\n </ErrorBoundary>\n </Box>\n </VariableProvider>\n </TimeRangeProviderWithQueryParams>\n </DatasourceStoreProvider>\n );\n}\n"],"names":["Box","ErrorAlert","ErrorBoundary","combineSx","DatasourceStoreProvider","VariableProvider","DEFAULT_DASHBOARD_DURATION","DEFAULT_REFRESH_INTERVAL","TimeRangeProviderWithQueryParams","useInitialRefreshInterval","useInitialTimeRange","React","ViewExploreApp","ViewExplore","props","datasourceApi","projectName","externalVariableDefinitions","sx","exploreTitleComponent","others","initialTimeRange","initialRefreshInterval","display","width","height","position","overflow","FallbackComponent"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,GAAG,QAAkB,gBAAgB;AAC9C,SAASC,UAAU,EAAEC,aAAa,EAAEC,SAAS,QAAQ,yBAAyB;AAC9E,SAGEC,uBAAuB,EACvBC,gBAAgB,EAChBC,0BAA0B,EAC1BC,wBAAwB,QACnB,yBAAyB;AAChC,SACEC,gCAAgC,EAChCC,yBAAyB,EACzBC,mBAAmB,QACd,4BAA4B;AACnC,OAAOC,WAA6B,QAAQ;AAE5C,SAASC,cAAc,QAAQ,mBAAmB;AASlD,OAAO,SAASC,YAAYC,KAAuB;IACjD,MAAM,EAAEC,aAAa,EAAEC,WAAW,EAAEC,2BAA2B,EAAEC,EAAE,EAAEC,qBAAqB,EAAE,GAAGC,QAAQ,GAAGN;IAE1G,MAAMO,mBAAmBX,oBAAoBJ;IAC7C,MAAMgB,yBAAyBb,0BAA0BF;IAEzD,qBACE,KAACH;QAAwBW,eAAeA;QAAeC,aAAaA;kBAClE,cAAA,KAACR;YACCa,kBAAkBA;YAClBC,wBAAwBA;sBAExB,cAAA,KAACjB;gBAAiBY,6BAA6BA;0BAC7C,cAAA,KAACjB;oBACCkB,IAAIf,UACF;wBACEoB,SAAS;wBACTC,OAAO;wBACPC,QAAQ;wBACRC,UAAU;wBACVC,UAAU;oBACZ,GACAT;oBAED,GAAGE,MAAM;8BAEV,cAAA,KAAClB;wBAAc0B,mBAAmB3B;kCAChC,cAAA,KAACW;4BAAeO,uBAAuBA;;;;;;;AAOrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewExploreApp.d.ts","sourceRoot":"","sources":["../../../src/views/ViewExplore/ViewExploreApp.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhD,MAAM,WAAW,YAAY;IAC3B,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAsBhE"}
1
+ {"version":3,"file":"ViewExploreApp.d.ts","sourceRoot":"","sources":["../../../src/views/ViewExplore/ViewExploreApp.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIhD,MAAM,WAAW,YAAY;IAC3B,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAsBhE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/views/ViewExplore/ViewExploreApp.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box } from '@mui/material';\nimport { ChartsProvider, useChartsTheme } from '@perses-dev/components';\nimport { ReactElement, ReactNode } from 'react';\nimport { ExploreManager, ExplorerManagerProviderWithQueryParams } from '../../components';\n\nexport interface ViewAppProps {\n exploreTitleComponent?: ReactNode;\n}\n\nexport function ViewExploreApp(props: ViewAppProps): ReactElement {\n const { exploreTitleComponent } = props;\n\n const chartsTheme = useChartsTheme();\n\n return (\n <Box\n sx={{\n flexGrow: 1,\n overflowX: 'hidden',\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <ChartsProvider chartsTheme={chartsTheme} enablePinning={false}>\n <ExplorerManagerProviderWithQueryParams>\n <ExploreManager exploreTitleComponent={exploreTitleComponent} />\n </ExplorerManagerProviderWithQueryParams>\n </ChartsProvider>\n </Box>\n );\n}\n"],"names":["Box","ChartsProvider","useChartsTheme","ExploreManager","ExplorerManagerProviderWithQueryParams","ViewExploreApp","props","exploreTitleComponent","chartsTheme","sx","flexGrow","overflowX","overflowY","display","flexDirection","enablePinning"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SAASC,cAAc,EAAEC,cAAc,QAAQ,yBAAyB;AAExE,SAASC,cAAc,EAAEC,sCAAsC,QAAQ,mBAAmB;AAM1F,OAAO,SAASC,eAAeC,KAAmB;IAChD,MAAM,EAAEC,qBAAqB,EAAE,GAAGD;IAElC,MAAME,cAAcN;IAEpB,qBACE,KAACF;QACCS,IAAI;YACFC,UAAU;YACVC,WAAW;YACXC,WAAW;YACXC,SAAS;YACTC,eAAe;QACjB;kBAEA,cAAA,KAACb;YAAeO,aAAaA;YAAaO,eAAe;sBACvD,cAAA,KAACX;0BACC,cAAA,KAACD;oBAAeI,uBAAuBA;;;;;AAKjD"}
1
+ {"version":3,"sources":["../../../src/views/ViewExplore/ViewExploreApp.tsx"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { Box } from '@mui/material';\nimport { ChartsProvider, useChartsTheme } from '@perses-dev/components';\nimport { ReactElement, ReactNode } from 'react';\n\nimport { ExploreManager, ExplorerManagerProviderWithQueryParams } from '../../components';\n\nexport interface ViewAppProps {\n exploreTitleComponent?: ReactNode;\n}\n\nexport function ViewExploreApp(props: ViewAppProps): ReactElement {\n const { exploreTitleComponent } = props;\n\n const chartsTheme = useChartsTheme();\n\n return (\n <Box\n sx={{\n flexGrow: 1,\n overflowX: 'hidden',\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <ChartsProvider chartsTheme={chartsTheme} enablePinning={false}>\n <ExplorerManagerProviderWithQueryParams>\n <ExploreManager exploreTitleComponent={exploreTitleComponent} />\n </ExplorerManagerProviderWithQueryParams>\n </ChartsProvider>\n </Box>\n );\n}\n"],"names":["Box","ChartsProvider","useChartsTheme","ExploreManager","ExplorerManagerProviderWithQueryParams","ViewExploreApp","props","exploreTitleComponent","chartsTheme","sx","flexGrow","overflowX","overflowY","display","flexDirection","enablePinning"],"mappings":";AAAA,+BAA+B;AAC/B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SAASC,cAAc,EAAEC,cAAc,QAAQ,yBAAyB;AAGxE,SAASC,cAAc,EAAEC,sCAAsC,QAAQ,mBAAmB;AAM1F,OAAO,SAASC,eAAeC,KAAmB;IAChD,MAAM,EAAEC,qBAAqB,EAAE,GAAGD;IAElC,MAAME,cAAcN;IAEpB,qBACE,KAACF;QACCS,IAAI;YACFC,UAAU;YACVC,WAAW;YACXC,WAAW;YACXC,SAAS;YACTC,eAAe;QACjB;kBAEA,cAAA,KAACb;YAAeO,aAAaA;YAAaO,eAAe;sBACvD,cAAA,KAACX;0BACC,cAAA,KAACD;oBAAeI,uBAAuBA;;;;;AAKjD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perses-dev/explore",
3
- "version": "0.55.0-beta.2",
3
+ "version": "0.55.0-beta.3",
4
4
  "description": "The explore feature in Perses",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/perses/perses/blob/main/README.md",
@@ -23,14 +23,16 @@
23
23
  "build:types": "tsc --project tsconfig.build.json",
24
24
  "type-check": "tsc --noEmit",
25
25
  "start": "concurrently -P \"npm:build:* -- {*}\" -- --watch",
26
- "lint": "eslint src --ext .ts,.tsx",
27
- "lint:fix": "eslint --fix src --ext .ts,.tsx"
26
+ "test": "cross-env TZ=UTC vitest run",
27
+ "test:watch": "cross-env TZ=UTC vitest",
28
+ "lint": "oxlint src",
29
+ "lint:fix": "oxlint --fix src"
28
30
  },
29
31
  "dependencies": {
30
32
  "@nexucis/fuzzy": "^0.5.1",
31
- "@perses-dev/components": "0.55.0-beta.2",
32
- "@perses-dev/dashboards": "0.55.0-beta.2",
33
- "@perses-dev/plugin-system": "0.55.0-beta.2",
33
+ "@perses-dev/components": "0.55.0-beta.3",
34
+ "@perses-dev/dashboards": "0.55.0-beta.3",
35
+ "@perses-dev/plugin-system": "0.55.0-beta.3",
34
36
  "mdi-material-ui": "^7.9.2",
35
37
  "qs": "^6.14.0",
36
38
  "react-virtuoso": "^4.12.2",