@trops/dash-core 0.1.139 → 0.1.140
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 +134 -34
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +134 -34
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -38168,7 +38168,9 @@ var RegistryPackageDetail = function RegistryPackageDetail(_ref) {
|
|
|
38168
38168
|
_ref$isInstalling = _ref.isInstalling,
|
|
38169
38169
|
isInstalling = _ref$isInstalling === void 0 ? false : _ref$isInstalling,
|
|
38170
38170
|
_ref$installError = _ref.installError,
|
|
38171
|
-
installError = _ref$installError === void 0 ? null : _ref$installError
|
|
38171
|
+
installError = _ref$installError === void 0 ? null : _ref$installError,
|
|
38172
|
+
_ref$isInstalled = _ref.isInstalled,
|
|
38173
|
+
isInstalled = _ref$isInstalled === void 0 ? false : _ref$isInstalled;
|
|
38172
38174
|
var _useContext = useContext(ThemeContext),
|
|
38173
38175
|
currentTheme = _useContext.currentTheme;
|
|
38174
38176
|
var panelStyles = getStylesForItem(themeObjects.PANEL, currentTheme, {
|
|
@@ -38188,9 +38190,15 @@ var RegistryPackageDetail = function RegistryPackageDetail(_ref) {
|
|
|
38188
38190
|
className: "h-5 w-5"
|
|
38189
38191
|
})
|
|
38190
38192
|
}), /*#__PURE__*/jsxs("div", {
|
|
38191
|
-
children: [/*#__PURE__*/
|
|
38192
|
-
|
|
38193
|
-
|
|
38193
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
38194
|
+
className: "flex items-center gap-2",
|
|
38195
|
+
children: [/*#__PURE__*/jsx(SubHeading3, {
|
|
38196
|
+
title: widget.packageDisplayName,
|
|
38197
|
+
padding: false
|
|
38198
|
+
}), isInstalled && /*#__PURE__*/jsx("span", {
|
|
38199
|
+
className: "text-[10px] px-1.5 py-0.5 rounded bg-emerald-500/20 text-emerald-400 flex-shrink-0",
|
|
38200
|
+
children: "Installed"
|
|
38201
|
+
})]
|
|
38194
38202
|
}), /*#__PURE__*/jsxs("div", {
|
|
38195
38203
|
className: "flex items-center gap-2 mt-0.5",
|
|
38196
38204
|
children: [/*#__PURE__*/jsxs("span", {
|
|
@@ -38301,13 +38309,13 @@ var RegistryPackageDetail = function RegistryPackageDetail(_ref) {
|
|
|
38301
38309
|
}), /*#__PURE__*/jsx("div", {
|
|
38302
38310
|
className: "flex items-center justify-end px-6 py-3 border-t ".concat(currentTheme["border-primary-medium"]),
|
|
38303
38311
|
children: /*#__PURE__*/jsx(Button, {
|
|
38304
|
-
title: isInstalling ? "Installing..." : "Install Package",
|
|
38305
|
-
bgColor: "bg-blue-600",
|
|
38306
|
-
hoverBackgroundColor: isInstalling ? "" : "hover:bg-blue-700",
|
|
38312
|
+
title: isInstalled ? "Installed" : isInstalling ? "Installing..." : "Install Package",
|
|
38313
|
+
bgColor: isInstalled ? "bg-emerald-600/50" : "bg-blue-600",
|
|
38314
|
+
hoverBackgroundColor: isInstalled || isInstalling ? "" : "hover:bg-blue-700",
|
|
38307
38315
|
textSize: "text-sm",
|
|
38308
38316
|
padding: "py-1.5 px-4",
|
|
38309
38317
|
onClick: onInstall,
|
|
38310
|
-
disabled: isInstalling
|
|
38318
|
+
disabled: isInstalling || isInstalled
|
|
38311
38319
|
})
|
|
38312
38320
|
})]
|
|
38313
38321
|
});
|
|
@@ -38410,7 +38418,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
38410
38418
|
return window.mainApi.registry.search(query !== null && query !== void 0 ? query : searchQuery, filters);
|
|
38411
38419
|
case 3:
|
|
38412
38420
|
result = _context.sent;
|
|
38413
|
-
|
|
38421
|
+
// Only include packages that contain at least one widget
|
|
38422
|
+
// (filters out theme-only packages, etc.)
|
|
38423
|
+
pkgs = (result.packages || []).filter(function (pkg) {
|
|
38424
|
+
return pkg.widgets && pkg.widgets.length > 0;
|
|
38425
|
+
});
|
|
38414
38426
|
setPackages(pkgs);
|
|
38415
38427
|
|
|
38416
38428
|
// Flatten packages into widget entries
|
|
@@ -38629,6 +38641,83 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
38629
38641
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
38630
38642
|
toolConflictWarning = _useState4[0],
|
|
38631
38643
|
setToolConflictWarning = _useState4[1];
|
|
38644
|
+
|
|
38645
|
+
// Track installed package names (same pattern as WidgetSidebar)
|
|
38646
|
+
var _useState5 = useState(new Set()),
|
|
38647
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
38648
|
+
installedPackageNames = _useState6[0],
|
|
38649
|
+
setInstalledPackageNames = _useState6[1];
|
|
38650
|
+
var loadInstalledPackages = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
38651
|
+
var widgets, names, _iterator, _step, w, folderName, _folderName;
|
|
38652
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
38653
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38654
|
+
case 0:
|
|
38655
|
+
_context.prev = 0;
|
|
38656
|
+
_context.next = 1;
|
|
38657
|
+
return window.mainApi.widgets.list();
|
|
38658
|
+
case 1:
|
|
38659
|
+
widgets = _context.sent;
|
|
38660
|
+
names = new Set();
|
|
38661
|
+
_iterator = _createForOfIteratorHelper$2(widgets);
|
|
38662
|
+
try {
|
|
38663
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
38664
|
+
w = _step.value;
|
|
38665
|
+
if (w.name) names.add(w.name);
|
|
38666
|
+
if (w.path) {
|
|
38667
|
+
folderName = w.path.split("/").pop();
|
|
38668
|
+
if (folderName) names.add(folderName);
|
|
38669
|
+
}
|
|
38670
|
+
if (w.author && w.name) {
|
|
38671
|
+
names.add("".concat(w.author, "/").concat(w.name));
|
|
38672
|
+
}
|
|
38673
|
+
if (w.author && w.path) {
|
|
38674
|
+
_folderName = w.path.split("/").pop();
|
|
38675
|
+
if (_folderName) names.add("".concat(w.author, "/").concat(_folderName));
|
|
38676
|
+
}
|
|
38677
|
+
}
|
|
38678
|
+
} catch (err) {
|
|
38679
|
+
_iterator.e(err);
|
|
38680
|
+
} finally {
|
|
38681
|
+
_iterator.f();
|
|
38682
|
+
}
|
|
38683
|
+
setInstalledPackageNames(names);
|
|
38684
|
+
_context.next = 3;
|
|
38685
|
+
break;
|
|
38686
|
+
case 2:
|
|
38687
|
+
_context.prev = 2;
|
|
38688
|
+
_context["catch"](0);
|
|
38689
|
+
case 3:
|
|
38690
|
+
case "end":
|
|
38691
|
+
return _context.stop();
|
|
38692
|
+
}
|
|
38693
|
+
}, _callee, null, [[0, 2]]);
|
|
38694
|
+
})), []);
|
|
38695
|
+
useEffect(function () {
|
|
38696
|
+
loadInstalledPackages();
|
|
38697
|
+
var handleWidgetsUpdated = function handleWidgetsUpdated() {
|
|
38698
|
+
return loadInstalledPackages();
|
|
38699
|
+
};
|
|
38700
|
+
window.addEventListener("dash:widgets-updated", handleWidgetsUpdated);
|
|
38701
|
+
return function () {
|
|
38702
|
+
return window.removeEventListener("dash:widgets-updated", handleWidgetsUpdated);
|
|
38703
|
+
};
|
|
38704
|
+
}, [loadInstalledPackages]);
|
|
38705
|
+
var isPackageInstalled = useCallback(function (pkg) {
|
|
38706
|
+
if (installedPackageNames.has(pkg.name) || pkg.scope && installedPackageNames.has("".concat(pkg.scope, "/").concat(pkg.name))) {
|
|
38707
|
+
return true;
|
|
38708
|
+
}
|
|
38709
|
+
var packageWidgets = pkg.widgets || [];
|
|
38710
|
+
if (packageWidgets.length > 0) {
|
|
38711
|
+
var cMap = ComponentManager.componentMap();
|
|
38712
|
+
var cMapKeys = Object.keys(cMap);
|
|
38713
|
+
return packageWidgets.some(function (w) {
|
|
38714
|
+
return w.name in cMap || cMapKeys.some(function (k) {
|
|
38715
|
+
return k === w.name || k.endsWith("_".concat(w.name));
|
|
38716
|
+
});
|
|
38717
|
+
});
|
|
38718
|
+
}
|
|
38719
|
+
return false;
|
|
38720
|
+
}, [installedPackageNames]);
|
|
38632
38721
|
var selectedWidget = selectedPackageName ? flatWidgets.find(function (w) {
|
|
38633
38722
|
return w.packageName === selectedPackageName;
|
|
38634
38723
|
}) : null;
|
|
@@ -38637,31 +38726,31 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
38637
38726
|
var checkToolConflicts = function checkToolConflicts(widget) {
|
|
38638
38727
|
var conflicts = [];
|
|
38639
38728
|
var packageWidgets = widget.packageWidgets || [];
|
|
38640
|
-
var
|
|
38641
|
-
|
|
38729
|
+
var _iterator2 = _createForOfIteratorHelper$2(packageWidgets),
|
|
38730
|
+
_step2;
|
|
38642
38731
|
try {
|
|
38643
|
-
for (
|
|
38644
|
-
var w =
|
|
38645
|
-
var
|
|
38646
|
-
|
|
38732
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
38733
|
+
var w = _step2.value;
|
|
38734
|
+
var _iterator3 = _createForOfIteratorHelper$2(w.providers || []),
|
|
38735
|
+
_step3;
|
|
38647
38736
|
try {
|
|
38648
38737
|
var _loop = function _loop() {
|
|
38649
38738
|
var _p$requiredTools;
|
|
38650
|
-
var p =
|
|
38739
|
+
var p = _step3.value;
|
|
38651
38740
|
if (!((_p$requiredTools = p.requiredTools) !== null && _p$requiredTools !== void 0 && _p$requiredTools.length) || p.providerClass !== "mcp") return 1; // continue
|
|
38652
38741
|
// Find matching user provider
|
|
38653
|
-
var matchingProviders = Object.entries(providers).filter(function (
|
|
38654
|
-
var
|
|
38655
|
-
prov =
|
|
38742
|
+
var matchingProviders = Object.entries(providers).filter(function (_ref3) {
|
|
38743
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
38744
|
+
prov = _ref4[1];
|
|
38656
38745
|
return prov.type === p.type && prov.providerClass === "mcp" && prov.allowedTools;
|
|
38657
38746
|
});
|
|
38658
|
-
var
|
|
38659
|
-
|
|
38747
|
+
var _iterator4 = _createForOfIteratorHelper$2(matchingProviders),
|
|
38748
|
+
_step4;
|
|
38660
38749
|
try {
|
|
38661
38750
|
var _loop2 = function _loop2() {
|
|
38662
|
-
var
|
|
38663
|
-
provName =
|
|
38664
|
-
prov =
|
|
38751
|
+
var _step4$value = _slicedToArray(_step4.value, 2),
|
|
38752
|
+
provName = _step4$value[0],
|
|
38753
|
+
prov = _step4$value[1];
|
|
38665
38754
|
var blocked = p.requiredTools.filter(function (t) {
|
|
38666
38755
|
return !prov.allowedTools.includes(t);
|
|
38667
38756
|
});
|
|
@@ -38673,28 +38762,28 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
38673
38762
|
});
|
|
38674
38763
|
}
|
|
38675
38764
|
};
|
|
38676
|
-
for (
|
|
38765
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
38677
38766
|
_loop2();
|
|
38678
38767
|
}
|
|
38679
38768
|
} catch (err) {
|
|
38680
|
-
|
|
38769
|
+
_iterator4.e(err);
|
|
38681
38770
|
} finally {
|
|
38682
|
-
|
|
38771
|
+
_iterator4.f();
|
|
38683
38772
|
}
|
|
38684
38773
|
};
|
|
38685
|
-
for (
|
|
38774
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
38686
38775
|
if (_loop()) continue;
|
|
38687
38776
|
}
|
|
38688
38777
|
} catch (err) {
|
|
38689
|
-
|
|
38778
|
+
_iterator3.e(err);
|
|
38690
38779
|
} finally {
|
|
38691
|
-
|
|
38780
|
+
_iterator3.f();
|
|
38692
38781
|
}
|
|
38693
38782
|
}
|
|
38694
38783
|
} catch (err) {
|
|
38695
|
-
|
|
38784
|
+
_iterator2.e(err);
|
|
38696
38785
|
} finally {
|
|
38697
|
-
|
|
38786
|
+
_iterator2.f();
|
|
38698
38787
|
}
|
|
38699
38788
|
return conflicts;
|
|
38700
38789
|
};
|
|
@@ -38737,7 +38826,10 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
38737
38826
|
widget: selectedWidget,
|
|
38738
38827
|
onInstall: handleInstall,
|
|
38739
38828
|
isInstalling: isInstalling,
|
|
38740
|
-
installError: installError
|
|
38829
|
+
installError: installError,
|
|
38830
|
+
isInstalled: selectedWidget ? isPackageInstalled(packages.find(function (p) {
|
|
38831
|
+
return p.name === selectedPackageName;
|
|
38832
|
+
}) || {}) : false
|
|
38741
38833
|
})]
|
|
38742
38834
|
});
|
|
38743
38835
|
}
|
|
@@ -38790,6 +38882,7 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
38790
38882
|
return w.packageName === pkg.name;
|
|
38791
38883
|
});
|
|
38792
38884
|
var hasIncompatible = (pkgWidget === null || pkgWidget === void 0 ? void 0 : pkgWidget.missingApis) && pkgWidget.missingApis.length > 0;
|
|
38885
|
+
var isInstalled = isPackageInstalled(pkg);
|
|
38793
38886
|
return /*#__PURE__*/jsx(Sidebar.Item, {
|
|
38794
38887
|
icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
38795
38888
|
icon: hasIncompatible ? "triangle-exclamation" : "cube",
|
|
@@ -38799,7 +38892,14 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
38799
38892
|
return setSelectedPackageName(pkg.name);
|
|
38800
38893
|
},
|
|
38801
38894
|
badge: "".concat(widgetCount),
|
|
38802
|
-
|
|
38895
|
+
className: isInstalled ? "opacity-50" : "",
|
|
38896
|
+
children: /*#__PURE__*/jsxs("span", {
|
|
38897
|
+
className: "flex items-center gap-1.5",
|
|
38898
|
+
children: [pkg.displayName || pkg.name, isInstalled && /*#__PURE__*/jsx("span", {
|
|
38899
|
+
className: "text-[10px] text-emerald-400",
|
|
38900
|
+
children: "Installed"
|
|
38901
|
+
})]
|
|
38902
|
+
})
|
|
38803
38903
|
}, pkg.name);
|
|
38804
38904
|
})
|
|
38805
38905
|
});
|