@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
@@ -19,10 +19,7 @@ var rxjs = require('@jbrowse/core/util/rxjs');
19
19
  var operators = require('rxjs/operators');
20
20
  var io = require('@jbrowse/core/util/io');
21
21
  var util = require('@jbrowse/core/util');
22
- var FormControl = _interopDefault(require('@material-ui/core/FormControl'));
23
- var FormHelperText = _interopDefault(require('@material-ui/core/FormHelperText'));
24
- var InputLabel = _interopDefault(require('@material-ui/core/InputLabel'));
25
- var styles = require('@material-ui/core/styles');
22
+ var core = require('@material-ui/core');
26
23
  var Editor = _interopDefault(require('react-simple-code-editor'));
27
24
  var reactSyntaxHighlighter = require('react-syntax-highlighter');
28
25
  var json = _interopDefault(require('react-syntax-highlighter/dist/cjs/languages/hljs/json'));
@@ -30,22 +27,20 @@ var a11yDark = _interopDefault(require('react-syntax-highlighter/dist/cjs/styles
30
27
  var a11yLight = _interopDefault(require('react-syntax-highlighter/dist/cjs/styles/hljs/a11y-light'));
31
28
  var FormGroup = _interopDefault(require('@material-ui/core/FormGroup'));
32
29
  var FormLabel = _interopDefault(require('@material-ui/core/FormLabel'));
30
+ var styles = require('@material-ui/core/styles');
33
31
  var pluralize = require('pluralize');
34
32
  var ui = require('@jbrowse/core/ui');
35
33
  var mstReflection = require('@jbrowse/core/util/mst-reflection');
36
- var core = require('@material-ui/core');
37
34
  var DeleteIcon = _interopDefault(require('@material-ui/icons/Delete'));
38
35
  var AddIcon = _interopDefault(require('@material-ui/icons/Add'));
39
36
  var RadioButtonUncheckedIcon = _interopDefault(require('@material-ui/icons/RadioButtonUnchecked'));
40
37
  var jexlStrings = require('@jbrowse/core/util/jexlStrings');
41
- var Tooltip = _interopDefault(require('@material-ui/core/Tooltip'));
42
- var IconButton = _interopDefault(require('@material-ui/core/IconButton'));
43
38
  var HelpIcon = _interopDefault(require('@material-ui/icons/Help'));
44
39
  var ReactPropTypes = _interopDefault(require('prop-types'));
45
40
  var TextField = _interopDefault(require('@material-ui/core/TextField'));
46
- var reactColor = require('react-color');
47
41
  var MenuItem = _interopDefault(require('@material-ui/core/MenuItem'));
48
42
  var Paper = _interopDefault(require('@material-ui/core/Paper'));
43
+ var reactColor = require('react-color');
49
44
 
50
45
  function ownKeys(object, enumerableOnly) {
51
46
  var keys = Object.keys(object);
@@ -231,6 +226,8 @@ function _assertThisInitialized(self) {
231
226
  function _possibleConstructorReturn(self, call) {
232
227
  if (call && (typeof call === "object" || typeof call === "function")) {
233
228
  return call;
229
+ } else if (call !== void 0) {
230
+ throw new TypeError("Derived constructors may only return object or undefined");
234
231
  }
235
232
 
236
233
  return _assertThisInitialized(self);
@@ -555,11 +552,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
555
552
 
556
553
 
557
554
  var IteratorPrototype = {};
558
-
559
- IteratorPrototype[iteratorSymbol] = function () {
555
+ define(IteratorPrototype, iteratorSymbol, function () {
560
556
  return this;
561
- };
562
-
557
+ });
563
558
  var getProto = Object.getPrototypeOf;
564
559
  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
565
560
 
@@ -570,8 +565,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
570
565
  }
571
566
 
572
567
  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
573
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
574
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
568
+ GeneratorFunction.prototype = GeneratorFunctionPrototype;
569
+ define(Gp, "constructor", GeneratorFunctionPrototype);
570
+ define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
575
571
  GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); // Helper for defining the .next, .throw, and .return methods of the
576
572
  // Iterator interface in terms of a single ._invoke method.
577
573
 
@@ -676,11 +672,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
676
672
  }
677
673
 
678
674
  defineIteratorMethods(AsyncIterator.prototype);
679
-
680
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
675
+ define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
681
676
  return this;
682
- };
683
-
677
+ });
684
678
  exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of
685
679
  // AsyncIterator objects; they just return a Promise for the value of
686
680
  // the final result produced by the iterator.
@@ -857,13 +851,12 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
857
851
  // object to not be returned from this call. This ensures that doesn't happen.
858
852
  // See https://github.com/facebook/regenerator/issues/274 for more details.
859
853
 
860
- Gp[iteratorSymbol] = function () {
854
+ define(Gp, iteratorSymbol, function () {
861
855
  return this;
862
- };
863
-
864
- Gp.toString = function () {
856
+ });
857
+ define(Gp, "toString", function () {
865
858
  return "[object Generator]";
866
- };
859
+ });
867
860
 
868
861
  function pushTryEntry(locs) {
869
862
  var entry = {
@@ -1175,14 +1168,19 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
1175
1168
  } catch (accidentalStrictMode) {
1176
1169
  // This module should not be running in strict mode, so the above
1177
1170
  // assignment should always work unless something is misconfigured. Just
1178
- // in case runtime.js accidentally runs in strict mode, we can escape
1171
+ // in case runtime.js accidentally runs in strict mode, in modern engines
1172
+ // we can explicitly access globalThis. In older engines we can escape
1179
1173
  // strict mode using a global Function call. This could conceivably fail
1180
1174
  // if a Content Security Policy forbids using Function, but in that case
1181
1175
  // the proper solution is to fix the accidental strict mode problem. If
1182
1176
  // you've misconfigured your bundler to force strict mode and applied a
1183
1177
  // CSP to forbid Function, and you're not willing to fix either of those
1184
1178
  // problems, please detail your unique predicament in a GitHub issue.
1185
- Function("r", "regeneratorRuntime = r")(runtime);
1179
+ if (typeof globalThis === "object") {
1180
+ globalThis.regeneratorRuntime = runtime;
1181
+ } else {
1182
+ Function("r", "regeneratorRuntime = r")(runtime);
1183
+ }
1186
1184
  }
1187
1185
  });
1188
1186
 
@@ -1197,12 +1195,12 @@ var FromConfigAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
1197
1195
 
1198
1196
  var _super = /*#__PURE__*/_createSuper(FromConfigAdapter);
1199
1197
 
1200
- function FromConfigAdapter(conf) {
1198
+ function FromConfigAdapter(conf, getSubAdapter, pluginManager) {
1201
1199
  var _this;
1202
1200
 
1203
1201
  _classCallCheck(this, FromConfigAdapter);
1204
1202
 
1205
- _this = _super.call(this, conf);
1203
+ _this = _super.call(this, conf, getSubAdapter, pluginManager);
1206
1204
  var feats = configuration.readConfObject(conf, 'features');
1207
1205
  _this.features = FromConfigAdapter.makeFeatures(feats || []);
1208
1206
  return _this;
@@ -1303,9 +1301,9 @@ var FromConfigAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
1303
1301
  }
1304
1302
  }, {
1305
1303
  key: "freeResources",
1306
- value: function freeResources()
1307
- /* { region } */
1308
- {}
1304
+ value: function
1305
+ /* { region } */
1306
+ freeResources() {}
1309
1307
  }], [{
1310
1308
  key: "makeFeatures",
1311
1309
  value: function makeFeatures(fdata) {
@@ -1366,12 +1364,12 @@ var FromConfigRegionsAdapter = /*#__PURE__*/function (_BaseAdapter) {
1366
1364
 
1367
1365
  var _super = /*#__PURE__*/_createSuper(FromConfigRegionsAdapter);
1368
1366
 
1369
- function FromConfigRegionsAdapter(config) {
1367
+ function FromConfigRegionsAdapter(config, getSubAdapter, pluginManager) {
1370
1368
  var _this;
1371
1369
 
1372
1370
  _classCallCheck(this, FromConfigRegionsAdapter);
1373
1371
 
1374
- _this = _super.call(this, config);
1372
+ _this = _super.call(this, config, getSubAdapter, pluginManager);
1375
1373
  var features = configuration.readConfObject(config, 'features');
1376
1374
  _this.features = FromConfigAdapter.makeFeatures(features || []);
1377
1375
  return _this;
@@ -1457,26 +1455,26 @@ var FromConfigRegionsAdapter = /*#__PURE__*/function (_BaseAdapter) {
1457
1455
  }()
1458
1456
  }, {
1459
1457
  key: "freeResources",
1460
- value: function freeResources()
1461
- /* { region } */
1462
- {}
1458
+ value: function
1459
+ /* { region } */
1460
+ freeResources() {}
1463
1461
  }]);
1464
1462
 
1465
1463
  return FromConfigRegionsAdapter;
1466
1464
  }(BaseAdapter.BaseAdapter);
1467
1465
 
1468
- var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1469
- _inherits(FromSequenceConfigAdapter, _FromConfigAdapter);
1466
+ var FromConfigSequenceAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1467
+ _inherits(FromConfigSequenceAdapter, _FromConfigAdapter);
1470
1468
 
1471
- var _super = /*#__PURE__*/_createSuper(FromSequenceConfigAdapter);
1469
+ var _super = /*#__PURE__*/_createSuper(FromConfigSequenceAdapter);
1472
1470
 
1473
- function FromSequenceConfigAdapter() {
1474
- _classCallCheck(this, FromSequenceConfigAdapter);
1471
+ function FromConfigSequenceAdapter() {
1472
+ _classCallCheck(this, FromConfigSequenceAdapter);
1475
1473
 
1476
1474
  return _super.apply(this, arguments);
1477
1475
  }
1478
1476
 
1479
- _createClass(FromSequenceConfigAdapter, [{
1477
+ _createClass(FromConfigSequenceAdapter, [{
1480
1478
  key: "getFeatures",
1481
1479
  value:
1482
1480
  /**
@@ -1491,7 +1489,7 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1491
1489
  // xref: https://github.com/rollup/rollup/blob/master/CHANGELOG.md#bug-fixes-45
1492
1490
  // return ObservableCreate<Feature>(async observer => {
1493
1491
  // const feats = await super.getFeatures(region).pipe(toArray()).toPromise()
1494
- var superGetFeatures = _get(_getPrototypeOf(FromSequenceConfigAdapter.prototype), "getFeatures", this);
1492
+ var superGetFeatures = _get(_getPrototypeOf(FromConfigSequenceAdapter.prototype), "getFeatures", this);
1495
1493
 
1496
1494
  return rxjs.ObservableCreate( /*#__PURE__*/function () {
1497
1495
  var _ref = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(observer) {
@@ -1578,20 +1576,16 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1578
1576
  if (currentRegion) {
1579
1577
  regions.push(currentRegion);
1580
1578
  }
1581
- } // sort the regions by refName
1582
-
1579
+ }
1583
1580
  } catch (err) {
1584
1581
  _iterator.e(err);
1585
1582
  } finally {
1586
1583
  _iterator.f();
1587
1584
  }
1588
1585
 
1589
- regions.sort(function (a, b) {
1590
- return a.refName.localeCompare(b.refName);
1591
- });
1592
1586
  return _context2.abrupt("return", regions);
1593
1587
 
1594
- case 5:
1588
+ case 4:
1595
1589
  case "end":
1596
1590
  return _context2.stop();
1597
1591
  }
@@ -1613,12 +1607,12 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1613
1607
 
1614
1608
  }, {
1615
1609
  key: "freeResources",
1616
- value: function freeResources()
1617
- /* { region } */
1618
- {}
1610
+ value: function
1611
+ /* { region } */
1612
+ freeResources() {}
1619
1613
  }]);
1620
1614
 
1621
- return FromSequenceConfigAdapter;
1615
+ return FromConfigSequenceAdapter;
1622
1616
  }(FromConfigAdapter);
1623
1617
 
1624
1618
  var configSchema$1 = /*#__PURE__*/configuration.ConfigurationSchema('FromConfigAdapter', {
@@ -1666,30 +1660,35 @@ var RefNameAliasAdapter = /*#__PURE__*/function (_BaseAdapter) {
1666
1660
 
1667
1661
  var _super = /*#__PURE__*/_createSuper(RefNameAliasAdapter);
1668
1662
 
1669
- function RefNameAliasAdapter(config) {
1670
- var _this;
1671
-
1663
+ function RefNameAliasAdapter() {
1672
1664
  _classCallCheck(this, RefNameAliasAdapter);
1673
1665
 
1674
- _this = _super.call(this, config);
1675
- _this.location = io.openLocation(configuration.readConfObject(config, 'location'));
1676
- _this.promise = _this.downloadResults();
1677
- return _this;
1666
+ return _super.apply(this, arguments);
1678
1667
  }
1679
1668
 
1680
1669
  _createClass(RefNameAliasAdapter, [{
1681
- key: "downloadResults",
1670
+ key: "getRefNameAliases",
1682
1671
  value: function () {
1683
- var _downloadResults = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
1684
- var results;
1672
+ var _getRefNameAliases = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
1673
+ var loc, results;
1685
1674
  return runtime_1.wrap(function _callee$(_context) {
1686
1675
  while (1) {
1687
1676
  switch (_context.prev = _context.next) {
1688
1677
  case 0:
1689
- _context.next = 2;
1690
- return this.location.readFile('utf8');
1678
+ loc = configuration.readConfObject(this.config, 'location');
1691
1679
 
1692
- case 2:
1680
+ if (!(loc.uri === '' || loc.uri === '/path/to/my/aliases.txt')) {
1681
+ _context.next = 3;
1682
+ break;
1683
+ }
1684
+
1685
+ return _context.abrupt("return", []);
1686
+
1687
+ case 3:
1688
+ _context.next = 5;
1689
+ return io.openLocation(loc).readFile('utf8');
1690
+
1691
+ case 5:
1693
1692
  results = _context.sent;
1694
1693
  return _context.abrupt("return", results.trim().split('\n').map(function (row) {
1695
1694
  var _row$split = row.split('\t'),
@@ -1703,7 +1702,7 @@ var RefNameAliasAdapter = /*#__PURE__*/function (_BaseAdapter) {
1703
1702
  };
1704
1703
  }));
1705
1704
 
1706
- case 4:
1705
+ case 7:
1707
1706
  case "end":
1708
1707
  return _context.stop();
1709
1708
  }
@@ -1711,17 +1710,12 @@ var RefNameAliasAdapter = /*#__PURE__*/function (_BaseAdapter) {
1711
1710
  }, _callee, this);
1712
1711
  }));
1713
1712
 
1714
- function downloadResults() {
1715
- return _downloadResults.apply(this, arguments);
1713
+ function getRefNameAliases() {
1714
+ return _getRefNameAliases.apply(this, arguments);
1716
1715
  }
1717
1716
 
1718
- return downloadResults;
1717
+ return getRefNameAliases;
1719
1718
  }()
1720
- }, {
1721
- key: "getRefNameAliases",
1722
- value: function getRefNameAliases() {
1723
- return this.promise;
1724
- }
1725
1719
  }, {
1726
1720
  key: "freeResources",
1727
1721
  value: function () {
@@ -1752,41 +1746,27 @@ var refNameAliasAdapterConfigSchema = /*#__PURE__*/configuration.ConfigurationSc
1752
1746
  location: {
1753
1747
  type: 'fileLocation',
1754
1748
  defaultValue: {
1755
- uri: '/path/to/my/aliases.txt'
1749
+ uri: '/path/to/my/aliases.txt',
1750
+ locationType: 'UriLocation'
1756
1751
  }
1757
1752
  }
1758
1753
  }, {
1759
1754
  explicitlyTyped: true
1760
1755
  });
1761
1756
 
1762
- reactSyntaxHighlighter.Light.registerLanguage('json', json); // fontSize and fontFamily have to match between Editor and SyntaxHighlighter
1763
-
1764
- var fontSize = '12px'; // Optimize by using system default fonts: https://css-tricks.com/snippets/css/font-stacks/
1765
-
1766
- 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';
1767
- var useStyles = /*#__PURE__*/styles.makeStyles({
1768
- callbackEditor: {
1769
- fontFamily: fontFamily,
1770
- fontSize: fontSize,
1771
- overflowX: 'auto',
1772
- marginTop: '16px',
1773
- borderBottom: '1px solid rgba(0,0,0,0.42)'
1774
- },
1775
- syntaxHighlighter: {
1776
- margin: 0,
1777
- fontFamily: fontFamily,
1778
- fontSize: fontSize
1779
- },
1757
+ var useStyles = /*#__PURE__*/core.makeStyles({
1780
1758
  error: {
1781
1759
  color: 'red',
1782
1760
  fontSize: '0.8em'
1783
1761
  }
1784
1762
  });
1763
+ var CodeEditor = /*#__PURE__*/React.lazy(function () {
1764
+ return Promise.resolve().then(function () { return CodeEditor$2; });
1765
+ });
1785
1766
 
1786
1767
  function JsonEditor(_ref) {
1787
1768
  var slot = _ref.slot;
1788
1769
  var classes = useStyles();
1789
- var theme = styles.useTheme();
1790
1770
 
1791
1771
  var _useState = React.useState(JSON.stringify(slot.value, null, ' ')),
1792
1772
  _useState2 = _slicedToArray(_useState, 2),
@@ -1810,31 +1790,17 @@ function JsonEditor(_ref) {
1810
1790
  }, [debouncedJson]);
1811
1791
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, error ? /*#__PURE__*/React__default.createElement("p", {
1812
1792
  className: classes.error
1813
- }, error) : null, /*#__PURE__*/React__default.createElement(FormControl, {
1793
+ }, error) : null, /*#__PURE__*/React__default.createElement(core.FormControl, {
1814
1794
  error: error
1815
- }, /*#__PURE__*/React__default.createElement(InputLabel, {
1795
+ }, /*#__PURE__*/React__default.createElement(core.InputLabel, {
1816
1796
  shrink: true,
1817
1797
  htmlFor: "callback-editor"
1818
- }, slot.name), /*#__PURE__*/React__default.createElement(Editor, {
1819
- className: classes.callbackEditor,
1820
- value: contents,
1821
- onValueChange: setContents,
1822
- highlight: function highlight(newCode) {
1823
- return /*#__PURE__*/React__default.createElement(reactSyntaxHighlighter.Light, {
1824
- language: "json",
1825
- style: theme.palette.type === 'dark' ? a11yDark : a11yLight,
1826
- className: classes.syntaxHighlighter // override some inline style stuff that's higher specificity
1827
- // than className
1828
- ,
1829
- customStyle: {
1830
- background: 'none',
1831
- padding: 0
1832
- }
1833
- }, newCode);
1834
- },
1835
- padding: 10,
1836
- style: {}
1837
- }), /*#__PURE__*/React__default.createElement(FormHelperText, null, slot.description)));
1798
+ }, slot.name), /*#__PURE__*/React__default.createElement(React__default.Suspense, {
1799
+ fallback: /*#__PURE__*/React__default.createElement("div", null)
1800
+ }, /*#__PURE__*/React__default.createElement(CodeEditor, {
1801
+ contents: contents,
1802
+ setContents: setContents
1803
+ })), /*#__PURE__*/React__default.createElement(core.FormHelperText, null, slot.description)));
1838
1804
  }
1839
1805
 
1840
1806
  JsonEditor.propTypes = {
@@ -1868,28 +1834,52 @@ var _default = /*#__PURE__*/function (_Plugin) {
1868
1834
  return new AdapterType({
1869
1835
  name: 'FromConfigAdapter',
1870
1836
  configSchema: configSchema$1,
1871
- AdapterClass: FromConfigAdapter
1837
+ AdapterClass: FromConfigAdapter,
1838
+ adapterMetadata: {
1839
+ category: null,
1840
+ hiddenFromGUI: true,
1841
+ displayName: null,
1842
+ description: null
1843
+ }
1872
1844
  });
1873
1845
  });
1874
1846
  pluginManager.addAdapterType(function () {
1875
1847
  return new AdapterType({
1876
1848
  name: 'FromConfigRegionsAdapter',
1877
1849
  configSchema: regionsConfigSchema,
1878
- AdapterClass: FromConfigRegionsAdapter
1850
+ AdapterClass: FromConfigRegionsAdapter,
1851
+ adapterMetadata: {
1852
+ category: null,
1853
+ hiddenFromGUI: true,
1854
+ displayName: null,
1855
+ description: null
1856
+ }
1879
1857
  });
1880
1858
  });
1881
1859
  pluginManager.addAdapterType(function () {
1882
1860
  return new AdapterType({
1883
1861
  name: 'FromConfigSequenceAdapter',
1884
1862
  configSchema: sequenceConfigSchema,
1885
- AdapterClass: FromSequenceConfigAdapter
1863
+ AdapterClass: FromConfigSequenceAdapter,
1864
+ adapterMetadata: {
1865
+ category: null,
1866
+ hiddenFromGUI: true,
1867
+ displayName: null,
1868
+ description: null
1869
+ }
1886
1870
  });
1887
1871
  });
1888
1872
  pluginManager.addAdapterType(function () {
1889
1873
  return new AdapterType({
1890
1874
  name: 'RefNameAliasAdapter',
1891
1875
  configSchema: refNameAliasAdapterConfigSchema,
1892
- AdapterClass: RefNameAliasAdapter
1876
+ AdapterClass: RefNameAliasAdapter,
1877
+ adapterMetadata: {
1878
+ category: null,
1879
+ hiddenFromGUI: true,
1880
+ displayName: null,
1881
+ description: null
1882
+ }
1893
1883
  });
1894
1884
  });
1895
1885
  pluginManager.addWidgetType(function () {
@@ -1907,11 +1897,64 @@ var _default = /*#__PURE__*/function (_Plugin) {
1907
1897
  return _default;
1908
1898
  }(Plugin);
1909
1899
 
1900
+ var fontSize = '12px'; // Optimize by using system default fonts: https://css-tricks.com/snippets/css/font-stacks/
1901
+
1902
+ 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';
1903
+ var useStyles$1 = /*#__PURE__*/core.makeStyles({
1904
+ callbackEditor: {
1905
+ fontFamily: fontFamily,
1906
+ fontSize: fontSize,
1907
+ overflowX: 'auto',
1908
+ marginTop: '16px',
1909
+ borderBottom: '1px solid rgba(0,0,0,0.42)'
1910
+ },
1911
+ syntaxHighlighter: {
1912
+ margin: 0,
1913
+ fontFamily: fontFamily,
1914
+ fontSize: fontSize
1915
+ }
1916
+ }); // eslint-disable-next-line react/prop-types
1917
+
1918
+ function CodeEditor$1(_ref) {
1919
+ var contents = _ref.contents,
1920
+ setContents = _ref.setContents;
1921
+ var classes = useStyles$1();
1922
+ var theme = core.useTheme();
1923
+ React.useEffect(function () {
1924
+ reactSyntaxHighlighter.Light.registerLanguage('json', json);
1925
+ }, []);
1926
+ return /*#__PURE__*/React__default.createElement(Editor, {
1927
+ className: classes.callbackEditor,
1928
+ value: contents,
1929
+ onValueChange: setContents,
1930
+ highlight: function highlight(newCode) {
1931
+ return /*#__PURE__*/React__default.createElement(reactSyntaxHighlighter.Light, {
1932
+ language: "json",
1933
+ style: theme.palette.type === 'dark' ? a11yDark : a11yLight,
1934
+ className: classes.syntaxHighlighter // override some inline style stuff that's higher specificity
1935
+ // than className
1936
+ ,
1937
+ customStyle: {
1938
+ background: 'none',
1939
+ padding: 0
1940
+ }
1941
+ }, newCode);
1942
+ },
1943
+ padding: 10,
1944
+ style: {}
1945
+ });
1946
+ }
1947
+
1948
+ var CodeEditor$2 = {
1949
+ __proto__: null,
1950
+ 'default': CodeEditor$1
1951
+ };
1952
+
1910
1953
  var fontSize$1 = '12px'; // Optimize by using system default fonts:
1911
1954
  // https://css-tricks.com/snippets/css/font-stacks/
1912
1955
 
1913
1956
  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';
1914
- var useStyles$1 = /*#__PURE__*/styles.makeStyles(function (theme) {
1957
+ var useStyles$2 = /*#__PURE__*/core.makeStyles(function (theme) {
1915
1958
  return {
1916
1959
  callbackEditor: {
1917
1960
  marginTop: '16px',
@@ -1924,7 +1967,7 @@ var useStyles$1 = /*#__PURE__*/styles.makeStyles(function (theme) {
1924
1967
 
1925
1968
  function CallbackEditor(_ref) {
1926
1969
  var slot = _ref.slot;
1927
- var classes = useStyles$1();
1970
+ var classes = useStyles$2();
1928
1971
 
1929
1972
  var _useState = React.useState(slot.value),
1930
1973
  _useState2 = _slicedToArray(_useState, 2),
@@ -1952,7 +1995,7 @@ function CallbackEditor(_ref) {
1952
1995
  }, [debouncedCode, slot]); // if default value is a callback, will have to remove jexl:
1953
1996
  // do this last
1954
1997
 
1955
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FormControl, null, /*#__PURE__*/React__default.createElement(InputLabel, {
1998
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(core.FormControl, null, /*#__PURE__*/React__default.createElement(core.InputLabel, {
1956
1999
  shrink: true,
1957
2000
  htmlFor: "callback-editor"
1958
2001
  }, slot.name), /*#__PURE__*/React__default.createElement(Editor, {
@@ -1968,10 +2011,10 @@ function CallbackEditor(_ref) {
1968
2011
  style: {
1969
2012
  background: error ? '#fdd' : undefined
1970
2013
  }
1971
- }), /*#__PURE__*/React__default.createElement(FormHelperText, null, slot.description)), /*#__PURE__*/React__default.createElement(Tooltip, {
2014
+ }), /*#__PURE__*/React__default.createElement(core.FormHelperText, null, slot.description)), /*#__PURE__*/React__default.createElement(core.Tooltip, {
1972
2015
  title: /*#__PURE__*/React__default.createElement("div", null, "Callbacks are written in Jexl format. Click to learn more.", /*#__PURE__*/React__default.createElement("br", null), " Names of available context items: ", slot.contextVariable),
1973
2016
  arrow: true
1974
- }, /*#__PURE__*/React__default.createElement(IconButton, {
2017
+ }, /*#__PURE__*/React__default.createElement(core.IconButton, {
1975
2018
  color: "primary",
1976
2019
  onClick: function onClick() {
1977
2020
  var newWindow = window.open('https://github.com/TomFrost/Jexl', '_blank', 'noopener,noreferrer');
@@ -1988,6 +2031,9 @@ CallbackEditor.propTypes = {
1988
2031
  };
1989
2032
  var CallbackEditor$1 = /*#__PURE__*/mobxReact.observer(CallbackEditor);
1990
2033
 
2034
+ var ColorPicker = /*#__PURE__*/React.lazy(function () {
2035
+ return Promise.resolve().then(function () { return ColorPicker$2; });
2036
+ }); // this is needed because passing a entire color object into the react-color
1991
2037
  // for alpha, can't pass in an rgba string for example
1992
2038
 
1993
2039
  function serializeColor(color) {
@@ -2002,58 +2048,16 @@ function serializeColor(color) {
2002
2048
  return color;
2003
2049
  }
2004
2050
 
2005
- var useStyles$2 = /*#__PURE__*/styles.makeStyles({
2006
- popover: {
2007
- position: 'absolute',
2008
- zIndex: 2
2009
- },
2010
- cover: {
2011
- position: 'fixed',
2012
- top: 0,
2013
- right: 0,
2014
- bottom: 0,
2015
- left: 0
2016
- }
2017
- });
2018
- function ColorPicker(props) {
2019
- var color = props.color,
2020
- onChange = props.onChange;
2021
- var classes = useStyles$2();
2022
-
2023
- var _useState = React.useState(true),
2024
- _useState2 = _slicedToArray(_useState, 2),
2025
- displayColorPicker = _useState2[0],
2026
- setDisplayColorPicker = _useState2[1];
2027
-
2028
- var handleClose = function handleClose() {
2029
- setDisplayColorPicker(false);
2030
- };
2031
-
2032
- return /*#__PURE__*/React__default.createElement("div", null, displayColorPicker ? /*#__PURE__*/React__default.createElement("div", {
2033
- className: classes.popover
2034
- }, /*#__PURE__*/React__default.createElement("div", {
2035
- role: "presentation",
2036
- className: classes.cover,
2037
- onClick: handleClose
2038
- }), /*#__PURE__*/React__default.createElement(reactColor.ChromePicker, {
2039
- color: color,
2040
- onChange: onChange
2041
- })) : null);
2042
- }
2043
- ColorPicker.propTypes = {
2044
- color: ReactPropTypes.string.isRequired,
2045
- onChange: ReactPropTypes.func.isRequired
2046
- };
2047
2051
  var ColorSlot = function ColorSlot(props) {
2048
2052
  var value = props.value,
2049
2053
  label = props.label,
2050
2054
  TextFieldProps = props.TextFieldProps,
2051
2055
  _onChange = props.onChange;
2052
2056
 
2053
- var _useState3 = React.useState(false),
2054
- _useState4 = _slicedToArray(_useState3, 2),
2055
- displayed = _useState4[0],
2056
- setDisplayed = _useState4[1];
2057
+ var _useState = React.useState(false),
2058
+ _useState2 = _slicedToArray(_useState, 2),
2059
+ displayed = _useState2[0],
2060
+ setDisplayed = _useState2[1];
2057
2061
 
2058
2062
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TextField, Object.assign({
2059
2063
  value: value,
@@ -2072,12 +2076,14 @@ var ColorSlot = function ColorSlot(props) {
2072
2076
  onChange: function onChange(event) {
2073
2077
  _onChange(event.target.value);
2074
2078
  }
2075
- }, TextFieldProps)), displayed ? /*#__PURE__*/React__default.createElement(ColorPicker, {
2079
+ }, TextFieldProps)), displayed ? /*#__PURE__*/React__default.createElement(React__default.Suspense, {
2080
+ fallback: /*#__PURE__*/React__default.createElement("div", null)
2081
+ }, /*#__PURE__*/React__default.createElement(ColorPicker, {
2076
2082
  color: value,
2077
2083
  onChange: function onChange(event) {
2078
2084
  _onChange(serializeColor(event.rgb));
2079
2085
  }
2080
- }) : null);
2086
+ })) : null);
2081
2087
  };
2082
2088
  ColorSlot.propTypes = {
2083
2089
  onChange: ReactPropTypes.func.isRequired,
@@ -2427,6 +2433,8 @@ var stringEnumEditor = /*#__PURE__*/mobxReact.observer(function (_ref13) {
2427
2433
  }));
2428
2434
  });
2429
2435
  var FileSelectorWrapper = /*#__PURE__*/mobxReact.observer(function (_ref14) {
2436
+ var _getEnv$pluginManager;
2437
+
2430
2438
  var slot = _ref14.slot;
2431
2439
  return /*#__PURE__*/React__default.createElement(ui.FileSelector, {
2432
2440
  location: slot.value,
@@ -2434,7 +2442,8 @@ var FileSelectorWrapper = /*#__PURE__*/mobxReact.observer(function (_ref14) {
2434
2442
  return slot.set(location);
2435
2443
  },
2436
2444
  name: slot.name,
2437
- description: slot.description
2445
+ description: slot.description,
2446
+ rootModel: (_getEnv$pluginManager = mobxStateTree.getEnv(slot).pluginManager) === null || _getEnv$pluginManager === void 0 ? void 0 : _getEnv$pluginManager.rootModel
2438
2447
  });
2439
2448
  });
2440
2449
  var valueComponents = {
@@ -2644,6 +2653,55 @@ var ConfigurationEditor$1 = {
2644
2653
  'default': ConfigurationEditor
2645
2654
  };
2646
2655
 
2656
+ var useStyles$4 = /*#__PURE__*/styles.makeStyles({
2657
+ popover: {
2658
+ position: 'absolute',
2659
+ zIndex: 2
2660
+ },
2661
+ cover: {
2662
+ position: 'fixed',
2663
+ top: 0,
2664
+ right: 0,
2665
+ bottom: 0,
2666
+ left: 0
2667
+ }
2668
+ });
2669
+ function ColorPicker$1(props) {
2670
+ var color = props.color,
2671
+ onChange = props.onChange;
2672
+ var classes = useStyles$4();
2673
+
2674
+ var _useState = React.useState(true),
2675
+ _useState2 = _slicedToArray(_useState, 2),
2676
+ displayColorPicker = _useState2[0],
2677
+ setDisplayColorPicker = _useState2[1];
2678
+
2679
+ var handleClose = function handleClose() {
2680
+ setDisplayColorPicker(false);
2681
+ };
2682
+
2683
+ return /*#__PURE__*/React__default.createElement("div", null, displayColorPicker ? /*#__PURE__*/React__default.createElement("div", {
2684
+ className: classes.popover
2685
+ }, /*#__PURE__*/React__default.createElement("div", {
2686
+ role: "presentation",
2687
+ className: classes.cover,
2688
+ onClick: handleClose
2689
+ }), /*#__PURE__*/React__default.createElement(reactColor.ChromePicker, {
2690
+ color: color,
2691
+ onChange: onChange
2692
+ })) : null);
2693
+ }
2694
+ ColorPicker$1.propTypes = {
2695
+ color: ReactPropTypes.string.isRequired,
2696
+ onChange: ReactPropTypes.func.isRequired
2697
+ };
2698
+
2699
+ var ColorPicker$2 = {
2700
+ __proto__: null,
2701
+ ColorPicker: ColorPicker$1,
2702
+ 'default': ColorPicker$1
2703
+ };
2704
+
2647
2705
  exports.ConfigurationEditor = ConfigurationEditorComponent;
2648
2706
  exports.JsonEditor = JsonEditor$1;
2649
2707
  exports.default = _default;