@jbrowse/plugin-config 1.4.4 → 1.5.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 (28) 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 +3 -1
  8. package/dist/plugin-config.cjs.development.js +180 -147
  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 +190 -157
  13. package/dist/plugin-config.esm.js.map +1 -1
  14. package/package.json +3 -3
  15. package/src/ConfigurationEditorWidget/components/CodeEditor.js +59 -0
  16. package/src/ConfigurationEditorWidget/components/ColorEditor.tsx +12 -54
  17. package/src/ConfigurationEditorWidget/components/ColorPicker.tsx +52 -0
  18. package/src/ConfigurationEditorWidget/components/ConfigurationEditor.test.js +3 -4
  19. package/src/ConfigurationEditorWidget/components/JsonEditor.js +12 -51
  20. package/src/ConfigurationEditorWidget/components/SlotEditor.js +7 -3
  21. package/src/ConfigurationEditorWidget/components/__snapshots__/ConfigurationEditor.test.js.snap +40 -23
  22. package/src/FromConfigAdapter/FromConfigAdapter.ts +8 -2
  23. package/src/FromConfigAdapter/FromConfigRegionsAdapter.ts +7 -2
  24. package/src/FromConfigAdapter/FromConfigSequenceAdapter.test.ts +2 -5
  25. package/src/FromConfigAdapter/FromConfigSequenceAdapter.ts +1 -4
  26. package/src/RefNameAliasAdapter/RefNameAliasAdapter.test.ts +4 -1
  27. package/src/RefNameAliasAdapter/RefNameAliasAdapter.ts +14 -4
  28. package/src/RefNameAliasAdapter/configSchema.ts +4 -1
@@ -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,25 @@ 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');
38
+ var FormControl = _interopDefault(require('@material-ui/core/FormControl'));
39
+ var FormHelperText = _interopDefault(require('@material-ui/core/FormHelperText'));
40
+ var InputLabel = _interopDefault(require('@material-ui/core/InputLabel'));
41
41
  var Tooltip = _interopDefault(require('@material-ui/core/Tooltip'));
42
42
  var IconButton = _interopDefault(require('@material-ui/core/IconButton'));
43
43
  var HelpIcon = _interopDefault(require('@material-ui/icons/Help'));
44
44
  var ReactPropTypes = _interopDefault(require('prop-types'));
45
45
  var TextField = _interopDefault(require('@material-ui/core/TextField'));
46
- var reactColor = require('react-color');
47
46
  var MenuItem = _interopDefault(require('@material-ui/core/MenuItem'));
48
47
  var Paper = _interopDefault(require('@material-ui/core/Paper'));
48
+ var reactColor = require('react-color');
49
49
 
50
50
  function ownKeys(object, enumerableOnly) {
51
51
  var keys = Object.keys(object);
@@ -231,6 +231,8 @@ function _assertThisInitialized(self) {
231
231
  function _possibleConstructorReturn(self, call) {
232
232
  if (call && (typeof call === "object" || typeof call === "function")) {
233
233
  return call;
234
+ } else if (call !== void 0) {
235
+ throw new TypeError("Derived constructors may only return object or undefined");
234
236
  }
235
237
 
236
238
  return _assertThisInitialized(self);
@@ -555,11 +557,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
555
557
 
556
558
 
557
559
  var IteratorPrototype = {};
558
-
559
- IteratorPrototype[iteratorSymbol] = function () {
560
+ define(IteratorPrototype, iteratorSymbol, function () {
560
561
  return this;
561
- };
562
-
562
+ });
563
563
  var getProto = Object.getPrototypeOf;
564
564
  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
565
565
 
@@ -570,8 +570,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
570
570
  }
571
571
 
572
572
  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
573
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
574
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
573
+ GeneratorFunction.prototype = GeneratorFunctionPrototype;
574
+ define(Gp, "constructor", GeneratorFunctionPrototype);
575
+ define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
575
576
  GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); // Helper for defining the .next, .throw, and .return methods of the
576
577
  // Iterator interface in terms of a single ._invoke method.
577
578
 
@@ -676,11 +677,9 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
676
677
  }
677
678
 
678
679
  defineIteratorMethods(AsyncIterator.prototype);
679
-
680
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
680
+ define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
681
681
  return this;
682
- };
683
-
682
+ });
684
683
  exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of
685
684
  // AsyncIterator objects; they just return a Promise for the value of
686
685
  // the final result produced by the iterator.
@@ -857,13 +856,12 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
857
856
  // object to not be returned from this call. This ensures that doesn't happen.
858
857
  // See https://github.com/facebook/regenerator/issues/274 for more details.
859
858
 
860
- Gp[iteratorSymbol] = function () {
859
+ define(Gp, iteratorSymbol, function () {
861
860
  return this;
862
- };
863
-
864
- Gp.toString = function () {
861
+ });
862
+ define(Gp, "toString", function () {
865
863
  return "[object Generator]";
866
- };
864
+ });
867
865
 
868
866
  function pushTryEntry(locs) {
869
867
  var entry = {
@@ -1175,14 +1173,19 @@ var runtime_1 = /*#__PURE__*/createCommonjsModule(function (module) {
1175
1173
  } catch (accidentalStrictMode) {
1176
1174
  // This module should not be running in strict mode, so the above
1177
1175
  // assignment should always work unless something is misconfigured. Just
1178
- // in case runtime.js accidentally runs in strict mode, we can escape
1176
+ // in case runtime.js accidentally runs in strict mode, in modern engines
1177
+ // we can explicitly access globalThis. In older engines we can escape
1179
1178
  // strict mode using a global Function call. This could conceivably fail
1180
1179
  // if a Content Security Policy forbids using Function, but in that case
1181
1180
  // the proper solution is to fix the accidental strict mode problem. If
1182
1181
  // you've misconfigured your bundler to force strict mode and applied a
1183
1182
  // CSP to forbid Function, and you're not willing to fix either of those
1184
1183
  // problems, please detail your unique predicament in a GitHub issue.
1185
- Function("r", "regeneratorRuntime = r")(runtime);
1184
+ if (typeof globalThis === "object") {
1185
+ globalThis.regeneratorRuntime = runtime;
1186
+ } else {
1187
+ Function("r", "regeneratorRuntime = r")(runtime);
1188
+ }
1186
1189
  }
1187
1190
  });
1188
1191
 
@@ -1197,12 +1200,12 @@ var FromConfigAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
1197
1200
 
1198
1201
  var _super = /*#__PURE__*/_createSuper(FromConfigAdapter);
1199
1202
 
1200
- function FromConfigAdapter(conf) {
1203
+ function FromConfigAdapter(conf, getSubAdapter, pluginManager) {
1201
1204
  var _this;
1202
1205
 
1203
1206
  _classCallCheck(this, FromConfigAdapter);
1204
1207
 
1205
- _this = _super.call(this, conf);
1208
+ _this = _super.call(this, conf, getSubAdapter, pluginManager);
1206
1209
  var feats = configuration.readConfObject(conf, 'features');
1207
1210
  _this.features = FromConfigAdapter.makeFeatures(feats || []);
1208
1211
  return _this;
@@ -1303,9 +1306,7 @@ var FromConfigAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
1303
1306
  }
1304
1307
  }, {
1305
1308
  key: "freeResources",
1306
- value: function freeResources()
1307
- /* { region } */
1308
- {}
1309
+ value: function freeResources() {}
1309
1310
  }], [{
1310
1311
  key: "makeFeatures",
1311
1312
  value: function makeFeatures(fdata) {
@@ -1366,12 +1367,12 @@ var FromConfigRegionsAdapter = /*#__PURE__*/function (_BaseAdapter) {
1366
1367
 
1367
1368
  var _super = /*#__PURE__*/_createSuper(FromConfigRegionsAdapter);
1368
1369
 
1369
- function FromConfigRegionsAdapter(config) {
1370
+ function FromConfigRegionsAdapter(config, getSubAdapter, pluginManager) {
1370
1371
  var _this;
1371
1372
 
1372
1373
  _classCallCheck(this, FromConfigRegionsAdapter);
1373
1374
 
1374
- _this = _super.call(this, config);
1375
+ _this = _super.call(this, config, getSubAdapter, pluginManager);
1375
1376
  var features = configuration.readConfObject(config, 'features');
1376
1377
  _this.features = FromConfigAdapter.makeFeatures(features || []);
1377
1378
  return _this;
@@ -1457,26 +1458,24 @@ var FromConfigRegionsAdapter = /*#__PURE__*/function (_BaseAdapter) {
1457
1458
  }()
1458
1459
  }, {
1459
1460
  key: "freeResources",
1460
- value: function freeResources()
1461
- /* { region } */
1462
- {}
1461
+ value: function freeResources() {}
1463
1462
  }]);
1464
1463
 
1465
1464
  return FromConfigRegionsAdapter;
1466
1465
  }(BaseAdapter.BaseAdapter);
1467
1466
 
1468
- var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1469
- _inherits(FromSequenceConfigAdapter, _FromConfigAdapter);
1467
+ var FromConfigSequenceAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1468
+ _inherits(FromConfigSequenceAdapter, _FromConfigAdapter);
1470
1469
 
1471
- var _super = /*#__PURE__*/_createSuper(FromSequenceConfigAdapter);
1470
+ var _super = /*#__PURE__*/_createSuper(FromConfigSequenceAdapter);
1472
1471
 
1473
- function FromSequenceConfigAdapter() {
1474
- _classCallCheck(this, FromSequenceConfigAdapter);
1472
+ function FromConfigSequenceAdapter() {
1473
+ _classCallCheck(this, FromConfigSequenceAdapter);
1475
1474
 
1476
1475
  return _super.apply(this, arguments);
1477
1476
  }
1478
1477
 
1479
- _createClass(FromSequenceConfigAdapter, [{
1478
+ _createClass(FromConfigSequenceAdapter, [{
1480
1479
  key: "getFeatures",
1481
1480
  value:
1482
1481
  /**
@@ -1491,7 +1490,7 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1491
1490
  // xref: https://github.com/rollup/rollup/blob/master/CHANGELOG.md#bug-fixes-45
1492
1491
  // return ObservableCreate<Feature>(async observer => {
1493
1492
  // const feats = await super.getFeatures(region).pipe(toArray()).toPromise()
1494
- var superGetFeatures = _get(_getPrototypeOf(FromSequenceConfigAdapter.prototype), "getFeatures", this);
1493
+ var superGetFeatures = _get(_getPrototypeOf(FromConfigSequenceAdapter.prototype), "getFeatures", this);
1495
1494
 
1496
1495
  return rxjs.ObservableCreate( /*#__PURE__*/function () {
1497
1496
  var _ref = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(observer) {
@@ -1578,20 +1577,16 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1578
1577
  if (currentRegion) {
1579
1578
  regions.push(currentRegion);
1580
1579
  }
1581
- } // sort the regions by refName
1582
-
1580
+ }
1583
1581
  } catch (err) {
1584
1582
  _iterator.e(err);
1585
1583
  } finally {
1586
1584
  _iterator.f();
1587
1585
  }
1588
1586
 
1589
- regions.sort(function (a, b) {
1590
- return a.refName.localeCompare(b.refName);
1591
- });
1592
1587
  return _context2.abrupt("return", regions);
1593
1588
 
1594
- case 5:
1589
+ case 4:
1595
1590
  case "end":
1596
1591
  return _context2.stop();
1597
1592
  }
@@ -1613,12 +1608,10 @@ var FromSequenceConfigAdapter = /*#__PURE__*/function (_FromConfigAdapter) {
1613
1608
 
1614
1609
  }, {
1615
1610
  key: "freeResources",
1616
- value: function freeResources()
1617
- /* { region } */
1618
- {}
1611
+ value: function freeResources() {}
1619
1612
  }]);
1620
1613
 
1621
- return FromSequenceConfigAdapter;
1614
+ return FromConfigSequenceAdapter;
1622
1615
  }(FromConfigAdapter);
1623
1616
 
1624
1617
  var configSchema$1 = /*#__PURE__*/configuration.ConfigurationSchema('FromConfigAdapter', {
@@ -1666,13 +1659,13 @@ var RefNameAliasAdapter = /*#__PURE__*/function (_BaseAdapter) {
1666
1659
 
1667
1660
  var _super = /*#__PURE__*/_createSuper(RefNameAliasAdapter);
1668
1661
 
1669
- function RefNameAliasAdapter(config) {
1662
+ function RefNameAliasAdapter(config, getSubAdapter, pluginManager) {
1670
1663
  var _this;
1671
1664
 
1672
1665
  _classCallCheck(this, RefNameAliasAdapter);
1673
1666
 
1674
- _this = _super.call(this, config);
1675
- _this.location = io.openLocation(configuration.readConfObject(config, 'location'));
1667
+ _this = _super.call(this, config, getSubAdapter, pluginManager);
1668
+ _this.location = io.openLocation(configuration.readConfObject(config, 'location'), _this.pluginManager);
1676
1669
  _this.promise = _this.downloadResults();
1677
1670
  return _this;
1678
1671
  }
@@ -1752,41 +1745,27 @@ var refNameAliasAdapterConfigSchema = /*#__PURE__*/configuration.ConfigurationSc
1752
1745
  location: {
1753
1746
  type: 'fileLocation',
1754
1747
  defaultValue: {
1755
- uri: '/path/to/my/aliases.txt'
1748
+ uri: '/path/to/my/aliases.txt',
1749
+ locationType: 'UriLocation'
1756
1750
  }
1757
1751
  }
1758
1752
  }, {
1759
1753
  explicitlyTyped: true
1760
1754
  });
1761
1755
 
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
- },
1756
+ var useStyles = /*#__PURE__*/core.makeStyles({
1780
1757
  error: {
1781
1758
  color: 'red',
1782
1759
  fontSize: '0.8em'
1783
1760
  }
1784
1761
  });
1762
+ var CodeEditor = /*#__PURE__*/React.lazy(function () {
1763
+ return Promise.resolve().then(function () { return CodeEditor$2; });
1764
+ });
1785
1765
 
1786
1766
  function JsonEditor(_ref) {
1787
1767
  var slot = _ref.slot;
1788
1768
  var classes = useStyles();
1789
- var theme = styles.useTheme();
1790
1769
 
1791
1770
  var _useState = React.useState(JSON.stringify(slot.value, null, ' ')),
1792
1771
  _useState2 = _slicedToArray(_useState, 2),
@@ -1810,31 +1789,17 @@ function JsonEditor(_ref) {
1810
1789
  }, [debouncedJson]);
1811
1790
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, error ? /*#__PURE__*/React__default.createElement("p", {
1812
1791
  className: classes.error
1813
- }, error) : null, /*#__PURE__*/React__default.createElement(FormControl, {
1792
+ }, error) : null, /*#__PURE__*/React__default.createElement(core.FormControl, {
1814
1793
  error: error
1815
- }, /*#__PURE__*/React__default.createElement(InputLabel, {
1794
+ }, /*#__PURE__*/React__default.createElement(core.InputLabel, {
1816
1795
  shrink: true,
1817
1796
  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)));
1797
+ }, slot.name), /*#__PURE__*/React__default.createElement(React__default.Suspense, {
1798
+ fallback: /*#__PURE__*/React__default.createElement("div", null)
1799
+ }, /*#__PURE__*/React__default.createElement(CodeEditor, {
1800
+ contents: contents,
1801
+ setContents: setContents
1802
+ })), /*#__PURE__*/React__default.createElement(core.FormHelperText, null, slot.description)));
1838
1803
  }
1839
1804
 
1840
1805
  JsonEditor.propTypes = {
@@ -1882,7 +1847,7 @@ var _default = /*#__PURE__*/function (_Plugin) {
1882
1847
  return new AdapterType({
1883
1848
  name: 'FromConfigSequenceAdapter',
1884
1849
  configSchema: sequenceConfigSchema,
1885
- AdapterClass: FromSequenceConfigAdapter
1850
+ AdapterClass: FromConfigSequenceAdapter
1886
1851
  });
1887
1852
  });
1888
1853
  pluginManager.addAdapterType(function () {
@@ -1907,11 +1872,64 @@ var _default = /*#__PURE__*/function (_Plugin) {
1907
1872
  return _default;
1908
1873
  }(Plugin);
1909
1874
 
1875
+ var fontSize = '12px'; // Optimize by using system default fonts: https://css-tricks.com/snippets/css/font-stacks/
1876
+
1877
+ 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';
1878
+ var useStyles$1 = /*#__PURE__*/core.makeStyles({
1879
+ callbackEditor: {
1880
+ fontFamily: fontFamily,
1881
+ fontSize: fontSize,
1882
+ overflowX: 'auto',
1883
+ marginTop: '16px',
1884
+ borderBottom: '1px solid rgba(0,0,0,0.42)'
1885
+ },
1886
+ syntaxHighlighter: {
1887
+ margin: 0,
1888
+ fontFamily: fontFamily,
1889
+ fontSize: fontSize
1890
+ }
1891
+ }); // eslint-disable-next-line react/prop-types
1892
+
1893
+ function CodeEditor$1(_ref) {
1894
+ var contents = _ref.contents,
1895
+ setContents = _ref.setContents;
1896
+ var classes = useStyles$1();
1897
+ var theme = core.useTheme();
1898
+ React.useEffect(function () {
1899
+ reactSyntaxHighlighter.Light.registerLanguage('json', json);
1900
+ }, []);
1901
+ return /*#__PURE__*/React__default.createElement(Editor, {
1902
+ className: classes.callbackEditor,
1903
+ value: contents,
1904
+ onValueChange: setContents,
1905
+ highlight: function highlight(newCode) {
1906
+ return /*#__PURE__*/React__default.createElement(reactSyntaxHighlighter.Light, {
1907
+ language: "json",
1908
+ style: theme.palette.type === 'dark' ? a11yDark : a11yLight,
1909
+ className: classes.syntaxHighlighter // override some inline style stuff that's higher specificity
1910
+ // than className
1911
+ ,
1912
+ customStyle: {
1913
+ background: 'none',
1914
+ padding: 0
1915
+ }
1916
+ }, newCode);
1917
+ },
1918
+ padding: 10,
1919
+ style: {}
1920
+ });
1921
+ }
1922
+
1923
+ var CodeEditor$2 = {
1924
+ __proto__: null,
1925
+ 'default': CodeEditor$1
1926
+ };
1927
+
1910
1928
  var fontSize$1 = '12px'; // Optimize by using system default fonts:
1911
1929
  // https://css-tricks.com/snippets/css/font-stacks/
1912
1930
 
1913
1931
  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) {
1932
+ var useStyles$2 = /*#__PURE__*/styles.makeStyles(function (theme) {
1915
1933
  return {
1916
1934
  callbackEditor: {
1917
1935
  marginTop: '16px',
@@ -1924,7 +1942,7 @@ var useStyles$1 = /*#__PURE__*/styles.makeStyles(function (theme) {
1924
1942
 
1925
1943
  function CallbackEditor(_ref) {
1926
1944
  var slot = _ref.slot;
1927
- var classes = useStyles$1();
1945
+ var classes = useStyles$2();
1928
1946
 
1929
1947
  var _useState = React.useState(slot.value),
1930
1948
  _useState2 = _slicedToArray(_useState, 2),
@@ -1988,6 +2006,9 @@ CallbackEditor.propTypes = {
1988
2006
  };
1989
2007
  var CallbackEditor$1 = /*#__PURE__*/mobxReact.observer(CallbackEditor);
1990
2008
 
2009
+ var ColorPicker = /*#__PURE__*/React.lazy(function () {
2010
+ return Promise.resolve().then(function () { return ColorPicker$2; });
2011
+ }); // this is needed because passing a entire color object into the react-color
1991
2012
  // for alpha, can't pass in an rgba string for example
1992
2013
 
1993
2014
  function serializeColor(color) {
@@ -2002,58 +2023,16 @@ function serializeColor(color) {
2002
2023
  return color;
2003
2024
  }
2004
2025
 
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
2026
  var ColorSlot = function ColorSlot(props) {
2048
2027
  var value = props.value,
2049
2028
  label = props.label,
2050
2029
  TextFieldProps = props.TextFieldProps,
2051
2030
  _onChange = props.onChange;
2052
2031
 
2053
- var _useState3 = React.useState(false),
2054
- _useState4 = _slicedToArray(_useState3, 2),
2055
- displayed = _useState4[0],
2056
- setDisplayed = _useState4[1];
2032
+ var _useState = React.useState(false),
2033
+ _useState2 = _slicedToArray(_useState, 2),
2034
+ displayed = _useState2[0],
2035
+ setDisplayed = _useState2[1];
2057
2036
 
2058
2037
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TextField, Object.assign({
2059
2038
  value: value,
@@ -2072,12 +2051,14 @@ var ColorSlot = function ColorSlot(props) {
2072
2051
  onChange: function onChange(event) {
2073
2052
  _onChange(event.target.value);
2074
2053
  }
2075
- }, TextFieldProps)), displayed ? /*#__PURE__*/React__default.createElement(ColorPicker, {
2054
+ }, TextFieldProps)), displayed ? /*#__PURE__*/React__default.createElement(React__default.Suspense, {
2055
+ fallback: /*#__PURE__*/React__default.createElement("div", null)
2056
+ }, /*#__PURE__*/React__default.createElement(ColorPicker, {
2076
2057
  color: value,
2077
2058
  onChange: function onChange(event) {
2078
2059
  _onChange(serializeColor(event.rgb));
2079
2060
  }
2080
- }) : null);
2061
+ })) : null);
2081
2062
  };
2082
2063
  ColorSlot.propTypes = {
2083
2064
  onChange: ReactPropTypes.func.isRequired,
@@ -2427,6 +2408,8 @@ var stringEnumEditor = /*#__PURE__*/mobxReact.observer(function (_ref13) {
2427
2408
  }));
2428
2409
  });
2429
2410
  var FileSelectorWrapper = /*#__PURE__*/mobxReact.observer(function (_ref14) {
2411
+ var _getEnv$pluginManager;
2412
+
2430
2413
  var slot = _ref14.slot;
2431
2414
  return /*#__PURE__*/React__default.createElement(ui.FileSelector, {
2432
2415
  location: slot.value,
@@ -2434,7 +2417,8 @@ var FileSelectorWrapper = /*#__PURE__*/mobxReact.observer(function (_ref14) {
2434
2417
  return slot.set(location);
2435
2418
  },
2436
2419
  name: slot.name,
2437
- description: slot.description
2420
+ description: slot.description,
2421
+ rootModel: (_getEnv$pluginManager = mobxStateTree.getEnv(slot).pluginManager) === null || _getEnv$pluginManager === void 0 ? void 0 : _getEnv$pluginManager.rootModel
2438
2422
  });
2439
2423
  });
2440
2424
  var valueComponents = {
@@ -2644,6 +2628,55 @@ var ConfigurationEditor$1 = {
2644
2628
  'default': ConfigurationEditor
2645
2629
  };
2646
2630
 
2631
+ var useStyles$4 = /*#__PURE__*/styles.makeStyles({
2632
+ popover: {
2633
+ position: 'absolute',
2634
+ zIndex: 2
2635
+ },
2636
+ cover: {
2637
+ position: 'fixed',
2638
+ top: 0,
2639
+ right: 0,
2640
+ bottom: 0,
2641
+ left: 0
2642
+ }
2643
+ });
2644
+ function ColorPicker$1(props) {
2645
+ var color = props.color,
2646
+ onChange = props.onChange;
2647
+ var classes = useStyles$4();
2648
+
2649
+ var _useState = React.useState(true),
2650
+ _useState2 = _slicedToArray(_useState, 2),
2651
+ displayColorPicker = _useState2[0],
2652
+ setDisplayColorPicker = _useState2[1];
2653
+
2654
+ var handleClose = function handleClose() {
2655
+ setDisplayColorPicker(false);
2656
+ };
2657
+
2658
+ return /*#__PURE__*/React__default.createElement("div", null, displayColorPicker ? /*#__PURE__*/React__default.createElement("div", {
2659
+ className: classes.popover
2660
+ }, /*#__PURE__*/React__default.createElement("div", {
2661
+ role: "presentation",
2662
+ className: classes.cover,
2663
+ onClick: handleClose
2664
+ }), /*#__PURE__*/React__default.createElement(reactColor.ChromePicker, {
2665
+ color: color,
2666
+ onChange: onChange
2667
+ })) : null);
2668
+ }
2669
+ ColorPicker$1.propTypes = {
2670
+ color: ReactPropTypes.string.isRequired,
2671
+ onChange: ReactPropTypes.func.isRequired
2672
+ };
2673
+
2674
+ var ColorPicker$2 = {
2675
+ __proto__: null,
2676
+ ColorPicker: ColorPicker$1,
2677
+ 'default': ColorPicker$1
2678
+ };
2679
+
2647
2680
  exports.ConfigurationEditor = ConfigurationEditorComponent;
2648
2681
  exports.JsonEditor = JsonEditor$1;
2649
2682
  exports.default = _default;