@trops/dash-core 0.1.188 → 0.1.189
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/dist/index.esm.js +695 -337
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +735 -367
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5408,6 +5408,651 @@ var WizardProvidersStep = function WizardProvidersStep(_ref) {
|
|
|
5408
5408
|
});
|
|
5409
5409
|
};
|
|
5410
5410
|
|
|
5411
|
+
function _createForOfIteratorHelper$e(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$e(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
5412
|
+
function _unsupportedIterableToArray$e(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$e(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$e(r, a) : void 0; } }
|
|
5413
|
+
function _arrayLikeToArray$e(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5414
|
+
|
|
5415
|
+
/**
|
|
5416
|
+
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
5417
|
+
*
|
|
5418
|
+
* Extracted from EnhancedWidgetDropdown so the same logic can power the
|
|
5419
|
+
* Discover tab inside AppSettingsModal (and anywhere else).
|
|
5420
|
+
*
|
|
5421
|
+
* Options:
|
|
5422
|
+
* filterByCapabilities – if true (default), only show packages compatible
|
|
5423
|
+
* with the app's API capabilities
|
|
5424
|
+
*
|
|
5425
|
+
* Returns:
|
|
5426
|
+
* packages – raw package objects from the registry
|
|
5427
|
+
* flatWidgets – flattened widget entries with `isRegistry: true`
|
|
5428
|
+
* isLoading – true while a search request is in flight
|
|
5429
|
+
* error – error message string (or null)
|
|
5430
|
+
* searchQuery / setSearchQuery – controlled search input
|
|
5431
|
+
* isInstalling – true during an install
|
|
5432
|
+
* installError – install error string (or null)
|
|
5433
|
+
* search() – manually trigger a search
|
|
5434
|
+
* installPackage(widget) – install a specific registry widget
|
|
5435
|
+
* showAllPackages / setShowAllPackages – toggle to show incompatible packages
|
|
5436
|
+
* appCapabilities – the app's API namespaces
|
|
5437
|
+
*/
|
|
5438
|
+
var useRegistrySearch = function useRegistrySearch() {
|
|
5439
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
5440
|
+
_ref$filterByCapabili = _ref.filterByCapabilities,
|
|
5441
|
+
filterByCapabilities = _ref$filterByCapabili === void 0 ? true : _ref$filterByCapabili;
|
|
5442
|
+
var _useState = React.useState(false),
|
|
5443
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
5444
|
+
isLoading = _useState2[0],
|
|
5445
|
+
setIsLoading = _useState2[1];
|
|
5446
|
+
var _useState3 = React.useState(null),
|
|
5447
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
5448
|
+
error = _useState4[0],
|
|
5449
|
+
setError = _useState4[1];
|
|
5450
|
+
var _useState5 = React.useState([]),
|
|
5451
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
5452
|
+
packages = _useState6[0],
|
|
5453
|
+
setPackages = _useState6[1];
|
|
5454
|
+
var _useState7 = React.useState([]),
|
|
5455
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
5456
|
+
flatWidgets = _useState8[0],
|
|
5457
|
+
setFlatWidgets = _useState8[1];
|
|
5458
|
+
var _useState9 = React.useState(""),
|
|
5459
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
5460
|
+
searchQuery = _useState0[0],
|
|
5461
|
+
setSearchQuery = _useState0[1];
|
|
5462
|
+
var _useState1 = React.useState(false),
|
|
5463
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
5464
|
+
isInstalling = _useState10[0],
|
|
5465
|
+
setIsInstalling = _useState10[1];
|
|
5466
|
+
var _useState11 = React.useState(null),
|
|
5467
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
5468
|
+
installError = _useState12[0],
|
|
5469
|
+
setInstallError = _useState12[1];
|
|
5470
|
+
var _useState13 = React.useState(false),
|
|
5471
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
5472
|
+
showAllPackages = _useState14[0],
|
|
5473
|
+
setShowAllPackages = _useState14[1];
|
|
5474
|
+
|
|
5475
|
+
// Discover app capabilities from window.mainApi
|
|
5476
|
+
var appCapabilities = React.useMemo(function () {
|
|
5477
|
+
if (typeof window !== "undefined" && window.mainApi) {
|
|
5478
|
+
return Object.keys(window.mainApi);
|
|
5479
|
+
}
|
|
5480
|
+
return [];
|
|
5481
|
+
}, []);
|
|
5482
|
+
var search = React.useCallback(/*#__PURE__*/function () {
|
|
5483
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(query) {
|
|
5484
|
+
var _window$mainApi;
|
|
5485
|
+
var filters, result, pkgs, capSet, widgets, _iterator, _step, pkg, allApiProviders, _iterator2, _step2, p, _iterator3, _step3, w, _iterator5, _step5, _p, missingApis, _iterator4, _step4, widget, _t;
|
|
5486
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
5487
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5488
|
+
case 0:
|
|
5489
|
+
if ((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && _window$mainApi.registry) {
|
|
5490
|
+
_context.next = 1;
|
|
5491
|
+
break;
|
|
5492
|
+
}
|
|
5493
|
+
setPackages([]);
|
|
5494
|
+
setFlatWidgets([]);
|
|
5495
|
+
return _context.abrupt("return");
|
|
5496
|
+
case 1:
|
|
5497
|
+
setIsLoading(true);
|
|
5498
|
+
setError(null);
|
|
5499
|
+
_context.prev = 2;
|
|
5500
|
+
filters = {};
|
|
5501
|
+
if (filterByCapabilities && !showAllPackages && appCapabilities.length) {
|
|
5502
|
+
filters.appCapabilities = appCapabilities;
|
|
5503
|
+
}
|
|
5504
|
+
_context.next = 3;
|
|
5505
|
+
return window.mainApi.registry.search(query !== null && query !== void 0 ? query : searchQuery, filters);
|
|
5506
|
+
case 3:
|
|
5507
|
+
result = _context.sent;
|
|
5508
|
+
// Only include packages that contain at least one widget
|
|
5509
|
+
// (filters out theme-only packages, etc.)
|
|
5510
|
+
pkgs = (result.packages || []).filter(function (pkg) {
|
|
5511
|
+
return pkg.widgets && pkg.widgets.length > 0;
|
|
5512
|
+
});
|
|
5513
|
+
setPackages(pkgs);
|
|
5514
|
+
|
|
5515
|
+
// Flatten packages into widget entries
|
|
5516
|
+
capSet = new Set(appCapabilities.map(function (c) {
|
|
5517
|
+
return c.toLowerCase();
|
|
5518
|
+
}));
|
|
5519
|
+
widgets = [];
|
|
5520
|
+
_iterator = _createForOfIteratorHelper$e(pkgs);
|
|
5521
|
+
try {
|
|
5522
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
5523
|
+
pkg = _step.value;
|
|
5524
|
+
// Compute missing APIs for the entire package
|
|
5525
|
+
allApiProviders = [];
|
|
5526
|
+
_iterator2 = _createForOfIteratorHelper$e(pkg.providers || []);
|
|
5527
|
+
try {
|
|
5528
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
5529
|
+
p = _step2.value;
|
|
5530
|
+
if (p.providerClass === "api" && p.required !== false) {
|
|
5531
|
+
allApiProviders.push(p.type);
|
|
5532
|
+
}
|
|
5533
|
+
}
|
|
5534
|
+
} catch (err) {
|
|
5535
|
+
_iterator2.e(err);
|
|
5536
|
+
} finally {
|
|
5537
|
+
_iterator2.f();
|
|
5538
|
+
}
|
|
5539
|
+
_iterator3 = _createForOfIteratorHelper$e(pkg.widgets || []);
|
|
5540
|
+
try {
|
|
5541
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
5542
|
+
w = _step3.value;
|
|
5543
|
+
_iterator5 = _createForOfIteratorHelper$e(w.providers || []);
|
|
5544
|
+
try {
|
|
5545
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
5546
|
+
_p = _step5.value;
|
|
5547
|
+
if (_p.providerClass === "api" && _p.required !== false) {
|
|
5548
|
+
allApiProviders.push(_p.type);
|
|
5549
|
+
}
|
|
5550
|
+
}
|
|
5551
|
+
} catch (err) {
|
|
5552
|
+
_iterator5.e(err);
|
|
5553
|
+
} finally {
|
|
5554
|
+
_iterator5.f();
|
|
5555
|
+
}
|
|
5556
|
+
}
|
|
5557
|
+
} catch (err) {
|
|
5558
|
+
_iterator3.e(err);
|
|
5559
|
+
} finally {
|
|
5560
|
+
_iterator3.f();
|
|
5561
|
+
}
|
|
5562
|
+
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
5563
|
+
return !capSet.has(api.toLowerCase());
|
|
5564
|
+
});
|
|
5565
|
+
_iterator4 = _createForOfIteratorHelper$e(pkg.widgets || []);
|
|
5566
|
+
try {
|
|
5567
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
5568
|
+
widget = _step4.value;
|
|
5569
|
+
widgets.push({
|
|
5570
|
+
key: "".concat(pkg.name, "/").concat(widget.name),
|
|
5571
|
+
name: widget.displayName || widget.name,
|
|
5572
|
+
description: widget.description || "",
|
|
5573
|
+
icon: widget.icon || null,
|
|
5574
|
+
providers: widget.providers || [],
|
|
5575
|
+
isRegistry: true,
|
|
5576
|
+
packageName: pkg.name,
|
|
5577
|
+
packageDisplayName: pkg.displayName || pkg.name,
|
|
5578
|
+
packageVersion: pkg.version,
|
|
5579
|
+
packageAuthor: pkg.author || "",
|
|
5580
|
+
packageDescription: pkg.description || "",
|
|
5581
|
+
packageTags: pkg.tags || [],
|
|
5582
|
+
packageCategory: pkg.category || "",
|
|
5583
|
+
downloadUrl: pkg.downloadUrl || "",
|
|
5584
|
+
repository: pkg.repository || "",
|
|
5585
|
+
publishedAt: pkg.publishedAt || "",
|
|
5586
|
+
packageWidgets: pkg.widgets || [],
|
|
5587
|
+
appOrigin: pkg.appOrigin || null,
|
|
5588
|
+
packageProviders: pkg.providers || [],
|
|
5589
|
+
missingApis: missingApis
|
|
5590
|
+
});
|
|
5591
|
+
}
|
|
5592
|
+
} catch (err) {
|
|
5593
|
+
_iterator4.e(err);
|
|
5594
|
+
} finally {
|
|
5595
|
+
_iterator4.f();
|
|
5596
|
+
}
|
|
5597
|
+
}
|
|
5598
|
+
} catch (err) {
|
|
5599
|
+
_iterator.e(err);
|
|
5600
|
+
} finally {
|
|
5601
|
+
_iterator.f();
|
|
5602
|
+
}
|
|
5603
|
+
setFlatWidgets(widgets);
|
|
5604
|
+
_context.next = 5;
|
|
5605
|
+
break;
|
|
5606
|
+
case 4:
|
|
5607
|
+
_context.prev = 4;
|
|
5608
|
+
_t = _context["catch"](2);
|
|
5609
|
+
setError(_t.message || "Failed to load registry");
|
|
5610
|
+
setPackages([]);
|
|
5611
|
+
setFlatWidgets([]);
|
|
5612
|
+
case 5:
|
|
5613
|
+
_context.prev = 5;
|
|
5614
|
+
setIsLoading(false);
|
|
5615
|
+
return _context.finish(5);
|
|
5616
|
+
case 6:
|
|
5617
|
+
case "end":
|
|
5618
|
+
return _context.stop();
|
|
5619
|
+
}
|
|
5620
|
+
}, _callee, null, [[2, 4, 5, 6]]);
|
|
5621
|
+
}));
|
|
5622
|
+
return function (_x) {
|
|
5623
|
+
return _ref2.apply(this, arguments);
|
|
5624
|
+
};
|
|
5625
|
+
}(), [searchQuery, filterByCapabilities, showAllPackages, appCapabilities]);
|
|
5626
|
+
|
|
5627
|
+
// Debounce search on query changes (300ms)
|
|
5628
|
+
React.useEffect(function () {
|
|
5629
|
+
var timer = setTimeout(function () {
|
|
5630
|
+
search(searchQuery);
|
|
5631
|
+
}, 300);
|
|
5632
|
+
return function () {
|
|
5633
|
+
return clearTimeout(timer);
|
|
5634
|
+
};
|
|
5635
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5636
|
+
}, [searchQuery, showAllPackages]);
|
|
5637
|
+
var installPackage = React.useCallback(/*#__PURE__*/function () {
|
|
5638
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(widget) {
|
|
5639
|
+
var packageName, downloadUrl, packageVersion, resolvedUrl, _t2;
|
|
5640
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
5641
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
5642
|
+
case 0:
|
|
5643
|
+
if (!(!widget || !widget.isRegistry)) {
|
|
5644
|
+
_context2.next = 1;
|
|
5645
|
+
break;
|
|
5646
|
+
}
|
|
5647
|
+
return _context2.abrupt("return");
|
|
5648
|
+
case 1:
|
|
5649
|
+
setIsInstalling(true);
|
|
5650
|
+
setInstallError(null);
|
|
5651
|
+
_context2.prev = 2;
|
|
5652
|
+
packageName = widget.packageName, downloadUrl = widget.downloadUrl, packageVersion = widget.packageVersion; // Resolve placeholders in the download URL
|
|
5653
|
+
resolvedUrl = downloadUrl.replace(/\{version\}/g, packageVersion).replace(/\{name\}/g, packageName);
|
|
5654
|
+
_context2.next = 3;
|
|
5655
|
+
return window.mainApi.widgets.install(packageName, resolvedUrl);
|
|
5656
|
+
case 3:
|
|
5657
|
+
_context2.next = 5;
|
|
5658
|
+
break;
|
|
5659
|
+
case 4:
|
|
5660
|
+
_context2.prev = 4;
|
|
5661
|
+
_t2 = _context2["catch"](2);
|
|
5662
|
+
setInstallError(_t2.message || "Failed to install package");
|
|
5663
|
+
case 5:
|
|
5664
|
+
_context2.prev = 5;
|
|
5665
|
+
setIsInstalling(false);
|
|
5666
|
+
return _context2.finish(5);
|
|
5667
|
+
case 6:
|
|
5668
|
+
case "end":
|
|
5669
|
+
return _context2.stop();
|
|
5670
|
+
}
|
|
5671
|
+
}, _callee2, null, [[2, 4, 5, 6]]);
|
|
5672
|
+
}));
|
|
5673
|
+
return function (_x2) {
|
|
5674
|
+
return _ref3.apply(this, arguments);
|
|
5675
|
+
};
|
|
5676
|
+
}(), []);
|
|
5677
|
+
var retry = React.useCallback(function () {
|
|
5678
|
+
search(searchQuery);
|
|
5679
|
+
}, [search, searchQuery]);
|
|
5680
|
+
return {
|
|
5681
|
+
packages: packages,
|
|
5682
|
+
flatWidgets: flatWidgets,
|
|
5683
|
+
isLoading: isLoading,
|
|
5684
|
+
error: error,
|
|
5685
|
+
searchQuery: searchQuery,
|
|
5686
|
+
setSearchQuery: setSearchQuery,
|
|
5687
|
+
isInstalling: isInstalling,
|
|
5688
|
+
installError: installError,
|
|
5689
|
+
search: search,
|
|
5690
|
+
installPackage: installPackage,
|
|
5691
|
+
retry: retry,
|
|
5692
|
+
showAllPackages: showAllPackages,
|
|
5693
|
+
setShowAllPackages: setShowAllPackages,
|
|
5694
|
+
appCapabilities: appCapabilities
|
|
5695
|
+
};
|
|
5696
|
+
};
|
|
5697
|
+
|
|
5698
|
+
var WizardResultsStep = function WizardResultsStep(_ref) {
|
|
5699
|
+
var state = _ref.state,
|
|
5700
|
+
dispatch = _ref.dispatch;
|
|
5701
|
+
var _useState = React.useState("prebuilt"),
|
|
5702
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
5703
|
+
activeTab = _useState2[0],
|
|
5704
|
+
setActiveTab = _useState2[1];
|
|
5705
|
+
|
|
5706
|
+
// --- Dashboard search (Tab A) ---
|
|
5707
|
+
var _useState3 = React.useState([]),
|
|
5708
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
5709
|
+
dashboards = _useState4[0],
|
|
5710
|
+
setDashboards = _useState4[1];
|
|
5711
|
+
var _useState5 = React.useState(false),
|
|
5712
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
5713
|
+
dashLoading = _useState6[0],
|
|
5714
|
+
setDashLoading = _useState6[1];
|
|
5715
|
+
var _useState7 = React.useState(null),
|
|
5716
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
5717
|
+
dashError = _useState8[0],
|
|
5718
|
+
setDashError = _useState8[1];
|
|
5719
|
+
var dashFilters = React.useMemo(function () {
|
|
5720
|
+
return {
|
|
5721
|
+
category: state.intent.length ? state.intent.join(",") : undefined,
|
|
5722
|
+
providerTypes: state.providers.length ? state.providers : undefined
|
|
5723
|
+
};
|
|
5724
|
+
}, [state.intent, state.providers]);
|
|
5725
|
+
var searchDashboards = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
5726
|
+
var _window$mainApi;
|
|
5727
|
+
var result, _t;
|
|
5728
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
5729
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5730
|
+
case 0:
|
|
5731
|
+
if ((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.registry) !== null && _window$mainApi !== void 0 && _window$mainApi.searchDashboards) {
|
|
5732
|
+
_context.next = 1;
|
|
5733
|
+
break;
|
|
5734
|
+
}
|
|
5735
|
+
setDashboards([]);
|
|
5736
|
+
return _context.abrupt("return");
|
|
5737
|
+
case 1:
|
|
5738
|
+
setDashLoading(true);
|
|
5739
|
+
setDashError(null);
|
|
5740
|
+
_context.prev = 2;
|
|
5741
|
+
_context.next = 3;
|
|
5742
|
+
return window.mainApi.registry.searchDashboards("", dashFilters);
|
|
5743
|
+
case 3:
|
|
5744
|
+
result = _context.sent;
|
|
5745
|
+
setDashboards(result.packages || []);
|
|
5746
|
+
_context.next = 5;
|
|
5747
|
+
break;
|
|
5748
|
+
case 4:
|
|
5749
|
+
_context.prev = 4;
|
|
5750
|
+
_t = _context["catch"](2);
|
|
5751
|
+
setDashError(_t.message || "Failed to search dashboards");
|
|
5752
|
+
setDashboards([]);
|
|
5753
|
+
case 5:
|
|
5754
|
+
_context.prev = 5;
|
|
5755
|
+
setDashLoading(false);
|
|
5756
|
+
return _context.finish(5);
|
|
5757
|
+
case 6:
|
|
5758
|
+
case "end":
|
|
5759
|
+
return _context.stop();
|
|
5760
|
+
}
|
|
5761
|
+
}, _callee, null, [[2, 4, 5, 6]]);
|
|
5762
|
+
})), [dashFilters]);
|
|
5763
|
+
React.useEffect(function () {
|
|
5764
|
+
searchDashboards();
|
|
5765
|
+
}, [searchDashboards]);
|
|
5766
|
+
|
|
5767
|
+
// --- Widget search (Tab B) ---
|
|
5768
|
+
var _useRegistrySearch = useRegistrySearch({
|
|
5769
|
+
filterByCapabilities: true
|
|
5770
|
+
}),
|
|
5771
|
+
flatWidgets = _useRegistrySearch.flatWidgets,
|
|
5772
|
+
widgetsLoading = _useRegistrySearch.isLoading,
|
|
5773
|
+
widgetsError = _useRegistrySearch.error;
|
|
5774
|
+
|
|
5775
|
+
// Filter widgets by selected categories + providers
|
|
5776
|
+
var filteredWidgets = React.useMemo(function () {
|
|
5777
|
+
return flatWidgets.filter(function (w) {
|
|
5778
|
+
// Category filter: match if widget's category overlaps user intent
|
|
5779
|
+
var catMatch = state.intent.length === 0 || state.intent.some(function (cat) {
|
|
5780
|
+
return (w.packageCategory || "").toLowerCase() === cat.toLowerCase();
|
|
5781
|
+
});
|
|
5782
|
+
|
|
5783
|
+
// Provider filter: match if widget requires any of the selected providers
|
|
5784
|
+
var providerMatch = state.providers.length === 0 || (w.providers || []).some(function (p) {
|
|
5785
|
+
return state.providers.includes(p.type);
|
|
5786
|
+
}) || (w.packageProviders || []).some(function (p) {
|
|
5787
|
+
return state.providers.includes(p.type);
|
|
5788
|
+
});
|
|
5789
|
+
return catMatch && providerMatch;
|
|
5790
|
+
});
|
|
5791
|
+
}, [flatWidgets, state.intent, state.providers]);
|
|
5792
|
+
|
|
5793
|
+
// --- Tab change: set wizard path ---
|
|
5794
|
+
var handleTabChange = React.useCallback(function (tab) {
|
|
5795
|
+
setActiveTab(tab);
|
|
5796
|
+
dispatch({
|
|
5797
|
+
type: "SET_PATH",
|
|
5798
|
+
payload: tab === "prebuilt" ? "prebuilt" : "custom"
|
|
5799
|
+
});
|
|
5800
|
+
}, [dispatch]);
|
|
5801
|
+
|
|
5802
|
+
// Set initial path on mount
|
|
5803
|
+
React.useEffect(function () {
|
|
5804
|
+
if (!state.path) {
|
|
5805
|
+
dispatch({
|
|
5806
|
+
type: "SET_PATH",
|
|
5807
|
+
payload: "prebuilt"
|
|
5808
|
+
});
|
|
5809
|
+
}
|
|
5810
|
+
}, [state.path, dispatch]);
|
|
5811
|
+
|
|
5812
|
+
// --- Dashboard selection (single-select) ---
|
|
5813
|
+
var handleSelectDashboard = React.useCallback(function (dashboard) {
|
|
5814
|
+
dispatch({
|
|
5815
|
+
type: "SET_SELECTED_DASHBOARD",
|
|
5816
|
+
payload: dashboard
|
|
5817
|
+
});
|
|
5818
|
+
}, [dispatch]);
|
|
5819
|
+
|
|
5820
|
+
// --- Widget selection (multi-select) ---
|
|
5821
|
+
var handleToggleWidget = React.useCallback(function (widget) {
|
|
5822
|
+
dispatch({
|
|
5823
|
+
type: "TOGGLE_WIDGET",
|
|
5824
|
+
payload: widget
|
|
5825
|
+
});
|
|
5826
|
+
}, [dispatch]);
|
|
5827
|
+
var isWidgetSelected = React.useCallback(function (widget) {
|
|
5828
|
+
return state.selectedWidgets.some(function (w) {
|
|
5829
|
+
return w.name === widget.name;
|
|
5830
|
+
});
|
|
5831
|
+
}, [state.selectedWidgets]);
|
|
5832
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5833
|
+
className: "wizard-results-step",
|
|
5834
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("h3", {
|
|
5835
|
+
className: "wizard-step-header",
|
|
5836
|
+
children: "Choose your starting point"
|
|
5837
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.Tabs3, {
|
|
5838
|
+
value: activeTab,
|
|
5839
|
+
onValueChange: handleTabChange,
|
|
5840
|
+
className: "wizard-results-tabs",
|
|
5841
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(DashReact.Tabs3.List, {
|
|
5842
|
+
className: "wizard-results-tab-list",
|
|
5843
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3.Trigger, {
|
|
5844
|
+
value: "prebuilt",
|
|
5845
|
+
children: "Pre-built Dashboards"
|
|
5846
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.Tabs3.Trigger, {
|
|
5847
|
+
value: "custom",
|
|
5848
|
+
children: ["Build Your Own", state.selectedWidgets.length > 0 && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5849
|
+
className: "wizard-count-badge",
|
|
5850
|
+
children: state.selectedWidgets.length
|
|
5851
|
+
})]
|
|
5852
|
+
})]
|
|
5853
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3.Content, {
|
|
5854
|
+
value: "prebuilt",
|
|
5855
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashboardList, {
|
|
5856
|
+
dashboards: dashboards,
|
|
5857
|
+
isLoading: dashLoading,
|
|
5858
|
+
error: dashError,
|
|
5859
|
+
selectedDashboard: state.selectedDashboard,
|
|
5860
|
+
onSelect: handleSelectDashboard
|
|
5861
|
+
})
|
|
5862
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3.Content, {
|
|
5863
|
+
value: "custom",
|
|
5864
|
+
children: /*#__PURE__*/jsxRuntime.jsx(WidgetList, {
|
|
5865
|
+
widgets: filteredWidgets,
|
|
5866
|
+
isLoading: widgetsLoading,
|
|
5867
|
+
error: widgetsError,
|
|
5868
|
+
isSelected: isWidgetSelected,
|
|
5869
|
+
onToggle: handleToggleWidget,
|
|
5870
|
+
selectedCount: state.selectedWidgets.length
|
|
5871
|
+
})
|
|
5872
|
+
})]
|
|
5873
|
+
})]
|
|
5874
|
+
});
|
|
5875
|
+
};
|
|
5876
|
+
|
|
5877
|
+
// --- Sub-components ---
|
|
5878
|
+
|
|
5879
|
+
var DashboardList = function DashboardList(_ref3) {
|
|
5880
|
+
var dashboards = _ref3.dashboards,
|
|
5881
|
+
isLoading = _ref3.isLoading,
|
|
5882
|
+
error = _ref3.error,
|
|
5883
|
+
selectedDashboard = _ref3.selectedDashboard,
|
|
5884
|
+
onSelect = _ref3.onSelect;
|
|
5885
|
+
if (isLoading) {
|
|
5886
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5887
|
+
className: "wizard-loading",
|
|
5888
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5889
|
+
icon: "spinner",
|
|
5890
|
+
spin: true,
|
|
5891
|
+
fixedWidth: true,
|
|
5892
|
+
className: "wizard-loading-icon"
|
|
5893
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5894
|
+
children: "Searching dashboards..."
|
|
5895
|
+
})]
|
|
5896
|
+
});
|
|
5897
|
+
}
|
|
5898
|
+
if (error) {
|
|
5899
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5900
|
+
className: "wizard-error",
|
|
5901
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5902
|
+
icon: "circle-exclamation",
|
|
5903
|
+
fixedWidth: true
|
|
5904
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5905
|
+
children: error
|
|
5906
|
+
})]
|
|
5907
|
+
});
|
|
5908
|
+
}
|
|
5909
|
+
if (dashboards.length === 0) {
|
|
5910
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5911
|
+
className: "wizard-empty",
|
|
5912
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5913
|
+
icon: "box-open",
|
|
5914
|
+
fixedWidth: true,
|
|
5915
|
+
className: "wizard-empty-icon"
|
|
5916
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
5917
|
+
children: "No pre-built dashboards match your selections."
|
|
5918
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
5919
|
+
className: "wizard-empty-hint",
|
|
5920
|
+
children: "Try the \"Build Your Own\" tab to pick individual widgets."
|
|
5921
|
+
})]
|
|
5922
|
+
});
|
|
5923
|
+
}
|
|
5924
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
5925
|
+
className: "wizard-dashboard-list",
|
|
5926
|
+
children: dashboards.map(function (dash) {
|
|
5927
|
+
var isSelected = selectedDashboard && selectedDashboard.name === dash.name;
|
|
5928
|
+
var widgetCount = (dash.widgets || []).length;
|
|
5929
|
+
var providerNames = (dash.providers || []).map(function (p) {
|
|
5930
|
+
return p.name || p.type;
|
|
5931
|
+
}).join(", ");
|
|
5932
|
+
return /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
5933
|
+
type: "button",
|
|
5934
|
+
className: "wizard-dashboard-card ".concat(isSelected ? "wizard-dashboard-card--selected" : ""),
|
|
5935
|
+
onClick: function onClick() {
|
|
5936
|
+
return onSelect(dash);
|
|
5937
|
+
},
|
|
5938
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5939
|
+
className: "wizard-dashboard-card-header",
|
|
5940
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5941
|
+
icon: resolveIcon(dash.icon || "grid-2"),
|
|
5942
|
+
fixedWidth: true,
|
|
5943
|
+
className: "wizard-dashboard-card-icon"
|
|
5944
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5945
|
+
className: "wizard-dashboard-card-name",
|
|
5946
|
+
children: dash.displayName || dash.name
|
|
5947
|
+
}), isSelected && /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5948
|
+
icon: "circle-check",
|
|
5949
|
+
className: "wizard-dashboard-card-check"
|
|
5950
|
+
})]
|
|
5951
|
+
}), dash.description && /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
5952
|
+
className: "wizard-dashboard-card-desc",
|
|
5953
|
+
children: dash.description
|
|
5954
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5955
|
+
className: "wizard-dashboard-card-meta",
|
|
5956
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
5957
|
+
children: [widgetCount, " widget", widgetCount !== 1 ? "s" : ""]
|
|
5958
|
+
}), providerNames && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5959
|
+
children: providerNames
|
|
5960
|
+
})]
|
|
5961
|
+
})]
|
|
5962
|
+
}, dash.name);
|
|
5963
|
+
})
|
|
5964
|
+
});
|
|
5965
|
+
};
|
|
5966
|
+
var WidgetList = function WidgetList(_ref4) {
|
|
5967
|
+
var widgets = _ref4.widgets,
|
|
5968
|
+
isLoading = _ref4.isLoading,
|
|
5969
|
+
error = _ref4.error,
|
|
5970
|
+
isSelected = _ref4.isSelected,
|
|
5971
|
+
onToggle = _ref4.onToggle,
|
|
5972
|
+
selectedCount = _ref4.selectedCount;
|
|
5973
|
+
if (isLoading) {
|
|
5974
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5975
|
+
className: "wizard-loading",
|
|
5976
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5977
|
+
icon: "spinner",
|
|
5978
|
+
spin: true,
|
|
5979
|
+
fixedWidth: true,
|
|
5980
|
+
className: "wizard-loading-icon"
|
|
5981
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5982
|
+
children: "Searching widgets..."
|
|
5983
|
+
})]
|
|
5984
|
+
});
|
|
5985
|
+
}
|
|
5986
|
+
if (error) {
|
|
5987
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5988
|
+
className: "wizard-error",
|
|
5989
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5990
|
+
icon: "circle-exclamation",
|
|
5991
|
+
fixedWidth: true
|
|
5992
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5993
|
+
children: error
|
|
5994
|
+
})]
|
|
5995
|
+
});
|
|
5996
|
+
}
|
|
5997
|
+
if (widgets.length === 0) {
|
|
5998
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5999
|
+
className: "wizard-empty",
|
|
6000
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6001
|
+
icon: "puzzle-piece",
|
|
6002
|
+
fixedWidth: true,
|
|
6003
|
+
className: "wizard-empty-icon"
|
|
6004
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6005
|
+
children: "No widgets match your selections."
|
|
6006
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6007
|
+
className: "wizard-empty-hint",
|
|
6008
|
+
children: "Try adjusting your categories or providers in the previous steps."
|
|
6009
|
+
})]
|
|
6010
|
+
});
|
|
6011
|
+
}
|
|
6012
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6013
|
+
className: "wizard-widget-list",
|
|
6014
|
+
children: [selectedCount > 0 && /*#__PURE__*/jsxRuntime.jsxs("p", {
|
|
6015
|
+
className: "wizard-widget-count",
|
|
6016
|
+
children: [selectedCount, " widget", selectedCount !== 1 ? "s" : "", " selected"]
|
|
6017
|
+
}), widgets.map(function (widget) {
|
|
6018
|
+
var checked = isSelected(widget);
|
|
6019
|
+
return /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
6020
|
+
type: "button",
|
|
6021
|
+
className: "wizard-widget-card ".concat(checked ? "wizard-widget-card--selected" : ""),
|
|
6022
|
+
onClick: function onClick() {
|
|
6023
|
+
return onToggle(widget);
|
|
6024
|
+
},
|
|
6025
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6026
|
+
className: "wizard-widget-card-checkbox",
|
|
6027
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6028
|
+
icon: checked ? "square-check" : "square",
|
|
6029
|
+
fixedWidth: true
|
|
6030
|
+
})
|
|
6031
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6032
|
+
className: "wizard-widget-card-info",
|
|
6033
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6034
|
+
className: "wizard-widget-card-header",
|
|
6035
|
+
children: [widget.icon && /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6036
|
+
icon: resolveIcon(widget.icon),
|
|
6037
|
+
fixedWidth: true,
|
|
6038
|
+
className: "wizard-widget-card-icon"
|
|
6039
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6040
|
+
className: "wizard-widget-card-name",
|
|
6041
|
+
children: widget.name
|
|
6042
|
+
})]
|
|
6043
|
+
}), widget.description && /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6044
|
+
className: "wizard-widget-card-desc",
|
|
6045
|
+
children: widget.description
|
|
6046
|
+
}), widget.packageDisplayName && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6047
|
+
className: "wizard-widget-card-package",
|
|
6048
|
+
children: widget.packageDisplayName
|
|
6049
|
+
})]
|
|
6050
|
+
})]
|
|
6051
|
+
}, widget.key);
|
|
6052
|
+
})]
|
|
6053
|
+
});
|
|
6054
|
+
};
|
|
6055
|
+
|
|
5411
6056
|
var LayoutBuilderAddItemModal = function LayoutBuilderAddItemModal(_ref) {
|
|
5412
6057
|
var workspace = _ref.workspace,
|
|
5413
6058
|
open = _ref.open,
|
|
@@ -6011,7 +6656,7 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
|
|
|
6011
6656
|
var hasPropertyDescriptors_1 = hasPropertyDescriptors;
|
|
6012
6657
|
|
|
6013
6658
|
var keys = objectKeys$2;
|
|
6014
|
-
var hasSymbols$
|
|
6659
|
+
var hasSymbols$4 = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
|
|
6015
6660
|
|
|
6016
6661
|
var toStr$4 = Object.prototype.toString;
|
|
6017
6662
|
var concat = Array.prototype.concat;
|
|
@@ -6044,7 +6689,7 @@ var defineProperty$1 = function (object, name, value, predicate) {
|
|
|
6044
6689
|
var defineProperties$1 = function (object, map) {
|
|
6045
6690
|
var predicates = arguments.length > 2 ? arguments[2] : {};
|
|
6046
6691
|
var props = keys(map);
|
|
6047
|
-
if (hasSymbols$
|
|
6692
|
+
if (hasSymbols$4) {
|
|
6048
6693
|
props = concat.call(props, Object.getOwnPropertySymbols(map));
|
|
6049
6694
|
}
|
|
6050
6695
|
for (var i = 0; i < props.length; i += 1) {
|
|
@@ -6110,11 +6755,11 @@ var sign$1 = function sign(number) {
|
|
|
6110
6755
|
};
|
|
6111
6756
|
|
|
6112
6757
|
var shams$1;
|
|
6113
|
-
var hasRequiredShams;
|
|
6758
|
+
var hasRequiredShams$1;
|
|
6114
6759
|
|
|
6115
|
-
function requireShams () {
|
|
6116
|
-
if (hasRequiredShams) return shams$1;
|
|
6117
|
-
hasRequiredShams = 1;
|
|
6760
|
+
function requireShams$1 () {
|
|
6761
|
+
if (hasRequiredShams$1) return shams$1;
|
|
6762
|
+
hasRequiredShams$1 = 1;
|
|
6118
6763
|
|
|
6119
6764
|
/** @type {import('./shams')} */
|
|
6120
6765
|
/* eslint complexity: [2, 18], max-statements: [2, 33] */
|
|
@@ -6163,10 +6808,10 @@ function requireShams () {
|
|
|
6163
6808
|
}
|
|
6164
6809
|
|
|
6165
6810
|
var origSymbol = typeof Symbol !== 'undefined' && Symbol;
|
|
6166
|
-
var hasSymbolSham = requireShams();
|
|
6811
|
+
var hasSymbolSham = requireShams$1();
|
|
6167
6812
|
|
|
6168
6813
|
/** @type {import('.')} */
|
|
6169
|
-
var hasSymbols$
|
|
6814
|
+
var hasSymbols$3 = function hasNativeSymbols() {
|
|
6170
6815
|
if (typeof origSymbol !== 'function') { return false; }
|
|
6171
6816
|
if (typeof Symbol !== 'function') { return false; }
|
|
6172
6817
|
if (typeof origSymbol('foo') !== 'symbol') { return false; }
|
|
@@ -6470,7 +7115,7 @@ var ThrowTypeError = $gOPD$1
|
|
|
6470
7115
|
}())
|
|
6471
7116
|
: throwTypeError;
|
|
6472
7117
|
|
|
6473
|
-
var hasSymbols$
|
|
7118
|
+
var hasSymbols$2 = hasSymbols$3();
|
|
6474
7119
|
|
|
6475
7120
|
var getProto$2 = getProto$3;
|
|
6476
7121
|
var $ObjectGPO = requireObject_getPrototypeOf();
|
|
@@ -6488,7 +7133,7 @@ var INTRINSICS = {
|
|
|
6488
7133
|
'%AggregateError%': typeof AggregateError === 'undefined' ? undefined$1 : AggregateError,
|
|
6489
7134
|
'%Array%': Array,
|
|
6490
7135
|
'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined$1 : ArrayBuffer,
|
|
6491
|
-
'%ArrayIteratorPrototype%': hasSymbols$
|
|
7136
|
+
'%ArrayIteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2([][Symbol.iterator]()) : undefined$1,
|
|
6492
7137
|
'%AsyncFromSyncIteratorPrototype%': undefined$1,
|
|
6493
7138
|
'%AsyncFunction%': needsEval,
|
|
6494
7139
|
'%AsyncGenerator%': needsEval,
|
|
@@ -6519,10 +7164,10 @@ var INTRINSICS = {
|
|
|
6519
7164
|
'%Int32Array%': typeof Int32Array === 'undefined' ? undefined$1 : Int32Array,
|
|
6520
7165
|
'%isFinite%': isFinite,
|
|
6521
7166
|
'%isNaN%': isNaN,
|
|
6522
|
-
'%IteratorPrototype%': hasSymbols$
|
|
7167
|
+
'%IteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2(getProto$2([][Symbol.iterator]())) : undefined$1,
|
|
6523
7168
|
'%JSON%': typeof JSON === 'object' ? JSON : undefined$1,
|
|
6524
7169
|
'%Map%': typeof Map === 'undefined' ? undefined$1 : Map,
|
|
6525
|
-
'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$
|
|
7170
|
+
'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$2 || !getProto$2 ? undefined$1 : getProto$2(new Map()[Symbol.iterator]()),
|
|
6526
7171
|
'%Math%': Math,
|
|
6527
7172
|
'%Number%': Number,
|
|
6528
7173
|
'%Object%': $Object$2,
|
|
@@ -6536,11 +7181,11 @@ var INTRINSICS = {
|
|
|
6536
7181
|
'%Reflect%': typeof Reflect === 'undefined' ? undefined$1 : Reflect,
|
|
6537
7182
|
'%RegExp%': RegExp,
|
|
6538
7183
|
'%Set%': typeof Set === 'undefined' ? undefined$1 : Set,
|
|
6539
|
-
'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$
|
|
7184
|
+
'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$2 || !getProto$2 ? undefined$1 : getProto$2(new Set()[Symbol.iterator]()),
|
|
6540
7185
|
'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined$1 : SharedArrayBuffer,
|
|
6541
7186
|
'%String%': String,
|
|
6542
|
-
'%StringIteratorPrototype%': hasSymbols$
|
|
6543
|
-
'%Symbol%': hasSymbols$
|
|
7187
|
+
'%StringIteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2(''[Symbol.iterator]()) : undefined$1,
|
|
7188
|
+
'%Symbol%': hasSymbols$2 ? Symbol : undefined$1,
|
|
6544
7189
|
'%SyntaxError%': $SyntaxError$1,
|
|
6545
7190
|
'%ThrowTypeError%': ThrowTypeError,
|
|
6546
7191
|
'%TypedArray%': TypedArray,
|
|
@@ -6893,12 +7538,12 @@ var callBound$i = function callBoundIntrinsic(name, allowMissing) {
|
|
|
6893
7538
|
|
|
6894
7539
|
// modified from https://github.com/es-shims/es6-shim
|
|
6895
7540
|
var objectKeys$1 = objectKeys$2;
|
|
6896
|
-
var hasSymbols$
|
|
7541
|
+
var hasSymbols$1 = requireShams$1()();
|
|
6897
7542
|
var callBound$h = callBound$i;
|
|
6898
7543
|
var $Object$1 = esObjectAtoms;
|
|
6899
7544
|
var $push = callBound$h('Array.prototype.push');
|
|
6900
7545
|
var $propIsEnumerable = callBound$h('Object.prototype.propertyIsEnumerable');
|
|
6901
|
-
var originalGetSymbols = hasSymbols$
|
|
7546
|
+
var originalGetSymbols = hasSymbols$1 ? $Object$1.getOwnPropertySymbols : null;
|
|
6902
7547
|
|
|
6903
7548
|
// eslint-disable-next-line no-unused-vars
|
|
6904
7549
|
var implementation$8 = function assign(target, source1) {
|
|
@@ -6912,7 +7557,7 @@ var implementation$8 = function assign(target, source1) {
|
|
|
6912
7557
|
|
|
6913
7558
|
// step 3.a.ii:
|
|
6914
7559
|
var keys = objectKeys$1(from);
|
|
6915
|
-
var getSymbols = hasSymbols$
|
|
7560
|
+
var getSymbols = hasSymbols$1 && ($Object$1.getOwnPropertySymbols || originalGetSymbols);
|
|
6916
7561
|
if (getSymbols) {
|
|
6917
7562
|
var syms = getSymbols(from);
|
|
6918
7563
|
for (var j = 0; j < syms.length; ++j) {
|
|
@@ -7209,14 +7854,23 @@ var regexp_prototype_flags = flagsBound;
|
|
|
7209
7854
|
|
|
7210
7855
|
var esGetIterator = {exports: {}};
|
|
7211
7856
|
|
|
7212
|
-
var
|
|
7857
|
+
var shams;
|
|
7858
|
+
var hasRequiredShams;
|
|
7213
7859
|
|
|
7214
|
-
|
|
7215
|
-
|
|
7216
|
-
|
|
7217
|
-
|
|
7860
|
+
function requireShams () {
|
|
7861
|
+
if (hasRequiredShams) return shams;
|
|
7862
|
+
hasRequiredShams = 1;
|
|
7863
|
+
|
|
7864
|
+
var hasSymbols = requireShams$1();
|
|
7865
|
+
|
|
7866
|
+
/** @type {import('.')} */
|
|
7867
|
+
shams = function hasToStringTagShams() {
|
|
7868
|
+
return hasSymbols() && !!Symbol.toStringTag;
|
|
7869
|
+
};
|
|
7870
|
+
return shams;
|
|
7871
|
+
}
|
|
7218
7872
|
|
|
7219
|
-
var hasToStringTag$7 =
|
|
7873
|
+
var hasToStringTag$7 = requireShams()();
|
|
7220
7874
|
var callBound$f = callBound$i;
|
|
7221
7875
|
|
|
7222
7876
|
var $toString$7 = callBound$f('Object.prototype.toString');
|
|
@@ -8253,7 +8907,7 @@ var tryStringObject = function tryStringObject(value) {
|
|
|
8253
8907
|
/** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */
|
|
8254
8908
|
var $toString$6 = callBound$c('Object.prototype.toString');
|
|
8255
8909
|
var strClass = '[object String]';
|
|
8256
|
-
var hasToStringTag$6 =
|
|
8910
|
+
var hasToStringTag$6 = requireShams()();
|
|
8257
8911
|
|
|
8258
8912
|
/** @type {import('.')} */
|
|
8259
8913
|
var isString$2 = function isString(value) {
|
|
@@ -8369,7 +9023,7 @@ var isSet$2 = exported$1 || function isSet(x) {
|
|
|
8369
9023
|
var isArguments$1 = isArguments$2;
|
|
8370
9024
|
var getStopIterationIterator = stopIterationIterator;
|
|
8371
9025
|
|
|
8372
|
-
if (hasSymbols$
|
|
9026
|
+
if (hasSymbols$3() || requireShams$1()()) {
|
|
8373
9027
|
var $iterator = Symbol.iterator;
|
|
8374
9028
|
// Symbol is available natively or shammed
|
|
8375
9029
|
// natively:
|
|
@@ -8658,7 +9312,7 @@ var tryDateObject = function tryDateGetDayCall(value) {
|
|
|
8658
9312
|
/** @type {(value: unknown) => string} */
|
|
8659
9313
|
var toStr$2 = callBound$9('Object.prototype.toString');
|
|
8660
9314
|
var dateClass = '[object Date]';
|
|
8661
|
-
var hasToStringTag$5 =
|
|
9315
|
+
var hasToStringTag$5 = requireShams()();
|
|
8662
9316
|
|
|
8663
9317
|
/** @type {import('.')} */
|
|
8664
9318
|
var isDateObject = function isDateObject(value) {
|
|
@@ -8669,7 +9323,7 @@ var isDateObject = function isDateObject(value) {
|
|
|
8669
9323
|
};
|
|
8670
9324
|
|
|
8671
9325
|
var callBound$8 = callBound$i;
|
|
8672
|
-
var hasToStringTag$4 =
|
|
9326
|
+
var hasToStringTag$4 = requireShams()();
|
|
8673
9327
|
var hasOwn = hasown;
|
|
8674
9328
|
var gOPD$1 = gopd$1;
|
|
8675
9329
|
|
|
@@ -8774,7 +9428,7 @@ var tryNumberObject = function tryNumberObject(value) {
|
|
|
8774
9428
|
};
|
|
8775
9429
|
var $toString$3 = callBound$6('Object.prototype.toString');
|
|
8776
9430
|
var numClass = '[object Number]';
|
|
8777
|
-
var hasToStringTag$3 =
|
|
9431
|
+
var hasToStringTag$3 = requireShams()();
|
|
8778
9432
|
|
|
8779
9433
|
/** @type {import('.')} */
|
|
8780
9434
|
var isNumberObject = function isNumberObject(value) {
|
|
@@ -8801,7 +9455,7 @@ var tryBooleanObject = function booleanBrandCheck(value) {
|
|
|
8801
9455
|
}
|
|
8802
9456
|
};
|
|
8803
9457
|
var boolClass = '[object Boolean]';
|
|
8804
|
-
var hasToStringTag$2 =
|
|
9458
|
+
var hasToStringTag$2 = requireShams()();
|
|
8805
9459
|
|
|
8806
9460
|
/** @type {import('.')} */
|
|
8807
9461
|
var isBooleanObject = function isBoolean(value) {
|
|
@@ -8843,7 +9497,7 @@ function requireSafeRegexTest () {
|
|
|
8843
9497
|
|
|
8844
9498
|
var callBound$4 = callBound$i;
|
|
8845
9499
|
var $toString$1 = callBound$4('Object.prototype.toString');
|
|
8846
|
-
var hasSymbols = hasSymbols$
|
|
9500
|
+
var hasSymbols = hasSymbols$3();
|
|
8847
9501
|
var safeRegexTest = requireSafeRegexTest();
|
|
8848
9502
|
|
|
8849
9503
|
if (hasSymbols) {
|
|
@@ -9289,7 +9943,7 @@ var gOPD = gopd$1;
|
|
|
9289
9943
|
var getProto = getProto$3;
|
|
9290
9944
|
|
|
9291
9945
|
var $toString = callBound$2('Object.prototype.toString');
|
|
9292
|
-
var hasToStringTag =
|
|
9946
|
+
var hasToStringTag = requireShams()();
|
|
9293
9947
|
|
|
9294
9948
|
var g = typeof globalThis === 'undefined' ? commonjsGlobal : globalThis;
|
|
9295
9949
|
var typedArrays = availableTypedArrays();
|
|
@@ -10040,9 +10694,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
10040
10694
|
};
|
|
10041
10695
|
|
|
10042
10696
|
var _excluded$5 = ["rows", "cols"];
|
|
10043
|
-
function _createForOfIteratorHelper$
|
|
10044
|
-
function _unsupportedIterableToArray$
|
|
10045
|
-
function _arrayLikeToArray$
|
|
10697
|
+
function _createForOfIteratorHelper$d(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$d(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
10698
|
+
function _unsupportedIterableToArray$d(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$d(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$d(r, a) : void 0; } }
|
|
10699
|
+
function _arrayLikeToArray$d(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
10046
10700
|
function ownKeys$z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10047
10701
|
function _objectSpread$z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10048
10702
|
var defaultGrid = {
|
|
@@ -10195,7 +10849,7 @@ function GridEditor(_ref) {
|
|
|
10195
10849
|
function sortObjectByKeys(obj) {
|
|
10196
10850
|
var sortedKeys = Object.keys(obj).sort();
|
|
10197
10851
|
var sortedObj = {};
|
|
10198
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10852
|
+
var _iterator = _createForOfIteratorHelper$d(sortedKeys),
|
|
10199
10853
|
_step;
|
|
10200
10854
|
try {
|
|
10201
10855
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10668,9 +11322,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
10668
11322
|
});
|
|
10669
11323
|
};
|
|
10670
11324
|
|
|
10671
|
-
function _createForOfIteratorHelper$
|
|
10672
|
-
function _unsupportedIterableToArray$
|
|
10673
|
-
function _arrayLikeToArray$
|
|
11325
|
+
function _createForOfIteratorHelper$c(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$c(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
11326
|
+
function _unsupportedIterableToArray$c(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$c(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$c(r, a) : void 0; } }
|
|
11327
|
+
function _arrayLikeToArray$c(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
10674
11328
|
function ownKeys$x(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10675
11329
|
function _objectSpread$x(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$x(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10676
11330
|
var DAYS = [{
|
|
@@ -10999,7 +11653,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
10999
11653
|
setIsLoading(true);
|
|
11000
11654
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
11001
11655
|
var stateMap = {};
|
|
11002
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11656
|
+
var _iterator = _createForOfIteratorHelper$c(tasks || []),
|
|
11003
11657
|
_step;
|
|
11004
11658
|
try {
|
|
11005
11659
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13849,9 +14503,9 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
|
|
|
13849
14503
|
});
|
|
13850
14504
|
};
|
|
13851
14505
|
|
|
13852
|
-
function _createForOfIteratorHelper$
|
|
13853
|
-
function _unsupportedIterableToArray$
|
|
13854
|
-
function _arrayLikeToArray$
|
|
14506
|
+
function _createForOfIteratorHelper$b(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$b(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
14507
|
+
function _unsupportedIterableToArray$b(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$b(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$b(r, a) : void 0; } }
|
|
14508
|
+
function _arrayLikeToArray$b(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
13855
14509
|
function ownKeys$u(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13856
14510
|
function _objectSpread$u(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$u(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13857
14511
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -14118,11 +14772,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14118
14772
|
|
|
14119
14773
|
// Flatten all widgets from all packages for the widget list
|
|
14120
14774
|
flatWidgets = [];
|
|
14121
|
-
_iterator = _createForOfIteratorHelper$
|
|
14775
|
+
_iterator = _createForOfIteratorHelper$b(result.packages || []);
|
|
14122
14776
|
try {
|
|
14123
14777
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
14124
14778
|
pkg = _step.value;
|
|
14125
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
14779
|
+
_iterator2 = _createForOfIteratorHelper$b(pkg.widgets || []);
|
|
14126
14780
|
try {
|
|
14127
14781
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
14128
14782
|
widget = _step2.value;
|
|
@@ -15678,9 +16332,9 @@ var ProviderBadge = function ProviderBadge(_ref) {
|
|
|
15678
16332
|
});
|
|
15679
16333
|
};
|
|
15680
16334
|
|
|
15681
|
-
function _createForOfIteratorHelper$
|
|
15682
|
-
function _unsupportedIterableToArray$
|
|
15683
|
-
function _arrayLikeToArray$
|
|
16335
|
+
function _createForOfIteratorHelper$a(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$a(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
16336
|
+
function _unsupportedIterableToArray$a(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$a(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$a(r, a) : void 0; } }
|
|
16337
|
+
function _arrayLikeToArray$a(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
15684
16338
|
var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
15685
16339
|
var item = _ref.item,
|
|
15686
16340
|
widget = _ref.widget,
|
|
@@ -15724,7 +16378,7 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
15724
16378
|
var el = headerRef.current;
|
|
15725
16379
|
if (!el) return;
|
|
15726
16380
|
var observer = new ResizeObserver(function (entries) {
|
|
15727
|
-
var _iterator = _createForOfIteratorHelper$
|
|
16381
|
+
var _iterator = _createForOfIteratorHelper$a(entries),
|
|
15728
16382
|
_step;
|
|
15729
16383
|
try {
|
|
15730
16384
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -16081,9 +16735,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
|
|
|
16081
16735
|
};
|
|
16082
16736
|
};
|
|
16083
16737
|
|
|
16084
|
-
function _createForOfIteratorHelper$
|
|
16085
|
-
function _unsupportedIterableToArray$
|
|
16086
|
-
function _arrayLikeToArray$
|
|
16738
|
+
function _createForOfIteratorHelper$9(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$9(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
16739
|
+
function _unsupportedIterableToArray$9(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$9(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$9(r, a) : void 0; } }
|
|
16740
|
+
function _arrayLikeToArray$9(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
16087
16741
|
function formatCountdown(ms) {
|
|
16088
16742
|
if (ms == null || ms < 0) return "--";
|
|
16089
16743
|
if (ms < 1000) return "< 1s";
|
|
@@ -16200,7 +16854,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
|
|
|
16200
16854
|
|
|
16201
16855
|
// Find soonest countdown among enabled tasks
|
|
16202
16856
|
var soonestMs = null;
|
|
16203
|
-
var _iterator = _createForOfIteratorHelper$
|
|
16857
|
+
var _iterator = _createForOfIteratorHelper$9(enabledTasks),
|
|
16204
16858
|
_step;
|
|
16205
16859
|
try {
|
|
16206
16860
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -20813,9 +21467,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
20813
21467
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
20814
21468
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
20815
21469
|
|
|
20816
|
-
function _createForOfIteratorHelper$
|
|
20817
|
-
function _unsupportedIterableToArray$
|
|
20818
|
-
function _arrayLikeToArray$
|
|
21470
|
+
function _createForOfIteratorHelper$8(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$8(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
21471
|
+
function _unsupportedIterableToArray$8(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$8(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$8(r, a) : void 0; } }
|
|
21472
|
+
function _arrayLikeToArray$8(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
20819
21473
|
function ownKeys$n(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
20820
21474
|
function _objectSpread$n(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$n(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$n(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20821
21475
|
var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
|
|
@@ -21379,7 +22033,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
21379
22033
|
return selectable["delete"](cn);
|
|
21380
22034
|
});
|
|
21381
22035
|
var resolved = new Set();
|
|
21382
|
-
var _iterator = _createForOfIteratorHelper$
|
|
22036
|
+
var _iterator = _createForOfIteratorHelper$8(selectable),
|
|
21383
22037
|
_step;
|
|
21384
22038
|
try {
|
|
21385
22039
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -23519,9 +24173,9 @@ function isWidgetResolvable(componentKey) {
|
|
|
23519
24173
|
|
|
23520
24174
|
function ownKeys$m(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23521
24175
|
function _objectSpread$m(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$m(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$m(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23522
|
-
function _createForOfIteratorHelper$
|
|
23523
|
-
function _unsupportedIterableToArray$
|
|
23524
|
-
function _arrayLikeToArray$
|
|
24176
|
+
function _createForOfIteratorHelper$7(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$7(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
24177
|
+
function _unsupportedIterableToArray$7(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$7(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$7(r, a) : void 0; } }
|
|
24178
|
+
function _arrayLikeToArray$7(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
23525
24179
|
/**
|
|
23526
24180
|
* The model for all layout components used primarily in the renderLayout method
|
|
23527
24181
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -23533,7 +24187,7 @@ function _arrayLikeToArray$8(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
23533
24187
|
function sortObjectByKeys(obj) {
|
|
23534
24188
|
var sortedKeys = Object.keys(obj).sort();
|
|
23535
24189
|
var sortedObj = {};
|
|
23536
|
-
var _iterator = _createForOfIteratorHelper$
|
|
24190
|
+
var _iterator = _createForOfIteratorHelper$7(sortedKeys),
|
|
23537
24191
|
_step;
|
|
23538
24192
|
try {
|
|
23539
24193
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -26799,9 +27453,9 @@ var useDashboard = function useDashboard() {
|
|
|
26799
27453
|
});
|
|
26800
27454
|
};
|
|
26801
27455
|
|
|
26802
|
-
function _createForOfIteratorHelper$
|
|
26803
|
-
function _unsupportedIterableToArray$
|
|
26804
|
-
function _arrayLikeToArray$
|
|
27456
|
+
function _createForOfIteratorHelper$6(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$6(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
27457
|
+
function _unsupportedIterableToArray$6(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$6(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$6(r, a) : void 0; } }
|
|
27458
|
+
function _arrayLikeToArray$6(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
26805
27459
|
|
|
26806
27460
|
/**
|
|
26807
27461
|
* useWidgetProviders Hook
|
|
@@ -26852,7 +27506,7 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
26852
27506
|
// 1. Widget-level: stored directly on the layout item by handleSelectProvider
|
|
26853
27507
|
// 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
|
|
26854
27508
|
var providers = {};
|
|
26855
|
-
var _iterator = _createForOfIteratorHelper$
|
|
27509
|
+
var _iterator = _createForOfIteratorHelper$6(providerDeclarations),
|
|
26856
27510
|
_step;
|
|
26857
27511
|
try {
|
|
26858
27512
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -27587,9 +28241,9 @@ var useNotifications = function useNotifications() {
|
|
|
27587
28241
|
};
|
|
27588
28242
|
};
|
|
27589
28243
|
|
|
27590
|
-
function _createForOfIteratorHelper$
|
|
27591
|
-
function _unsupportedIterableToArray$
|
|
27592
|
-
function _arrayLikeToArray$
|
|
28244
|
+
function _createForOfIteratorHelper$5(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$5(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
28245
|
+
function _unsupportedIterableToArray$5(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$5(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$5(r, a) : void 0; } }
|
|
28246
|
+
function _arrayLikeToArray$5(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
27593
28247
|
|
|
27594
28248
|
/**
|
|
27595
28249
|
* useScheduler Hook
|
|
@@ -27662,7 +28316,7 @@ var useScheduler = function useScheduler() {
|
|
|
27662
28316
|
if (pending && pending.length > 0) {
|
|
27663
28317
|
setPendingResults(pending);
|
|
27664
28318
|
// Call handlers for each pending result
|
|
27665
|
-
var _iterator = _createForOfIteratorHelper$
|
|
28319
|
+
var _iterator = _createForOfIteratorHelper$5(pending),
|
|
27666
28320
|
_step;
|
|
27667
28321
|
try {
|
|
27668
28322
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -30839,9 +31493,9 @@ function loadWidgetBundle(source, widgetName) {
|
|
|
30839
31493
|
};
|
|
30840
31494
|
}
|
|
30841
31495
|
|
|
30842
|
-
function _createForOfIteratorHelper$
|
|
30843
|
-
function _unsupportedIterableToArray$
|
|
30844
|
-
function _arrayLikeToArray$
|
|
31496
|
+
function _createForOfIteratorHelper$4(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$4(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
31497
|
+
function _unsupportedIterableToArray$4(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$4(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$4(r, a) : void 0; } }
|
|
31498
|
+
function _arrayLikeToArray$4(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
30845
31499
|
/**
|
|
30846
31500
|
* Validation utilities for grid-first dashboard architecture
|
|
30847
31501
|
*
|
|
@@ -31080,7 +31734,7 @@ var validateCellMerge = function validateCellMerge(cellNumbers, grid) {
|
|
|
31080
31734
|
|
|
31081
31735
|
// Validate each cell
|
|
31082
31736
|
var cells = [];
|
|
31083
|
-
var _iterator = _createForOfIteratorHelper$
|
|
31737
|
+
var _iterator = _createForOfIteratorHelper$4(cellNumbers),
|
|
31084
31738
|
_step;
|
|
31085
31739
|
try {
|
|
31086
31740
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -38824,9 +39478,9 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
38824
39478
|
|
|
38825
39479
|
function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
38826
39480
|
function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
38827
|
-
function _createForOfIteratorHelper$
|
|
38828
|
-
function _unsupportedIterableToArray$
|
|
38829
|
-
function _arrayLikeToArray$
|
|
39481
|
+
function _createForOfIteratorHelper$3(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
39482
|
+
function _unsupportedIterableToArray$3(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$3(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0; } }
|
|
39483
|
+
function _arrayLikeToArray$3(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
38830
39484
|
function isValidWsUrl(url) {
|
|
38831
39485
|
if (!url) return false;
|
|
38832
39486
|
try {
|
|
@@ -38873,7 +39527,7 @@ function extractCredentialFields(url, headerRows) {
|
|
|
38873
39527
|
fields.add(match[1]);
|
|
38874
39528
|
}
|
|
38875
39529
|
}
|
|
38876
|
-
var _iterator = _createForOfIteratorHelper$
|
|
39530
|
+
var _iterator = _createForOfIteratorHelper$3(headerRows),
|
|
38877
39531
|
_step;
|
|
38878
39532
|
try {
|
|
38879
39533
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -38976,7 +39630,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
38976
39630
|
if (!url.trim()) errs.url = "WebSocket URL is required";else if (!isValidWsUrl(url)) errs.url = "URL must start with ws:// or wss://";
|
|
38977
39631
|
|
|
38978
39632
|
// Check required credential fields are filled
|
|
38979
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
39633
|
+
var _iterator2 = _createForOfIteratorHelper$3(credentialFields),
|
|
38980
39634
|
_step2;
|
|
38981
39635
|
try {
|
|
38982
39636
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -38999,7 +39653,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
38999
39653
|
|
|
39000
39654
|
// Build headers object from rows
|
|
39001
39655
|
var headers = {};
|
|
39002
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
39656
|
+
var _iterator3 = _createForOfIteratorHelper$3(headerRows),
|
|
39003
39657
|
_step3;
|
|
39004
39658
|
try {
|
|
39005
39659
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -39068,7 +39722,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
39068
39722
|
|
|
39069
39723
|
// Build config from current form state (same as handleSave)
|
|
39070
39724
|
headers = {};
|
|
39071
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
39725
|
+
_iterator4 = _createForOfIteratorHelper$3(headerRows);
|
|
39072
39726
|
try {
|
|
39073
39727
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
39074
39728
|
row = _step4.value;
|
|
@@ -41712,293 +42366,6 @@ var RegistryPackageDetail = function RegistryPackageDetail(_ref) {
|
|
|
41712
42366
|
});
|
|
41713
42367
|
};
|
|
41714
42368
|
|
|
41715
|
-
function _createForOfIteratorHelper$3(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
41716
|
-
function _unsupportedIterableToArray$3(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$3(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0; } }
|
|
41717
|
-
function _arrayLikeToArray$3(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
41718
|
-
|
|
41719
|
-
/**
|
|
41720
|
-
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
41721
|
-
*
|
|
41722
|
-
* Extracted from EnhancedWidgetDropdown so the same logic can power the
|
|
41723
|
-
* Discover tab inside AppSettingsModal (and anywhere else).
|
|
41724
|
-
*
|
|
41725
|
-
* Options:
|
|
41726
|
-
* filterByCapabilities – if true (default), only show packages compatible
|
|
41727
|
-
* with the app's API capabilities
|
|
41728
|
-
*
|
|
41729
|
-
* Returns:
|
|
41730
|
-
* packages – raw package objects from the registry
|
|
41731
|
-
* flatWidgets – flattened widget entries with `isRegistry: true`
|
|
41732
|
-
* isLoading – true while a search request is in flight
|
|
41733
|
-
* error – error message string (or null)
|
|
41734
|
-
* searchQuery / setSearchQuery – controlled search input
|
|
41735
|
-
* isInstalling – true during an install
|
|
41736
|
-
* installError – install error string (or null)
|
|
41737
|
-
* search() – manually trigger a search
|
|
41738
|
-
* installPackage(widget) – install a specific registry widget
|
|
41739
|
-
* showAllPackages / setShowAllPackages – toggle to show incompatible packages
|
|
41740
|
-
* appCapabilities – the app's API namespaces
|
|
41741
|
-
*/
|
|
41742
|
-
var useRegistrySearch = function useRegistrySearch() {
|
|
41743
|
-
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
41744
|
-
_ref$filterByCapabili = _ref.filterByCapabilities,
|
|
41745
|
-
filterByCapabilities = _ref$filterByCapabili === void 0 ? true : _ref$filterByCapabili;
|
|
41746
|
-
var _useState = React.useState(false),
|
|
41747
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
41748
|
-
isLoading = _useState2[0],
|
|
41749
|
-
setIsLoading = _useState2[1];
|
|
41750
|
-
var _useState3 = React.useState(null),
|
|
41751
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
41752
|
-
error = _useState4[0],
|
|
41753
|
-
setError = _useState4[1];
|
|
41754
|
-
var _useState5 = React.useState([]),
|
|
41755
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
41756
|
-
packages = _useState6[0],
|
|
41757
|
-
setPackages = _useState6[1];
|
|
41758
|
-
var _useState7 = React.useState([]),
|
|
41759
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
41760
|
-
flatWidgets = _useState8[0],
|
|
41761
|
-
setFlatWidgets = _useState8[1];
|
|
41762
|
-
var _useState9 = React.useState(""),
|
|
41763
|
-
_useState0 = _slicedToArray(_useState9, 2),
|
|
41764
|
-
searchQuery = _useState0[0],
|
|
41765
|
-
setSearchQuery = _useState0[1];
|
|
41766
|
-
var _useState1 = React.useState(false),
|
|
41767
|
-
_useState10 = _slicedToArray(_useState1, 2),
|
|
41768
|
-
isInstalling = _useState10[0],
|
|
41769
|
-
setIsInstalling = _useState10[1];
|
|
41770
|
-
var _useState11 = React.useState(null),
|
|
41771
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
41772
|
-
installError = _useState12[0],
|
|
41773
|
-
setInstallError = _useState12[1];
|
|
41774
|
-
var _useState13 = React.useState(false),
|
|
41775
|
-
_useState14 = _slicedToArray(_useState13, 2),
|
|
41776
|
-
showAllPackages = _useState14[0],
|
|
41777
|
-
setShowAllPackages = _useState14[1];
|
|
41778
|
-
|
|
41779
|
-
// Discover app capabilities from window.mainApi
|
|
41780
|
-
var appCapabilities = React.useMemo(function () {
|
|
41781
|
-
if (typeof window !== "undefined" && window.mainApi) {
|
|
41782
|
-
return Object.keys(window.mainApi);
|
|
41783
|
-
}
|
|
41784
|
-
return [];
|
|
41785
|
-
}, []);
|
|
41786
|
-
var search = React.useCallback(/*#__PURE__*/function () {
|
|
41787
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(query) {
|
|
41788
|
-
var _window$mainApi;
|
|
41789
|
-
var filters, result, pkgs, capSet, widgets, _iterator, _step, pkg, allApiProviders, _iterator2, _step2, p, _iterator3, _step3, w, _iterator5, _step5, _p, missingApis, _iterator4, _step4, widget, _t;
|
|
41790
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
41791
|
-
while (1) switch (_context.prev = _context.next) {
|
|
41792
|
-
case 0:
|
|
41793
|
-
if ((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && _window$mainApi.registry) {
|
|
41794
|
-
_context.next = 1;
|
|
41795
|
-
break;
|
|
41796
|
-
}
|
|
41797
|
-
setPackages([]);
|
|
41798
|
-
setFlatWidgets([]);
|
|
41799
|
-
return _context.abrupt("return");
|
|
41800
|
-
case 1:
|
|
41801
|
-
setIsLoading(true);
|
|
41802
|
-
setError(null);
|
|
41803
|
-
_context.prev = 2;
|
|
41804
|
-
filters = {};
|
|
41805
|
-
if (filterByCapabilities && !showAllPackages && appCapabilities.length) {
|
|
41806
|
-
filters.appCapabilities = appCapabilities;
|
|
41807
|
-
}
|
|
41808
|
-
_context.next = 3;
|
|
41809
|
-
return window.mainApi.registry.search(query !== null && query !== void 0 ? query : searchQuery, filters);
|
|
41810
|
-
case 3:
|
|
41811
|
-
result = _context.sent;
|
|
41812
|
-
// Only include packages that contain at least one widget
|
|
41813
|
-
// (filters out theme-only packages, etc.)
|
|
41814
|
-
pkgs = (result.packages || []).filter(function (pkg) {
|
|
41815
|
-
return pkg.widgets && pkg.widgets.length > 0;
|
|
41816
|
-
});
|
|
41817
|
-
setPackages(pkgs);
|
|
41818
|
-
|
|
41819
|
-
// Flatten packages into widget entries
|
|
41820
|
-
capSet = new Set(appCapabilities.map(function (c) {
|
|
41821
|
-
return c.toLowerCase();
|
|
41822
|
-
}));
|
|
41823
|
-
widgets = [];
|
|
41824
|
-
_iterator = _createForOfIteratorHelper$3(pkgs);
|
|
41825
|
-
try {
|
|
41826
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
41827
|
-
pkg = _step.value;
|
|
41828
|
-
// Compute missing APIs for the entire package
|
|
41829
|
-
allApiProviders = [];
|
|
41830
|
-
_iterator2 = _createForOfIteratorHelper$3(pkg.providers || []);
|
|
41831
|
-
try {
|
|
41832
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
41833
|
-
p = _step2.value;
|
|
41834
|
-
if (p.providerClass === "api" && p.required !== false) {
|
|
41835
|
-
allApiProviders.push(p.type);
|
|
41836
|
-
}
|
|
41837
|
-
}
|
|
41838
|
-
} catch (err) {
|
|
41839
|
-
_iterator2.e(err);
|
|
41840
|
-
} finally {
|
|
41841
|
-
_iterator2.f();
|
|
41842
|
-
}
|
|
41843
|
-
_iterator3 = _createForOfIteratorHelper$3(pkg.widgets || []);
|
|
41844
|
-
try {
|
|
41845
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
41846
|
-
w = _step3.value;
|
|
41847
|
-
_iterator5 = _createForOfIteratorHelper$3(w.providers || []);
|
|
41848
|
-
try {
|
|
41849
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
41850
|
-
_p = _step5.value;
|
|
41851
|
-
if (_p.providerClass === "api" && _p.required !== false) {
|
|
41852
|
-
allApiProviders.push(_p.type);
|
|
41853
|
-
}
|
|
41854
|
-
}
|
|
41855
|
-
} catch (err) {
|
|
41856
|
-
_iterator5.e(err);
|
|
41857
|
-
} finally {
|
|
41858
|
-
_iterator5.f();
|
|
41859
|
-
}
|
|
41860
|
-
}
|
|
41861
|
-
} catch (err) {
|
|
41862
|
-
_iterator3.e(err);
|
|
41863
|
-
} finally {
|
|
41864
|
-
_iterator3.f();
|
|
41865
|
-
}
|
|
41866
|
-
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
41867
|
-
return !capSet.has(api.toLowerCase());
|
|
41868
|
-
});
|
|
41869
|
-
_iterator4 = _createForOfIteratorHelper$3(pkg.widgets || []);
|
|
41870
|
-
try {
|
|
41871
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
41872
|
-
widget = _step4.value;
|
|
41873
|
-
widgets.push({
|
|
41874
|
-
key: "".concat(pkg.name, "/").concat(widget.name),
|
|
41875
|
-
name: widget.displayName || widget.name,
|
|
41876
|
-
description: widget.description || "",
|
|
41877
|
-
icon: widget.icon || null,
|
|
41878
|
-
providers: widget.providers || [],
|
|
41879
|
-
isRegistry: true,
|
|
41880
|
-
packageName: pkg.name,
|
|
41881
|
-
packageDisplayName: pkg.displayName || pkg.name,
|
|
41882
|
-
packageVersion: pkg.version,
|
|
41883
|
-
packageAuthor: pkg.author || "",
|
|
41884
|
-
packageDescription: pkg.description || "",
|
|
41885
|
-
packageTags: pkg.tags || [],
|
|
41886
|
-
packageCategory: pkg.category || "",
|
|
41887
|
-
downloadUrl: pkg.downloadUrl || "",
|
|
41888
|
-
repository: pkg.repository || "",
|
|
41889
|
-
publishedAt: pkg.publishedAt || "",
|
|
41890
|
-
packageWidgets: pkg.widgets || [],
|
|
41891
|
-
appOrigin: pkg.appOrigin || null,
|
|
41892
|
-
packageProviders: pkg.providers || [],
|
|
41893
|
-
missingApis: missingApis
|
|
41894
|
-
});
|
|
41895
|
-
}
|
|
41896
|
-
} catch (err) {
|
|
41897
|
-
_iterator4.e(err);
|
|
41898
|
-
} finally {
|
|
41899
|
-
_iterator4.f();
|
|
41900
|
-
}
|
|
41901
|
-
}
|
|
41902
|
-
} catch (err) {
|
|
41903
|
-
_iterator.e(err);
|
|
41904
|
-
} finally {
|
|
41905
|
-
_iterator.f();
|
|
41906
|
-
}
|
|
41907
|
-
setFlatWidgets(widgets);
|
|
41908
|
-
_context.next = 5;
|
|
41909
|
-
break;
|
|
41910
|
-
case 4:
|
|
41911
|
-
_context.prev = 4;
|
|
41912
|
-
_t = _context["catch"](2);
|
|
41913
|
-
setError(_t.message || "Failed to load registry");
|
|
41914
|
-
setPackages([]);
|
|
41915
|
-
setFlatWidgets([]);
|
|
41916
|
-
case 5:
|
|
41917
|
-
_context.prev = 5;
|
|
41918
|
-
setIsLoading(false);
|
|
41919
|
-
return _context.finish(5);
|
|
41920
|
-
case 6:
|
|
41921
|
-
case "end":
|
|
41922
|
-
return _context.stop();
|
|
41923
|
-
}
|
|
41924
|
-
}, _callee, null, [[2, 4, 5, 6]]);
|
|
41925
|
-
}));
|
|
41926
|
-
return function (_x) {
|
|
41927
|
-
return _ref2.apply(this, arguments);
|
|
41928
|
-
};
|
|
41929
|
-
}(), [searchQuery, filterByCapabilities, showAllPackages, appCapabilities]);
|
|
41930
|
-
|
|
41931
|
-
// Debounce search on query changes (300ms)
|
|
41932
|
-
React.useEffect(function () {
|
|
41933
|
-
var timer = setTimeout(function () {
|
|
41934
|
-
search(searchQuery);
|
|
41935
|
-
}, 300);
|
|
41936
|
-
return function () {
|
|
41937
|
-
return clearTimeout(timer);
|
|
41938
|
-
};
|
|
41939
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41940
|
-
}, [searchQuery, showAllPackages]);
|
|
41941
|
-
var installPackage = React.useCallback(/*#__PURE__*/function () {
|
|
41942
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(widget) {
|
|
41943
|
-
var packageName, downloadUrl, packageVersion, resolvedUrl, _t2;
|
|
41944
|
-
return _regeneratorRuntime.wrap(function (_context2) {
|
|
41945
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
41946
|
-
case 0:
|
|
41947
|
-
if (!(!widget || !widget.isRegistry)) {
|
|
41948
|
-
_context2.next = 1;
|
|
41949
|
-
break;
|
|
41950
|
-
}
|
|
41951
|
-
return _context2.abrupt("return");
|
|
41952
|
-
case 1:
|
|
41953
|
-
setIsInstalling(true);
|
|
41954
|
-
setInstallError(null);
|
|
41955
|
-
_context2.prev = 2;
|
|
41956
|
-
packageName = widget.packageName, downloadUrl = widget.downloadUrl, packageVersion = widget.packageVersion; // Resolve placeholders in the download URL
|
|
41957
|
-
resolvedUrl = downloadUrl.replace(/\{version\}/g, packageVersion).replace(/\{name\}/g, packageName);
|
|
41958
|
-
_context2.next = 3;
|
|
41959
|
-
return window.mainApi.widgets.install(packageName, resolvedUrl);
|
|
41960
|
-
case 3:
|
|
41961
|
-
_context2.next = 5;
|
|
41962
|
-
break;
|
|
41963
|
-
case 4:
|
|
41964
|
-
_context2.prev = 4;
|
|
41965
|
-
_t2 = _context2["catch"](2);
|
|
41966
|
-
setInstallError(_t2.message || "Failed to install package");
|
|
41967
|
-
case 5:
|
|
41968
|
-
_context2.prev = 5;
|
|
41969
|
-
setIsInstalling(false);
|
|
41970
|
-
return _context2.finish(5);
|
|
41971
|
-
case 6:
|
|
41972
|
-
case "end":
|
|
41973
|
-
return _context2.stop();
|
|
41974
|
-
}
|
|
41975
|
-
}, _callee2, null, [[2, 4, 5, 6]]);
|
|
41976
|
-
}));
|
|
41977
|
-
return function (_x2) {
|
|
41978
|
-
return _ref3.apply(this, arguments);
|
|
41979
|
-
};
|
|
41980
|
-
}(), []);
|
|
41981
|
-
var retry = React.useCallback(function () {
|
|
41982
|
-
search(searchQuery);
|
|
41983
|
-
}, [search, searchQuery]);
|
|
41984
|
-
return {
|
|
41985
|
-
packages: packages,
|
|
41986
|
-
flatWidgets: flatWidgets,
|
|
41987
|
-
isLoading: isLoading,
|
|
41988
|
-
error: error,
|
|
41989
|
-
searchQuery: searchQuery,
|
|
41990
|
-
setSearchQuery: setSearchQuery,
|
|
41991
|
-
isInstalling: isInstalling,
|
|
41992
|
-
installError: installError,
|
|
41993
|
-
search: search,
|
|
41994
|
-
installPackage: installPackage,
|
|
41995
|
-
retry: retry,
|
|
41996
|
-
showAllPackages: showAllPackages,
|
|
41997
|
-
setShowAllPackages: setShowAllPackages,
|
|
41998
|
-
appCapabilities: appCapabilities
|
|
41999
|
-
};
|
|
42000
|
-
};
|
|
42001
|
-
|
|
42002
42369
|
function _createForOfIteratorHelper$2(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
42003
42370
|
function _unsupportedIterableToArray$2(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$2(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0; } }
|
|
42004
42371
|
function _arrayLikeToArray$2(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -48681,6 +49048,7 @@ exports.WidgetProviderWrapper = WidgetProviderWrapper;
|
|
|
48681
49048
|
exports.WidgetSidebar = WidgetSidebar;
|
|
48682
49049
|
exports.WizardIntentStep = WizardIntentStep;
|
|
48683
49050
|
exports.WizardProvidersStep = WizardProvidersStep;
|
|
49051
|
+
exports.WizardResultsStep = WizardResultsStep;
|
|
48684
49052
|
exports.Workspace = Workspace;
|
|
48685
49053
|
exports.WorkspaceContext = WorkspaceContext;
|
|
48686
49054
|
exports.WorkspaceFooter = WorkspaceFooter;
|