@nebula.js/stardust 5.12.6 → 5.13.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.
package/core/esm/dev.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * @nebula.js/stardust v5.12.6
2
+ * @nebula.js/stardust v5.13.0
3
3
  * Copyright (c) 2025 QlikTech International AB
4
4
  * Released under the MIT license.
5
5
  */
@@ -48,671 +48,768 @@ var runtime = {exports: {}};
48
48
  * This source code is licensed under the MIT license found in the
49
49
  * LICENSE file in the root directory of this source tree.
50
50
  */
51
+
51
52
  var hasRequiredRuntime;
52
- function requireRuntime() {
53
- if (hasRequiredRuntime) return runtime.exports;
54
- hasRequiredRuntime = 1;
55
- (function (module) {
56
- var runtime = function (exports) {
57
-
58
- var Op = Object.prototype;
59
- var hasOwn = Op.hasOwnProperty;
60
- var defineProperty = Object.defineProperty || function (obj, key, desc) {
61
- obj[key] = desc.value;
62
- };
63
- var undefined$1; // More compressible than void 0.
64
- var $Symbol = typeof Symbol === "function" ? Symbol : {};
65
- var iteratorSymbol = $Symbol.iterator || "@@iterator";
66
- var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
67
- var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
68
- function define(obj, key, value) {
69
- Object.defineProperty(obj, key, {
70
- value: value,
71
- enumerable: true,
72
- configurable: true,
73
- writable: true
74
- });
75
- return obj[key];
76
- }
77
- try {
78
- // IE 8 has a broken Object.defineProperty that only works on DOM objects.
79
- define({}, "");
80
- } catch (err) {
81
- define = function (obj, key, value) {
82
- return obj[key] = value;
83
- };
84
- }
85
- function wrap(innerFn, outerFn, self, tryLocsList) {
86
- // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
87
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
88
- var generator = Object.create(protoGenerator.prototype);
89
- var context = new Context(tryLocsList || []);
90
53
 
91
- // The ._invoke method unifies the implementations of the .next,
92
- // .throw, and .return methods.
93
- defineProperty(generator, "_invoke", {
94
- value: makeInvokeMethod(innerFn, self, context)
95
- });
96
- return generator;
97
- }
98
- exports.wrap = wrap;
99
-
100
- // Try/catch helper to minimize deoptimizations. Returns a completion
101
- // record like context.tryEntries[i].completion. This interface could
102
- // have been (and was previously) designed to take a closure to be
103
- // invoked without arguments, but in all the cases we care about we
104
- // already have an existing method we want to call, so there's no need
105
- // to create a new function object. We can even get away with assuming
106
- // the method takes exactly one argument, since that happens to be true
107
- // in every case, so we don't have to touch the arguments object. The
108
- // only additional allocation required is the completion record, which
109
- // has a stable shape and so hopefully should be cheap to allocate.
110
- function tryCatch(fn, obj, arg) {
111
- try {
112
- return {
113
- type: "normal",
114
- arg: fn.call(obj, arg)
115
- };
116
- } catch (err) {
117
- return {
118
- type: "throw",
119
- arg: err
120
- };
121
- }
122
- }
123
- var GenStateSuspendedStart = "suspendedStart";
124
- var GenStateSuspendedYield = "suspendedYield";
125
- var GenStateExecuting = "executing";
126
- var GenStateCompleted = "completed";
127
-
128
- // Returning this object from the innerFn has the same effect as
129
- // breaking out of the dispatch switch statement.
130
- var ContinueSentinel = {};
131
-
132
- // Dummy constructor functions that we use as the .constructor and
133
- // .constructor.prototype properties for functions that return Generator
134
- // objects. For full spec compliance, you may wish to configure your
135
- // minifier not to mangle the names of these two functions.
136
- function Generator() {}
137
- function GeneratorFunction() {}
138
- function GeneratorFunctionPrototype() {}
139
-
140
- // This is a polyfill for %IteratorPrototype% for environments that
141
- // don't natively support it.
142
- var IteratorPrototype = {};
143
- define(IteratorPrototype, iteratorSymbol, function () {
144
- return this;
145
- });
146
- var getProto = Object.getPrototypeOf;
147
- var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
148
- if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
149
- // This environment has a native %IteratorPrototype%; use it instead
150
- // of the polyfill.
151
- IteratorPrototype = NativeIteratorPrototype;
152
- }
153
- var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
154
- GeneratorFunction.prototype = GeneratorFunctionPrototype;
155
- defineProperty(Gp, "constructor", {
156
- value: GeneratorFunctionPrototype,
157
- configurable: true
158
- });
159
- defineProperty(GeneratorFunctionPrototype, "constructor", {
160
- value: GeneratorFunction,
161
- configurable: true
162
- });
163
- GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction");
164
-
165
- // Helper for defining the .next, .throw, and .return methods of the
166
- // Iterator interface in terms of a single ._invoke method.
167
- function defineIteratorMethods(prototype) {
168
- ["next", "throw", "return"].forEach(function (method) {
169
- define(prototype, method, function (arg) {
170
- return this._invoke(method, arg);
171
- });
172
- });
173
- }
174
- exports.isGeneratorFunction = function (genFun) {
175
- var ctor = typeof genFun === "function" && genFun.constructor;
176
- return ctor ? ctor === GeneratorFunction ||
177
- // For the native GeneratorFunction constructor, the best we can
178
- // do is to check its .name property.
179
- (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
180
- };
181
- exports.mark = function (genFun) {
182
- if (Object.setPrototypeOf) {
183
- Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
184
- } else {
185
- genFun.__proto__ = GeneratorFunctionPrototype;
186
- define(genFun, toStringTagSymbol, "GeneratorFunction");
187
- }
188
- genFun.prototype = Object.create(Gp);
189
- return genFun;
190
- };
54
+ function requireRuntime () {
55
+ if (hasRequiredRuntime) return runtime.exports;
56
+ hasRequiredRuntime = 1;
57
+ (function (module) {
58
+ var runtime = (function (exports) {
59
+
60
+ var Op = Object.prototype;
61
+ var hasOwn = Op.hasOwnProperty;
62
+ var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; };
63
+ var undefined$1; // More compressible than void 0.
64
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
65
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
66
+ var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
67
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
68
+
69
+ function define(obj, key, value) {
70
+ Object.defineProperty(obj, key, {
71
+ value: value,
72
+ enumerable: true,
73
+ configurable: true,
74
+ writable: true
75
+ });
76
+ return obj[key];
77
+ }
78
+ try {
79
+ // IE 8 has a broken Object.defineProperty that only works on DOM objects.
80
+ define({}, "");
81
+ } catch (err) {
82
+ define = function(obj, key, value) {
83
+ return obj[key] = value;
84
+ };
85
+ }
191
86
 
192
- // Within the body of any async function, `await x` is transformed to
193
- // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
194
- // `hasOwn.call(value, "__await")` to determine if the yielded value is
195
- // meant to be awaited.
196
- exports.awrap = function (arg) {
197
- return {
198
- __await: arg
199
- };
200
- };
201
- function AsyncIterator(generator, PromiseImpl) {
202
- function invoke(method, arg, resolve, reject) {
203
- var record = tryCatch(generator[method], generator, arg);
204
- if (record.type === "throw") {
205
- reject(record.arg);
206
- } else {
207
- var result = record.arg;
208
- var value = result.value;
209
- if (value && typeof value === "object" && hasOwn.call(value, "__await")) {
210
- return PromiseImpl.resolve(value.__await).then(function (value) {
211
- invoke("next", value, resolve, reject);
212
- }, function (err) {
213
- invoke("throw", err, resolve, reject);
214
- });
215
- }
216
- return PromiseImpl.resolve(value).then(function (unwrapped) {
217
- // When a yielded Promise is resolved, its final value becomes
218
- // the .value of the Promise<{value,done}> result for the
219
- // current iteration.
220
- result.value = unwrapped;
221
- resolve(result);
222
- }, function (error) {
223
- // If a rejected Promise was yielded, throw the rejection back
224
- // into the async generator function so it can be handled there.
225
- return invoke("throw", error, resolve, reject);
226
- });
227
- }
228
- }
229
- var previousPromise;
230
- function enqueue(method, arg) {
231
- function callInvokeWithMethodAndArg() {
232
- return new PromiseImpl(function (resolve, reject) {
233
- invoke(method, arg, resolve, reject);
234
- });
235
- }
236
- return previousPromise =
237
- // If enqueue has been called before, then we want to wait until
238
- // all previous Promises have been resolved before calling invoke,
239
- // so that results are always delivered in the correct order. If
240
- // enqueue has not been called before, then it is important to
241
- // call invoke immediately, without waiting on a callback to fire,
242
- // so that the async generator function has the opportunity to do
243
- // any necessary setup in a predictable way. This predictability
244
- // is why the Promise constructor synchronously invokes its
245
- // executor callback, and why async functions synchronously
246
- // execute code before the first await. Since we implement simple
247
- // async functions in terms of async generators, it is especially
248
- // important to get this right, even though it requires care.
249
- previousPromise ? previousPromise.then(callInvokeWithMethodAndArg,
250
- // Avoid propagating failures to Promises returned by later
251
- // invocations of the iterator.
252
- callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
253
- }
87
+ function wrap(innerFn, outerFn, self, tryLocsList) {
88
+ // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
89
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
90
+ var generator = Object.create(protoGenerator.prototype);
91
+ var context = new Context(tryLocsList || []);
254
92
 
255
- // Define the unified helper method that is used to implement .next,
256
- // .throw, and .return (see defineIteratorMethods).
257
- defineProperty(this, "_invoke", {
258
- value: enqueue
259
- });
260
- }
261
- defineIteratorMethods(AsyncIterator.prototype);
262
- define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
263
- return this;
264
- });
265
- exports.AsyncIterator = AsyncIterator;
266
-
267
- // Note that simple async functions are implemented on top of
268
- // AsyncIterator objects; they just return a Promise for the value of
269
- // the final result produced by the iterator.
270
- exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
271
- if (PromiseImpl === void 0) PromiseImpl = Promise;
272
- var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
273
- return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.
274
- : iter.next().then(function (result) {
275
- return result.done ? result.value : iter.next();
276
- });
277
- };
278
- function makeInvokeMethod(innerFn, self, context) {
279
- var state = GenStateSuspendedStart;
280
- return function invoke(method, arg) {
281
- if (state === GenStateExecuting) {
282
- throw new Error("Generator is already running");
283
- }
284
- if (state === GenStateCompleted) {
285
- if (method === "throw") {
286
- throw arg;
287
- }
93
+ // The ._invoke method unifies the implementations of the .next,
94
+ // .throw, and .return methods.
95
+ defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) });
288
96
 
289
- // Be forgiving, per GeneratorResume behavior specified since ES2015:
290
- // ES2015 spec, step 3: https://262.ecma-international.org/6.0/#sec-generatorresume
291
- // Latest spec, step 2: https://tc39.es/ecma262/#sec-generatorresume
292
- return doneResult();
293
- }
294
- context.method = method;
295
- context.arg = arg;
296
- while (true) {
297
- var delegate = context.delegate;
298
- if (delegate) {
299
- var delegateResult = maybeInvokeDelegate(delegate, context);
300
- if (delegateResult) {
301
- if (delegateResult === ContinueSentinel) continue;
302
- return delegateResult;
303
- }
304
- }
305
- if (context.method === "next") {
306
- // Setting context._sent for legacy support of Babel's
307
- // function.sent implementation.
308
- context.sent = context._sent = context.arg;
309
- } else if (context.method === "throw") {
310
- if (state === GenStateSuspendedStart) {
311
- state = GenStateCompleted;
312
- throw context.arg;
313
- }
314
- context.dispatchException(context.arg);
315
- } else if (context.method === "return") {
316
- context.abrupt("return", context.arg);
317
- }
318
- state = GenStateExecuting;
319
- var record = tryCatch(innerFn, self, context);
320
- if (record.type === "normal") {
321
- // If an exception is thrown from innerFn, we leave state ===
322
- // GenStateExecuting and loop back for another invocation.
323
- state = context.done ? GenStateCompleted : GenStateSuspendedYield;
324
- if (record.arg === ContinueSentinel) {
325
- continue;
326
- }
327
- return {
328
- value: record.arg,
329
- done: context.done
330
- };
331
- } else if (record.type === "throw") {
332
- state = GenStateCompleted;
333
- // Dispatch the exception by looping back around to the
334
- // context.dispatchException(context.arg) call above.
335
- context.method = "throw";
336
- context.arg = record.arg;
337
- }
338
- }
339
- };
340
- }
97
+ return generator;
98
+ }
99
+ exports.wrap = wrap;
100
+
101
+ // Try/catch helper to minimize deoptimizations. Returns a completion
102
+ // record like context.tryEntries[i].completion. This interface could
103
+ // have been (and was previously) designed to take a closure to be
104
+ // invoked without arguments, but in all the cases we care about we
105
+ // already have an existing method we want to call, so there's no need
106
+ // to create a new function object. We can even get away with assuming
107
+ // the method takes exactly one argument, since that happens to be true
108
+ // in every case, so we don't have to touch the arguments object. The
109
+ // only additional allocation required is the completion record, which
110
+ // has a stable shape and so hopefully should be cheap to allocate.
111
+ function tryCatch(fn, obj, arg) {
112
+ try {
113
+ return { type: "normal", arg: fn.call(obj, arg) };
114
+ } catch (err) {
115
+ return { type: "throw", arg: err };
116
+ }
117
+ }
341
118
 
342
- // Call delegate.iterator[context.method](context.arg) and handle the
343
- // result, either by returning a { value, done } result from the
344
- // delegate iterator, or by modifying context.method and context.arg,
345
- // setting context.delegate to null, and returning the ContinueSentinel.
346
- function maybeInvokeDelegate(delegate, context) {
347
- var methodName = context.method;
348
- var method = delegate.iterator[methodName];
349
- if (method === undefined$1) {
350
- // A .throw or .return when the delegate iterator has no .throw
351
- // method, or a missing .next method, always terminate the
352
- // yield* loop.
353
- context.delegate = null;
354
-
355
- // Note: ["return"] must be used for ES3 parsing compatibility.
356
- if (methodName === "throw" && delegate.iterator["return"]) {
357
- // If the delegate iterator has a return method, give it a
358
- // chance to clean up.
359
- context.method = "return";
360
- context.arg = undefined$1;
361
- maybeInvokeDelegate(delegate, context);
362
- if (context.method === "throw") {
363
- // If maybeInvokeDelegate(context) changed context.method from
364
- // "return" to "throw", let that override the TypeError below.
365
- return ContinueSentinel;
366
- }
367
- }
368
- if (methodName !== "return") {
369
- context.method = "throw";
370
- context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method");
371
- }
372
- return ContinueSentinel;
373
- }
374
- var record = tryCatch(method, delegate.iterator, context.arg);
375
- if (record.type === "throw") {
376
- context.method = "throw";
377
- context.arg = record.arg;
378
- context.delegate = null;
379
- return ContinueSentinel;
380
- }
381
- var info = record.arg;
382
- if (!info) {
383
- context.method = "throw";
384
- context.arg = new TypeError("iterator result is not an object");
385
- context.delegate = null;
386
- return ContinueSentinel;
387
- }
388
- if (info.done) {
389
- // Assign the result of the finished delegate to the temporary
390
- // variable specified by delegate.resultName (see delegateYield).
391
- context[delegate.resultName] = info.value;
392
-
393
- // Resume execution at the desired location (see delegateYield).
394
- context.next = delegate.nextLoc;
395
-
396
- // If context.method was "throw" but the delegate handled the
397
- // exception, let the outer generator proceed normally. If
398
- // context.method was "next", forget context.arg since it has been
399
- // "consumed" by the delegate iterator. If context.method was
400
- // "return", allow the original .return call to continue in the
401
- // outer generator.
402
- if (context.method !== "return") {
403
- context.method = "next";
404
- context.arg = undefined$1;
405
- }
406
- } else {
407
- // Re-yield the result returned by the delegate method.
408
- return info;
409
- }
119
+ var GenStateSuspendedStart = "suspendedStart";
120
+ var GenStateSuspendedYield = "suspendedYield";
121
+ var GenStateExecuting = "executing";
122
+ var GenStateCompleted = "completed";
123
+
124
+ // Returning this object from the innerFn has the same effect as
125
+ // breaking out of the dispatch switch statement.
126
+ var ContinueSentinel = {};
127
+
128
+ // Dummy constructor functions that we use as the .constructor and
129
+ // .constructor.prototype properties for functions that return Generator
130
+ // objects. For full spec compliance, you may wish to configure your
131
+ // minifier not to mangle the names of these two functions.
132
+ function Generator() {}
133
+ function GeneratorFunction() {}
134
+ function GeneratorFunctionPrototype() {}
135
+
136
+ // This is a polyfill for %IteratorPrototype% for environments that
137
+ // don't natively support it.
138
+ var IteratorPrototype = {};
139
+ define(IteratorPrototype, iteratorSymbol, function () {
140
+ return this;
141
+ });
142
+
143
+ var getProto = Object.getPrototypeOf;
144
+ var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
145
+ if (NativeIteratorPrototype &&
146
+ NativeIteratorPrototype !== Op &&
147
+ hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
148
+ // This environment has a native %IteratorPrototype%; use it instead
149
+ // of the polyfill.
150
+ IteratorPrototype = NativeIteratorPrototype;
151
+ }
410
152
 
411
- // The delegate iterator is finished, so forget it and continue with
412
- // the outer generator.
413
- context.delegate = null;
414
- return ContinueSentinel;
415
- }
153
+ var Gp = GeneratorFunctionPrototype.prototype =
154
+ Generator.prototype = Object.create(IteratorPrototype);
155
+ GeneratorFunction.prototype = GeneratorFunctionPrototype;
156
+ defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: true });
157
+ defineProperty(
158
+ GeneratorFunctionPrototype,
159
+ "constructor",
160
+ { value: GeneratorFunction, configurable: true }
161
+ );
162
+ GeneratorFunction.displayName = define(
163
+ GeneratorFunctionPrototype,
164
+ toStringTagSymbol,
165
+ "GeneratorFunction"
166
+ );
167
+
168
+ // Helper for defining the .next, .throw, and .return methods of the
169
+ // Iterator interface in terms of a single ._invoke method.
170
+ function defineIteratorMethods(prototype) {
171
+ ["next", "throw", "return"].forEach(function(method) {
172
+ define(prototype, method, function(arg) {
173
+ return this._invoke(method, arg);
174
+ });
175
+ });
176
+ }
416
177
 
417
- // Define Generator.prototype.{next,throw,return} in terms of the
418
- // unified ._invoke helper method.
419
- defineIteratorMethods(Gp);
420
- define(Gp, toStringTagSymbol, "Generator");
178
+ exports.isGeneratorFunction = function(genFun) {
179
+ var ctor = typeof genFun === "function" && genFun.constructor;
180
+ return ctor
181
+ ? ctor === GeneratorFunction ||
182
+ // For the native GeneratorFunction constructor, the best we can
183
+ // do is to check its .name property.
184
+ (ctor.displayName || ctor.name) === "GeneratorFunction"
185
+ : false;
186
+ };
421
187
 
422
- // A Generator should always return itself as the iterator object when the
423
- // @@iterator function is called on it. Some browsers' implementations of the
424
- // iterator prototype chain incorrectly implement this, causing the Generator
425
- // object to not be returned from this call. This ensures that doesn't happen.
426
- // See https://github.com/facebook/regenerator/issues/274 for more details.
427
- define(Gp, iteratorSymbol, function () {
428
- return this;
429
- });
430
- define(Gp, "toString", function () {
431
- return "[object Generator]";
432
- });
433
- function pushTryEntry(locs) {
434
- var entry = {
435
- tryLoc: locs[0]
436
- };
437
- if (1 in locs) {
438
- entry.catchLoc = locs[1];
439
- }
440
- if (2 in locs) {
441
- entry.finallyLoc = locs[2];
442
- entry.afterLoc = locs[3];
443
- }
444
- this.tryEntries.push(entry);
445
- }
446
- function resetTryEntry(entry) {
447
- var record = entry.completion || {};
448
- record.type = "normal";
449
- delete record.arg;
450
- entry.completion = record;
451
- }
452
- function Context(tryLocsList) {
453
- // The root entry object (effectively a try statement without a catch
454
- // or a finally block) gives us a place to store values thrown from
455
- // locations where there is no enclosing try statement.
456
- this.tryEntries = [{
457
- tryLoc: "root"
458
- }];
459
- tryLocsList.forEach(pushTryEntry, this);
460
- this.reset(true);
461
- }
462
- exports.keys = function (val) {
463
- var object = Object(val);
464
- var keys = [];
465
- for (var key in object) {
466
- keys.push(key);
467
- }
468
- keys.reverse();
469
-
470
- // Rather than returning an object with a next method, we keep
471
- // things simple and return the next function itself.
472
- return function next() {
473
- while (keys.length) {
474
- var key = keys.pop();
475
- if (key in object) {
476
- next.value = key;
477
- next.done = false;
478
- return next;
479
- }
480
- }
188
+ exports.mark = function(genFun) {
189
+ if (Object.setPrototypeOf) {
190
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
191
+ } else {
192
+ genFun.__proto__ = GeneratorFunctionPrototype;
193
+ define(genFun, toStringTagSymbol, "GeneratorFunction");
194
+ }
195
+ genFun.prototype = Object.create(Gp);
196
+ return genFun;
197
+ };
481
198
 
482
- // To avoid creating an additional object, we just hang the .value
483
- // and .done properties off the next function object itself. This
484
- // also ensures that the minifier will not anonymize the function.
485
- next.done = true;
486
- return next;
487
- };
488
- };
489
- function values(iterable) {
490
- if (iterable != null) {
491
- var iteratorMethod = iterable[iteratorSymbol];
492
- if (iteratorMethod) {
493
- return iteratorMethod.call(iterable);
494
- }
495
- if (typeof iterable.next === "function") {
496
- return iterable;
497
- }
498
- if (!isNaN(iterable.length)) {
499
- var i = -1,
500
- next = function next() {
501
- while (++i < iterable.length) {
502
- if (hasOwn.call(iterable, i)) {
503
- next.value = iterable[i];
504
- next.done = false;
505
- return next;
506
- }
507
- }
508
- next.value = undefined$1;
509
- next.done = true;
510
- return next;
511
- };
512
- return next.next = next;
513
- }
514
- }
515
- throw new TypeError(typeof iterable + " is not iterable");
516
- }
517
- exports.values = values;
518
- function doneResult() {
519
- return {
520
- value: undefined$1,
521
- done: true
522
- };
523
- }
524
- Context.prototype = {
525
- constructor: Context,
526
- reset: function (skipTempReset) {
527
- this.prev = 0;
528
- this.next = 0;
529
- // Resetting context._sent for legacy support of Babel's
530
- // function.sent implementation.
531
- this.sent = this._sent = undefined$1;
532
- this.done = false;
533
- this.delegate = null;
534
- this.method = "next";
535
- this.arg = undefined$1;
536
- this.tryEntries.forEach(resetTryEntry);
537
- if (!skipTempReset) {
538
- for (var name in this) {
539
- // Not sure about the optimal order of these conditions:
540
- if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
541
- this[name] = undefined$1;
542
- }
543
- }
544
- }
545
- },
546
- stop: function () {
547
- this.done = true;
548
- var rootEntry = this.tryEntries[0];
549
- var rootRecord = rootEntry.completion;
550
- if (rootRecord.type === "throw") {
551
- throw rootRecord.arg;
552
- }
553
- return this.rval;
554
- },
555
- dispatchException: function (exception) {
556
- if (this.done) {
557
- throw exception;
558
- }
559
- var context = this;
560
- function handle(loc, caught) {
561
- record.type = "throw";
562
- record.arg = exception;
563
- context.next = loc;
564
- if (caught) {
565
- // If the dispatched exception was caught by a catch block,
566
- // then let that catch block handle the exception normally.
567
- context.method = "next";
568
- context.arg = undefined$1;
569
- }
570
- return !!caught;
571
- }
572
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
573
- var entry = this.tryEntries[i];
574
- var record = entry.completion;
575
- if (entry.tryLoc === "root") {
576
- // Exception thrown outside of any try block that could handle
577
- // it, so set the completion value of the entire function to
578
- // throw the exception.
579
- return handle("end");
580
- }
581
- if (entry.tryLoc <= this.prev) {
582
- var hasCatch = hasOwn.call(entry, "catchLoc");
583
- var hasFinally = hasOwn.call(entry, "finallyLoc");
584
- if (hasCatch && hasFinally) {
585
- if (this.prev < entry.catchLoc) {
586
- return handle(entry.catchLoc, true);
587
- } else if (this.prev < entry.finallyLoc) {
588
- return handle(entry.finallyLoc);
589
- }
590
- } else if (hasCatch) {
591
- if (this.prev < entry.catchLoc) {
592
- return handle(entry.catchLoc, true);
593
- }
594
- } else if (hasFinally) {
595
- if (this.prev < entry.finallyLoc) {
596
- return handle(entry.finallyLoc);
597
- }
598
- } else {
599
- throw new Error("try statement without catch or finally");
600
- }
601
- }
602
- }
603
- },
604
- abrupt: function (type, arg) {
605
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
606
- var entry = this.tryEntries[i];
607
- if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
608
- var finallyEntry = entry;
609
- break;
610
- }
611
- }
612
- if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
613
- // Ignore the finally entry if control is not jumping to a
614
- // location outside the try/catch block.
615
- finallyEntry = null;
616
- }
617
- var record = finallyEntry ? finallyEntry.completion : {};
618
- record.type = type;
619
- record.arg = arg;
620
- if (finallyEntry) {
621
- this.method = "next";
622
- this.next = finallyEntry.finallyLoc;
623
- return ContinueSentinel;
624
- }
625
- return this.complete(record);
626
- },
627
- complete: function (record, afterLoc) {
628
- if (record.type === "throw") {
629
- throw record.arg;
630
- }
631
- if (record.type === "break" || record.type === "continue") {
632
- this.next = record.arg;
633
- } else if (record.type === "return") {
634
- this.rval = this.arg = record.arg;
635
- this.method = "return";
636
- this.next = "end";
637
- } else if (record.type === "normal" && afterLoc) {
638
- this.next = afterLoc;
639
- }
640
- return ContinueSentinel;
641
- },
642
- finish: function (finallyLoc) {
643
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
644
- var entry = this.tryEntries[i];
645
- if (entry.finallyLoc === finallyLoc) {
646
- this.complete(entry.completion, entry.afterLoc);
647
- resetTryEntry(entry);
648
- return ContinueSentinel;
649
- }
650
- }
651
- },
652
- "catch": function (tryLoc) {
653
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
654
- var entry = this.tryEntries[i];
655
- if (entry.tryLoc === tryLoc) {
656
- var record = entry.completion;
657
- if (record.type === "throw") {
658
- var thrown = record.arg;
659
- resetTryEntry(entry);
660
- }
661
- return thrown;
662
- }
663
- }
199
+ // Within the body of any async function, `await x` is transformed to
200
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
201
+ // `hasOwn.call(value, "__await")` to determine if the yielded value is
202
+ // meant to be awaited.
203
+ exports.awrap = function(arg) {
204
+ return { __await: arg };
205
+ };
664
206
 
665
- // The context.catch method must only be called with a location
666
- // argument that corresponds to a known catch block.
667
- throw new Error("illegal catch attempt");
668
- },
669
- delegateYield: function (iterable, resultName, nextLoc) {
670
- this.delegate = {
671
- iterator: values(iterable),
672
- resultName: resultName,
673
- nextLoc: nextLoc
674
- };
675
- if (this.method === "next") {
676
- // Deliberately forget the last sent value so that we don't
677
- // accidentally pass it on to the delegate.
678
- this.arg = undefined$1;
679
- }
680
- return ContinueSentinel;
681
- }
682
- };
207
+ function AsyncIterator(generator, PromiseImpl) {
208
+ function invoke(method, arg, resolve, reject) {
209
+ var record = tryCatch(generator[method], generator, arg);
210
+ if (record.type === "throw") {
211
+ reject(record.arg);
212
+ } else {
213
+ var result = record.arg;
214
+ var value = result.value;
215
+ if (value &&
216
+ typeof value === "object" &&
217
+ hasOwn.call(value, "__await")) {
218
+ return PromiseImpl.resolve(value.__await).then(function(value) {
219
+ invoke("next", value, resolve, reject);
220
+ }, function(err) {
221
+ invoke("throw", err, resolve, reject);
222
+ });
223
+ }
683
224
 
684
- // Regardless of whether this script is executing as a CommonJS module
685
- // or not, return the runtime object so that we can declare the variable
686
- // regeneratorRuntime in the outer scope, which allows this module to be
687
- // injected easily by `bin/regenerator --include-runtime script.js`.
688
- return exports;
689
- }(
690
- // If this script is executing as a CommonJS module, use module.exports
691
- // as the regeneratorRuntime namespace. Otherwise create a new empty
692
- // object. Either way, the resulting object will be used to initialize
693
- // the regeneratorRuntime variable at the top of this file.
694
- module.exports );
695
- try {
696
- regeneratorRuntime = runtime;
697
- } catch (accidentalStrictMode) {
698
- // This module should not be running in strict mode, so the above
699
- // assignment should always work unless something is misconfigured. Just
700
- // in case runtime.js accidentally runs in strict mode, in modern engines
701
- // we can explicitly access globalThis. In older engines we can escape
702
- // strict mode using a global Function call. This could conceivably fail
703
- // if a Content Security Policy forbids using Function, but in that case
704
- // the proper solution is to fix the accidental strict mode problem. If
705
- // you've misconfigured your bundler to force strict mode and applied a
706
- // CSP to forbid Function, and you're not willing to fix either of those
707
- // problems, please detail your unique predicament in a GitHub issue.
708
- if (typeof globalThis === "object") {
709
- globalThis.regeneratorRuntime = runtime;
710
- } else {
711
- Function("r", "regeneratorRuntime = r")(runtime);
712
- }
713
- }
714
- })(runtime);
715
- return runtime.exports;
225
+ return PromiseImpl.resolve(value).then(function(unwrapped) {
226
+ // When a yielded Promise is resolved, its final value becomes
227
+ // the .value of the Promise<{value,done}> result for the
228
+ // current iteration.
229
+ result.value = unwrapped;
230
+ resolve(result);
231
+ }, function(error) {
232
+ // If a rejected Promise was yielded, throw the rejection back
233
+ // into the async generator function so it can be handled there.
234
+ return invoke("throw", error, resolve, reject);
235
+ });
236
+ }
237
+ }
238
+
239
+ var previousPromise;
240
+
241
+ function enqueue(method, arg) {
242
+ function callInvokeWithMethodAndArg() {
243
+ return new PromiseImpl(function(resolve, reject) {
244
+ invoke(method, arg, resolve, reject);
245
+ });
246
+ }
247
+
248
+ return previousPromise =
249
+ // If enqueue has been called before, then we want to wait until
250
+ // all previous Promises have been resolved before calling invoke,
251
+ // so that results are always delivered in the correct order. If
252
+ // enqueue has not been called before, then it is important to
253
+ // call invoke immediately, without waiting on a callback to fire,
254
+ // so that the async generator function has the opportunity to do
255
+ // any necessary setup in a predictable way. This predictability
256
+ // is why the Promise constructor synchronously invokes its
257
+ // executor callback, and why async functions synchronously
258
+ // execute code before the first await. Since we implement simple
259
+ // async functions in terms of async generators, it is especially
260
+ // important to get this right, even though it requires care.
261
+ previousPromise ? previousPromise.then(
262
+ callInvokeWithMethodAndArg,
263
+ // Avoid propagating failures to Promises returned by later
264
+ // invocations of the iterator.
265
+ callInvokeWithMethodAndArg
266
+ ) : callInvokeWithMethodAndArg();
267
+ }
268
+
269
+ // Define the unified helper method that is used to implement .next,
270
+ // .throw, and .return (see defineIteratorMethods).
271
+ defineProperty(this, "_invoke", { value: enqueue });
272
+ }
273
+
274
+ defineIteratorMethods(AsyncIterator.prototype);
275
+ define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
276
+ return this;
277
+ });
278
+ exports.AsyncIterator = AsyncIterator;
279
+
280
+ // Note that simple async functions are implemented on top of
281
+ // AsyncIterator objects; they just return a Promise for the value of
282
+ // the final result produced by the iterator.
283
+ exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
284
+ if (PromiseImpl === void 0) PromiseImpl = Promise;
285
+
286
+ var iter = new AsyncIterator(
287
+ wrap(innerFn, outerFn, self, tryLocsList),
288
+ PromiseImpl
289
+ );
290
+
291
+ return exports.isGeneratorFunction(outerFn)
292
+ ? iter // If outerFn is a generator, return the full iterator.
293
+ : iter.next().then(function(result) {
294
+ return result.done ? result.value : iter.next();
295
+ });
296
+ };
297
+
298
+ function makeInvokeMethod(innerFn, self, context) {
299
+ var state = GenStateSuspendedStart;
300
+
301
+ return function invoke(method, arg) {
302
+ if (state === GenStateExecuting) {
303
+ throw new Error("Generator is already running");
304
+ }
305
+
306
+ if (state === GenStateCompleted) {
307
+ if (method === "throw") {
308
+ throw arg;
309
+ }
310
+
311
+ // Be forgiving, per GeneratorResume behavior specified since ES2015:
312
+ // ES2015 spec, step 3: https://262.ecma-international.org/6.0/#sec-generatorresume
313
+ // Latest spec, step 2: https://tc39.es/ecma262/#sec-generatorresume
314
+ return doneResult();
315
+ }
316
+
317
+ context.method = method;
318
+ context.arg = arg;
319
+
320
+ while (true) {
321
+ var delegate = context.delegate;
322
+ if (delegate) {
323
+ var delegateResult = maybeInvokeDelegate(delegate, context);
324
+ if (delegateResult) {
325
+ if (delegateResult === ContinueSentinel) continue;
326
+ return delegateResult;
327
+ }
328
+ }
329
+
330
+ if (context.method === "next") {
331
+ // Setting context._sent for legacy support of Babel's
332
+ // function.sent implementation.
333
+ context.sent = context._sent = context.arg;
334
+
335
+ } else if (context.method === "throw") {
336
+ if (state === GenStateSuspendedStart) {
337
+ state = GenStateCompleted;
338
+ throw context.arg;
339
+ }
340
+
341
+ context.dispatchException(context.arg);
342
+
343
+ } else if (context.method === "return") {
344
+ context.abrupt("return", context.arg);
345
+ }
346
+
347
+ state = GenStateExecuting;
348
+
349
+ var record = tryCatch(innerFn, self, context);
350
+ if (record.type === "normal") {
351
+ // If an exception is thrown from innerFn, we leave state ===
352
+ // GenStateExecuting and loop back for another invocation.
353
+ state = context.done
354
+ ? GenStateCompleted
355
+ : GenStateSuspendedYield;
356
+
357
+ if (record.arg === ContinueSentinel) {
358
+ continue;
359
+ }
360
+
361
+ return {
362
+ value: record.arg,
363
+ done: context.done
364
+ };
365
+
366
+ } else if (record.type === "throw") {
367
+ state = GenStateCompleted;
368
+ // Dispatch the exception by looping back around to the
369
+ // context.dispatchException(context.arg) call above.
370
+ context.method = "throw";
371
+ context.arg = record.arg;
372
+ }
373
+ }
374
+ };
375
+ }
376
+
377
+ // Call delegate.iterator[context.method](context.arg) and handle the
378
+ // result, either by returning a { value, done } result from the
379
+ // delegate iterator, or by modifying context.method and context.arg,
380
+ // setting context.delegate to null, and returning the ContinueSentinel.
381
+ function maybeInvokeDelegate(delegate, context) {
382
+ var methodName = context.method;
383
+ var method = delegate.iterator[methodName];
384
+ if (method === undefined$1) {
385
+ // A .throw or .return when the delegate iterator has no .throw
386
+ // method, or a missing .next method, always terminate the
387
+ // yield* loop.
388
+ context.delegate = null;
389
+
390
+ // Note: ["return"] must be used for ES3 parsing compatibility.
391
+ if (methodName === "throw" && delegate.iterator["return"]) {
392
+ // If the delegate iterator has a return method, give it a
393
+ // chance to clean up.
394
+ context.method = "return";
395
+ context.arg = undefined$1;
396
+ maybeInvokeDelegate(delegate, context);
397
+
398
+ if (context.method === "throw") {
399
+ // If maybeInvokeDelegate(context) changed context.method from
400
+ // "return" to "throw", let that override the TypeError below.
401
+ return ContinueSentinel;
402
+ }
403
+ }
404
+ if (methodName !== "return") {
405
+ context.method = "throw";
406
+ context.arg = new TypeError(
407
+ "The iterator does not provide a '" + methodName + "' method");
408
+ }
409
+
410
+ return ContinueSentinel;
411
+ }
412
+
413
+ var record = tryCatch(method, delegate.iterator, context.arg);
414
+
415
+ if (record.type === "throw") {
416
+ context.method = "throw";
417
+ context.arg = record.arg;
418
+ context.delegate = null;
419
+ return ContinueSentinel;
420
+ }
421
+
422
+ var info = record.arg;
423
+
424
+ if (! info) {
425
+ context.method = "throw";
426
+ context.arg = new TypeError("iterator result is not an object");
427
+ context.delegate = null;
428
+ return ContinueSentinel;
429
+ }
430
+
431
+ if (info.done) {
432
+ // Assign the result of the finished delegate to the temporary
433
+ // variable specified by delegate.resultName (see delegateYield).
434
+ context[delegate.resultName] = info.value;
435
+
436
+ // Resume execution at the desired location (see delegateYield).
437
+ context.next = delegate.nextLoc;
438
+
439
+ // If context.method was "throw" but the delegate handled the
440
+ // exception, let the outer generator proceed normally. If
441
+ // context.method was "next", forget context.arg since it has been
442
+ // "consumed" by the delegate iterator. If context.method was
443
+ // "return", allow the original .return call to continue in the
444
+ // outer generator.
445
+ if (context.method !== "return") {
446
+ context.method = "next";
447
+ context.arg = undefined$1;
448
+ }
449
+
450
+ } else {
451
+ // Re-yield the result returned by the delegate method.
452
+ return info;
453
+ }
454
+
455
+ // The delegate iterator is finished, so forget it and continue with
456
+ // the outer generator.
457
+ context.delegate = null;
458
+ return ContinueSentinel;
459
+ }
460
+
461
+ // Define Generator.prototype.{next,throw,return} in terms of the
462
+ // unified ._invoke helper method.
463
+ defineIteratorMethods(Gp);
464
+
465
+ define(Gp, toStringTagSymbol, "Generator");
466
+
467
+ // A Generator should always return itself as the iterator object when the
468
+ // @@iterator function is called on it. Some browsers' implementations of the
469
+ // iterator prototype chain incorrectly implement this, causing the Generator
470
+ // object to not be returned from this call. This ensures that doesn't happen.
471
+ // See https://github.com/facebook/regenerator/issues/274 for more details.
472
+ define(Gp, iteratorSymbol, function() {
473
+ return this;
474
+ });
475
+
476
+ define(Gp, "toString", function() {
477
+ return "[object Generator]";
478
+ });
479
+
480
+ function pushTryEntry(locs) {
481
+ var entry = { tryLoc: locs[0] };
482
+
483
+ if (1 in locs) {
484
+ entry.catchLoc = locs[1];
485
+ }
486
+
487
+ if (2 in locs) {
488
+ entry.finallyLoc = locs[2];
489
+ entry.afterLoc = locs[3];
490
+ }
491
+
492
+ this.tryEntries.push(entry);
493
+ }
494
+
495
+ function resetTryEntry(entry) {
496
+ var record = entry.completion || {};
497
+ record.type = "normal";
498
+ delete record.arg;
499
+ entry.completion = record;
500
+ }
501
+
502
+ function Context(tryLocsList) {
503
+ // The root entry object (effectively a try statement without a catch
504
+ // or a finally block) gives us a place to store values thrown from
505
+ // locations where there is no enclosing try statement.
506
+ this.tryEntries = [{ tryLoc: "root" }];
507
+ tryLocsList.forEach(pushTryEntry, this);
508
+ this.reset(true);
509
+ }
510
+
511
+ exports.keys = function(val) {
512
+ var object = Object(val);
513
+ var keys = [];
514
+ for (var key in object) {
515
+ keys.push(key);
516
+ }
517
+ keys.reverse();
518
+
519
+ // Rather than returning an object with a next method, we keep
520
+ // things simple and return the next function itself.
521
+ return function next() {
522
+ while (keys.length) {
523
+ var key = keys.pop();
524
+ if (key in object) {
525
+ next.value = key;
526
+ next.done = false;
527
+ return next;
528
+ }
529
+ }
530
+
531
+ // To avoid creating an additional object, we just hang the .value
532
+ // and .done properties off the next function object itself. This
533
+ // also ensures that the minifier will not anonymize the function.
534
+ next.done = true;
535
+ return next;
536
+ };
537
+ };
538
+
539
+ function values(iterable) {
540
+ if (iterable != null) {
541
+ var iteratorMethod = iterable[iteratorSymbol];
542
+ if (iteratorMethod) {
543
+ return iteratorMethod.call(iterable);
544
+ }
545
+
546
+ if (typeof iterable.next === "function") {
547
+ return iterable;
548
+ }
549
+
550
+ if (!isNaN(iterable.length)) {
551
+ var i = -1, next = function next() {
552
+ while (++i < iterable.length) {
553
+ if (hasOwn.call(iterable, i)) {
554
+ next.value = iterable[i];
555
+ next.done = false;
556
+ return next;
557
+ }
558
+ }
559
+
560
+ next.value = undefined$1;
561
+ next.done = true;
562
+
563
+ return next;
564
+ };
565
+
566
+ return next.next = next;
567
+ }
568
+ }
569
+
570
+ throw new TypeError(typeof iterable + " is not iterable");
571
+ }
572
+ exports.values = values;
573
+
574
+ function doneResult() {
575
+ return { value: undefined$1, done: true };
576
+ }
577
+
578
+ Context.prototype = {
579
+ constructor: Context,
580
+
581
+ reset: function(skipTempReset) {
582
+ this.prev = 0;
583
+ this.next = 0;
584
+ // Resetting context._sent for legacy support of Babel's
585
+ // function.sent implementation.
586
+ this.sent = this._sent = undefined$1;
587
+ this.done = false;
588
+ this.delegate = null;
589
+
590
+ this.method = "next";
591
+ this.arg = undefined$1;
592
+
593
+ this.tryEntries.forEach(resetTryEntry);
594
+
595
+ if (!skipTempReset) {
596
+ for (var name in this) {
597
+ // Not sure about the optimal order of these conditions:
598
+ if (name.charAt(0) === "t" &&
599
+ hasOwn.call(this, name) &&
600
+ !isNaN(+name.slice(1))) {
601
+ this[name] = undefined$1;
602
+ }
603
+ }
604
+ }
605
+ },
606
+
607
+ stop: function() {
608
+ this.done = true;
609
+
610
+ var rootEntry = this.tryEntries[0];
611
+ var rootRecord = rootEntry.completion;
612
+ if (rootRecord.type === "throw") {
613
+ throw rootRecord.arg;
614
+ }
615
+
616
+ return this.rval;
617
+ },
618
+
619
+ dispatchException: function(exception) {
620
+ if (this.done) {
621
+ throw exception;
622
+ }
623
+
624
+ var context = this;
625
+ function handle(loc, caught) {
626
+ record.type = "throw";
627
+ record.arg = exception;
628
+ context.next = loc;
629
+
630
+ if (caught) {
631
+ // If the dispatched exception was caught by a catch block,
632
+ // then let that catch block handle the exception normally.
633
+ context.method = "next";
634
+ context.arg = undefined$1;
635
+ }
636
+
637
+ return !! caught;
638
+ }
639
+
640
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
641
+ var entry = this.tryEntries[i];
642
+ var record = entry.completion;
643
+
644
+ if (entry.tryLoc === "root") {
645
+ // Exception thrown outside of any try block that could handle
646
+ // it, so set the completion value of the entire function to
647
+ // throw the exception.
648
+ return handle("end");
649
+ }
650
+
651
+ if (entry.tryLoc <= this.prev) {
652
+ var hasCatch = hasOwn.call(entry, "catchLoc");
653
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
654
+
655
+ if (hasCatch && hasFinally) {
656
+ if (this.prev < entry.catchLoc) {
657
+ return handle(entry.catchLoc, true);
658
+ } else if (this.prev < entry.finallyLoc) {
659
+ return handle(entry.finallyLoc);
660
+ }
661
+
662
+ } else if (hasCatch) {
663
+ if (this.prev < entry.catchLoc) {
664
+ return handle(entry.catchLoc, true);
665
+ }
666
+
667
+ } else if (hasFinally) {
668
+ if (this.prev < entry.finallyLoc) {
669
+ return handle(entry.finallyLoc);
670
+ }
671
+
672
+ } else {
673
+ throw new Error("try statement without catch or finally");
674
+ }
675
+ }
676
+ }
677
+ },
678
+
679
+ abrupt: function(type, arg) {
680
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
681
+ var entry = this.tryEntries[i];
682
+ if (entry.tryLoc <= this.prev &&
683
+ hasOwn.call(entry, "finallyLoc") &&
684
+ this.prev < entry.finallyLoc) {
685
+ var finallyEntry = entry;
686
+ break;
687
+ }
688
+ }
689
+
690
+ if (finallyEntry &&
691
+ (type === "break" ||
692
+ type === "continue") &&
693
+ finallyEntry.tryLoc <= arg &&
694
+ arg <= finallyEntry.finallyLoc) {
695
+ // Ignore the finally entry if control is not jumping to a
696
+ // location outside the try/catch block.
697
+ finallyEntry = null;
698
+ }
699
+
700
+ var record = finallyEntry ? finallyEntry.completion : {};
701
+ record.type = type;
702
+ record.arg = arg;
703
+
704
+ if (finallyEntry) {
705
+ this.method = "next";
706
+ this.next = finallyEntry.finallyLoc;
707
+ return ContinueSentinel;
708
+ }
709
+
710
+ return this.complete(record);
711
+ },
712
+
713
+ complete: function(record, afterLoc) {
714
+ if (record.type === "throw") {
715
+ throw record.arg;
716
+ }
717
+
718
+ if (record.type === "break" ||
719
+ record.type === "continue") {
720
+ this.next = record.arg;
721
+ } else if (record.type === "return") {
722
+ this.rval = this.arg = record.arg;
723
+ this.method = "return";
724
+ this.next = "end";
725
+ } else if (record.type === "normal" && afterLoc) {
726
+ this.next = afterLoc;
727
+ }
728
+
729
+ return ContinueSentinel;
730
+ },
731
+
732
+ finish: function(finallyLoc) {
733
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
734
+ var entry = this.tryEntries[i];
735
+ if (entry.finallyLoc === finallyLoc) {
736
+ this.complete(entry.completion, entry.afterLoc);
737
+ resetTryEntry(entry);
738
+ return ContinueSentinel;
739
+ }
740
+ }
741
+ },
742
+
743
+ "catch": function(tryLoc) {
744
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
745
+ var entry = this.tryEntries[i];
746
+ if (entry.tryLoc === tryLoc) {
747
+ var record = entry.completion;
748
+ if (record.type === "throw") {
749
+ var thrown = record.arg;
750
+ resetTryEntry(entry);
751
+ }
752
+ return thrown;
753
+ }
754
+ }
755
+
756
+ // The context.catch method must only be called with a location
757
+ // argument that corresponds to a known catch block.
758
+ throw new Error("illegal catch attempt");
759
+ },
760
+
761
+ delegateYield: function(iterable, resultName, nextLoc) {
762
+ this.delegate = {
763
+ iterator: values(iterable),
764
+ resultName: resultName,
765
+ nextLoc: nextLoc
766
+ };
767
+
768
+ if (this.method === "next") {
769
+ // Deliberately forget the last sent value so that we don't
770
+ // accidentally pass it on to the delegate.
771
+ this.arg = undefined$1;
772
+ }
773
+
774
+ return ContinueSentinel;
775
+ }
776
+ };
777
+
778
+ // Regardless of whether this script is executing as a CommonJS module
779
+ // or not, return the runtime object so that we can declare the variable
780
+ // regeneratorRuntime in the outer scope, which allows this module to be
781
+ // injected easily by `bin/regenerator --include-runtime script.js`.
782
+ return exports;
783
+
784
+ }(
785
+ // If this script is executing as a CommonJS module, use module.exports
786
+ // as the regeneratorRuntime namespace. Otherwise create a new empty
787
+ // object. Either way, the resulting object will be used to initialize
788
+ // the regeneratorRuntime variable at the top of this file.
789
+ module.exports
790
+ ));
791
+
792
+ try {
793
+ regeneratorRuntime = runtime;
794
+ } catch (accidentalStrictMode) {
795
+ // This module should not be running in strict mode, so the above
796
+ // assignment should always work unless something is misconfigured. Just
797
+ // in case runtime.js accidentally runs in strict mode, in modern engines
798
+ // we can explicitly access globalThis. In older engines we can escape
799
+ // strict mode using a global Function call. This could conceivably fail
800
+ // if a Content Security Policy forbids using Function, but in that case
801
+ // the proper solution is to fix the accidental strict mode problem. If
802
+ // you've misconfigured your bundler to force strict mode and applied a
803
+ // CSP to forbid Function, and you're not willing to fix either of those
804
+ // problems, please detail your unique predicament in a GitHub issue.
805
+ if (typeof globalThis === "object") {
806
+ globalThis.regeneratorRuntime = runtime;
807
+ } else {
808
+ Function("r", "regeneratorRuntime = r")(runtime);
809
+ }
810
+ }
811
+ } (runtime));
812
+ return runtime.exports;
716
813
  }
717
814
 
718
815
  requireRuntime();
@@ -725,14 +822,14 @@ function _defineProperty(e, r, t) {
725
822
  writable: true
726
823
  }) : e[r] = t, e;
727
824
  }
728
- function _extends$6() {
729
- return _extends$6 = Object.assign ? Object.assign.bind() : function (n) {
825
+ function _extends$2() {
826
+ return _extends$2 = Object.assign ? Object.assign.bind() : function (n) {
730
827
  for (var e = 1; e < arguments.length; e++) {
731
828
  var t = arguments[e];
732
829
  for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
733
830
  }
734
831
  return n;
735
- }, _extends$6.apply(null, arguments);
832
+ }, _extends$2.apply(null, arguments);
736
833
  }
737
834
  function ownKeys(e, r) {
738
835
  var t = Object.keys(e);
@@ -759,14 +856,14 @@ function _objectWithoutProperties(e, t) {
759
856
  if (null == e) return {};
760
857
  var o,
761
858
  r,
762
- i = _objectWithoutPropertiesLoose$2(e, t);
859
+ i = _objectWithoutPropertiesLoose$1(e, t);
763
860
  if (Object.getOwnPropertySymbols) {
764
861
  var n = Object.getOwnPropertySymbols(e);
765
862
  for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
766
863
  }
767
864
  return i;
768
865
  }
769
- function _objectWithoutPropertiesLoose$2(r, e) {
866
+ function _objectWithoutPropertiesLoose$1(r, e) {
770
867
  if (null == r) return {};
771
868
  var t = {};
772
869
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
@@ -5556,32 +5653,24 @@ var formatMuiErrorMessage = /*#__PURE__*/Object.freeze({
5556
5653
 
5557
5654
  var THEME_ID = '$$material';
5558
5655
 
5559
- function _extends$5() {
5560
- _extends$5 = Object.assign ? Object.assign.bind() : function (target) {
5561
- for (var i = 1; i < arguments.length; i++) {
5562
- var source = arguments[i];
5563
- for (var key in source) {
5564
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5565
- target[key] = source[key];
5566
- }
5567
- }
5656
+ function _extends$1() {
5657
+ return _extends$1 = Object.assign ? Object.assign.bind() : function (n) {
5658
+ for (var e = 1; e < arguments.length; e++) {
5659
+ var t = arguments[e];
5660
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
5568
5661
  }
5569
- return target;
5570
- };
5571
- return _extends$5.apply(this, arguments);
5662
+ return n;
5663
+ }, _extends$1.apply(null, arguments);
5572
5664
  }
5573
5665
 
5574
- function _objectWithoutPropertiesLoose$1(source, excluded) {
5575
- if (source == null) return {};
5576
- var target = {};
5577
- var sourceKeys = Object.keys(source);
5578
- var key, i;
5579
- for (i = 0; i < sourceKeys.length; i++) {
5580
- key = sourceKeys[i];
5581
- if (excluded.indexOf(key) >= 0) continue;
5582
- target[key] = source[key];
5666
+ function _objectWithoutPropertiesLoose(r, e) {
5667
+ if (null == r) return {};
5668
+ var t = {};
5669
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
5670
+ if (-1 !== e.indexOf(n)) continue;
5671
+ t[n] = r[n];
5583
5672
  }
5584
- return target;
5673
+ return t;
5585
5674
  }
5586
5675
 
5587
5676
  /*
@@ -5606,10 +5695,9 @@ styleSheet.flush()
5606
5695
  - empties the stylesheet of all its contents
5607
5696
 
5608
5697
  */
5609
- // $FlowFixMe
5698
+
5610
5699
  function sheetForTag(tag) {
5611
5700
  if (tag.sheet) {
5612
- // $FlowFixMe
5613
5701
  return tag.sheet;
5614
5702
  } // this weirdness brought to you by firefox
5615
5703
 
@@ -5618,10 +5706,13 @@ function sheetForTag(tag) {
5618
5706
 
5619
5707
  for (var i = 0; i < document.styleSheets.length; i++) {
5620
5708
  if (document.styleSheets[i].ownerNode === tag) {
5621
- // $FlowFixMe
5622
5709
  return document.styleSheets[i];
5623
5710
  }
5624
- }
5711
+ } // this function should always return with a value
5712
+ // TS can't understand it though so we make it stop complaining here
5713
+
5714
+
5715
+ return undefined;
5625
5716
  }
5626
5717
 
5627
5718
  function createStyleElement(options) {
@@ -5662,7 +5753,7 @@ var StyleSheet = /*#__PURE__*/function () {
5662
5753
  _this.tags.push(tag);
5663
5754
  };
5664
5755
 
5665
- this.isSpeedy = options.speedy === undefined ? "production" === 'production' : options.speedy;
5756
+ this.isSpeedy = options.speedy === undefined ? true : options.speedy;
5666
5757
  this.tags = [];
5667
5758
  this.ctr = 0;
5668
5759
  this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets
@@ -5707,9 +5798,10 @@ var StyleSheet = /*#__PURE__*/function () {
5707
5798
  };
5708
5799
 
5709
5800
  _proto.flush = function flush() {
5710
- // $FlowFixMe
5711
5801
  this.tags.forEach(function (tag) {
5712
- return tag.parentNode && tag.parentNode.removeChild(tag);
5802
+ var _tag$parentNode;
5803
+
5804
+ return (_tag$parentNode = tag.parentNode) == null ? void 0 : _tag$parentNode.removeChild(tag);
5713
5805
  });
5714
5806
  this.tags = [];
5715
5807
  this.ctr = 0;
@@ -6317,11 +6409,11 @@ function rulesheet (callback) {
6317
6409
  }
6318
6410
 
6319
6411
  var weakMemoize = function weakMemoize(func) {
6320
- // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps
6321
6412
  var cache = new WeakMap();
6322
6413
  return function (arg) {
6323
6414
  if (cache.has(arg)) {
6324
- // $FlowFixMe
6415
+ // Use non-null assertion because we just checked that the cache `has` it
6416
+ // This allows us to remove `undefined` from the return value
6325
6417
  return cache.get(arg);
6326
6418
  }
6327
6419
 
@@ -6991,49 +7083,6 @@ var styledEngine = /*#__PURE__*/Object.freeze({
6991
7083
  keyframes: keyframes
6992
7084
  });
6993
7085
 
6994
- function _extends$4() {
6995
- _extends$4 = Object.assign ? Object.assign.bind() : function (target) {
6996
- for (var i = 1; i < arguments.length; i++) {
6997
- var source = arguments[i];
6998
- for (var key in source) {
6999
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7000
- target[key] = source[key];
7001
- }
7002
- }
7003
- }
7004
- return target;
7005
- };
7006
- return _extends$4.apply(this, arguments);
7007
- }
7008
-
7009
- function _objectWithoutPropertiesLoose(source, excluded) {
7010
- if (source == null) return {};
7011
- var target = {};
7012
- var sourceKeys = Object.keys(source);
7013
- var key, i;
7014
- for (i = 0; i < sourceKeys.length; i++) {
7015
- key = sourceKeys[i];
7016
- if (excluded.indexOf(key) >= 0) continue;
7017
- target[key] = source[key];
7018
- }
7019
- return target;
7020
- }
7021
-
7022
- function _extends$3() {
7023
- _extends$3 = Object.assign ? Object.assign.bind() : function (target) {
7024
- for (var i = 1; i < arguments.length; i++) {
7025
- var source = arguments[i];
7026
- for (var key in source) {
7027
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7028
- target[key] = source[key];
7029
- }
7030
- }
7031
- }
7032
- return target;
7033
- };
7034
- return _extends$3.apply(this, arguments);
7035
- }
7036
-
7037
7086
  // https://github.com/sindresorhus/is-plain-obj/blob/main/index.js
7038
7087
  function isPlainObject(item) {
7039
7088
  if (typeof item !== 'object' || item === null) {
@@ -7055,7 +7104,7 @@ function deepClone(source) {
7055
7104
  function deepmerge$1(target, source, options = {
7056
7105
  clone: true
7057
7106
  }) {
7058
- const output = options.clone ? _extends$3({}, target) : target;
7107
+ const output = options.clone ? _extends$1({}, target) : target;
7059
7108
  if (isPlainObject(target) && isPlainObject(source)) {
7060
7109
  Object.keys(source).forEach(key => {
7061
7110
  if ( /*#__PURE__*/React.isValidElement(source[key])) {
@@ -7090,7 +7139,7 @@ const sortBreakpointsValues = values => {
7090
7139
  // Sort in ascending order
7091
7140
  breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);
7092
7141
  return breakpointsAsArray.reduce((acc, obj) => {
7093
- return _extends$4({}, acc, {
7142
+ return _extends$1({}, acc, {
7094
7143
  [obj.key]: obj.val
7095
7144
  });
7096
7145
  }, {});
@@ -7147,7 +7196,7 @@ function createBreakpoints(breakpoints) {
7147
7196
  }
7148
7197
  return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');
7149
7198
  }
7150
- return _extends$4({
7199
+ return _extends$1({
7151
7200
  keys,
7152
7201
  values: sortedValues,
7153
7202
  up,
@@ -8194,15 +8243,15 @@ function createTheme$2(options = {}, ...args) {
8194
8243
  direction: 'ltr',
8195
8244
  components: {},
8196
8245
  // Inject component definitions.
8197
- palette: _extends$4({
8246
+ palette: _extends$1({
8198
8247
  mode: 'light'
8199
8248
  }, paletteInput),
8200
8249
  spacing,
8201
- shape: _extends$4({}, shape, shapeInput)
8250
+ shape: _extends$1({}, shape, shapeInput)
8202
8251
  }, other);
8203
8252
  muiTheme.applyStyles = applyStyles;
8204
8253
  muiTheme = args.reduce((acc, argument) => deepmerge$1(acc, argument), muiTheme);
8205
- muiTheme.unstable_sxConfig = _extends$4({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);
8254
+ muiTheme.unstable_sxConfig = _extends$1({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);
8206
8255
  muiTheme.unstable_sx = function sx(props) {
8207
8256
  return styleFunctionSx$1({
8208
8257
  sx: props,
@@ -8267,12 +8316,12 @@ function extendSxProp(props) {
8267
8316
  if (!isPlainObject(result)) {
8268
8317
  return systemProps;
8269
8318
  }
8270
- return _extends$4({}, systemProps, result);
8319
+ return _extends$1({}, systemProps, result);
8271
8320
  };
8272
8321
  } else {
8273
- finalSx = _extends$4({}, systemProps, inSx);
8322
+ finalSx = _extends$1({}, systemProps, inSx);
8274
8323
  }
8275
- return _extends$4({}, otherProps, {
8324
+ return _extends$1({}, otherProps, {
8276
8325
  sx: finalSx
8277
8326
  });
8278
8327
  }
@@ -8431,10 +8480,10 @@ var getDisplayName = /*#__PURE__*/Object.freeze({
8431
8480
  * @returns {object} resolved props
8432
8481
  */
8433
8482
  function resolveProps(defaultProps, props) {
8434
- const output = _extends$3({}, props);
8483
+ const output = _extends$1({}, props);
8435
8484
  Object.keys(defaultProps).forEach(propName => {
8436
8485
  if (propName.toString().match(/^(components|slots)$/)) {
8437
- output[propName] = _extends$3({}, defaultProps[propName], output[propName]);
8486
+ output[propName] = _extends$1({}, defaultProps[propName], output[propName]);
8438
8487
  } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {
8439
8488
  const defaultSlotProps = defaultProps[propName] || {};
8440
8489
  const slotProps = props[propName];
@@ -8446,7 +8495,7 @@ function resolveProps(defaultProps, props) {
8446
8495
  // Reduce the iteration if the default slot props is empty
8447
8496
  output[propName] = slotProps;
8448
8497
  } else {
8449
- output[propName] = _extends$3({}, slotProps);
8498
+ output[propName] = _extends$1({}, slotProps);
8450
8499
  Object.keys(defaultSlotProps).forEach(slotPropName => {
8451
8500
  output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);
8452
8501
  });
@@ -8476,21 +8525,6 @@ var clamp = /*#__PURE__*/Object.freeze({
8476
8525
  default: clamp$1
8477
8526
  });
8478
8527
 
8479
- function _extends$2() {
8480
- _extends$2 = Object.assign ? Object.assign.bind() : function (target) {
8481
- for (var i = 1; i < arguments.length; i++) {
8482
- var source = arguments[i];
8483
- for (var key in source) {
8484
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8485
- target[key] = source[key];
8486
- }
8487
- }
8488
- }
8489
- return target;
8490
- };
8491
- return _extends$2.apply(this, arguments);
8492
- }
8493
-
8494
8528
  /**
8495
8529
  * Safe chained function.
8496
8530
  *
@@ -8888,7 +8922,7 @@ function mergeOuterLocalTheme(outerTheme, localTheme) {
8888
8922
  const mergedTheme = localTheme(outerTheme);
8889
8923
  return mergedTheme;
8890
8924
  }
8891
- return _extends$2({}, outerTheme, localTheme);
8925
+ return _extends$1({}, outerTheme, localTheme);
8892
8926
  }
8893
8927
 
8894
8928
  /**
@@ -8922,7 +8956,7 @@ function RtlProvider(_ref) {
8922
8956
  value
8923
8957
  } = _ref,
8924
8958
  props = _objectWithoutPropertiesLoose(_ref, _excluded$d);
8925
- return /*#__PURE__*/jsxRuntimeExports.jsx(RtlContext.Provider, _extends$4({
8959
+ return /*#__PURE__*/jsxRuntimeExports.jsx(RtlContext.Provider, _extends$1({
8926
8960
  value: value != null ? value : true
8927
8961
  }, props));
8928
8962
  }
@@ -8977,7 +9011,7 @@ function useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {
8977
9011
  const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;
8978
9012
  if (typeof localTheme === 'function') {
8979
9013
  const mergedTheme = localTheme(resolvedTheme);
8980
- const result = themeId ? _extends$4({}, upperTheme, {
9014
+ const result = themeId ? _extends$1({}, upperTheme, {
8981
9015
  [themeId]: mergedTheme
8982
9016
  }) : mergedTheme;
8983
9017
  // must return a function for the private theme to NOT merge with the upper theme.
@@ -8987,9 +9021,9 @@ function useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {
8987
9021
  }
8988
9022
  return result;
8989
9023
  }
8990
- return themeId ? _extends$4({}, upperTheme, {
9024
+ return themeId ? _extends$1({}, upperTheme, {
8991
9025
  [themeId]: localTheme
8992
- }) : _extends$4({}, upperTheme, localTheme);
9026
+ }) : _extends$1({}, upperTheme, localTheme);
8993
9027
  }, [themeId, upperTheme, localTheme, isPrivate]);
8994
9028
  }
8995
9029
 
@@ -9037,8 +9071,8 @@ function adaptV4Theme(inputTheme) {
9037
9071
  props = {},
9038
9072
  styleOverrides = {}
9039
9073
  } = inputTheme,
9040
- other = _objectWithoutPropertiesLoose$1(inputTheme, _excluded$c);
9041
- const theme = _extends$5({}, other, {
9074
+ other = _objectWithoutPropertiesLoose(inputTheme, _excluded$c);
9075
+ const theme = _extends$1({}, other, {
9042
9076
  components: {}
9043
9077
  });
9044
9078
 
@@ -9072,13 +9106,13 @@ function adaptV4Theme(inputTheme) {
9072
9106
  // theme.mixins.gutters
9073
9107
  const breakpoints = createBreakpoints(inputTheme.breakpoints || {});
9074
9108
  const spacing = theme.spacing;
9075
- theme.mixins = _extends$5({
9109
+ theme.mixins = _extends$1({
9076
9110
  gutters: (styles = {}) => {
9077
- return _extends$5({
9111
+ return _extends$1({
9078
9112
  paddingLeft: spacing(2),
9079
9113
  paddingRight: spacing(2)
9080
9114
  }, styles, {
9081
- [breakpoints.up('sm')]: _extends$5({
9115
+ [breakpoints.up('sm')]: _extends$1({
9082
9116
  paddingLeft: spacing(3),
9083
9117
  paddingRight: spacing(3)
9084
9118
  }, styles[breakpoints.up('sm')])
@@ -9089,9 +9123,9 @@ function adaptV4Theme(inputTheme) {
9089
9123
  type: typeInput,
9090
9124
  mode: modeInput
9091
9125
  } = palette,
9092
- paletteRest = _objectWithoutPropertiesLoose$1(palette, _excluded2$1);
9126
+ paletteRest = _objectWithoutPropertiesLoose(palette, _excluded2$1);
9093
9127
  const finalMode = modeInput || typeInput || 'light';
9094
- theme.palette = _extends$5({
9128
+ theme.palette = _extends$1({
9095
9129
  // theme.palette.text.hint
9096
9130
  text: {
9097
9131
  hint: finalMode === 'dark' ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.38)'
@@ -9103,7 +9137,7 @@ function adaptV4Theme(inputTheme) {
9103
9137
  }
9104
9138
 
9105
9139
  function createMixins(breakpoints, mixins) {
9106
- return _extends$5({
9140
+ return _extends$1({
9107
9141
  toolbar: {
9108
9142
  minHeight: 56,
9109
9143
  [breakpoints.up('xs')]: {
@@ -9120,22 +9154,22 @@ function createMixins(breakpoints, mixins) {
9120
9154
 
9121
9155
  var colorManipulator = {};
9122
9156
 
9123
- var interopRequireDefault$1 = {exports: {}};
9157
+ var interopRequireDefault = {exports: {}};
9124
9158
 
9125
- var hasRequiredInteropRequireDefault$1;
9159
+ var hasRequiredInteropRequireDefault;
9126
9160
 
9127
- function requireInteropRequireDefault$1 () {
9128
- if (hasRequiredInteropRequireDefault$1) return interopRequireDefault$1.exports;
9129
- hasRequiredInteropRequireDefault$1 = 1;
9161
+ function requireInteropRequireDefault () {
9162
+ if (hasRequiredInteropRequireDefault) return interopRequireDefault.exports;
9163
+ hasRequiredInteropRequireDefault = 1;
9130
9164
  (function (module) {
9131
- function _interopRequireDefault(obj) {
9132
- return obj && obj.__esModule ? obj : {
9133
- "default": obj
9165
+ function _interopRequireDefault(e) {
9166
+ return e && e.__esModule ? e : {
9167
+ "default": e
9134
9168
  };
9135
9169
  }
9136
9170
  module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
9137
- } (interopRequireDefault$1));
9138
- return interopRequireDefault$1.exports;
9171
+ } (interopRequireDefault));
9172
+ return interopRequireDefault.exports;
9139
9173
  }
9140
9174
 
9141
9175
  var require$$1 = /*@__PURE__*/getAugmentedNamespace(formatMuiErrorMessage);
@@ -9148,7 +9182,7 @@ function requireColorManipulator () {
9148
9182
  if (hasRequiredColorManipulator) return colorManipulator;
9149
9183
  hasRequiredColorManipulator = 1;
9150
9184
 
9151
- var _interopRequireDefault = requireInteropRequireDefault$1();
9185
+ var _interopRequireDefault = requireInteropRequireDefault();
9152
9186
  Object.defineProperty(colorManipulator, "__esModule", {
9153
9187
  value: true
9154
9188
  });
@@ -9736,7 +9770,7 @@ function createPalette(palette) {
9736
9770
  contrastThreshold = 3,
9737
9771
  tonalOffset = 0.2
9738
9772
  } = palette,
9739
- other = _objectWithoutPropertiesLoose$1(palette, _excluded$b);
9773
+ other = _objectWithoutPropertiesLoose(palette, _excluded$b);
9740
9774
  const primary = palette.primary || getDefaultPrimary(mode);
9741
9775
  const secondary = palette.secondary || getDefaultSecondary(mode);
9742
9776
  const error = palette.error || getDefaultError(mode);
@@ -9758,7 +9792,7 @@ function createPalette(palette) {
9758
9792
  lightShade = 300,
9759
9793
  darkShade = 700
9760
9794
  }) => {
9761
- color = _extends$5({}, color);
9795
+ color = _extends$1({}, color);
9762
9796
  if (!color.main && color[mainShade]) {
9763
9797
  color.main = color[mainShade];
9764
9798
  }
@@ -9779,9 +9813,9 @@ function createPalette(palette) {
9779
9813
  dark: dark$1,
9780
9814
  light: light$1
9781
9815
  };
9782
- const paletteOutput = deepmerge$1(_extends$5({
9816
+ const paletteOutput = deepmerge$1(_extends$1({
9783
9817
  // A collection of common colors.
9784
- common: _extends$5({}, common),
9818
+ common: _extends$1({}, common),
9785
9819
  // prevent mutable object.
9786
9820
  // The palette mode, can be light or dark.
9787
9821
  mode,
@@ -9866,10 +9900,10 @@ function createTypography(palette, typography) {
9866
9900
  allVariants,
9867
9901
  pxToRem: pxToRem2
9868
9902
  } = _ref,
9869
- other = _objectWithoutPropertiesLoose$1(_ref, _excluded$a);
9903
+ other = _objectWithoutPropertiesLoose(_ref, _excluded$a);
9870
9904
  const coef = fontSize / 14;
9871
9905
  const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);
9872
- const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends$5({
9906
+ const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends$1({
9873
9907
  fontFamily,
9874
9908
  fontWeight,
9875
9909
  fontSize: pxToRem(size),
@@ -9901,7 +9935,7 @@ function createTypography(palette, typography) {
9901
9935
  letterSpacing: 'inherit'
9902
9936
  }
9903
9937
  };
9904
- return deepmerge$1(_extends$5({
9938
+ return deepmerge$1(_extends$1({
9905
9939
  htmlFontSize,
9906
9940
  pxToRem,
9907
9941
  fontFamily,
@@ -9968,18 +10002,18 @@ function getAutoHeightDuration(height) {
9968
10002
  return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);
9969
10003
  }
9970
10004
  function createTransitions(inputTransitions) {
9971
- const mergedEasing = _extends$5({}, easing, inputTransitions.easing);
9972
- const mergedDuration = _extends$5({}, duration, inputTransitions.duration);
10005
+ const mergedEasing = _extends$1({}, easing, inputTransitions.easing);
10006
+ const mergedDuration = _extends$1({}, duration, inputTransitions.duration);
9973
10007
  const create = (props = ['all'], options = {}) => {
9974
10008
  const {
9975
10009
  duration: durationOption = mergedDuration.standard,
9976
10010
  easing: easingOption = mergedEasing.easeInOut,
9977
10011
  delay = 0
9978
10012
  } = options;
9979
- _objectWithoutPropertiesLoose$1(options, _excluded$9);
10013
+ _objectWithoutPropertiesLoose(options, _excluded$9);
9980
10014
  return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');
9981
10015
  };
9982
- return _extends$5({
10016
+ return _extends$1({
9983
10017
  getAutoHeightDuration,
9984
10018
  create
9985
10019
  }, inputTransitions, {
@@ -10009,7 +10043,7 @@ function createTheme(options = {}, ...args) {
10009
10043
  transitions: transitionsInput = {},
10010
10044
  typography: typographyInput = {}
10011
10045
  } = options,
10012
- other = _objectWithoutPropertiesLoose$1(options, _excluded$8);
10046
+ other = _objectWithoutPropertiesLoose(options, _excluded$8);
10013
10047
  if (options.vars &&
10014
10048
  // The error should throw only for the root theme creation because user is not allowed to use a custom node `vars`.
10015
10049
  // `generateCssVars` is the closest identifier for checking that the `options` is a result of `extendTheme` with CSS variables so that user can create new theme for nested ThemeProvider.
@@ -10025,11 +10059,11 @@ function createTheme(options = {}, ...args) {
10025
10059
  shadows: shadows.slice(),
10026
10060
  typography: createTypography(palette, typographyInput),
10027
10061
  transitions: createTransitions(transitionsInput),
10028
- zIndex: _extends$5({}, zIndex)
10062
+ zIndex: _extends$1({}, zIndex)
10029
10063
  });
10030
10064
  muiTheme = deepmerge$1(muiTheme, other);
10031
10065
  muiTheme = args.reduce((acc, argument) => deepmerge$1(acc, argument), muiTheme);
10032
- muiTheme.unstable_sxConfig = _extends$5({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);
10066
+ muiTheme.unstable_sxConfig = _extends$1({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);
10033
10067
  muiTheme.unstable_sx = function sx(props) {
10034
10068
  return styleFunctionSx$1({
10035
10069
  sx: props,
@@ -10048,31 +10082,26 @@ function useTheme$1() {
10048
10082
 
10049
10083
  var createStyled$1 = {};
10050
10084
 
10051
- var _extends$1 = {exports: {}};
10085
+ var _extends = {exports: {}};
10052
10086
 
10053
10087
  var hasRequired_extends;
10054
10088
 
10055
10089
  function require_extends () {
10056
- if (hasRequired_extends) return _extends$1.exports;
10090
+ if (hasRequired_extends) return _extends.exports;
10057
10091
  hasRequired_extends = 1;
10058
10092
  (function (module) {
10059
10093
  function _extends() {
10060
- module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
10061
- for (var i = 1; i < arguments.length; i++) {
10062
- var source = arguments[i];
10063
- for (var key in source) {
10064
- if (Object.prototype.hasOwnProperty.call(source, key)) {
10065
- target[key] = source[key];
10066
- }
10067
- }
10094
+ return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {
10095
+ for (var e = 1; e < arguments.length; e++) {
10096
+ var t = arguments[e];
10097
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
10068
10098
  }
10069
- return target;
10070
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
10071
- return _extends.apply(this, arguments);
10099
+ return n;
10100
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments);
10072
10101
  }
10073
10102
  module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
10074
- } (_extends$1));
10075
- return _extends$1.exports;
10103
+ } (_extends));
10104
+ return _extends.exports;
10076
10105
  }
10077
10106
 
10078
10107
  var objectWithoutPropertiesLoose = {exports: {}};
@@ -10083,17 +10112,14 @@ function requireObjectWithoutPropertiesLoose () {
10083
10112
  if (hasRequiredObjectWithoutPropertiesLoose) return objectWithoutPropertiesLoose.exports;
10084
10113
  hasRequiredObjectWithoutPropertiesLoose = 1;
10085
10114
  (function (module) {
10086
- function _objectWithoutPropertiesLoose(source, excluded) {
10087
- if (source == null) return {};
10088
- var target = {};
10089
- var sourceKeys = Object.keys(source);
10090
- var key, i;
10091
- for (i = 0; i < sourceKeys.length; i++) {
10092
- key = sourceKeys[i];
10093
- if (excluded.indexOf(key) >= 0) continue;
10094
- target[key] = source[key];
10115
+ function _objectWithoutPropertiesLoose(r, e) {
10116
+ if (null == r) return {};
10117
+ var t = {};
10118
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
10119
+ if (-1 !== e.indexOf(n)) continue;
10120
+ t[n] = r[n];
10095
10121
  }
10096
- return target;
10122
+ return t;
10097
10123
  }
10098
10124
  module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
10099
10125
  } (objectWithoutPropertiesLoose));
@@ -10118,7 +10144,7 @@ function requireCreateStyled () {
10118
10144
  if (hasRequiredCreateStyled) return createStyled$1;
10119
10145
  hasRequiredCreateStyled = 1;
10120
10146
 
10121
- var _interopRequireDefault = requireInteropRequireDefault$1();
10147
+ var _interopRequireDefault = requireInteropRequireDefault();
10122
10148
  Object.defineProperty(createStyled$1, "__esModule", {
10123
10149
  value: true
10124
10150
  });
@@ -10374,21 +10400,21 @@ function ThemeProvider(_ref) {
10374
10400
  let {
10375
10401
  theme: themeInput
10376
10402
  } = _ref,
10377
- props = _objectWithoutPropertiesLoose$1(_ref, _excluded$7);
10403
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$7);
10378
10404
  const scopedTheme = themeInput[THEME_ID];
10379
10405
  let finalTheme = scopedTheme || themeInput;
10380
10406
  if (typeof themeInput !== 'function') {
10381
10407
  if (scopedTheme && !scopedTheme.vars) {
10382
- finalTheme = _extends$5({}, scopedTheme, {
10408
+ finalTheme = _extends$1({}, scopedTheme, {
10383
10409
  vars: null
10384
10410
  });
10385
10411
  } else if (themeInput && !themeInput.vars) {
10386
- finalTheme = _extends$5({}, themeInput, {
10412
+ finalTheme = _extends$1({}, themeInput, {
10387
10413
  vars: null
10388
10414
  });
10389
10415
  }
10390
10416
  }
10391
- return /*#__PURE__*/jsxRuntimeExports.jsx(ThemeProvider$1, _extends$5({}, props, {
10417
+ return /*#__PURE__*/jsxRuntimeExports.jsx(ThemeProvider$1, _extends$1({}, props, {
10392
10418
  themeId: scopedTheme ? THEME_ID : undefined,
10393
10419
  theme: finalTheme
10394
10420
  }));
@@ -10398,43 +10424,19 @@ function useDefaultProps(params) {
10398
10424
  return useDefaultProps$1(params);
10399
10425
  }
10400
10426
 
10401
- function _extends() {
10402
- _extends = Object.assign ? Object.assign.bind() : function (target) {
10403
- for (var i = 1; i < arguments.length; i++) {
10404
- var source = arguments[i];
10405
-
10406
- for (var key in source) {
10407
- if (Object.prototype.hasOwnProperty.call(source, key)) {
10408
- target[key] = source[key];
10409
- }
10410
- }
10411
- }
10412
-
10413
- return target;
10414
- };
10415
- return _extends.apply(this, arguments);
10416
- }
10417
-
10418
- function _setPrototypeOf(o, p) {
10419
- _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
10420
- o.__proto__ = p;
10421
- return o;
10422
- };
10423
- return _setPrototypeOf(o, p);
10427
+ function _setPrototypeOf(t, e) {
10428
+ return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
10429
+ return t.__proto__ = e, t;
10430
+ }, _setPrototypeOf(t, e);
10424
10431
  }
10425
10432
 
10426
- function _inheritsLoose(subClass, superClass) {
10427
- subClass.prototype = Object.create(superClass.prototype);
10428
- subClass.prototype.constructor = subClass;
10429
- _setPrototypeOf(subClass, superClass);
10433
+ function _inheritsLoose(t, o) {
10434
+ t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o);
10430
10435
  }
10431
10436
 
10432
- function _assertThisInitialized(self) {
10433
- if (self === void 0) {
10434
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
10435
- }
10436
-
10437
- return self;
10437
+ function _assertThisInitialized(e) {
10438
+ if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
10439
+ return e;
10438
10440
  }
10439
10441
 
10440
10442
  const buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorError', 'colorInfo', 'colorWarning', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'icon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);
@@ -10768,7 +10770,7 @@ function create$3(definition) {
10768
10770
  return cache[key];
10769
10771
  }
10770
10772
 
10771
- const NEBULA_VERSION_HASH = "104b";
10773
+ const NEBULA_VERSION_HASH = "c387";
10772
10774
  ClassNameGenerator.configure(componentName => {
10773
10775
  return "njs-".concat(NEBULA_VERSION_HASH, "-").concat(componentName.replace('Mui', ''));
10774
10776
  });
@@ -11009,7 +11011,7 @@ function boot(_ref2) {
11009
11011
  const appRef = React__default.createRef();
11010
11012
  const element = document.createElement('div');
11011
11013
  element.style.display = 'none';
11012
- element.setAttribute('data-nebulajs-version', "5.12.6");
11014
+ element.setAttribute('data-nebulajs-version', "5.13.0");
11013
11015
  element.setAttribute('data-app-id', app.id);
11014
11016
  document.body.appendChild(element);
11015
11017
  if (context) {
@@ -11031,7 +11033,8 @@ function boot(_ref2) {
11031
11033
  return [{
11032
11034
  toggleFocusOfCells(cellIdToFocus) {
11033
11035
  Object.keys(cells).forEach(i => {
11034
- cells[i].current.toggleFocus(i === cellIdToFocus);
11036
+ var _cells$i$current;
11037
+ (_cells$i$current = cells[i].current) === null || _cells$i$current === void 0 || _cells$i$current.toggleFocus(i === cellIdToFocus);
11035
11038
  });
11036
11039
  },
11037
11040
  cells,
@@ -11310,7 +11313,23 @@ function useRpc(model, method) {
11310
11313
  }
11311
11314
 
11312
11315
  function useLayout$1(model) {
11313
- return useRpc(model, 'getLayout');
11316
+ const [layout, {
11317
+ validating,
11318
+ canCancel,
11319
+ canRetry
11320
+ }, longrunning] = useRpc(model, 'getLayout');
11321
+ if (model !== null && model !== void 0 && model.pureLayout) {
11322
+ return [model.pureLayout, {
11323
+ validating,
11324
+ canCancel,
11325
+ canRetry
11326
+ }, longrunning];
11327
+ }
11328
+ return [layout, {
11329
+ validating,
11330
+ canCancel,
11331
+ canRetry
11332
+ }, longrunning];
11314
11333
  }
11315
11334
  function useAppLayout$1(model) {
11316
11335
  return useRpc(model, 'getAppLayout');
@@ -11405,7 +11424,7 @@ function SvgIcon$1(_ref) {
11405
11424
  return (
11406
11425
  /*#__PURE__*/
11407
11426
  // eslint-disable-next-line react/no-array-index-key
11408
- React__default.createElement(Type, _extends$6({
11427
+ React__default.createElement(Type, _extends$2({
11409
11428
  key: ix
11410
11429
  }, attrs))
11411
11430
  );
@@ -14285,7 +14304,7 @@ function createGridComponent(_ref2) {
14285
14304
  className: className,
14286
14305
  onScroll: this._onScroll,
14287
14306
  ref: this._outerRefSetter,
14288
- style: _extends({
14307
+ style: _extends$1({
14289
14308
  position: 'relative',
14290
14309
  height: height,
14291
14310
  width: width,
@@ -14784,7 +14803,7 @@ function createListComponent(_ref) {
14784
14803
  className: className,
14785
14804
  onScroll: onScroll,
14786
14805
  ref: this._outerRefSetter,
14787
- style: _extends({
14806
+ style: _extends$1({
14788
14807
  position: 'relative',
14789
14808
  height: height,
14790
14809
  width: width,
@@ -15339,7 +15358,7 @@ function getListBoxComponents(_ref) {
15339
15358
  local.current.listRef = ref;
15340
15359
  return /*#__PURE__*/React__default.createElement(StyledFixedSizeList
15341
15360
  // eslint-disable-next-line react/jsx-props-no-spreading
15342
- , _extends$6({}, commonComponentOptions, {
15361
+ , _extends$2({}, commonComponentOptions, {
15343
15362
  dataTestid: "fixed-size-list",
15344
15363
  scrollDisabled: constraints === null || constraints === void 0 ? void 0 : constraints.active,
15345
15364
  height: listHeight,
@@ -15416,7 +15435,7 @@ function getListBoxComponents(_ref) {
15416
15435
  };
15417
15436
  return /*#__PURE__*/React__default.createElement(StyledFixedSizeGrid
15418
15437
  // eslint-disable-next-line react/jsx-props-no-spreading
15419
- , _extends$6({}, commonComponentOptions, {
15438
+ , _extends$2({}, commonComponentOptions, {
15420
15439
  dataTestid: "fixed-size-grid",
15421
15440
  scrollDisabled: constraints === null || constraints === void 0 ? void 0 : constraints.active,
15422
15441
  height: gridHeight,
@@ -15809,7 +15828,8 @@ const StyledText = styled(Typography, {
15809
15828
  return _objectSpread2({
15810
15829
  minWidth: "".concat(width, "px"),
15811
15830
  textAlign: 'center',
15812
- fontSize: "".concat(dense ? '12px' : '14px')
15831
+ fontSize: "".concat(dense ? '12px' : '14px'),
15832
+ whiteSpace: 'normal'
15813
15833
  }, dense && {
15814
15834
  textOverflow: 'ellipsis',
15815
15835
  overflow: 'hidden',
@@ -15840,24 +15860,6 @@ function ListBoxDisclaimer(_ref2) {
15840
15860
 
15841
15861
  var Close$1 = {};
15842
15862
 
15843
- var interopRequireDefault = {exports: {}};
15844
-
15845
- var hasRequiredInteropRequireDefault;
15846
-
15847
- function requireInteropRequireDefault () {
15848
- if (hasRequiredInteropRequireDefault) return interopRequireDefault.exports;
15849
- hasRequiredInteropRequireDefault = 1;
15850
- (function (module) {
15851
- function _interopRequireDefault(obj) {
15852
- return obj && obj.__esModule ? obj : {
15853
- "default": obj
15854
- };
15855
- }
15856
- module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
15857
- } (interopRequireDefault));
15858
- return interopRequireDefault.exports;
15859
- }
15860
-
15861
15863
  var createSvgIcon$1 = {};
15862
15864
 
15863
15865
  function getSvgIconUtilityClass(slot) {
@@ -15933,9 +15935,9 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
15933
15935
  titleAccess,
15934
15936
  viewBox = '0 0 24 24'
15935
15937
  } = props,
15936
- other = _objectWithoutPropertiesLoose$1(props, _excluded$5);
15938
+ other = _objectWithoutPropertiesLoose(props, _excluded$5);
15937
15939
  const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';
15938
- const ownerState = _extends$5({}, props, {
15940
+ const ownerState = _extends$1({}, props, {
15939
15941
  color,
15940
15942
  component,
15941
15943
  fontSize,
@@ -15949,7 +15951,7 @@ const SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {
15949
15951
  more.viewBox = viewBox;
15950
15952
  }
15951
15953
  const classes = useUtilityClasses(ownerState);
15952
- return /*#__PURE__*/jsxRuntimeExports.jsxs(SvgIconRoot, _extends$5({
15954
+ return /*#__PURE__*/jsxRuntimeExports.jsxs(SvgIconRoot, _extends$1({
15953
15955
  as: component,
15954
15956
  className: clsx(classes.root, className),
15955
15957
  focusable: "false",
@@ -15968,7 +15970,7 @@ SvgIcon.muiName = 'SvgIcon';
15968
15970
 
15969
15971
  function createSvgIcon(path, displayName) {
15970
15972
  function Component(props, ref) {
15971
- return /*#__PURE__*/jsxRuntimeExports.jsx(SvgIcon, _extends$5({
15973
+ return /*#__PURE__*/jsxRuntimeExports.jsx(SvgIcon, _extends$1({
15972
15974
  "data-testid": `${displayName}Icon`,
15973
15975
  ref: ref
15974
15976
  }, props, {
@@ -16968,7 +16970,7 @@ const More$1 = React__default.forwardRef((_ref3, ref) => {
16968
16970
  const autoFocusIndex = actions.findIndex(action => !action.disabled);
16969
16971
  return showActions && /*#__PURE__*/React__default.createElement(StyledPopover$1
16970
16972
  // eslint-disable-next-line react/jsx-props-no-spreading
16971
- , _extends$6({}, popoverProps, {
16973
+ , _extends$2({}, popoverProps, {
16972
16974
  onClose: onCloseOrActionClick,
16973
16975
  ref: ref,
16974
16976
  open: show,
@@ -18178,7 +18180,7 @@ function hasSelections(layout) {
18178
18180
  }
18179
18181
 
18180
18182
  /*
18181
- * qlik-chart-modules v0.85.0
18183
+ * qlik-chart-modules v0.92.0
18182
18184
  * Copyright (c) 2025 QlikTech International AB
18183
18185
  * Released under the MIT license.
18184
18186
  */
@@ -20556,7 +20558,7 @@ function ListBoxHeader(_ref2) {
20556
20558
  autoConfirm,
20557
20559
  disablePortal
20558
20560
  });
20559
- const actionsToolbar = /*#__PURE__*/React__default.createElement(ActionsToolbar, _extends$6({
20561
+ const actionsToolbar = /*#__PURE__*/React__default.createElement(ActionsToolbar, _extends$2({
20560
20562
  isRtl: isRtl,
20561
20563
  layout: layout
20562
20564
  }, toolbarProps));
@@ -22918,13 +22920,13 @@ function Progress(_ref2) {
22918
22920
  const s = SIZES[size];
22919
22921
  return /*#__PURE__*/React__default.createElement(Root, {
22920
22922
  className: classes$3.root
22921
- }, /*#__PURE__*/React__default.createElement(CircularProgress, _extends$6({
22923
+ }, /*#__PURE__*/React__default.createElement(CircularProgress, _extends$2({
22922
22924
  variant: "determinate",
22923
22925
  value: 100,
22924
22926
  className: classes$3.back,
22925
22927
  size: s,
22926
22928
  thickness: 3
22927
- }, props)), /*#__PURE__*/React__default.createElement(CircularProgress, _extends$6({
22929
+ }, props)), /*#__PURE__*/React__default.createElement(CircularProgress, _extends$2({
22928
22930
  variant: "indeterminate",
22929
22931
  disableShrink: true,
22930
22932
  className: classes$3.front,
@@ -22974,7 +22976,7 @@ function Cancel(_ref) {
22974
22976
  variant: "h6",
22975
22977
  align: "center",
22976
22978
  "data-tid": "update-active"
22977
- }, translator.get('Object.Update.Active')))), /*#__PURE__*/React__default.createElement(Grid, _extends$6({
22979
+ }, translator.get('Object.Update.Active')))), /*#__PURE__*/React__default.createElement(Grid, _extends$2({
22978
22980
  item: true
22979
22981
  }, props), /*#__PURE__*/React__default.createElement(Button, {
22980
22982
  variant: "contained",
@@ -23001,7 +23003,7 @@ function Retry(_ref2) {
23001
23003
  "data-tid": "update-cancelled"
23002
23004
  }, translator.get('Object.Update.Cancelled'))), /*#__PURE__*/React__default.createElement(Grid, {
23003
23005
  item: true
23004
- }, /*#__PURE__*/React__default.createElement(Button, _extends$6({
23006
+ }, /*#__PURE__*/React__default.createElement(Button, _extends$2({
23005
23007
  variant: "contained",
23006
23008
  onClick: retry
23007
23009
  }, props), translator.get('Retry'))));
@@ -23542,6 +23544,16 @@ const CellBody = {
23542
23544
  /** @type {'njs-cell-body'} */
23543
23545
  className: 'njs-cell-body'
23544
23546
  };
23547
+ function support(prop, supportObject, layout) {
23548
+ const value = supportObject[prop];
23549
+ if (typeof value === 'function') {
23550
+ return value.call(null, layout);
23551
+ }
23552
+ if (typeof value === 'boolean') {
23553
+ return value;
23554
+ }
23555
+ return false;
23556
+ }
23545
23557
  const initialState = err => ({
23546
23558
  loading: false,
23547
23559
  loaded: false,
@@ -23851,6 +23863,7 @@ const Cell = forwardRef((_ref6, ref) => {
23851
23863
  translator,
23852
23864
  language,
23853
23865
  keyboardNavigation,
23866
+ externalFocusManagement,
23854
23867
  disableCellPadding = false
23855
23868
  } = useContext(InstanceContext);
23856
23869
  const [internalEmitter] = useState$1(emitter || createEmitter);
@@ -23890,16 +23903,20 @@ const Cell = forwardRef((_ref6, ref) => {
23890
23903
  });
23891
23904
  useEffect$1(() => {
23892
23905
  eventmixin(focusHandler.current);
23906
+ focusHandler.current.blurCallback = resetFocus => {
23907
+ if (focusHandler.current.onBlurHandler) {
23908
+ focusHandler.current.onBlurHandler(resetFocus);
23909
+ return;
23910
+ }
23911
+ halo.root.toggleFocusOfCells();
23912
+ if (resetFocus && contentNode) {
23913
+ contentNode.focus();
23914
+ }
23915
+ };
23916
+ focusHandler.current.refocusContent = () => {
23917
+ state.sn.component && typeof state.sn.component.focus === 'function' && state.sn.component.focus();
23918
+ };
23893
23919
  }, []);
23894
- focusHandler.current.blurCallback = resetFocus => {
23895
- halo.root.toggleFocusOfCells();
23896
- if (resetFocus && contentNode) {
23897
- contentNode.focus();
23898
- }
23899
- };
23900
- focusHandler.current.refocusContent = () => {
23901
- state.sn.component && typeof state.sn.component.focus === 'function' && state.sn.component.focus();
23902
- };
23903
23920
  const handleOnMouseEnter = () => {
23904
23921
  if (hoveringDebouncer.current.leave) {
23905
23922
  clearTimeout(hoveringDebouncer.current.leave);
@@ -23984,7 +24001,6 @@ const Cell = forwardRef((_ref6, ref) => {
23984
24001
  load(layout.visualization, withVersion);
23985
24002
  return () => {};
23986
24003
  }, [types, state.sn, model, selections, layout, appLayout, language]);
23987
-
23988
24004
  // Long running query
23989
24005
  useEffect$1(() => {
23990
24006
  if (!validating) {
@@ -24001,6 +24017,20 @@ const Cell = forwardRef((_ref6, ref) => {
24001
24017
  getQae() {
24002
24018
  return state.sn.generator.qae;
24003
24019
  },
24020
+ getExtensionDefinition() {
24021
+ return state.sn.generator.definition.ext;
24022
+ },
24023
+ // allow input of supportObject ot override when flipped to table
24024
+ support(type, supportObject, outerLayout) {
24025
+ if (layout && state.loaded && !state.error) {
24026
+ var _state$sn$generator$d;
24027
+ const suppObj = supportObject || ((_state$sn$generator$d = state.sn.generator.definition.ext) === null || _state$sn$generator$d === void 0 ? void 0 : _state$sn$generator$d.support);
24028
+ if (suppObj) {
24029
+ return support(type, suppObj, outerLayout || layout);
24030
+ }
24031
+ }
24032
+ return false;
24033
+ },
24004
24034
  toggleFocus(active) {
24005
24035
  if (typeof state.sn.component.focus === 'function') {
24006
24036
  if (active) {
@@ -24010,6 +24040,9 @@ const Cell = forwardRef((_ref6, ref) => {
24010
24040
  }
24011
24041
  }
24012
24042
  },
24043
+ setOnBlurHandler(cb) {
24044
+ focusHandler.current.onBlurHandler = cb;
24045
+ },
24013
24046
  setSnOptions,
24014
24047
  setSnPlugins,
24015
24048
  setModel,
@@ -24140,8 +24173,8 @@ const Cell = forwardRef((_ref6, ref) => {
24140
24173
  focusHandler: focusHandler.current,
24141
24174
  titleStyles: titleStyles
24142
24175
  }, "\xA0"), /*#__PURE__*/React__default.createElement(Grid, {
24143
- tabIndex: keyboardNavigation ? 0 : -1,
24144
- onKeyDown: keyboardNavigation ? handleKeyDown : null,
24176
+ tabIndex: keyboardNavigation && !externalFocusManagement ? 0 : -1,
24177
+ onKeyDown: keyboardNavigation && !externalFocusManagement ? handleKeyDown : null,
24145
24178
  item: true,
24146
24179
  xs: true,
24147
24180
  className: CellBody.className,
@@ -24286,6 +24319,181 @@ const setProperties = (model, newProperties) => {
24286
24319
  return model.setProperties(newProperties);
24287
24320
  };
24288
24321
 
24322
+ const getFieldById = (fields, id) => fields.find(field => {
24323
+ var _field$qDef;
24324
+ return ((_field$qDef = field.qDef) === null || _field$qDef === void 0 ? void 0 : _field$qDef.cId) === id;
24325
+ }) || null;
24326
+ const setFieldProperties = hcFieldProperties => {
24327
+ if (!hcFieldProperties) {
24328
+ return [];
24329
+ }
24330
+ const updatedProperties = [...hcFieldProperties];
24331
+ return updatedProperties.map(field => {
24332
+ var _field$qDef2;
24333
+ if ((_field$qDef2 = field.qDef) !== null && _field$qDef2 !== void 0 && _field$qDef2.autoSort && field.autoSort !== undefined) {
24334
+ return _objectSpread2(_objectSpread2({}, field), {}, {
24335
+ qDef: _objectSpread2(_objectSpread2({}, field.qDef), {}, {
24336
+ autoSort: field.autoSort
24337
+ }),
24338
+ autoSort: undefined
24339
+ });
24340
+ }
24341
+ return field;
24342
+ });
24343
+ };
24344
+ const getHyperCube = (layout, path) => {
24345
+ if (!layout) {
24346
+ return undefined;
24347
+ }
24348
+ return path && utils(layout, path) ? utils(layout, path).qHyperCube : layout.qHyperCube;
24349
+ };
24350
+
24351
+ class DataPropertyHandler {
24352
+ constructor(opts) {
24353
+ var _options$dimensionPro, _options$measurePrope;
24354
+ const options = opts || {};
24355
+ this.dimensionDefinition = options.dimensionDefinition || {
24356
+ max: 0
24357
+ };
24358
+ this.measureDefinition = options.measureDefinition || {
24359
+ max: 0
24360
+ };
24361
+ this.dimensionProperties = (_options$dimensionPro = options.dimensionProperties) !== null && _options$dimensionPro !== void 0 ? _options$dimensionPro : {};
24362
+ this.measureProperties = (_options$measurePrope = options.measureProperties) !== null && _options$measurePrope !== void 0 ? _options$measurePrope : {};
24363
+ this.globalChangeListeners = options.globalChangeListeners;
24364
+ this.app = options.app;
24365
+ }
24366
+ setProperties(properties) {
24367
+ var _this$properties;
24368
+ this.properties = properties;
24369
+ this.isAnalysisType = (_this$properties = this.properties) === null || _this$properties === void 0 || (_this$properties = _this$properties.metaData) === null || _this$properties === void 0 ? void 0 : _this$properties.isAnalysisType;
24370
+ }
24371
+ setGlobalChangeListeners(arr) {
24372
+ this.globalChangeListeners = arr;
24373
+ }
24374
+ setLayout(layout) {
24375
+ this.layout = layout;
24376
+ }
24377
+ static type() {
24378
+ throw new Error('Must override this method');
24379
+ }
24380
+
24381
+ // ----------------DIMENSION----------------
24382
+
24383
+ static getDimensions() {
24384
+ return [];
24385
+ }
24386
+ getDimension(id) {
24387
+ const dimensions = this.getDimensions();
24388
+ const alternativeDimensions = this.getAlternativeDimensions();
24389
+ const dim = getFieldById(dimensions, id);
24390
+ const altDim = getFieldById(alternativeDimensions, id);
24391
+ return dim !== null && dim !== void 0 ? dim : altDim;
24392
+ }
24393
+ static getAlternativeDimensions() {
24394
+ throw new Error('Method not implemented.');
24395
+ }
24396
+
24397
+ // ----------------MEASURE----------------
24398
+
24399
+ getMeasure(id) {
24400
+ const measures = this.getMeasures();
24401
+ const alternativeMeasures = this.getAlternativeMeasures();
24402
+ const meas = getFieldById(measures, id);
24403
+ const altMeas = getFieldById(alternativeMeasures, id);
24404
+ return meas !== null && meas !== void 0 ? meas : altMeas;
24405
+ }
24406
+ static getMeasures() {
24407
+ return [];
24408
+ }
24409
+ static getAlternativeMeasures() {
24410
+ throw new Error('Method not implemented.');
24411
+ }
24412
+ }
24413
+
24414
+ // eslint-disable-next-line import/no-relative-packages
24415
+ class HyperCubeHandler extends DataPropertyHandler {
24416
+ constructor(opts) {
24417
+ super(opts);
24418
+ this.path = opts.path;
24419
+ }
24420
+ setProperties(properties) {
24421
+ var _this$hcProperties$qD, _this$hcProperties$qM, _this$hcProperties$qI, _this$hcProperties$qL, _this$hcProperties$qL2, _this$hcProperties$qL3, _this$hcProperties$qL4;
24422
+ if (!properties) {
24423
+ return;
24424
+ }
24425
+ super.setProperties(properties);
24426
+ this.hcProperties = this.path ? utils.getValue(properties, "".concat(this.path, ".qHyperCubeDef")) : properties.qHyperCubeDef;
24427
+ if (!this.hcProperties) {
24428
+ return;
24429
+ }
24430
+
24431
+ // Set defaults
24432
+ this.hcProperties.qDimensions = (_this$hcProperties$qD = this.hcProperties.qDimensions) !== null && _this$hcProperties$qD !== void 0 ? _this$hcProperties$qD : [];
24433
+ this.hcProperties.qMeasures = (_this$hcProperties$qM = this.hcProperties.qMeasures) !== null && _this$hcProperties$qM !== void 0 ? _this$hcProperties$qM : [];
24434
+ this.hcProperties.qInterColumnSortOrder = (_this$hcProperties$qI = this.hcProperties.qInterColumnSortOrder) !== null && _this$hcProperties$qI !== void 0 ? _this$hcProperties$qI : [];
24435
+ this.hcProperties.qLayoutExclude = (_this$hcProperties$qL = this.hcProperties.qLayoutExclude) !== null && _this$hcProperties$qL !== void 0 ? _this$hcProperties$qL : {
24436
+ qHyperCubeDef: {
24437
+ qDimensions: [],
24438
+ qMeasures: []
24439
+ }
24440
+ };
24441
+ this.hcProperties.qLayoutExclude.qHyperCubeDef = (_this$hcProperties$qL2 = this.hcProperties.qLayoutExclude.qHyperCubeDef) !== null && _this$hcProperties$qL2 !== void 0 ? _this$hcProperties$qL2 : {
24442
+ qDimensions: [],
24443
+ qMeasures: []
24444
+ };
24445
+ this.hcProperties.qLayoutExclude.qHyperCubeDef.qDimensions = (_this$hcProperties$qL3 = this.hcProperties.qLayoutExclude.qHyperCubeDef.qDimensions) !== null && _this$hcProperties$qL3 !== void 0 ? _this$hcProperties$qL3 : [];
24446
+ this.hcProperties.qLayoutExclude.qHyperCubeDef.qMeasures = (_this$hcProperties$qL4 = this.hcProperties.qLayoutExclude.qHyperCubeDef.qMeasures) !== null && _this$hcProperties$qL4 !== void 0 ? _this$hcProperties$qL4 : [];
24447
+ if (this.hcProperties.isHCEnabled && this.hcProperties.qDynamicScript.length === 0 && this.hcProperties.qMode === 'S') {
24448
+ // this is only for line chart with forecast
24449
+ this.hcProperties.qDynamicScript = [];
24450
+ }
24451
+
24452
+ // Set auto-sort property (compatibility 0.85 -> 0.9),
24453
+ // can probably be removed in 1.0
24454
+ this.hcProperties.qDimensions = setFieldProperties(this.hcProperties.qDimensions);
24455
+ this.hcProperties.qMeasures = setFieldProperties(this.hcProperties.qMeasures);
24456
+ }
24457
+
24458
+ // ----------------------------------
24459
+ // ----------- DIMENSIONS -----------
24460
+ // ----------------------------------
24461
+
24462
+ getDimensions() {
24463
+ return this.hcProperties ? this.hcProperties.qDimensions : [];
24464
+ }
24465
+ getAlternativeDimensions() {
24466
+ var _this$hcProperties$qL5, _this$hcProperties;
24467
+ return (_this$hcProperties$qL5 = (_this$hcProperties = this.hcProperties) === null || _this$hcProperties === void 0 || (_this$hcProperties = _this$hcProperties.qLayoutExclude) === null || _this$hcProperties === void 0 || (_this$hcProperties = _this$hcProperties.qHyperCubeDef) === null || _this$hcProperties === void 0 ? void 0 : _this$hcProperties.qDimensions) !== null && _this$hcProperties$qL5 !== void 0 ? _this$hcProperties$qL5 : [];
24468
+ }
24469
+ getDimensionLayout(cId) {
24470
+ return this.getDimensionLayouts().filter(item => cId === item.cId)[0];
24471
+ }
24472
+ getDimensionLayouts() {
24473
+ const hc = getHyperCube(this.layout, this.path);
24474
+ return hc ? hc.qDimensionInfo : [];
24475
+ }
24476
+
24477
+ // ----------------------------------
24478
+ // ------------ MEASURES ------------
24479
+ // ----------------------------------
24480
+
24481
+ getMeasures() {
24482
+ return this.hcProperties ? this.hcProperties.qMeasures : [];
24483
+ }
24484
+ getAlternativeMeasures() {
24485
+ var _this$hcProperties$qL6, _this$hcProperties2;
24486
+ return (_this$hcProperties$qL6 = (_this$hcProperties2 = this.hcProperties) === null || _this$hcProperties2 === void 0 || (_this$hcProperties2 = _this$hcProperties2.qLayoutExclude) === null || _this$hcProperties2 === void 0 || (_this$hcProperties2 = _this$hcProperties2.qHyperCubeDef) === null || _this$hcProperties2 === void 0 ? void 0 : _this$hcProperties2.qMeasures) !== null && _this$hcProperties$qL6 !== void 0 ? _this$hcProperties$qL6 : [];
24487
+ }
24488
+ getMeasureLayouts() {
24489
+ const hc = getHyperCube(this.layout, this.path);
24490
+ return hc ? hc.qMeasureInfo : [];
24491
+ }
24492
+ getMeasureLayout(cId) {
24493
+ return this.getMeasureLayouts().filter(item => cId === item.cId)[0];
24494
+ }
24495
+ }
24496
+
24289
24497
  /* eslint no-param-reassign: 0, no-restricted-globals: 0 */
24290
24498
  const extend = extend$1.bind(null, true);
24291
24499
  const JSONPatch = {};
@@ -26077,6 +26285,7 @@ function createWithHooks(generator, opts, galaxy) {
26077
26285
  layout: {},
26078
26286
  appLayout: {},
26079
26287
  keyboardNavigation: opts.keyboardNavigation,
26288
+ externalFocusManagement: opts.externalFocusManagement || false,
26080
26289
  focusHandler: opts.focusHandler,
26081
26290
  constraints: forcedConstraints,
26082
26291
  interactions: forcedInteractions,
@@ -26207,6 +26416,11 @@ function createWithHooks(generator, opts, galaxy) {
26207
26416
  return generator.component.runMenu(this, menu, event, menuBuilder);
26208
26417
  },
26209
26418
  focus() {
26419
+ const ref = generator.component.getImperativeHandle(this);
26420
+ if (ref && typeof ref.focus === 'function') {
26421
+ ref.focus();
26422
+ return;
26423
+ }
26210
26424
  generator.component.focus(this);
26211
26425
  },
26212
26426
  blur() {
@@ -26578,7 +26792,9 @@ function generatorFn(UserSN, galaxy) {
26578
26792
  const ss = create$2(generator, params, galaxy);
26579
26793
  return ss;
26580
26794
  },
26581
- definition: {}
26795
+ definition: galaxy.flags.isEnabled('NEBULA_DATA_HANDLERS') ? {
26796
+ dataHandler: opts => new HyperCubeHandler(opts)
26797
+ } : {}
26582
26798
  };
26583
26799
  Object.keys(sn).forEach(key => {
26584
26800
  if (!generator[key]) {
@@ -26611,6 +26827,7 @@ const saveSoftProperties = (model, prevEffectiveProperties, effectiveProperties)
26611
26827
 
26612
26828
  const noopi$1 = () => {};
26613
26829
  function viz() {
26830
+ var _halo$context;
26614
26831
  let {
26615
26832
  model,
26616
26833
  halo,
@@ -26626,6 +26843,9 @@ function viz() {
26626
26843
  let onMount = null;
26627
26844
  let onRenderResolve = null;
26628
26845
  let viewDataObjectId;
26846
+ let originalExtensionDef;
26847
+ let originalLayout;
26848
+ let successfulRender = false;
26629
26849
  const mounted = new Promise(resolve => {
26630
26850
  onMount = resolve;
26631
26851
  });
@@ -26636,6 +26856,7 @@ function viz() {
26636
26856
  override === null || override === void 0 || override(); // from options.onInitialRender
26637
26857
  onRenderResolve(); // internal promise in viz to wait for render
26638
26858
  onRender(); // from RenderConfig
26859
+ successfulRender = true;
26639
26860
  };
26640
26861
  let initialSnOptions = {};
26641
26862
  let initialSnPlugins = [];
@@ -26668,6 +26889,32 @@ function viz() {
26668
26889
  initialSnPlugins = plugins;
26669
26890
  }
26670
26891
  };
26892
+ let newExperimental = {};
26893
+ if ((_halo$context = halo.context) !== null && _halo$context !== void 0 && _halo$context.enablePrivateExperimental) {
26894
+ // ===== undocumented experimental API - use at own risk ======
26895
+ newExperimental = {
26896
+ /**
26897
+ * @ignore
26898
+ * valid types: viewData, cssScaling, snapshot, exportData, exploration
26899
+ * questionable types: supportRefresh, quickMobile, fullscreen
26900
+ * deprecated?: sharing
26901
+ *
26902
+ */
26903
+ support(type) {
26904
+ if (mountedReference && successfulRender) {
26905
+ var _originalExtensionDef;
26906
+ return cellRef.current.support(type, (_originalExtensionDef = originalExtensionDef) === null || _originalExtensionDef === void 0 ? void 0 : _originalExtensionDef.support, originalLayout);
26907
+ }
26908
+ return false;
26909
+ },
26910
+ toggleFocus(focus) {
26911
+ cellRef.current.toggleFocus(focus);
26912
+ },
26913
+ setOnBlurHandler(cb) {
26914
+ cellRef.current.setOnBlurHandler(cb);
26915
+ }
26916
+ };
26917
+ }
26671
26918
 
26672
26919
  /**
26673
26920
  * @class
@@ -26680,7 +26927,7 @@ function viz() {
26680
26927
  * });
26681
26928
  * viz.destroy();
26682
26929
  */
26683
- const api = /** @lends Viz# */{
26930
+ const api = /** @lends Viz# */_objectSpread2(_objectSpread2({
26684
26931
  /**
26685
26932
  * The id of this visualization's generic object.
26686
26933
  * @type {string}
@@ -26798,15 +27045,26 @@ function viz() {
26798
27045
  });
26799
27046
  newModel = await halo.app.createSessionObject(propertyTree.qProperty);
26800
27047
  viewDataObjectId = newModel.id;
27048
+ originalExtensionDef = cellRef.current.getExtensionDefinition();
27049
+ originalLayout = await model.getLayout();
26801
27050
  } else if (viewDataObjectId && showDataView !== true) {
26802
27051
  newModel = model;
26803
27052
  await halo.app.destroySessionObject(viewDataObjectId);
26804
27053
  viewDataObjectId = undefined;
27054
+ originalExtensionDef = undefined;
27055
+ originalLayout = undefined;
26805
27056
  }
26806
27057
  if (newModel) {
26807
27058
  cellRef.current.setModel(newModel);
26808
27059
  }
26809
27060
  },
27061
+ /**
27062
+ * Whether or not the chart has the data view toggled on.
27063
+ * @type {boolean}
27064
+ */
27065
+ get viewDataToggled() {
27066
+ return viewDataObjectId !== undefined;
27067
+ },
26810
27068
  /**
26811
27069
  * Listens to custom events from inside the visualization. See useEmitter
26812
27070
  * @param {string} eventName Event name to listen to
@@ -26840,7 +27098,8 @@ function viz() {
26840
27098
  async takeSnapshot() {
26841
27099
  await rendered;
26842
27100
  return cellRef.current.takeSnapshot();
26843
- },
27101
+ }
27102
+ }, newExperimental), {}, {
26844
27103
  // ===== unexposed experimental API - use at own risk ======
26845
27104
  __DO_NOT_USE__: {
26846
27105
  mount(element) {
@@ -26951,7 +27210,7 @@ function viz() {
26951
27210
  // setOptions() {}, // applied soft patch
26952
27211
  // resize() {},
26953
27212
  // show() {},
26954
- };
27213
+ });
26955
27214
  return api;
26956
27215
  }
26957
27216