@jupyterlab/notebook 3.3.0-alpha.6 → 3.3.0-beta.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.
@@ -0,0 +1,222 @@
1
+ import { ISessionContext, VDomModel, VDomRenderer } from '@jupyterlab/apputils';
2
+ import { ITranslator } from '@jupyterlab/translation';
3
+ import React from 'react';
4
+ import { Notebook } from './widget';
5
+ import { NotebookPanel } from './panel';
6
+ import { ISettingRegistry } from '@jupyterlab/settingregistry';
7
+ import { Widget } from '@lumino/widgets';
8
+ /**
9
+ * A react functional component for rendering execution indicator.
10
+ */
11
+ export declare function ExecutionIndicatorComponent(props: ExecutionIndicatorComponent.IProps): React.ReactElement<ExecutionIndicatorComponent.IProps>;
12
+ /**
13
+ * A namespace for ExecutionIndicatorComponent statics.
14
+ */
15
+ declare namespace ExecutionIndicatorComponent {
16
+ /**
17
+ * Props for the execution status component.
18
+ */
19
+ interface IProps {
20
+ /**
21
+ * Display option for progress bar and elapsed time.
22
+ */
23
+ displayOption: Private.DisplayOption;
24
+ /**
25
+ * Execution state of selected notebook.
26
+ */
27
+ state?: Private.IExecutionState;
28
+ /**
29
+ * The application language translator.
30
+ */
31
+ translator?: ITranslator;
32
+ }
33
+ }
34
+ /**
35
+ * A VDomRenderer widget for displaying the execution status.
36
+ */
37
+ export declare class ExecutionIndicator extends VDomRenderer<ExecutionIndicator.Model> {
38
+ /**
39
+ * Construct the kernel status widget.
40
+ */
41
+ constructor(translator?: ITranslator, showProgress?: boolean);
42
+ /**
43
+ * Render the execution status item.
44
+ */
45
+ render(): JSX.Element | null;
46
+ private translator;
47
+ }
48
+ /**
49
+ * A namespace for ExecutionIndicator statics.
50
+ */
51
+ export declare namespace ExecutionIndicator {
52
+ /**
53
+ * A VDomModel for the execution status indicator.
54
+ */
55
+ class Model extends VDomModel {
56
+ constructor();
57
+ /**
58
+ * Attach a notebook with session context to model in order to keep
59
+ * track of multiple notebooks. If a session context is already
60
+ * attached, only set current activated notebook to input.
61
+ *
62
+ * @param data - The notebook and session context to be attached to model
63
+ */
64
+ attachNotebook(data: {
65
+ content?: Notebook;
66
+ context?: ISessionContext;
67
+ } | null): void;
68
+ /**
69
+ * The current activated notebook in model.
70
+ */
71
+ get currentNotebook(): Notebook | null;
72
+ /**
73
+ * The display options for progress bar and elapsed time.
74
+ */
75
+ get displayOption(): Private.DisplayOption;
76
+ /**
77
+ * Set the display options for progress bar and elapsed time.
78
+ *
79
+ * @param options - Options to be used
80
+ */
81
+ set displayOption(options: Private.DisplayOption);
82
+ /**
83
+ * Get the execution state associated with a notebook.
84
+ *
85
+ * @param nb - The notebook used to identify execution
86
+ * state.
87
+ *
88
+ * @return - The associated execution state.
89
+ */
90
+ executionState(nb: Notebook): Private.IExecutionState | undefined;
91
+ /**
92
+ * The function is called on kernel's idle status message.
93
+ * It is used to keep track number of executed
94
+ * cell or Comm custom messages and the status of kernel.
95
+ *
96
+ * @param nb - The notebook which contains the executed code
97
+ * cell.
98
+ * @param msg_id - The id of message.
99
+ *
100
+ * ### Note
101
+ *
102
+ * To keep track of cells executed under 1 second,
103
+ * the execution state is marked as `needReset` 1 second after executing
104
+ * these cells. This `Timeout` will be cleared if there is any cell
105
+ * scheduled after that.
106
+ */
107
+ private _cellExecutedCallback;
108
+ /**
109
+ * This function is called on kernel's `execute_input` message to start
110
+ * the elapsed time counter.
111
+ *
112
+ * @param nb - The notebook which contains the scheduled execution request.
113
+ */
114
+ private _startTimer;
115
+ /**
116
+ * The function is called on kernel's `execute_request` message or Comm message, it is
117
+ * used to keep track number of scheduled cell or Comm execution message
118
+ * and the status of kernel.
119
+ *
120
+ * @param nb - The notebook which contains the scheduled code.
121
+ * cell
122
+ * @param msg_id - The id of message.
123
+ */
124
+ private _cellScheduledCallback;
125
+ /**
126
+ * Increment the executed time of input execution state
127
+ * and emit `stateChanged` signal to re-render the indicator.
128
+ *
129
+ * @param data - the state to be updated.
130
+ */
131
+ private _tick;
132
+ /**
133
+ * Reset the input execution state.
134
+ *
135
+ * @param data - the state to be rested.
136
+ */
137
+ private _resetTime;
138
+ get renderFlag(): boolean;
139
+ updateRenderOption(options: {
140
+ showOnToolBar: boolean;
141
+ showProgress: boolean;
142
+ }): void;
143
+ /**
144
+ * The option to show the indicator on status bar or toolbar.
145
+ */
146
+ private _displayOption;
147
+ /**
148
+ * Current activated notebook.
149
+ */
150
+ private _currentNotebook;
151
+ /**
152
+ * A weak map to hold execution status of multiple notebooks.
153
+ */
154
+ private _notebookExecutionProgress;
155
+ /**
156
+ * A flag to show or hide the indicator.
157
+ */
158
+ private _renderFlag;
159
+ }
160
+ function createExecutionIndicatorItem(panel: NotebookPanel, translator: ITranslator, loadSettings: Promise<ISettingRegistry.ISettings> | undefined): Widget;
161
+ function getSettingValue(settings: ISettingRegistry.ISettings): {
162
+ showOnToolBar: boolean;
163
+ showProgress: boolean;
164
+ };
165
+ }
166
+ /**
167
+ * A namespace for module-private data.
168
+ */
169
+ declare namespace Private {
170
+ interface IExecutionState {
171
+ /**
172
+ * Execution status of kernel, this status is deducted from the
173
+ * number of scheduled code cells.
174
+ */
175
+ executionStatus: string;
176
+ /**
177
+ * Current status of kernel.
178
+ */
179
+ kernelStatus: ISessionContext.KernelDisplayStatus;
180
+ /**
181
+ * Total execution time.
182
+ */
183
+ totalTime: number;
184
+ /**
185
+ * Id of `setInterval`, it is used to start / stop the elapsed time
186
+ * counter.
187
+ */
188
+ interval: number;
189
+ /**
190
+ * Id of `setTimeout`, it is used to create / clear the state
191
+ * resetting request.
192
+ */
193
+ timeout: number;
194
+ /**
195
+ * Set of messages scheduled for executing, `executionStatus` is set
196
+ * to `idle if the length of this set is 0 and to `busy` otherwise.
197
+ */
198
+ scheduledCell: Set<string>;
199
+ /**
200
+ * Total number of cells requested for executing, it is used to compute
201
+ * the execution progress in progress bar.
202
+ */
203
+ scheduledCellNumber: number;
204
+ /**
205
+ * Flag to reset the execution state when a code cell is scheduled for
206
+ * executing.
207
+ */
208
+ needReset: boolean;
209
+ }
210
+ type DisplayOption = {
211
+ /**
212
+ * The option to show the indicator on status bar or toolbar.
213
+ */
214
+ showOnToolBar: boolean;
215
+ /**
216
+ * The option to show the execution progress inside kernel
217
+ * status circle.
218
+ */
219
+ showProgress: boolean;
220
+ };
221
+ }
222
+ export {};
@@ -0,0 +1,391 @@
1
+ // Copyright (c) Jupyter Development Team.
2
+ // Distributed under the terms of the Modified BSD License.
3
+ import { translateKernelStatuses, VDomModel, VDomRenderer } from '@jupyterlab/apputils';
4
+ import { nullTranslator } from '@jupyterlab/translation';
5
+ import React from 'react';
6
+ import { interactiveItem, ProgressCircle } from '@jupyterlab/statusbar';
7
+ import { circleIcon, offlineBoltIcon } from '@jupyterlab/ui-components';
8
+ import { KernelMessage } from '@jupyterlab/services';
9
+ /**
10
+ * A react functional component for rendering execution indicator.
11
+ */
12
+ export function ExecutionIndicatorComponent(props) {
13
+ const translator = props.translator || nullTranslator;
14
+ const kernelStatuses = translateKernelStatuses(translator);
15
+ const trans = translator.load('jupyterlab');
16
+ const state = props.state;
17
+ const showOnToolBar = props.displayOption.showOnToolBar;
18
+ const showProgress = props.displayOption.showProgress;
19
+ const tooltipClass = showOnToolBar ? 'down' : 'up';
20
+ const emptyDiv = React.createElement("div", null);
21
+ if (!state) {
22
+ return emptyDiv;
23
+ }
24
+ const kernelStatus = state.kernelStatus;
25
+ const circleIconProps = {
26
+ alignSelf: 'normal',
27
+ height: '24px'
28
+ };
29
+ const time = state.totalTime;
30
+ const scheduledCellNumber = state.scheduledCellNumber || 0;
31
+ const remainingCellNumber = state.scheduledCell.size || 0;
32
+ const executedCellNumber = scheduledCellNumber - remainingCellNumber;
33
+ let percentage = (100 * executedCellNumber) / scheduledCellNumber;
34
+ let displayClass = showProgress ? '' : 'hidden';
35
+ if (!showProgress && percentage < 100) {
36
+ percentage = 0;
37
+ }
38
+ const progressBar = (percentage) => (React.createElement(ProgressCircle, { progress: percentage, width: 16, height: 24 }));
39
+ const titleFactory = (translatedStatus) => trans.__('Kernel status: %1', translatedStatus);
40
+ const reactElement = (status, circle, popup) => (React.createElement("div", { className: 'jp-Notebook-ExecutionIndicator', title: showProgress ? '' : titleFactory(kernelStatuses[status]) },
41
+ circle,
42
+ React.createElement("div", { className: `jp-Notebook-ExecutionIndicator-tooltip ${tooltipClass} ${displayClass}` },
43
+ React.createElement("span", null,
44
+ " ",
45
+ titleFactory(kernelStatuses[status]),
46
+ " "),
47
+ popup)));
48
+ if (state.kernelStatus === 'connecting' ||
49
+ state.kernelStatus === 'disconnected' ||
50
+ state.kernelStatus === 'unknown') {
51
+ return reactElement(kernelStatus, React.createElement(offlineBoltIcon.react, Object.assign({}, circleIconProps)), []);
52
+ }
53
+ if (state.kernelStatus === 'starting' ||
54
+ state.kernelStatus === 'terminating' ||
55
+ state.kernelStatus === 'restarting' ||
56
+ state.kernelStatus === 'initializing') {
57
+ return reactElement(kernelStatus, React.createElement(circleIcon.react, Object.assign({}, circleIconProps)), []);
58
+ }
59
+ if (state.executionStatus === 'busy') {
60
+ return reactElement('busy', progressBar(percentage), [
61
+ React.createElement("span", { key: 0 }, trans.__(`Executed ${executedCellNumber}/${scheduledCellNumber} requests`)),
62
+ React.createElement("span", { key: 1 }, trans._n('Elapsed time: %1 second', 'Elapsed time: %1 seconds', time))
63
+ ]);
64
+ }
65
+ else {
66
+ if (time === 0) {
67
+ return reactElement('idle', progressBar(100), []);
68
+ }
69
+ else {
70
+ return reactElement('idle', progressBar(100), [
71
+ React.createElement("span", { key: 0 }, trans._n('Executed %1 request', 'Executed %1 requests', scheduledCellNumber)),
72
+ React.createElement("span", { key: 1 }, trans._n('Elapsed time: %1 second', 'Elapsed time: %1 seconds', time))
73
+ ]);
74
+ }
75
+ }
76
+ }
77
+ /**
78
+ * A VDomRenderer widget for displaying the execution status.
79
+ */
80
+ export class ExecutionIndicator extends VDomRenderer {
81
+ /**
82
+ * Construct the kernel status widget.
83
+ */
84
+ constructor(translator, showProgress = true) {
85
+ super(new ExecutionIndicator.Model());
86
+ this.translator = translator || nullTranslator;
87
+ this.addClass(interactiveItem);
88
+ }
89
+ /**
90
+ * Render the execution status item.
91
+ */
92
+ render() {
93
+ if (this.model === null || !this.model.renderFlag) {
94
+ return React.createElement("div", null);
95
+ }
96
+ else {
97
+ const nb = this.model.currentNotebook;
98
+ if (!nb) {
99
+ return (React.createElement(ExecutionIndicatorComponent, { displayOption: this.model.displayOption, state: undefined, translator: this.translator }));
100
+ }
101
+ return (React.createElement(ExecutionIndicatorComponent, { displayOption: this.model.displayOption, state: this.model.executionState(nb), translator: this.translator }));
102
+ }
103
+ }
104
+ }
105
+ /**
106
+ * A namespace for ExecutionIndicator statics.
107
+ */
108
+ (function (ExecutionIndicator) {
109
+ /**
110
+ * A VDomModel for the execution status indicator.
111
+ */
112
+ class Model extends VDomModel {
113
+ constructor() {
114
+ super();
115
+ /**
116
+ * A weak map to hold execution status of multiple notebooks.
117
+ */
118
+ this._notebookExecutionProgress = new WeakMap();
119
+ this._displayOption = { showOnToolBar: true, showProgress: true };
120
+ this._renderFlag = true;
121
+ }
122
+ /**
123
+ * Attach a notebook with session context to model in order to keep
124
+ * track of multiple notebooks. If a session context is already
125
+ * attached, only set current activated notebook to input.
126
+ *
127
+ * @param data - The notebook and session context to be attached to model
128
+ */
129
+ attachNotebook(data) {
130
+ var _a, _b, _c, _d;
131
+ if (data && data.content && data.context) {
132
+ const nb = data.content;
133
+ const context = data.context;
134
+ this._currentNotebook = nb;
135
+ if (!this._notebookExecutionProgress.has(nb)) {
136
+ this._notebookExecutionProgress.set(nb, {
137
+ executionStatus: 'idle',
138
+ kernelStatus: 'idle',
139
+ totalTime: 0,
140
+ interval: 0,
141
+ timeout: 0,
142
+ scheduledCell: new Set(),
143
+ scheduledCellNumber: 0,
144
+ needReset: true
145
+ });
146
+ const state = this._notebookExecutionProgress.get(nb);
147
+ const contextStatusChanged = (ctx) => {
148
+ if (state) {
149
+ state.kernelStatus = ctx.kernelDisplayStatus;
150
+ }
151
+ this.stateChanged.emit(void 0);
152
+ };
153
+ context.statusChanged.connect(contextStatusChanged, this);
154
+ const contextConnectionStatusChanged = (ctx) => {
155
+ if (state) {
156
+ state.kernelStatus = ctx.kernelDisplayStatus;
157
+ }
158
+ this.stateChanged.emit(void 0);
159
+ };
160
+ context.connectionStatusChanged.connect(contextConnectionStatusChanged, this);
161
+ context.disposed.connect(ctx => {
162
+ ctx.connectionStatusChanged.disconnect(contextConnectionStatusChanged, this);
163
+ ctx.statusChanged.disconnect(contextStatusChanged, this);
164
+ });
165
+ const handleKernelMsg = (sender, msg) => {
166
+ const message = msg.msg;
167
+ const msgId = message.header.msg_id;
168
+ if (KernelMessage.isCommMsgMsg(message) &&
169
+ message.content.data['method']) {
170
+ // Execution request from Comm message
171
+ const method = message.content.data['method'];
172
+ if (method !== 'request_state' && method !== 'update') {
173
+ this._cellScheduledCallback(nb, msgId);
174
+ this._startTimer(nb);
175
+ }
176
+ }
177
+ else if (message.header.msg_type === 'execute_request') {
178
+ // A cell code is scheduled for executing
179
+ this._cellScheduledCallback(nb, msgId);
180
+ }
181
+ else if (KernelMessage.isStatusMsg(message) &&
182
+ message.content.execution_state === 'idle') {
183
+ // Idle status message case.
184
+ const parentId = message.parent_header
185
+ .msg_id;
186
+ this._cellExecutedCallback(nb, parentId);
187
+ }
188
+ else if (message.header.msg_type === 'execute_input') {
189
+ // A cell code starts executing.
190
+ this._startTimer(nb);
191
+ }
192
+ };
193
+ (_b = (_a = context.session) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.anyMessage.connect(handleKernelMsg);
194
+ (_d = (_c = context.session) === null || _c === void 0 ? void 0 : _c.kernel) === null || _d === void 0 ? void 0 : _d.disposed.connect(kernel => kernel.anyMessage.disconnect(handleKernelMsg));
195
+ const kernelChangedSlot = (_, kernelData) => {
196
+ if (state) {
197
+ this._resetTime(state);
198
+ this.stateChanged.emit(void 0);
199
+ if (kernelData.newValue) {
200
+ kernelData.newValue.anyMessage.connect(handleKernelMsg);
201
+ }
202
+ }
203
+ };
204
+ context.kernelChanged.connect(kernelChangedSlot);
205
+ context.disposed.connect(ctx => ctx.kernelChanged.disconnect(kernelChangedSlot));
206
+ }
207
+ }
208
+ }
209
+ /**
210
+ * The current activated notebook in model.
211
+ */
212
+ get currentNotebook() {
213
+ return this._currentNotebook;
214
+ }
215
+ /**
216
+ * The display options for progress bar and elapsed time.
217
+ */
218
+ get displayOption() {
219
+ return this._displayOption;
220
+ }
221
+ /**
222
+ * Set the display options for progress bar and elapsed time.
223
+ *
224
+ * @param options - Options to be used
225
+ */
226
+ set displayOption(options) {
227
+ this._displayOption = options;
228
+ }
229
+ /**
230
+ * Get the execution state associated with a notebook.
231
+ *
232
+ * @param nb - The notebook used to identify execution
233
+ * state.
234
+ *
235
+ * @return - The associated execution state.
236
+ */
237
+ executionState(nb) {
238
+ return this._notebookExecutionProgress.get(nb);
239
+ }
240
+ /**
241
+ * The function is called on kernel's idle status message.
242
+ * It is used to keep track number of executed
243
+ * cell or Comm custom messages and the status of kernel.
244
+ *
245
+ * @param nb - The notebook which contains the executed code
246
+ * cell.
247
+ * @param msg_id - The id of message.
248
+ *
249
+ * ### Note
250
+ *
251
+ * To keep track of cells executed under 1 second,
252
+ * the execution state is marked as `needReset` 1 second after executing
253
+ * these cells. This `Timeout` will be cleared if there is any cell
254
+ * scheduled after that.
255
+ */
256
+ _cellExecutedCallback(nb, msg_id) {
257
+ const state = this._notebookExecutionProgress.get(nb);
258
+ if (state && state.scheduledCell.has(msg_id)) {
259
+ state.scheduledCell.delete(msg_id);
260
+ if (state.scheduledCell.size === 0) {
261
+ window.setTimeout(() => {
262
+ state.executionStatus = 'idle';
263
+ clearInterval(state.interval);
264
+ this.stateChanged.emit(void 0);
265
+ }, 150);
266
+ state.timeout = window.setTimeout(() => {
267
+ state.needReset = true;
268
+ }, 1000);
269
+ }
270
+ }
271
+ }
272
+ /**
273
+ * This function is called on kernel's `execute_input` message to start
274
+ * the elapsed time counter.
275
+ *
276
+ * @param nb - The notebook which contains the scheduled execution request.
277
+ */
278
+ _startTimer(nb) {
279
+ const state = this._notebookExecutionProgress.get(nb);
280
+ if (state) {
281
+ if (state.executionStatus !== 'busy') {
282
+ state.executionStatus = 'busy';
283
+ clearTimeout(state.timeout);
284
+ this.stateChanged.emit(void 0);
285
+ state.interval = window.setInterval(() => {
286
+ this._tick(state);
287
+ }, 1000);
288
+ }
289
+ }
290
+ }
291
+ /**
292
+ * The function is called on kernel's `execute_request` message or Comm message, it is
293
+ * used to keep track number of scheduled cell or Comm execution message
294
+ * and the status of kernel.
295
+ *
296
+ * @param nb - The notebook which contains the scheduled code.
297
+ * cell
298
+ * @param msg_id - The id of message.
299
+ */
300
+ _cellScheduledCallback(nb, msg_id) {
301
+ const state = this._notebookExecutionProgress.get(nb);
302
+ if (state && !state.scheduledCell.has(msg_id)) {
303
+ if (state.needReset) {
304
+ this._resetTime(state);
305
+ }
306
+ state.scheduledCell.add(msg_id);
307
+ state.scheduledCellNumber += 1;
308
+ }
309
+ }
310
+ /**
311
+ * Increment the executed time of input execution state
312
+ * and emit `stateChanged` signal to re-render the indicator.
313
+ *
314
+ * @param data - the state to be updated.
315
+ */
316
+ _tick(data) {
317
+ data.totalTime += 1;
318
+ this.stateChanged.emit(void 0);
319
+ }
320
+ /**
321
+ * Reset the input execution state.
322
+ *
323
+ * @param data - the state to be rested.
324
+ */
325
+ _resetTime(data) {
326
+ data.totalTime = 0;
327
+ data.scheduledCellNumber = 0;
328
+ data.executionStatus = 'idle';
329
+ data.scheduledCell = new Set();
330
+ clearTimeout(data.timeout);
331
+ clearInterval(data.interval);
332
+ data.needReset = false;
333
+ }
334
+ get renderFlag() {
335
+ return this._renderFlag;
336
+ }
337
+ updateRenderOption(options) {
338
+ if (this.displayOption.showOnToolBar) {
339
+ if (!options.showOnToolBar) {
340
+ this._renderFlag = false;
341
+ }
342
+ else {
343
+ this._renderFlag = true;
344
+ }
345
+ }
346
+ this.displayOption.showProgress = options.showProgress;
347
+ this.stateChanged.emit(void 0);
348
+ }
349
+ }
350
+ ExecutionIndicator.Model = Model;
351
+ function createExecutionIndicatorItem(panel, translator, loadSettings) {
352
+ const toolbarItem = new ExecutionIndicator(translator);
353
+ toolbarItem.model.displayOption = {
354
+ showOnToolBar: true,
355
+ showProgress: true
356
+ };
357
+ toolbarItem.model.attachNotebook({
358
+ content: panel.content,
359
+ context: panel.sessionContext
360
+ });
361
+ panel.disposed.connect(() => {
362
+ toolbarItem.dispose();
363
+ });
364
+ if (loadSettings) {
365
+ loadSettings
366
+ .then(settings => {
367
+ toolbarItem.model.updateRenderOption(getSettingValue(settings));
368
+ settings.changed.connect(newSettings => {
369
+ toolbarItem.model.updateRenderOption(getSettingValue(newSettings));
370
+ });
371
+ })
372
+ .catch((reason) => {
373
+ console.error(reason.message);
374
+ });
375
+ }
376
+ return toolbarItem;
377
+ }
378
+ ExecutionIndicator.createExecutionIndicatorItem = createExecutionIndicatorItem;
379
+ function getSettingValue(settings) {
380
+ let showOnToolBar = true;
381
+ let showProgress = true;
382
+ const configValues = settings.get('kernelStatus').composite;
383
+ if (configValues) {
384
+ showOnToolBar = !configValues.showOnStatusBar;
385
+ showProgress = configValues.showProgress;
386
+ }
387
+ return { showOnToolBar, showProgress };
388
+ }
389
+ ExecutionIndicator.getSettingValue = getSettingValue;
390
+ })(ExecutionIndicator || (ExecutionIndicator = {}));
391
+ //# sourceMappingURL=executionindicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionindicator.js","sourceRoot":"","sources":["../src/executionindicator.tsx"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -14,3 +14,4 @@ export * from './tracker';
14
14
  export * from './truststatus';
15
15
  export * from './widget';
16
16
  export * from './widgetfactory';
17
+ export * from './executionindicator';
package/lib/index.js CHANGED
@@ -16,4 +16,5 @@ export * from './tracker';
16
16
  export * from './truststatus';
17
17
  export * from './widget';
18
18
  export * from './widgetfactory';
19
+ export * from './executionindicator';
19
20
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAC3D;;;GAGG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}