@jbrowse/core 1.7.11 → 2.0.0

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 (77) hide show
  1. package/BaseFeatureWidget/BaseFeatureDetail.d.ts +11 -1
  2. package/BaseFeatureWidget/BaseFeatureDetail.js +49 -26
  3. package/BaseFeatureWidget/SequenceFeatureDetails.js +20 -15
  4. package/BaseFeatureWidget/index.d.ts +2 -2
  5. package/BaseFeatureWidget/index.js +5 -3
  6. package/BaseFeatureWidget/index.test.js +48 -30
  7. package/PluginManager.d.ts +58 -86
  8. package/ReExports/Attributes.d.ts +2 -0
  9. package/ReExports/Attributes.js +12 -0
  10. package/ReExports/BaseCard.d.ts +2 -0
  11. package/ReExports/BaseCard.js +12 -0
  12. package/ReExports/DataGrid.d.ts +2 -0
  13. package/ReExports/DataGrid.js +13 -0
  14. package/ReExports/FeatureDetails.d.ts +2 -0
  15. package/ReExports/FeatureDetails.js +12 -0
  16. package/ReExports/list.js +1 -1
  17. package/ReExports/material-ui-colors.d.ts +1 -19
  18. package/ReExports/material-ui-colors.js +11 -152
  19. package/ReExports/modules.d.ts +59 -91
  20. package/ReExports/modules.js +683 -127
  21. package/TextSearch/TextSearchManager.d.ts +3 -1
  22. package/assemblyManager/assembly.js +1 -0
  23. package/assemblyManager/assemblyManager.d.ts +12 -10
  24. package/assemblyManager/assemblyManager.js +2 -0
  25. package/configuration/util.d.ts +1 -1
  26. package/package.json +14 -15
  27. package/pluggableElementTypes/models/BaseDisplayModel.d.ts +10 -10
  28. package/pluggableElementTypes/models/BaseTrackModel.d.ts +1 -1
  29. package/pluggableElementTypes/models/BaseTrackModel.js +24 -25
  30. package/pluggableElementTypes/renderers/ServerSideRenderedContent.js +2 -2
  31. package/pluggableElementTypes/renderers/ServerSideRendererType.d.ts +2 -2
  32. package/pluggableElementTypes/renderers/ServerSideRendererType.js +1 -1
  33. package/rpc/BaseRpcDriver.js +1 -1
  34. package/tsconfig.build.tsbuildinfo +1 -1
  35. package/ui/AboutDialog.js +15 -10
  36. package/ui/App.js +18 -37
  37. package/ui/AssemblySelector.d.ts +1 -1
  38. package/ui/AssemblySelector.js +10 -5
  39. package/ui/CascadingMenu.js +10 -14
  40. package/ui/Drawer.js +8 -5
  41. package/ui/DrawerWidget.js +39 -45
  42. package/ui/DropDownMenu.d.ts +0 -8
  43. package/ui/DropDownMenu.js +9 -15
  44. package/ui/EditableTypography.d.ts +1 -1
  45. package/ui/EditableTypography.js +42 -48
  46. package/ui/ErrorMessage.js +13 -23
  47. package/ui/FactoryResetDialog.js +6 -6
  48. package/ui/FatalErrorDialog.js +5 -5
  49. package/ui/FileSelector/FileSelector.js +19 -19
  50. package/ui/FileSelector/LocalFileChooser.js +12 -8
  51. package/ui/FileSelector/UrlChooser.js +2 -2
  52. package/ui/Icons.d.ts +1 -1
  53. package/ui/Icons.js +1 -1
  54. package/ui/Menu.d.ts +1 -1
  55. package/ui/Menu.js +28 -29
  56. package/ui/PrerenderedCanvas.js +10 -1
  57. package/ui/ResizeHandle.js +8 -6
  58. package/ui/ReturnToImportFormDialog.js +14 -10
  59. package/ui/SanitizedHTML.js +15 -21
  60. package/ui/Snackbar.js +11 -9
  61. package/ui/Tooltip.d.ts +3 -1
  62. package/ui/Tooltip.js +5 -3
  63. package/ui/ViewContainer.js +38 -25
  64. package/ui/theme.d.ts +279 -131
  65. package/ui/theme.js +174 -154
  66. package/ui/theme.test.js +56 -75
  67. package/util/Base1DViewModel.d.ts +1 -8
  68. package/util/Base1DViewModel.js +11 -13
  69. package/util/color/index.js +6 -6
  70. package/util/index.d.ts +1 -7
  71. package/util/index.js +8 -18
  72. package/util/layouts/GranularRectLayout.js +1 -3
  73. package/util/layouts/PrecomputedLayout.js +1 -3
  74. package/util/tracks.js +4 -2
  75. package/util/types/index.d.ts +3 -3
  76. package/util/types/mst.d.ts +3 -3
  77. package/util/types/mst.js +11 -7
@@ -2,7 +2,17 @@ import React from 'react';
2
2
  import { IAnyStateTreeNode } from 'mobx-state-tree';
3
3
  import { BaseCardProps, BaseProps } from './types';
4
4
  import { SimpleFeatureSerialized } from '../util/simpleFeature';
5
- export declare const useStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"expandIcon" | "expansionPanelDetails" | "field" | "fieldDescription" | "fieldName" | "fieldValue" | "fieldSubvalue">;
5
+ export declare const useStyles: (params: void, styleOverrides?: {
6
+ props: {
7
+ classes?: Record<string, string> | undefined;
8
+ } & Record<string, unknown>;
9
+ ownerState?: Record<string, unknown> | undefined;
10
+ } | undefined) => {
11
+ classes: Record<"expansionPanelDetails" | "expandIcon" | "field" | "fieldDescription" | "fieldName" | "fieldValue" | "fieldSubvalue", string>;
12
+ theme: import("@mui/material").Theme;
13
+ css: import("tss-react/types").Css;
14
+ cx: import("tss-react/types").Cx;
15
+ };
6
16
  export declare function BaseCard({ children, title, defaultExpanded, }: BaseCardProps): JSX.Element;
7
17
  export declare const FieldName: ({ description, name, width, prefix, }: {
8
18
  description?: React.ReactNode;
@@ -26,16 +26,16 @@ var _react = _interopRequireWildcard(require("react"));
26
26
 
27
27
  var _reactErrorBoundary = require("react-error-boundary");
28
28
 
29
- var _core = require("@material-ui/core");
29
+ var _material = require("@mui/material");
30
30
 
31
- var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
31
+ var _mui = require("tss-react/mui");
32
+
33
+ var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
32
34
 
33
35
  var _xDataGrid = require("@mui/x-data-grid");
34
36
 
35
37
  var _mobxReact = require("mobx-react");
36
38
 
37
- var _clsx = _interopRequireDefault(require("clsx"));
38
-
39
39
  var _isObject = _interopRequireDefault(require("is-object"));
40
40
 
41
41
  var _configuration = require("../configuration");
@@ -64,7 +64,7 @@ var MAX_FIELD_NAME_WIDTH = 170; // these are always omitted as too detailed
64
64
  var globalOmit = ['__jbrowsefmt', 'length', 'position', 'subfeatures', 'uniqueId', 'exonFrames', 'parentId', 'thickStart', 'thickEnd']; // coreDetails are omitted in some circumstances
65
65
 
66
66
  var coreDetails = ['name', 'start', 'end', 'strand', 'refName', 'description', 'type'];
67
- var useStyles = (0, _core.makeStyles)(function (theme) {
67
+ var useStyles = (0, _mui.makeStyles)()(function (theme) {
68
68
  return {
69
69
  expansionPanelDetails: {
70
70
  display: 'block',
@@ -86,6 +86,7 @@ var useStyles = (0, _core.makeStyles)(function (theme) {
86
86
  wordBreak: 'break-all',
87
87
  minWidth: '90px',
88
88
  borderBottom: '1px solid #0003',
89
+ fontSize: 12,
89
90
  background: theme.palette.grey[200],
90
91
  marginRight: theme.spacing(1),
91
92
  padding: theme.spacing(0.5)
@@ -93,6 +94,7 @@ var useStyles = (0, _core.makeStyles)(function (theme) {
93
94
  fieldValue: {
94
95
  wordBreak: 'break-word',
95
96
  maxHeight: 300,
97
+ fontSize: 12,
96
98
  padding: theme.spacing(0.5),
97
99
  overflow: 'auto'
98
100
  },
@@ -114,14 +116,16 @@ function BaseCard(_ref) {
114
116
  title = _ref.title,
115
117
  _ref$defaultExpanded = _ref.defaultExpanded,
116
118
  defaultExpanded = _ref$defaultExpanded === void 0 ? true : _ref$defaultExpanded;
117
- var classes = useStyles();
119
+
120
+ var _useStyles = useStyles(),
121
+ classes = _useStyles.classes;
118
122
 
119
123
  var _useState = (0, _react.useState)(defaultExpanded),
120
124
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
121
125
  expanded = _useState2[0],
122
126
  setExpanded = _useState2[1];
123
127
 
124
- return /*#__PURE__*/_react.default.createElement(_core.Accordion, {
128
+ return /*#__PURE__*/_react.default.createElement(_material.Accordion, {
125
129
  expanded: expanded,
126
130
  onChange: function onChange() {
127
131
  return setExpanded(function (s) {
@@ -131,13 +135,13 @@ function BaseCard(_ref) {
131
135
  TransitionProps: {
132
136
  unmountOnExit: true
133
137
  }
134
- }, /*#__PURE__*/_react.default.createElement(_core.AccordionSummary, {
138
+ }, /*#__PURE__*/_react.default.createElement(_material.AccordionSummary, {
135
139
  expandIcon: /*#__PURE__*/_react.default.createElement(_ExpandMore.default, {
136
140
  className: classes.expandIcon
137
141
  })
138
- }, /*#__PURE__*/_react.default.createElement(_core.Typography, {
142
+ }, /*#__PURE__*/_react.default.createElement(_material.Typography, {
139
143
  variant: "button"
140
- }, " ", title)), /*#__PURE__*/_react.default.createElement(_core.AccordionDetails, {
144
+ }, " ", title)), /*#__PURE__*/_react.default.createElement(_material.AccordionDetails, {
141
145
  className: classes.expansionPanelDetails
142
146
  }, children));
143
147
  }
@@ -148,13 +152,17 @@ var FieldName = function FieldName(_ref2) {
148
152
  width = _ref2.width,
149
153
  _ref2$prefix = _ref2.prefix,
150
154
  prefix = _ref2$prefix === void 0 ? [] : _ref2$prefix;
151
- var classes = useStyles();
155
+
156
+ var _useStyles2 = useStyles(),
157
+ classes = _useStyles2.classes,
158
+ cx = _useStyles2.cx;
159
+
152
160
  var val = [].concat((0, _toConsumableArray2.default)(prefix), [name]).join('.');
153
- return description ? /*#__PURE__*/_react.default.createElement(_core.Tooltip, {
161
+ return description ? /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
154
162
  title: description,
155
163
  placement: "left"
156
164
  }, /*#__PURE__*/_react.default.createElement("div", {
157
- className: (0, _clsx.default)(classes.fieldDescription, classes.fieldName)
165
+ className: cx(classes.fieldDescription, classes.fieldName)
158
166
  }, val)) : /*#__PURE__*/_react.default.createElement("div", {
159
167
  className: classes.fieldName,
160
168
  style: {
@@ -167,7 +175,10 @@ exports.FieldName = FieldName;
167
175
 
168
176
  var BasicValue = function BasicValue(_ref3) {
169
177
  var value = _ref3.value;
170
- var classes = useStyles();
178
+
179
+ var _useStyles3 = useStyles(),
180
+ classes = _useStyles3.classes;
181
+
171
182
  var isLink = "".concat(value).match(/^https?:\/\//);
172
183
  return /*#__PURE__*/_react.default.createElement("div", {
173
184
  className: classes.fieldValue
@@ -186,7 +197,10 @@ var SimpleValue = function SimpleValue(_ref4) {
186
197
  description = _ref4.description,
187
198
  prefix = _ref4.prefix,
188
199
  width = _ref4.width;
189
- var classes = useStyles();
200
+
201
+ var _useStyles4 = useStyles(),
202
+ classes = _useStyles4.classes;
203
+
190
204
  return value !== null && value !== undefined ? /*#__PURE__*/_react.default.createElement("div", {
191
205
  className: classes.field
192
206
  }, /*#__PURE__*/_react.default.createElement(FieldName, {
@@ -207,7 +221,9 @@ var ArrayValue = function ArrayValue(_ref5) {
207
221
  description = _ref5.description,
208
222
  _ref5$prefix = _ref5.prefix,
209
223
  prefix = _ref5$prefix === void 0 ? [] : _ref5$prefix;
210
- var classes = useStyles();
224
+
225
+ var _useStyles5 = useStyles(),
226
+ classes = _useStyles5.classes;
211
227
 
212
228
  if (value.length === 1) {
213
229
  return (0, _isObject.default)(value[0]) ? /*#__PURE__*/_react.default.createElement(Attributes, {
@@ -343,11 +359,18 @@ var DataGridDetails = function DataGridDetails(_ref10) {
343
359
  colNames = (0, _toConsumableArray2.default)(unionKeys);
344
360
  }
345
361
 
362
+ var getStr = function getStr(obj) {
363
+ return (0, _isObject.default)(obj) ? JSON.stringify(obj) : String(obj);
364
+ };
365
+
346
366
  var columns = colNames.map(function (val) {
347
367
  return {
348
368
  field: val,
369
+ renderCell: function renderCell(val) {
370
+ return getStr(val.formattedValue);
371
+ },
349
372
  width: Math.max.apply(Math, (0, _toConsumableArray2.default)(rows.map(function (row) {
350
- return Math.min(Math.max((0, _util.measureText)(String(row[val]), 14) + 50, 80), 1000);
373
+ return Math.min(Math.max((0, _util.measureText)(getStr(row[val]), 14) + 50, 80), 1000);
351
374
  })))
352
375
  };
353
376
  }); // disableSelection on click helps avoid
@@ -363,11 +386,9 @@ var DataGridDetails = function DataGridDetails(_ref10) {
363
386
  }
364
387
  }, /*#__PURE__*/_react.default.createElement(_xDataGrid.DataGrid, {
365
388
  disableSelectionOnClick: true,
366
- rowHeight: 20,
367
- headerHeight: 25,
389
+ rowHeight: 25,
368
390
  rows: rows,
369
391
  rowsPerPageOptions: [],
370
- hideFooterRowCount: true,
371
392
  hideFooterSelectedRowCount: true,
372
393
  columns: columns,
373
394
  hideFooter: rows.length < 100
@@ -405,7 +426,10 @@ function UriAttribute(_ref13) {
405
426
  var value = _ref13.value,
406
427
  prefix = _ref13.prefix,
407
428
  name = _ref13.name;
408
- var classes = useStyles();
429
+
430
+ var _useStyles6 = useStyles(),
431
+ classes = _useStyles6.classes;
432
+
409
433
  var uri = value.uri,
410
434
  _value$baseUri = value.baseUri,
411
435
  baseUri = _value$baseUri === void 0 ? '' : _value$baseUri;
@@ -451,7 +475,6 @@ function Attributes(props) {
451
475
 
452
476
  return v !== undefined && !omits.includes(k);
453
477
  }), prefix);
454
- var labelWidth = maxLabelWidth <= MAX_FIELD_NAME_WIDTH ? maxLabelWidth : MAX_FIELD_NAME_WIDTH;
455
478
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Object.entries(formattedAttributes).filter(function (_ref16) {
456
479
  var _ref17 = (0, _slicedToArray2.default)(_ref16, 2),
457
480
  k = _ref17[0],
@@ -468,7 +491,7 @@ function Attributes(props) {
468
491
  if (Array.isArray(value)) {
469
492
  // check if it looks like an array of objects, which could be used
470
493
  // in data grid
471
- return value.length > 2 && value.every(function (val) {
494
+ return value.length > 1 && value.every(function (val) {
472
495
  return (0, _isObject.default)(val);
473
496
  }) ? /*#__PURE__*/_react.default.createElement(DataGridDetails, {
474
497
  key: key,
@@ -502,7 +525,7 @@ function Attributes(props) {
502
525
  value: formatter(value, key),
503
526
  description: description,
504
527
  prefix: prefix,
505
- width: labelWidth
528
+ width: Math.min(maxLabelWidth, MAX_FIELD_NAME_WIDTH)
506
529
  });
507
530
  }
508
531
  }));
@@ -548,14 +571,14 @@ var FeatureDetails = function FeatureDetails(props) {
548
571
  var sequenceTypes = (0, _configuration.getConf)(session, ['featureDetails', 'sequenceTypes']) || defaultSeqTypes;
549
572
  return /*#__PURE__*/_react.default.createElement(BaseCard, {
550
573
  title: generateTitle(name, id, type)
551
- }, /*#__PURE__*/_react.default.createElement(_core.Typography, null, "Core details"), /*#__PURE__*/_react.default.createElement(CoreDetails, props), /*#__PURE__*/_react.default.createElement(_core.Divider, null), /*#__PURE__*/_react.default.createElement(_core.Typography, null, "Attributes"), /*#__PURE__*/_react.default.createElement(Attributes, (0, _extends2.default)({
574
+ }, /*#__PURE__*/_react.default.createElement(_material.Typography, null, "Core details"), /*#__PURE__*/_react.default.createElement(CoreDetails, props), /*#__PURE__*/_react.default.createElement(_material.Divider, null), /*#__PURE__*/_react.default.createElement(_material.Typography, null, "Attributes"), /*#__PURE__*/_react.default.createElement(Attributes, (0, _extends2.default)({
552
575
  attributes: feature
553
576
  }, props, {
554
577
  omit: [].concat((0, _toConsumableArray2.default)(omit), coreDetails)
555
578
  })), sequenceTypes.includes(feature.type) ? /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
556
579
  FallbackComponent: function FallbackComponent(_ref20) {
557
580
  var error = _ref20.error;
558
- return /*#__PURE__*/_react.default.createElement(_core.Typography, {
581
+ return /*#__PURE__*/_react.default.createElement(_material.Typography, {
559
582
  color: "error"
560
583
  }, "".concat(error));
561
584
  }
@@ -22,7 +22,9 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
22
22
 
23
23
  var _react = _interopRequireWildcard(require("react"));
24
24
 
25
- var _core = require("@material-ui/core");
25
+ var _material = require("@mui/material");
26
+
27
+ var _mui = require("tss-react/mui");
26
28
 
27
29
  var _reactIntersectionObserver = require("react-intersection-observer");
28
30
 
@@ -42,7 +44,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
42
44
 
43
45
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
44
46
 
45
- var useStyles = (0, _core.makeStyles)(function (theme) {
47
+ var useStyles = (0, _mui.makeStyles)()(function (theme) {
46
48
  return {
47
49
  button: {
48
50
  margin: theme.spacing(1)
@@ -250,7 +252,10 @@ function SequenceFeatureDetails(_ref6) {
250
252
 
251
253
  var model = _ref6.model,
252
254
  feature = _ref6.feature;
253
- var classes = useStyles();
255
+
256
+ var _useStyles = useStyles(),
257
+ classes = _useStyles.classes;
258
+
254
259
  var parentFeature = feature;
255
260
  var hasCDS = (_parentFeature$subfea = parentFeature.subfeatures) === null || _parentFeature$subfea === void 0 ? void 0 : _parentFeature$subfea.find(function (sub) {
256
261
  return sub.type === 'CDS';
@@ -421,26 +426,26 @@ function SequenceFeatureDetails(_ref6) {
421
426
  var loading = !sequence;
422
427
  return /*#__PURE__*/_react.default.createElement("div", {
423
428
  ref: ref
424
- }, /*#__PURE__*/_react.default.createElement(_core.Select, {
429
+ }, /*#__PURE__*/_react.default.createElement(_material.FormControl, null, /*#__PURE__*/_react.default.createElement(_material.Select, {
425
430
  value: mode,
426
431
  onChange: function onChange(event) {
427
432
  return setMode(event.target.value);
428
433
  }
429
- }, hasCDS ? /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
434
+ }, hasCDS ? /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
430
435
  value: "cds"
431
- }, "CDS") : null, hasCDS ? /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
436
+ }, "CDS") : null, hasCDS ? /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
432
437
  value: "protein"
433
- }, "Protein") : null, /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
438
+ }, "Protein") : null, /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
434
439
  value: "gene"
435
- }, "Gene w/ introns"), /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
440
+ }, "Gene w/ introns"), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
436
441
  value: "gene_collapsed_intron"
437
- }, "Gene w/ 10bp of intron"), /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
442
+ }, "Gene w/ 10bp of intron"), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
438
443
  value: "gene_updownstream"
439
- }, "Gene w/ 500bp up+down stream"), /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
444
+ }, "Gene w/ 500bp up+down stream"), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
440
445
  value: "gene_updownstream_collapsed_intron"
441
- }, "Gene w/ 500bp up+down stream w/ 10bp intron"), /*#__PURE__*/_react.default.createElement(_core.MenuItem, {
446
+ }, "Gene w/ 500bp up+down stream w/ 10bp intron"), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
442
447
  value: "cdna"
443
- }, "cDNA")), /*#__PURE__*/_react.default.createElement(_core.Button, {
448
+ }, "cDNA"))), /*#__PURE__*/_react.default.createElement(_material.Button, {
444
449
  className: classes.button,
445
450
  type: "button",
446
451
  variant: "contained",
@@ -457,9 +462,9 @@ function SequenceFeatureDetails(_ref6) {
457
462
  }, 1000);
458
463
  }
459
464
  }
460
- }, copied ? 'Copied to clipboard!' : 'Copy as plaintext'), /*#__PURE__*/_react.default.createElement(_core.Tooltip, {
465
+ }, copied ? 'Copied to clipboard!' : 'Copy as plaintext'), /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
461
466
  title: "Note that 'Copy as HTML' can retain the colors but cannot be pasted into some programs like notepad that only expect plain text"
462
- }, /*#__PURE__*/_react.default.createElement(_core.Button, {
467
+ }, /*#__PURE__*/_react.default.createElement(_material.Button, {
463
468
  className: classes.button,
464
469
  type: "button",
465
470
  variant: "contained",
@@ -478,7 +483,7 @@ function SequenceFeatureDetails(_ref6) {
478
483
  }
479
484
  }, copiedHtml ? 'Copied to clipboard!' : 'Copy as HTML')), /*#__PURE__*/_react.default.createElement("div", {
480
485
  "data-testid": "feature_sequence"
481
- }, error ? /*#__PURE__*/_react.default.createElement(_core.Typography, {
486
+ }, error ? /*#__PURE__*/_react.default.createElement(_material.Typography, {
482
487
  color: "error"
483
488
  }, "".concat(error)) : loading ? /*#__PURE__*/_react.default.createElement("div", null, "Loading gene sequence...") : sequence ? /*#__PURE__*/_react.default.createElement(SequencePanel, {
484
489
  ref: seqPanelRef,
@@ -25,9 +25,9 @@ export default function stateModelFactory(pluginManager: PluginManager): import(
25
25
  }>>, {
26
26
  id: string;
27
27
  type: "BaseFeatureWidget";
28
- formattedFields: any;
29
- view: import("mobx-state-tree").ReferenceIdentifier | undefined;
30
28
  track: import("mobx-state-tree").ReferenceIdentifier | undefined;
29
+ view: import("mobx-state-tree").ReferenceIdentifier | undefined;
30
+ formattedFields: any;
31
31
  finalizedFeatureData: any;
32
32
  }>;
33
33
  export { configSchema, stateModelFactory };
@@ -111,9 +111,11 @@ function stateModelFactory(pluginManager) {
111
111
  featureData: finalizedFeatureData
112
112
  }, rest);
113
113
  }).postProcessSnapshot(function (snap) {
114
- var unformattedFeatureData = snap.unformattedFeatureData,
115
- featureData = snap.featureData,
116
- rest = (0, _objectWithoutProperties2.default)(snap, _excluded2); // finalizedFeatureData avoids running formatter twice if loading from
114
+ // xref https://github.com/mobxjs/mobx-state-tree/issues/1524 for Omit
115
+ var _ref = snap,
116
+ unformattedFeatureData = _ref.unformattedFeatureData,
117
+ featureData = _ref.featureData,
118
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded2); // finalizedFeatureData avoids running formatter twice if loading from
117
119
  // snapshot
118
120
 
119
121
  return _objectSpread({
@@ -2,6 +2,10 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+
5
9
  var _react = _interopRequireDefault(require("react"));
6
10
 
7
11
  var _react2 = require("@testing-library/react");
@@ -16,36 +20,50 @@ var _ = require(".");
16
20
 
17
21
  var _BaseFeatureDetail = _interopRequireDefault(require("./BaseFeatureDetail"));
18
22
 
19
- test('open up a widget', function () {
20
- console.warn = jest.fn();
21
- var pluginManager = new _PluginManager.default([]);
23
+ // locals
24
+ test('open up a widget', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
25
+ var pluginManager, Session, model, _render, container, findByText;
26
+
27
+ return _regenerator.default.wrap(function _callee$(_context) {
28
+ while (1) {
29
+ switch (_context.prev = _context.next) {
30
+ case 0:
31
+ console.warn = jest.fn();
32
+ pluginManager = new _PluginManager.default([]);
33
+ Session = _mobxStateTree.types.model({
34
+ pluginManager: _mobxStateTree.types.optional(_mobxStateTree.types.frozen(), {}),
35
+ rpcManager: _mobxStateTree.types.optional(_mobxStateTree.types.frozen(), {}),
36
+ configuration: (0, _configuration.ConfigurationSchema)('test', {}),
37
+ widget: (0, _.stateModelFactory)(pluginManager)
38
+ });
39
+ model = Session.create({
40
+ widget: {
41
+ type: 'BaseFeatureWidget'
42
+ }
43
+ });
44
+ _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_BaseFeatureDetail.default, {
45
+ model: model.widget
46
+ })), container = _render.container, findByText = _render.findByText;
47
+ model.widget.setFeatureData({
48
+ start: 2,
49
+ end: 102,
50
+ strand: 1,
51
+ score: 37,
52
+ refName: 'ctgA'
53
+ });
54
+ _context.t0 = expect;
55
+ _context.next = 9;
56
+ return findByText('ctgA:3..102 (+)');
22
57
 
23
- var Session = _mobxStateTree.types.model({
24
- pluginManager: _mobxStateTree.types.optional(_mobxStateTree.types.frozen(), {}),
25
- rpcManager: _mobxStateTree.types.optional(_mobxStateTree.types.frozen(), {}),
26
- configuration: (0, _configuration.ConfigurationSchema)('test', {}),
27
- widget: (0, _.stateModelFactory)(pluginManager)
28
- });
58
+ case 9:
59
+ _context.t1 = _context.sent;
60
+ (0, _context.t0)(_context.t1).toBeTruthy();
61
+ expect(container.firstChild).toMatchSnapshot();
29
62
 
30
- var model = Session.create({
31
- widget: {
32
- type: 'BaseFeatureWidget'
63
+ case 12:
64
+ case "end":
65
+ return _context.stop();
66
+ }
33
67
  }
34
- });
35
-
36
- var _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_BaseFeatureDetail.default, {
37
- model: model.widget
38
- })),
39
- container = _render.container,
40
- getByText = _render.getByText;
41
-
42
- model.widget.setFeatureData({
43
- start: 2,
44
- end: 102,
45
- strand: 1,
46
- score: 37,
47
- refName: 'ctgA'
48
- });
49
- expect(container.firstChild).toMatchSnapshot();
50
- expect(getByText('ctgA:3..102 (+)')).toBeTruthy();
51
- });
68
+ }, _callee);
69
+ })));
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { IAnyType } from 'mobx-state-tree';
2
+ import { IAnyType, IAnyModelType } from 'mobx-state-tree';
3
3
  import PluggableElementBase from './pluggableElementTypes/PluggableElementBase';
4
4
  import RendererType from './pluggableElementTypes/renderers/RendererType';
5
5
  import AdapterType from './pluggableElementTypes/AdapterType';
@@ -99,91 +99,19 @@ export default class PluginManager {
99
99
  /** get a MST type for the union of all specified pluggable MST types */
100
100
  pluggableMstType(typeGroup: PluggableElementTypeGroup, fieldName: PluggableElementMember, fallback?: IAnyType): IAnyType;
101
101
  /** get a MST type for the union of all specified pluggable config schemas */
102
- pluggableConfigSchemaType(typeGroup: PluggableElementTypeGroup, fieldName?: PluggableElementMember): IAnyType;
102
+ pluggableConfigSchemaType(typeGroup: PluggableElementTypeGroup, fieldName?: PluggableElementMember): IAnyModelType;
103
103
  jbrequireCache: Map<any, any>;
104
104
  lib: {
105
- mobx: typeof import("mobx");
106
- 'mobx-state-tree': typeof import("mobx-state-tree");
107
- react: typeof import("react");
108
- 'react-dom': typeof import("react-dom");
109
- 'mobx-react': typeof import("mobx-react");
110
- 'prop-types': typeof import("prop-types");
111
- '@material-ui/core': typeof import("@material-ui/core");
112
- '@material-ui/core/SvgIcon': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").SvgIconTypeMap<{}, "svg">>;
113
- '@material-ui/core/utils': typeof import("@material-ui/core/utils");
114
- '@material-ui/lab': typeof import("@material-ui/lab");
115
- '@mui/x-data-grid': typeof import("@mui/x-data-grid");
116
- '@material-ui/data-grid': typeof import("@mui/x-data-grid");
117
- '@material-ui/core/colors': typeof import("./ReExports/material-ui-colors");
118
- '@material-ui/core/styles': typeof import("@material-ui/core/styles");
119
- '@material-ui/core/Box': import("react").ComponentType<import("@material-ui/core").BoxProps>;
120
- '@material-ui/core/Button': import("@material-ui/core").ExtendButtonBase<import("@material-ui/core").ButtonTypeMap<{}, "button">>;
121
- '@material-ui/core/ButtonGroup': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").ButtonGroupTypeMap<{}, "div">>;
122
- '@material-ui/core/Card': typeof import("@material-ui/core").Card;
123
- '@material-ui/core/CardContent': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").CardContentTypeMap<{}, "div">>;
124
- '@material-ui/core/Container': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").ContainerTypeMap<{}, "div">>;
125
- '@material-ui/core/Checkbox': typeof import("@material-ui/core").Checkbox;
126
- '@material-ui/core/Dialog': typeof import("@material-ui/core").Dialog;
127
- '@material-ui/core/FormGroup': typeof import("@material-ui/core").FormGroup;
128
- '@material-ui/core/FormLabel': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").FormLabelTypeMap<{}, "label">>;
129
- '@material-ui/core/FormControl': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").FormControlTypeMap<{}, "div">>;
130
- '@material-ui/core/FormControlLabel': typeof import("@material-ui/core").FormControlLabel;
131
- '@material-ui/core/Grid': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").GridTypeMap<{}, "div">>;
132
- '@material-ui/core/Icon': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").IconTypeMap<{}, "span">>;
133
- '@material-ui/core/IconButton': import("@material-ui/core").ExtendButtonBase<import("@material-ui/core").IconButtonTypeMap<{}, "button">>;
134
- '@material-ui/core/InputAdornment': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").InputAdornmentTypeMap<{}, "div">>;
135
- '@material-ui/core/LinearProgress': typeof import("@material-ui/core").LinearProgress;
136
- '@material-ui/core/ListItemIcon': typeof import("@material-ui/core").ListItemIcon;
137
- '@material-ui/core/ListItemText': typeof import("@material-ui/core").ListItemText;
138
- '@material-ui/core/Menu': typeof import("@material-ui/core").Menu;
139
- '@material-ui/core/MenuItem': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").MenuItemTypeMap<{
140
- button: false;
141
- }, "li">> & ((props: {
142
- href: string;
143
- } & {
144
- button?: true | undefined;
145
- } & {
146
- alignItems?: "center" | "flex-start" | undefined;
147
- autoFocus?: boolean | undefined;
148
- button?: boolean | undefined;
149
- ContainerComponent?: import("react").ElementType<import("react").HTMLAttributes<HTMLDivElement>> | undefined;
150
- ContainerProps?: import("react").HTMLAttributes<HTMLDivElement> | undefined;
151
- dense?: boolean | undefined;
152
- disabled?: boolean | undefined;
153
- disableGutters?: boolean | undefined;
154
- divider?: boolean | undefined;
155
- focusVisibleClassName?: string | undefined;
156
- selected?: boolean | undefined;
157
- } & {
158
- action?: import("react").Ref<import("@material-ui/core").ButtonBaseActions> | undefined;
159
- buttonRef?: import("react").Ref<unknown> | undefined;
160
- centerRipple?: boolean | undefined;
161
- children?: import("react").ReactNode;
162
- disabled?: boolean | undefined;
163
- disableRipple?: boolean | undefined;
164
- disableTouchRipple?: boolean | undefined;
165
- focusRipple?: boolean | undefined;
166
- focusVisibleClassName?: string | undefined;
167
- onFocusVisible?: import("react").FocusEventHandler<any> | undefined;
168
- tabIndex?: string | number | undefined;
169
- TouchRippleProps?: Partial<import("@material-ui/core/ButtonBase/TouchRipple").TouchRippleProps> | undefined;
170
- } & import("@material-ui/core/OverridableComponent").CommonProps<import("@material-ui/core").ExtendButtonBaseTypeMap<import("@material-ui/core").MenuItemTypeMap<{
171
- button?: true | undefined;
172
- }, "li">>> & Pick<Pick<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "key" | keyof import("react").AnchorHTMLAttributes<HTMLAnchorElement>> & {
173
- ref?: ((instance: HTMLAnchorElement | null) => void) | import("react").RefObject<HTMLAnchorElement> | null | undefined;
174
- }, "id" | "is" | "color" | "type" | "defaultValue" | "key" | "prefix" | "defaultChecked" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "ref" | "href" | "download" | "hrefLang" | "media" | "ping" | "rel" | "target" | "referrerPolicy">) => JSX.Element) & import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").ExtendButtonBaseTypeMap<import("@material-ui/core").MenuItemTypeMap<{
175
- button?: true | undefined;
176
- }, "li">>>;
177
- '@material-ui/core/RadioGroup': typeof import("@material-ui/core").RadioGroup;
178
- '@material-ui/core/Radio': typeof import("@material-ui/core").Radio;
179
- '@material-ui/core/Select': typeof import("@material-ui/core").Select;
180
- '@material-ui/core/Snackbar': typeof import("@material-ui/core").Snackbar;
181
- '@material-ui/core/SnackbarContent': typeof import("@material-ui/core").SnackbarContent;
182
- '@material-ui/core/TextField': typeof import("@material-ui/core").TextField;
183
- '@material-ui/core/Tooltip': typeof import("@material-ui/core").Tooltip;
184
- '@material-ui/core/Typography': import("@material-ui/core/OverridableComponent").OverridableComponent<import("@material-ui/core").TypographyTypeMap<{}, "span">>;
185
- '@material-ui/lab/ToggleButton': import("@material-ui/core").ExtendButtonBase<import("@material-ui/lab").ToggleButtonTypeMap<{}, "button">>;
186
- '@material-ui/lab/ToggleButtonGroup': typeof import("@material-ui/lab").ToggleButtonGroup;
105
+ '@material-ui/lab/ToggleButton': import("react").LazyExoticComponent<import("@mui/material").ExtendButtonBase<import("@mui/material").ToggleButtonTypeMap<{}, "button">>>;
106
+ '@material-ui/lab/ToggleButtonGroup': import("react").LazyExoticComponent<typeof import("@mui/material").ToggleButtonGroup>;
107
+ '@material-ui/lab/Autocomplete': import("react").LazyExoticComponent<typeof import("@mui/material").Autocomplete>;
108
+ '@material-ui/lab/Alert': import("react").LazyExoticComponent<typeof import("@mui/material").Alert>;
109
+ '@material-ui/lab': {
110
+ Alert: import("react").LazyExoticComponent<typeof import("@mui/material").Alert>;
111
+ Autocomplete: import("react").LazyExoticComponent<typeof import("@mui/material").Autocomplete>;
112
+ ToggleButton: import("react").LazyExoticComponent<import("@mui/material").ExtendButtonBase<import("@mui/material").ToggleButtonTypeMap<{}, "button">>>;
113
+ ToggleButtonGroup: import("react").LazyExoticComponent<typeof import("@mui/material").ToggleButtonGroup>;
114
+ };
187
115
  '@jbrowse/core/Plugin': typeof Plugin;
188
116
  '@jbrowse/core/pluggableElementTypes': typeof import("./pluggableElementTypes");
189
117
  '@jbrowse/core/pluggableElementTypes/ViewType': typeof ViewType;
@@ -272,14 +200,58 @@ export default class PluginManager {
272
200
  zoomIn(): void;
273
201
  zoomTo(newBpPerPx: number, offset?: number): void;
274
202
  scrollTo(offsetPx: number): number;
275
- centerAt(bp: number, refName: string, regionIndex: number): void;
203
+ centerAt(coord: number, refName: string, regionNumber: number): void;
276
204
  scroll(distance: number): number;
277
205
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
278
206
  '@jbrowse/core/util/io': typeof import("./util/io");
279
207
  '@jbrowse/core/util/mst-reflection': typeof import("./util/mst-reflection");
280
208
  '@jbrowse/core/util/rxjs': typeof import("./util/rxjs");
281
- '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail': typeof import("./BaseFeatureWidget/BaseFeatureDetail");
209
+ '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail': {
210
+ Attributes: (props: any) => JSX.Element;
211
+ FeatureDetails: (props: any) => JSX.Element;
212
+ BaseCard: (props: any) => JSX.Element;
213
+ };
282
214
  '@jbrowse/core/data_adapters/BaseAdapter': typeof import("./data_adapters/BaseAdapter");
215
+ mobx: typeof import("mobx");
216
+ 'mobx-state-tree': typeof import("mobx-state-tree");
217
+ react: typeof import("react");
218
+ 'react-dom': typeof import("react-dom");
219
+ 'mobx-react': typeof import("mobx-react");
220
+ '@mui/x-data-grid': {
221
+ DataGrid: any;
222
+ useGridApiContext: typeof import("@mui/x-data-grid").useGridApiContext;
223
+ useGridApiRef: <Api extends import("@mui/x-data-grid").GridApiCommon = import("@mui/x-data-grid/models/api/gridApiCommunity").GridApiCommunity>() => import("react").MutableRefObject<Api>;
224
+ useGridRootProps: () => import("@mui/x-data-grid/models/props/DataGridProps").DataGridProcessedProps<any>;
225
+ };
226
+ '@mui/material/utils': typeof import("@mui/material/utils");
227
+ '@material-ui/core/utils': typeof import("@mui/material/utils");
228
+ 'tss-react/mui': {
229
+ makeStyles: <Params = void, RuleNameSubsetReferencableInNestedSelectors extends string = never>(params?: {
230
+ name?: string | Record<string, unknown> | undefined;
231
+ uniqId?: string | undefined;
232
+ } | undefined) => <RuleName extends string>(cssObjectByRuleNameOrGetCssObjectByRuleName: Record<RuleName, import("tss-react/types").CSSObject> | ((theme: import("@mui/material").Theme, params: Params, classes: Record<RuleNameSubsetReferencableInNestedSelectors, string>) => Record<RuleNameSubsetReferencableInNestedSelectors | RuleName, import("tss-react/types").CSSObject>)) => (params: Params, styleOverrides?: {
233
+ props: {
234
+ classes?: Record<string, string> | undefined;
235
+ } & Record<string, unknown>;
236
+ ownerState?: Record<string, unknown> | undefined;
237
+ } | undefined) => {
238
+ classes: Record<RuleName, string>;
239
+ theme: import("@mui/material").Theme;
240
+ css: import("tss-react/types").Css;
241
+ cx: import("tss-react/types").Cx;
242
+ };
243
+ };
244
+ '@material-ui/core': {
245
+ useTheme: typeof import("@mui/material").useTheme;
246
+ alpha: typeof import("@mui/system").alpha;
247
+ makeStyles: (args: any) => () => Record<string, string>;
248
+ };
249
+ '@mui/material': {
250
+ [k: string]: (props: any) => JSX.Element;
251
+ };
252
+ 'prop-types': typeof import("prop-types");
253
+ '@mui/material/styles': typeof import("@mui/material/styles");
254
+ '@material-ui/core/styles': typeof import("@mui/material/styles");
283
255
  };
284
256
  load: <FTYPE extends AnyFunction>(lib: FTYPE) => ReturnType<FTYPE>;
285
257
  /**