@deephaven/dashboard-core-plugins 0.60.1-beta.5 → 0.60.1-object-fetcher.6

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.
Files changed (64) hide show
  1. package/dist/ChartPanelPlugin.d.ts +7 -2
  2. package/dist/ChartPanelPlugin.d.ts.map +1 -1
  3. package/dist/ChartPanelPlugin.js +12 -13
  4. package/dist/ChartPanelPlugin.js.map +1 -1
  5. package/dist/ChartPluginConfig.d.ts +2 -1
  6. package/dist/ChartPluginConfig.d.ts.map +1 -1
  7. package/dist/ChartPluginConfig.js.map +1 -1
  8. package/dist/GridPanelPlugin.d.ts +7 -2
  9. package/dist/GridPanelPlugin.d.ts.map +1 -1
  10. package/dist/GridPanelPlugin.js +5 -2
  11. package/dist/GridPanelPlugin.js.map +1 -1
  12. package/dist/GridWidgetPlugin.d.ts +1 -2
  13. package/dist/GridWidgetPlugin.d.ts.map +1 -1
  14. package/dist/GridWidgetPlugin.js.map +1 -1
  15. package/dist/PandasPanelPlugin.d.ts +7 -2
  16. package/dist/PandasPanelPlugin.d.ts.map +1 -1
  17. package/dist/PandasPanelPlugin.js +3 -2
  18. package/dist/PandasPanelPlugin.js.map +1 -1
  19. package/dist/PandasPluginConfig.d.ts +2 -1
  20. package/dist/PandasPluginConfig.d.ts.map +1 -1
  21. package/dist/PandasPluginConfig.js.map +1 -1
  22. package/dist/WidgetLoaderPlugin.d.ts.map +1 -1
  23. package/dist/WidgetLoaderPlugin.js +9 -14
  24. package/dist/WidgetLoaderPlugin.js.map +1 -1
  25. package/dist/controls/dropdown-filter/DropdownFilter.css +1 -1
  26. package/dist/controls/dropdown-filter/DropdownFilter.css.map +1 -1
  27. package/dist/controls/input-filter/InputFilter.css +1 -1
  28. package/dist/controls/input-filter/InputFilter.css.map +1 -1
  29. package/dist/linker/LinkerLink.css.map +1 -1
  30. package/dist/linker/LinkerOverlayContent.css.map +1 -1
  31. package/dist/panels/ChartColumnSelectorOverlay.css.map +1 -1
  32. package/dist/panels/ChartFilterOverlay.css.map +1 -1
  33. package/dist/panels/ChartPanel.css +1 -1
  34. package/dist/panels/ChartPanel.css.map +1 -1
  35. package/dist/panels/CommandHistoryPanel.css.map +1 -1
  36. package/dist/panels/ConsolePanel.css.map +1 -1
  37. package/dist/panels/ConsolePanel.d.ts +2 -3
  38. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  39. package/dist/panels/ConsolePanel.js +14 -13
  40. package/dist/panels/ConsolePanel.js.map +1 -1
  41. package/dist/panels/DropdownFilterPanel.css.map +1 -1
  42. package/dist/panels/DropdownFilterPanel.d.ts +4 -8
  43. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  44. package/dist/panels/FileExplorerPanel.d.ts +4 -8
  45. package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
  46. package/dist/panels/FilterSetManager.css +1 -1
  47. package/dist/panels/FilterSetManager.css.map +1 -1
  48. package/dist/panels/FilterSetManagerPanel.css.map +1 -1
  49. package/dist/panels/IrisGridPanel.css.map +1 -1
  50. package/dist/panels/IrisGridPanel.js.map +1 -1
  51. package/dist/panels/LogPanel.css.map +1 -1
  52. package/dist/panels/MarkdownNotebook.css +1 -1
  53. package/dist/panels/MarkdownNotebook.css.map +1 -1
  54. package/dist/panels/MarkdownPanel.css.map +1 -1
  55. package/dist/panels/NotebookPanel.css.map +1 -1
  56. package/dist/panels/PandasPanel.css.map +1 -1
  57. package/dist/panels/WidgetPanel.css +1 -1
  58. package/dist/panels/WidgetPanel.css.map +1 -1
  59. package/dist/panels/WidgetPanelTooltip.css.map +1 -1
  60. package/dist/useHydrateGrid.d.ts +2 -2
  61. package/dist/useHydrateGrid.d.ts.map +1 -1
  62. package/dist/useHydrateGrid.js +5 -4
  63. package/dist/useHydrateGrid.js.map +1 -1
  64. package/package.json +24 -24
@@ -1,6 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { WidgetPanelProps } from '@deephaven/plugin';
2
+ import type { Figure } from '@deephaven/jsapi-types';
3
3
  import { type ChartPanel } from './panels/ChartPanel';
4
- export declare const ChartPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps & import("react").RefAttributes<ChartPanel>>;
4
+ export declare const ChartPanelPlugin: import("react").ForwardRefExoticComponent<import("@deephaven/plugin").WidgetComponentProps<Figure> & {
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
10
  export default ChartPanelPlugin;
6
11
  //# sourceMappingURL=ChartPanelPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartPanelPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPanelPlugin.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAwF7B,eAAO,MAAM,gBAAgB,yGA6C5B,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ChartPanelPlugin.d.ts","sourceRoot":"","sources":["../src/ChartPanelPlugin.tsx"],"names":[],"mappings":";AAYA,OAAO,KAAK,EAAgB,MAAM,EAAS,MAAM,wBAAwB,CAAC;AAW1E,OAA4B,EAC1B,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAwF7B,eAAO,MAAM,gBAAgB;;;;;8CA6C5B,CAAC;AAIF,eAAe,gBAAgB,CAAC"}
@@ -6,8 +6,7 @@ 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 } from '@deephaven/jsapi-bootstrap';
10
- import { useConnection } from '@deephaven/jsapi-components';
9
+ import { useApi, useObjectFetcher } from '@deephaven/jsapi-bootstrap';
11
10
  import { ChartModelFactory, useChartTheme } from '@deephaven/chart';
12
11
  import { IrisGridUtils } from '@deephaven/iris-grid';
13
12
  import { getTimeZone, store } from '@deephaven/redux';
@@ -18,7 +17,7 @@ function createChartModel(_x, _x2, _x3, _x4, _x5, _x6) {
18
17
  return _createChartModel.apply(this, arguments);
19
18
  }
20
19
  function _createChartModel() {
21
- _createChartModel = _asyncToGenerator(function* (dh, chartTheme, connection, metadata, fetch, panelState) {
20
+ _createChartModel = _asyncToGenerator(function* (dh, chartTheme, fetchObject, metadata, fetchFigure, panelState) {
22
21
  var settings;
23
22
  var tableName;
24
23
  var figureName;
@@ -49,27 +48,27 @@ function _createChartModel() {
49
48
  }
50
49
  }
51
50
  if (figureName == null && tableName == null) {
52
- var figure = yield fetch();
51
+ var figure = yield fetchFigure();
53
52
  return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);
54
53
  }
55
54
  if (figureName != null) {
56
55
  var _figure;
57
56
  if (metadata.type === dh.VariableType.FIGURE) {
58
- var _definition = {
57
+ var _descriptor = {
59
58
  name: figureName,
60
59
  type: dh.VariableType.FIGURE
61
60
  };
62
- _figure = yield connection.getObject(_definition);
61
+ _figure = yield fetchObject(_descriptor);
63
62
  } else {
64
- _figure = yield fetch();
63
+ _figure = yield fetchFigure();
65
64
  }
66
65
  return ChartModelFactory.makeModel(dh, settings, _figure, chartTheme);
67
66
  }
68
- var definition = {
67
+ var descriptor = {
69
68
  name: tableName,
70
69
  type: dh.VariableType.TABLE
71
70
  };
72
- var table = yield connection.getObject(definition);
71
+ var table = yield fetchObject(descriptor);
73
72
  new IrisGridUtils(dh).applyTableSettings(table, tableSettings, getTimeZone(store.getState()));
74
73
  return ChartModelFactory.makeModelFromSettings(dh,
75
74
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -80,10 +79,10 @@ function _createChartModel() {
80
79
  export var ChartPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
81
80
  var dh = useApi();
82
81
  var chartTheme = useChartTheme();
83
- var connection = useConnection();
82
+ var objectFetcher = useObjectFetcher();
84
83
  var panelState = isChartPanelDehydratedProps(props) ? props.panelState : undefined;
85
84
  var {
86
- fetch,
85
+ fetch: panelFetch,
87
86
  metadata,
88
87
  localDashboardId
89
88
  } = props;
@@ -94,9 +93,9 @@ export var ChartPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
94
93
  if (metadata == null) {
95
94
  throw new Error('Metadata is required for chart panel');
96
95
  }
97
- return createChartModel(dh, chartTheme, connection, metadata, fetch, panelState);
96
+ return createChartModel(dh, chartTheme, objectFetcher, metadata, panelFetch, panelState);
98
97
  }
99
- }), [dh, connection, fetch, panelState, metadata, localDashboardId, chartTheme]);
98
+ }), [metadata, localDashboardId, dh, chartTheme, objectFetcher, panelFetch, panelState]);
100
99
 
101
100
  // eslint-disable-next-line react/jsx-props-no-spreading
102
101
  return /*#__PURE__*/_jsx(ConnectedChartPanel, _objectSpread(_objectSpread({
@@ -1 +1 @@
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, 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 as () => Promise<Figure>,\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
+ {"version":3,"file":"ChartPanelPlugin.js","names":["forwardRef","useMemo","useApi","useObjectFetcher","ChartModelFactory","useChartTheme","IrisGridUtils","getTimeZone","store","isChartPanelDehydratedProps","isChartPanelFigureMetadata","isChartPanelTableMetadata","ConnectedChartPanel","jsx","_jsx","createChartModel","_x","_x2","_x3","_x4","_x5","_x6","_createChartModel","apply","arguments","_asyncToGenerator","dh","chartTheme","fetchObject","metadata","fetchFigure","panelState","settings","tableName","figureName","tableSettings","table","undefined","figure","name","_objectSpread","makeModel","type","VariableType","FIGURE","descriptor","TABLE","applyTableSettings","getState","makeModelFromSettings","ChartPanelPlugin","props","ref","objectFetcher","fetch","panelFetch","localDashboardId","hydratedProps","Error","displayName"],"sources":["../src/ChartPanelPlugin.tsx"],"sourcesContent":["import { forwardRef, useMemo } from 'react';\nimport {\n ObjectFetcher,\n useApi,\n useObjectFetcher,\n} from '@deephaven/jsapi-bootstrap';\nimport {\n ChartModel,\n ChartModelFactory,\n ChartTheme,\n useChartTheme,\n} from '@deephaven/chart';\nimport type { dh as DhType, Figure, Table } 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 fetchObject: ObjectFetcher,\n metadata: ChartPanelMetadata,\n fetchFigure: () => 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 fetchFigure();\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 descriptor = {\n name: figureName,\n type: dh.VariableType.FIGURE,\n };\n figure = (await fetchObject(descriptor)) as Figure;\n } else {\n figure = await fetchFigure();\n }\n\n return ChartModelFactory.makeModel(dh, settings, figure, chartTheme);\n }\n\n const descriptor = {\n name: tableName,\n type: dh.VariableType.TABLE,\n };\n const table = (await fetchObject(descriptor)) as Table;\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 objectFetcher = useObjectFetcher();\n\n const panelState = isChartPanelDehydratedProps(props)\n ? (props as unknown as ChartPanelProps).panelState\n : undefined;\n\n const { fetch: panelFetch, 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 objectFetcher,\n metadata as ChartPanelMetadata,\n panelFetch,\n panelState\n );\n },\n }),\n [\n metadata,\n localDashboardId,\n dh,\n chartTheme,\n objectFetcher,\n panelFetch,\n panelState,\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,4 +1,5 @@
1
1
  import { type WidgetPlugin } from '@deephaven/plugin';
2
- declare const ChartPluginConfig: WidgetPlugin;
2
+ import { Figure } from '@deephaven/jsapi-types';
3
+ declare const ChartPluginConfig: WidgetPlugin<Figure>;
3
4
  export default ChartPluginConfig;
4
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;AAKlE,QAAA,MAAM,iBAAiB,EAAE,YAQxB,CAAC;AAEF,eAAe,iBAAiB,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,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIhD,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 { ChartWidgetPlugin } from './ChartWidgetPlugin';\nimport { ChartPanelPlugin } from './ChartPanelPlugin';\n\nconst ChartPluginConfig: WidgetPlugin = {\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,SAClCC,iBAAiB;AAAA,SACjBC,gBAAgB;AAEzB,IAAMC,iBAA+B,GAAG;EACtCC,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 { 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,6 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { WidgetPanelProps } from '@deephaven/plugin';
2
+ import { type Table } from '@deephaven/jsapi-types';
3
3
  import { type IrisGridPanel } from './panels/IrisGridPanel';
4
- export declare const GridPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps & import("react").RefAttributes<IrisGridPanel>>;
4
+ export declare const GridPanelPlugin: import("react").ForwardRefExoticComponent<import("@deephaven/plugin").WidgetComponentProps<Table> & {
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
10
  export default GridPanelPlugin;
6
11
  //# sourceMappingURL=GridPanelPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridPanelPlugin.d.ts","sourceRoot":"","sources":["../src/GridPanelPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAA+B,EAC7B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,eAAe,4GAW3B,CAAC;AAIF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"GridPanelPlugin.d.ts","sourceRoot":"","sources":["../src/GridPanelPlugin.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAA+B,EAC7B,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,eAAe;;;;;iDAS3B,CAAC;AAIF,eAAe,eAAe,CAAC"}
@@ -4,15 +4,18 @@ 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';
7
8
  import useHydrateGrid from "./useHydrateGrid.js";
8
9
  import ConnectedIrisGridPanel from "./panels/IrisGridPanel.js";
9
10
  import { jsx as _jsx } from "react/jsx-runtime";
10
11
  export var GridPanelPlugin = /*#__PURE__*/forwardRef((props, ref) => {
11
12
  var {
12
13
  localDashboardId,
13
- fetch
14
+ fetch,
15
+ metadata
14
16
  } = props;
15
- var hydratedProps = useHydrateGrid(fetch, localDashboardId);
17
+ assertNotNull(metadata, 'metadata is required for grid panel');
18
+ var hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);
16
19
 
17
20
  // eslint-disable-next-line react/jsx-props-no-spreading
18
21
  return /*#__PURE__*/_jsx(ConnectedIrisGridPanel, _objectSpread(_objectSpread({
@@ -1 +1 @@
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, ref: React.Ref<IrisGridPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(\n fetch as () => Promise<Table>,\n localDashboardId\n );\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,KAAuB,EAAEC,GAA6B,KAAK;EAC1D,IAAM;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAGH,KAAK;EACzC,IAAMI,aAAa,GAAGT,cAAc,CAClCQ,KAAK,EACLD,gBACF,CAAC;;EAED;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
+ {"version":3,"file":"GridPanelPlugin.js","names":["forwardRef","assertNotNull","useHydrateGrid","ConnectedIrisGridPanel","jsx","_jsx","GridPanelPlugin","props","ref","localDashboardId","fetch","metadata","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 { assertNotNull } from '@deephaven/utils';\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, metadata } = props;\n assertNotNull(metadata, 'metadata is required for grid panel');\n const hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);\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;AAGlC,SAASC,aAAa,QAAQ,kBAAkB;AAAC,OAC1CC,cAAc;AAAA,OACdC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI7B,OAAO,IAAMC,eAAe,gBAAGN,UAAU,CACvC,CAACO,KAA8B,EAAEC,GAA6B,KAAK;EACjE,IAAM;IAAEC,gBAAgB;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGJ,KAAK;EACnDN,aAAa,CAACU,QAAQ,EAAE,qCAAqC,CAAC;EAC9D,IAAMC,aAAa,GAAGV,cAAc,CAACQ,KAAK,EAAED,gBAAgB,EAAEE,QAAQ,CAAC;;EAEvE;EACA,oBAAON,IAAA,CAACF,sBAAsB,EAAAU,aAAA,CAAAA,aAAA;IAACL,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAAMK,aAAa,CAAG,CAAC;AAC3E,CACF,CAAC;AAEDN,eAAe,CAACQ,WAAW,GAAG,iBAAiB;AAE/C,eAAeR,eAAe"}
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { type WidgetComponentProps } from '@deephaven/plugin';
3
- import { type Table } from '@deephaven/jsapi-types';
4
- export declare function GridWidgetPlugin(props: WidgetComponentProps<Table>): JSX.Element | null;
3
+ export declare function GridWidgetPlugin(props: WidgetComponentProps): JSX.Element | null;
5
4
  export default GridWidgetPlugin;
6
5
  //# 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;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
+ {"version":3,"file":"GridWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/GridWidgetPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAS9D,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,oBAAoB,GAC1B,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<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
+ {"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\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()) as unknown as Table;\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,KAA2B,EACP;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,SAAUP,KAAK,CAAC,CAAsB;QACjD,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,6 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { WidgetPanelProps } from '@deephaven/plugin';
2
+ import { type Table } from '@deephaven/jsapi-types';
3
3
  import { PandasPanel } from './panels';
4
- export declare const PandasPanelPlugin: import("react").ForwardRefExoticComponent<WidgetPanelProps & import("react").RefAttributes<PandasPanel>>;
4
+ export declare const PandasPanelPlugin: import("react").ForwardRefExoticComponent<import("@deephaven/plugin").WidgetComponentProps<Table> & {
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
10
  export default PandasPanelPlugin;
6
11
  //# sourceMappingURL=PandasPanelPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PandasPanelPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPanelPlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,iBAAiB,0GAa7B,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"PandasPanelPlugin.d.ts","sourceRoot":"","sources":["../src/PandasPanelPlugin.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,eAAO,MAAM,iBAAiB;;;;;+CAU7B,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
@@ -10,9 +10,10 @@ 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
13
+ fetch,
14
+ metadata
14
15
  } = props;
15
- var hydratedProps = useHydrateGrid(fetch, localDashboardId);
16
+ var hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);
16
17
  return (
17
18
  /*#__PURE__*/
18
19
  // 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","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, ref: React.Ref<PandasPanel>) => {\n const { localDashboardId, fetch } = props;\n const hydratedProps = useHydrateGrid(\n fetch as () => Promise<Table>,\n localDashboardId\n );\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,KAAuB,EAAEC,GAA2B,KAAK;EACxD,IAAM;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAGH,KAAK;EACzC,IAAMI,aAAa,GAAGR,cAAc,CAClCO,KAAK,EACLD,gBACF,CAAC;EAED;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
+ {"version":3,"file":"PandasPanelPlugin.js","names":["forwardRef","PandasPanel","useHydrateGrid","jsx","_jsx","PandasPanelPlugin","props","ref","localDashboardId","fetch","metadata","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, metadata } = props;\n const hydratedProps = useHydrateGrid(fetch, localDashboardId, metadata);\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,KAAK;IAAEC;EAAS,CAAC,GAAGJ,KAAK;EACnD,IAAMK,aAAa,GAAGT,cAAc,CAACO,KAAK,EAAED,gBAAgB,EAAEE,QAAQ,CAAC;EAEvE;IAAA;IACE;IACAN,IAAA,CAACH,WAAW,EAAAW,aAAA,CAAAA,aAAA;MAACL,GAAG,EAAEA;IAAI,GAAKD,KAAK,GAAMK,aAAa,CAAG;EAAC;AAE3D,CACF,CAAC;AAEDN,iBAAiB,CAACQ,WAAW,GAAG,mBAAmB;AAEnD,eAAeR,iBAAiB"}
@@ -1,4 +1,5 @@
1
1
  import { WidgetPlugin } from '@deephaven/plugin';
2
- declare const PandasPluginConfig: WidgetPlugin;
2
+ import { Table } from '@deephaven/jsapi-types';
3
+ declare const PandasPluginConfig: WidgetPlugin<Table>;
3
4
  export default PandasPluginConfig;
4
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;AAK7D,QAAA,MAAM,kBAAkB,EAAE,YAQzB,CAAC;AAEF,eAAe,kBAAkB,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,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAI/C,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 { PandasWidgetPlugin } from './PandasWidgetPlugin';\nimport { PandasPanelPlugin } from './PandasPanelPlugin';\n\nconst PandasPluginConfig: WidgetPlugin = {\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,SACnCC,kBAAkB;AAAA,SAClBC,iBAAiB;AAE1B,IAAMC,kBAAgC,GAAG;EACvCC,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 { 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 +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;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"}
1
+ {"version":3,"file":"WidgetLoaderPlugin.d.ts","sourceRoot":"","sources":["../src/WidgetLoaderPlugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAEL,6BAA6B,EAM7B,UAAU,EAEX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAK3B,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,14 +6,15 @@ 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 { isWidgetPlugin, usePlugins } from '@deephaven/plugin';
10
9
  import Log from '@deephaven/log';
10
+ import { isWidgetPlugin, usePlugins } from '@deephaven/plugin';
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;
17
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
19
  var C = plugin.component;
19
20
  var {
@@ -21,7 +22,7 @@ export function WrapWidgetPlugin(plugin) {
21
22
  } = props;
22
23
  var hasRef = canHaveRef(C);
23
24
  return /*#__PURE__*/_jsx(WidgetPanel, _objectSpread(_objectSpread({
24
- widgetName: metadata === null || metadata === void 0 ? void 0 : metadata.name,
25
+ widgetName: (_metadata$name = metadata === null || metadata === void 0 ? void 0 : metadata.name) !== null && _metadata$name !== void 0 ? _metadata$name : undefined,
25
26
  widgetType: plugin.title
26
27
  // eslint-disable-next-line react/jsx-props-no-spreading
27
28
  }, props), {}, {
@@ -75,27 +76,21 @@ export function WidgetLoaderPlugin(props) {
75
76
  registerComponent
76
77
  } = props;
77
78
  var handlePanelOpen = useCallback(_ref => {
78
- var _widget$title;
79
+ var _metadata$name2;
79
80
  var {
80
81
  dragEvent,
81
- fetch,
82
82
  panelId = shortid.generate(),
83
- widget
83
+ fetch,
84
+ metadata
84
85
  } = _ref;
85
86
  var {
86
- id: widgetId,
87
87
  type
88
- } = widget;
89
- var name = (_widget$title = widget.title) !== null && _widget$title !== void 0 ? _widget$title : widget.name;
90
- var plugin = supportedTypes.get(type);
88
+ } = metadata;
89
+ var plugin = type != null ? supportedTypes.get(type) : null;
91
90
  if (plugin == null) {
92
91
  return;
93
92
  }
94
- var metadata = {
95
- id: widgetId,
96
- name,
97
- type
98
- };
93
+ var name = (_metadata$name2 = metadata.name) !== null && _metadata$name2 !== void 0 ? _metadata$name2 : type;
99
94
  var panelProps = {
100
95
  localDashboardId: id,
101
96
  metadata,
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"WidgetLoaderPlugin.js","names":["useMemo","useCallback","useEffect","forwardRef","shortid","assertIsDashboardPluginProps","PanelEvent","LayoutUtils","useListener","canHaveRef","Log","isWidgetPlugin","usePlugins","WidgetPanel","jsx","_jsx","log","module","WrapWidgetPlugin","plugin","_plugin$component$dis","Wrapper","props","ref","_metadata$name","C","component","metadata","hasRef","_objectSpread","widgetName","name","undefined","widgetType","title","children","displayName","concat","WidgetLoaderPlugin","plugins","supportedTypes","typeMap","Map","forEach","flat","supportedType","has","_typeMap$get","warn","get","set","id","layout","registerComponent","handlePanelOpen","_ref","_metadata$name2","dragEvent","panelId","generate","fetch","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 Log from '@deephaven/log';\nimport {\n isWidgetPlugin,\n usePlugins,\n type WidgetPlugin,\n} from '@deephaven/plugin';\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 ?? undefined}\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 panelId = shortid.generate(),\n fetch,\n metadata,\n }: PanelOpenEventDetail) => {\n const { type } = metadata;\n const plugin = type != null ? supportedTypes.get(type) : null;\n if (plugin == null) {\n return;\n }\n const name = metadata.name ?? type;\n\n const panelProps: DehydratedDashboardPanelProps & {\n fetch?: () => Promise<unknown>;\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 color-mix(in srgb, var(--dh-color-accent) 35%, transparent);
84
+ box-shadow: 0 0.2rem 0 hsla(var(--dh-color-accent-hsl), 0.35);
85
85
  }
86
86
 
87
87
  /*# sourceMappingURL=DropdownFilter.css.map */