@deephaven/dashboard-core-plugins 0.60.1-object-fetcher.7 → 0.61.1-alpha-widget-types.1
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.
- package/dist/ChartPanelPlugin.d.ts +2 -6
- package/dist/ChartPanelPlugin.d.ts.map +1 -1
- package/dist/ChartPanelPlugin.js +13 -12
- package/dist/ChartPanelPlugin.js.map +1 -1
- package/dist/ChartPluginConfig.d.ts +1 -1
- package/dist/ChartPluginConfig.d.ts.map +1 -1
- package/dist/ChartPluginConfig.js.map +1 -1
- package/dist/ChartWidgetPlugin.d.ts +2 -1
- package/dist/ChartWidgetPlugin.d.ts.map +1 -1
- package/dist/ChartWidgetPlugin.js.map +1 -1
- package/dist/GridPanelPlugin.d.ts +2 -6
- package/dist/GridPanelPlugin.d.ts.map +1 -1
- package/dist/GridPanelPlugin.js +2 -5
- package/dist/GridPanelPlugin.js.map +1 -1
- package/dist/GridWidgetPlugin.d.ts +2 -1
- package/dist/GridWidgetPlugin.d.ts.map +1 -1
- package/dist/GridWidgetPlugin.js.map +1 -1
- package/dist/PandasPanelPlugin.d.ts +2 -6
- package/dist/PandasPanelPlugin.d.ts.map +1 -1
- package/dist/PandasPanelPlugin.js +2 -3
- package/dist/PandasPanelPlugin.js.map +1 -1
- package/dist/PandasPluginConfig.d.ts +1 -1
- package/dist/PandasPluginConfig.d.ts.map +1 -1
- package/dist/PandasPluginConfig.js.map +1 -1
- package/dist/PandasWidgetPlugin.d.ts +2 -1
- package/dist/PandasWidgetPlugin.d.ts.map +1 -1
- package/dist/PandasWidgetPlugin.js.map +1 -1
- package/dist/WidgetLoaderPlugin.d.ts.map +1 -1
- package/dist/WidgetLoaderPlugin.js +13 -8
- package/dist/WidgetLoaderPlugin.js.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.css +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.css.map +1 -1
- package/dist/controls/input-filter/InputFilter.css +1 -1
- package/dist/controls/input-filter/InputFilter.css.map +1 -1
- package/dist/linker/LinkerLink.css.map +1 -1
- package/dist/linker/LinkerOverlayContent.css.map +1 -1
- package/dist/panels/ChartColumnSelectorOverlay.css.map +1 -1
- package/dist/panels/ChartFilterOverlay.css.map +1 -1
- package/dist/panels/ChartPanel.css +1 -1
- package/dist/panels/ChartPanel.css.map +1 -1
- package/dist/panels/CommandHistoryPanel.css.map +1 -1
- package/dist/panels/ConsolePanel.css.map +1 -1
- package/dist/panels/ConsolePanel.d.ts +3 -2
- package/dist/panels/ConsolePanel.d.ts.map +1 -1
- package/dist/panels/ConsolePanel.js +14 -13
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/DropdownFilterPanel.css.map +1 -1
- package/dist/panels/DropdownFilterPanel.d.ts +8 -4
- package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
- package/dist/panels/FileExplorerPanel.d.ts +8 -4
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
- package/dist/panels/FilterSetManager.css +1 -1
- package/dist/panels/FilterSetManager.css.map +1 -1
- package/dist/panels/FilterSetManagerPanel.css.map +1 -1
- package/dist/panels/IrisGridPanel.css.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +1 -1
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/LogPanel.css.map +1 -1
- package/dist/panels/MarkdownNotebook.css +1 -1
- package/dist/panels/MarkdownNotebook.css.map +1 -1
- package/dist/panels/MarkdownPanel.css.map +1 -1
- package/dist/panels/NotebookPanel.css.map +1 -1
- package/dist/panels/PandasPanel.css.map +1 -1
- package/dist/panels/WidgetPanel.css +1 -1
- package/dist/panels/WidgetPanel.css.map +1 -1
- package/dist/panels/WidgetPanelTooltip.css.map +1 -1
- package/dist/useHydrateGrid.d.ts +2 -2
- package/dist/useHydrateGrid.d.ts.map +1 -1
- package/dist/useHydrateGrid.js +4 -5
- package/dist/useHydrateGrid.js.map +1 -1
- package/package.json +24 -24
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { Figure } from '@deephaven/jsapi-types';
|
|
3
|
+
import { WidgetPanelProps } from '@deephaven/plugin';
|
|
3
4
|
import { type ChartPanel } from './panels/ChartPanel';
|
|
4
|
-
export declare const ChartPanelPlugin: import("react").ForwardRefExoticComponent<import("
|
|
5
|
-
metadata?: import("@deephaven/jsapi-types").VariableDescriptor<string> | undefined;
|
|
6
|
-
localDashboardId: string;
|
|
7
|
-
glContainer: import("@deephaven/golden-layout").ItemContainer<import("@deephaven/golden-layout").ComponentConfig>;
|
|
8
|
-
glEventHub: import("packages/golden-layout/src/utils/EventEmitter").default;
|
|
9
|
-
} & import("react").RefAttributes<ChartPanel>>;
|
|
5
|
+
export declare const ChartPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps<Figure> & import("react").RefAttributes<ChartPanel>>;
|
|
10
6
|
export default ChartPanelPlugin;
|
|
11
7
|
//# sourceMappingURL=ChartPanelPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPanelPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPanelPlugin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ChartPanelPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPanelPlugin.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAEV,MAAM,EAEP,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAwF7B,eAAO,MAAM,gBAAgB,iHA6C5B,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
|
package/dist/ChartPanelPlugin.js
CHANGED
|
@@ -6,7 +6,8 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
6
6
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
7
7
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
8
8
|
import { forwardRef, useMemo } from 'react';
|
|
9
|
-
import { useApi
|
|
9
|
+
import { useApi } from '@deephaven/jsapi-bootstrap';
|
|
10
|
+
import { useConnection } from '@deephaven/jsapi-components';
|
|
10
11
|
import { ChartModelFactory, useChartTheme } from '@deephaven/chart';
|
|
11
12
|
import { IrisGridUtils } from '@deephaven/iris-grid';
|
|
12
13
|
import { getTimeZone, store } from '@deephaven/redux';
|
|
@@ -17,7 +18,7 @@ function createChartModel(_x, _x2, _x3, _x4, _x5, _x6) {
|
|
|
17
18
|
return _createChartModel.apply(this, arguments);
|
|
18
19
|
}
|
|
19
20
|
function _createChartModel() {
|
|
20
|
-
_createChartModel = _asyncToGenerator(function* (dh, chartTheme,
|
|
21
|
+
_createChartModel = _asyncToGenerator(function* (dh, chartTheme, connection, metadata, fetch, panelState) {
|
|
21
22
|
var settings;
|
|
22
23
|
var tableName;
|
|
23
24
|
var figureName;
|
|
@@ -48,27 +49,27 @@ function _createChartModel() {
|
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
if (figureName == null && tableName == null) {
|
|
51
|
-
var figure = yield
|
|
52
|
+
var figure = yield fetch();
|
|
52
53
|
return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);
|
|
53
54
|
}
|
|
54
55
|
if (figureName != null) {
|
|
55
56
|
var _figure;
|
|
56
57
|
if (metadata.type === dh.VariableType.FIGURE) {
|
|
57
|
-
var
|
|
58
|
+
var _definition = {
|
|
58
59
|
name: figureName,
|
|
59
60
|
type: dh.VariableType.FIGURE
|
|
60
61
|
};
|
|
61
|
-
_figure = yield
|
|
62
|
+
_figure = yield connection.getObject(_definition);
|
|
62
63
|
} else {
|
|
63
|
-
_figure = yield
|
|
64
|
+
_figure = yield fetch();
|
|
64
65
|
}
|
|
65
66
|
return ChartModelFactory.makeModel(dh, settings, _figure, chartTheme);
|
|
66
67
|
}
|
|
67
|
-
var
|
|
68
|
+
var definition = {
|
|
68
69
|
name: tableName,
|
|
69
70
|
type: dh.VariableType.TABLE
|
|
70
71
|
};
|
|
71
|
-
var table = yield
|
|
72
|
+
var table = yield connection.getObject(definition);
|
|
72
73
|
new IrisGridUtils(dh).applyTableSettings(table, tableSettings, getTimeZone(store.getState()));
|
|
73
74
|
return ChartModelFactory.makeModelFromSettings(dh,
|
|
74
75
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -79,10 +80,10 @@ function _createChartModel() {
|
|
|
79
80
|
export var ChartPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
80
81
|
var dh = useApi();
|
|
81
82
|
var chartTheme = useChartTheme();
|
|
82
|
-
var
|
|
83
|
+
var connection = useConnection();
|
|
83
84
|
var panelState = isChartPanelDehydratedProps(props) ? props.panelState : undefined;
|
|
84
85
|
var {
|
|
85
|
-
fetch
|
|
86
|
+
fetch,
|
|
86
87
|
metadata,
|
|
87
88
|
localDashboardId
|
|
88
89
|
} = props;
|
|
@@ -93,9 +94,9 @@ export var ChartPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
93
94
|
if (metadata == null) {
|
|
94
95
|
throw new Error('Metadata is required for chart panel');
|
|
95
96
|
}
|
|
96
|
-
return createChartModel(dh, chartTheme,
|
|
97
|
+
return createChartModel(dh, chartTheme, connection, metadata, fetch, panelState);
|
|
97
98
|
}
|
|
98
|
-
}), [
|
|
99
|
+
}), [dh, connection, fetch, panelState, metadata, localDashboardId, chartTheme]);
|
|
99
100
|
|
|
100
101
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
101
102
|
return /*#__PURE__*/_jsx(ConnectedChartPanel, _objectSpread(_objectSpread({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPanelPlugin.js","names":["forwardRef","useMemo","useApi","
|
|
1
|
+
{"version":3,"file":"ChartPanelPlugin.js","names":["forwardRef","useMemo","useApi","useConnection","ChartModelFactory","useChartTheme","IrisGridUtils","getTimeZone","store","isChartPanelDehydratedProps","isChartPanelFigureMetadata","isChartPanelTableMetadata","ConnectedChartPanel","jsx","_jsx","createChartModel","_x","_x2","_x3","_x4","_x5","_x6","_createChartModel","apply","arguments","_asyncToGenerator","dh","chartTheme","connection","metadata","fetch","panelState","settings","tableName","figureName","tableSettings","table","undefined","figure","name","_objectSpread","makeModel","type","VariableType","FIGURE","definition","getObject","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPanelPlugin","props","ref","localDashboardId","hydratedProps","Error","displayName"],"sources":["../src/ChartPanelPlugin.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { useConnection } from '@deephaven/jsapi-components';\nimport {\n ChartModel,\n ChartModelFactory,\n ChartTheme,\n useChartTheme,\n} from '@deephaven/chart';\nimport type {\n dh as DhType,\n Figure,\n IdeConnection,\n} from '@deephaven/jsapi-types';\nimport { IrisGridUtils } from '@deephaven/iris-grid';\nimport { getTimeZone, store } from '@deephaven/redux';\nimport { WidgetPanelProps } from '@deephaven/plugin';\nimport {\n ChartPanelMetadata,\n GLChartPanelState,\n isChartPanelDehydratedProps,\n isChartPanelFigureMetadata,\n isChartPanelTableMetadata,\n} from './panels';\nimport ConnectedChartPanel, {\n type ChartPanel,\n type ChartPanelProps,\n} from './panels/ChartPanel';\n\nasync function createChartModel(\n dh: DhType,\n chartTheme: ChartTheme,\n connection: IdeConnection,\n metadata: ChartPanelMetadata,\n fetch: () => Promise<Figure>,\n panelState?: GLChartPanelState\n): Promise<ChartModel> {\n let settings;\n let tableName;\n let figureName;\n let tableSettings;\n\n if (isChartPanelTableMetadata(metadata)) {\n settings = metadata.settings;\n tableName = metadata.table;\n figureName = undefined;\n tableSettings = metadata.tableSettings;\n } else {\n settings = {};\n tableName = '';\n figureName = isChartPanelFigureMetadata(metadata)\n ? metadata.figure\n : metadata.name;\n tableSettings = {};\n }\n if (panelState != null) {\n if (panelState.tableSettings != null) {\n tableSettings = panelState.tableSettings;\n }\n if (panelState.table != null) {\n tableName = panelState.table;\n }\n if (panelState.figure != null) {\n figureName = panelState.figure;\n }\n if (panelState.settings != null) {\n settings = {\n ...settings,\n ...panelState.settings,\n };\n }\n }\n\n if (figureName == null && tableName == null) {\n const figure = await fetch();\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n if (figureName != null) {\n let figure: Figure;\n\n if (metadata.type === dh.VariableType.FIGURE) {\n const definition = {\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n figure = await connection.getObject(definition);\n } else {\n figure = await fetch();\n }\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n const definition = {\n name: tableName,\n type: dh.VariableType.TABLE,\n };\n const table = await connection.getObject(definition);\n new IrisGridUtils(dh).applyTableSettings(\n table,\n tableSettings,\n getTimeZone(store.getState())\n );\n\n return ChartModelFactory.makeModelFromSettings(\n dh,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n settings as any,\n table,\n chartTheme\n );\n}\n\nexport const ChartPanelPlugin = forwardRef(\n (props: WidgetPanelProps<Figure>, ref: React.Ref<ChartPanel>) => {\n const dh = useApi();\n const chartTheme = useChartTheme();\n const connection = useConnection();\n\n const panelState = isChartPanelDehydratedProps(props)\n ? (props as unknown as ChartPanelProps).panelState\n : undefined;\n\n const { fetch, metadata, localDashboardId } = props;\n\n const hydratedProps = useMemo(\n () => ({\n metadata: metadata as ChartPanelMetadata,\n localDashboardId,\n makeModel: () => {\n if (metadata == null) {\n throw new Error('Metadata is required for chart panel');\n }\n\n return createChartModel(\n dh,\n chartTheme,\n connection,\n metadata as ChartPanelMetadata,\n fetch,\n panelState\n );\n },\n }),\n [\n dh,\n connection,\n fetch,\n panelState,\n metadata,\n localDashboardId,\n chartTheme,\n ]\n );\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedChartPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nChartPanelPlugin.displayName = 'ChartPanelPlugin';\n\nexport default ChartPanelPlugin;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type WidgetPlugin } from '@deephaven/plugin';
|
|
2
|
-
import { Figure } from '@deephaven/jsapi-types';
|
|
2
|
+
import type { Figure } from '@deephaven/jsapi-types';
|
|
3
3
|
declare const ChartPluginConfig: WidgetPlugin<Figure>;
|
|
4
4
|
export default ChartPluginConfig;
|
|
5
5
|
//# sourceMappingURL=ChartPluginConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPluginConfig.d.ts","sourceRoot":"","sources":["../src/ChartPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartPluginConfig.d.ts","sourceRoot":"","sources":["../src/ChartPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD,QAAA,MAAM,iBAAiB,EAAE,YAAY,CAAC,MAAM,CAQ3C,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartPluginConfig.js","names":["PluginType","vsGraph","ChartWidgetPlugin","ChartPanelPlugin","ChartPluginConfig","name","title","type","WIDGET_PLUGIN","component","panelComponent","supportedTypes","icon"],"sources":["../src/ChartPluginConfig.ts"],"sourcesContent":["import { PluginType, type WidgetPlugin } from '@deephaven/plugin';\nimport { vsGraph } from '@deephaven/icons';\nimport { Figure } from '@deephaven/jsapi-types';\nimport { ChartWidgetPlugin } from './ChartWidgetPlugin';\nimport { ChartPanelPlugin } from './ChartPanelPlugin';\n\nconst ChartPluginConfig: WidgetPlugin<Figure> = {\n name: 'ChartPanel',\n title: 'Chart',\n type: PluginType.WIDGET_PLUGIN,\n component: ChartWidgetPlugin,\n panelComponent: ChartPanelPlugin,\n supportedTypes: 'Figure',\n icon: vsGraph,\n};\n\nexport default ChartPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAA2B,mBAAmB;AACjE,SAASC,OAAO,QAAQ,kBAAkB;AAAC,SAElCC,iBAAiB;AAAA,SACjBC,gBAAgB;AAEzB,IAAMC,iBAAuC,GAAG;EAC9CC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEP,UAAU,CAACQ,aAAa;EAC9BC,SAAS,EAAEP,iBAAiB;EAC5BQ,cAAc,EAAEP,gBAAgB;EAChCQ,cAAc,EAAE,QAAQ;EACxBC,IAAI,EAAEX;AACR,CAAC;AAED,eAAeG,iBAAiB"}
|
|
1
|
+
{"version":3,"file":"ChartPluginConfig.js","names":["PluginType","vsGraph","ChartWidgetPlugin","ChartPanelPlugin","ChartPluginConfig","name","title","type","WIDGET_PLUGIN","component","panelComponent","supportedTypes","icon"],"sources":["../src/ChartPluginConfig.ts"],"sourcesContent":["import { PluginType, type WidgetPlugin } from '@deephaven/plugin';\nimport { vsGraph } from '@deephaven/icons';\nimport type { Figure } from '@deephaven/jsapi-types';\nimport { ChartWidgetPlugin } from './ChartWidgetPlugin';\nimport { ChartPanelPlugin } from './ChartPanelPlugin';\n\nconst ChartPluginConfig: WidgetPlugin<Figure> = {\n name: 'ChartPanel',\n title: 'Chart',\n type: PluginType.WIDGET_PLUGIN,\n component: ChartWidgetPlugin,\n panelComponent: ChartPanelPlugin,\n supportedTypes: 'Figure',\n icon: vsGraph,\n};\n\nexport default ChartPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAA2B,mBAAmB;AACjE,SAASC,OAAO,QAAQ,kBAAkB;AAAC,SAElCC,iBAAiB;AAAA,SACjBC,gBAAgB;AAEzB,IAAMC,iBAAuC,GAAG;EAC9CC,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEP,UAAU,CAACQ,aAAa;EAC9BC,SAAS,EAAEP,iBAAiB;EAC5BQ,cAAc,EAAEP,gBAAgB;EAChCQ,cAAc,EAAE,QAAQ;EACxBC,IAAI,EAAEX;AACR,CAAC;AAED,eAAeG,iBAAiB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import type { Figure } from '@deephaven/jsapi-types';
|
|
2
3
|
import { type WidgetComponentProps } from '@deephaven/plugin';
|
|
3
|
-
export declare function ChartWidgetPlugin(props: WidgetComponentProps): JSX.Element | null;
|
|
4
|
+
export declare function ChartWidgetPlugin(props: WidgetComponentProps<Figure>): JSX.Element | null;
|
|
4
5
|
export default ChartWidgetPlugin;
|
|
5
6
|
//# sourceMappingURL=ChartWidgetPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/ChartWidgetPlugin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ChartWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/ChartWidgetPlugin.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAClC,GAAG,CAAC,OAAO,GAAG,IAAI,CA+BpB;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWidgetPlugin.js","names":["useEffect","useState","useApi","Chart","ChartModelFactory","useChartTheme","jsx","_jsx","ChartWidgetPlugin","props","dh","chartTheme","model","setModel","fetch","cancelled","init","_init","apply","arguments","_asyncToGenerator","figure","newModel","makeModel","undefined"],"sources":["../src/ChartWidgetPlugin.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport {\n Chart,\n ChartModel,\n ChartModelFactory,\n useChartTheme,\n} from '@deephaven/chart';\nimport type { Figure } from '@deephaven/jsapi-types';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\n\nexport function ChartWidgetPlugin(\n props: WidgetComponentProps
|
|
1
|
+
{"version":3,"file":"ChartWidgetPlugin.js","names":["useEffect","useState","useApi","Chart","ChartModelFactory","useChartTheme","jsx","_jsx","ChartWidgetPlugin","props","dh","chartTheme","model","setModel","fetch","cancelled","init","_init","apply","arguments","_asyncToGenerator","figure","newModel","makeModel","undefined"],"sources":["../src/ChartWidgetPlugin.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport {\n Chart,\n ChartModel,\n ChartModelFactory,\n useChartTheme,\n} from '@deephaven/chart';\nimport type { Figure } from '@deephaven/jsapi-types';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\n\nexport function ChartWidgetPlugin(\n props: WidgetComponentProps<Figure>\n): JSX.Element | null {\n const dh = useApi();\n const chartTheme = useChartTheme();\n const [model, setModel] = useState<ChartModel>();\n\n const { fetch } = props;\n\n useEffect(() => {\n let cancelled = false;\n async function init() {\n const figure = (await fetch()) as unknown as Figure;\n const newModel = await ChartModelFactory.makeModel(\n dh,\n undefined,\n figure,\n chartTheme\n );\n\n if (!cancelled) {\n setModel(newModel);\n }\n }\n\n init();\n\n return () => {\n cancelled = true;\n };\n }, [dh, fetch, chartTheme]);\n\n return model ? <Chart model={model} /> : null;\n}\n\nexport default ChartWidgetPlugin;\n"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SACEC,KAAK,EAELC,iBAAiB,EACjBC,aAAa,QACR,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI1B,OAAO,SAASC,iBAAiBA,CAC/BC,KAAmC,EACf;EACpB,IAAMC,EAAE,GAAGR,MAAM,CAAC,CAAC;EACnB,IAAMS,UAAU,GAAGN,aAAa,CAAC,CAAC;EAClC,IAAM,CAACO,KAAK,EAAEC,QAAQ,CAAC,GAAGZ,QAAQ,CAAa,CAAC;EAEhD,IAAM;IAAEa;EAAM,CAAC,GAAGL,KAAK;EAEvBT,SAAS,CAAC,MAAM;IACd,IAAIe,SAAS,GAAG,KAAK;IAAC,SACPC,IAAIA,CAAA;MAAA,OAAAC,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,MAAA;MAAAA,KAAA,GAAAG,iBAAA,CAAnB,aAAsB;QACpB,IAAMC,MAAM,SAAUP,KAAK,CAAC,CAAuB;QACnD,IAAMQ,QAAQ,SAASlB,iBAAiB,CAACmB,SAAS,CAChDb,EAAE,EACFc,SAAS,EACTH,MAAM,EACNV,UACF,CAAC;QAED,IAAI,CAACI,SAAS,EAAE;UACdF,QAAQ,CAACS,QAAQ,CAAC;QACpB;MACF,CAAC;MAAA,OAAAL,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAEDH,IAAI,CAAC,CAAC;IAEN,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACL,EAAE,EAAEI,KAAK,EAAEH,UAAU,CAAC,CAAC;EAE3B,OAAOC,KAAK,gBAAGL,IAAA,CAACJ,KAAK;IAACS,KAAK,EAAEA;EAAM,CAAE,CAAC,GAAG,IAAI;AAC/C;AAEA,eAAeJ,iBAAiB"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { WidgetPanelProps } from '@deephaven/plugin';
|
|
2
3
|
import { type Table } from '@deephaven/jsapi-types';
|
|
3
4
|
import { type IrisGridPanel } from './panels/IrisGridPanel';
|
|
4
|
-
export declare const GridPanelPlugin: import("react").ForwardRefExoticComponent<import("
|
|
5
|
-
metadata?: import("@deephaven/jsapi-types").VariableDescriptor<string> | undefined;
|
|
6
|
-
localDashboardId: string;
|
|
7
|
-
glContainer: import("@deephaven/golden-layout").ItemContainer<import("@deephaven/golden-layout").ComponentConfig>;
|
|
8
|
-
glEventHub: import("packages/golden-layout/src/utils/EventEmitter").default;
|
|
9
|
-
} & import("react").RefAttributes<IrisGridPanel>>;
|
|
5
|
+
export declare const GridPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps<Table> & import("react").RefAttributes<IrisGridPanel>>;
|
|
10
6
|
export default GridPanelPlugin;
|
|
11
7
|
//# sourceMappingURL=GridPanelPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridPanelPlugin.d.ts","sourceRoot":"","sources":["../src/GridPanelPlugin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"GridPanelPlugin.d.ts","sourceRoot":"","sources":["../src/GridPanelPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAA+B,EAC7B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,eAAe,mHAQ3B,CAAC;AAIF,eAAe,eAAe,CAAC"}
|
package/dist/GridPanelPlugin.js
CHANGED
|
@@ -4,18 +4,15 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
4
4
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
5
5
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
6
|
import { forwardRef } from 'react';
|
|
7
|
-
import { assertNotNull } from '@deephaven/utils';
|
|
8
7
|
import useHydrateGrid from "./useHydrateGrid.js";
|
|
9
8
|
import ConnectedIrisGridPanel from "./panels/IrisGridPanel.js";
|
|
10
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
10
|
export var GridPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
12
11
|
var {
|
|
13
12
|
localDashboardId,
|
|
14
|
-
fetch
|
|
15
|
-
metadata
|
|
13
|
+
fetch
|
|
16
14
|
} = props;
|
|
17
|
-
|
|
18
|
-
var hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);
|
|
15
|
+
var hydratedProps = useHydrateGrid(fetch, localDashboardId);
|
|
19
16
|
|
|
20
17
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
21
18
|
return /*#__PURE__*/_jsx(ConnectedIrisGridPanel, _objectSpread(_objectSpread({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridPanelPlugin.js","names":["forwardRef","
|
|
1
|
+
{"version":3,"file":"GridPanelPlugin.js","names":["forwardRef","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPanelPlugin","props","ref","localDashboardId","fetch","hydratedProps","_objectSpread","displayName"],"sources":["../src/GridPanelPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { WidgetPanelProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport useHydrateGrid from './useHydrateGrid';\nimport ConnectedIrisGridPanel, {\n type IrisGridPanel,\n} from './panels/IrisGridPanel';\n\nexport const GridPanelPlugin = forwardRef(\n (props: WidgetPanelProps<Table>, ref: React.Ref<IrisGridPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(fetch, localDashboardId);\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <ConnectedIrisGridPanel ref={ref} {...props} {...hydratedProps} />;\n }\n);\n\nGridPanelPlugin.displayName = 'GridPanelPlugin';\n\nexport default GridPanelPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,OAG5BC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B,OAAO,IAAMC,eAAe,gBAAGL,UAAU,CACvC,CAACM,KAA8B,EAAEC,GAA6B,KAAK;EACjE,IAAM;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAGH,KAAK;EACzC,IAAMI,aAAa,GAAGT,cAAc,CAACQ,KAAK,EAAED,gBAAgB,CAAC;;EAE7D;EACA,oBAAOJ,IAAA,CAACF,sBAAsB,EAAAS,aAAA,CAAAA,aAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAAMI,aAAa,CAAG,CAAC;AAC3E,CACF,CAAC;AAEDL,eAAe,CAACO,WAAW,GAAG,iBAAiB;AAE/C,eAAeP,eAAe"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type WidgetComponentProps } from '@deephaven/plugin';
|
|
3
|
-
|
|
3
|
+
import { type Table } from '@deephaven/jsapi-types';
|
|
4
|
+
export declare function GridWidgetPlugin(props: WidgetComponentProps<Table>): JSX.Element | null;
|
|
4
5
|
export default GridWidgetPlugin;
|
|
5
6
|
//# sourceMappingURL=GridWidgetPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/GridWidgetPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"GridWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/GridWidgetPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAQpD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,GACjC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwBpB;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridWidgetPlugin.js","names":["useEffect","useState","useApi","IrisGrid","IrisGridModelFactory","jsx","_jsx","GridWidgetPlugin","props","dh","model","setModel","fetch","cancelled","init","_init","apply","arguments","_asyncToGenerator","table","newModel","makeModel"],"sources":["../src/GridWidgetPlugin.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport {\n IrisGrid,\n IrisGridModelFactory,\n type IrisGridModel,\n} from '@deephaven/iris-grid';\n\nexport function GridWidgetPlugin(\n props: WidgetComponentProps
|
|
1
|
+
{"version":3,"file":"GridWidgetPlugin.js","names":["useEffect","useState","useApi","IrisGrid","IrisGridModelFactory","jsx","_jsx","GridWidgetPlugin","props","dh","model","setModel","fetch","cancelled","init","_init","apply","arguments","_asyncToGenerator","table","newModel","makeModel"],"sources":["../src/GridWidgetPlugin.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport {\n IrisGrid,\n IrisGridModelFactory,\n type IrisGridModel,\n} from '@deephaven/iris-grid';\n\nexport function GridWidgetPlugin(\n props: WidgetComponentProps<Table>\n): JSX.Element | null {\n const dh = useApi();\n const [model, setModel] = useState<IrisGridModel>();\n\n const { fetch } = props;\n\n useEffect(() => {\n let cancelled = false;\n async function init() {\n const table = await fetch();\n const newModel = await IrisGridModelFactory.makeModel(dh, table);\n if (!cancelled) {\n setModel(newModel);\n }\n }\n\n init();\n\n return () => {\n cancelled = true;\n };\n }, [dh, fetch]);\n\n return model ? <IrisGrid model={model} /> : null;\n}\n\nexport default GridWidgetPlugin;\n"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAG3C,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SACEC,QAAQ,EACRC,oBAAoB,QAEf,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE9B,OAAO,SAASC,gBAAgBA,CAC9BC,KAAkC,EACd;EACpB,IAAMC,EAAE,GAAGP,MAAM,CAAC,CAAC;EACnB,IAAM,CAACQ,KAAK,EAAEC,QAAQ,CAAC,GAAGV,QAAQ,CAAgB,CAAC;EAEnD,IAAM;IAAEW;EAAM,CAAC,GAAGJ,KAAK;EAEvBR,SAAS,CAAC,MAAM;IACd,IAAIa,SAAS,GAAG,KAAK;IAAC,SACPC,IAAIA,CAAA;MAAA,OAAAC,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,MAAA;MAAAA,KAAA,GAAAG,iBAAA,CAAnB,aAAsB;QACpB,IAAMC,KAAK,SAASP,KAAK,CAAC,CAAC;QAC3B,IAAMQ,QAAQ,SAAShB,oBAAoB,CAACiB,SAAS,CAACZ,EAAE,EAAEU,KAAK,CAAC;QAChE,IAAI,CAACN,SAAS,EAAE;UACdF,QAAQ,CAACS,QAAQ,CAAC;QACpB;MACF,CAAC;MAAA,OAAAL,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAEDH,IAAI,CAAC,CAAC;IAEN,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACJ,EAAE,EAAEG,KAAK,CAAC,CAAC;EAEf,OAAOF,KAAK,gBAAGJ,IAAA,CAACH,QAAQ;IAACO,KAAK,EAAEA;EAAM,CAAE,CAAC,GAAG,IAAI;AAClD;AAEA,eAAeH,gBAAgB"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { WidgetPanelProps } from '@deephaven/plugin';
|
|
2
3
|
import { type Table } from '@deephaven/jsapi-types';
|
|
3
4
|
import { PandasPanel } from './panels';
|
|
4
|
-
export declare const PandasPanelPlugin: import("react").ForwardRefExoticComponent<import("
|
|
5
|
-
metadata?: import("@deephaven/jsapi-types").VariableDescriptor<string> | undefined;
|
|
6
|
-
localDashboardId: string;
|
|
7
|
-
glContainer: import("@deephaven/golden-layout").ItemContainer<import("@deephaven/golden-layout").ComponentConfig>;
|
|
8
|
-
glEventHub: import("packages/golden-layout/src/utils/EventEmitter").default;
|
|
9
|
-
} & import("react").RefAttributes<PandasPanel>>;
|
|
5
|
+
export declare const PandasPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps<Table> & import("react").RefAttributes<PandasPanel>>;
|
|
10
6
|
export default PandasPanelPlugin;
|
|
11
7
|
//# sourceMappingURL=PandasPanelPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPanelPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPanelPlugin.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"PandasPanelPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPanelPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,iBAAiB,iHAU7B,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
|
|
@@ -10,10 +10,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
10
10
|
export var PandasPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
|
|
11
11
|
var {
|
|
12
12
|
localDashboardId,
|
|
13
|
-
fetch
|
|
14
|
-
metadata
|
|
13
|
+
fetch
|
|
15
14
|
} = props;
|
|
16
|
-
var hydratedProps = useHydrateGrid(fetch, localDashboardId
|
|
15
|
+
var hydratedProps = useHydrateGrid(fetch, localDashboardId);
|
|
17
16
|
return (
|
|
18
17
|
/*#__PURE__*/
|
|
19
18
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPanelPlugin.js","names":["forwardRef","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPanelPlugin","props","ref","localDashboardId","fetch","
|
|
1
|
+
{"version":3,"file":"PandasPanelPlugin.js","names":["forwardRef","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPanelPlugin","props","ref","localDashboardId","fetch","hydratedProps","_objectSpread","displayName"],"sources":["../src/PandasPanelPlugin.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { WidgetPanelProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport { PandasPanel } from './panels';\nimport useHydrateGrid from './useHydrateGrid';\n\nexport const PandasPanelPlugin = forwardRef(\n (props: WidgetPanelProps<Table>, ref: React.Ref<PandasPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(fetch, localDashboardId);\n\n return (\n // eslint-disable-next-line react/jsx-props-no-spreading\n <PandasPanel ref={ref} {...props} {...hydratedProps} />\n );\n }\n);\n\nPandasPanelPlugin.displayName = 'PandasPanelPlugin';\n\nexport default PandasPanelPlugin;\n"],"mappings":";;;;;AAAA,SAASA,UAAU,QAAQ,OAAO;AAAC,SAG1BC,WAAW;AAAA,OACbC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAErB,OAAO,IAAMC,iBAAiB,gBAAGL,UAAU,CACzC,CAACM,KAA8B,EAAEC,GAA2B,KAAK;EAC/D,IAAM;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAGH,KAAK;EACzC,IAAMI,aAAa,GAAGR,cAAc,CAACO,KAAK,EAAED,gBAAgB,CAAC;EAE7D;IAAA;IACE;IACAJ,IAAA,CAACH,WAAW,EAAAU,aAAA,CAAAA,aAAA;MAACJ,GAAG,EAAEA;IAAI,GAAKD,KAAK,GAAMI,aAAa,CAAG;EAAC;AAE3D,CACF,CAAC;AAEDL,iBAAiB,CAACO,WAAW,GAAG,mBAAmB;AAEnD,eAAeP,iBAAiB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetPlugin } from '@deephaven/plugin';
|
|
2
|
-
import { Table } from '@deephaven/jsapi-types';
|
|
2
|
+
import type { Table } from '@deephaven/jsapi-types';
|
|
3
3
|
declare const PandasPluginConfig: WidgetPlugin<Table>;
|
|
4
4
|
export default PandasPluginConfig;
|
|
5
5
|
//# sourceMappingURL=PandasPluginConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPluginConfig.d.ts","sourceRoot":"","sources":["../src/PandasPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"PandasPluginConfig.d.ts","sourceRoot":"","sources":["../src/PandasPluginConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAIpD,QAAA,MAAM,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAQ3C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasPluginConfig.js","names":["PluginType","dhPandas","PandasWidgetPlugin","PandasPanelPlugin","PandasPluginConfig","name","title","type","WIDGET_PLUGIN","component","panelComponent","supportedTypes","icon"],"sources":["../src/PandasPluginConfig.ts"],"sourcesContent":["import { PluginType, WidgetPlugin } from '@deephaven/plugin';\nimport { dhPandas } from '@deephaven/icons';\nimport { Table } from '@deephaven/jsapi-types';\nimport { PandasWidgetPlugin } from './PandasWidgetPlugin';\nimport { PandasPanelPlugin } from './PandasPanelPlugin';\n\nconst PandasPluginConfig: WidgetPlugin<Table> = {\n name: 'PandasPanel',\n title: 'Pandas',\n type: PluginType.WIDGET_PLUGIN,\n component: PandasWidgetPlugin,\n panelComponent: PandasPanelPlugin,\n supportedTypes: 'pandas.DataFrame',\n icon: dhPandas,\n};\n\nexport default PandasPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAAsB,mBAAmB;AAC5D,SAASC,QAAQ,QAAQ,kBAAkB;AAAC,SAEnCC,kBAAkB;AAAA,SAClBC,iBAAiB;AAE1B,IAAMC,kBAAuC,GAAG;EAC9CC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEP,UAAU,CAACQ,aAAa;EAC9BC,SAAS,EAAEP,kBAAkB;EAC7BQ,cAAc,EAAEP,iBAAiB;EACjCQ,cAAc,EAAE,kBAAkB;EAClCC,IAAI,EAAEX;AACR,CAAC;AAED,eAAeG,kBAAkB"}
|
|
1
|
+
{"version":3,"file":"PandasPluginConfig.js","names":["PluginType","dhPandas","PandasWidgetPlugin","PandasPanelPlugin","PandasPluginConfig","name","title","type","WIDGET_PLUGIN","component","panelComponent","supportedTypes","icon"],"sources":["../src/PandasPluginConfig.ts"],"sourcesContent":["import { PluginType, WidgetPlugin } from '@deephaven/plugin';\nimport { dhPandas } from '@deephaven/icons';\nimport type { Table } from '@deephaven/jsapi-types';\nimport { PandasWidgetPlugin } from './PandasWidgetPlugin';\nimport { PandasPanelPlugin } from './PandasPanelPlugin';\n\nconst PandasPluginConfig: WidgetPlugin<Table> = {\n name: 'PandasPanel',\n title: 'Pandas',\n type: PluginType.WIDGET_PLUGIN,\n component: PandasWidgetPlugin,\n panelComponent: PandasPanelPlugin,\n supportedTypes: 'pandas.DataFrame',\n icon: dhPandas,\n};\n\nexport default PandasPluginConfig;\n"],"mappings":"AAAA,SAASA,UAAU,QAAsB,mBAAmB;AAC5D,SAASC,QAAQ,QAAQ,kBAAkB;AAAC,SAEnCC,kBAAkB;AAAA,SAClBC,iBAAiB;AAE1B,IAAMC,kBAAuC,GAAG;EAC9CC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEP,UAAU,CAACQ,aAAa;EAC9BC,SAAS,EAAEP,kBAAkB;EAC7BQ,cAAc,EAAEP,iBAAiB;EACjCQ,cAAc,EAAE,kBAAkB;EAClCC,IAAI,EAAEX;AACR,CAAC;AAED,eAAeG,kBAAkB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { WidgetComponentProps } from '@deephaven/plugin';
|
|
3
|
-
|
|
3
|
+
import { type Table } from '@deephaven/jsapi-types';
|
|
4
|
+
export declare function PandasWidgetPlugin(props: WidgetComponentProps<Table>): JSX.Element | null;
|
|
4
5
|
export default PandasWidgetPlugin;
|
|
5
6
|
//# sourceMappingURL=PandasWidgetPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/PandasWidgetPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PandasWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/PandasWidgetPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AASpD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,GACjC,GAAG,CAAC,OAAO,GAAG,IAAI,CAiDpB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PandasWidgetPlugin.js","names":["useCallback","useEffect","useState","IrisGrid","IrisGridModelFactory","useApi","LoadingOverlay","PandasReloadButton","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PandasWidgetPlugin","props","dh","model","setModel","isLoading","setIsLoading","isLoaded","setIsLoaded","fetch","makeModel","_asyncToGenerator","table","handleReload","newModel","cancelled","init","_init","apply","arguments","children","onClick"],"sources":["../src/PandasWidgetPlugin.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport IrisGrid, {\n IrisGridModelFactory,\n type IrisGridModel,\n} from '@deephaven/iris-grid';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { PandasReloadButton } from './panels/PandasReloadButton';\n\nexport function PandasWidgetPlugin(\n props: WidgetComponentProps
|
|
1
|
+
{"version":3,"file":"PandasWidgetPlugin.js","names":["useCallback","useEffect","useState","IrisGrid","IrisGridModelFactory","useApi","LoadingOverlay","PandasReloadButton","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PandasWidgetPlugin","props","dh","model","setModel","isLoading","setIsLoading","isLoaded","setIsLoaded","fetch","makeModel","_asyncToGenerator","table","handleReload","newModel","cancelled","init","_init","apply","arguments","children","onClick"],"sources":["../src/PandasWidgetPlugin.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { WidgetComponentProps } from '@deephaven/plugin';\nimport { type Table } from '@deephaven/jsapi-types';\nimport IrisGrid, {\n IrisGridModelFactory,\n type IrisGridModel,\n} from '@deephaven/iris-grid';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { PandasReloadButton } from './panels/PandasReloadButton';\n\nexport function PandasWidgetPlugin(\n props: WidgetComponentProps<Table>\n): JSX.Element | null {\n const dh = useApi();\n const [model, setModel] = useState<IrisGridModel>();\n const [isLoading, setIsLoading] = useState(true);\n const [isLoaded, setIsLoaded] = useState(false);\n\n const { fetch } = props;\n\n const makeModel = useCallback(async () => {\n const table = await fetch();\n return IrisGridModelFactory.makeModel(dh, table);\n }, [dh, fetch]);\n\n const handleReload = useCallback(async () => {\n setIsLoading(true);\n const newModel = await makeModel();\n setModel(newModel);\n setIsLoading(false);\n }, [makeModel]);\n\n useEffect(() => {\n let cancelled = false;\n async function init() {\n const newModel = await makeModel();\n if (!cancelled) {\n setModel(newModel);\n setIsLoaded(true);\n setIsLoading(false);\n }\n }\n\n init();\n setIsLoading(true);\n\n return () => {\n cancelled = true;\n };\n }, [makeModel]);\n\n return (\n <>\n <LoadingOverlay isLoaded={isLoaded} isLoading={isLoading} />\n {model && (\n <IrisGrid model={model}>\n <PandasReloadButton onClick={handleReload} />\n </IrisGrid>\n )}\n </>\n );\n}\n\nexport default PandasWidgetPlugin;\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAGxD,OAAOC,QAAQ,IACbC,oBAAoB,QAEf,sBAAsB;AAC7B,SAASC,MAAM,QAAQ,4BAA4B;AACnD,SAASC,cAAc,QAAQ,uBAAuB;AAAC,SAC9CC,kBAAkB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE3B,OAAO,SAASC,kBAAkBA,CAChCC,KAAkC,EACd;EACpB,IAAMC,EAAE,GAAGX,MAAM,CAAC,CAAC;EACnB,IAAM,CAACY,KAAK,EAAEC,QAAQ,CAAC,GAAGhB,QAAQ,CAAgB,CAAC;EACnD,IAAM,CAACiB,SAAS,EAAEC,YAAY,CAAC,GAAGlB,QAAQ,CAAC,IAAI,CAAC;EAChD,IAAM,CAACmB,QAAQ,EAAEC,WAAW,CAAC,GAAGpB,QAAQ,CAAC,KAAK,CAAC;EAE/C,IAAM;IAAEqB;EAAM,CAAC,GAAGR,KAAK;EAEvB,IAAMS,SAAS,GAAGxB,WAAW,eAAAyB,iBAAA,CAAC,aAAY;IACxC,IAAMC,KAAK,SAASH,KAAK,CAAC,CAAC;IAC3B,OAAOnB,oBAAoB,CAACoB,SAAS,CAACR,EAAE,EAAEU,KAAK,CAAC;EAClD,CAAC,GAAE,CAACV,EAAE,EAAEO,KAAK,CAAC,CAAC;EAEf,IAAMI,YAAY,GAAG3B,WAAW,eAAAyB,iBAAA,CAAC,aAAY;IAC3CL,YAAY,CAAC,IAAI,CAAC;IAClB,IAAMQ,QAAQ,SAASJ,SAAS,CAAC,CAAC;IAClCN,QAAQ,CAACU,QAAQ,CAAC;IAClBR,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC,GAAE,CAACI,SAAS,CAAC,CAAC;EAEfvB,SAAS,CAAC,MAAM;IACd,IAAI4B,SAAS,GAAG,KAAK;IAAC,SACPC,IAAIA,CAAA;MAAA,OAAAC,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,MAAA;MAAAA,KAAA,GAAAN,iBAAA,CAAnB,aAAsB;QACpB,IAAMG,QAAQ,SAASJ,SAAS,CAAC,CAAC;QAClC,IAAI,CAACK,SAAS,EAAE;UACdX,QAAQ,CAACU,QAAQ,CAAC;UAClBN,WAAW,CAAC,IAAI,CAAC;UACjBF,YAAY,CAAC,KAAK,CAAC;QACrB;MACF,CAAC;MAAA,OAAAW,KAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAEDH,IAAI,CAAC,CAAC;IACNV,YAAY,CAAC,IAAI,CAAC;IAElB,OAAO,MAAM;MACXS,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACL,SAAS,CAAC,CAAC;EAEf,oBACEX,KAAA,CAAAF,SAAA;IAAAuB,QAAA,gBACEzB,IAAA,CAACH,cAAc;MAACe,QAAQ,EAAEA,QAAS;MAACF,SAAS,EAAEA;IAAU,CAAE,CAAC,EAC3DF,KAAK,iBACJR,IAAA,CAACN,QAAQ;MAACc,KAAK,EAAEA,KAAM;MAAAiB,QAAA,eACrBzB,IAAA,CAACF,kBAAkB;QAAC4B,OAAO,EAAER;MAAa,CAAE;IAAC,CACrC,CACX;EAAA,CACD,CAAC;AAEP;AAEA,eAAeb,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetLoaderPlugin.d.ts","sourceRoot":"","sources":["../src/WidgetLoaderPlugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAEL,6BAA6B,EAM7B,UAAU,EAEX,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"WidgetLoaderPlugin.d.ts","sourceRoot":"","sources":["../src/WidgetLoaderPlugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAEL,6BAA6B,EAM7B,UAAU,EAEX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAM3B,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,GACnB,KAAK,CAAC,yBAAyB,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAoC5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAC5C,GAAG,CAAC,OAAO,GAAG,IAAI,CAqFpB;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -6,15 +6,14 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
6
6
|
import { useMemo, useCallback, useEffect, forwardRef } from 'react';
|
|
7
7
|
import shortid from 'shortid';
|
|
8
8
|
import { assertIsDashboardPluginProps, PanelEvent, LayoutUtils, useListener, canHaveRef } from '@deephaven/dashboard';
|
|
9
|
-
import Log from '@deephaven/log';
|
|
10
9
|
import { isWidgetPlugin, usePlugins } from '@deephaven/plugin';
|
|
10
|
+
import Log from '@deephaven/log';
|
|
11
11
|
import { WidgetPanel } from "./panels/index.js";
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
var log = Log.module('WidgetLoaderPlugin');
|
|
14
14
|
export function WrapWidgetPlugin(plugin) {
|
|
15
15
|
var _plugin$component$dis;
|
|
16
16
|
function Wrapper(props, ref) {
|
|
17
|
-
var _metadata$name;
|
|
18
17
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
18
|
var C = plugin.component;
|
|
20
19
|
var {
|
|
@@ -22,7 +21,7 @@ export function WrapWidgetPlugin(plugin) {
|
|
|
22
21
|
} = props;
|
|
23
22
|
var hasRef = canHaveRef(C);
|
|
24
23
|
return /*#__PURE__*/_jsx(WidgetPanel, _objectSpread(_objectSpread({
|
|
25
|
-
widgetName:
|
|
24
|
+
widgetName: metadata === null || metadata === void 0 ? void 0 : metadata.name,
|
|
26
25
|
widgetType: plugin.title
|
|
27
26
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
28
27
|
}, props), {}, {
|
|
@@ -76,24 +75,30 @@ export function WidgetLoaderPlugin(props) {
|
|
|
76
75
|
registerComponent
|
|
77
76
|
} = props;
|
|
78
77
|
var handlePanelOpen = useCallback(_ref => {
|
|
79
|
-
var _widget$
|
|
78
|
+
var _widget$title;
|
|
80
79
|
var {
|
|
81
80
|
dragEvent,
|
|
82
|
-
panelId = shortid.generate(),
|
|
83
81
|
fetch,
|
|
82
|
+
panelId = shortid.generate(),
|
|
84
83
|
widget
|
|
85
84
|
} = _ref;
|
|
86
85
|
var {
|
|
86
|
+
id: widgetId,
|
|
87
87
|
type
|
|
88
88
|
} = widget;
|
|
89
|
-
var
|
|
89
|
+
var name = (_widget$title = widget.title) !== null && _widget$title !== void 0 ? _widget$title : widget.name;
|
|
90
|
+
var plugin = supportedTypes.get(type);
|
|
90
91
|
if (plugin == null) {
|
|
91
92
|
return;
|
|
92
93
|
}
|
|
93
|
-
var
|
|
94
|
+
var metadata = {
|
|
95
|
+
id: widgetId,
|
|
96
|
+
name,
|
|
97
|
+
type
|
|
98
|
+
};
|
|
94
99
|
var panelProps = {
|
|
95
100
|
localDashboardId: id,
|
|
96
|
-
metadata
|
|
101
|
+
metadata,
|
|
97
102
|
fetch
|
|
98
103
|
};
|
|
99
104
|
var config = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetLoaderPlugin.js","names":["useMemo","useCallback","useEffect","forwardRef","shortid","assertIsDashboardPluginProps","PanelEvent","LayoutUtils","useListener","canHaveRef","
|
|
1
|
+
{"version":3,"file":"WidgetLoaderPlugin.js","names":["useMemo","useCallback","useEffect","forwardRef","shortid","assertIsDashboardPluginProps","PanelEvent","LayoutUtils","useListener","canHaveRef","isWidgetPlugin","usePlugins","Log","WidgetPanel","jsx","_jsx","log","module","WrapWidgetPlugin","plugin","_plugin$component$dis","Wrapper","props","ref","C","component","metadata","hasRef","_objectSpread","widgetName","name","widgetType","title","children","displayName","concat","WidgetLoaderPlugin","plugins","supportedTypes","typeMap","Map","forEach","flat","supportedType","has","_typeMap$get","warn","get","set","id","layout","registerComponent","handlePanelOpen","_ref","_widget$title","dragEvent","fetch","panelId","generate","widget","widgetId","type","panelProps","localDashboardId","config","root","openComponent","deregisterFns","Set","values","map","panelComponent","deregister","eventHub","OPEN"],"sources":["../src/WidgetLoaderPlugin.tsx"],"sourcesContent":["import { useMemo, useCallback, useEffect, forwardRef } from 'react';\nimport type { ReactComponentConfig } from '@deephaven/golden-layout';\nimport shortid from 'shortid';\nimport {\n assertIsDashboardPluginProps,\n DashboardPluginComponentProps,\n DehydratedDashboardPanelProps,\n PanelEvent,\n PanelOpenEventDetail,\n LayoutUtils,\n useListener,\n PanelProps,\n canHaveRef,\n} from '@deephaven/dashboard';\nimport {\n isWidgetPlugin,\n usePlugins,\n type WidgetPlugin,\n} from '@deephaven/plugin';\nimport Log from '@deephaven/log';\nimport { WidgetPanel } from './panels';\n\nconst log = Log.module('WidgetLoaderPlugin');\n\nexport function WrapWidgetPlugin(\n plugin: WidgetPlugin\n): React.ForwardRefExoticComponent<PanelProps & React.RefAttributes<unknown>> {\n function Wrapper(props: PanelProps, ref: React.ForwardedRef<unknown>) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const C = plugin.component as any;\n const { metadata } = props;\n\n const hasRef = canHaveRef(C);\n\n return (\n <WidgetPanel\n widgetName={metadata?.name}\n widgetType={plugin.title}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n >\n {hasRef ? (\n <C\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n ref={ref}\n />\n ) : (\n <C\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...props}\n />\n )}\n </WidgetPanel>\n );\n }\n\n Wrapper.displayName = `WidgetLoaderPlugin(${\n plugin.component.displayName ?? plugin.name\n })`;\n\n return forwardRef(Wrapper);\n}\n\n/**\n * Widget to automatically open any supported WidgetPlugin types as panels\n * if the widget is emitted from the server as the result of executed code.\n *\n * Does not open panels for widgets that are not supported by any plugins.\n * Does not open panels for widgets that are a component of a larger widget or UI element.\n *\n * @param props Dashboard plugin props\n * @returns React element\n */\nexport function WidgetLoaderPlugin(\n props: Partial<DashboardPluginComponentProps>\n): JSX.Element | null {\n const plugins = usePlugins();\n const supportedTypes = useMemo(() => {\n const typeMap = new Map<string, WidgetPlugin>();\n plugins.forEach(plugin => {\n if (!isWidgetPlugin(plugin)) {\n return;\n }\n\n [plugin.supportedTypes].flat().forEach(supportedType => {\n if (supportedType != null && supportedType !== '') {\n if (typeMap.has(supportedType)) {\n log.warn(\n `Multiple WidgetPlugins handling type ${supportedType}. Replacing ${typeMap.get(\n supportedType\n )?.name} with ${plugin.name} to handle ${supportedType}`\n );\n }\n typeMap.set(supportedType, plugin);\n }\n });\n });\n\n return typeMap;\n }, [plugins]);\n\n assertIsDashboardPluginProps(props);\n const { id, layout, registerComponent } = props;\n\n const handlePanelOpen = useCallback(\n ({\n dragEvent,\n fetch,\n panelId = shortid.generate(),\n widget,\n }: PanelOpenEventDetail) => {\n const { id: widgetId, type } = widget;\n const name = widget.title ?? widget.name;\n const plugin = supportedTypes.get(type);\n if (plugin == null) {\n return;\n }\n const metadata = { id: widgetId, name, type };\n const panelProps: DehydratedDashboardPanelProps & {\n fetch?: typeof fetch;\n } = {\n localDashboardId: id,\n metadata,\n fetch,\n };\n\n const config: ReactComponentConfig = {\n type: 'react-component',\n component: plugin.name,\n props: panelProps,\n title: name,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout, supportedTypes]\n );\n\n useEffect(() => {\n const deregisterFns = [...new Set(supportedTypes.values())].map(plugin => {\n const { panelComponent } = plugin;\n if (panelComponent == null) {\n return registerComponent(plugin.name, WrapWidgetPlugin(plugin));\n }\n return registerComponent(plugin.name, panelComponent);\n });\n\n return () => {\n deregisterFns.forEach(deregister => deregister());\n };\n }, [registerComponent, supportedTypes]);\n\n /**\n * Listen for panel open events so we know when to open a panel\n */\n useListener(layout.eventHub, PanelEvent.OPEN, handlePanelOpen);\n\n return null;\n}\n\nexport default WidgetLoaderPlugin;\n"],"mappings":"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"}
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
.dropdown-filter .dropdown-filter-value-input input:focus {
|
|
82
82
|
outline: none;
|
|
83
83
|
border-bottom: 1px solid var(--dh-color-input-focus-border);
|
|
84
|
-
box-shadow: 0 0.2rem 0
|
|
84
|
+
box-shadow: 0 0.2rem 0 color-mix(in srgb, var(--dh-color-accent) 35%, transparent);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
/*# sourceMappingURL=DropdownFilter.css.map */
|