@trops/dash-core 0.1.188 → 0.1.189
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +695 -337
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +735 -367
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import * as DashReact from '@trops/dash-react';
|
|
3
|
-
import { isObject, ThemeContext, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, FontAwesomeIcon, Tag, Sidebar, Paragraph, Modal, Panel, Stepper, SelectableCard, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorInline, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, DropdownPanel, MenuItem2, ButtonIcon2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, Button2, Button3, MenuItem, Tag2, Tag3, ButtonIcon3, DashPanel, colorNames, shades, themeVariants,
|
|
3
|
+
import { isObject, ThemeContext, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, FontAwesomeIcon, Tag, Sidebar, Paragraph, Modal, Panel, Stepper, SelectableCard, Tabs3, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorInline, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, DropdownPanel, MenuItem2, ButtonIcon2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, Button2, Button3, MenuItem, Tag2, Tag3, ButtonIcon3, DashPanel, colorNames, shades, themeVariants, DataList, Checkbox, StatCard, Card, Tabs, Accordion, Alert, Toast, ProgressBar, Toggle, Breadcrumbs, Card2, Tabs2, Accordion2, Alert2, Toast2, ProgressBar2, Toggle2, Breadcrumbs2, Card3, Accordion3, Alert3, Toast3, ProgressBar3, Toggle3, Breadcrumbs3, ThemeFromUrlPane, TextArea, Icon2, AlgoliaSearchBox, CommandPalette, EmptyState, Navbar, withRouter, Menu as Menu$1 } from '@trops/dash-react';
|
|
4
4
|
export * from '@trops/dash-react';
|
|
5
5
|
export { ThemeContext } from '@trops/dash-react';
|
|
6
6
|
import _typeof from '@babel/runtime/helpers/typeof';
|
|
@@ -5390,6 +5390,651 @@ var WizardProvidersStep = function WizardProvidersStep(_ref) {
|
|
|
5390
5390
|
});
|
|
5391
5391
|
};
|
|
5392
5392
|
|
|
5393
|
+
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; } } }; }
|
|
5394
|
+
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; } }
|
|
5395
|
+
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; }
|
|
5396
|
+
|
|
5397
|
+
/**
|
|
5398
|
+
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
5399
|
+
*
|
|
5400
|
+
* Extracted from EnhancedWidgetDropdown so the same logic can power the
|
|
5401
|
+
* Discover tab inside AppSettingsModal (and anywhere else).
|
|
5402
|
+
*
|
|
5403
|
+
* Options:
|
|
5404
|
+
* filterByCapabilities – if true (default), only show packages compatible
|
|
5405
|
+
* with the app's API capabilities
|
|
5406
|
+
*
|
|
5407
|
+
* Returns:
|
|
5408
|
+
* packages – raw package objects from the registry
|
|
5409
|
+
* flatWidgets – flattened widget entries with `isRegistry: true`
|
|
5410
|
+
* isLoading – true while a search request is in flight
|
|
5411
|
+
* error – error message string (or null)
|
|
5412
|
+
* searchQuery / setSearchQuery – controlled search input
|
|
5413
|
+
* isInstalling – true during an install
|
|
5414
|
+
* installError – install error string (or null)
|
|
5415
|
+
* search() – manually trigger a search
|
|
5416
|
+
* installPackage(widget) – install a specific registry widget
|
|
5417
|
+
* showAllPackages / setShowAllPackages – toggle to show incompatible packages
|
|
5418
|
+
* appCapabilities – the app's API namespaces
|
|
5419
|
+
*/
|
|
5420
|
+
var useRegistrySearch = function useRegistrySearch() {
|
|
5421
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
5422
|
+
_ref$filterByCapabili = _ref.filterByCapabilities,
|
|
5423
|
+
filterByCapabilities = _ref$filterByCapabili === void 0 ? true : _ref$filterByCapabili;
|
|
5424
|
+
var _useState = useState(false),
|
|
5425
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
5426
|
+
isLoading = _useState2[0],
|
|
5427
|
+
setIsLoading = _useState2[1];
|
|
5428
|
+
var _useState3 = useState(null),
|
|
5429
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
5430
|
+
error = _useState4[0],
|
|
5431
|
+
setError = _useState4[1];
|
|
5432
|
+
var _useState5 = useState([]),
|
|
5433
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
5434
|
+
packages = _useState6[0],
|
|
5435
|
+
setPackages = _useState6[1];
|
|
5436
|
+
var _useState7 = useState([]),
|
|
5437
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
5438
|
+
flatWidgets = _useState8[0],
|
|
5439
|
+
setFlatWidgets = _useState8[1];
|
|
5440
|
+
var _useState9 = useState(""),
|
|
5441
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
5442
|
+
searchQuery = _useState0[0],
|
|
5443
|
+
setSearchQuery = _useState0[1];
|
|
5444
|
+
var _useState1 = useState(false),
|
|
5445
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
5446
|
+
isInstalling = _useState10[0],
|
|
5447
|
+
setIsInstalling = _useState10[1];
|
|
5448
|
+
var _useState11 = useState(null),
|
|
5449
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
5450
|
+
installError = _useState12[0],
|
|
5451
|
+
setInstallError = _useState12[1];
|
|
5452
|
+
var _useState13 = useState(false),
|
|
5453
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
5454
|
+
showAllPackages = _useState14[0],
|
|
5455
|
+
setShowAllPackages = _useState14[1];
|
|
5456
|
+
|
|
5457
|
+
// Discover app capabilities from window.mainApi
|
|
5458
|
+
var appCapabilities = useMemo(function () {
|
|
5459
|
+
if (typeof window !== "undefined" && window.mainApi) {
|
|
5460
|
+
return Object.keys(window.mainApi);
|
|
5461
|
+
}
|
|
5462
|
+
return [];
|
|
5463
|
+
}, []);
|
|
5464
|
+
var search = useCallback(/*#__PURE__*/function () {
|
|
5465
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(query) {
|
|
5466
|
+
var _window$mainApi;
|
|
5467
|
+
var filters, result, pkgs, capSet, widgets, _iterator, _step, pkg, allApiProviders, _iterator2, _step2, p, _iterator3, _step3, w, _iterator5, _step5, _p, missingApis, _iterator4, _step4, widget, _t;
|
|
5468
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
5469
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5470
|
+
case 0:
|
|
5471
|
+
if ((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && _window$mainApi.registry) {
|
|
5472
|
+
_context.next = 1;
|
|
5473
|
+
break;
|
|
5474
|
+
}
|
|
5475
|
+
setPackages([]);
|
|
5476
|
+
setFlatWidgets([]);
|
|
5477
|
+
return _context.abrupt("return");
|
|
5478
|
+
case 1:
|
|
5479
|
+
setIsLoading(true);
|
|
5480
|
+
setError(null);
|
|
5481
|
+
_context.prev = 2;
|
|
5482
|
+
filters = {};
|
|
5483
|
+
if (filterByCapabilities && !showAllPackages && appCapabilities.length) {
|
|
5484
|
+
filters.appCapabilities = appCapabilities;
|
|
5485
|
+
}
|
|
5486
|
+
_context.next = 3;
|
|
5487
|
+
return window.mainApi.registry.search(query !== null && query !== void 0 ? query : searchQuery, filters);
|
|
5488
|
+
case 3:
|
|
5489
|
+
result = _context.sent;
|
|
5490
|
+
// Only include packages that contain at least one widget
|
|
5491
|
+
// (filters out theme-only packages, etc.)
|
|
5492
|
+
pkgs = (result.packages || []).filter(function (pkg) {
|
|
5493
|
+
return pkg.widgets && pkg.widgets.length > 0;
|
|
5494
|
+
});
|
|
5495
|
+
setPackages(pkgs);
|
|
5496
|
+
|
|
5497
|
+
// Flatten packages into widget entries
|
|
5498
|
+
capSet = new Set(appCapabilities.map(function (c) {
|
|
5499
|
+
return c.toLowerCase();
|
|
5500
|
+
}));
|
|
5501
|
+
widgets = [];
|
|
5502
|
+
_iterator = _createForOfIteratorHelper$e(pkgs);
|
|
5503
|
+
try {
|
|
5504
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
5505
|
+
pkg = _step.value;
|
|
5506
|
+
// Compute missing APIs for the entire package
|
|
5507
|
+
allApiProviders = [];
|
|
5508
|
+
_iterator2 = _createForOfIteratorHelper$e(pkg.providers || []);
|
|
5509
|
+
try {
|
|
5510
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
5511
|
+
p = _step2.value;
|
|
5512
|
+
if (p.providerClass === "api" && p.required !== false) {
|
|
5513
|
+
allApiProviders.push(p.type);
|
|
5514
|
+
}
|
|
5515
|
+
}
|
|
5516
|
+
} catch (err) {
|
|
5517
|
+
_iterator2.e(err);
|
|
5518
|
+
} finally {
|
|
5519
|
+
_iterator2.f();
|
|
5520
|
+
}
|
|
5521
|
+
_iterator3 = _createForOfIteratorHelper$e(pkg.widgets || []);
|
|
5522
|
+
try {
|
|
5523
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
5524
|
+
w = _step3.value;
|
|
5525
|
+
_iterator5 = _createForOfIteratorHelper$e(w.providers || []);
|
|
5526
|
+
try {
|
|
5527
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
5528
|
+
_p = _step5.value;
|
|
5529
|
+
if (_p.providerClass === "api" && _p.required !== false) {
|
|
5530
|
+
allApiProviders.push(_p.type);
|
|
5531
|
+
}
|
|
5532
|
+
}
|
|
5533
|
+
} catch (err) {
|
|
5534
|
+
_iterator5.e(err);
|
|
5535
|
+
} finally {
|
|
5536
|
+
_iterator5.f();
|
|
5537
|
+
}
|
|
5538
|
+
}
|
|
5539
|
+
} catch (err) {
|
|
5540
|
+
_iterator3.e(err);
|
|
5541
|
+
} finally {
|
|
5542
|
+
_iterator3.f();
|
|
5543
|
+
}
|
|
5544
|
+
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
5545
|
+
return !capSet.has(api.toLowerCase());
|
|
5546
|
+
});
|
|
5547
|
+
_iterator4 = _createForOfIteratorHelper$e(pkg.widgets || []);
|
|
5548
|
+
try {
|
|
5549
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
5550
|
+
widget = _step4.value;
|
|
5551
|
+
widgets.push({
|
|
5552
|
+
key: "".concat(pkg.name, "/").concat(widget.name),
|
|
5553
|
+
name: widget.displayName || widget.name,
|
|
5554
|
+
description: widget.description || "",
|
|
5555
|
+
icon: widget.icon || null,
|
|
5556
|
+
providers: widget.providers || [],
|
|
5557
|
+
isRegistry: true,
|
|
5558
|
+
packageName: pkg.name,
|
|
5559
|
+
packageDisplayName: pkg.displayName || pkg.name,
|
|
5560
|
+
packageVersion: pkg.version,
|
|
5561
|
+
packageAuthor: pkg.author || "",
|
|
5562
|
+
packageDescription: pkg.description || "",
|
|
5563
|
+
packageTags: pkg.tags || [],
|
|
5564
|
+
packageCategory: pkg.category || "",
|
|
5565
|
+
downloadUrl: pkg.downloadUrl || "",
|
|
5566
|
+
repository: pkg.repository || "",
|
|
5567
|
+
publishedAt: pkg.publishedAt || "",
|
|
5568
|
+
packageWidgets: pkg.widgets || [],
|
|
5569
|
+
appOrigin: pkg.appOrigin || null,
|
|
5570
|
+
packageProviders: pkg.providers || [],
|
|
5571
|
+
missingApis: missingApis
|
|
5572
|
+
});
|
|
5573
|
+
}
|
|
5574
|
+
} catch (err) {
|
|
5575
|
+
_iterator4.e(err);
|
|
5576
|
+
} finally {
|
|
5577
|
+
_iterator4.f();
|
|
5578
|
+
}
|
|
5579
|
+
}
|
|
5580
|
+
} catch (err) {
|
|
5581
|
+
_iterator.e(err);
|
|
5582
|
+
} finally {
|
|
5583
|
+
_iterator.f();
|
|
5584
|
+
}
|
|
5585
|
+
setFlatWidgets(widgets);
|
|
5586
|
+
_context.next = 5;
|
|
5587
|
+
break;
|
|
5588
|
+
case 4:
|
|
5589
|
+
_context.prev = 4;
|
|
5590
|
+
_t = _context["catch"](2);
|
|
5591
|
+
setError(_t.message || "Failed to load registry");
|
|
5592
|
+
setPackages([]);
|
|
5593
|
+
setFlatWidgets([]);
|
|
5594
|
+
case 5:
|
|
5595
|
+
_context.prev = 5;
|
|
5596
|
+
setIsLoading(false);
|
|
5597
|
+
return _context.finish(5);
|
|
5598
|
+
case 6:
|
|
5599
|
+
case "end":
|
|
5600
|
+
return _context.stop();
|
|
5601
|
+
}
|
|
5602
|
+
}, _callee, null, [[2, 4, 5, 6]]);
|
|
5603
|
+
}));
|
|
5604
|
+
return function (_x) {
|
|
5605
|
+
return _ref2.apply(this, arguments);
|
|
5606
|
+
};
|
|
5607
|
+
}(), [searchQuery, filterByCapabilities, showAllPackages, appCapabilities]);
|
|
5608
|
+
|
|
5609
|
+
// Debounce search on query changes (300ms)
|
|
5610
|
+
useEffect(function () {
|
|
5611
|
+
var timer = setTimeout(function () {
|
|
5612
|
+
search(searchQuery);
|
|
5613
|
+
}, 300);
|
|
5614
|
+
return function () {
|
|
5615
|
+
return clearTimeout(timer);
|
|
5616
|
+
};
|
|
5617
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
5618
|
+
}, [searchQuery, showAllPackages]);
|
|
5619
|
+
var installPackage = useCallback(/*#__PURE__*/function () {
|
|
5620
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(widget) {
|
|
5621
|
+
var packageName, downloadUrl, packageVersion, resolvedUrl, _t2;
|
|
5622
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
5623
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
5624
|
+
case 0:
|
|
5625
|
+
if (!(!widget || !widget.isRegistry)) {
|
|
5626
|
+
_context2.next = 1;
|
|
5627
|
+
break;
|
|
5628
|
+
}
|
|
5629
|
+
return _context2.abrupt("return");
|
|
5630
|
+
case 1:
|
|
5631
|
+
setIsInstalling(true);
|
|
5632
|
+
setInstallError(null);
|
|
5633
|
+
_context2.prev = 2;
|
|
5634
|
+
packageName = widget.packageName, downloadUrl = widget.downloadUrl, packageVersion = widget.packageVersion; // Resolve placeholders in the download URL
|
|
5635
|
+
resolvedUrl = downloadUrl.replace(/\{version\}/g, packageVersion).replace(/\{name\}/g, packageName);
|
|
5636
|
+
_context2.next = 3;
|
|
5637
|
+
return window.mainApi.widgets.install(packageName, resolvedUrl);
|
|
5638
|
+
case 3:
|
|
5639
|
+
_context2.next = 5;
|
|
5640
|
+
break;
|
|
5641
|
+
case 4:
|
|
5642
|
+
_context2.prev = 4;
|
|
5643
|
+
_t2 = _context2["catch"](2);
|
|
5644
|
+
setInstallError(_t2.message || "Failed to install package");
|
|
5645
|
+
case 5:
|
|
5646
|
+
_context2.prev = 5;
|
|
5647
|
+
setIsInstalling(false);
|
|
5648
|
+
return _context2.finish(5);
|
|
5649
|
+
case 6:
|
|
5650
|
+
case "end":
|
|
5651
|
+
return _context2.stop();
|
|
5652
|
+
}
|
|
5653
|
+
}, _callee2, null, [[2, 4, 5, 6]]);
|
|
5654
|
+
}));
|
|
5655
|
+
return function (_x2) {
|
|
5656
|
+
return _ref3.apply(this, arguments);
|
|
5657
|
+
};
|
|
5658
|
+
}(), []);
|
|
5659
|
+
var retry = useCallback(function () {
|
|
5660
|
+
search(searchQuery);
|
|
5661
|
+
}, [search, searchQuery]);
|
|
5662
|
+
return {
|
|
5663
|
+
packages: packages,
|
|
5664
|
+
flatWidgets: flatWidgets,
|
|
5665
|
+
isLoading: isLoading,
|
|
5666
|
+
error: error,
|
|
5667
|
+
searchQuery: searchQuery,
|
|
5668
|
+
setSearchQuery: setSearchQuery,
|
|
5669
|
+
isInstalling: isInstalling,
|
|
5670
|
+
installError: installError,
|
|
5671
|
+
search: search,
|
|
5672
|
+
installPackage: installPackage,
|
|
5673
|
+
retry: retry,
|
|
5674
|
+
showAllPackages: showAllPackages,
|
|
5675
|
+
setShowAllPackages: setShowAllPackages,
|
|
5676
|
+
appCapabilities: appCapabilities
|
|
5677
|
+
};
|
|
5678
|
+
};
|
|
5679
|
+
|
|
5680
|
+
var WizardResultsStep = function WizardResultsStep(_ref) {
|
|
5681
|
+
var state = _ref.state,
|
|
5682
|
+
dispatch = _ref.dispatch;
|
|
5683
|
+
var _useState = useState("prebuilt"),
|
|
5684
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
5685
|
+
activeTab = _useState2[0],
|
|
5686
|
+
setActiveTab = _useState2[1];
|
|
5687
|
+
|
|
5688
|
+
// --- Dashboard search (Tab A) ---
|
|
5689
|
+
var _useState3 = useState([]),
|
|
5690
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
5691
|
+
dashboards = _useState4[0],
|
|
5692
|
+
setDashboards = _useState4[1];
|
|
5693
|
+
var _useState5 = useState(false),
|
|
5694
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
5695
|
+
dashLoading = _useState6[0],
|
|
5696
|
+
setDashLoading = _useState6[1];
|
|
5697
|
+
var _useState7 = useState(null),
|
|
5698
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
5699
|
+
dashError = _useState8[0],
|
|
5700
|
+
setDashError = _useState8[1];
|
|
5701
|
+
var dashFilters = useMemo(function () {
|
|
5702
|
+
return {
|
|
5703
|
+
category: state.intent.length ? state.intent.join(",") : undefined,
|
|
5704
|
+
providerTypes: state.providers.length ? state.providers : undefined
|
|
5705
|
+
};
|
|
5706
|
+
}, [state.intent, state.providers]);
|
|
5707
|
+
var searchDashboards = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
5708
|
+
var _window$mainApi;
|
|
5709
|
+
var result, _t;
|
|
5710
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
5711
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5712
|
+
case 0:
|
|
5713
|
+
if ((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.registry) !== null && _window$mainApi !== void 0 && _window$mainApi.searchDashboards) {
|
|
5714
|
+
_context.next = 1;
|
|
5715
|
+
break;
|
|
5716
|
+
}
|
|
5717
|
+
setDashboards([]);
|
|
5718
|
+
return _context.abrupt("return");
|
|
5719
|
+
case 1:
|
|
5720
|
+
setDashLoading(true);
|
|
5721
|
+
setDashError(null);
|
|
5722
|
+
_context.prev = 2;
|
|
5723
|
+
_context.next = 3;
|
|
5724
|
+
return window.mainApi.registry.searchDashboards("", dashFilters);
|
|
5725
|
+
case 3:
|
|
5726
|
+
result = _context.sent;
|
|
5727
|
+
setDashboards(result.packages || []);
|
|
5728
|
+
_context.next = 5;
|
|
5729
|
+
break;
|
|
5730
|
+
case 4:
|
|
5731
|
+
_context.prev = 4;
|
|
5732
|
+
_t = _context["catch"](2);
|
|
5733
|
+
setDashError(_t.message || "Failed to search dashboards");
|
|
5734
|
+
setDashboards([]);
|
|
5735
|
+
case 5:
|
|
5736
|
+
_context.prev = 5;
|
|
5737
|
+
setDashLoading(false);
|
|
5738
|
+
return _context.finish(5);
|
|
5739
|
+
case 6:
|
|
5740
|
+
case "end":
|
|
5741
|
+
return _context.stop();
|
|
5742
|
+
}
|
|
5743
|
+
}, _callee, null, [[2, 4, 5, 6]]);
|
|
5744
|
+
})), [dashFilters]);
|
|
5745
|
+
useEffect(function () {
|
|
5746
|
+
searchDashboards();
|
|
5747
|
+
}, [searchDashboards]);
|
|
5748
|
+
|
|
5749
|
+
// --- Widget search (Tab B) ---
|
|
5750
|
+
var _useRegistrySearch = useRegistrySearch({
|
|
5751
|
+
filterByCapabilities: true
|
|
5752
|
+
}),
|
|
5753
|
+
flatWidgets = _useRegistrySearch.flatWidgets,
|
|
5754
|
+
widgetsLoading = _useRegistrySearch.isLoading,
|
|
5755
|
+
widgetsError = _useRegistrySearch.error;
|
|
5756
|
+
|
|
5757
|
+
// Filter widgets by selected categories + providers
|
|
5758
|
+
var filteredWidgets = useMemo(function () {
|
|
5759
|
+
return flatWidgets.filter(function (w) {
|
|
5760
|
+
// Category filter: match if widget's category overlaps user intent
|
|
5761
|
+
var catMatch = state.intent.length === 0 || state.intent.some(function (cat) {
|
|
5762
|
+
return (w.packageCategory || "").toLowerCase() === cat.toLowerCase();
|
|
5763
|
+
});
|
|
5764
|
+
|
|
5765
|
+
// Provider filter: match if widget requires any of the selected providers
|
|
5766
|
+
var providerMatch = state.providers.length === 0 || (w.providers || []).some(function (p) {
|
|
5767
|
+
return state.providers.includes(p.type);
|
|
5768
|
+
}) || (w.packageProviders || []).some(function (p) {
|
|
5769
|
+
return state.providers.includes(p.type);
|
|
5770
|
+
});
|
|
5771
|
+
return catMatch && providerMatch;
|
|
5772
|
+
});
|
|
5773
|
+
}, [flatWidgets, state.intent, state.providers]);
|
|
5774
|
+
|
|
5775
|
+
// --- Tab change: set wizard path ---
|
|
5776
|
+
var handleTabChange = useCallback(function (tab) {
|
|
5777
|
+
setActiveTab(tab);
|
|
5778
|
+
dispatch({
|
|
5779
|
+
type: "SET_PATH",
|
|
5780
|
+
payload: tab === "prebuilt" ? "prebuilt" : "custom"
|
|
5781
|
+
});
|
|
5782
|
+
}, [dispatch]);
|
|
5783
|
+
|
|
5784
|
+
// Set initial path on mount
|
|
5785
|
+
useEffect(function () {
|
|
5786
|
+
if (!state.path) {
|
|
5787
|
+
dispatch({
|
|
5788
|
+
type: "SET_PATH",
|
|
5789
|
+
payload: "prebuilt"
|
|
5790
|
+
});
|
|
5791
|
+
}
|
|
5792
|
+
}, [state.path, dispatch]);
|
|
5793
|
+
|
|
5794
|
+
// --- Dashboard selection (single-select) ---
|
|
5795
|
+
var handleSelectDashboard = useCallback(function (dashboard) {
|
|
5796
|
+
dispatch({
|
|
5797
|
+
type: "SET_SELECTED_DASHBOARD",
|
|
5798
|
+
payload: dashboard
|
|
5799
|
+
});
|
|
5800
|
+
}, [dispatch]);
|
|
5801
|
+
|
|
5802
|
+
// --- Widget selection (multi-select) ---
|
|
5803
|
+
var handleToggleWidget = useCallback(function (widget) {
|
|
5804
|
+
dispatch({
|
|
5805
|
+
type: "TOGGLE_WIDGET",
|
|
5806
|
+
payload: widget
|
|
5807
|
+
});
|
|
5808
|
+
}, [dispatch]);
|
|
5809
|
+
var isWidgetSelected = useCallback(function (widget) {
|
|
5810
|
+
return state.selectedWidgets.some(function (w) {
|
|
5811
|
+
return w.name === widget.name;
|
|
5812
|
+
});
|
|
5813
|
+
}, [state.selectedWidgets]);
|
|
5814
|
+
return /*#__PURE__*/jsxs("div", {
|
|
5815
|
+
className: "wizard-results-step",
|
|
5816
|
+
children: [/*#__PURE__*/jsx("h3", {
|
|
5817
|
+
className: "wizard-step-header",
|
|
5818
|
+
children: "Choose your starting point"
|
|
5819
|
+
}), /*#__PURE__*/jsxs(Tabs3, {
|
|
5820
|
+
value: activeTab,
|
|
5821
|
+
onValueChange: handleTabChange,
|
|
5822
|
+
className: "wizard-results-tabs",
|
|
5823
|
+
children: [/*#__PURE__*/jsxs(Tabs3.List, {
|
|
5824
|
+
className: "wizard-results-tab-list",
|
|
5825
|
+
children: [/*#__PURE__*/jsx(Tabs3.Trigger, {
|
|
5826
|
+
value: "prebuilt",
|
|
5827
|
+
children: "Pre-built Dashboards"
|
|
5828
|
+
}), /*#__PURE__*/jsxs(Tabs3.Trigger, {
|
|
5829
|
+
value: "custom",
|
|
5830
|
+
children: ["Build Your Own", state.selectedWidgets.length > 0 && /*#__PURE__*/jsx("span", {
|
|
5831
|
+
className: "wizard-count-badge",
|
|
5832
|
+
children: state.selectedWidgets.length
|
|
5833
|
+
})]
|
|
5834
|
+
})]
|
|
5835
|
+
}), /*#__PURE__*/jsx(Tabs3.Content, {
|
|
5836
|
+
value: "prebuilt",
|
|
5837
|
+
children: /*#__PURE__*/jsx(DashboardList, {
|
|
5838
|
+
dashboards: dashboards,
|
|
5839
|
+
isLoading: dashLoading,
|
|
5840
|
+
error: dashError,
|
|
5841
|
+
selectedDashboard: state.selectedDashboard,
|
|
5842
|
+
onSelect: handleSelectDashboard
|
|
5843
|
+
})
|
|
5844
|
+
}), /*#__PURE__*/jsx(Tabs3.Content, {
|
|
5845
|
+
value: "custom",
|
|
5846
|
+
children: /*#__PURE__*/jsx(WidgetList, {
|
|
5847
|
+
widgets: filteredWidgets,
|
|
5848
|
+
isLoading: widgetsLoading,
|
|
5849
|
+
error: widgetsError,
|
|
5850
|
+
isSelected: isWidgetSelected,
|
|
5851
|
+
onToggle: handleToggleWidget,
|
|
5852
|
+
selectedCount: state.selectedWidgets.length
|
|
5853
|
+
})
|
|
5854
|
+
})]
|
|
5855
|
+
})]
|
|
5856
|
+
});
|
|
5857
|
+
};
|
|
5858
|
+
|
|
5859
|
+
// --- Sub-components ---
|
|
5860
|
+
|
|
5861
|
+
var DashboardList = function DashboardList(_ref3) {
|
|
5862
|
+
var dashboards = _ref3.dashboards,
|
|
5863
|
+
isLoading = _ref3.isLoading,
|
|
5864
|
+
error = _ref3.error,
|
|
5865
|
+
selectedDashboard = _ref3.selectedDashboard,
|
|
5866
|
+
onSelect = _ref3.onSelect;
|
|
5867
|
+
if (isLoading) {
|
|
5868
|
+
return /*#__PURE__*/jsxs("div", {
|
|
5869
|
+
className: "wizard-loading",
|
|
5870
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
5871
|
+
icon: "spinner",
|
|
5872
|
+
spin: true,
|
|
5873
|
+
fixedWidth: true,
|
|
5874
|
+
className: "wizard-loading-icon"
|
|
5875
|
+
}), /*#__PURE__*/jsx("span", {
|
|
5876
|
+
children: "Searching dashboards..."
|
|
5877
|
+
})]
|
|
5878
|
+
});
|
|
5879
|
+
}
|
|
5880
|
+
if (error) {
|
|
5881
|
+
return /*#__PURE__*/jsxs("div", {
|
|
5882
|
+
className: "wizard-error",
|
|
5883
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
5884
|
+
icon: "circle-exclamation",
|
|
5885
|
+
fixedWidth: true
|
|
5886
|
+
}), /*#__PURE__*/jsx("span", {
|
|
5887
|
+
children: error
|
|
5888
|
+
})]
|
|
5889
|
+
});
|
|
5890
|
+
}
|
|
5891
|
+
if (dashboards.length === 0) {
|
|
5892
|
+
return /*#__PURE__*/jsxs("div", {
|
|
5893
|
+
className: "wizard-empty",
|
|
5894
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
5895
|
+
icon: "box-open",
|
|
5896
|
+
fixedWidth: true,
|
|
5897
|
+
className: "wizard-empty-icon"
|
|
5898
|
+
}), /*#__PURE__*/jsx("p", {
|
|
5899
|
+
children: "No pre-built dashboards match your selections."
|
|
5900
|
+
}), /*#__PURE__*/jsx("p", {
|
|
5901
|
+
className: "wizard-empty-hint",
|
|
5902
|
+
children: "Try the \"Build Your Own\" tab to pick individual widgets."
|
|
5903
|
+
})]
|
|
5904
|
+
});
|
|
5905
|
+
}
|
|
5906
|
+
return /*#__PURE__*/jsx("div", {
|
|
5907
|
+
className: "wizard-dashboard-list",
|
|
5908
|
+
children: dashboards.map(function (dash) {
|
|
5909
|
+
var isSelected = selectedDashboard && selectedDashboard.name === dash.name;
|
|
5910
|
+
var widgetCount = (dash.widgets || []).length;
|
|
5911
|
+
var providerNames = (dash.providers || []).map(function (p) {
|
|
5912
|
+
return p.name || p.type;
|
|
5913
|
+
}).join(", ");
|
|
5914
|
+
return /*#__PURE__*/jsxs("button", {
|
|
5915
|
+
type: "button",
|
|
5916
|
+
className: "wizard-dashboard-card ".concat(isSelected ? "wizard-dashboard-card--selected" : ""),
|
|
5917
|
+
onClick: function onClick() {
|
|
5918
|
+
return onSelect(dash);
|
|
5919
|
+
},
|
|
5920
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
5921
|
+
className: "wizard-dashboard-card-header",
|
|
5922
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
5923
|
+
icon: resolveIcon(dash.icon || "grid-2"),
|
|
5924
|
+
fixedWidth: true,
|
|
5925
|
+
className: "wizard-dashboard-card-icon"
|
|
5926
|
+
}), /*#__PURE__*/jsx("span", {
|
|
5927
|
+
className: "wizard-dashboard-card-name",
|
|
5928
|
+
children: dash.displayName || dash.name
|
|
5929
|
+
}), isSelected && /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
5930
|
+
icon: "circle-check",
|
|
5931
|
+
className: "wizard-dashboard-card-check"
|
|
5932
|
+
})]
|
|
5933
|
+
}), dash.description && /*#__PURE__*/jsx("p", {
|
|
5934
|
+
className: "wizard-dashboard-card-desc",
|
|
5935
|
+
children: dash.description
|
|
5936
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
5937
|
+
className: "wizard-dashboard-card-meta",
|
|
5938
|
+
children: [/*#__PURE__*/jsxs("span", {
|
|
5939
|
+
children: [widgetCount, " widget", widgetCount !== 1 ? "s" : ""]
|
|
5940
|
+
}), providerNames && /*#__PURE__*/jsx("span", {
|
|
5941
|
+
children: providerNames
|
|
5942
|
+
})]
|
|
5943
|
+
})]
|
|
5944
|
+
}, dash.name);
|
|
5945
|
+
})
|
|
5946
|
+
});
|
|
5947
|
+
};
|
|
5948
|
+
var WidgetList = function WidgetList(_ref4) {
|
|
5949
|
+
var widgets = _ref4.widgets,
|
|
5950
|
+
isLoading = _ref4.isLoading,
|
|
5951
|
+
error = _ref4.error,
|
|
5952
|
+
isSelected = _ref4.isSelected,
|
|
5953
|
+
onToggle = _ref4.onToggle,
|
|
5954
|
+
selectedCount = _ref4.selectedCount;
|
|
5955
|
+
if (isLoading) {
|
|
5956
|
+
return /*#__PURE__*/jsxs("div", {
|
|
5957
|
+
className: "wizard-loading",
|
|
5958
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
5959
|
+
icon: "spinner",
|
|
5960
|
+
spin: true,
|
|
5961
|
+
fixedWidth: true,
|
|
5962
|
+
className: "wizard-loading-icon"
|
|
5963
|
+
}), /*#__PURE__*/jsx("span", {
|
|
5964
|
+
children: "Searching widgets..."
|
|
5965
|
+
})]
|
|
5966
|
+
});
|
|
5967
|
+
}
|
|
5968
|
+
if (error) {
|
|
5969
|
+
return /*#__PURE__*/jsxs("div", {
|
|
5970
|
+
className: "wizard-error",
|
|
5971
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
5972
|
+
icon: "circle-exclamation",
|
|
5973
|
+
fixedWidth: true
|
|
5974
|
+
}), /*#__PURE__*/jsx("span", {
|
|
5975
|
+
children: error
|
|
5976
|
+
})]
|
|
5977
|
+
});
|
|
5978
|
+
}
|
|
5979
|
+
if (widgets.length === 0) {
|
|
5980
|
+
return /*#__PURE__*/jsxs("div", {
|
|
5981
|
+
className: "wizard-empty",
|
|
5982
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
5983
|
+
icon: "puzzle-piece",
|
|
5984
|
+
fixedWidth: true,
|
|
5985
|
+
className: "wizard-empty-icon"
|
|
5986
|
+
}), /*#__PURE__*/jsx("p", {
|
|
5987
|
+
children: "No widgets match your selections."
|
|
5988
|
+
}), /*#__PURE__*/jsx("p", {
|
|
5989
|
+
className: "wizard-empty-hint",
|
|
5990
|
+
children: "Try adjusting your categories or providers in the previous steps."
|
|
5991
|
+
})]
|
|
5992
|
+
});
|
|
5993
|
+
}
|
|
5994
|
+
return /*#__PURE__*/jsxs("div", {
|
|
5995
|
+
className: "wizard-widget-list",
|
|
5996
|
+
children: [selectedCount > 0 && /*#__PURE__*/jsxs("p", {
|
|
5997
|
+
className: "wizard-widget-count",
|
|
5998
|
+
children: [selectedCount, " widget", selectedCount !== 1 ? "s" : "", " selected"]
|
|
5999
|
+
}), widgets.map(function (widget) {
|
|
6000
|
+
var checked = isSelected(widget);
|
|
6001
|
+
return /*#__PURE__*/jsxs("button", {
|
|
6002
|
+
type: "button",
|
|
6003
|
+
className: "wizard-widget-card ".concat(checked ? "wizard-widget-card--selected" : ""),
|
|
6004
|
+
onClick: function onClick() {
|
|
6005
|
+
return onToggle(widget);
|
|
6006
|
+
},
|
|
6007
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
6008
|
+
className: "wizard-widget-card-checkbox",
|
|
6009
|
+
children: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6010
|
+
icon: checked ? "square-check" : "square",
|
|
6011
|
+
fixedWidth: true
|
|
6012
|
+
})
|
|
6013
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
6014
|
+
className: "wizard-widget-card-info",
|
|
6015
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
6016
|
+
className: "wizard-widget-card-header",
|
|
6017
|
+
children: [widget.icon && /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6018
|
+
icon: resolveIcon(widget.icon),
|
|
6019
|
+
fixedWidth: true,
|
|
6020
|
+
className: "wizard-widget-card-icon"
|
|
6021
|
+
}), /*#__PURE__*/jsx("span", {
|
|
6022
|
+
className: "wizard-widget-card-name",
|
|
6023
|
+
children: widget.name
|
|
6024
|
+
})]
|
|
6025
|
+
}), widget.description && /*#__PURE__*/jsx("p", {
|
|
6026
|
+
className: "wizard-widget-card-desc",
|
|
6027
|
+
children: widget.description
|
|
6028
|
+
}), widget.packageDisplayName && /*#__PURE__*/jsx("span", {
|
|
6029
|
+
className: "wizard-widget-card-package",
|
|
6030
|
+
children: widget.packageDisplayName
|
|
6031
|
+
})]
|
|
6032
|
+
})]
|
|
6033
|
+
}, widget.key);
|
|
6034
|
+
})]
|
|
6035
|
+
});
|
|
6036
|
+
};
|
|
6037
|
+
|
|
5393
6038
|
var LayoutBuilderAddItemModal = function LayoutBuilderAddItemModal(_ref) {
|
|
5394
6039
|
var workspace = _ref.workspace,
|
|
5395
6040
|
open = _ref.open,
|
|
@@ -10022,9 +10667,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
10022
10667
|
};
|
|
10023
10668
|
|
|
10024
10669
|
var _excluded$5 = ["rows", "cols"];
|
|
10025
|
-
function _createForOfIteratorHelper$
|
|
10026
|
-
function _unsupportedIterableToArray$
|
|
10027
|
-
function _arrayLikeToArray$
|
|
10670
|
+
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; } } }; }
|
|
10671
|
+
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; } }
|
|
10672
|
+
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; }
|
|
10028
10673
|
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; }
|
|
10029
10674
|
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; }
|
|
10030
10675
|
var defaultGrid = {
|
|
@@ -10177,7 +10822,7 @@ function GridEditor(_ref) {
|
|
|
10177
10822
|
function sortObjectByKeys(obj) {
|
|
10178
10823
|
var sortedKeys = Object.keys(obj).sort();
|
|
10179
10824
|
var sortedObj = {};
|
|
10180
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10825
|
+
var _iterator = _createForOfIteratorHelper$d(sortedKeys),
|
|
10181
10826
|
_step;
|
|
10182
10827
|
try {
|
|
10183
10828
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10650,9 +11295,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
10650
11295
|
});
|
|
10651
11296
|
};
|
|
10652
11297
|
|
|
10653
|
-
function _createForOfIteratorHelper$
|
|
10654
|
-
function _unsupportedIterableToArray$
|
|
10655
|
-
function _arrayLikeToArray$
|
|
11298
|
+
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; } } }; }
|
|
11299
|
+
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; } }
|
|
11300
|
+
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; }
|
|
10656
11301
|
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; }
|
|
10657
11302
|
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; }
|
|
10658
11303
|
var DAYS = [{
|
|
@@ -10981,7 +11626,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
10981
11626
|
setIsLoading(true);
|
|
10982
11627
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
10983
11628
|
var stateMap = {};
|
|
10984
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11629
|
+
var _iterator = _createForOfIteratorHelper$c(tasks || []),
|
|
10985
11630
|
_step;
|
|
10986
11631
|
try {
|
|
10987
11632
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13831,9 +14476,9 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
|
|
|
13831
14476
|
});
|
|
13832
14477
|
};
|
|
13833
14478
|
|
|
13834
|
-
function _createForOfIteratorHelper$
|
|
13835
|
-
function _unsupportedIterableToArray$
|
|
13836
|
-
function _arrayLikeToArray$
|
|
14479
|
+
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; } } }; }
|
|
14480
|
+
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; } }
|
|
14481
|
+
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; }
|
|
13837
14482
|
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; }
|
|
13838
14483
|
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; }
|
|
13839
14484
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -14100,11 +14745,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
14100
14745
|
|
|
14101
14746
|
// Flatten all widgets from all packages for the widget list
|
|
14102
14747
|
flatWidgets = [];
|
|
14103
|
-
_iterator = _createForOfIteratorHelper$
|
|
14748
|
+
_iterator = _createForOfIteratorHelper$b(result.packages || []);
|
|
14104
14749
|
try {
|
|
14105
14750
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
14106
14751
|
pkg = _step.value;
|
|
14107
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
14752
|
+
_iterator2 = _createForOfIteratorHelper$b(pkg.widgets || []);
|
|
14108
14753
|
try {
|
|
14109
14754
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
14110
14755
|
widget = _step2.value;
|
|
@@ -15660,9 +16305,9 @@ var ProviderBadge = function ProviderBadge(_ref) {
|
|
|
15660
16305
|
});
|
|
15661
16306
|
};
|
|
15662
16307
|
|
|
15663
|
-
function _createForOfIteratorHelper$
|
|
15664
|
-
function _unsupportedIterableToArray$
|
|
15665
|
-
function _arrayLikeToArray$
|
|
16308
|
+
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; } } }; }
|
|
16309
|
+
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; } }
|
|
16310
|
+
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; }
|
|
15666
16311
|
var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
15667
16312
|
var item = _ref.item,
|
|
15668
16313
|
widget = _ref.widget,
|
|
@@ -15706,7 +16351,7 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
15706
16351
|
var el = headerRef.current;
|
|
15707
16352
|
if (!el) return;
|
|
15708
16353
|
var observer = new ResizeObserver(function (entries) {
|
|
15709
|
-
var _iterator = _createForOfIteratorHelper$
|
|
16354
|
+
var _iterator = _createForOfIteratorHelper$a(entries),
|
|
15710
16355
|
_step;
|
|
15711
16356
|
try {
|
|
15712
16357
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -16063,9 +16708,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
|
|
|
16063
16708
|
};
|
|
16064
16709
|
};
|
|
16065
16710
|
|
|
16066
|
-
function _createForOfIteratorHelper$
|
|
16067
|
-
function _unsupportedIterableToArray$
|
|
16068
|
-
function _arrayLikeToArray$
|
|
16711
|
+
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; } } }; }
|
|
16712
|
+
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; } }
|
|
16713
|
+
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; }
|
|
16069
16714
|
function formatCountdown(ms) {
|
|
16070
16715
|
if (ms == null || ms < 0) return "--";
|
|
16071
16716
|
if (ms < 1000) return "< 1s";
|
|
@@ -16182,7 +16827,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
|
|
|
16182
16827
|
|
|
16183
16828
|
// Find soonest countdown among enabled tasks
|
|
16184
16829
|
var soonestMs = null;
|
|
16185
|
-
var _iterator = _createForOfIteratorHelper$
|
|
16830
|
+
var _iterator = _createForOfIteratorHelper$9(enabledTasks),
|
|
16186
16831
|
_step;
|
|
16187
16832
|
try {
|
|
16188
16833
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -20795,9 +21440,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
|
|
|
20795
21440
|
var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
|
|
20796
21441
|
var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
|
|
20797
21442
|
|
|
20798
|
-
function _createForOfIteratorHelper$
|
|
20799
|
-
function _unsupportedIterableToArray$
|
|
20800
|
-
function _arrayLikeToArray$
|
|
21443
|
+
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; } } }; }
|
|
21444
|
+
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; } }
|
|
21445
|
+
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; }
|
|
20801
21446
|
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; }
|
|
20802
21447
|
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; }
|
|
20803
21448
|
var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
|
|
@@ -21361,7 +22006,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
21361
22006
|
return selectable["delete"](cn);
|
|
21362
22007
|
});
|
|
21363
22008
|
var resolved = new Set();
|
|
21364
|
-
var _iterator = _createForOfIteratorHelper$
|
|
22009
|
+
var _iterator = _createForOfIteratorHelper$8(selectable),
|
|
21365
22010
|
_step;
|
|
21366
22011
|
try {
|
|
21367
22012
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -23501,9 +24146,9 @@ function isWidgetResolvable(componentKey) {
|
|
|
23501
24146
|
|
|
23502
24147
|
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; }
|
|
23503
24148
|
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; }
|
|
23504
|
-
function _createForOfIteratorHelper$
|
|
23505
|
-
function _unsupportedIterableToArray$
|
|
23506
|
-
function _arrayLikeToArray$
|
|
24149
|
+
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; } } }; }
|
|
24150
|
+
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; } }
|
|
24151
|
+
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; }
|
|
23507
24152
|
/**
|
|
23508
24153
|
* The model for all layout components used primarily in the renderLayout method
|
|
23509
24154
|
* @param {Object} layoutItem an object containing various attributes of the layout item
|
|
@@ -23515,7 +24160,7 @@ function _arrayLikeToArray$8(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
23515
24160
|
function sortObjectByKeys(obj) {
|
|
23516
24161
|
var sortedKeys = Object.keys(obj).sort();
|
|
23517
24162
|
var sortedObj = {};
|
|
23518
|
-
var _iterator = _createForOfIteratorHelper$
|
|
24163
|
+
var _iterator = _createForOfIteratorHelper$7(sortedKeys),
|
|
23519
24164
|
_step;
|
|
23520
24165
|
try {
|
|
23521
24166
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -26781,9 +27426,9 @@ var useDashboard = function useDashboard() {
|
|
|
26781
27426
|
});
|
|
26782
27427
|
};
|
|
26783
27428
|
|
|
26784
|
-
function _createForOfIteratorHelper$
|
|
26785
|
-
function _unsupportedIterableToArray$
|
|
26786
|
-
function _arrayLikeToArray$
|
|
27429
|
+
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; } } }; }
|
|
27430
|
+
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; } }
|
|
27431
|
+
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; }
|
|
26787
27432
|
|
|
26788
27433
|
/**
|
|
26789
27434
|
* useWidgetProviders Hook
|
|
@@ -26834,7 +27479,7 @@ var useWidgetProviders = function useWidgetProviders() {
|
|
|
26834
27479
|
// 1. Widget-level: stored directly on the layout item by handleSelectProvider
|
|
26835
27480
|
// 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
|
|
26836
27481
|
var providers = {};
|
|
26837
|
-
var _iterator = _createForOfIteratorHelper$
|
|
27482
|
+
var _iterator = _createForOfIteratorHelper$6(providerDeclarations),
|
|
26838
27483
|
_step;
|
|
26839
27484
|
try {
|
|
26840
27485
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -27569,9 +28214,9 @@ var useNotifications = function useNotifications() {
|
|
|
27569
28214
|
};
|
|
27570
28215
|
};
|
|
27571
28216
|
|
|
27572
|
-
function _createForOfIteratorHelper$
|
|
27573
|
-
function _unsupportedIterableToArray$
|
|
27574
|
-
function _arrayLikeToArray$
|
|
28217
|
+
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; } } }; }
|
|
28218
|
+
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; } }
|
|
28219
|
+
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; }
|
|
27575
28220
|
|
|
27576
28221
|
/**
|
|
27577
28222
|
* useScheduler Hook
|
|
@@ -27644,7 +28289,7 @@ var useScheduler = function useScheduler() {
|
|
|
27644
28289
|
if (pending && pending.length > 0) {
|
|
27645
28290
|
setPendingResults(pending);
|
|
27646
28291
|
// Call handlers for each pending result
|
|
27647
|
-
var _iterator = _createForOfIteratorHelper$
|
|
28292
|
+
var _iterator = _createForOfIteratorHelper$5(pending),
|
|
27648
28293
|
_step;
|
|
27649
28294
|
try {
|
|
27650
28295
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -30821,9 +31466,9 @@ function loadWidgetBundle(source, widgetName) {
|
|
|
30821
31466
|
};
|
|
30822
31467
|
}
|
|
30823
31468
|
|
|
30824
|
-
function _createForOfIteratorHelper$
|
|
30825
|
-
function _unsupportedIterableToArray$
|
|
30826
|
-
function _arrayLikeToArray$
|
|
31469
|
+
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; } } }; }
|
|
31470
|
+
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; } }
|
|
31471
|
+
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; }
|
|
30827
31472
|
/**
|
|
30828
31473
|
* Validation utilities for grid-first dashboard architecture
|
|
30829
31474
|
*
|
|
@@ -31062,7 +31707,7 @@ var validateCellMerge = function validateCellMerge(cellNumbers, grid) {
|
|
|
31062
31707
|
|
|
31063
31708
|
// Validate each cell
|
|
31064
31709
|
var cells = [];
|
|
31065
|
-
var _iterator = _createForOfIteratorHelper$
|
|
31710
|
+
var _iterator = _createForOfIteratorHelper$4(cellNumbers),
|
|
31066
31711
|
_step;
|
|
31067
31712
|
try {
|
|
31068
31713
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -38806,9 +39451,9 @@ var McpCatalogDetail = function McpCatalogDetail(_ref) {
|
|
|
38806
39451
|
|
|
38807
39452
|
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; }
|
|
38808
39453
|
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; }
|
|
38809
|
-
function _createForOfIteratorHelper$
|
|
38810
|
-
function _unsupportedIterableToArray$
|
|
38811
|
-
function _arrayLikeToArray$
|
|
39454
|
+
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; } } }; }
|
|
39455
|
+
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; } }
|
|
39456
|
+
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; }
|
|
38812
39457
|
function isValidWsUrl(url) {
|
|
38813
39458
|
if (!url) return false;
|
|
38814
39459
|
try {
|
|
@@ -38855,7 +39500,7 @@ function extractCredentialFields(url, headerRows) {
|
|
|
38855
39500
|
fields.add(match[1]);
|
|
38856
39501
|
}
|
|
38857
39502
|
}
|
|
38858
|
-
var _iterator = _createForOfIteratorHelper$
|
|
39503
|
+
var _iterator = _createForOfIteratorHelper$3(headerRows),
|
|
38859
39504
|
_step;
|
|
38860
39505
|
try {
|
|
38861
39506
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -38958,7 +39603,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
38958
39603
|
if (!url.trim()) errs.url = "WebSocket URL is required";else if (!isValidWsUrl(url)) errs.url = "URL must start with ws:// or wss://";
|
|
38959
39604
|
|
|
38960
39605
|
// Check required credential fields are filled
|
|
38961
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
39606
|
+
var _iterator2 = _createForOfIteratorHelper$3(credentialFields),
|
|
38962
39607
|
_step2;
|
|
38963
39608
|
try {
|
|
38964
39609
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -38981,7 +39626,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
38981
39626
|
|
|
38982
39627
|
// Build headers object from rows
|
|
38983
39628
|
var headers = {};
|
|
38984
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
39629
|
+
var _iterator3 = _createForOfIteratorHelper$3(headerRows),
|
|
38985
39630
|
_step3;
|
|
38986
39631
|
try {
|
|
38987
39632
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -39050,7 +39695,7 @@ var WebSocketProviderForm = function WebSocketProviderForm(_ref) {
|
|
|
39050
39695
|
|
|
39051
39696
|
// Build config from current form state (same as handleSave)
|
|
39052
39697
|
headers = {};
|
|
39053
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
39698
|
+
_iterator4 = _createForOfIteratorHelper$3(headerRows);
|
|
39054
39699
|
try {
|
|
39055
39700
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
39056
39701
|
row = _step4.value;
|
|
@@ -41694,293 +42339,6 @@ var RegistryPackageDetail = function RegistryPackageDetail(_ref) {
|
|
|
41694
42339
|
});
|
|
41695
42340
|
};
|
|
41696
42341
|
|
|
41697
|
-
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; } } }; }
|
|
41698
|
-
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; } }
|
|
41699
|
-
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; }
|
|
41700
|
-
|
|
41701
|
-
/**
|
|
41702
|
-
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
41703
|
-
*
|
|
41704
|
-
* Extracted from EnhancedWidgetDropdown so the same logic can power the
|
|
41705
|
-
* Discover tab inside AppSettingsModal (and anywhere else).
|
|
41706
|
-
*
|
|
41707
|
-
* Options:
|
|
41708
|
-
* filterByCapabilities – if true (default), only show packages compatible
|
|
41709
|
-
* with the app's API capabilities
|
|
41710
|
-
*
|
|
41711
|
-
* Returns:
|
|
41712
|
-
* packages – raw package objects from the registry
|
|
41713
|
-
* flatWidgets – flattened widget entries with `isRegistry: true`
|
|
41714
|
-
* isLoading – true while a search request is in flight
|
|
41715
|
-
* error – error message string (or null)
|
|
41716
|
-
* searchQuery / setSearchQuery – controlled search input
|
|
41717
|
-
* isInstalling – true during an install
|
|
41718
|
-
* installError – install error string (or null)
|
|
41719
|
-
* search() – manually trigger a search
|
|
41720
|
-
* installPackage(widget) – install a specific registry widget
|
|
41721
|
-
* showAllPackages / setShowAllPackages – toggle to show incompatible packages
|
|
41722
|
-
* appCapabilities – the app's API namespaces
|
|
41723
|
-
*/
|
|
41724
|
-
var useRegistrySearch = function useRegistrySearch() {
|
|
41725
|
-
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
41726
|
-
_ref$filterByCapabili = _ref.filterByCapabilities,
|
|
41727
|
-
filterByCapabilities = _ref$filterByCapabili === void 0 ? true : _ref$filterByCapabili;
|
|
41728
|
-
var _useState = useState(false),
|
|
41729
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
41730
|
-
isLoading = _useState2[0],
|
|
41731
|
-
setIsLoading = _useState2[1];
|
|
41732
|
-
var _useState3 = useState(null),
|
|
41733
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
41734
|
-
error = _useState4[0],
|
|
41735
|
-
setError = _useState4[1];
|
|
41736
|
-
var _useState5 = useState([]),
|
|
41737
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
41738
|
-
packages = _useState6[0],
|
|
41739
|
-
setPackages = _useState6[1];
|
|
41740
|
-
var _useState7 = useState([]),
|
|
41741
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
41742
|
-
flatWidgets = _useState8[0],
|
|
41743
|
-
setFlatWidgets = _useState8[1];
|
|
41744
|
-
var _useState9 = useState(""),
|
|
41745
|
-
_useState0 = _slicedToArray(_useState9, 2),
|
|
41746
|
-
searchQuery = _useState0[0],
|
|
41747
|
-
setSearchQuery = _useState0[1];
|
|
41748
|
-
var _useState1 = useState(false),
|
|
41749
|
-
_useState10 = _slicedToArray(_useState1, 2),
|
|
41750
|
-
isInstalling = _useState10[0],
|
|
41751
|
-
setIsInstalling = _useState10[1];
|
|
41752
|
-
var _useState11 = useState(null),
|
|
41753
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
41754
|
-
installError = _useState12[0],
|
|
41755
|
-
setInstallError = _useState12[1];
|
|
41756
|
-
var _useState13 = useState(false),
|
|
41757
|
-
_useState14 = _slicedToArray(_useState13, 2),
|
|
41758
|
-
showAllPackages = _useState14[0],
|
|
41759
|
-
setShowAllPackages = _useState14[1];
|
|
41760
|
-
|
|
41761
|
-
// Discover app capabilities from window.mainApi
|
|
41762
|
-
var appCapabilities = useMemo(function () {
|
|
41763
|
-
if (typeof window !== "undefined" && window.mainApi) {
|
|
41764
|
-
return Object.keys(window.mainApi);
|
|
41765
|
-
}
|
|
41766
|
-
return [];
|
|
41767
|
-
}, []);
|
|
41768
|
-
var search = useCallback(/*#__PURE__*/function () {
|
|
41769
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(query) {
|
|
41770
|
-
var _window$mainApi;
|
|
41771
|
-
var filters, result, pkgs, capSet, widgets, _iterator, _step, pkg, allApiProviders, _iterator2, _step2, p, _iterator3, _step3, w, _iterator5, _step5, _p, missingApis, _iterator4, _step4, widget, _t;
|
|
41772
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
41773
|
-
while (1) switch (_context.prev = _context.next) {
|
|
41774
|
-
case 0:
|
|
41775
|
-
if ((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && _window$mainApi.registry) {
|
|
41776
|
-
_context.next = 1;
|
|
41777
|
-
break;
|
|
41778
|
-
}
|
|
41779
|
-
setPackages([]);
|
|
41780
|
-
setFlatWidgets([]);
|
|
41781
|
-
return _context.abrupt("return");
|
|
41782
|
-
case 1:
|
|
41783
|
-
setIsLoading(true);
|
|
41784
|
-
setError(null);
|
|
41785
|
-
_context.prev = 2;
|
|
41786
|
-
filters = {};
|
|
41787
|
-
if (filterByCapabilities && !showAllPackages && appCapabilities.length) {
|
|
41788
|
-
filters.appCapabilities = appCapabilities;
|
|
41789
|
-
}
|
|
41790
|
-
_context.next = 3;
|
|
41791
|
-
return window.mainApi.registry.search(query !== null && query !== void 0 ? query : searchQuery, filters);
|
|
41792
|
-
case 3:
|
|
41793
|
-
result = _context.sent;
|
|
41794
|
-
// Only include packages that contain at least one widget
|
|
41795
|
-
// (filters out theme-only packages, etc.)
|
|
41796
|
-
pkgs = (result.packages || []).filter(function (pkg) {
|
|
41797
|
-
return pkg.widgets && pkg.widgets.length > 0;
|
|
41798
|
-
});
|
|
41799
|
-
setPackages(pkgs);
|
|
41800
|
-
|
|
41801
|
-
// Flatten packages into widget entries
|
|
41802
|
-
capSet = new Set(appCapabilities.map(function (c) {
|
|
41803
|
-
return c.toLowerCase();
|
|
41804
|
-
}));
|
|
41805
|
-
widgets = [];
|
|
41806
|
-
_iterator = _createForOfIteratorHelper$3(pkgs);
|
|
41807
|
-
try {
|
|
41808
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
41809
|
-
pkg = _step.value;
|
|
41810
|
-
// Compute missing APIs for the entire package
|
|
41811
|
-
allApiProviders = [];
|
|
41812
|
-
_iterator2 = _createForOfIteratorHelper$3(pkg.providers || []);
|
|
41813
|
-
try {
|
|
41814
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
41815
|
-
p = _step2.value;
|
|
41816
|
-
if (p.providerClass === "api" && p.required !== false) {
|
|
41817
|
-
allApiProviders.push(p.type);
|
|
41818
|
-
}
|
|
41819
|
-
}
|
|
41820
|
-
} catch (err) {
|
|
41821
|
-
_iterator2.e(err);
|
|
41822
|
-
} finally {
|
|
41823
|
-
_iterator2.f();
|
|
41824
|
-
}
|
|
41825
|
-
_iterator3 = _createForOfIteratorHelper$3(pkg.widgets || []);
|
|
41826
|
-
try {
|
|
41827
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
41828
|
-
w = _step3.value;
|
|
41829
|
-
_iterator5 = _createForOfIteratorHelper$3(w.providers || []);
|
|
41830
|
-
try {
|
|
41831
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
41832
|
-
_p = _step5.value;
|
|
41833
|
-
if (_p.providerClass === "api" && _p.required !== false) {
|
|
41834
|
-
allApiProviders.push(_p.type);
|
|
41835
|
-
}
|
|
41836
|
-
}
|
|
41837
|
-
} catch (err) {
|
|
41838
|
-
_iterator5.e(err);
|
|
41839
|
-
} finally {
|
|
41840
|
-
_iterator5.f();
|
|
41841
|
-
}
|
|
41842
|
-
}
|
|
41843
|
-
} catch (err) {
|
|
41844
|
-
_iterator3.e(err);
|
|
41845
|
-
} finally {
|
|
41846
|
-
_iterator3.f();
|
|
41847
|
-
}
|
|
41848
|
-
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
41849
|
-
return !capSet.has(api.toLowerCase());
|
|
41850
|
-
});
|
|
41851
|
-
_iterator4 = _createForOfIteratorHelper$3(pkg.widgets || []);
|
|
41852
|
-
try {
|
|
41853
|
-
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
41854
|
-
widget = _step4.value;
|
|
41855
|
-
widgets.push({
|
|
41856
|
-
key: "".concat(pkg.name, "/").concat(widget.name),
|
|
41857
|
-
name: widget.displayName || widget.name,
|
|
41858
|
-
description: widget.description || "",
|
|
41859
|
-
icon: widget.icon || null,
|
|
41860
|
-
providers: widget.providers || [],
|
|
41861
|
-
isRegistry: true,
|
|
41862
|
-
packageName: pkg.name,
|
|
41863
|
-
packageDisplayName: pkg.displayName || pkg.name,
|
|
41864
|
-
packageVersion: pkg.version,
|
|
41865
|
-
packageAuthor: pkg.author || "",
|
|
41866
|
-
packageDescription: pkg.description || "",
|
|
41867
|
-
packageTags: pkg.tags || [],
|
|
41868
|
-
packageCategory: pkg.category || "",
|
|
41869
|
-
downloadUrl: pkg.downloadUrl || "",
|
|
41870
|
-
repository: pkg.repository || "",
|
|
41871
|
-
publishedAt: pkg.publishedAt || "",
|
|
41872
|
-
packageWidgets: pkg.widgets || [],
|
|
41873
|
-
appOrigin: pkg.appOrigin || null,
|
|
41874
|
-
packageProviders: pkg.providers || [],
|
|
41875
|
-
missingApis: missingApis
|
|
41876
|
-
});
|
|
41877
|
-
}
|
|
41878
|
-
} catch (err) {
|
|
41879
|
-
_iterator4.e(err);
|
|
41880
|
-
} finally {
|
|
41881
|
-
_iterator4.f();
|
|
41882
|
-
}
|
|
41883
|
-
}
|
|
41884
|
-
} catch (err) {
|
|
41885
|
-
_iterator.e(err);
|
|
41886
|
-
} finally {
|
|
41887
|
-
_iterator.f();
|
|
41888
|
-
}
|
|
41889
|
-
setFlatWidgets(widgets);
|
|
41890
|
-
_context.next = 5;
|
|
41891
|
-
break;
|
|
41892
|
-
case 4:
|
|
41893
|
-
_context.prev = 4;
|
|
41894
|
-
_t = _context["catch"](2);
|
|
41895
|
-
setError(_t.message || "Failed to load registry");
|
|
41896
|
-
setPackages([]);
|
|
41897
|
-
setFlatWidgets([]);
|
|
41898
|
-
case 5:
|
|
41899
|
-
_context.prev = 5;
|
|
41900
|
-
setIsLoading(false);
|
|
41901
|
-
return _context.finish(5);
|
|
41902
|
-
case 6:
|
|
41903
|
-
case "end":
|
|
41904
|
-
return _context.stop();
|
|
41905
|
-
}
|
|
41906
|
-
}, _callee, null, [[2, 4, 5, 6]]);
|
|
41907
|
-
}));
|
|
41908
|
-
return function (_x) {
|
|
41909
|
-
return _ref2.apply(this, arguments);
|
|
41910
|
-
};
|
|
41911
|
-
}(), [searchQuery, filterByCapabilities, showAllPackages, appCapabilities]);
|
|
41912
|
-
|
|
41913
|
-
// Debounce search on query changes (300ms)
|
|
41914
|
-
useEffect(function () {
|
|
41915
|
-
var timer = setTimeout(function () {
|
|
41916
|
-
search(searchQuery);
|
|
41917
|
-
}, 300);
|
|
41918
|
-
return function () {
|
|
41919
|
-
return clearTimeout(timer);
|
|
41920
|
-
};
|
|
41921
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41922
|
-
}, [searchQuery, showAllPackages]);
|
|
41923
|
-
var installPackage = useCallback(/*#__PURE__*/function () {
|
|
41924
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(widget) {
|
|
41925
|
-
var packageName, downloadUrl, packageVersion, resolvedUrl, _t2;
|
|
41926
|
-
return _regeneratorRuntime.wrap(function (_context2) {
|
|
41927
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
41928
|
-
case 0:
|
|
41929
|
-
if (!(!widget || !widget.isRegistry)) {
|
|
41930
|
-
_context2.next = 1;
|
|
41931
|
-
break;
|
|
41932
|
-
}
|
|
41933
|
-
return _context2.abrupt("return");
|
|
41934
|
-
case 1:
|
|
41935
|
-
setIsInstalling(true);
|
|
41936
|
-
setInstallError(null);
|
|
41937
|
-
_context2.prev = 2;
|
|
41938
|
-
packageName = widget.packageName, downloadUrl = widget.downloadUrl, packageVersion = widget.packageVersion; // Resolve placeholders in the download URL
|
|
41939
|
-
resolvedUrl = downloadUrl.replace(/\{version\}/g, packageVersion).replace(/\{name\}/g, packageName);
|
|
41940
|
-
_context2.next = 3;
|
|
41941
|
-
return window.mainApi.widgets.install(packageName, resolvedUrl);
|
|
41942
|
-
case 3:
|
|
41943
|
-
_context2.next = 5;
|
|
41944
|
-
break;
|
|
41945
|
-
case 4:
|
|
41946
|
-
_context2.prev = 4;
|
|
41947
|
-
_t2 = _context2["catch"](2);
|
|
41948
|
-
setInstallError(_t2.message || "Failed to install package");
|
|
41949
|
-
case 5:
|
|
41950
|
-
_context2.prev = 5;
|
|
41951
|
-
setIsInstalling(false);
|
|
41952
|
-
return _context2.finish(5);
|
|
41953
|
-
case 6:
|
|
41954
|
-
case "end":
|
|
41955
|
-
return _context2.stop();
|
|
41956
|
-
}
|
|
41957
|
-
}, _callee2, null, [[2, 4, 5, 6]]);
|
|
41958
|
-
}));
|
|
41959
|
-
return function (_x2) {
|
|
41960
|
-
return _ref3.apply(this, arguments);
|
|
41961
|
-
};
|
|
41962
|
-
}(), []);
|
|
41963
|
-
var retry = useCallback(function () {
|
|
41964
|
-
search(searchQuery);
|
|
41965
|
-
}, [search, searchQuery]);
|
|
41966
|
-
return {
|
|
41967
|
-
packages: packages,
|
|
41968
|
-
flatWidgets: flatWidgets,
|
|
41969
|
-
isLoading: isLoading,
|
|
41970
|
-
error: error,
|
|
41971
|
-
searchQuery: searchQuery,
|
|
41972
|
-
setSearchQuery: setSearchQuery,
|
|
41973
|
-
isInstalling: isInstalling,
|
|
41974
|
-
installError: installError,
|
|
41975
|
-
search: search,
|
|
41976
|
-
installPackage: installPackage,
|
|
41977
|
-
retry: retry,
|
|
41978
|
-
showAllPackages: showAllPackages,
|
|
41979
|
-
setShowAllPackages: setShowAllPackages,
|
|
41980
|
-
appCapabilities: appCapabilities
|
|
41981
|
-
};
|
|
41982
|
-
};
|
|
41983
|
-
|
|
41984
42342
|
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; } } }; }
|
|
41985
42343
|
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; } }
|
|
41986
42344
|
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; }
|
|
@@ -48470,5 +48828,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
|
|
|
48470
48828
|
|
|
48471
48829
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
48472
48830
|
|
|
48473
|
-
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardIntentStep, WizardProvidersStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
48831
|
+
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardIntentStep, WizardProvidersStep, WizardResultsStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
48474
48832
|
//# sourceMappingURL=index.esm.js.map
|