@jbrowse/plugin-config 1.4.2 → 1.5.2

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 (30) hide show
  1. package/dist/ConfigurationEditorWidget/components/CodeEditor.d.ts +4 -0
  2. package/dist/ConfigurationEditorWidget/components/ColorEditor.d.ts +0 -11
  3. package/dist/ConfigurationEditorWidget/components/ColorPicker.d.ts +14 -0
  4. package/dist/FromConfigAdapter/FromConfigAdapter.d.ts +3 -1
  5. package/dist/FromConfigAdapter/FromConfigRegionsAdapter.d.ts +3 -1
  6. package/dist/FromConfigAdapter/FromConfigSequenceAdapter.d.ts +1 -1
  7. package/dist/RefNameAliasAdapter/RefNameAliasAdapter.d.ts +5 -8
  8. package/dist/plugin-config.cjs.development.js +232 -174
  9. package/dist/plugin-config.cjs.development.js.map +1 -1
  10. package/dist/plugin-config.cjs.production.min.js +1 -1
  11. package/dist/plugin-config.cjs.production.min.js.map +1 -1
  12. package/dist/plugin-config.esm.js +244 -186
  13. package/dist/plugin-config.esm.js.map +1 -1
  14. package/package.json +3 -3
  15. package/src/ConfigurationEditorWidget/components/CallbackEditor.js +8 -6
  16. package/src/ConfigurationEditorWidget/components/CodeEditor.js +59 -0
  17. package/src/ConfigurationEditorWidget/components/ColorEditor.tsx +12 -54
  18. package/src/ConfigurationEditorWidget/components/ColorPicker.tsx +52 -0
  19. package/src/ConfigurationEditorWidget/components/ConfigurationEditor.test.js +3 -4
  20. package/src/ConfigurationEditorWidget/components/JsonEditor.js +12 -51
  21. package/src/ConfigurationEditorWidget/components/SlotEditor.js +7 -3
  22. package/src/ConfigurationEditorWidget/components/__snapshots__/ConfigurationEditor.test.js.snap +42 -25
  23. package/src/FromConfigAdapter/FromConfigAdapter.ts +8 -2
  24. package/src/FromConfigAdapter/FromConfigRegionsAdapter.ts +7 -2
  25. package/src/FromConfigAdapter/FromConfigSequenceAdapter.test.ts +2 -5
  26. package/src/FromConfigAdapter/FromConfigSequenceAdapter.ts +1 -4
  27. package/src/RefNameAliasAdapter/RefNameAliasAdapter.test.ts +4 -1
  28. package/src/RefNameAliasAdapter/RefNameAliasAdapter.ts +8 -22
  29. package/src/RefNameAliasAdapter/configSchema.ts +4 -1
  30. package/src/index.ts +24 -0
@@ -12,10 +12,7 @@ import { ObservableCreate } from '@jbrowse/core/util/rxjs';
12
12
  import { toArray } from 'rxjs/operators';
13
13
  import { openLocation } from '@jbrowse/core/util/io';
14
14
  import { useDebounce, iterMap } from '@jbrowse/core/util';
15
- import FormControl from '@material-ui/core/FormControl';
16
- import FormHelperText from '@material-ui/core/FormHelperText';
17
- import InputLabel from '@material-ui/core/InputLabel';
18
- import { useTheme, makeStyles } from '@material-ui/core/styles';
15
+ import { FormControl, InputLabel, FormHelperText, makeStyles, useTheme, Tooltip, IconButton, Paper, TextField as TextField$1, SvgIcon, List, ListItem, InputAdornment, Card, CardHeader, CardContent, FormControlLabel, Checkbox, MenuItem } from '@material-ui/core';
19
16
  import Editor from 'react-simple-code-editor';
20
17
  import { Light } from 'react-syntax-highlighter';
21
18
  import json from 'react-syntax-highlighter/dist/cjs/languages/hljs/json';
@@ -23,22 +20,20 @@ import a11yDark from 'react-syntax-highlighter/dist/cjs/styles/hljs/a11y-dark';
23
20
  import a11yLight from 'react-syntax-highlighter/dist/cjs/styles/hljs/a11y-light';
24
21
  import FormGroup from '@material-ui/core/FormGroup';
25
22
  import FormLabel from '@material-ui/core/FormLabel';
23
+ import { makeStyles as makeStyles$1 } from '@material-ui/core/styles';
26
24
  import { singular } from 'pluralize';
27
25
  import { FileSelector } from '@jbrowse/core/ui';
28
26
  import { getSubType, getUnionSubTypes, getPropertyType } from '@jbrowse/core/util/mst-reflection';
29
- import { Paper, IconButton as IconButton$1, TextField as TextField$1, SvgIcon, makeStyles as makeStyles$1, InputLabel as InputLabel$1, List, ListItem, InputAdornment, FormHelperText as FormHelperText$1, Card, CardHeader, CardContent, FormControl as FormControl$1, FormControlLabel, Checkbox, MenuItem } from '@material-ui/core';
30
27
  import DeleteIcon from '@material-ui/icons/Delete';
31
28
  import AddIcon from '@material-ui/icons/Add';
32
29
  import RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';
33
30
  import { stringToJexlExpression } from '@jbrowse/core/util/jexlStrings';
34
- import Tooltip from '@material-ui/core/Tooltip';
35
- import IconButton from '@material-ui/core/IconButton';
36
31
  import HelpIcon from '@material-ui/icons/Help';
37
32
  import ReactPropTypes from 'prop-types';
38
33
  import TextField from '@material-ui/core/TextField';
39
- import { ChromePicker } from 'react-color';
40
34
  import MenuItem$1 from '@material-ui/core/MenuItem';
41
35
  import Paper$1 from '@material-ui/core/Paper';
36
+ import { ChromePicker } from 'react-color';
42
37
 
43
38
  function ownKeys(object, enumerableOnly) {
44
39
  var keys = Object.keys(object);
@@ -224,6 +219,8 @@ function _assertThisInitialized(self) {
224
219
  function _possibleConstructorReturn(self, call) {
225
220
  if (call && (typeof call === "object" || typeof call === "function")) {
226
221
  return call;
222
+ } else if (call !== void 0) {
223
+ throw new TypeError("Derived constructors may only return object or undefined");
227
224
  }
228
225
 
229
226
  return _assertThisInitialized(self);
@@ -548,11 +545,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
548
545
 
549
546
 
550
547
  var IteratorPrototype = {};
551
-
552
- IteratorPrototype[iteratorSymbol] = function () {
548
+ define(IteratorPrototype, iteratorSymbol, function () {
553
549
  return this;
554
- };
555
-
550
+ });
556
551
  var getProto = Object.getPrototypeOf;
557
552
  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
558
553
 
@@ -563,8 +558,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
563
558
  }
564
559
 
565
560
  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
566
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
567
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
561
+ GeneratorFunction.prototype = GeneratorFunctionPrototype;
562
+ define(Gp, "constructor", GeneratorFunctionPrototype);
563
+ define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
568
564
  GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); // Helper for defining the .next, .throw, and .return methods of the
569
565
  // Iterator interface in terms of a single ._invoke method.
570
566
 
@@ -669,11 +665,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
669
665
  }
670
666
 
671
667
  defineIteratorMethods(AsyncIterator.prototype);
672
-
673
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
668
+ define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
674
669
  return this;
675
- };
676
-
670
+ });
677
671
  exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of
678
672
  // AsyncIterator objects; they just return a Promise for the value of
679
673
  // the final result produced by the iterator.
@@ -850,13 +844,12 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
850
844
  // object to not be returned from this call. This ensures that doesn't happen.
851
845
  // See https://github.com/facebook/regenerator/issues/274 for more details.
852
846
 
853
- Gp[iteratorSymbol] = function () {
847
+ define(Gp, iteratorSymbol, function () {
854
848
  return this;
855
- };
856
-
857
- Gp.toString = function () {
849
+ });
850
+ define(Gp, "toString", function () {
858
851
  return "[object Generator]";
859
- };
852
+ });
860
853
 
861
854
  function pushTryEntry(locs) {
862
855
  var entry = {
@@ -1168,14 +1161,19 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
1168
1161
  } catch (accidentalStrictMode) {
1169
1162
  // This module should not be running in strict mode, so the above
1170
1163
  // assignment should always work unless something is misconfigured. Just
1171
- // in case runtime.js accidentally runs in strict mode, we can escape
1164
+ // in case runtime.js accidentally runs in strict mode, in modern engines
1165
+ // we can explicitly access globalThis. In older engines we can escape
1172
1166
  // strict mode using a global Function call. This could conceivably fail
1173
1167
  // if a Content Security Policy forbids using Function, but in that case
1174
1168
  // the proper solution is to fix the accidental strict mode problem. If
1175
1169
  // you've misconfigured your bundler to force strict mode and applied a
1176
1170
  // CSP to forbid Function, and you're not willing to fix either of those
1177
1171
  // problems, please detail your unique predicament in a GitHub issue.
1178
- Function("r", "regeneratorRuntime = r")(runtime);
1172
+ if (typeof globalThis === "object") {
1173
+ globalThis.regeneratorRuntime = runtime;
1174
+ } else {
1175
+ Function("r", "regeneratorRuntime = r")(runtime);
1176
+ }
1179
1177
  }
1180
1178
  });
1181
1179
 
@@ -1190,12 +1188,12 @@ var FromConfigAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
1190
1188
 
1191
1189
  var _super = /*#__PURE__*/_createSuper(FromConfigAdapter);
1192
1190
 
1193
- function FromConfigAdapter(conf) {
1191
+ function FromConfigAdapter(conf, getSubAdapter, pluginManager) {
1194
1192
  var _this;
1195
1193
 
1196
1194
  _classCallCheck(this, FromConfigAdapter);
1197
1195
 
1198
- _this = _super.call(this, conf);
1196
+ _this = _super.call(this, conf, getSubAdapter, pluginManager);
1199
1197
  var feats = readConfObject(conf, 'features');
1200
1198
  _this.features = FromConfigAdapter.makeFeatures(feats || []);
1201
1199
  return _this;
@@ -1296,9 +1294,9 @@ var FromConfigAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
1296
1294
  }
1297
1295
  }, {
1298
1296
  key: "freeResources",
1299
- value: function freeResources()
1300
- /* { region } */
1301
- {}
1297
+ value: function
1298
+ /* { region } */
1299
+ freeResources() {}
1302
1300
  }], [{
1303
1301
  key: "makeFeatures",
1304
1302
  value: function makeFeatures(fdata) {
@@ -1359,12 +1357,12 @@ var FromConfigRegionsAdapter = /*#__PURE__*/function (_BaseAdapter) {
1359
1357
 
1360
1358
  var _super = /*#__PURE__*/_createSuper(FromConfigRegionsAdapter);
1361
1359
 
1362
- function FromConfigRegionsAdapter(config) {
1360
+ function FromConfigRegionsAdapter(config, getSubAdapter, pluginManager) {
1363
1361
  var _this;
1364
1362
 
1365
1363
  _classCallCheck(this, FromConfigRegionsAdapter);
1366
1364
 
1367
- _this = _super.call(this, config);
1365
+ _this = _super.call(this, config, getSubAdapter, pluginManager);
1368
1366
  var features = readConfObject(config, 'features');
1369
1367
  _this.features = FromConfigAdapter.makeFeatures(features || []);
1370
1368
  return _this;
@@ -1450,26 +1448,26 @@ var FromConfigRegionsAdapter = /*#__PURE__*/function (_BaseAdapter) {
1450
1448
  }()
1451
1449
  }, {
1452
1450
  key: "freeResources",
1453
- value: function freeResources()
1454
- /* { region } */
1455
- {}
1451
+ value: function
1452
+ /* { region } */
1453
+ freeResources() {}
1456
1454
  }]);
1457
1455
 
1458
1456
  return FromConfigRegionsAdapter;
1459
1457
  }(BaseAdapter);
1460
1458
 
1461
- var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1462
- _inherits(FromSequenceConfigAdapter, _FromConfigAdapter);
1459
+ var FromConfigSequenceAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1460
+ _inherits(FromConfigSequenceAdapter, _FromConfigAdapter);
1463
1461
 
1464
- var _super = /*#__PURE__*/_createSuper(FromSequenceConfigAdapter);
1462
+ var _super = /*#__PURE__*/_createSuper(FromConfigSequenceAdapter);
1465
1463
 
1466
- function FromSequenceConfigAdapter() {
1467
- _classCallCheck(this, FromSequenceConfigAdapter);
1464
+ function FromConfigSequenceAdapter() {
1465
+ _classCallCheck(this, FromConfigSequenceAdapter);
1468
1466
 
1469
1467
  return _super.apply(this, arguments);
1470
1468
  }
1471
1469
 
1472
- _createClass(FromSequenceConfigAdapter, [{
1470
+ _createClass(FromConfigSequenceAdapter, [{
1473
1471
  key: "getFeatures",
1474
1472
  value:
1475
1473
  /**
@@ -1484,7 +1482,7 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1484
1482
  // xref: https://github.com/rollup/rollup/blob/master/CHANGELOG.md#bug-fixes-45
1485
1483
  // return ObservableCreate<Feature>(async observer => {
1486
1484
  // const feats = await super.getFeatures(region).pipe(toArray()).toPromise()
1487
- var superGetFeatures = _get(_getPrototypeOf(FromSequenceConfigAdapter.prototype), "getFeatures", this);
1485
+ var superGetFeatures = _get(_getPrototypeOf(FromConfigSequenceAdapter.prototype), "getFeatures", this);
1488
1486
 
1489
1487
  return ObservableCreate( /*#__PURE__*/function () {
1490
1488
  var _ref = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(observer) {
@@ -1571,20 +1569,16 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1571
1569
  if (currentRegion) {
1572
1570
  regions.push(currentRegion);
1573
1571
  }
1574
- } // sort the regions by refName
1575
-
1572
+ }
1576
1573
  } catch (err) {
1577
1574
  _iterator.e(err);
1578
1575
  } finally {
1579
1576
  _iterator.f();
1580
1577
  }
1581
1578
 
1582
- regions.sort(function (a, b) {
1583
- return a.refName.localeCompare(b.refName);
1584
- });
1585
1579
  return _context2.abrupt("return", regions);
1586
1580
 
1587
- case 5:
1581
+ case 4:
1588
1582
  case "end":
1589
1583
  return _context2.stop();
1590
1584
  }
@@ -1606,12 +1600,12 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1606
1600
 
1607
1601
  }, {
1608
1602
  key: "freeResources",
1609
- value: function freeResources()
1610
- /* { region } */
1611
- {}
1603
+ value: function
1604
+ /* { region } */
1605
+ freeResources() {}
1612
1606
  }]);
1613
1607
 
1614
- return FromSequenceConfigAdapter;
1608
+ return FromConfigSequenceAdapter;
1615
1609
  }(FromConfigAdapter);
1616
1610
 
1617
1611
  var configSchema$1 = /*#__PURE__*/ConfigurationSchema('FromConfigAdapter', {
@@ -1659,30 +1653,35 @@ var RefNameAliasAdapter = /*#__PURE__*/function (_BaseAdapter) {
1659
1653
 
1660
1654
  var _super = /*#__PURE__*/_createSuper(RefNameAliasAdapter);
1661
1655
 
1662
- function RefNameAliasAdapter(config) {
1663
- var _this;
1664
-
1656
+ function RefNameAliasAdapter() {
1665
1657
  _classCallCheck(this, RefNameAliasAdapter);
1666
1658
 
1667
- _this = _super.call(this, config);
1668
- _this.location = openLocation(readConfObject(config, 'location'));
1669
- _this.promise = _this.downloadResults();
1670
- return _this;
1659
+ return _super.apply(this, arguments);
1671
1660
  }
1672
1661
 
1673
1662
  _createClass(RefNameAliasAdapter, [{
1674
- key: "downloadResults",
1663
+ key: "getRefNameAliases",
1675
1664
  value: function () {
1676
- var _downloadResults = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
1677
- var results;
1665
+ var _getRefNameAliases = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
1666
+ var loc, results;
1678
1667
  return runtime_1.wrap(function _callee$(_context) {
1679
1668
  while (1) {
1680
1669
  switch (_context.prev = _context.next) {
1681
1670
  case 0:
1682
- _context.next = 2;
1683
- return this.location.readFile('utf8');
1671
+ loc = readConfObject(this.config, 'location');
1672
+
1673
+ if (!(loc.uri === '' || loc.uri === '/path/to/my/aliases.txt')) {
1674
+ _context.next = 3;
1675
+ break;
1676
+ }
1677
+
1678
+ return _context.abrupt("return", []);
1679
+
1680
+ case 3:
1681
+ _context.next = 5;
1682
+ return openLocation(loc).readFile('utf8');
1684
1683
 
1685
- case 2:
1684
+ case 5:
1686
1685
  results = _context.sent;
1687
1686
  return _context.abrupt("return", results.trim().split('\n').map(function (row) {
1688
1687
  var _row$split = row.split('\t'),
@@ -1696,7 +1695,7 @@ var RefNameAliasAdapter = /*#__PURE__*/function (_BaseAdapter) {
1696
1695
  };
1697
1696
  }));
1698
1697
 
1699
- case 4:
1698
+ case 7:
1700
1699
  case "end":
1701
1700
  return _context.stop();
1702
1701
  }
@@ -1704,17 +1703,12 @@ var RefNameAliasAdapter = /*#__PURE__*/function (_BaseAdapter) {
1704
1703
  }, _callee, this);
1705
1704
  }));
1706
1705
 
1707
- function downloadResults() {
1708
- return _downloadResults.apply(this, arguments);
1706
+ function getRefNameAliases() {
1707
+ return _getRefNameAliases.apply(this, arguments);
1709
1708
  }
1710
1709
 
1711
- return downloadResults;
1710
+ return getRefNameAliases;
1712
1711
  }()
1713
- }, {
1714
- key: "getRefNameAliases",
1715
- value: function getRefNameAliases() {
1716
- return this.promise;
1717
- }
1718
1712
  }, {
1719
1713
  key: "freeResources",
1720
1714
  value: function () {
@@ -1745,41 +1739,27 @@ var refNameAliasAdapterConfigSchema = /*#__PURE__*/ConfigurationSchema('RefNameA
1745
1739
  location: {
1746
1740
  type: 'fileLocation',
1747
1741
  defaultValue: {
1748
- uri: '/path/to/my/aliases.txt'
1742
+ uri: '/path/to/my/aliases.txt',
1743
+ locationType: 'UriLocation'
1749
1744
  }
1750
1745
  }
1751
1746
  }, {
1752
1747
  explicitlyTyped: true
1753
1748
  });
1754
1749
 
1755
- Light.registerLanguage('json', json); // fontSize and fontFamily have to match between Editor and SyntaxHighlighter
1756
-
1757
- var fontSize = '12px'; // Optimize by using system default fonts: https://css-tricks.com/snippets/css/font-stacks/
1758
-
1759
- var fontFamily = 'Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace';
1760
1750
  var useStyles = /*#__PURE__*/makeStyles({
1761
- callbackEditor: {
1762
- fontFamily: fontFamily,
1763
- fontSize: fontSize,
1764
- overflowX: 'auto',
1765
- marginTop: '16px',
1766
- borderBottom: '1px solid rgba(0,0,0,0.42)'
1767
- },
1768
- syntaxHighlighter: {
1769
- margin: 0,
1770
- fontFamily: fontFamily,
1771
- fontSize: fontSize
1772
- },
1773
1751
  error: {
1774
1752
  color: 'red',
1775
1753
  fontSize: '0.8em'
1776
1754
  }
1777
1755
  });
1756
+ var CodeEditor = /*#__PURE__*/lazy(function () {
1757
+ return Promise.resolve().then(function () { return CodeEditor$2; });
1758
+ });
1778
1759
 
1779
1760
  function JsonEditor(_ref) {
1780
1761
  var slot = _ref.slot;
1781
1762
  var classes = useStyles();
1782
- var theme = useTheme();
1783
1763
 
1784
1764
  var _useState = useState(JSON.stringify(slot.value, null, ' ')),
1785
1765
  _useState2 = _slicedToArray(_useState, 2),
@@ -1808,26 +1788,12 @@ function JsonEditor(_ref) {
1808
1788
  }, /*#__PURE__*/React.createElement(InputLabel, {
1809
1789
  shrink: true,
1810
1790
  htmlFor: "callback-editor"
1811
- }, slot.name), /*#__PURE__*/React.createElement(Editor, {
1812
- className: classes.callbackEditor,
1813
- value: contents,
1814
- onValueChange: setContents,
1815
- highlight: function highlight(newCode) {
1816
- return /*#__PURE__*/React.createElement(Light, {
1817
- language: "json",
1818
- style: theme.palette.type === 'dark' ? a11yDark : a11yLight,
1819
- className: classes.syntaxHighlighter // override some inline style stuff that's higher specificity
1820
- // than className
1821
- ,
1822
- customStyle: {
1823
- background: 'none',
1824
- padding: 0
1825
- }
1826
- }, newCode);
1827
- },
1828
- padding: 10,
1829
- style: {}
1830
- }), /*#__PURE__*/React.createElement(FormHelperText, null, slot.description)));
1791
+ }, slot.name), /*#__PURE__*/React.createElement(React.Suspense, {
1792
+ fallback: /*#__PURE__*/React.createElement("div", null)
1793
+ }, /*#__PURE__*/React.createElement(CodeEditor, {
1794
+ contents: contents,
1795
+ setContents: setContents
1796
+ })), /*#__PURE__*/React.createElement(FormHelperText, null, slot.description)));
1831
1797
  }
1832
1798
 
1833
1799
  JsonEditor.propTypes = {
@@ -1861,28 +1827,52 @@ var _default = /*#__PURE__*/function (_Plugin) {
1861
1827
  return new AdapterType({
1862
1828
  name: 'FromConfigAdapter',
1863
1829
  configSchema: configSchema$1,
1864
- AdapterClass: FromConfigAdapter
1830
+ AdapterClass: FromConfigAdapter,
1831
+ adapterMetadata: {
1832
+ category: null,
1833
+ hiddenFromGUI: true,
1834
+ displayName: null,
1835
+ description: null
1836
+ }
1865
1837
  });
1866
1838
  });
1867
1839
  pluginManager.addAdapterType(function () {
1868
1840
  return new AdapterType({
1869
1841
  name: 'FromConfigRegionsAdapter',
1870
1842
  configSchema: regionsConfigSchema,
1871
- AdapterClass: FromConfigRegionsAdapter
1843
+ AdapterClass: FromConfigRegionsAdapter,
1844
+ adapterMetadata: {
1845
+ category: null,
1846
+ hiddenFromGUI: true,
1847
+ displayName: null,
1848
+ description: null
1849
+ }
1872
1850
  });
1873
1851
  });
1874
1852
  pluginManager.addAdapterType(function () {
1875
1853
  return new AdapterType({
1876
1854
  name: 'FromConfigSequenceAdapter',
1877
1855
  configSchema: sequenceConfigSchema,
1878
- AdapterClass: FromSequenceConfigAdapter
1856
+ AdapterClass: FromConfigSequenceAdapter,
1857
+ adapterMetadata: {
1858
+ category: null,
1859
+ hiddenFromGUI: true,
1860
+ displayName: null,
1861
+ description: null
1862
+ }
1879
1863
  });
1880
1864
  });
1881
1865
  pluginManager.addAdapterType(function () {
1882
1866
  return new AdapterType({
1883
1867
  name: 'RefNameAliasAdapter',
1884
1868
  configSchema: refNameAliasAdapterConfigSchema,
1885
- AdapterClass: RefNameAliasAdapter
1869
+ AdapterClass: RefNameAliasAdapter,
1870
+ adapterMetadata: {
1871
+ category: null,
1872
+ hiddenFromGUI: true,
1873
+ displayName: null,
1874
+ description: null
1875
+ }
1886
1876
  });
1887
1877
  });
1888
1878
  pluginManager.addWidgetType(function () {
@@ -1900,11 +1890,64 @@ var _default = /*#__PURE__*/function (_Plugin) {
1900
1890
  return _default;
1901
1891
  }(Plugin);
1902
1892
 
1893
+ var fontSize = '12px'; // Optimize by using system default fonts: https://css-tricks.com/snippets/css/font-stacks/
1894
+
1895
+ var fontFamily = 'Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace';
1896
+ var useStyles$1 = /*#__PURE__*/makeStyles({
1897
+ callbackEditor: {
1898
+ fontFamily: fontFamily,
1899
+ fontSize: fontSize,
1900
+ overflowX: 'auto',
1901
+ marginTop: '16px',
1902
+ borderBottom: '1px solid rgba(0,0,0,0.42)'
1903
+ },
1904
+ syntaxHighlighter: {
1905
+ margin: 0,
1906
+ fontFamily: fontFamily,
1907
+ fontSize: fontSize
1908
+ }
1909
+ }); // eslint-disable-next-line react/prop-types
1910
+
1911
+ function CodeEditor$1(_ref) {
1912
+ var contents = _ref.contents,
1913
+ setContents = _ref.setContents;
1914
+ var classes = useStyles$1();
1915
+ var theme = useTheme();
1916
+ useEffect(function () {
1917
+ Light.registerLanguage('json', json);
1918
+ }, []);
1919
+ return /*#__PURE__*/React.createElement(Editor, {
1920
+ className: classes.callbackEditor,
1921
+ value: contents,
1922
+ onValueChange: setContents,
1923
+ highlight: function highlight(newCode) {
1924
+ return /*#__PURE__*/React.createElement(Light, {
1925
+ language: "json",
1926
+ style: theme.palette.type === 'dark' ? a11yDark : a11yLight,
1927
+ className: classes.syntaxHighlighter // override some inline style stuff that's higher specificity
1928
+ // than className
1929
+ ,
1930
+ customStyle: {
1931
+ background: 'none',
1932
+ padding: 0
1933
+ }
1934
+ }, newCode);
1935
+ },
1936
+ padding: 10,
1937
+ style: {}
1938
+ });
1939
+ }
1940
+
1941
+ var CodeEditor$2 = {
1942
+ __proto__: null,
1943
+ 'default': CodeEditor$1
1944
+ };
1945
+
1903
1946
  var fontSize$1 = '12px'; // Optimize by using system default fonts:
1904
1947
  // https://css-tricks.com/snippets/css/font-stacks/
1905
1948
 
1906
1949
  var fontFamily$1 = 'Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace';
1907
- var useStyles$1 = /*#__PURE__*/makeStyles(function (theme) {
1950
+ var useStyles$2 = /*#__PURE__*/makeStyles(function (theme) {
1908
1951
  return {
1909
1952
  callbackEditor: {
1910
1953
  marginTop: '16px',
@@ -1917,7 +1960,7 @@ var useStyles$1 = /*#__PURE__*/makeStyles(function (theme) {
1917
1960
 
1918
1961
  function CallbackEditor(_ref) {
1919
1962
  var slot = _ref.slot;
1920
- var classes = useStyles$1();
1963
+ var classes = useStyles$2();
1921
1964
 
1922
1965
  var _useState = useState(slot.value),
1923
1966
  _useState2 = _slicedToArray(_useState, 2),
@@ -1981,6 +2024,9 @@ CallbackEditor.propTypes = {
1981
2024
  };
1982
2025
  var CallbackEditor$1 = /*#__PURE__*/observer(CallbackEditor);
1983
2026
 
2027
+ var ColorPicker = /*#__PURE__*/lazy(function () {
2028
+ return Promise.resolve().then(function () { return ColorPicker$2; });
2029
+ }); // this is needed because passing a entire color object into the react-color
1984
2030
  // for alpha, can't pass in an rgba string for example
1985
2031
 
1986
2032
  function serializeColor(color) {
@@ -1995,58 +2041,16 @@ function serializeColor(color) {
1995
2041
  return color;
1996
2042
  }
1997
2043
 
1998
- var useStyles$2 = /*#__PURE__*/makeStyles({
1999
- popover: {
2000
- position: 'absolute',
2001
- zIndex: 2
2002
- },
2003
- cover: {
2004
- position: 'fixed',
2005
- top: 0,
2006
- right: 0,
2007
- bottom: 0,
2008
- left: 0
2009
- }
2010
- });
2011
- function ColorPicker(props) {
2012
- var color = props.color,
2013
- onChange = props.onChange;
2014
- var classes = useStyles$2();
2015
-
2016
- var _useState = useState(true),
2017
- _useState2 = _slicedToArray(_useState, 2),
2018
- displayColorPicker = _useState2[0],
2019
- setDisplayColorPicker = _useState2[1];
2020
-
2021
- var handleClose = function handleClose() {
2022
- setDisplayColorPicker(false);
2023
- };
2024
-
2025
- return /*#__PURE__*/React.createElement("div", null, displayColorPicker ? /*#__PURE__*/React.createElement("div", {
2026
- className: classes.popover
2027
- }, /*#__PURE__*/React.createElement("div", {
2028
- role: "presentation",
2029
- className: classes.cover,
2030
- onClick: handleClose
2031
- }), /*#__PURE__*/React.createElement(ChromePicker, {
2032
- color: color,
2033
- onChange: onChange
2034
- })) : null);
2035
- }
2036
- ColorPicker.propTypes = {
2037
- color: ReactPropTypes.string.isRequired,
2038
- onChange: ReactPropTypes.func.isRequired
2039
- };
2040
2044
  var ColorSlot = function ColorSlot(props) {
2041
2045
  var value = props.value,
2042
2046
  label = props.label,
2043
2047
  TextFieldProps = props.TextFieldProps,
2044
2048
  _onChange = props.onChange;
2045
2049
 
2046
- var _useState3 = useState(false),
2047
- _useState4 = _slicedToArray(_useState3, 2),
2048
- displayed = _useState4[0],
2049
- setDisplayed = _useState4[1];
2050
+ var _useState = useState(false),
2051
+ _useState2 = _slicedToArray(_useState, 2),
2052
+ displayed = _useState2[0],
2053
+ setDisplayed = _useState2[1];
2050
2054
 
2051
2055
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextField, Object.assign({
2052
2056
  value: value,
@@ -2065,12 +2069,14 @@ var ColorSlot = function ColorSlot(props) {
2065
2069
  onChange: function onChange(event) {
2066
2070
  _onChange(event.target.value);
2067
2071
  }
2068
- }, TextFieldProps)), displayed ? /*#__PURE__*/React.createElement(ColorPicker, {
2072
+ }, TextFieldProps)), displayed ? /*#__PURE__*/React.createElement(React.Suspense, {
2073
+ fallback: /*#__PURE__*/React.createElement("div", null)
2074
+ }, /*#__PURE__*/React.createElement(ColorPicker, {
2069
2075
  color: value,
2070
2076
  onChange: function onChange(event) {
2071
2077
  _onChange(serializeColor(event.rgb));
2072
2078
  }
2073
- }) : null);
2079
+ })) : null);
2074
2080
  };
2075
2081
  ColorSlot.propTypes = {
2076
2082
  onChange: ReactPropTypes.func.isRequired,
@@ -2150,7 +2156,7 @@ var StringArrayEditor = /*#__PURE__*/observer(function (_ref3) {
2150
2156
  value = _useState2[0],
2151
2157
  setValue = _useState2[1];
2152
2158
 
2153
- return /*#__PURE__*/React.createElement(React.Fragment, null, slot.name ? /*#__PURE__*/React.createElement(InputLabel$1, null, slot.name) : null, /*#__PURE__*/React.createElement(List, {
2159
+ return /*#__PURE__*/React.createElement(React.Fragment, null, slot.name ? /*#__PURE__*/React.createElement(InputLabel, null, slot.name) : null, /*#__PURE__*/React.createElement(List, {
2154
2160
  disablePadding: true
2155
2161
  }, slot.value.map(function (val, idx) {
2156
2162
  return /*#__PURE__*/React.createElement(ListItem, {
@@ -2164,7 +2170,7 @@ var StringArrayEditor = /*#__PURE__*/observer(function (_ref3) {
2164
2170
  InputProps: {
2165
2171
  endAdornment: /*#__PURE__*/React.createElement(InputAdornment, {
2166
2172
  position: "end"
2167
- }, /*#__PURE__*/React.createElement(IconButton$1, {
2173
+ }, /*#__PURE__*/React.createElement(IconButton, {
2168
2174
  color: "secondary",
2169
2175
  onClick: function onClick() {
2170
2176
  return slot.removeAtIndex(idx);
@@ -2183,7 +2189,7 @@ var StringArrayEditor = /*#__PURE__*/observer(function (_ref3) {
2183
2189
  InputProps: {
2184
2190
  endAdornment: /*#__PURE__*/React.createElement(InputAdornment, {
2185
2191
  position: "end"
2186
- }, /*#__PURE__*/React.createElement(IconButton$1, {
2192
+ }, /*#__PURE__*/React.createElement(IconButton, {
2187
2193
  onClick: function onClick() {
2188
2194
  slot.add(value);
2189
2195
  setValue('');
@@ -2193,9 +2199,9 @@ var StringArrayEditor = /*#__PURE__*/observer(function (_ref3) {
2193
2199
  "data-testid": "stringArrayAdd-".concat(slot.name)
2194
2200
  }, /*#__PURE__*/React.createElement(AddIcon, null)))
2195
2201
  }
2196
- }))), /*#__PURE__*/React.createElement(FormHelperText$1, null, slot.description));
2202
+ }))), /*#__PURE__*/React.createElement(FormHelperText, null, slot.description));
2197
2203
  });
2198
- var useMapEditorStyles = /*#__PURE__*/makeStyles$1(function (theme) {
2204
+ var useMapEditorStyles = /*#__PURE__*/makeStyles(function (theme) {
2199
2205
  return {
2200
2206
  card: {
2201
2207
  marginTop: theme.spacing(1)
@@ -2211,7 +2217,7 @@ var StringArrayMapEditor = /*#__PURE__*/observer(function (_ref4) {
2211
2217
  value = _useState4[0],
2212
2218
  setValue = _useState4[1];
2213
2219
 
2214
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InputLabel$1, null, slot.name), Array.from(slot.value, function (_ref5) {
2220
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InputLabel, null, slot.name), Array.from(slot.value, function (_ref5) {
2215
2221
  var _ref6 = _slicedToArray(_ref5, 2),
2216
2222
  key = _ref6[0],
2217
2223
  val = _ref6[1];
@@ -2222,7 +2228,7 @@ var StringArrayMapEditor = /*#__PURE__*/observer(function (_ref4) {
2222
2228
  className: classes.card
2223
2229
  }, /*#__PURE__*/React.createElement(CardHeader, {
2224
2230
  title: key,
2225
- action: /*#__PURE__*/React.createElement(IconButton$1, {
2231
+ action: /*#__PURE__*/React.createElement(IconButton, {
2226
2232
  color: "secondary",
2227
2233
  onClick: function onClick() {
2228
2234
  return slot.remove(key);
@@ -2258,7 +2264,7 @@ var StringArrayMapEditor = /*#__PURE__*/observer(function (_ref4) {
2258
2264
  InputProps: {
2259
2265
  endAdornment: /*#__PURE__*/React.createElement(InputAdornment, {
2260
2266
  position: "end"
2261
- }, /*#__PURE__*/React.createElement(IconButton$1, {
2267
+ }, /*#__PURE__*/React.createElement(IconButton, {
2262
2268
  disabled: value === '',
2263
2269
  onClick: function onClick() {
2264
2270
  slot.add(value, []);
@@ -2268,7 +2274,7 @@ var StringArrayMapEditor = /*#__PURE__*/observer(function (_ref4) {
2268
2274
  }, /*#__PURE__*/React.createElement(AddIcon, null)))
2269
2275
  }
2270
2276
  })
2271
- })), /*#__PURE__*/React.createElement(FormHelperText$1, null, slot.description));
2277
+ })), /*#__PURE__*/React.createElement(FormHelperText, null, slot.description));
2272
2278
  });
2273
2279
  var NumberMapEditor = /*#__PURE__*/observer(function (_ref7) {
2274
2280
  var slot = _ref7.slot;
@@ -2279,7 +2285,7 @@ var NumberMapEditor = /*#__PURE__*/observer(function (_ref7) {
2279
2285
  value = _useState6[0],
2280
2286
  setValue = _useState6[1];
2281
2287
 
2282
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InputLabel$1, null, slot.name), Array.from(slot.value, function (_ref8) {
2288
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InputLabel, null, slot.name), Array.from(slot.value, function (_ref8) {
2283
2289
  var _ref9 = _slicedToArray(_ref8, 2),
2284
2290
  key = _ref9[0],
2285
2291
  val = _ref9[1];
@@ -2290,7 +2296,7 @@ var NumberMapEditor = /*#__PURE__*/observer(function (_ref7) {
2290
2296
  className: classes.card
2291
2297
  }, /*#__PURE__*/React.createElement(CardHeader, {
2292
2298
  title: key,
2293
- action: /*#__PURE__*/React.createElement(IconButton$1, {
2299
+ action: /*#__PURE__*/React.createElement(IconButton, {
2294
2300
  color: "secondary",
2295
2301
  onClick: function onClick() {
2296
2302
  return slot.remove(key);
@@ -2319,7 +2325,7 @@ var NumberMapEditor = /*#__PURE__*/observer(function (_ref7) {
2319
2325
  InputProps: {
2320
2326
  endAdornment: /*#__PURE__*/React.createElement(InputAdornment, {
2321
2327
  position: "end"
2322
- }, /*#__PURE__*/React.createElement(IconButton$1, {
2328
+ }, /*#__PURE__*/React.createElement(IconButton, {
2323
2329
  disabled: value === '',
2324
2330
  onClick: function onClick() {
2325
2331
  slot.add(value, 0);
@@ -2329,7 +2335,7 @@ var NumberMapEditor = /*#__PURE__*/observer(function (_ref7) {
2329
2335
  }, /*#__PURE__*/React.createElement(AddIcon, null)))
2330
2336
  }
2331
2337
  })
2332
- })), /*#__PURE__*/React.createElement(FormHelperText$1, null, slot.description));
2338
+ })), /*#__PURE__*/React.createElement(FormHelperText, null, slot.description));
2333
2339
  });
2334
2340
  var NumberEditor = /*#__PURE__*/observer(function (_ref10) {
2335
2341
  var slot = _ref10.slot;
@@ -2385,7 +2391,7 @@ var IntegerEditor = /*#__PURE__*/observer(function (_ref11) {
2385
2391
  });
2386
2392
  var booleanEditor = /*#__PURE__*/observer(function (_ref12) {
2387
2393
  var slot = _ref12.slot;
2388
- return /*#__PURE__*/React.createElement(FormControl$1, null, /*#__PURE__*/React.createElement(FormControlLabel, {
2394
+ return /*#__PURE__*/React.createElement(FormControl, null, /*#__PURE__*/React.createElement(FormControlLabel, {
2389
2395
  label: slot.name,
2390
2396
  control: /*#__PURE__*/React.createElement(Checkbox, {
2391
2397
  checked: slot.value,
@@ -2393,7 +2399,7 @@ var booleanEditor = /*#__PURE__*/observer(function (_ref12) {
2393
2399
  return slot.set(evt.target.checked);
2394
2400
  }
2395
2401
  })
2396
- }), /*#__PURE__*/React.createElement(FormHelperText$1, null, slot.description));
2402
+ }), /*#__PURE__*/React.createElement(FormHelperText, null, slot.description));
2397
2403
  });
2398
2404
  var stringEnumEditor = /*#__PURE__*/observer(function (_ref13) {
2399
2405
  var slot = _ref13.slot,
@@ -2420,6 +2426,8 @@ var stringEnumEditor = /*#__PURE__*/observer(function (_ref13) {
2420
2426
  }));
2421
2427
  });
2422
2428
  var FileSelectorWrapper = /*#__PURE__*/observer(function (_ref14) {
2429
+ var _getEnv$pluginManager;
2430
+
2423
2431
  var slot = _ref14.slot;
2424
2432
  return /*#__PURE__*/React.createElement(FileSelector, {
2425
2433
  location: slot.value,
@@ -2427,7 +2435,8 @@ var FileSelectorWrapper = /*#__PURE__*/observer(function (_ref14) {
2427
2435
  return slot.set(location);
2428
2436
  },
2429
2437
  name: slot.name,
2430
- description: slot.description
2438
+ description: slot.description,
2439
+ rootModel: (_getEnv$pluginManager = getEnv(slot).pluginManager) === null || _getEnv$pluginManager === void 0 ? void 0 : _getEnv$pluginManager.rootModel
2431
2440
  });
2432
2441
  });
2433
2442
  var valueComponents = {
@@ -2445,7 +2454,7 @@ var valueComponents = {
2445
2454
  frozen: JsonEditor$1,
2446
2455
  configRelationships: JsonEditor$1
2447
2456
  };
2448
- var useSlotEditorStyles = /*#__PURE__*/makeStyles$1(function (theme) {
2457
+ var useSlotEditorStyles = /*#__PURE__*/makeStyles(function (theme) {
2449
2458
  return {
2450
2459
  paper: {
2451
2460
  display: 'flex',
@@ -2492,7 +2501,7 @@ var SlotEditor = /*#__PURE__*/observer(function (_ref15) {
2492
2501
  slotSchema: slotSchema
2493
2502
  })), /*#__PURE__*/React.createElement("div", {
2494
2503
  className: classes.slotModeSwitch
2495
- }, slot.contextVariable.length ? /*#__PURE__*/React.createElement(IconButton$1, {
2504
+ }, slot.contextVariable.length ? /*#__PURE__*/React.createElement(IconButton, {
2496
2505
  className: classes.slotModeIcon,
2497
2506
  onClick: function onClick() {
2498
2507
  return slot.isCallback ? slot.convertToValue() : slot.convertToCallback();
@@ -2528,7 +2537,7 @@ var TypeSelector = /*#__PURE__*/observer(function (_ref) {
2528
2537
  }))));
2529
2538
  });
2530
2539
 
2531
- var useStyles$3 = /*#__PURE__*/makeStyles(function (theme) {
2540
+ var useStyles$3 = /*#__PURE__*/makeStyles$1(function (theme) {
2532
2541
  return {
2533
2542
  subSchemaContainer: {
2534
2543
  marginLeft: theme.spacing(1),
@@ -2637,6 +2646,55 @@ var ConfigurationEditor$1 = {
2637
2646
  'default': ConfigurationEditor
2638
2647
  };
2639
2648
 
2649
+ var useStyles$4 = /*#__PURE__*/makeStyles$1({
2650
+ popover: {
2651
+ position: 'absolute',
2652
+ zIndex: 2
2653
+ },
2654
+ cover: {
2655
+ position: 'fixed',
2656
+ top: 0,
2657
+ right: 0,
2658
+ bottom: 0,
2659
+ left: 0
2660
+ }
2661
+ });
2662
+ function ColorPicker$1(props) {
2663
+ var color = props.color,
2664
+ onChange = props.onChange;
2665
+ var classes = useStyles$4();
2666
+
2667
+ var _useState = useState(true),
2668
+ _useState2 = _slicedToArray(_useState, 2),
2669
+ displayColorPicker = _useState2[0],
2670
+ setDisplayColorPicker = _useState2[1];
2671
+
2672
+ var handleClose = function handleClose() {
2673
+ setDisplayColorPicker(false);
2674
+ };
2675
+
2676
+ return /*#__PURE__*/React.createElement("div", null, displayColorPicker ? /*#__PURE__*/React.createElement("div", {
2677
+ className: classes.popover
2678
+ }, /*#__PURE__*/React.createElement("div", {
2679
+ role: "presentation",
2680
+ className: classes.cover,
2681
+ onClick: handleClose
2682
+ }), /*#__PURE__*/React.createElement(ChromePicker, {
2683
+ color: color,
2684
+ onChange: onChange
2685
+ })) : null);
2686
+ }
2687
+ ColorPicker$1.propTypes = {
2688
+ color: ReactPropTypes.string.isRequired,
2689
+ onChange: ReactPropTypes.func.isRequired
2690
+ };
2691
+
2692
+ var ColorPicker$2 = {
2693
+ __proto__: null,
2694
+ ColorPicker: ColorPicker$1,
2695
+ 'default': ColorPicker$1
2696
+ };
2697
+
2640
2698
  export default _default;
2641
2699
  export { ConfigurationEditorComponent as ConfigurationEditor, JsonEditor$1 as JsonEditor };
2642
2700
  //# sourceMappingURL=plugin-config.esm.js.map