@trops/dash-core 0.1.188 → 0.1.190
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 +1261 -605
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1260 -602
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2945,6 +2945,44 @@ var layoutTemplates = [{
|
|
|
2945
2945
|
row: 2,
|
|
2946
2946
|
col: 2
|
|
2947
2947
|
}]
|
|
2948
|
+
}, {
|
|
2949
|
+
id: "two-by-three",
|
|
2950
|
+
name: "2x3 Grid",
|
|
2951
|
+
description: "Six panels in two rows of three. Good for medium-density dashboards.",
|
|
2952
|
+
rows: 2,
|
|
2953
|
+
cols: 3,
|
|
2954
|
+
cells: [{
|
|
2955
|
+
key: "1.1"
|
|
2956
|
+
}, {
|
|
2957
|
+
key: "1.2"
|
|
2958
|
+
}, {
|
|
2959
|
+
key: "1.3"
|
|
2960
|
+
}, {
|
|
2961
|
+
key: "2.1"
|
|
2962
|
+
}, {
|
|
2963
|
+
key: "2.2"
|
|
2964
|
+
}, {
|
|
2965
|
+
key: "2.3"
|
|
2966
|
+
}],
|
|
2967
|
+
previewCells: [{
|
|
2968
|
+
row: 1,
|
|
2969
|
+
col: 1
|
|
2970
|
+
}, {
|
|
2971
|
+
row: 1,
|
|
2972
|
+
col: 2
|
|
2973
|
+
}, {
|
|
2974
|
+
row: 1,
|
|
2975
|
+
col: 3
|
|
2976
|
+
}, {
|
|
2977
|
+
row: 2,
|
|
2978
|
+
col: 1
|
|
2979
|
+
}, {
|
|
2980
|
+
row: 2,
|
|
2981
|
+
col: 2
|
|
2982
|
+
}, {
|
|
2983
|
+
row: 2,
|
|
2984
|
+
col: 3
|
|
2985
|
+
}]
|
|
2948
2986
|
}, {
|
|
2949
2987
|
id: "three-by-three",
|
|
2950
2988
|
name: "3x3 Grid",
|
|
@@ -5408,6 +5446,1085 @@ var WizardProvidersStep = function WizardProvidersStep(_ref) {
|
|
|
5408
5446
|
});
|
|
5409
5447
|
};
|
|
5410
5448
|
|
|
5449
|
+
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; } } }; }
|
|
5450
|
+
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; } }
|
|
5451
|
+
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; }
|
|
5452
|
+
|
|
5453
|
+
/**
|
|
5454
|
+
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
5455
|
+
*
|
|
5456
|
+
* Extracted from EnhancedWidgetDropdown so the same logic can power the
|
|
5457
|
+
* Discover tab inside AppSettingsModal (and anywhere else).
|
|
5458
|
+
*
|
|
5459
|
+
* Options:
|
|
5460
|
+
* filterByCapabilities – if true (default), only show packages compatible
|
|
5461
|
+
* with the app's API capabilities
|
|
5462
|
+
*
|
|
5463
|
+
* Returns:
|
|
5464
|
+
* packages – raw package objects from the registry
|
|
5465
|
+
* flatWidgets – flattened widget entries with `isRegistry: true`
|
|
5466
|
+
* isLoading – true while a search request is in flight
|
|
5467
|
+
* error – error message string (or null)
|
|
5468
|
+
* searchQuery / setSearchQuery – controlled search input
|
|
5469
|
+
* isInstalling – true during an install
|
|
5470
|
+
* installError – install error string (or null)
|
|
5471
|
+
* search() – manually trigger a search
|
|
5472
|
+
* installPackage(widget) – install a specific registry widget
|
|
5473
|
+
* showAllPackages / setShowAllPackages – toggle to show incompatible packages
|
|
5474
|
+
* appCapabilities – the app's API namespaces
|
|
5475
|
+
*/
|
|
5476
|
+
var useRegistrySearch = function useRegistrySearch() {
|
|
5477
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
5478
|
+
_ref$filterByCapabili = _ref.filterByCapabilities,
|
|
5479
|
+
filterByCapabilities = _ref$filterByCapabili === void 0 ? true : _ref$filterByCapabili;
|
|
5480
|
+
var _useState = React.useState(false),
|
|
5481
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
5482
|
+
isLoading = _useState2[0],
|
|
5483
|
+
setIsLoading = _useState2[1];
|
|
5484
|
+
var _useState3 = React.useState(null),
|
|
5485
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
5486
|
+
error = _useState4[0],
|
|
5487
|
+
setError = _useState4[1];
|
|
5488
|
+
var _useState5 = React.useState([]),
|
|
5489
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
5490
|
+
packages = _useState6[0],
|
|
5491
|
+
setPackages = _useState6[1];
|
|
5492
|
+
var _useState7 = React.useState([]),
|
|
5493
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
5494
|
+
flatWidgets = _useState8[0],
|
|
5495
|
+
setFlatWidgets = _useState8[1];
|
|
5496
|
+
var _useState9 = React.useState(""),
|
|
5497
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
5498
|
+
searchQuery = _useState0[0],
|
|
5499
|
+
setSearchQuery = _useState0[1];
|
|
5500
|
+
var _useState1 = React.useState(false),
|
|
5501
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
5502
|
+
isInstalling = _useState10[0],
|
|
5503
|
+
setIsInstalling = _useState10[1];
|
|
5504
|
+
var _useState11 = React.useState(null),
|
|
5505
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
5506
|
+
installError = _useState12[0],
|
|
5507
|
+
setInstallError = _useState12[1];
|
|
5508
|
+
var _useState13 = React.useState(false),
|
|
5509
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
5510
|
+
showAllPackages = _useState14[0],
|
|
5511
|
+
setShowAllPackages = _useState14[1];
|
|
5512
|
+
|
|
5513
|
+
// Discover app capabilities from window.mainApi
|
|
5514
|
+
var appCapabilities = React.useMemo(function () {
|
|
5515
|
+
if (typeof window !== "undefined" && window.mainApi) {
|
|
5516
|
+
return Object.keys(window.mainApi);
|
|
5517
|
+
}
|
|
5518
|
+
return [];
|
|
5519
|
+
}, []);
|
|
5520
|
+
var search = React.useCallback(/*#__PURE__*/function () {
|
|
5521
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(query) {
|
|
5522
|
+
var _window$mainApi;
|
|
5523
|
+
var filters, result, pkgs, capSet, widgets, _iterator, _step, pkg, allApiProviders, _iterator2, _step2, p, _iterator3, _step3, w, _iterator5, _step5, _p, missingApis, _iterator4, _step4, widget, _t;
|
|
5524
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
5525
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5526
|
+
case 0:
|
|
5527
|
+
if ((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && _window$mainApi.registry) {
|
|
5528
|
+
_context.next = 1;
|
|
5529
|
+
break;
|
|
5530
|
+
}
|
|
5531
|
+
setPackages([]);
|
|
5532
|
+
setFlatWidgets([]);
|
|
5533
|
+
return _context.abrupt("return");
|
|
5534
|
+
case 1:
|
|
5535
|
+
setIsLoading(true);
|
|
5536
|
+
setError(null);
|
|
5537
|
+
_context.prev = 2;
|
|
5538
|
+
filters = {};
|
|
5539
|
+
if (filterByCapabilities && !showAllPackages && appCapabilities.length) {
|
|
5540
|
+
filters.appCapabilities = appCapabilities;
|
|
5541
|
+
}
|
|
5542
|
+
_context.next = 3;
|
|
5543
|
+
return window.mainApi.registry.search(query !== null && query !== void 0 ? query : searchQuery, filters);
|
|
5544
|
+
case 3:
|
|
5545
|
+
result = _context.sent;
|
|
5546
|
+
// Only include packages that contain at least one widget
|
|
5547
|
+
// (filters out theme-only packages, etc.)
|
|
5548
|
+
pkgs = (result.packages || []).filter(function (pkg) {
|
|
5549
|
+
return pkg.widgets && pkg.widgets.length > 0;
|
|
5550
|
+
});
|
|
5551
|
+
setPackages(pkgs);
|
|
5552
|
+
|
|
5553
|
+
// Flatten packages into widget entries
|
|
5554
|
+
capSet = new Set(appCapabilities.map(function (c) {
|
|
5555
|
+
return c.toLowerCase();
|
|
5556
|
+
}));
|
|
5557
|
+
widgets = [];
|
|
5558
|
+
_iterator = _createForOfIteratorHelper$e(pkgs);
|
|
5559
|
+
try {
|
|
5560
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
5561
|
+
pkg = _step.value;
|
|
5562
|
+
// Compute missing APIs for the entire package
|
|
5563
|
+
allApiProviders = [];
|
|
5564
|
+
_iterator2 = _createForOfIteratorHelper$e(pkg.providers || []);
|
|
5565
|
+
try {
|
|
5566
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
5567
|
+
p = _step2.value;
|
|
5568
|
+
if (p.providerClass === "api" && p.required !== false) {
|
|
5569
|
+
allApiProviders.push(p.type);
|
|
5570
|
+
}
|
|
5571
|
+
}
|
|
5572
|
+
} catch (err) {
|
|
5573
|
+
_iterator2.e(err);
|
|
5574
|
+
} finally {
|
|
5575
|
+
_iterator2.f();
|
|
5576
|
+
}
|
|
5577
|
+
_iterator3 = _createForOfIteratorHelper$e(pkg.widgets || []);
|
|
5578
|
+
try {
|
|
5579
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
5580
|
+
w = _step3.value;
|
|
5581
|
+
_iterator5 = _createForOfIteratorHelper$e(w.providers || []);
|
|
5582
|
+
try {
|
|
5583
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
5584
|
+
_p = _step5.value;
|
|
5585
|
+
if (_p.providerClass === "api" && _p.required !== false) {
|
|
5586
|
+
allApiProviders.push(_p.type);
|
|
5587
|
+
}
|
|
5588
|
+
}
|
|
5589
|
+
} catch (err) {
|
|
5590
|
+
_iterator5.e(err);
|
|
5591
|
+
} finally {
|
|
5592
|
+
_iterator5.f();
|
|
5593
|
+
}
|
|
5594
|
+
}
|
|
5595
|
+
} catch (err) {
|
|
5596
|
+
_iterator3.e(err);
|
|
5597
|
+
} finally {
|
|
5598
|
+
_iterator3.f();
|
|
5599
|
+
}
|
|
5600
|
+
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
5601
|
+
return !capSet.has(api.toLowerCase());
|
|
5602
|
+
});
|
|
5603
|
+
_iterator4 = _createForOfIteratorHelper$e(pkg.widgets || []);
|
|
5604
|
+
try {
|
|
5605
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
5606
|
+
widget = _step4.value;
|
|
5607
|
+
widgets.push({
|
|
5608
|
+
key: "".concat(pkg.name, "/").concat(widget.name),
|
|
5609
|
+
name: widget.displayName || widget.name,
|
|
5610
|
+
description: widget.description || "",
|
|
5611
|
+
icon: widget.icon || null,
|
|
5612
|
+
providers: widget.providers || [],
|
|
5613
|
+
isRegistry: true,
|
|
5614
|
+
packageName: pkg.name,
|
|
5615
|
+
packageDisplayName: pkg.displayName || pkg.name,
|
|
5616
|
+
packageVersion: pkg.version,
|
|
5617
|
+
packageAuthor: pkg.author || "",
|
|
5618
|
+
packageDescription: pkg.description || "",
|
|
5619
|
+
packageTags: pkg.tags || [],
|
|
5620
|
+
packageCategory: pkg.category || "",
|
|
5621
|
+
downloadUrl: pkg.downloadUrl || "",
|
|
5622
|
+
repository: pkg.repository || "",
|
|
5623
|
+
publishedAt: pkg.publishedAt || "",
|
|
5624
|
+
packageWidgets: pkg.widgets || [],
|
|
5625
|
+
appOrigin: pkg.appOrigin || null,
|
|
5626
|
+
packageProviders: pkg.providers || [],
|
|
5627
|
+
missingApis: missingApis
|
|
5628
|
+
});
|
|
5629
|
+
}
|
|
5630
|
+
} catch (err) {
|
|
5631
|
+
_iterator4.e(err);
|
|
5632
|
+
} finally {
|
|
5633
|
+
_iterator4.f();
|
|
5634
|
+
}
|
|
5635
|
+
}
|
|
5636
|
+
} catch (err) {
|
|
5637
|
+
_iterator.e(err);
|
|
5638
|
+
} finally {
|
|
5639
|
+
_iterator.f();
|
|
5640
|
+
}
|
|
5641
|
+
setFlatWidgets(widgets);
|
|
5642
|
+
_context.next = 5;
|
|
5643
|
+
break;
|
|
5644
|
+
case 4:
|
|
5645
|
+
_context.prev = 4;
|
|
5646
|
+
_t = _context["catch"](2);
|
|
5647
|
+
setError(_t.message || "Failed to load registry");
|
|
5648
|
+
setPackages([]);
|
|
5649
|
+
setFlatWidgets([]);
|
|
5650
|
+
case 5:
|
|
5651
|
+
_context.prev = 5;
|
|
5652
|
+
setIsLoading(false);
|
|
5653
|
+
return _context.finish(5);
|
|
5654
|
+
case 6:
|
|
5655
|
+
case "end":
|
|
5656
|
+
return _context.stop();
|
|
5657
|
+
}
|
|
5658
|
+
}, _callee, null, [[2, 4, 5, 6]]);
|
|
5659
|
+
}));
|
|
5660
|
+
return function (_x) {
|
|
5661
|
+
return _ref2.apply(this, arguments);
|
|
5662
|
+
};
|
|
5663
|
+
}(), [searchQuery, filterByCapabilities, showAllPackages, appCapabilities]);
|
|
5664
|
+
|
|
5665
|
+
// Debounce search on query changes (300ms)
|
|
5666
|
+
React.useEffect(function () {
|
|
5667
|
+
var timer = setTimeout(function () {
|
|
5668
|
+
search(searchQuery);
|
|
5669
|
+
}, 300);
|
|
5670
|
+
return function () {
|
|
5671
|
+
return clearTimeout(timer);
|
|
5672
|
+
};
|
|
5673
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5674
|
+
}, [searchQuery, showAllPackages]);
|
|
5675
|
+
var installPackage = React.useCallback(/*#__PURE__*/function () {
|
|
5676
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(widget) {
|
|
5677
|
+
var packageName, downloadUrl, packageVersion, resolvedUrl, _t2;
|
|
5678
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
5679
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
5680
|
+
case 0:
|
|
5681
|
+
if (!(!widget || !widget.isRegistry)) {
|
|
5682
|
+
_context2.next = 1;
|
|
5683
|
+
break;
|
|
5684
|
+
}
|
|
5685
|
+
return _context2.abrupt("return");
|
|
5686
|
+
case 1:
|
|
5687
|
+
setIsInstalling(true);
|
|
5688
|
+
setInstallError(null);
|
|
5689
|
+
_context2.prev = 2;
|
|
5690
|
+
packageName = widget.packageName, downloadUrl = widget.downloadUrl, packageVersion = widget.packageVersion; // Resolve placeholders in the download URL
|
|
5691
|
+
resolvedUrl = downloadUrl.replace(/\{version\}/g, packageVersion).replace(/\{name\}/g, packageName);
|
|
5692
|
+
_context2.next = 3;
|
|
5693
|
+
return window.mainApi.widgets.install(packageName, resolvedUrl);
|
|
5694
|
+
case 3:
|
|
5695
|
+
_context2.next = 5;
|
|
5696
|
+
break;
|
|
5697
|
+
case 4:
|
|
5698
|
+
_context2.prev = 4;
|
|
5699
|
+
_t2 = _context2["catch"](2);
|
|
5700
|
+
setInstallError(_t2.message || "Failed to install package");
|
|
5701
|
+
case 5:
|
|
5702
|
+
_context2.prev = 5;
|
|
5703
|
+
setIsInstalling(false);
|
|
5704
|
+
return _context2.finish(5);
|
|
5705
|
+
case 6:
|
|
5706
|
+
case "end":
|
|
5707
|
+
return _context2.stop();
|
|
5708
|
+
}
|
|
5709
|
+
}, _callee2, null, [[2, 4, 5, 6]]);
|
|
5710
|
+
}));
|
|
5711
|
+
return function (_x2) {
|
|
5712
|
+
return _ref3.apply(this, arguments);
|
|
5713
|
+
};
|
|
5714
|
+
}(), []);
|
|
5715
|
+
var retry = React.useCallback(function () {
|
|
5716
|
+
search(searchQuery);
|
|
5717
|
+
}, [search, searchQuery]);
|
|
5718
|
+
return {
|
|
5719
|
+
packages: packages,
|
|
5720
|
+
flatWidgets: flatWidgets,
|
|
5721
|
+
isLoading: isLoading,
|
|
5722
|
+
error: error,
|
|
5723
|
+
searchQuery: searchQuery,
|
|
5724
|
+
setSearchQuery: setSearchQuery,
|
|
5725
|
+
isInstalling: isInstalling,
|
|
5726
|
+
installError: installError,
|
|
5727
|
+
search: search,
|
|
5728
|
+
installPackage: installPackage,
|
|
5729
|
+
retry: retry,
|
|
5730
|
+
showAllPackages: showAllPackages,
|
|
5731
|
+
setShowAllPackages: setShowAllPackages,
|
|
5732
|
+
appCapabilities: appCapabilities
|
|
5733
|
+
};
|
|
5734
|
+
};
|
|
5735
|
+
|
|
5736
|
+
var WizardResultsStep = function WizardResultsStep(_ref) {
|
|
5737
|
+
var state = _ref.state,
|
|
5738
|
+
dispatch = _ref.dispatch;
|
|
5739
|
+
var _useState = React.useState("prebuilt"),
|
|
5740
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
5741
|
+
activeTab = _useState2[0],
|
|
5742
|
+
setActiveTab = _useState2[1];
|
|
5743
|
+
|
|
5744
|
+
// --- Dashboard search (Tab A) ---
|
|
5745
|
+
var _useState3 = React.useState([]),
|
|
5746
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
5747
|
+
dashboards = _useState4[0],
|
|
5748
|
+
setDashboards = _useState4[1];
|
|
5749
|
+
var _useState5 = React.useState(false),
|
|
5750
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
5751
|
+
dashLoading = _useState6[0],
|
|
5752
|
+
setDashLoading = _useState6[1];
|
|
5753
|
+
var _useState7 = React.useState(null),
|
|
5754
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
5755
|
+
dashError = _useState8[0],
|
|
5756
|
+
setDashError = _useState8[1];
|
|
5757
|
+
var dashFilters = React.useMemo(function () {
|
|
5758
|
+
return {
|
|
5759
|
+
category: state.intent.length ? state.intent.join(",") : undefined,
|
|
5760
|
+
providerTypes: state.providers.length ? state.providers : undefined
|
|
5761
|
+
};
|
|
5762
|
+
}, [state.intent, state.providers]);
|
|
5763
|
+
var searchDashboards = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
5764
|
+
var _window$mainApi;
|
|
5765
|
+
var result, _t;
|
|
5766
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
5767
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5768
|
+
case 0:
|
|
5769
|
+
if ((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.registry) !== null && _window$mainApi !== void 0 && _window$mainApi.searchDashboards) {
|
|
5770
|
+
_context.next = 1;
|
|
5771
|
+
break;
|
|
5772
|
+
}
|
|
5773
|
+
setDashboards([]);
|
|
5774
|
+
return _context.abrupt("return");
|
|
5775
|
+
case 1:
|
|
5776
|
+
setDashLoading(true);
|
|
5777
|
+
setDashError(null);
|
|
5778
|
+
_context.prev = 2;
|
|
5779
|
+
_context.next = 3;
|
|
5780
|
+
return window.mainApi.registry.searchDashboards("", dashFilters);
|
|
5781
|
+
case 3:
|
|
5782
|
+
result = _context.sent;
|
|
5783
|
+
setDashboards(result.packages || []);
|
|
5784
|
+
_context.next = 5;
|
|
5785
|
+
break;
|
|
5786
|
+
case 4:
|
|
5787
|
+
_context.prev = 4;
|
|
5788
|
+
_t = _context["catch"](2);
|
|
5789
|
+
setDashError(_t.message || "Failed to search dashboards");
|
|
5790
|
+
setDashboards([]);
|
|
5791
|
+
case 5:
|
|
5792
|
+
_context.prev = 5;
|
|
5793
|
+
setDashLoading(false);
|
|
5794
|
+
return _context.finish(5);
|
|
5795
|
+
case 6:
|
|
5796
|
+
case "end":
|
|
5797
|
+
return _context.stop();
|
|
5798
|
+
}
|
|
5799
|
+
}, _callee, null, [[2, 4, 5, 6]]);
|
|
5800
|
+
})), [dashFilters]);
|
|
5801
|
+
React.useEffect(function () {
|
|
5802
|
+
searchDashboards();
|
|
5803
|
+
}, [searchDashboards]);
|
|
5804
|
+
|
|
5805
|
+
// --- Widget search (Tab B) ---
|
|
5806
|
+
var _useRegistrySearch = useRegistrySearch({
|
|
5807
|
+
filterByCapabilities: true
|
|
5808
|
+
}),
|
|
5809
|
+
flatWidgets = _useRegistrySearch.flatWidgets,
|
|
5810
|
+
widgetsLoading = _useRegistrySearch.isLoading,
|
|
5811
|
+
widgetsError = _useRegistrySearch.error;
|
|
5812
|
+
|
|
5813
|
+
// Filter widgets by selected categories + providers
|
|
5814
|
+
var filteredWidgets = React.useMemo(function () {
|
|
5815
|
+
return flatWidgets.filter(function (w) {
|
|
5816
|
+
// Category filter: match if widget's category overlaps user intent
|
|
5817
|
+
var catMatch = state.intent.length === 0 || state.intent.some(function (cat) {
|
|
5818
|
+
return (w.packageCategory || "").toLowerCase() === cat.toLowerCase();
|
|
5819
|
+
});
|
|
5820
|
+
|
|
5821
|
+
// Provider filter: match if widget requires any of the selected providers
|
|
5822
|
+
var providerMatch = state.providers.length === 0 || (w.providers || []).some(function (p) {
|
|
5823
|
+
return state.providers.includes(p.type);
|
|
5824
|
+
}) || (w.packageProviders || []).some(function (p) {
|
|
5825
|
+
return state.providers.includes(p.type);
|
|
5826
|
+
});
|
|
5827
|
+
return catMatch && providerMatch;
|
|
5828
|
+
});
|
|
5829
|
+
}, [flatWidgets, state.intent, state.providers]);
|
|
5830
|
+
|
|
5831
|
+
// --- Tab change: set wizard path ---
|
|
5832
|
+
var handleTabChange = React.useCallback(function (tab) {
|
|
5833
|
+
setActiveTab(tab);
|
|
5834
|
+
dispatch({
|
|
5835
|
+
type: "SET_PATH",
|
|
5836
|
+
payload: tab === "prebuilt" ? "prebuilt" : "custom"
|
|
5837
|
+
});
|
|
5838
|
+
}, [dispatch]);
|
|
5839
|
+
|
|
5840
|
+
// Set initial path on mount
|
|
5841
|
+
React.useEffect(function () {
|
|
5842
|
+
if (!state.path) {
|
|
5843
|
+
dispatch({
|
|
5844
|
+
type: "SET_PATH",
|
|
5845
|
+
payload: "prebuilt"
|
|
5846
|
+
});
|
|
5847
|
+
}
|
|
5848
|
+
}, [state.path, dispatch]);
|
|
5849
|
+
|
|
5850
|
+
// --- Dashboard selection (single-select) ---
|
|
5851
|
+
var handleSelectDashboard = React.useCallback(function (dashboard) {
|
|
5852
|
+
dispatch({
|
|
5853
|
+
type: "SET_SELECTED_DASHBOARD",
|
|
5854
|
+
payload: dashboard
|
|
5855
|
+
});
|
|
5856
|
+
}, [dispatch]);
|
|
5857
|
+
|
|
5858
|
+
// --- Widget selection (multi-select) ---
|
|
5859
|
+
var handleToggleWidget = React.useCallback(function (widget) {
|
|
5860
|
+
dispatch({
|
|
5861
|
+
type: "TOGGLE_WIDGET",
|
|
5862
|
+
payload: widget
|
|
5863
|
+
});
|
|
5864
|
+
}, [dispatch]);
|
|
5865
|
+
var isWidgetSelected = React.useCallback(function (widget) {
|
|
5866
|
+
return state.selectedWidgets.some(function (w) {
|
|
5867
|
+
return w.name === widget.name;
|
|
5868
|
+
});
|
|
5869
|
+
}, [state.selectedWidgets]);
|
|
5870
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5871
|
+
className: "wizard-results-step",
|
|
5872
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("h3", {
|
|
5873
|
+
className: "wizard-step-header",
|
|
5874
|
+
children: "Choose your starting point"
|
|
5875
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.Tabs3, {
|
|
5876
|
+
value: activeTab,
|
|
5877
|
+
onValueChange: handleTabChange,
|
|
5878
|
+
className: "wizard-results-tabs",
|
|
5879
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(DashReact.Tabs3.List, {
|
|
5880
|
+
className: "wizard-results-tab-list",
|
|
5881
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3.Trigger, {
|
|
5882
|
+
value: "prebuilt",
|
|
5883
|
+
children: "Pre-built Dashboards"
|
|
5884
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.Tabs3.Trigger, {
|
|
5885
|
+
value: "custom",
|
|
5886
|
+
children: ["Build Your Own", state.selectedWidgets.length > 0 && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5887
|
+
className: "wizard-count-badge",
|
|
5888
|
+
children: state.selectedWidgets.length
|
|
5889
|
+
})]
|
|
5890
|
+
})]
|
|
5891
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3.Content, {
|
|
5892
|
+
value: "prebuilt",
|
|
5893
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashboardList, {
|
|
5894
|
+
dashboards: dashboards,
|
|
5895
|
+
isLoading: dashLoading,
|
|
5896
|
+
error: dashError,
|
|
5897
|
+
selectedDashboard: state.selectedDashboard,
|
|
5898
|
+
onSelect: handleSelectDashboard
|
|
5899
|
+
})
|
|
5900
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.Tabs3.Content, {
|
|
5901
|
+
value: "custom",
|
|
5902
|
+
children: /*#__PURE__*/jsxRuntime.jsx(WidgetList, {
|
|
5903
|
+
widgets: filteredWidgets,
|
|
5904
|
+
isLoading: widgetsLoading,
|
|
5905
|
+
error: widgetsError,
|
|
5906
|
+
isSelected: isWidgetSelected,
|
|
5907
|
+
onToggle: handleToggleWidget,
|
|
5908
|
+
selectedCount: state.selectedWidgets.length
|
|
5909
|
+
})
|
|
5910
|
+
})]
|
|
5911
|
+
})]
|
|
5912
|
+
});
|
|
5913
|
+
};
|
|
5914
|
+
|
|
5915
|
+
// --- Sub-components ---
|
|
5916
|
+
|
|
5917
|
+
var DashboardList = function DashboardList(_ref3) {
|
|
5918
|
+
var dashboards = _ref3.dashboards,
|
|
5919
|
+
isLoading = _ref3.isLoading,
|
|
5920
|
+
error = _ref3.error,
|
|
5921
|
+
selectedDashboard = _ref3.selectedDashboard,
|
|
5922
|
+
onSelect = _ref3.onSelect;
|
|
5923
|
+
if (isLoading) {
|
|
5924
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5925
|
+
className: "wizard-loading",
|
|
5926
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5927
|
+
icon: "spinner",
|
|
5928
|
+
spin: true,
|
|
5929
|
+
fixedWidth: true,
|
|
5930
|
+
className: "wizard-loading-icon"
|
|
5931
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5932
|
+
children: "Searching dashboards..."
|
|
5933
|
+
})]
|
|
5934
|
+
});
|
|
5935
|
+
}
|
|
5936
|
+
if (error) {
|
|
5937
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5938
|
+
className: "wizard-error",
|
|
5939
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5940
|
+
icon: "circle-exclamation",
|
|
5941
|
+
fixedWidth: true
|
|
5942
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5943
|
+
children: error
|
|
5944
|
+
})]
|
|
5945
|
+
});
|
|
5946
|
+
}
|
|
5947
|
+
if (dashboards.length === 0) {
|
|
5948
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5949
|
+
className: "wizard-empty",
|
|
5950
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5951
|
+
icon: "box-open",
|
|
5952
|
+
fixedWidth: true,
|
|
5953
|
+
className: "wizard-empty-icon"
|
|
5954
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
5955
|
+
children: "No pre-built dashboards match your selections."
|
|
5956
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
5957
|
+
className: "wizard-empty-hint",
|
|
5958
|
+
children: "Try the \"Build Your Own\" tab to pick individual widgets."
|
|
5959
|
+
})]
|
|
5960
|
+
});
|
|
5961
|
+
}
|
|
5962
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
5963
|
+
className: "wizard-dashboard-list",
|
|
5964
|
+
children: dashboards.map(function (dash) {
|
|
5965
|
+
var isSelected = selectedDashboard && selectedDashboard.name === dash.name;
|
|
5966
|
+
var widgetCount = (dash.widgets || []).length;
|
|
5967
|
+
var providerNames = (dash.providers || []).map(function (p) {
|
|
5968
|
+
return p.name || p.type;
|
|
5969
|
+
}).join(", ");
|
|
5970
|
+
return /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
5971
|
+
type: "button",
|
|
5972
|
+
className: "wizard-dashboard-card ".concat(isSelected ? "wizard-dashboard-card--selected" : ""),
|
|
5973
|
+
onClick: function onClick() {
|
|
5974
|
+
return onSelect(dash);
|
|
5975
|
+
},
|
|
5976
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5977
|
+
className: "wizard-dashboard-card-header",
|
|
5978
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5979
|
+
icon: resolveIcon(dash.icon || "grid-2"),
|
|
5980
|
+
fixedWidth: true,
|
|
5981
|
+
className: "wizard-dashboard-card-icon"
|
|
5982
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5983
|
+
className: "wizard-dashboard-card-name",
|
|
5984
|
+
children: dash.displayName || dash.name
|
|
5985
|
+
}), isSelected && /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
5986
|
+
icon: "circle-check",
|
|
5987
|
+
className: "wizard-dashboard-card-check"
|
|
5988
|
+
})]
|
|
5989
|
+
}), dash.description && /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
5990
|
+
className: "wizard-dashboard-card-desc",
|
|
5991
|
+
children: dash.description
|
|
5992
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
5993
|
+
className: "wizard-dashboard-card-meta",
|
|
5994
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
5995
|
+
children: [widgetCount, " widget", widgetCount !== 1 ? "s" : ""]
|
|
5996
|
+
}), providerNames && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
5997
|
+
children: providerNames
|
|
5998
|
+
})]
|
|
5999
|
+
})]
|
|
6000
|
+
}, dash.name);
|
|
6001
|
+
})
|
|
6002
|
+
});
|
|
6003
|
+
};
|
|
6004
|
+
var WidgetList = function WidgetList(_ref4) {
|
|
6005
|
+
var widgets = _ref4.widgets,
|
|
6006
|
+
isLoading = _ref4.isLoading,
|
|
6007
|
+
error = _ref4.error,
|
|
6008
|
+
isSelected = _ref4.isSelected,
|
|
6009
|
+
onToggle = _ref4.onToggle,
|
|
6010
|
+
selectedCount = _ref4.selectedCount;
|
|
6011
|
+
if (isLoading) {
|
|
6012
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6013
|
+
className: "wizard-loading",
|
|
6014
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6015
|
+
icon: "spinner",
|
|
6016
|
+
spin: true,
|
|
6017
|
+
fixedWidth: true,
|
|
6018
|
+
className: "wizard-loading-icon"
|
|
6019
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6020
|
+
children: "Searching widgets..."
|
|
6021
|
+
})]
|
|
6022
|
+
});
|
|
6023
|
+
}
|
|
6024
|
+
if (error) {
|
|
6025
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6026
|
+
className: "wizard-error",
|
|
6027
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6028
|
+
icon: "circle-exclamation",
|
|
6029
|
+
fixedWidth: true
|
|
6030
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6031
|
+
children: error
|
|
6032
|
+
})]
|
|
6033
|
+
});
|
|
6034
|
+
}
|
|
6035
|
+
if (widgets.length === 0) {
|
|
6036
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6037
|
+
className: "wizard-empty",
|
|
6038
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6039
|
+
icon: "puzzle-piece",
|
|
6040
|
+
fixedWidth: true,
|
|
6041
|
+
className: "wizard-empty-icon"
|
|
6042
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6043
|
+
children: "No widgets match your selections."
|
|
6044
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6045
|
+
className: "wizard-empty-hint",
|
|
6046
|
+
children: "Try adjusting your categories or providers in the previous steps."
|
|
6047
|
+
})]
|
|
6048
|
+
});
|
|
6049
|
+
}
|
|
6050
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6051
|
+
className: "wizard-widget-list",
|
|
6052
|
+
children: [selectedCount > 0 && /*#__PURE__*/jsxRuntime.jsxs("p", {
|
|
6053
|
+
className: "wizard-widget-count",
|
|
6054
|
+
children: [selectedCount, " widget", selectedCount !== 1 ? "s" : "", " selected"]
|
|
6055
|
+
}), widgets.map(function (widget) {
|
|
6056
|
+
var checked = isSelected(widget);
|
|
6057
|
+
return /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
6058
|
+
type: "button",
|
|
6059
|
+
className: "wizard-widget-card ".concat(checked ? "wizard-widget-card--selected" : ""),
|
|
6060
|
+
onClick: function onClick() {
|
|
6061
|
+
return onToggle(widget);
|
|
6062
|
+
},
|
|
6063
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6064
|
+
className: "wizard-widget-card-checkbox",
|
|
6065
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6066
|
+
icon: checked ? "square-check" : "square",
|
|
6067
|
+
fixedWidth: true
|
|
6068
|
+
})
|
|
6069
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6070
|
+
className: "wizard-widget-card-info",
|
|
6071
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6072
|
+
className: "wizard-widget-card-header",
|
|
6073
|
+
children: [widget.icon && /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6074
|
+
icon: resolveIcon(widget.icon),
|
|
6075
|
+
fixedWidth: true,
|
|
6076
|
+
className: "wizard-widget-card-icon"
|
|
6077
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6078
|
+
className: "wizard-widget-card-name",
|
|
6079
|
+
children: widget.name
|
|
6080
|
+
})]
|
|
6081
|
+
}), widget.description && /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6082
|
+
className: "wizard-widget-card-desc",
|
|
6083
|
+
children: widget.description
|
|
6084
|
+
}), widget.packageDisplayName && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6085
|
+
className: "wizard-widget-card-package",
|
|
6086
|
+
children: widget.packageDisplayName
|
|
6087
|
+
})]
|
|
6088
|
+
})]
|
|
6089
|
+
}, widget.key);
|
|
6090
|
+
})]
|
|
6091
|
+
});
|
|
6092
|
+
};
|
|
6093
|
+
|
|
6094
|
+
function ownKeys$A(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; }
|
|
6095
|
+
function _objectSpread$A(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$A(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6096
|
+
var TOTAL_STEPS = 6; // Steps 0-5
|
|
6097
|
+
|
|
6098
|
+
var initialState = {
|
|
6099
|
+
step: 0,
|
|
6100
|
+
intent: [],
|
|
6101
|
+
providers: [],
|
|
6102
|
+
selectedWidgets: [],
|
|
6103
|
+
selectedDashboard: null,
|
|
6104
|
+
layout: {
|
|
6105
|
+
templateKey: null,
|
|
6106
|
+
widgetOrder: []
|
|
6107
|
+
},
|
|
6108
|
+
customization: {
|
|
6109
|
+
name: "",
|
|
6110
|
+
menuId: null,
|
|
6111
|
+
theme: null
|
|
6112
|
+
},
|
|
6113
|
+
path: null
|
|
6114
|
+
};
|
|
6115
|
+
function wizardReducer(state, action) {
|
|
6116
|
+
switch (action.type) {
|
|
6117
|
+
case "SET_STEP":
|
|
6118
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6119
|
+
step: action.payload
|
|
6120
|
+
});
|
|
6121
|
+
case "SET_INTENT":
|
|
6122
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6123
|
+
intent: action.payload
|
|
6124
|
+
});
|
|
6125
|
+
case "TOGGLE_INTENT":
|
|
6126
|
+
{
|
|
6127
|
+
var intent = state.intent.includes(action.payload) ? state.intent.filter(function (i) {
|
|
6128
|
+
return i !== action.payload;
|
|
6129
|
+
}) : [].concat(_toConsumableArray(state.intent), [action.payload]);
|
|
6130
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6131
|
+
intent: intent
|
|
6132
|
+
});
|
|
6133
|
+
}
|
|
6134
|
+
case "SET_PROVIDERS":
|
|
6135
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6136
|
+
providers: action.payload
|
|
6137
|
+
});
|
|
6138
|
+
case "TOGGLE_PROVIDER":
|
|
6139
|
+
{
|
|
6140
|
+
var providers = state.providers.includes(action.payload) ? state.providers.filter(function (p) {
|
|
6141
|
+
return p !== action.payload;
|
|
6142
|
+
}) : [].concat(_toConsumableArray(state.providers), [action.payload]);
|
|
6143
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6144
|
+
providers: providers
|
|
6145
|
+
});
|
|
6146
|
+
}
|
|
6147
|
+
case "SET_SELECTED_WIDGETS":
|
|
6148
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6149
|
+
selectedWidgets: action.payload
|
|
6150
|
+
});
|
|
6151
|
+
case "TOGGLE_WIDGET":
|
|
6152
|
+
{
|
|
6153
|
+
var exists = state.selectedWidgets.some(function (w) {
|
|
6154
|
+
return w.name === action.payload.name;
|
|
6155
|
+
});
|
|
6156
|
+
var selectedWidgets = exists ? state.selectedWidgets.filter(function (w) {
|
|
6157
|
+
return w.name !== action.payload.name;
|
|
6158
|
+
}) : [].concat(_toConsumableArray(state.selectedWidgets), [action.payload]);
|
|
6159
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6160
|
+
selectedWidgets: selectedWidgets
|
|
6161
|
+
});
|
|
6162
|
+
}
|
|
6163
|
+
case "SET_SELECTED_DASHBOARD":
|
|
6164
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6165
|
+
selectedDashboard: action.payload
|
|
6166
|
+
});
|
|
6167
|
+
case "SET_PATH":
|
|
6168
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6169
|
+
path: action.payload
|
|
6170
|
+
});
|
|
6171
|
+
case "SET_LAYOUT":
|
|
6172
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6173
|
+
layout: action.payload
|
|
6174
|
+
});
|
|
6175
|
+
case "REORDER_WIDGETS":
|
|
6176
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6177
|
+
layout: _objectSpread$A(_objectSpread$A({}, state.layout), {}, {
|
|
6178
|
+
widgetOrder: action.payload
|
|
6179
|
+
})
|
|
6180
|
+
});
|
|
6181
|
+
case "SET_CUSTOMIZATION":
|
|
6182
|
+
return _objectSpread$A(_objectSpread$A({}, state), {}, {
|
|
6183
|
+
customization: _objectSpread$A(_objectSpread$A({}, state.customization), action.payload)
|
|
6184
|
+
});
|
|
6185
|
+
case "RESET":
|
|
6186
|
+
return _objectSpread$A({}, initialState);
|
|
6187
|
+
default:
|
|
6188
|
+
return state;
|
|
6189
|
+
}
|
|
6190
|
+
}
|
|
6191
|
+
function widgetCountToTemplate(count) {
|
|
6192
|
+
if (count <= 1) return "single";
|
|
6193
|
+
if (count === 2) return "two-columns";
|
|
6194
|
+
if (count === 3) return "three-columns";
|
|
6195
|
+
if (count === 4) return "two-by-two";
|
|
6196
|
+
if (count <= 6) return "two-by-three";
|
|
6197
|
+
return "three-by-three";
|
|
6198
|
+
}
|
|
6199
|
+
function getCanProceed(state) {
|
|
6200
|
+
switch (state.step) {
|
|
6201
|
+
case 0:
|
|
6202
|
+
return state.intent.length > 0;
|
|
6203
|
+
case 1:
|
|
6204
|
+
return state.providers.length > 0;
|
|
6205
|
+
case 2:
|
|
6206
|
+
return state.path === "prebuilt" ? state.selectedDashboard !== null : state.selectedWidgets.length > 0;
|
|
6207
|
+
case 3:
|
|
6208
|
+
return state.layout.templateKey !== null;
|
|
6209
|
+
case 4:
|
|
6210
|
+
return state.customization.name.trim().length > 0;
|
|
6211
|
+
case 5:
|
|
6212
|
+
return true;
|
|
6213
|
+
default:
|
|
6214
|
+
return false;
|
|
6215
|
+
}
|
|
6216
|
+
}
|
|
6217
|
+
var useWizardState = function useWizardState() {
|
|
6218
|
+
var _useReducer = React.useReducer(wizardReducer, initialState),
|
|
6219
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
6220
|
+
state = _useReducer2[0],
|
|
6221
|
+
dispatch = _useReducer2[1];
|
|
6222
|
+
var canProceed = React.useMemo(function () {
|
|
6223
|
+
return getCanProceed(state);
|
|
6224
|
+
}, [state]);
|
|
6225
|
+
var selectedCount = React.useMemo(function () {
|
|
6226
|
+
return state.selectedWidgets.length;
|
|
6227
|
+
}, [state.selectedWidgets]);
|
|
6228
|
+
var isPrebuiltPath = state.path === "prebuilt";
|
|
6229
|
+
var isCustomPath = state.path === "custom";
|
|
6230
|
+
var nextStep = React.useCallback(function () {
|
|
6231
|
+
if (getCanProceed(state) && state.step < TOTAL_STEPS - 1) {
|
|
6232
|
+
dispatch({
|
|
6233
|
+
type: "SET_STEP",
|
|
6234
|
+
payload: state.step + 1
|
|
6235
|
+
});
|
|
6236
|
+
}
|
|
6237
|
+
}, [state]);
|
|
6238
|
+
var prevStep = React.useCallback(function () {
|
|
6239
|
+
if (state.step > 0) {
|
|
6240
|
+
dispatch({
|
|
6241
|
+
type: "SET_STEP",
|
|
6242
|
+
payload: state.step - 1
|
|
6243
|
+
});
|
|
6244
|
+
}
|
|
6245
|
+
}, [state.step]);
|
|
6246
|
+
var goToStep = React.useCallback(function (n) {
|
|
6247
|
+
if (n >= 0 && n < TOTAL_STEPS) {
|
|
6248
|
+
dispatch({
|
|
6249
|
+
type: "SET_STEP",
|
|
6250
|
+
payload: n
|
|
6251
|
+
});
|
|
6252
|
+
}
|
|
6253
|
+
}, []);
|
|
6254
|
+
return {
|
|
6255
|
+
state: state,
|
|
6256
|
+
dispatch: dispatch,
|
|
6257
|
+
nextStep: nextStep,
|
|
6258
|
+
prevStep: prevStep,
|
|
6259
|
+
goToStep: goToStep,
|
|
6260
|
+
canProceed: canProceed,
|
|
6261
|
+
selectedCount: selectedCount,
|
|
6262
|
+
isPrebuiltPath: isPrebuiltPath,
|
|
6263
|
+
isCustomPath: isCustomPath,
|
|
6264
|
+
widgetCountToTemplate: widgetCountToTemplate
|
|
6265
|
+
};
|
|
6266
|
+
};
|
|
6267
|
+
|
|
6268
|
+
var WizardLayoutPreviewStep = function WizardLayoutPreviewStep(_ref) {
|
|
6269
|
+
var state = _ref.state,
|
|
6270
|
+
dispatch = _ref.dispatch;
|
|
6271
|
+
var isPrebuilt = state.path === "prebuilt";
|
|
6272
|
+
|
|
6273
|
+
// Auto-select template and populate widget order on mount / widget change
|
|
6274
|
+
React.useEffect(function () {
|
|
6275
|
+
if (isPrebuilt) return;
|
|
6276
|
+
var templateKey = widgetCountToTemplate(state.selectedWidgets.length);
|
|
6277
|
+
var template = layoutTemplates.find(function (t) {
|
|
6278
|
+
return t.id === templateKey;
|
|
6279
|
+
});
|
|
6280
|
+
if (!template) return;
|
|
6281
|
+
|
|
6282
|
+
// Only update if template changed or widget order is empty
|
|
6283
|
+
if (state.layout.templateKey !== templateKey || state.layout.widgetOrder.length === 0) {
|
|
6284
|
+
var widgetOrder = state.selectedWidgets.map(function (w) {
|
|
6285
|
+
return w.name || w.key;
|
|
6286
|
+
});
|
|
6287
|
+
dispatch({
|
|
6288
|
+
type: "SET_LAYOUT",
|
|
6289
|
+
payload: {
|
|
6290
|
+
templateKey: templateKey,
|
|
6291
|
+
widgetOrder: widgetOrder
|
|
6292
|
+
}
|
|
6293
|
+
});
|
|
6294
|
+
}
|
|
6295
|
+
}, [isPrebuilt, state.selectedWidgets, state.layout.templateKey, state.layout.widgetOrder.length, dispatch]);
|
|
6296
|
+
if (isPrebuilt) {
|
|
6297
|
+
return /*#__PURE__*/jsxRuntime.jsx(PrebuiltPreview, {
|
|
6298
|
+
dashboard: state.selectedDashboard
|
|
6299
|
+
});
|
|
6300
|
+
}
|
|
6301
|
+
var template = layoutTemplates.find(function (t) {
|
|
6302
|
+
return t.id === state.layout.templateKey;
|
|
6303
|
+
});
|
|
6304
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6305
|
+
className: "wizard-layout-step",
|
|
6306
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("h3", {
|
|
6307
|
+
className: "wizard-step-header",
|
|
6308
|
+
children: "Preview your layout"
|
|
6309
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6310
|
+
className: "wizard-step-description",
|
|
6311
|
+
children: "Drag widgets to rearrange their placement in the grid."
|
|
6312
|
+
}), template ? /*#__PURE__*/jsxRuntime.jsx(LayoutGrid, {
|
|
6313
|
+
template: template,
|
|
6314
|
+
widgetOrder: state.layout.widgetOrder,
|
|
6315
|
+
widgets: state.selectedWidgets,
|
|
6316
|
+
dispatch: dispatch
|
|
6317
|
+
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6318
|
+
className: "wizard-empty",
|
|
6319
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6320
|
+
icon: "grid-2",
|
|
6321
|
+
fixedWidth: true,
|
|
6322
|
+
className: "wizard-empty-icon"
|
|
6323
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6324
|
+
children: "No layout template available."
|
|
6325
|
+
})]
|
|
6326
|
+
})]
|
|
6327
|
+
});
|
|
6328
|
+
};
|
|
6329
|
+
|
|
6330
|
+
// --- Pre-built dashboard preview ---
|
|
6331
|
+
|
|
6332
|
+
var PrebuiltPreview = function PrebuiltPreview(_ref2) {
|
|
6333
|
+
var dashboard = _ref2.dashboard;
|
|
6334
|
+
if (!dashboard) {
|
|
6335
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6336
|
+
className: "wizard-layout-step",
|
|
6337
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("h3", {
|
|
6338
|
+
className: "wizard-step-header",
|
|
6339
|
+
children: "Dashboard preview"
|
|
6340
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6341
|
+
className: "wizard-empty",
|
|
6342
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6343
|
+
icon: "box-open",
|
|
6344
|
+
fixedWidth: true,
|
|
6345
|
+
className: "wizard-empty-icon"
|
|
6346
|
+
}), /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6347
|
+
children: "No dashboard selected."
|
|
6348
|
+
})]
|
|
6349
|
+
})]
|
|
6350
|
+
});
|
|
6351
|
+
}
|
|
6352
|
+
var widgets = dashboard.widgets || [];
|
|
6353
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6354
|
+
className: "wizard-layout-step",
|
|
6355
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("h3", {
|
|
6356
|
+
className: "wizard-step-header",
|
|
6357
|
+
children: "Dashboard preview"
|
|
6358
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6359
|
+
className: "wizard-prebuilt-preview",
|
|
6360
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6361
|
+
className: "wizard-prebuilt-header",
|
|
6362
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6363
|
+
icon: resolveIcon(dashboard.icon || "grid-2"),
|
|
6364
|
+
fixedWidth: true,
|
|
6365
|
+
className: "wizard-prebuilt-icon"
|
|
6366
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6367
|
+
className: "wizard-prebuilt-name",
|
|
6368
|
+
children: dashboard.displayName || dashboard.name
|
|
6369
|
+
})]
|
|
6370
|
+
}), dashboard.description && /*#__PURE__*/jsxRuntime.jsx("p", {
|
|
6371
|
+
className: "wizard-prebuilt-desc",
|
|
6372
|
+
children: dashboard.description
|
|
6373
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6374
|
+
className: "wizard-prebuilt-widgets",
|
|
6375
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
6376
|
+
className: "wizard-prebuilt-widgets-label",
|
|
6377
|
+
children: ["Includes ", widgets.length, " widget", widgets.length !== 1 ? "s" : "", ":"]
|
|
6378
|
+
}), /*#__PURE__*/jsxRuntime.jsx("ul", {
|
|
6379
|
+
className: "wizard-prebuilt-widget-list",
|
|
6380
|
+
children: widgets.map(function (w, i) {
|
|
6381
|
+
return /*#__PURE__*/jsxRuntime.jsxs("li", {
|
|
6382
|
+
children: [w.icon && /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6383
|
+
icon: resolveIcon(w.icon),
|
|
6384
|
+
fixedWidth: true,
|
|
6385
|
+
className: "wizard-prebuilt-widget-icon"
|
|
6386
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6387
|
+
children: w.displayName || w.name
|
|
6388
|
+
})]
|
|
6389
|
+
}, w.name || i);
|
|
6390
|
+
})
|
|
6391
|
+
})]
|
|
6392
|
+
})]
|
|
6393
|
+
})]
|
|
6394
|
+
});
|
|
6395
|
+
};
|
|
6396
|
+
|
|
6397
|
+
// --- Drag-reorder grid ---
|
|
6398
|
+
|
|
6399
|
+
var LayoutGrid = function LayoutGrid(_ref3) {
|
|
6400
|
+
var template = _ref3.template,
|
|
6401
|
+
widgetOrder = _ref3.widgetOrder,
|
|
6402
|
+
widgets = _ref3.widgets,
|
|
6403
|
+
dispatch = _ref3.dispatch;
|
|
6404
|
+
var _useState = React.useState(null),
|
|
6405
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
6406
|
+
dragIndex = _useState2[0],
|
|
6407
|
+
setDragIndex = _useState2[1];
|
|
6408
|
+
var _useState3 = React.useState(null),
|
|
6409
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
6410
|
+
dragOverIndex = _useState4[0],
|
|
6411
|
+
setDragOverIndex = _useState4[1];
|
|
6412
|
+
var dragRef = React.useRef(null);
|
|
6413
|
+
var totalCells = template.previewCells.length;
|
|
6414
|
+
|
|
6415
|
+
// Build cell contents: widget names for filled cells, null for empty
|
|
6416
|
+
var cellContents = template.previewCells.map(function (_, i) {
|
|
6417
|
+
var widgetId = widgetOrder[i] || null;
|
|
6418
|
+
if (!widgetId) return null;
|
|
6419
|
+
var widget = widgets.find(function (w) {
|
|
6420
|
+
return (w.name || w.key) === widgetId;
|
|
6421
|
+
});
|
|
6422
|
+
return widget || {
|
|
6423
|
+
name: widgetId
|
|
6424
|
+
};
|
|
6425
|
+
});
|
|
6426
|
+
var handleDragStart = React.useCallback(function (e, index) {
|
|
6427
|
+
setDragIndex(index);
|
|
6428
|
+
dragRef.current = index;
|
|
6429
|
+
e.dataTransfer.effectAllowed = "move";
|
|
6430
|
+
e.dataTransfer.setData("text/plain", String(index));
|
|
6431
|
+
}, []);
|
|
6432
|
+
var handleDragOver = React.useCallback(function (e, index) {
|
|
6433
|
+
e.preventDefault();
|
|
6434
|
+
e.dataTransfer.dropEffect = "move";
|
|
6435
|
+
setDragOverIndex(index);
|
|
6436
|
+
}, []);
|
|
6437
|
+
var handleDragLeave = React.useCallback(function () {
|
|
6438
|
+
setDragOverIndex(null);
|
|
6439
|
+
}, []);
|
|
6440
|
+
var handleDrop = React.useCallback(function (e, dropIndex) {
|
|
6441
|
+
e.preventDefault();
|
|
6442
|
+
var fromIndex = dragRef.current;
|
|
6443
|
+
setDragIndex(null);
|
|
6444
|
+
setDragOverIndex(null);
|
|
6445
|
+
dragRef.current = null;
|
|
6446
|
+
if (fromIndex === null || fromIndex === dropIndex) return;
|
|
6447
|
+
|
|
6448
|
+
// Swap the two positions in widgetOrder
|
|
6449
|
+
var newOrder = _toConsumableArray(widgetOrder);
|
|
6450
|
+
// Pad array to cover all cells
|
|
6451
|
+
while (newOrder.length < totalCells) {
|
|
6452
|
+
newOrder.push(null);
|
|
6453
|
+
}
|
|
6454
|
+
var temp = newOrder[fromIndex];
|
|
6455
|
+
newOrder[fromIndex] = newOrder[dropIndex];
|
|
6456
|
+
newOrder[dropIndex] = temp;
|
|
6457
|
+
|
|
6458
|
+
// Trim trailing nulls
|
|
6459
|
+
while (newOrder.length > 0 && newOrder[newOrder.length - 1] === null) {
|
|
6460
|
+
newOrder.pop();
|
|
6461
|
+
}
|
|
6462
|
+
dispatch({
|
|
6463
|
+
type: "REORDER_WIDGETS",
|
|
6464
|
+
payload: newOrder
|
|
6465
|
+
});
|
|
6466
|
+
}, [widgetOrder, totalCells, dispatch]);
|
|
6467
|
+
var handleDragEnd = React.useCallback(function () {
|
|
6468
|
+
setDragIndex(null);
|
|
6469
|
+
setDragOverIndex(null);
|
|
6470
|
+
dragRef.current = null;
|
|
6471
|
+
}, []);
|
|
6472
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6473
|
+
className: "wizard-layout-grid",
|
|
6474
|
+
style: {
|
|
6475
|
+
display: "grid",
|
|
6476
|
+
gridTemplateRows: "repeat(".concat(template.rows, ", 1fr)"),
|
|
6477
|
+
gridTemplateColumns: "repeat(".concat(template.cols, ", 1fr)")
|
|
6478
|
+
},
|
|
6479
|
+
children: template.previewCells.map(function (cell, i) {
|
|
6480
|
+
var content = cellContents[i];
|
|
6481
|
+
var isDragging = dragIndex === i;
|
|
6482
|
+
var isDragOver = dragOverIndex === i;
|
|
6483
|
+
var hasWidget = content !== null;
|
|
6484
|
+
var cellStyle = {};
|
|
6485
|
+
if (cell.rowSpan) cellStyle.gridRow = "span ".concat(cell.rowSpan);
|
|
6486
|
+
if (cell.colSpan) cellStyle.gridColumn = "span ".concat(cell.colSpan);
|
|
6487
|
+
var classNames = ["wizard-layout-cell", hasWidget ? "wizard-layout-cell--filled" : "wizard-layout-cell--empty", isDragging ? "wizard-layout-cell--dragging" : "", isDragOver ? "wizard-layout-cell--drag-over" : ""].filter(Boolean).join(" ");
|
|
6488
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6489
|
+
className: classNames,
|
|
6490
|
+
style: cellStyle,
|
|
6491
|
+
draggable: hasWidget,
|
|
6492
|
+
onDragStart: hasWidget ? function (e) {
|
|
6493
|
+
return handleDragStart(e, i);
|
|
6494
|
+
} : undefined,
|
|
6495
|
+
onDragOver: function onDragOver(e) {
|
|
6496
|
+
return handleDragOver(e, i);
|
|
6497
|
+
},
|
|
6498
|
+
onDragLeave: handleDragLeave,
|
|
6499
|
+
onDrop: function onDrop(e) {
|
|
6500
|
+
return handleDrop(e, i);
|
|
6501
|
+
},
|
|
6502
|
+
onDragEnd: handleDragEnd,
|
|
6503
|
+
children: hasWidget ? /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
6504
|
+
className: "wizard-layout-cell-content",
|
|
6505
|
+
children: [content.icon && /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6506
|
+
icon: resolveIcon(content.icon),
|
|
6507
|
+
fixedWidth: true,
|
|
6508
|
+
className: "wizard-layout-cell-icon"
|
|
6509
|
+
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
6510
|
+
className: "wizard-layout-cell-name",
|
|
6511
|
+
children: content.displayName || content.name || content.key
|
|
6512
|
+
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6513
|
+
icon: "grip-vertical",
|
|
6514
|
+
className: "wizard-layout-cell-grip"
|
|
6515
|
+
})]
|
|
6516
|
+
}) : /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
6517
|
+
className: "wizard-layout-cell-placeholder",
|
|
6518
|
+
children: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
|
|
6519
|
+
icon: "plus",
|
|
6520
|
+
fixedWidth: true
|
|
6521
|
+
})
|
|
6522
|
+
})
|
|
6523
|
+
}, "".concat(cell.row, "-").concat(cell.col));
|
|
6524
|
+
})
|
|
6525
|
+
});
|
|
6526
|
+
};
|
|
6527
|
+
|
|
5411
6528
|
var LayoutBuilderAddItemModal = function LayoutBuilderAddItemModal(_ref) {
|
|
5412
6529
|
var workspace = _ref.workspace,
|
|
5413
6530
|
open = _ref.open,
|
|
@@ -9808,8 +10925,8 @@ var deepEqual = function deepEqual(a, b, opts) {
|
|
|
9808
10925
|
|
|
9809
10926
|
var deepEqual$1 = /*@__PURE__*/getDefaultExportFromCjs(deepEqual);
|
|
9810
10927
|
|
|
9811
|
-
function ownKeys$
|
|
9812
|
-
function _objectSpread$
|
|
10928
|
+
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; }
|
|
10929
|
+
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; }
|
|
9813
10930
|
var PanelEditItem = function PanelEditItem(_ref) {
|
|
9814
10931
|
var _ComponentManager$get;
|
|
9815
10932
|
var workspace = _ref.workspace,
|
|
@@ -9869,7 +10986,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
9869
10986
|
var uuid = newItem.uuid || newItem.uuidString;
|
|
9870
10987
|
if (uuid) {
|
|
9871
10988
|
workspaceTemp.selectedProviders = workspaceTemp.selectedProviders || {};
|
|
9872
|
-
workspaceTemp.selectedProviders[uuid] = _objectSpread$
|
|
10989
|
+
workspaceTemp.selectedProviders[uuid] = _objectSpread$z(_objectSpread$z({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
|
|
9873
10990
|
}
|
|
9874
10991
|
onUpdate(newItem, workspaceTemp);
|
|
9875
10992
|
forceUpdate();
|
|
@@ -9998,7 +11115,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
9998
11115
|
var _ref5 = _slicedToArray(_ref4, 2),
|
|
9999
11116
|
name = _ref5[0],
|
|
10000
11117
|
p = _ref5[1];
|
|
10001
|
-
return _objectSpread$
|
|
11118
|
+
return _objectSpread$z({
|
|
10002
11119
|
name: name
|
|
10003
11120
|
}, p);
|
|
10004
11121
|
});
|
|
@@ -10040,11 +11157,11 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
10040
11157
|
};
|
|
10041
11158
|
|
|
10042
11159
|
var _excluded$5 = ["rows", "cols"];
|
|
10043
|
-
function _createForOfIteratorHelper$
|
|
10044
|
-
function _unsupportedIterableToArray$
|
|
10045
|
-
function _arrayLikeToArray$
|
|
10046
|
-
function ownKeys$
|
|
10047
|
-
function _objectSpread$
|
|
11160
|
+
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; } } }; }
|
|
11161
|
+
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; } }
|
|
11162
|
+
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; }
|
|
11163
|
+
function ownKeys$y(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; }
|
|
11164
|
+
function _objectSpread$y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$y(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10048
11165
|
var defaultGrid = {
|
|
10049
11166
|
rows: 1,
|
|
10050
11167
|
cols: 1,
|
|
@@ -10065,7 +11182,7 @@ function GridEditor(_ref) {
|
|
|
10065
11182
|
setGrid = _useState2[1];
|
|
10066
11183
|
var addRow = function addRow() {
|
|
10067
11184
|
var newRow = grid.rows;
|
|
10068
|
-
var newGrid = _objectSpread$
|
|
11185
|
+
var newGrid = _objectSpread$y(_objectSpread$y({}, grid), {}, {
|
|
10069
11186
|
rows: grid.rows + 1
|
|
10070
11187
|
});
|
|
10071
11188
|
for (var col = 0; col < grid.cols; col++) {
|
|
@@ -10080,7 +11197,7 @@ function GridEditor(_ref) {
|
|
|
10080
11197
|
};
|
|
10081
11198
|
var addColumn = function addColumn() {
|
|
10082
11199
|
var newCol = grid.cols;
|
|
10083
|
-
var newGrid = _objectSpread$
|
|
11200
|
+
var newGrid = _objectSpread$y(_objectSpread$y({}, grid), {}, {
|
|
10084
11201
|
cols: grid.cols + 1
|
|
10085
11202
|
});
|
|
10086
11203
|
for (var row = 0; row < grid.rows; row++) {
|
|
@@ -10113,8 +11230,8 @@ function GridEditor(_ref) {
|
|
|
10113
11230
|
});
|
|
10114
11231
|
}
|
|
10115
11232
|
if (grid[nextKey]) {
|
|
10116
|
-
var newGrid = _objectSpread$
|
|
10117
|
-
newGrid[currentKey] = _objectSpread$
|
|
11233
|
+
var newGrid = _objectSpread$y({}, grid);
|
|
11234
|
+
newGrid[currentKey] = _objectSpread$y(_objectSpread$y({}, newGrid[currentKey]), {}, {
|
|
10118
11235
|
colSpan: newGrid[currentKey].colSpan + 1
|
|
10119
11236
|
});
|
|
10120
11237
|
delete newGrid[nextKey];
|
|
@@ -10127,8 +11244,8 @@ function GridEditor(_ref) {
|
|
|
10127
11244
|
var currentKey = "".concat(row, ".").concat(col);
|
|
10128
11245
|
var belowKey = "".concat(row + 1, ".").concat(col);
|
|
10129
11246
|
if (grid[belowKey]) {
|
|
10130
|
-
var newGrid = _objectSpread$
|
|
10131
|
-
newGrid[currentKey] = _objectSpread$
|
|
11247
|
+
var newGrid = _objectSpread$y({}, grid);
|
|
11248
|
+
newGrid[currentKey] = _objectSpread$y(_objectSpread$y({}, newGrid[currentKey]), {}, {
|
|
10132
11249
|
rowSpan: newGrid[currentKey].rowSpan + 1
|
|
10133
11250
|
});
|
|
10134
11251
|
delete newGrid[belowKey];
|
|
@@ -10145,7 +11262,7 @@ function GridEditor(_ref) {
|
|
|
10145
11262
|
var splitCell = function splitCell(row, col) {
|
|
10146
11263
|
var key = "".concat(row, ".").concat(col);
|
|
10147
11264
|
var cell = grid[key];
|
|
10148
|
-
var newGrid = _objectSpread$
|
|
11265
|
+
var newGrid = _objectSpread$y({}, grid);
|
|
10149
11266
|
|
|
10150
11267
|
// we have to check the colspan, and since the colspan is greater than 1
|
|
10151
11268
|
// Only handle horizontal split if colSpan > 1
|
|
@@ -10161,13 +11278,13 @@ function GridEditor(_ref) {
|
|
|
10161
11278
|
var oldKey = "".concat(row, ".").concat(c);
|
|
10162
11279
|
var newKey = "".concat(row, ".").concat(c + 1);
|
|
10163
11280
|
if (newGrid[oldKey]) {
|
|
10164
|
-
newGrid[newKey] = _objectSpread$
|
|
11281
|
+
newGrid[newKey] = _objectSpread$y({}, newGrid[oldKey]);
|
|
10165
11282
|
delete newGrid[oldKey];
|
|
10166
11283
|
}
|
|
10167
11284
|
}
|
|
10168
11285
|
|
|
10169
11286
|
// Update the original cell's colSpan
|
|
10170
|
-
newGrid[key] = _objectSpread$
|
|
11287
|
+
newGrid[key] = _objectSpread$y(_objectSpread$y({}, cell), {}, {
|
|
10171
11288
|
colSpan: cell.colSpan - 1
|
|
10172
11289
|
});
|
|
10173
11290
|
|
|
@@ -10179,7 +11296,7 @@ function GridEditor(_ref) {
|
|
|
10179
11296
|
};
|
|
10180
11297
|
}
|
|
10181
11298
|
if (cell.rowSpan > 1) {
|
|
10182
|
-
newGrid[key] = _objectSpread$
|
|
11299
|
+
newGrid[key] = _objectSpread$y(_objectSpread$y({}, newGrid[key]), {}, {
|
|
10183
11300
|
rowSpan: cell.rowSpan - 1
|
|
10184
11301
|
});
|
|
10185
11302
|
newGrid["".concat(row + 1, ".").concat(col)] = {
|
|
@@ -10195,7 +11312,7 @@ function GridEditor(_ref) {
|
|
|
10195
11312
|
function sortObjectByKeys(obj) {
|
|
10196
11313
|
var sortedKeys = Object.keys(obj).sort();
|
|
10197
11314
|
var sortedObj = {};
|
|
10198
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11315
|
+
var _iterator = _createForOfIteratorHelper$d(sortedKeys),
|
|
10199
11316
|
_step;
|
|
10200
11317
|
try {
|
|
10201
11318
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10298,7 +11415,7 @@ function GridEditor(_ref) {
|
|
|
10298
11415
|
var fromKey = "".concat(from.row, ".").concat(from.col);
|
|
10299
11416
|
var toKey = "".concat(to.row, ".").concat(to.col);
|
|
10300
11417
|
if (fromKey === toKey) return;
|
|
10301
|
-
var newGrid = _objectSpread$
|
|
11418
|
+
var newGrid = _objectSpread$y({}, grid);
|
|
10302
11419
|
|
|
10303
11420
|
// Swap the cells
|
|
10304
11421
|
var temp = newGrid[fromKey];
|
|
@@ -10324,7 +11441,7 @@ function GridEditor(_ref) {
|
|
|
10324
11441
|
// console.log("Grid updated:", sequencedGrid);
|
|
10325
11442
|
}
|
|
10326
11443
|
function resetGridLayout() {
|
|
10327
|
-
var newGrid = _objectSpread$
|
|
11444
|
+
var newGrid = _objectSpread$y({}, defaultGrid);
|
|
10328
11445
|
setGrid(newGrid);
|
|
10329
11446
|
onUpdate(newGrid);
|
|
10330
11447
|
}
|
|
@@ -10602,8 +11719,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
|
|
|
10602
11719
|
});
|
|
10603
11720
|
};
|
|
10604
11721
|
|
|
10605
|
-
function ownKeys$
|
|
10606
|
-
function _objectSpread$
|
|
11722
|
+
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; }
|
|
11723
|
+
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; }
|
|
10607
11724
|
var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
10608
11725
|
var item = _ref.item;
|
|
10609
11726
|
_ref.workspace;
|
|
@@ -10626,7 +11743,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
10626
11743
|
}, [widgetUuid, notificationDefs.length]);
|
|
10627
11744
|
function handleNotifToggle(typeKey, value) {
|
|
10628
11745
|
var _window$mainApi2;
|
|
10629
|
-
var updated = _objectSpread$
|
|
11746
|
+
var updated = _objectSpread$x(_objectSpread$x({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
|
|
10630
11747
|
setNotifPrefs(updated);
|
|
10631
11748
|
if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
|
|
10632
11749
|
window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
|
|
@@ -10668,11 +11785,11 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
10668
11785
|
});
|
|
10669
11786
|
};
|
|
10670
11787
|
|
|
10671
|
-
function _createForOfIteratorHelper$
|
|
10672
|
-
function _unsupportedIterableToArray$
|
|
10673
|
-
function _arrayLikeToArray$
|
|
10674
|
-
function ownKeys$
|
|
10675
|
-
function _objectSpread$
|
|
11788
|
+
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; } } }; }
|
|
11789
|
+
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; } }
|
|
11790
|
+
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; }
|
|
11791
|
+
function ownKeys$w(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; }
|
|
11792
|
+
function _objectSpread$w(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$w(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$w(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10676
11793
|
var DAYS = [{
|
|
10677
11794
|
key: "mon",
|
|
10678
11795
|
label: "Mon"
|
|
@@ -10773,7 +11890,7 @@ function TaskScheduleEditor(_ref) {
|
|
|
10773
11890
|
var _window$mainApi;
|
|
10774
11891
|
var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
10775
11892
|
if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
|
|
10776
|
-
var payload = _objectSpread$
|
|
11893
|
+
var payload = _objectSpread$w({
|
|
10777
11894
|
widgetId: widgetId,
|
|
10778
11895
|
widgetName: widgetName,
|
|
10779
11896
|
workspaceId: workspaceId || "",
|
|
@@ -10999,7 +12116,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
10999
12116
|
setIsLoading(true);
|
|
11000
12117
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
11001
12118
|
var stateMap = {};
|
|
11002
|
-
var _iterator = _createForOfIteratorHelper$
|
|
12119
|
+
var _iterator = _createForOfIteratorHelper$c(tasks || []),
|
|
11003
12120
|
_step;
|
|
11004
12121
|
try {
|
|
11005
12122
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13044,8 +14161,8 @@ var WidgetIcon = function WidgetIcon(_ref) {
|
|
|
13044
14161
|
});
|
|
13045
14162
|
};
|
|
13046
14163
|
|
|
13047
|
-
function ownKeys$
|
|
13048
|
-
function _objectSpread$
|
|
14164
|
+
function ownKeys$v(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; }
|
|
14165
|
+
function _objectSpread$v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$v(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13049
14166
|
var ProviderForm = function ProviderForm(_ref) {
|
|
13050
14167
|
var credentialSchema = _ref.credentialSchema,
|
|
13051
14168
|
_ref$initialValues = _ref.initialValues,
|
|
@@ -13090,14 +14207,14 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
13090
14207
|
var oldKey = f.key;
|
|
13091
14208
|
if (oldKey && formData[oldKey] !== undefined) {
|
|
13092
14209
|
setFormData(function (fd) {
|
|
13093
|
-
var updated = _objectSpread$
|
|
14210
|
+
var updated = _objectSpread$v({}, fd);
|
|
13094
14211
|
var val = updated[oldKey];
|
|
13095
14212
|
delete updated[oldKey];
|
|
13096
14213
|
if (newKey.trim()) updated[newKey] = val;
|
|
13097
14214
|
return updated;
|
|
13098
14215
|
});
|
|
13099
14216
|
}
|
|
13100
|
-
return _objectSpread$
|
|
14217
|
+
return _objectSpread$v(_objectSpread$v({}, f), {}, {
|
|
13101
14218
|
key: newKey
|
|
13102
14219
|
});
|
|
13103
14220
|
});
|
|
@@ -13109,14 +14226,14 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
13109
14226
|
});
|
|
13110
14227
|
if (field !== null && field !== void 0 && field.key) {
|
|
13111
14228
|
setFormData(function (prev) {
|
|
13112
|
-
return _objectSpread$
|
|
14229
|
+
return _objectSpread$v(_objectSpread$v({}, prev), {}, _defineProperty({}, field.key, value));
|
|
13113
14230
|
});
|
|
13114
14231
|
}
|
|
13115
14232
|
};
|
|
13116
14233
|
var handleDynamicSecretToggle = function handleDynamicSecretToggle(id) {
|
|
13117
14234
|
setDynamicFields(function (prev) {
|
|
13118
14235
|
return prev.map(function (f) {
|
|
13119
|
-
return f.id === id ? _objectSpread$
|
|
14236
|
+
return f.id === id ? _objectSpread$v(_objectSpread$v({}, f), {}, {
|
|
13120
14237
|
secret: !f.secret
|
|
13121
14238
|
}) : f;
|
|
13122
14239
|
});
|
|
@@ -13138,7 +14255,7 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
13138
14255
|
});
|
|
13139
14256
|
if (field !== null && field !== void 0 && field.key) {
|
|
13140
14257
|
setFormData(function (prev) {
|
|
13141
|
-
var updated = _objectSpread$
|
|
14258
|
+
var updated = _objectSpread$v({}, prev);
|
|
13142
14259
|
delete updated[field.key];
|
|
13143
14260
|
return updated;
|
|
13144
14261
|
});
|
|
@@ -13180,13 +14297,13 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
13180
14297
|
*/
|
|
13181
14298
|
var handleInputChange = function handleInputChange(fieldName, value) {
|
|
13182
14299
|
setFormData(function (prev) {
|
|
13183
|
-
return _objectSpread$
|
|
14300
|
+
return _objectSpread$v(_objectSpread$v({}, prev), {}, _defineProperty({}, fieldName, value));
|
|
13184
14301
|
});
|
|
13185
14302
|
|
|
13186
14303
|
// Clear error for this field if it was filled
|
|
13187
14304
|
if (errors[fieldName] && value !== null && value !== void 0 && value.trim()) {
|
|
13188
14305
|
setErrors(function (prev) {
|
|
13189
|
-
var newErrors = _objectSpread$
|
|
14306
|
+
var newErrors = _objectSpread$v({}, prev);
|
|
13190
14307
|
delete newErrors[fieldName];
|
|
13191
14308
|
return newErrors;
|
|
13192
14309
|
});
|
|
@@ -13224,7 +14341,7 @@ var ProviderForm = function ProviderForm(_ref) {
|
|
|
13224
14341
|
// Clear error if filled
|
|
13225
14342
|
if (errors.providerName && value !== null && value !== void 0 && value.trim()) {
|
|
13226
14343
|
setErrors(function (prev) {
|
|
13227
|
-
var newErrors = _objectSpread$
|
|
14344
|
+
var newErrors = _objectSpread$v({}, prev);
|
|
13228
14345
|
delete newErrors.providerName;
|
|
13229
14346
|
return newErrors;
|
|
13230
14347
|
});
|
|
@@ -13461,8 +14578,8 @@ var ToolSelector = function ToolSelector(_ref) {
|
|
|
13461
14578
|
});
|
|
13462
14579
|
};
|
|
13463
14580
|
|
|
13464
|
-
function ownKeys$
|
|
13465
|
-
function _objectSpread$
|
|
14581
|
+
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; }
|
|
14582
|
+
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; }
|
|
13466
14583
|
/**
|
|
13467
14584
|
* Shared MCP utility functions.
|
|
13468
14585
|
*
|
|
@@ -13590,7 +14707,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
|
|
|
13590
14707
|
headerTemplate[name] = value;
|
|
13591
14708
|
}
|
|
13592
14709
|
});
|
|
13593
|
-
var config = _objectSpread$
|
|
14710
|
+
var config = _objectSpread$u({}, baseMcpConfig);
|
|
13594
14711
|
if (Object.keys(headerTemplate).length > 0) {
|
|
13595
14712
|
config.headerTemplate = headerTemplate;
|
|
13596
14713
|
} else {
|
|
@@ -13608,7 +14725,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
|
|
|
13608
14725
|
envMapping[env] = cred;
|
|
13609
14726
|
}
|
|
13610
14727
|
});
|
|
13611
|
-
return _objectSpread$
|
|
14728
|
+
return _objectSpread$u(_objectSpread$u({}, baseMcpConfig), {}, {
|
|
13612
14729
|
envMapping: envMapping
|
|
13613
14730
|
});
|
|
13614
14731
|
}
|
|
@@ -13849,11 +14966,11 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
|
|
|
13849
14966
|
});
|
|
13850
14967
|
};
|
|
13851
14968
|
|
|
13852
|
-
function _createForOfIteratorHelper$
|
|
13853
|
-
function _unsupportedIterableToArray$
|
|
13854
|
-
function _arrayLikeToArray$
|
|
13855
|
-
function ownKeys$
|
|
13856
|
-
function _objectSpread$
|
|
14969
|
+
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; } } }; }
|
|
14970
|
+
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; } }
|
|
14971
|
+
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; }
|
|
14972
|
+
function ownKeys$t(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; }
|
|
14973
|
+
function _objectSpread$t(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$t(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13857
14974
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
13858
14975
|
var isOpen = _ref.isOpen,
|
|
13859
14976
|
onClose = _ref.onClose,
|
|
@@ -14030,7 +15147,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14030
15147
|
.map(function (entry) {
|
|
14031
15148
|
var widget = allWidgets[entry.widgetKey];
|
|
14032
15149
|
if (!widget) return null; // Widget no longer exists
|
|
14033
|
-
return _objectSpread$
|
|
15150
|
+
return _objectSpread$t(_objectSpread$t({
|
|
14034
15151
|
key: entry.widgetKey
|
|
14035
15152
|
}, widget), {}, {
|
|
14036
15153
|
savedProviders: entry.providers || {},
|
|
@@ -14118,11 +15235,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14118
15235
|
|
|
14119
15236
|
// Flatten all widgets from all packages for the widget list
|
|
14120
15237
|
flatWidgets = [];
|
|
14121
|
-
_iterator = _createForOfIteratorHelper$
|
|
15238
|
+
_iterator = _createForOfIteratorHelper$b(result.packages || []);
|
|
14122
15239
|
try {
|
|
14123
15240
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
14124
15241
|
pkg = _step.value;
|
|
14125
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
15242
|
+
_iterator2 = _createForOfIteratorHelper$b(pkg.widgets || []);
|
|
14126
15243
|
try {
|
|
14127
15244
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
14128
15245
|
widget = _step2.value;
|
|
@@ -14181,7 +15298,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14181
15298
|
// Get widgets from ComponentManager
|
|
14182
15299
|
var allWidgets = ComponentManager.map();
|
|
14183
15300
|
var widgetList = Object.keys(allWidgets).map(function (key) {
|
|
14184
|
-
return _objectSpread$
|
|
15301
|
+
return _objectSpread$t({
|
|
14185
15302
|
key: key
|
|
14186
15303
|
}, allWidgets[key]);
|
|
14187
15304
|
}).filter(function (widget) {
|
|
@@ -14412,7 +15529,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14412
15529
|
setInlineCreateType(null);
|
|
14413
15530
|
setInlineCreateSchema({});
|
|
14414
15531
|
setInlineCreateError(null);
|
|
14415
|
-
setSelectedProviders(_objectSpread$
|
|
15532
|
+
setSelectedProviders(_objectSpread$t(_objectSpread$t({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
|
|
14416
15533
|
}
|
|
14417
15534
|
};
|
|
14418
15535
|
var handleInlineProviderSubmit = function handleInlineProviderSubmit(formData) {
|
|
@@ -14433,7 +15550,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14433
15550
|
|
|
14434
15551
|
// Auto-select the newly created provider
|
|
14435
15552
|
setSelectedProviders(function (prev) {
|
|
14436
|
-
return _objectSpread$
|
|
15553
|
+
return _objectSpread$t(_objectSpread$t({}, prev), {}, _defineProperty({}, providerType, providerName));
|
|
14437
15554
|
});
|
|
14438
15555
|
|
|
14439
15556
|
// Collapse the inline form
|
|
@@ -14487,11 +15604,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14487
15604
|
};
|
|
14488
15605
|
var inlineHandleCredentialChange = function inlineHandleCredentialChange(fieldName, value) {
|
|
14489
15606
|
setInlineCredentialData(function (prev) {
|
|
14490
|
-
return _objectSpread$
|
|
15607
|
+
return _objectSpread$t(_objectSpread$t({}, prev), {}, _defineProperty({}, fieldName, value));
|
|
14491
15608
|
});
|
|
14492
15609
|
if (inlineFormErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
|
|
14493
15610
|
setInlineFormErrors(function (prev) {
|
|
14494
|
-
var next = _objectSpread$
|
|
15611
|
+
var next = _objectSpread$t({}, prev);
|
|
14495
15612
|
delete next[fieldName];
|
|
14496
15613
|
return next;
|
|
14497
15614
|
});
|
|
@@ -14584,7 +15701,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14584
15701
|
refreshProviders();
|
|
14585
15702
|
}
|
|
14586
15703
|
setSelectedProviders(function (prev) {
|
|
14587
|
-
return _objectSpread$
|
|
15704
|
+
return _objectSpread$t(_objectSpread$t({}, prev), {}, _defineProperty({}, providerType, providerName));
|
|
14588
15705
|
});
|
|
14589
15706
|
|
|
14590
15707
|
// Reset stepper state
|
|
@@ -14605,7 +15722,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14605
15722
|
});
|
|
14606
15723
|
};
|
|
14607
15724
|
var handleConfigChange = function handleConfigChange(key, value) {
|
|
14608
|
-
setUserConfigValues(_objectSpread$
|
|
15725
|
+
setUserConfigValues(_objectSpread$t(_objectSpread$t({}, userConfigValues), {}, _defineProperty({}, key, value)));
|
|
14609
15726
|
};
|
|
14610
15727
|
|
|
14611
15728
|
// Install a package from the registry
|
|
@@ -14695,7 +15812,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14695
15812
|
|
|
14696
15813
|
// Phase 3: Save to recent widgets
|
|
14697
15814
|
saveToRecent(selectedWidget, selectedProviders, userConfigValues);
|
|
14698
|
-
onSelectWidget(_objectSpread$
|
|
15815
|
+
onSelectWidget(_objectSpread$t(_objectSpread$t({}, selectedWidget), {}, {
|
|
14699
15816
|
selectedProviders: selectedProviders,
|
|
14700
15817
|
// Pass to parent
|
|
14701
15818
|
userConfigValues: userConfigValues // Pass to parent
|
|
@@ -15331,7 +16448,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
15331
16448
|
setInlineProviderName(value);
|
|
15332
16449
|
if (inlineFormErrors.providerName && value !== null && value !== void 0 && value.trim()) {
|
|
15333
16450
|
setInlineFormErrors(function (prev) {
|
|
15334
|
-
var next = _objectSpread$
|
|
16451
|
+
var next = _objectSpread$t({}, prev);
|
|
15335
16452
|
delete next.providerName;
|
|
15336
16453
|
return next;
|
|
15337
16454
|
});
|
|
@@ -15678,9 +16795,9 @@ var ProviderBadge = function ProviderBadge(_ref) {
|
|
|
15678
16795
|
});
|
|
15679
16796
|
};
|
|
15680
16797
|
|
|
15681
|
-
function _createForOfIteratorHelper$
|
|
15682
|
-
function _unsupportedIterableToArray$
|
|
15683
|
-
function _arrayLikeToArray$
|
|
16798
|
+
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; } } }; }
|
|
16799
|
+
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; } }
|
|
16800
|
+
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
16801
|
var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
15685
16802
|
var item = _ref.item,
|
|
15686
16803
|
widget = _ref.widget,
|
|
@@ -15724,7 +16841,7 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
15724
16841
|
var el = headerRef.current;
|
|
15725
16842
|
if (!el) return;
|
|
15726
16843
|
var observer = new ResizeObserver(function (entries) {
|
|
15727
|
-
var _iterator = _createForOfIteratorHelper$
|
|
16844
|
+
var _iterator = _createForOfIteratorHelper$a(entries),
|
|
15728
16845
|
_step;
|
|
15729
16846
|
try {
|
|
15730
16847
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -16081,9 +17198,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
|
|
|
16081
17198
|
};
|
|
16082
17199
|
};
|
|
16083
17200
|
|
|
16084
|
-
function _createForOfIteratorHelper$
|
|
16085
|
-
function _unsupportedIterableToArray$
|
|
16086
|
-
function _arrayLikeToArray$
|
|
17201
|
+
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; } } }; }
|
|
17202
|
+
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; } }
|
|
17203
|
+
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
17204
|
function formatCountdown(ms) {
|
|
16088
17205
|
if (ms == null || ms < 0) return "--";
|
|
16089
17206
|
if (ms < 1000) return "< 1s";
|
|
@@ -16200,7 +17317,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
|
|
|
16200
17317
|
|
|
16201
17318
|
// Find soonest countdown among enabled tasks
|
|
16202
17319
|
var soonestMs = null;
|
|
16203
|
-
var _iterator = _createForOfIteratorHelper$
|
|
17320
|
+
var _iterator = _createForOfIteratorHelper$9(enabledTasks),
|
|
16204
17321
|
_step;
|
|
16205
17322
|
try {
|
|
16206
17323
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -16651,8 +17768,8 @@ var ProviderSelector = function ProviderSelector(_ref) {
|
|
|
16651
17768
|
});
|
|
16652
17769
|
};
|
|
16653
17770
|
|
|
16654
|
-
function ownKeys$
|
|
16655
|
-
function _objectSpread$
|
|
17771
|
+
function ownKeys$s(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; }
|
|
17772
|
+
function _objectSpread$s(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$s(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16656
17773
|
var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
|
|
16657
17774
|
var transport = _ref.transport,
|
|
16658
17775
|
envMappingRows = _ref.envMappingRows,
|
|
@@ -16681,7 +17798,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
|
|
|
16681
17798
|
var updateEnvRow = function updateEnvRow(id, field, value) {
|
|
16682
17799
|
onEnvMappingRowsChange(function (prev) {
|
|
16683
17800
|
return prev.map(function (row) {
|
|
16684
|
-
return row.id === id ? _objectSpread$
|
|
17801
|
+
return row.id === id ? _objectSpread$s(_objectSpread$s({}, row), {}, _defineProperty({}, field, value)) : row;
|
|
16685
17802
|
});
|
|
16686
17803
|
});
|
|
16687
17804
|
};
|
|
@@ -16706,7 +17823,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
|
|
|
16706
17823
|
var updateHeaderRow = function updateHeaderRow(id, field, value) {
|
|
16707
17824
|
onHeaderRowsChange(function (prev) {
|
|
16708
17825
|
return prev.map(function (row) {
|
|
16709
|
-
return row.id === id ? _objectSpread$
|
|
17826
|
+
return row.id === id ? _objectSpread$s(_objectSpread$s({}, row), {}, _defineProperty({}, field, value)) : row;
|
|
16710
17827
|
});
|
|
16711
17828
|
});
|
|
16712
17829
|
};
|
|
@@ -16855,8 +17972,8 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
|
|
|
16855
17972
|
});
|
|
16856
17973
|
};
|
|
16857
17974
|
|
|
16858
|
-
function ownKeys$
|
|
16859
|
-
function _objectSpread$
|
|
17975
|
+
function ownKeys$r(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; }
|
|
17976
|
+
function _objectSpread$r(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$r(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16860
17977
|
var McpServerPicker = function McpServerPicker(_ref) {
|
|
16861
17978
|
var _testResult$tools;
|
|
16862
17979
|
var isOpen = _ref.isOpen,
|
|
@@ -17035,11 +18152,11 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
17035
18152
|
// Handle credential field changes
|
|
17036
18153
|
var handleCredentialChange = function handleCredentialChange(fieldName, value) {
|
|
17037
18154
|
setCredentialData(function (prev) {
|
|
17038
|
-
return _objectSpread$
|
|
18155
|
+
return _objectSpread$r(_objectSpread$r({}, prev), {}, _defineProperty({}, fieldName, value));
|
|
17039
18156
|
});
|
|
17040
18157
|
if (formErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
|
|
17041
18158
|
setFormErrors(function (prev) {
|
|
17042
|
-
var next = _objectSpread$
|
|
18159
|
+
var next = _objectSpread$r({}, prev);
|
|
17043
18160
|
delete next[fieldName];
|
|
17044
18161
|
return next;
|
|
17045
18162
|
});
|
|
@@ -17377,7 +18494,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
17377
18494
|
setProviderName(value);
|
|
17378
18495
|
if (formErrors.providerName && value !== null && value !== void 0 && value.trim()) {
|
|
17379
18496
|
setFormErrors(function (prev) {
|
|
17380
|
-
var next = _objectSpread$
|
|
18497
|
+
var next = _objectSpread$r({}, prev);
|
|
17381
18498
|
delete next.providerName;
|
|
17382
18499
|
return next;
|
|
17383
18500
|
});
|
|
@@ -17567,8 +18684,8 @@ var McpServerPicker = function McpServerPicker(_ref) {
|
|
|
17567
18684
|
});
|
|
17568
18685
|
};
|
|
17569
18686
|
|
|
17570
|
-
function ownKeys$
|
|
17571
|
-
function _objectSpread$
|
|
18687
|
+
function ownKeys$q(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; }
|
|
18688
|
+
function _objectSpread$q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$q(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17572
18689
|
var USE_ENHANCED_WIDGET_SELECTOR = true; // Set to false to use original modal
|
|
17573
18690
|
|
|
17574
18691
|
/**
|
|
@@ -17614,7 +18731,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
17614
18731
|
var _ref3 = _slicedToArray(_ref2, 2),
|
|
17615
18732
|
id = _ref3[0],
|
|
17616
18733
|
p = _ref3[1];
|
|
17617
|
-
return _objectSpread$
|
|
18734
|
+
return _objectSpread$q(_objectSpread$q({}, p), {}, {
|
|
17618
18735
|
id: id,
|
|
17619
18736
|
name: p.name || id
|
|
17620
18737
|
});
|
|
@@ -17701,7 +18818,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
17701
18818
|
// so we use its layout to replace any corrupted grid data.
|
|
17702
18819
|
if (workspace && workspace["layout"]) {
|
|
17703
18820
|
var model = new DashboardModel(workspace);
|
|
17704
|
-
setCurrentWorkspace(_objectSpread$
|
|
18821
|
+
setCurrentWorkspace(_objectSpread$q(_objectSpread$q({}, workspace), {}, {
|
|
17705
18822
|
layout: model.layout
|
|
17706
18823
|
}));
|
|
17707
18824
|
} else {
|
|
@@ -18092,7 +19209,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
18092
19209
|
var uuid = widget.uuid || widget.uuidString;
|
|
18093
19210
|
if (uuid) {
|
|
18094
19211
|
newWorkspace.selectedProviders = newWorkspace.selectedProviders || {};
|
|
18095
|
-
newWorkspace.selectedProviders[uuid] = _objectSpread$
|
|
19212
|
+
newWorkspace.selectedProviders[uuid] = _objectSpread$q(_objectSpread$q({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
|
|
18096
19213
|
}
|
|
18097
19214
|
setCurrentWorkspace(newWorkspace);
|
|
18098
19215
|
}
|
|
@@ -18227,7 +19344,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
18227
19344
|
try {
|
|
18228
19345
|
var config = ComponentManager.config(widgetKey);
|
|
18229
19346
|
if (!config) return;
|
|
18230
|
-
var widgetItem = _objectSpread$
|
|
19347
|
+
var widgetItem = _objectSpread$q(_objectSpread$q({}, config), {}, {
|
|
18231
19348
|
component: widgetKey,
|
|
18232
19349
|
key: widgetKey
|
|
18233
19350
|
});
|
|
@@ -18456,7 +19573,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
|
|
|
18456
19573
|
onSelectWidget: function onSelectWidget(widget) {
|
|
18457
19574
|
|
|
18458
19575
|
// Add component property from widget.key
|
|
18459
|
-
var widgetWithComponent = _objectSpread$
|
|
19576
|
+
var widgetWithComponent = _objectSpread$q(_objectSpread$q({}, widget), {}, {
|
|
18460
19577
|
component: widget.key
|
|
18461
19578
|
});
|
|
18462
19579
|
handleClickConfirmAdd(widgetWithComponent, dropdownTarget);
|
|
@@ -20084,8 +21201,8 @@ var MissingProviderPrompt = function MissingProviderPrompt(_ref) {
|
|
|
20084
21201
|
});
|
|
20085
21202
|
};
|
|
20086
21203
|
|
|
20087
|
-
function ownKeys$
|
|
20088
|
-
function _objectSpread$
|
|
21204
|
+
function ownKeys$p(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; }
|
|
21205
|
+
function _objectSpread$p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$p(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20089
21206
|
function _callSuper$4(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$4() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
20090
21207
|
function _isNativeReflectConstruct$4() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$4 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20091
21208
|
var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
@@ -20140,7 +21257,7 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
20140
21257
|
_defineProperty(_this, "handleProviderSelect", function (providerType, providerName, credentials) {
|
|
20141
21258
|
|
|
20142
21259
|
// Update local selected providers state
|
|
20143
|
-
var updatedSelected = _objectSpread$
|
|
21260
|
+
var updatedSelected = _objectSpread$p(_objectSpread$p({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
|
|
20144
21261
|
_this.setState({
|
|
20145
21262
|
selectedProviders: updatedSelected
|
|
20146
21263
|
}, function () {
|
|
@@ -20214,8 +21331,8 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
|
20214
21331
|
}(React.Component);
|
|
20215
21332
|
_defineProperty(ProviderErrorBoundary, "contextType", ProviderContext);
|
|
20216
21333
|
|
|
20217
|
-
function ownKeys$
|
|
20218
|
-
function _objectSpread$
|
|
21334
|
+
function ownKeys$o(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; }
|
|
21335
|
+
function _objectSpread$o(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$o(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$o(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20219
21336
|
var withProviderDetection = function withProviderDetection(Component) {
|
|
20220
21337
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
20221
21338
|
_ref$requiredProvider = _ref.requiredProviders,
|
|
@@ -20240,7 +21357,7 @@ var withProviderDetection = function withProviderDetection(Component) {
|
|
|
20240
21357
|
onProviderSelect: onProviderSelect
|
|
20241
21358
|
});
|
|
20242
21359
|
}
|
|
20243
|
-
return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$
|
|
21360
|
+
return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$o({}, props));
|
|
20244
21361
|
};
|
|
20245
21362
|
};
|
|
20246
21363
|
|
|
@@ -20454,8 +21571,8 @@ var WidgetHelpers = /*#__PURE__*/function () {
|
|
|
20454
21571
|
}]);
|
|
20455
21572
|
}();
|
|
20456
21573
|
|
|
20457
|
-
function ownKeys$
|
|
20458
|
-
function _objectSpread$
|
|
21574
|
+
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; }
|
|
21575
|
+
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; }
|
|
20459
21576
|
function _callSuper$2(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$2() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
20460
21577
|
function _isNativeReflectConstruct$2() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$2 = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20461
21578
|
var WidgetErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
@@ -20582,7 +21699,7 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
|
|
|
20582
21699
|
|
|
20583
21700
|
// Build widgetData for WidgetContext — hooks read from this
|
|
20584
21701
|
var uuidString = DashReact.getUUID(params.uuid);
|
|
20585
|
-
var widgetData = _objectSpread$
|
|
21702
|
+
var widgetData = _objectSpread$n(_objectSpread$n({}, params), {}, {
|
|
20586
21703
|
uuidString: uuidString,
|
|
20587
21704
|
providers: (config === null || config === void 0 ? void 0 : config.providers) || [],
|
|
20588
21705
|
notifications: (config === null || config === void 0 ? void 0 : config.notifications) || []
|
|
@@ -20606,7 +21723,7 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
|
|
|
20606
21723
|
widgetData: widgetData
|
|
20607
21724
|
};
|
|
20608
21725
|
var hasScheduledTasks = ((config === null || config === void 0 ? void 0 : config.scheduledTasks) || []).length > 0;
|
|
20609
|
-
var widgetElement = children === null ? /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$
|
|
21726
|
+
var widgetElement = children === null ? /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$n(_objectSpread$n(_objectSpread$n({
|
|
20610
21727
|
id: "widget-nokids-".concat(widgetKey),
|
|
20611
21728
|
listen: function listen(listeners, handlers) {
|
|
20612
21729
|
return helpers.listen(listeners, handlers);
|
|
@@ -20619,7 +21736,7 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
|
|
|
20619
21736
|
backgroundColor: bgColor,
|
|
20620
21737
|
widgetConfig: helpers.config(),
|
|
20621
21738
|
widgetEventNames: helpers.events()
|
|
20622
|
-
}), "widget-nokids-".concat(widgetKey)) : /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$
|
|
21739
|
+
}), "widget-nokids-".concat(widgetKey)) : /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$n(_objectSpread$n(_objectSpread$n({
|
|
20623
21740
|
listen: function listen(listeners, handlers) {
|
|
20624
21741
|
return helpers.listen(listeners, handlers);
|
|
20625
21742
|
},
|
|
@@ -20813,11 +21930,11 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
20813
21930
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
20814
21931
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
20815
21932
|
|
|
20816
|
-
function _createForOfIteratorHelper$
|
|
20817
|
-
function _unsupportedIterableToArray$
|
|
20818
|
-
function _arrayLikeToArray$
|
|
20819
|
-
function ownKeys$
|
|
20820
|
-
function _objectSpread$
|
|
21933
|
+
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; } } }; }
|
|
21934
|
+
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; } }
|
|
21935
|
+
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; }
|
|
21936
|
+
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; }
|
|
21937
|
+
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; }
|
|
20821
21938
|
var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
|
|
20822
21939
|
var cellNumber = _ref.cellNumber,
|
|
20823
21940
|
gridContainerId = _ref.gridContainerId,
|
|
@@ -21004,7 +22121,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
21004
22121
|
var _ref5 = _slicedToArray(_ref4, 2),
|
|
21005
22122
|
id = _ref5[0],
|
|
21006
22123
|
provider = _ref5[1];
|
|
21007
|
-
return _objectSpread$
|
|
22124
|
+
return _objectSpread$m({
|
|
21008
22125
|
id: id
|
|
21009
22126
|
}, provider);
|
|
21010
22127
|
}) : [];
|
|
@@ -21379,7 +22496,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
21379
22496
|
return selectable["delete"](cn);
|
|
21380
22497
|
});
|
|
21381
22498
|
var resolved = new Set();
|
|
21382
|
-
var _iterator = _createForOfIteratorHelper$
|
|
22499
|
+
var _iterator = _createForOfIteratorHelper$8(selectable),
|
|
21383
22500
|
_step;
|
|
21384
22501
|
try {
|
|
21385
22502
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -22004,7 +23121,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
22004
23121
|
var widgetSpecificSelections = (workspace === null || workspace === void 0 || (_workspace$selectedPr = workspace.selectedProviders) === null || _workspace$selectedPr === void 0 ? void 0 : _workspace$selectedPr[id]) || {};
|
|
22005
23122
|
|
|
22006
23123
|
// Add provider-related props from workspace
|
|
22007
|
-
var itemWithProviders = _objectSpread$
|
|
23124
|
+
var itemWithProviders = _objectSpread$m(_objectSpread$m({}, item), {}, {
|
|
22008
23125
|
selectedProviders: widgetSpecificSelections,
|
|
22009
23126
|
onProviderSelect: onProviderSelect
|
|
22010
23127
|
});
|
|
@@ -23517,11 +24634,11 @@ function isWidgetResolvable(componentKey) {
|
|
|
23517
24634
|
// isMinOrderForItem
|
|
23518
24635
|
// }
|
|
23519
24636
|
|
|
23520
|
-
function ownKeys$
|
|
23521
|
-
function _objectSpread$
|
|
23522
|
-
function _createForOfIteratorHelper$
|
|
23523
|
-
function _unsupportedIterableToArray$
|
|
23524
|
-
function _arrayLikeToArray$
|
|
24637
|
+
function ownKeys$l(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; }
|
|
24638
|
+
function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24639
|
+
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; } } }; }
|
|
24640
|
+
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; } }
|
|
24641
|
+
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
24642
|
/**
|
|
23526
24643
|
* The model for all layout components used primarily in the renderLayout method
|
|
23527
24644
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -23533,7 +24650,7 @@ function _arrayLikeToArray$8(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
23533
24650
|
function sortObjectByKeys(obj) {
|
|
23534
24651
|
var sortedKeys = Object.keys(obj).sort();
|
|
23535
24652
|
var sortedObj = {};
|
|
23536
|
-
var _iterator = _createForOfIteratorHelper$
|
|
24653
|
+
var _iterator = _createForOfIteratorHelper$7(sortedKeys),
|
|
23537
24654
|
_step;
|
|
23538
24655
|
try {
|
|
23539
24656
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -23674,7 +24791,7 @@ var LayoutModel = function LayoutModel(layoutItem, workspaceLayout, dashboardId)
|
|
|
23674
24791
|
|
|
23675
24792
|
// Merge user-entered config values (from EnhancedWidgetDropdown) into userPrefs
|
|
23676
24793
|
if ("userConfigValues" in obj && obj.userConfigValues) {
|
|
23677
|
-
layout.userPrefs = _objectSpread$
|
|
24794
|
+
layout.userPrefs = _objectSpread$l(_objectSpread$l({}, layout.userPrefs), obj.userConfigValues);
|
|
23678
24795
|
}
|
|
23679
24796
|
|
|
23680
24797
|
// Preserve provider selections for this widget
|
|
@@ -24202,8 +25319,8 @@ var MenuItemModel = function MenuItemModel() {
|
|
|
24202
25319
|
return m;
|
|
24203
25320
|
};
|
|
24204
25321
|
|
|
24205
|
-
function ownKeys$
|
|
24206
|
-
function _objectSpread$
|
|
25322
|
+
function ownKeys$k(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; }
|
|
25323
|
+
function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24207
25324
|
/**
|
|
24208
25325
|
* A Model for a Workspace (Dashboard)
|
|
24209
25326
|
* The Dashboard in this instance is the entire Layout inclusive of the workspaces and widgets
|
|
@@ -25467,7 +26584,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
25467
26584
|
visibleCells.push({
|
|
25468
26585
|
row: r,
|
|
25469
26586
|
col: c,
|
|
25470
|
-
data: _objectSpread$
|
|
26587
|
+
data: _objectSpread$k({}, cell),
|
|
25471
26588
|
spanCol: ((_cell$span = cell.span) === null || _cell$span === void 0 ? void 0 : _cell$span.col) || 1,
|
|
25472
26589
|
spanRow: ((_cell$span2 = cell.span) === null || _cell$span2 === void 0 ? void 0 : _cell$span2.row) || 1
|
|
25473
26590
|
});
|
|
@@ -25489,7 +26606,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
25489
26606
|
var vc = _visibleCells[_i5];
|
|
25490
26607
|
var newCol = (vc.col - 1) * count + 1;
|
|
25491
26608
|
var _key7 = "".concat(vc.row, ".").concat(newCol);
|
|
25492
|
-
grid[_key7] = _objectSpread$
|
|
26609
|
+
grid[_key7] = _objectSpread$k(_objectSpread$k({}, vc.data), {}, {
|
|
25493
26610
|
hide: false,
|
|
25494
26611
|
span: {
|
|
25495
26612
|
row: vc.spanRow,
|
|
@@ -25564,7 +26681,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
25564
26681
|
_visibleCells2.push({
|
|
25565
26682
|
row: _r1,
|
|
25566
26683
|
col: _c10,
|
|
25567
|
-
data: _objectSpread$
|
|
26684
|
+
data: _objectSpread$k({}, _cell6),
|
|
25568
26685
|
spanRow: ((_cell6$span = _cell6.span) === null || _cell6$span === void 0 ? void 0 : _cell6$span.row) || 1,
|
|
25569
26686
|
spanCol: ((_cell6$span2 = _cell6.span) === null || _cell6$span2 === void 0 ? void 0 : _cell6$span2.col) || 1
|
|
25570
26687
|
});
|
|
@@ -25586,7 +26703,7 @@ var DashboardModel = /*#__PURE__*/function () {
|
|
|
25586
26703
|
var _vc = _visibleCells3[_i9];
|
|
25587
26704
|
var newRow = (_vc.row - 1) * count + 1;
|
|
25588
26705
|
var _key10 = "".concat(newRow, ".").concat(_vc.col);
|
|
25589
|
-
grid[_key10] = _objectSpread$
|
|
26706
|
+
grid[_key10] = _objectSpread$k(_objectSpread$k({}, _vc.data), {}, {
|
|
25590
26707
|
hide: false,
|
|
25591
26708
|
span: {
|
|
25592
26709
|
row: _vc.spanRow * count,
|
|
@@ -26733,8 +27850,8 @@ var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
|
26733
27850
|
}]);
|
|
26734
27851
|
}(React.Component);
|
|
26735
27852
|
|
|
26736
|
-
function ownKeys$
|
|
26737
|
-
function _objectSpread$
|
|
27853
|
+
function ownKeys$j(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; }
|
|
27854
|
+
function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26738
27855
|
|
|
26739
27856
|
/**
|
|
26740
27857
|
* useDashboard Hook
|
|
@@ -26790,7 +27907,7 @@ var useDashboard = function useDashboard() {
|
|
|
26790
27907
|
}
|
|
26791
27908
|
});
|
|
26792
27909
|
}
|
|
26793
|
-
return _objectSpread$
|
|
27910
|
+
return _objectSpread$j({
|
|
26794
27911
|
app: app,
|
|
26795
27912
|
dashboard: dashboard,
|
|
26796
27913
|
theme: theme
|
|
@@ -26799,9 +27916,9 @@ var useDashboard = function useDashboard() {
|
|
|
26799
27916
|
});
|
|
26800
27917
|
};
|
|
26801
27918
|
|
|
26802
|
-
function _createForOfIteratorHelper$
|
|
26803
|
-
function _unsupportedIterableToArray$
|
|
26804
|
-
function _arrayLikeToArray$
|
|
27919
|
+
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; } } }; }
|
|
27920
|
+
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; } }
|
|
27921
|
+
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
27922
|
|
|
26806
27923
|
/**
|
|
26807
27924
|
* useWidgetProviders Hook
|
|
@@ -26852,7 +27969,7 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
26852
27969
|
// 1. Widget-level: stored directly on the layout item by handleSelectProvider
|
|
26853
27970
|
// 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
|
|
26854
27971
|
var providers = {};
|
|
26855
|
-
var _iterator = _createForOfIteratorHelper$
|
|
27972
|
+
var _iterator = _createForOfIteratorHelper$6(providerDeclarations),
|
|
26856
27973
|
_step;
|
|
26857
27974
|
try {
|
|
26858
27975
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -27587,9 +28704,9 @@ var useNotifications = function useNotifications() {
|
|
|
27587
28704
|
};
|
|
27588
28705
|
};
|
|
27589
28706
|
|
|
27590
|
-
function _createForOfIteratorHelper$
|
|
27591
|
-
function _unsupportedIterableToArray$
|
|
27592
|
-
function _arrayLikeToArray$
|
|
28707
|
+
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; } } }; }
|
|
28708
|
+
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; } }
|
|
28709
|
+
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
28710
|
|
|
27594
28711
|
/**
|
|
27595
28712
|
* useScheduler Hook
|
|
@@ -27662,7 +28779,7 @@ var useScheduler = function useScheduler() {
|
|
|
27662
28779
|
if (pending && pending.length > 0) {
|
|
27663
28780
|
setPendingResults(pending);
|
|
27664
28781
|
// Call handlers for each pending result
|
|
27665
|
-
var _iterator = _createForOfIteratorHelper$
|
|
28782
|
+
var _iterator = _createForOfIteratorHelper$5(pending),
|
|
27666
28783
|
_step;
|
|
27667
28784
|
try {
|
|
27668
28785
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -28503,180 +29620,6 @@ function useMcpDashServer() {
|
|
|
28503
29620
|
};
|
|
28504
29621
|
}
|
|
28505
29622
|
|
|
28506
|
-
function ownKeys$j(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; }
|
|
28507
|
-
function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28508
|
-
var TOTAL_STEPS = 6; // Steps 0-5
|
|
28509
|
-
|
|
28510
|
-
var initialState = {
|
|
28511
|
-
step: 0,
|
|
28512
|
-
intent: [],
|
|
28513
|
-
providers: [],
|
|
28514
|
-
selectedWidgets: [],
|
|
28515
|
-
selectedDashboard: null,
|
|
28516
|
-
layout: {
|
|
28517
|
-
templateKey: null,
|
|
28518
|
-
widgetOrder: []
|
|
28519
|
-
},
|
|
28520
|
-
customization: {
|
|
28521
|
-
name: "",
|
|
28522
|
-
menuId: null,
|
|
28523
|
-
theme: null
|
|
28524
|
-
},
|
|
28525
|
-
path: null
|
|
28526
|
-
};
|
|
28527
|
-
function wizardReducer(state, action) {
|
|
28528
|
-
switch (action.type) {
|
|
28529
|
-
case "SET_STEP":
|
|
28530
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28531
|
-
step: action.payload
|
|
28532
|
-
});
|
|
28533
|
-
case "SET_INTENT":
|
|
28534
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28535
|
-
intent: action.payload
|
|
28536
|
-
});
|
|
28537
|
-
case "TOGGLE_INTENT":
|
|
28538
|
-
{
|
|
28539
|
-
var intent = state.intent.includes(action.payload) ? state.intent.filter(function (i) {
|
|
28540
|
-
return i !== action.payload;
|
|
28541
|
-
}) : [].concat(_toConsumableArray(state.intent), [action.payload]);
|
|
28542
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28543
|
-
intent: intent
|
|
28544
|
-
});
|
|
28545
|
-
}
|
|
28546
|
-
case "SET_PROVIDERS":
|
|
28547
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28548
|
-
providers: action.payload
|
|
28549
|
-
});
|
|
28550
|
-
case "TOGGLE_PROVIDER":
|
|
28551
|
-
{
|
|
28552
|
-
var providers = state.providers.includes(action.payload) ? state.providers.filter(function (p) {
|
|
28553
|
-
return p !== action.payload;
|
|
28554
|
-
}) : [].concat(_toConsumableArray(state.providers), [action.payload]);
|
|
28555
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28556
|
-
providers: providers
|
|
28557
|
-
});
|
|
28558
|
-
}
|
|
28559
|
-
case "SET_SELECTED_WIDGETS":
|
|
28560
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28561
|
-
selectedWidgets: action.payload
|
|
28562
|
-
});
|
|
28563
|
-
case "TOGGLE_WIDGET":
|
|
28564
|
-
{
|
|
28565
|
-
var exists = state.selectedWidgets.some(function (w) {
|
|
28566
|
-
return w.name === action.payload.name;
|
|
28567
|
-
});
|
|
28568
|
-
var selectedWidgets = exists ? state.selectedWidgets.filter(function (w) {
|
|
28569
|
-
return w.name !== action.payload.name;
|
|
28570
|
-
}) : [].concat(_toConsumableArray(state.selectedWidgets), [action.payload]);
|
|
28571
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28572
|
-
selectedWidgets: selectedWidgets
|
|
28573
|
-
});
|
|
28574
|
-
}
|
|
28575
|
-
case "SET_SELECTED_DASHBOARD":
|
|
28576
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28577
|
-
selectedDashboard: action.payload
|
|
28578
|
-
});
|
|
28579
|
-
case "SET_PATH":
|
|
28580
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28581
|
-
path: action.payload
|
|
28582
|
-
});
|
|
28583
|
-
case "SET_LAYOUT":
|
|
28584
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28585
|
-
layout: action.payload
|
|
28586
|
-
});
|
|
28587
|
-
case "REORDER_WIDGETS":
|
|
28588
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28589
|
-
layout: _objectSpread$j(_objectSpread$j({}, state.layout), {}, {
|
|
28590
|
-
widgetOrder: action.payload
|
|
28591
|
-
})
|
|
28592
|
-
});
|
|
28593
|
-
case "SET_CUSTOMIZATION":
|
|
28594
|
-
return _objectSpread$j(_objectSpread$j({}, state), {}, {
|
|
28595
|
-
customization: _objectSpread$j(_objectSpread$j({}, state.customization), action.payload)
|
|
28596
|
-
});
|
|
28597
|
-
case "RESET":
|
|
28598
|
-
return _objectSpread$j({}, initialState);
|
|
28599
|
-
default:
|
|
28600
|
-
return state;
|
|
28601
|
-
}
|
|
28602
|
-
}
|
|
28603
|
-
function widgetCountToTemplate(count) {
|
|
28604
|
-
if (count <= 1) return "single";
|
|
28605
|
-
if (count === 2) return "two-columns";
|
|
28606
|
-
if (count === 3) return "three-columns";
|
|
28607
|
-
if (count === 4) return "two-by-two";
|
|
28608
|
-
if (count <= 6) return "two-by-three";
|
|
28609
|
-
return "three-by-three";
|
|
28610
|
-
}
|
|
28611
|
-
function getCanProceed(state) {
|
|
28612
|
-
switch (state.step) {
|
|
28613
|
-
case 0:
|
|
28614
|
-
return state.intent.length > 0;
|
|
28615
|
-
case 1:
|
|
28616
|
-
return state.providers.length > 0;
|
|
28617
|
-
case 2:
|
|
28618
|
-
return state.path === "prebuilt" ? state.selectedDashboard !== null : state.selectedWidgets.length > 0;
|
|
28619
|
-
case 3:
|
|
28620
|
-
return state.layout.templateKey !== null;
|
|
28621
|
-
case 4:
|
|
28622
|
-
return state.customization.name.trim().length > 0;
|
|
28623
|
-
case 5:
|
|
28624
|
-
return true;
|
|
28625
|
-
default:
|
|
28626
|
-
return false;
|
|
28627
|
-
}
|
|
28628
|
-
}
|
|
28629
|
-
var useWizardState = function useWizardState() {
|
|
28630
|
-
var _useReducer = React.useReducer(wizardReducer, initialState),
|
|
28631
|
-
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
28632
|
-
state = _useReducer2[0],
|
|
28633
|
-
dispatch = _useReducer2[1];
|
|
28634
|
-
var canProceed = React.useMemo(function () {
|
|
28635
|
-
return getCanProceed(state);
|
|
28636
|
-
}, [state]);
|
|
28637
|
-
var selectedCount = React.useMemo(function () {
|
|
28638
|
-
return state.selectedWidgets.length;
|
|
28639
|
-
}, [state.selectedWidgets]);
|
|
28640
|
-
var isPrebuiltPath = state.path === "prebuilt";
|
|
28641
|
-
var isCustomPath = state.path === "custom";
|
|
28642
|
-
var nextStep = React.useCallback(function () {
|
|
28643
|
-
if (getCanProceed(state) && state.step < TOTAL_STEPS - 1) {
|
|
28644
|
-
dispatch({
|
|
28645
|
-
type: "SET_STEP",
|
|
28646
|
-
payload: state.step + 1
|
|
28647
|
-
});
|
|
28648
|
-
}
|
|
28649
|
-
}, [state]);
|
|
28650
|
-
var prevStep = React.useCallback(function () {
|
|
28651
|
-
if (state.step > 0) {
|
|
28652
|
-
dispatch({
|
|
28653
|
-
type: "SET_STEP",
|
|
28654
|
-
payload: state.step - 1
|
|
28655
|
-
});
|
|
28656
|
-
}
|
|
28657
|
-
}, [state.step]);
|
|
28658
|
-
var goToStep = React.useCallback(function (n) {
|
|
28659
|
-
if (n >= 0 && n < TOTAL_STEPS) {
|
|
28660
|
-
dispatch({
|
|
28661
|
-
type: "SET_STEP",
|
|
28662
|
-
payload: n
|
|
28663
|
-
});
|
|
28664
|
-
}
|
|
28665
|
-
}, []);
|
|
28666
|
-
return {
|
|
28667
|
-
state: state,
|
|
28668
|
-
dispatch: dispatch,
|
|
28669
|
-
nextStep: nextStep,
|
|
28670
|
-
prevStep: prevStep,
|
|
28671
|
-
goToStep: goToStep,
|
|
28672
|
-
canProceed: canProceed,
|
|
28673
|
-
selectedCount: selectedCount,
|
|
28674
|
-
isPrebuiltPath: isPrebuiltPath,
|
|
28675
|
-
isCustomPath: isCustomPath,
|
|
28676
|
-
widgetCountToTemplate: widgetCountToTemplate
|
|
28677
|
-
};
|
|
28678
|
-
};
|
|
28679
|
-
|
|
28680
29623
|
function ownKeys$i(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; }
|
|
28681
29624
|
function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28682
29625
|
var PreviewComponentsPane = function PreviewComponentsPane(_ref) {
|
|
@@ -30839,9 +31782,9 @@ function loadWidgetBundle(source, widgetName) {
|
|
|
30839
31782
|
};
|
|
30840
31783
|
}
|
|
30841
31784
|
|
|
30842
|
-
function _createForOfIteratorHelper$
|
|
30843
|
-
function _unsupportedIterableToArray$
|
|
30844
|
-
function _arrayLikeToArray$
|
|
31785
|
+
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; } } }; }
|
|
31786
|
+
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; } }
|
|
31787
|
+
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
31788
|
/**
|
|
30846
31789
|
* Validation utilities for grid-first dashboard architecture
|
|
30847
31790
|
*
|
|
@@ -31080,7 +32023,7 @@ var validateCellMerge = function validateCellMerge(cellNumbers, grid) {
|
|
|
31080
32023
|
|
|
31081
32024
|
// Validate each cell
|
|
31082
32025
|
var cells = [];
|
|
31083
|
-
var _iterator = _createForOfIteratorHelper$
|
|
32026
|
+
var _iterator = _createForOfIteratorHelper$4(cellNumbers),
|
|
31084
32027
|
_step;
|
|
31085
32028
|
try {
|
|
31086
32029
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -38824,9 +39767,9 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
38824
39767
|
|
|
38825
39768
|
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
39769
|
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$
|
|
39770
|
+
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; } } }; }
|
|
39771
|
+
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; } }
|
|
39772
|
+
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
39773
|
function isValidWsUrl(url) {
|
|
38831
39774
|
if (!url) return false;
|
|
38832
39775
|
try {
|
|
@@ -38873,7 +39816,7 @@ function extractCredentialFields(url, headerRows) {
|
|
|
38873
39816
|
fields.add(match[1]);
|
|
38874
39817
|
}
|
|
38875
39818
|
}
|
|
38876
|
-
var _iterator = _createForOfIteratorHelper$
|
|
39819
|
+
var _iterator = _createForOfIteratorHelper$3(headerRows),
|
|
38877
39820
|
_step;
|
|
38878
39821
|
try {
|
|
38879
39822
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -38976,7 +39919,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
38976
39919
|
if (!url.trim()) errs.url = "WebSocket URL is required";else if (!isValidWsUrl(url)) errs.url = "URL must start with ws:// or wss://";
|
|
38977
39920
|
|
|
38978
39921
|
// Check required credential fields are filled
|
|
38979
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
39922
|
+
var _iterator2 = _createForOfIteratorHelper$3(credentialFields),
|
|
38980
39923
|
_step2;
|
|
38981
39924
|
try {
|
|
38982
39925
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -38999,7 +39942,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
38999
39942
|
|
|
39000
39943
|
// Build headers object from rows
|
|
39001
39944
|
var headers = {};
|
|
39002
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
39945
|
+
var _iterator3 = _createForOfIteratorHelper$3(headerRows),
|
|
39003
39946
|
_step3;
|
|
39004
39947
|
try {
|
|
39005
39948
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -39068,7 +40011,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
39068
40011
|
|
|
39069
40012
|
// Build config from current form state (same as handleSave)
|
|
39070
40013
|
headers = {};
|
|
39071
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
40014
|
+
_iterator4 = _createForOfIteratorHelper$3(headerRows);
|
|
39072
40015
|
try {
|
|
39073
40016
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
39074
40017
|
row = _step4.value;
|
|
@@ -41712,293 +42655,6 @@ var RegistryPackageDetail = function RegistryPackageDetail(_ref) {
|
|
|
41712
42655
|
});
|
|
41713
42656
|
};
|
|
41714
42657
|
|
|
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
42658
|
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
42659
|
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
42660
|
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; }
|
|
@@ -48680,7 +49336,9 @@ exports.WidgetPopoutStage = WidgetPopoutStage;
|
|
|
48680
49336
|
exports.WidgetProviderWrapper = WidgetProviderWrapper;
|
|
48681
49337
|
exports.WidgetSidebar = WidgetSidebar;
|
|
48682
49338
|
exports.WizardIntentStep = WizardIntentStep;
|
|
49339
|
+
exports.WizardLayoutPreviewStep = WizardLayoutPreviewStep;
|
|
48683
49340
|
exports.WizardProvidersStep = WizardProvidersStep;
|
|
49341
|
+
exports.WizardResultsStep = WizardResultsStep;
|
|
48684
49342
|
exports.Workspace = Workspace;
|
|
48685
49343
|
exports.WorkspaceContext = WorkspaceContext;
|
|
48686
49344
|
exports.WorkspaceFooter = WorkspaceFooter;
|