@deephaven/dashboard-core-plugins 0.5.2-matplotlib.2 → 0.6.1-fixed-deps.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 (176) hide show
  1. package/dist/ChartPlugin.js +25 -22
  2. package/dist/ChartPlugin.js.map +1 -1
  3. package/dist/ConsolePlugin.d.ts.map +1 -1
  4. package/dist/ConsolePlugin.js +130 -134
  5. package/dist/ConsolePlugin.js.map +1 -1
  6. package/dist/FilterPlugin.d.ts.map +1 -1
  7. package/dist/FilterPlugin.js +114 -116
  8. package/dist/FilterPlugin.js.map +1 -1
  9. package/dist/GridPlugin.js +29 -26
  10. package/dist/GridPlugin.js.map +1 -1
  11. package/dist/LinkerPlugin.js +7 -5
  12. package/dist/LinkerPlugin.js.map +1 -1
  13. package/dist/MarkdownPlugin.js +44 -45
  14. package/dist/MarkdownPlugin.js.map +1 -1
  15. package/dist/PandasPlugin.d.ts +5 -2
  16. package/dist/PandasPlugin.d.ts.map +1 -1
  17. package/dist/PandasPlugin.js +12 -12
  18. package/dist/PandasPlugin.js.map +1 -1
  19. package/dist/controls/ControlType.d.ts +1 -0
  20. package/dist/controls/ControlType.d.ts.map +1 -1
  21. package/dist/controls/ControlType.js +3 -5
  22. package/dist/controls/ControlType.js.map +1 -1
  23. package/dist/controls/dropdown-filter/DropdownFilter.d.ts +6 -0
  24. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
  25. package/dist/controls/dropdown-filter/DropdownFilter.js +356 -394
  26. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  27. package/dist/controls/input-filter/InputFilter.d.ts +6 -0
  28. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
  29. package/dist/controls/input-filter/InputFilter.js +256 -270
  30. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  31. package/dist/controls/markdown/MarkdownContainer.js +18 -56
  32. package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
  33. package/dist/controls/markdown/MarkdownEditor.js +36 -75
  34. package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
  35. package/dist/controls/markdown/MarkdownStartPage.js +93 -133
  36. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
  37. package/dist/controls/markdown/MarkdownUtils.js +17 -32
  38. package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
  39. package/dist/events/ChartEvent.js +1 -5
  40. package/dist/events/ChartEvent.js.map +1 -1
  41. package/dist/events/ConsoleEvent.js +1 -5
  42. package/dist/events/ConsoleEvent.js.map +1 -1
  43. package/dist/events/ControlEvent.js +1 -5
  44. package/dist/events/ControlEvent.js.map +1 -1
  45. package/dist/events/InputFilterEvent.d.ts +2 -0
  46. package/dist/events/InputFilterEvent.d.ts.map +1 -1
  47. package/dist/events/InputFilterEvent.js +3 -5
  48. package/dist/events/InputFilterEvent.js.map +1 -1
  49. package/dist/events/IrisGridEvent.js +1 -5
  50. package/dist/events/IrisGridEvent.js.map +1 -1
  51. package/dist/events/NotebookEvent.js +1 -5
  52. package/dist/events/NotebookEvent.js.map +1 -1
  53. package/dist/events/PQEvent.js +1 -5
  54. package/dist/events/PQEvent.js.map +1 -1
  55. package/dist/events/PandasEvent.js +1 -5
  56. package/dist/events/PandasEvent.js.map +1 -1
  57. package/dist/events/TabEvent.js +1 -5
  58. package/dist/events/TabEvent.js.map +1 -1
  59. package/dist/events/index.d.ts +0 -1
  60. package/dist/events/index.js +9 -10
  61. package/dist/events/index.js.map +1 -1
  62. package/dist/index.d.ts +0 -1
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +10 -11
  65. package/dist/index.js.map +1 -1
  66. package/dist/linker/Linker.d.ts +1 -1
  67. package/dist/linker/Linker.js +594 -606
  68. package/dist/linker/Linker.js.map +1 -1
  69. package/dist/linker/LinkerLink.js +92 -126
  70. package/dist/linker/LinkerLink.js.map +1 -1
  71. package/dist/linker/LinkerOverlayContent.js +162 -220
  72. package/dist/linker/LinkerOverlayContent.js.map +1 -1
  73. package/dist/linker/LinkerUtils.js +105 -114
  74. package/dist/linker/LinkerUtils.js.map +1 -1
  75. package/dist/panels/ChartColumnSelectorOverlay.js +19 -25
  76. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
  77. package/dist/panels/ChartFilterOverlay.js +18 -24
  78. package/dist/panels/ChartFilterOverlay.js.map +1 -1
  79. package/dist/panels/ChartPanel.d.ts +3 -0
  80. package/dist/panels/ChartPanel.d.ts.map +1 -1
  81. package/dist/panels/ChartPanel.js +839 -873
  82. package/dist/panels/ChartPanel.js.map +1 -1
  83. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
  84. package/dist/panels/CommandHistoryPanel.js +160 -186
  85. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  86. package/dist/panels/ConsolePanel.d.ts +1 -1
  87. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  88. package/dist/panels/ConsolePanel.js +327 -374
  89. package/dist/panels/ConsolePanel.js.map +1 -1
  90. package/dist/panels/DropdownFilterPanel.d.ts +6 -0
  91. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  92. package/dist/panels/DropdownFilterPanel.js +537 -566
  93. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  94. package/dist/panels/FileExplorerPanel.d.ts +6 -1
  95. package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
  96. package/dist/panels/FileExplorerPanel.js +208 -210
  97. package/dist/panels/FileExplorerPanel.js.map +1 -1
  98. package/dist/panels/FilterSetManager.css +111 -0
  99. package/dist/panels/FilterSetManager.css.map +1 -0
  100. package/dist/panels/FilterSetManager.d.ts +66 -0
  101. package/dist/panels/FilterSetManager.d.ts.map +1 -0
  102. package/dist/panels/FilterSetManager.js +732 -0
  103. package/dist/panels/FilterSetManager.js.map +1 -0
  104. package/dist/panels/FilterSetManagerPanel.css +33 -0
  105. package/dist/panels/FilterSetManagerPanel.css.map +1 -0
  106. package/dist/panels/FilterSetManagerPanel.d.ts +69 -0
  107. package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -0
  108. package/dist/panels/FilterSetManagerPanel.js +383 -0
  109. package/dist/panels/FilterSetManagerPanel.js.map +1 -0
  110. package/dist/panels/InputFilterPanel.d.ts +7 -0
  111. package/dist/panels/InputFilterPanel.d.ts.map +1 -1
  112. package/dist/panels/InputFilterPanel.js +198 -206
  113. package/dist/panels/InputFilterPanel.js.map +1 -1
  114. package/dist/panels/IrisGridPanel.d.ts +11 -3
  115. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  116. package/dist/panels/IrisGridPanel.js +779 -771
  117. package/dist/panels/IrisGridPanel.js.map +1 -1
  118. package/dist/panels/LogPanel.js +80 -116
  119. package/dist/panels/LogPanel.js.map +1 -1
  120. package/dist/panels/MarkdownPanel.js +165 -199
  121. package/dist/panels/MarkdownPanel.js.map +1 -1
  122. package/dist/panels/NotebookPanel.d.ts +3 -1
  123. package/dist/panels/NotebookPanel.d.ts.map +1 -1
  124. package/dist/panels/NotebookPanel.js +870 -862
  125. package/dist/panels/NotebookPanel.js.map +1 -1
  126. package/dist/panels/PandasPanel.js +56 -90
  127. package/dist/panels/PandasPanel.js.map +1 -1
  128. package/dist/panels/Panel.js +282 -313
  129. package/dist/panels/Panel.js.map +1 -1
  130. package/dist/panels/PanelContextMenu.js +107 -158
  131. package/dist/panels/PanelContextMenu.js.map +1 -1
  132. package/dist/panels/RenameDialog.js +144 -172
  133. package/dist/panels/RenameDialog.js.map +1 -1
  134. package/dist/panels/Shortcuts.js +1 -1
  135. package/dist/panels/Shortcuts.js.map +1 -1
  136. package/dist/panels/WidgetPanel.js +133 -163
  137. package/dist/panels/WidgetPanel.js.map +1 -1
  138. package/dist/panels/WidgetPanelTooltip.js +7 -5
  139. package/dist/panels/WidgetPanelTooltip.js.map +1 -1
  140. package/dist/panels/index.d.ts +1 -1
  141. package/dist/panels/index.js +16 -16
  142. package/dist/panels/index.js.map +1 -1
  143. package/dist/prop-types/CommonPropTypes.js +4 -8
  144. package/dist/prop-types/CommonPropTypes.js.map +1 -1
  145. package/dist/prop-types/UIPropTypes.js +6 -6
  146. package/dist/prop-types/UIPropTypes.js.map +1 -1
  147. package/dist/prop-types/index.js +2 -2
  148. package/dist/prop-types/index.js.map +1 -1
  149. package/dist/redux/actions.d.ts +1 -0
  150. package/dist/redux/actions.d.ts.map +1 -1
  151. package/dist/redux/actions.js +33 -54
  152. package/dist/redux/actions.js.map +1 -1
  153. package/dist/redux/index.js +6 -21
  154. package/dist/redux/index.js.map +1 -1
  155. package/dist/redux/reducers/index.js +2 -2
  156. package/dist/redux/reducers/index.js.map +1 -1
  157. package/dist/redux/reducers/sessionWrapper.js +1 -1
  158. package/dist/redux/reducers/sessionWrapper.js.map +1 -1
  159. package/dist/redux/selectors.d.ts +1 -0
  160. package/dist/redux/selectors.d.ts.map +1 -1
  161. package/dist/redux/selectors.js +22 -18
  162. package/dist/redux/selectors.js.map +1 -1
  163. package/dist/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +27 -54
  165. package/dist/MatPlotLibPlugin.d.ts +0 -5
  166. package/dist/MatPlotLibPlugin.d.ts.map +0 -1
  167. package/dist/MatPlotLibPlugin.js +0 -45
  168. package/dist/MatPlotLibPlugin.js.map +0 -1
  169. package/dist/events/MatPlotLibEvent.d.ts +0 -5
  170. package/dist/events/MatPlotLibEvent.d.ts.map +0 -1
  171. package/dist/events/MatPlotLibEvent.js +0 -12
  172. package/dist/events/MatPlotLibEvent.js.map +0 -1
  173. package/dist/panels/MatPlotLibPanel.d.ts +0 -22
  174. package/dist/panels/MatPlotLibPanel.d.ts.map +0 -1
  175. package/dist/panels/MatPlotLibPanel.js +0 -123
  176. package/dist/panels/MatPlotLibPanel.js.map +0 -1
@@ -1,25 +1,3 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
-
3
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4
-
5
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
6
-
7
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
8
-
9
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
10
-
11
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
-
13
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
-
15
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
16
-
17
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
-
19
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
-
21
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
22
-
23
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
2
 
25
3
  import React, { Component } from 'react';
@@ -28,213 +6,199 @@ import memoize from 'memoize-one';
28
6
  import { connect } from 'react-redux';
29
7
  import { getClosedPanelsForDashboard, GLPropTypes, LayoutUtils, PanelEvent } from '@deephaven/dashboard';
30
8
  import Log from '@deephaven/log';
31
- import Panel from './Panel';
32
- import MarkdownContainer from '../controls/markdown/MarkdownContainer';
33
- import MarkdownStartPage from '../controls/markdown/MarkdownStartPage';
34
- import MarkdownEditor from '../controls/markdown/MarkdownEditor';
9
+ import Panel from "./Panel.js";
10
+ import MarkdownContainer from "../controls/markdown/MarkdownContainer.js";
11
+ import MarkdownStartPage from "../controls/markdown/MarkdownStartPage.js";
12
+ import MarkdownEditor from "../controls/markdown/MarkdownEditor.js";
35
13
  import "./MarkdownPanel.css";
36
14
  var log = Log.module('MarkdownPanel');
37
- export var MarkdownPanel = /*#__PURE__*/function (_Component) {
38
- _inherits(MarkdownPanel, _Component);
39
-
40
- var _super = _createSuper(MarkdownPanel);
41
-
42
- function MarkdownPanel(props) {
43
- var _this;
44
-
45
- _classCallCheck(this, MarkdownPanel);
46
-
47
- _this = _super.call(this, props);
48
-
49
- _defineProperty(_assertThisInitialized(_this), "getClosedMarkdowns", memoize(function (closedPanels) {
50
- return closedPanels.filter(function (panel) {
51
- return panel.component === 'MarkdownPanel';
52
- }).reverse();
53
- }));
54
-
55
- _this.handleContainerDoubleClick = _this.handleContainerDoubleClick.bind(_assertThisInitialized(_this));
56
- _this.handleCreateMarkdown = _this.handleCreateMarkdown.bind(_assertThisInitialized(_this));
57
- _this.handleDeleteMarkdown = _this.handleDeleteMarkdown.bind(_assertThisInitialized(_this));
58
- _this.handleOpenMarkdown = _this.handleOpenMarkdown.bind(_assertThisInitialized(_this));
59
- _this.handleEditorInitialized = _this.handleEditorInitialized.bind(_assertThisInitialized(_this));
60
- _this.handleEditorBlur = _this.handleEditorBlur.bind(_assertThisInitialized(_this));
61
- _this.handleEditorResize = _this.handleEditorResize.bind(_assertThisInitialized(_this));
62
- var panelState = props.panelState;
15
+ export class MarkdownPanel extends Component {
16
+ constructor(props) {
17
+ super(props);
18
+
19
+ _defineProperty(this, "getClosedMarkdowns", memoize(closedPanels => closedPanels.filter(panel => panel.component === 'MarkdownPanel').reverse()));
20
+
21
+ this.handleContainerDoubleClick = this.handleContainerDoubleClick.bind(this);
22
+ this.handleCreateMarkdown = this.handleCreateMarkdown.bind(this);
23
+ this.handleDeleteMarkdown = this.handleDeleteMarkdown.bind(this);
24
+ this.handleOpenMarkdown = this.handleOpenMarkdown.bind(this);
25
+ this.handleEditorInitialized = this.handleEditorInitialized.bind(this);
26
+ this.handleEditorBlur = this.handleEditorBlur.bind(this);
27
+ this.handleEditorResize = this.handleEditorResize.bind(this);
28
+ var {
29
+ panelState
30
+ } = props;
63
31
  var content = null;
64
32
 
65
33
  if (panelState && panelState.content) {
66
- content = panelState.content;
34
+ ({
35
+ content
36
+ } = panelState);
67
37
  }
68
38
 
69
- _this.state = {
39
+ this.state = {
70
40
  isStartPageShown: content == null,
71
41
  isEditing: false,
72
- content: content,
42
+ content,
73
43
  // eslint-disable-next-line react/no-unused-state
74
- panelState: panelState
44
+ panelState
75
45
  };
76
- _this.markdownEditor = null;
77
- _this.editor = null;
78
- return _this;
46
+ this.markdownEditor = null;
47
+ this.editor = null;
79
48
  }
80
49
 
81
- _createClass(MarkdownPanel, [{
82
- key: "setEditorPosition",
83
- value: function setEditorPosition(clickPositionY) {
84
- var markdownEditorContainer = this.markdownEditor.container;
85
-
86
- if (this.editor && markdownEditorContainer) {
87
- var contentTop = markdownEditorContainer.getBoundingClientRect().top;
88
- var contentScrollTop = markdownEditorContainer.scrollTop;
89
- var contentScrollHeight = markdownEditorContainer.scrollHeight;
90
- var totalLines = this.editor.getModel().getLineCount();
91
- var lineToFocus = Math.round((contentScrollTop + clickPositionY - contentTop) / contentScrollHeight * totalLines);
50
+ setEditorPosition(clickPositionY) {
51
+ var {
52
+ container: markdownEditorContainer
53
+ } = this.markdownEditor;
92
54
 
93
- if (lineToFocus > totalLines) {
94
- lineToFocus = totalLines;
95
- }
55
+ if (this.editor && markdownEditorContainer) {
56
+ var contentTop = markdownEditorContainer.getBoundingClientRect().top;
57
+ var contentScrollTop = markdownEditorContainer.scrollTop;
58
+ var contentScrollHeight = markdownEditorContainer.scrollHeight;
59
+ var totalLines = this.editor.getModel().getLineCount();
60
+ var lineToFocus = Math.round((contentScrollTop + clickPositionY - contentTop) / contentScrollHeight * totalLines);
96
61
 
97
- this.editor.revealLine(lineToFocus);
98
- this.editor.setPosition({
99
- lineNumber: lineToFocus,
100
- column: 1
101
- });
102
- this.editor.focus();
62
+ if (lineToFocus > totalLines) {
63
+ lineToFocus = totalLines;
103
64
  }
104
- }
105
- }, {
106
- key: "handleContainerDoubleClick",
107
- value: function handleContainerDoubleClick(event) {
108
- var _this2 = this;
109
-
110
- var isEditing = this.state.isEditing;
111
- var dbClickPositionY = event.clientY;
112
65
 
113
- if (!isEditing) {
114
- this.setState({
115
- isEditing: true
116
- }, function () {
117
- _this2.setEditorPosition(dbClickPositionY);
118
- });
119
- }
120
- }
121
- }, {
122
- key: "handleEditorInitialized",
123
- value: function handleEditorInitialized(editor) {
124
- log.debug('Markdown Editor Initialized...');
125
- this.editor = editor;
66
+ this.editor.revealLine(lineToFocus);
67
+ this.editor.setPosition({
68
+ lineNumber: lineToFocus,
69
+ column: 1
70
+ });
71
+ this.editor.focus();
126
72
  }
127
- }, {
128
- key: "handleCreateMarkdown",
129
- value: function handleCreateMarkdown() {
130
- var _this3 = this;
73
+ }
131
74
 
132
- log.debug('create markdown...');
75
+ handleContainerDoubleClick(event) {
76
+ var {
77
+ isEditing
78
+ } = this.state;
79
+ var dbClickPositionY = event.clientY;
80
+
81
+ if (!isEditing) {
133
82
  this.setState({
134
- isStartPageShown: false,
135
- content: '',
136
- isEditing: true,
137
- // eslint-disable-next-line react/no-unused-state
138
- panelState: {
139
- content: ''
140
- }
141
- }, function () {
142
- if (_this3.editor && _this3.editor.focus) {
143
- _this3.editor.focus();
144
- }
83
+ isEditing: true
84
+ }, () => {
85
+ this.setEditorPosition(dbClickPositionY);
145
86
  });
146
87
  }
147
- }, {
148
- key: "handleOpenMarkdown",
149
- value: function handleOpenMarkdown(markdown) {
150
- log.debug('open markdown...', markdown);
151
- var _this$props = this.props,
152
- glContainer = _this$props.glContainer,
153
- glEventHub = _this$props.glEventHub;
154
- var config = LayoutUtils.getComponentConfigFromContainer(glContainer);
155
- glEventHub.emit(PanelEvent.REOPEN, markdown, config);
156
- }
157
- }, {
158
- key: "handleDeleteMarkdown",
159
- value: function handleDeleteMarkdown(markdown) {
160
- var glEventHub = this.props.glEventHub;
161
- glEventHub.emit(PanelEvent.DELETE, markdown);
162
- }
163
- }, {
164
- key: "handleEditorBlur",
165
- value: function handleEditorBlur(event) {
166
- var _this$markdownEditor, _this$markdownEditor$;
88
+ }
167
89
 
168
- log.debug("markdown content changed, saving...");
169
- var isEditing = this.state.isEditing; // if not in edit mode, or in edit mode but blur went to an internal monaco field (like search)
90
+ handleEditorInitialized(editor) {
91
+ log.debug('Markdown Editor Initialized...');
92
+ this.editor = editor;
93
+ }
170
94
 
171
- if (!isEditing || (_this$markdownEditor = this.markdownEditor) !== null && _this$markdownEditor !== void 0 && (_this$markdownEditor$ = _this$markdownEditor.container) !== null && _this$markdownEditor$ !== void 0 && _this$markdownEditor$.contains(event.relatedTarget)) {
172
- return;
95
+ handleCreateMarkdown() {
96
+ log.debug('create markdown...');
97
+ this.setState({
98
+ isStartPageShown: false,
99
+ content: '',
100
+ isEditing: true,
101
+ // eslint-disable-next-line react/no-unused-state
102
+ panelState: {
103
+ content: ''
173
104
  }
105
+ }, () => {
106
+ if (this.editor && this.editor.focus) {
107
+ this.editor.focus();
108
+ }
109
+ });
110
+ }
174
111
 
175
- var content = this.editor.getValue();
176
- this.setState({
177
- content: content,
178
- isEditing: false,
179
- // eslint-disable-next-line react/no-unused-state
180
- panelState: {
181
- content: content
182
- }
183
- });
112
+ handleOpenMarkdown(markdown) {
113
+ log.debug('open markdown...', markdown);
114
+ var {
115
+ glContainer,
116
+ glEventHub
117
+ } = this.props;
118
+ var config = LayoutUtils.getComponentConfigFromContainer(glContainer);
119
+ glEventHub.emit(PanelEvent.REOPEN, markdown, config);
120
+ }
121
+
122
+ handleDeleteMarkdown(markdown) {
123
+ var {
124
+ glEventHub
125
+ } = this.props;
126
+ glEventHub.emit(PanelEvent.DELETE, markdown);
127
+ }
128
+
129
+ handleEditorBlur(event) {
130
+ var _this$markdownEditor, _this$markdownEditor$;
131
+
132
+ log.debug("markdown content changed, saving...");
133
+ var {
134
+ isEditing
135
+ } = this.state; // if not in edit mode, or in edit mode but blur went to an internal monaco field (like search)
136
+
137
+ if (!isEditing || (_this$markdownEditor = this.markdownEditor) !== null && _this$markdownEditor !== void 0 && (_this$markdownEditor$ = _this$markdownEditor.container) !== null && _this$markdownEditor$ !== void 0 && _this$markdownEditor$.contains(event.relatedTarget)) {
138
+ return;
184
139
  }
185
- }, {
186
- key: "handleEditorResize",
187
- value: function handleEditorResize() {
188
- var isEditing = this.state.isEditing;
189
140
 
190
- if (isEditing && this.editor) {
191
- this.editor.layout();
141
+ var content = this.editor.getValue();
142
+ this.setState({
143
+ content,
144
+ isEditing: false,
145
+ // eslint-disable-next-line react/no-unused-state
146
+ panelState: {
147
+ content
192
148
  }
193
- }
194
- }, {
195
- key: "render",
196
- value: function render() {
197
- var _this4 = this;
149
+ });
150
+ }
151
+
152
+ handleEditorResize() {
153
+ var {
154
+ isEditing
155
+ } = this.state;
198
156
 
199
- var _this$props2 = this.props,
200
- glContainer = _this$props2.glContainer,
201
- glEventHub = _this$props2.glEventHub,
202
- closedPanels = _this$props2.closedPanels;
203
- var _this$state = this.state,
204
- isEditing = _this$state.isEditing,
205
- isStartPageShown = _this$state.isStartPageShown,
206
- content = _this$state.content;
207
- var closedMarkdowns = this.getClosedMarkdowns(closedPanels);
208
- return /*#__PURE__*/React.createElement(Panel, {
209
- glContainer: glContainer,
210
- glEventHub: glEventHub,
211
- className: "markdown-panel",
212
- componentPanel: this,
213
- onResize: this.handleEditorResize,
214
- onBlur: this.handleEditorBlur,
215
- isClonable: true,
216
- isRenamable: true
217
- }, isStartPageShown ? /*#__PURE__*/React.createElement(MarkdownStartPage, {
218
- closedMarkdowns: closedMarkdowns,
219
- onCreate: this.handleCreateMarkdown,
220
- onOpen: this.handleOpenMarkdown,
221
- onDelete: this.handleDeleteMarkdown
222
- }) : /*#__PURE__*/React.createElement(MarkdownContainer, {
223
- isEditing: isEditing,
224
- onDoubleClick: this.handleContainerDoubleClick
225
- }, /*#__PURE__*/React.createElement(MarkdownEditor, {
226
- ref: function ref(markdownEditor) {
227
- _this4.markdownEditor = markdownEditor;
228
- },
229
- isEditing: isEditing,
230
- content: content,
231
- onEditorInitialized: this.handleEditorInitialized
232
- })));
157
+ if (isEditing && this.editor) {
158
+ this.editor.layout();
233
159
  }
234
- }]);
160
+ }
161
+
162
+ render() {
163
+ var {
164
+ glContainer,
165
+ glEventHub,
166
+ closedPanels
167
+ } = this.props;
168
+ var {
169
+ isEditing,
170
+ isStartPageShown,
171
+ content
172
+ } = this.state;
173
+ var closedMarkdowns = this.getClosedMarkdowns(closedPanels);
174
+ return /*#__PURE__*/React.createElement(Panel, {
175
+ glContainer: glContainer,
176
+ glEventHub: glEventHub,
177
+ className: "markdown-panel",
178
+ componentPanel: this,
179
+ onResize: this.handleEditorResize,
180
+ onBlur: this.handleEditorBlur,
181
+ isClonable: true,
182
+ isRenamable: true
183
+ }, isStartPageShown ? /*#__PURE__*/React.createElement(MarkdownStartPage, {
184
+ closedMarkdowns: closedMarkdowns,
185
+ onCreate: this.handleCreateMarkdown,
186
+ onOpen: this.handleOpenMarkdown,
187
+ onDelete: this.handleDeleteMarkdown
188
+ }) : /*#__PURE__*/React.createElement(MarkdownContainer, {
189
+ isEditing: isEditing,
190
+ onDoubleClick: this.handleContainerDoubleClick
191
+ }, /*#__PURE__*/React.createElement(MarkdownEditor, {
192
+ ref: markdownEditor => {
193
+ this.markdownEditor = markdownEditor;
194
+ },
195
+ isEditing: isEditing,
196
+ content: content,
197
+ onEditorInitialized: this.handleEditorInitialized
198
+ })));
199
+ }
235
200
 
236
- return MarkdownPanel;
237
- }(Component);
201
+ }
238
202
 
239
203
  _defineProperty(MarkdownPanel, "COMPONENT", 'MarkdownPanel');
240
204
 
@@ -250,8 +214,10 @@ MarkdownPanel.defaultProps = {
250
214
  panelState: null
251
215
  };
252
216
 
253
- var mapStateToProps = function mapStateToProps(state, ownProps) {
254
- var localDashboardId = ownProps.localDashboardId;
217
+ var mapStateToProps = (state, ownProps) => {
218
+ var {
219
+ localDashboardId
220
+ } = ownProps;
255
221
  return {
256
222
  closedPanels: getClosedPanelsForDashboard(state, localDashboardId)
257
223
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/panels/MarkdownPanel.jsx"],"names":["React","Component","PropTypes","memoize","connect","getClosedPanelsForDashboard","GLPropTypes","LayoutUtils","PanelEvent","Log","Panel","MarkdownContainer","MarkdownStartPage","MarkdownEditor","log","module","MarkdownPanel","props","closedPanels","filter","panel","component","reverse","handleContainerDoubleClick","bind","handleCreateMarkdown","handleDeleteMarkdown","handleOpenMarkdown","handleEditorInitialized","handleEditorBlur","handleEditorResize","panelState","content","state","isStartPageShown","isEditing","markdownEditor","editor","clickPositionY","markdownEditorContainer","container","contentTop","getBoundingClientRect","top","contentScrollTop","scrollTop","contentScrollHeight","scrollHeight","totalLines","getModel","getLineCount","lineToFocus","Math","round","revealLine","setPosition","lineNumber","column","focus","event","dbClickPositionY","clientY","setState","setEditorPosition","debug","markdown","glContainer","glEventHub","config","getComponentConfigFromContainer","emit","REOPEN","DELETE","contains","relatedTarget","getValue","layout","closedMarkdowns","getClosedMarkdowns","propTypes","Container","isRequired","EventHub","shape","string","arrayOf","object","defaultProps","mapStateToProps","ownProps","localDashboardId","forwardRef"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport memoize from 'memoize-one';\nimport { connect } from 'react-redux';\nimport {\n getClosedPanelsForDashboard,\n GLPropTypes,\n LayoutUtils,\n PanelEvent,\n} from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport Panel from './Panel';\nimport MarkdownContainer from '../controls/markdown/MarkdownContainer';\nimport MarkdownStartPage from '../controls/markdown/MarkdownStartPage';\nimport MarkdownEditor from '../controls/markdown/MarkdownEditor';\nimport './MarkdownPanel.scss';\n\nconst log = Log.module('MarkdownPanel');\n\nexport class MarkdownPanel extends Component {\n static COMPONENT = 'MarkdownPanel';\n\n constructor(props) {\n super(props);\n\n this.handleContainerDoubleClick = this.handleContainerDoubleClick.bind(\n this\n );\n this.handleCreateMarkdown = this.handleCreateMarkdown.bind(this);\n this.handleDeleteMarkdown = this.handleDeleteMarkdown.bind(this);\n this.handleOpenMarkdown = this.handleOpenMarkdown.bind(this);\n this.handleEditorInitialized = this.handleEditorInitialized.bind(this);\n this.handleEditorBlur = this.handleEditorBlur.bind(this);\n this.handleEditorResize = this.handleEditorResize.bind(this);\n\n const { panelState } = props;\n let content = null;\n if (panelState && panelState.content) {\n ({ content } = panelState);\n }\n\n this.state = {\n isStartPageShown: content == null,\n isEditing: false,\n content,\n\n // eslint-disable-next-line react/no-unused-state\n panelState,\n };\n\n this.markdownEditor = null;\n this.editor = null;\n }\n\n setEditorPosition(clickPositionY) {\n const { container: markdownEditorContainer } = this.markdownEditor;\n if (this.editor && markdownEditorContainer) {\n const contentTop = markdownEditorContainer.getBoundingClientRect().top;\n const contentScrollTop = markdownEditorContainer.scrollTop;\n const contentScrollHeight = markdownEditorContainer.scrollHeight;\n const totalLines = this.editor.getModel().getLineCount();\n\n let lineToFocus = Math.round(\n ((contentScrollTop + clickPositionY - contentTop) /\n contentScrollHeight) *\n totalLines\n );\n if (lineToFocus > totalLines) {\n lineToFocus = totalLines;\n }\n\n this.editor.revealLine(lineToFocus);\n this.editor.setPosition({\n lineNumber: lineToFocus,\n column: 1,\n });\n this.editor.focus();\n }\n }\n\n getClosedMarkdowns = memoize(closedPanels =>\n closedPanels.filter(panel => panel.component === 'MarkdownPanel').reverse()\n );\n\n handleContainerDoubleClick(event) {\n const { isEditing } = this.state;\n const dbClickPositionY = event.clientY;\n\n if (!isEditing) {\n this.setState({ isEditing: true }, () => {\n this.setEditorPosition(dbClickPositionY);\n });\n }\n }\n\n handleEditorInitialized(editor) {\n log.debug('Markdown Editor Initialized...');\n this.editor = editor;\n }\n\n handleCreateMarkdown() {\n log.debug('create markdown...');\n\n this.setState(\n {\n isStartPageShown: false,\n content: '',\n isEditing: true,\n\n // eslint-disable-next-line react/no-unused-state\n panelState: { content: '' },\n },\n () => {\n if (this.editor && this.editor.focus) {\n this.editor.focus();\n }\n }\n );\n }\n\n handleOpenMarkdown(markdown) {\n log.debug('open markdown...', markdown);\n\n const { glContainer, glEventHub } = this.props;\n const config = LayoutUtils.getComponentConfigFromContainer(glContainer);\n glEventHub.emit(PanelEvent.REOPEN, markdown, config);\n }\n\n handleDeleteMarkdown(markdown) {\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.DELETE, markdown);\n }\n\n handleEditorBlur(event) {\n log.debug(`markdown content changed, saving...`);\n const { isEditing } = this.state;\n\n // if not in edit mode, or in edit mode but blur went to an internal monaco field (like search)\n if (\n !isEditing ||\n this.markdownEditor?.container?.contains(event.relatedTarget)\n ) {\n return;\n }\n\n const content = this.editor.getValue();\n\n this.setState({\n content,\n isEditing: false,\n\n // eslint-disable-next-line react/no-unused-state\n panelState: { content },\n });\n }\n\n handleEditorResize() {\n const { isEditing } = this.state;\n if (isEditing && this.editor) {\n this.editor.layout();\n }\n }\n\n render() {\n const { glContainer, glEventHub, closedPanels } = this.props;\n const { isEditing, isStartPageShown, content } = this.state;\n const closedMarkdowns = this.getClosedMarkdowns(closedPanels);\n\n return (\n <Panel\n glContainer={glContainer}\n glEventHub={glEventHub}\n className=\"markdown-panel\"\n componentPanel={this}\n onResize={this.handleEditorResize}\n onBlur={this.handleEditorBlur}\n isClonable\n isRenamable\n >\n {isStartPageShown ? (\n <MarkdownStartPage\n closedMarkdowns={closedMarkdowns}\n onCreate={this.handleCreateMarkdown}\n onOpen={this.handleOpenMarkdown}\n onDelete={this.handleDeleteMarkdown}\n />\n ) : (\n <MarkdownContainer\n isEditing={isEditing}\n onDoubleClick={this.handleContainerDoubleClick}\n >\n <MarkdownEditor\n ref={markdownEditor => {\n this.markdownEditor = markdownEditor;\n }}\n isEditing={isEditing}\n content={content}\n onEditorInitialized={this.handleEditorInitialized}\n />\n </MarkdownContainer>\n )}\n </Panel>\n );\n }\n}\n\nMarkdownPanel.propTypes = {\n glContainer: GLPropTypes.Container.isRequired,\n glEventHub: GLPropTypes.EventHub.isRequired,\n panelState: PropTypes.shape({\n content: PropTypes.string,\n }),\n closedPanels: PropTypes.arrayOf(PropTypes.object).isRequired,\n};\n\nMarkdownPanel.defaultProps = {\n panelState: null,\n};\n\nconst mapStateToProps = (state, ownProps) => {\n const { localDashboardId } = ownProps;\n return {\n closedPanels: getClosedPanelsForDashboard(state, localDashboardId),\n };\n};\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n MarkdownPanel\n);\n"],"file":"MarkdownPanel.js"}
1
+ {"version":3,"sources":["../../src/panels/MarkdownPanel.jsx"],"names":["React","Component","PropTypes","memoize","connect","getClosedPanelsForDashboard","GLPropTypes","LayoutUtils","PanelEvent","Log","Panel","MarkdownContainer","MarkdownStartPage","MarkdownEditor","log","module","MarkdownPanel","constructor","props","closedPanels","filter","panel","component","reverse","handleContainerDoubleClick","bind","handleCreateMarkdown","handleDeleteMarkdown","handleOpenMarkdown","handleEditorInitialized","handleEditorBlur","handleEditorResize","panelState","content","state","isStartPageShown","isEditing","markdownEditor","editor","setEditorPosition","clickPositionY","container","markdownEditorContainer","contentTop","getBoundingClientRect","top","contentScrollTop","scrollTop","contentScrollHeight","scrollHeight","totalLines","getModel","getLineCount","lineToFocus","Math","round","revealLine","setPosition","lineNumber","column","focus","event","dbClickPositionY","clientY","setState","debug","markdown","glContainer","glEventHub","config","getComponentConfigFromContainer","emit","REOPEN","DELETE","contains","relatedTarget","getValue","layout","render","closedMarkdowns","getClosedMarkdowns","propTypes","Container","isRequired","EventHub","shape","string","arrayOf","object","defaultProps","mapStateToProps","ownProps","localDashboardId","forwardRef"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport memoize from 'memoize-one';\nimport { connect } from 'react-redux';\nimport {\n getClosedPanelsForDashboard,\n GLPropTypes,\n LayoutUtils,\n PanelEvent,\n} from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport Panel from './Panel';\nimport MarkdownContainer from '../controls/markdown/MarkdownContainer';\nimport MarkdownStartPage from '../controls/markdown/MarkdownStartPage';\nimport MarkdownEditor from '../controls/markdown/MarkdownEditor';\nimport './MarkdownPanel.scss';\n\nconst log = Log.module('MarkdownPanel');\n\nexport class MarkdownPanel extends Component {\n static COMPONENT = 'MarkdownPanel';\n\n constructor(props) {\n super(props);\n\n this.handleContainerDoubleClick = this.handleContainerDoubleClick.bind(\n this\n );\n this.handleCreateMarkdown = this.handleCreateMarkdown.bind(this);\n this.handleDeleteMarkdown = this.handleDeleteMarkdown.bind(this);\n this.handleOpenMarkdown = this.handleOpenMarkdown.bind(this);\n this.handleEditorInitialized = this.handleEditorInitialized.bind(this);\n this.handleEditorBlur = this.handleEditorBlur.bind(this);\n this.handleEditorResize = this.handleEditorResize.bind(this);\n\n const { panelState } = props;\n let content = null;\n if (panelState && panelState.content) {\n ({ content } = panelState);\n }\n\n this.state = {\n isStartPageShown: content == null,\n isEditing: false,\n content,\n\n // eslint-disable-next-line react/no-unused-state\n panelState,\n };\n\n this.markdownEditor = null;\n this.editor = null;\n }\n\n setEditorPosition(clickPositionY) {\n const { container: markdownEditorContainer } = this.markdownEditor;\n if (this.editor && markdownEditorContainer) {\n const contentTop = markdownEditorContainer.getBoundingClientRect().top;\n const contentScrollTop = markdownEditorContainer.scrollTop;\n const contentScrollHeight = markdownEditorContainer.scrollHeight;\n const totalLines = this.editor.getModel().getLineCount();\n\n let lineToFocus = Math.round(\n ((contentScrollTop + clickPositionY - contentTop) /\n contentScrollHeight) *\n totalLines\n );\n if (lineToFocus > totalLines) {\n lineToFocus = totalLines;\n }\n\n this.editor.revealLine(lineToFocus);\n this.editor.setPosition({\n lineNumber: lineToFocus,\n column: 1,\n });\n this.editor.focus();\n }\n }\n\n getClosedMarkdowns = memoize(closedPanels =>\n closedPanels.filter(panel => panel.component === 'MarkdownPanel').reverse()\n );\n\n handleContainerDoubleClick(event) {\n const { isEditing } = this.state;\n const dbClickPositionY = event.clientY;\n\n if (!isEditing) {\n this.setState({ isEditing: true }, () => {\n this.setEditorPosition(dbClickPositionY);\n });\n }\n }\n\n handleEditorInitialized(editor) {\n log.debug('Markdown Editor Initialized...');\n this.editor = editor;\n }\n\n handleCreateMarkdown() {\n log.debug('create markdown...');\n\n this.setState(\n {\n isStartPageShown: false,\n content: '',\n isEditing: true,\n\n // eslint-disable-next-line react/no-unused-state\n panelState: { content: '' },\n },\n () => {\n if (this.editor && this.editor.focus) {\n this.editor.focus();\n }\n }\n );\n }\n\n handleOpenMarkdown(markdown) {\n log.debug('open markdown...', markdown);\n\n const { glContainer, glEventHub } = this.props;\n const config = LayoutUtils.getComponentConfigFromContainer(glContainer);\n glEventHub.emit(PanelEvent.REOPEN, markdown, config);\n }\n\n handleDeleteMarkdown(markdown) {\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.DELETE, markdown);\n }\n\n handleEditorBlur(event) {\n log.debug(`markdown content changed, saving...`);\n const { isEditing } = this.state;\n\n // if not in edit mode, or in edit mode but blur went to an internal monaco field (like search)\n if (\n !isEditing ||\n this.markdownEditor?.container?.contains(event.relatedTarget)\n ) {\n return;\n }\n\n const content = this.editor.getValue();\n\n this.setState({\n content,\n isEditing: false,\n\n // eslint-disable-next-line react/no-unused-state\n panelState: { content },\n });\n }\n\n handleEditorResize() {\n const { isEditing } = this.state;\n if (isEditing && this.editor) {\n this.editor.layout();\n }\n }\n\n render() {\n const { glContainer, glEventHub, closedPanels } = this.props;\n const { isEditing, isStartPageShown, content } = this.state;\n const closedMarkdowns = this.getClosedMarkdowns(closedPanels);\n\n return (\n <Panel\n glContainer={glContainer}\n glEventHub={glEventHub}\n className=\"markdown-panel\"\n componentPanel={this}\n onResize={this.handleEditorResize}\n onBlur={this.handleEditorBlur}\n isClonable\n isRenamable\n >\n {isStartPageShown ? (\n <MarkdownStartPage\n closedMarkdowns={closedMarkdowns}\n onCreate={this.handleCreateMarkdown}\n onOpen={this.handleOpenMarkdown}\n onDelete={this.handleDeleteMarkdown}\n />\n ) : (\n <MarkdownContainer\n isEditing={isEditing}\n onDoubleClick={this.handleContainerDoubleClick}\n >\n <MarkdownEditor\n ref={markdownEditor => {\n this.markdownEditor = markdownEditor;\n }}\n isEditing={isEditing}\n content={content}\n onEditorInitialized={this.handleEditorInitialized}\n />\n </MarkdownContainer>\n )}\n </Panel>\n );\n }\n}\n\nMarkdownPanel.propTypes = {\n glContainer: GLPropTypes.Container.isRequired,\n glEventHub: GLPropTypes.EventHub.isRequired,\n panelState: PropTypes.shape({\n content: PropTypes.string,\n }),\n closedPanels: PropTypes.arrayOf(PropTypes.object).isRequired,\n};\n\nMarkdownPanel.defaultProps = {\n panelState: null,\n};\n\nconst mapStateToProps = (state, ownProps) => {\n const { localDashboardId } = ownProps;\n return {\n closedPanels: getClosedPanelsForDashboard(state, localDashboardId),\n };\n};\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n MarkdownPanel\n);\n"],"file":"MarkdownPanel.js"}
@@ -19,6 +19,7 @@ declare class NotebookPanel extends React.Component<any, any, any> {
19
19
  handleFocus(): void;
20
20
  handleLoadSuccess(): void;
21
21
  handleLoadError(errorParam: any): void;
22
+ handlePanelTabClick(): void;
22
23
  handleRenameFile(oldName: any, newName: any): void;
23
24
  handleResize(): void;
24
25
  handleRunCommand(command: any): void;
@@ -36,7 +37,7 @@ declare class NotebookPanel extends React.Component<any, any, any> {
36
37
  handleShow(): void;
37
38
  handleShowRename(): void;
38
39
  handleTab(tab: any): void;
39
- handleTabFocus(): void;
40
+ handleTabFocus(...args: any[]): void;
40
41
  handleTabBlur(): void;
41
42
  pending: Pending;
42
43
  debouncedSavePanelState: import("lodash").DebouncedFunc<() => void>;
@@ -77,6 +78,7 @@ declare class NotebookPanel extends React.Component<any, any, any> {
77
78
  order: number;
78
79
  }[];
79
80
  savePanelState(): void;
81
+ focus(): void;
80
82
  createNotebook(itemName: any, language: any, content: any): void;
81
83
  runCommand(command: any): void;
82
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NotebookPanel.d.ts","sourceRoot":"","sources":["../../src/panels/NotebookPanel.jsx"],"names":[],"mappings":";;AAuCA;IACE,yBAAmC;IAEnC;;MAAoD;IAEpD,4BAAiC;IAEjC,qCAKC;IAED,iFAaC;IAED,wBA0GC;IAoTD,mBAGC;IAvDD,0BAGC;IAnBD,2BAKC;IAED,wBAOC;IAOD,mBAQC;IAED,iCA6BC;IAED,mBAIC;IAOD,oBAGC;IAED,0BAMC;IAED,uCAUC;IAsED,mDAMC;IAED,qBAIC;IAED,qCAEC;IAED,qBAMC;IAED,0BAMC;IApGD,mBAGC;IA2CD,2BAEC;IAED,oCAgBC;IA/BD,kCASC;IAvCD,mCA4BC;IAqED;;aAKC;IAED,4BAKC;IAED,mBAWC;IAED,yBAEC;IAED,0BAGC;IAED,uBAUC;IAED,sBAKC;IAvjBC,iBAA4B;IAE5B,oEAGC;IAED,0DAGC;IAED,8BAAoB;IAEpB,qBAA2B;IAC3B,sBAA4B;IAC5B,qBAAwB;IACxB,2BAA6B;IAyF/B,wBAMC;IAGD,6BAWC;IAED,+BAMC;IAED,wBAQC;IAED,4BAiBC;IAED,gCAGC;IAID,8DASC;IAED,qCAGC;IAED,aA8BC;IAED;;;OAGG;IACH,QAFa,OAAO,CAYnB;IAED;;;;OAIG;IACH,sBAHW,MAAM,WACN,MAAM,QAUhB;IAED,+BAEC;IAED,yBAWC;IAED;;;;;;;QASG;IAEH,uBAiCC;IAiQD,iEA0BC;IAED,+BAOC;CAkMF"}
1
+ {"version":3,"file":"NotebookPanel.d.ts","sourceRoot":"","sources":["../../src/panels/NotebookPanel.jsx"],"names":[],"mappings":";;AAuCA;IACE,yBAAmC;IAEnC;;MAAoD;IAEpD,4BAAiC;IAEjC,qCAKC;IAED,iFAaC;IAED,wBA0GC;IAoTD,mBAGC;IAvDD,0BAGC;IAnBD,2BAKC;IAED,wBAOC;IAOD,mBAQC;IAED,iCA6BC;IAED,mBAIC;IAOD,oBAGC;IAED,0BAMC;IAED,uCAUC;IAyJD,4BAGC;IAtFD,mDAMC;IAED,qBAIC;IAED,qCAEC;IAED,qBAMC;IAED,0BAMC;IApGD,mBAGC;IA2CD,2BAEC;IAED,oCAgBC;IA/BD,kCASC;IAvCD,mCA4BC;IAqED;;aAKC;IAED,4BAKC;IAED,mBAMC;IAED,yBAEC;IAED,0BAGC;IAED,qCASC;IAED,sBAKC;IAjjBC,iBAA4B;IAE5B,oEAGC;IAED,0DAGC;IAED,8BAAoB;IAEpB,qBAA2B;IAC3B,sBAA4B;IAC5B,qBAAwB;IACxB,2BAA6B;IAyF/B,wBAMC;IAGD,6BAWC;IAED,+BAMC;IAED,wBAQC;IAED,4BAiBC;IAED,gCAGC;IAID,8DASC;IAED,qCAGC;IAED,aA8BC;IAED;;;OAGG;IACH,QAFa,OAAO,CAYnB;IAED;;;;OAIG;IACH,sBAHW,MAAM,WACN,MAAM,QAUhB;IAED,+BAEC;IAED,yBAWC;IAED;;;;;;;QASG;IAEH,uBAiCC;IAgQD,cAMC;IAED,iEA0BC;IAED,+BAOC;CAkMF"}