@trops/dash-core 0.1.370 → 0.1.372
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/electron/index.js +62 -43
- package/dist/electron/index.js.map +1 -1
- package/dist/index.esm.js +280 -77
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +280 -77
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -4731,47 +4731,87 @@ var DiscoverDashboardsDetail = function DiscoverDashboardsDetail(_ref) {
|
|
|
4731
4731
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
4732
4732
|
selectedPackageName = _useState0[0],
|
|
4733
4733
|
setSelectedPackageName = _useState0[1];
|
|
4734
|
-
|
|
4735
|
-
|
|
4736
|
-
|
|
4737
|
-
|
|
4734
|
+
|
|
4735
|
+
// Auth state — when the empty state shows up to a non-signed-in user,
|
|
4736
|
+
// they may not realize private packages they own are filtered out.
|
|
4737
|
+
var _useState1 = useState(null),
|
|
4738
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
4739
|
+
registryAuthed = _useState10[0],
|
|
4740
|
+
setRegistryAuthed = _useState10[1];
|
|
4741
|
+
var _useState11 = useState(false),
|
|
4742
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
4743
|
+
showAuthFromEmpty = _useState12[0],
|
|
4744
|
+
setShowAuthFromEmpty = _useState12[1];
|
|
4745
|
+
useEffect(function () {
|
|
4746
|
+
var cancelled = false;
|
|
4747
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
4748
|
+
var _window$mainApi, status;
|
|
4738
4749
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
4739
4750
|
while (1) switch (_context.prev = _context.next) {
|
|
4740
4751
|
case 0:
|
|
4741
|
-
|
|
4742
|
-
|
|
4752
|
+
_context.prev = 0;
|
|
4753
|
+
_context.next = 1;
|
|
4754
|
+
return (_window$mainApi = window.mainApi) === null || _window$mainApi === void 0 || (_window$mainApi = _window$mainApi.registryAuth) === null || _window$mainApi === void 0 ? void 0 : _window$mainApi.getStatus();
|
|
4755
|
+
case 1:
|
|
4756
|
+
status = _context.sent;
|
|
4757
|
+
if (!cancelled) setRegistryAuthed(!!(status !== null && status !== void 0 && status.authenticated));
|
|
4758
|
+
_context.next = 3;
|
|
4759
|
+
break;
|
|
4760
|
+
case 2:
|
|
4761
|
+
_context.prev = 2;
|
|
4762
|
+
_context["catch"](0);
|
|
4763
|
+
if (!cancelled) setRegistryAuthed(false);
|
|
4764
|
+
case 3:
|
|
4765
|
+
case "end":
|
|
4766
|
+
return _context.stop();
|
|
4767
|
+
}
|
|
4768
|
+
}, _callee, null, [[0, 2]]);
|
|
4769
|
+
}))();
|
|
4770
|
+
return function () {
|
|
4771
|
+
cancelled = true;
|
|
4772
|
+
};
|
|
4773
|
+
}, [showAuthFromEmpty]);
|
|
4774
|
+
var search = useCallback(/*#__PURE__*/function () {
|
|
4775
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(query) {
|
|
4776
|
+
var _window$mainApi2;
|
|
4777
|
+
var result, _t2;
|
|
4778
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
4779
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
4780
|
+
case 0:
|
|
4781
|
+
if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.registry) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.searchDashboards) {
|
|
4782
|
+
_context2.next = 1;
|
|
4743
4783
|
break;
|
|
4744
4784
|
}
|
|
4745
4785
|
setPackages([]);
|
|
4746
|
-
return
|
|
4786
|
+
return _context2.abrupt("return");
|
|
4747
4787
|
case 1:
|
|
4748
4788
|
setIsLoading(true);
|
|
4749
4789
|
setError(null);
|
|
4750
|
-
|
|
4751
|
-
|
|
4790
|
+
_context2.prev = 2;
|
|
4791
|
+
_context2.next = 3;
|
|
4752
4792
|
return window.mainApi.registry.searchDashboards(query || "", {});
|
|
4753
4793
|
case 3:
|
|
4754
|
-
result =
|
|
4794
|
+
result = _context2.sent;
|
|
4755
4795
|
setPackages((result === null || result === void 0 ? void 0 : result.packages) || []);
|
|
4756
|
-
|
|
4796
|
+
_context2.next = 5;
|
|
4757
4797
|
break;
|
|
4758
4798
|
case 4:
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
setError(
|
|
4799
|
+
_context2.prev = 4;
|
|
4800
|
+
_t2 = _context2["catch"](2);
|
|
4801
|
+
setError(_t2.message || "Failed to search dashboard registry");
|
|
4762
4802
|
setPackages([]);
|
|
4763
4803
|
case 5:
|
|
4764
|
-
|
|
4804
|
+
_context2.prev = 5;
|
|
4765
4805
|
setIsLoading(false);
|
|
4766
|
-
return
|
|
4806
|
+
return _context2.finish(5);
|
|
4767
4807
|
case 6:
|
|
4768
4808
|
case "end":
|
|
4769
|
-
return
|
|
4809
|
+
return _context2.stop();
|
|
4770
4810
|
}
|
|
4771
|
-
},
|
|
4811
|
+
}, _callee2, null, [[2, 4, 5, 6]]);
|
|
4772
4812
|
}));
|
|
4773
4813
|
return function (_x) {
|
|
4774
|
-
return
|
|
4814
|
+
return _ref3.apply(this, arguments);
|
|
4775
4815
|
};
|
|
4776
4816
|
}(), []);
|
|
4777
4817
|
|
|
@@ -4850,12 +4890,27 @@ var DiscoverDashboardsDetail = function DiscoverDashboardsDetail(_ref) {
|
|
|
4850
4890
|
})]
|
|
4851
4891
|
});
|
|
4852
4892
|
} else if (packages.length === 0) {
|
|
4853
|
-
listBody = /*#__PURE__*/
|
|
4854
|
-
className: "px-4 py-8 text-center",
|
|
4855
|
-
children: /*#__PURE__*/jsx(Paragraph, {
|
|
4893
|
+
listBody = /*#__PURE__*/jsxs("div", {
|
|
4894
|
+
className: "px-4 py-8 text-center space-y-3",
|
|
4895
|
+
children: [/*#__PURE__*/jsx(Paragraph, {
|
|
4856
4896
|
className: "text-sm opacity-50",
|
|
4857
4897
|
children: searchQuery ? "No dashboards match your search." : "No dashboard packages available."
|
|
4858
|
-
})
|
|
4898
|
+
}), registryAuthed === false && /*#__PURE__*/jsxs("div", {
|
|
4899
|
+
className: "inline-flex flex-col items-center gap-2 px-4 py-3 rounded-lg bg-amber-900/15 border border-amber-700/30",
|
|
4900
|
+
children: [/*#__PURE__*/jsx(Paragraph, {
|
|
4901
|
+
className: "text-xs text-amber-200",
|
|
4902
|
+
children: "Sign in to the registry to see your private dashboards."
|
|
4903
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
4904
|
+
title: "Sign in to Registry",
|
|
4905
|
+
bgColor: "bg-indigo-600",
|
|
4906
|
+
hoverBackgroundColor: "hover:bg-indigo-500",
|
|
4907
|
+
textSize: "text-sm",
|
|
4908
|
+
padding: "py-1 px-3",
|
|
4909
|
+
onClick: function onClick() {
|
|
4910
|
+
return setShowAuthFromEmpty(true);
|
|
4911
|
+
}
|
|
4912
|
+
})]
|
|
4913
|
+
})]
|
|
4859
4914
|
});
|
|
4860
4915
|
} else {
|
|
4861
4916
|
listBody = /*#__PURE__*/jsx("div", {
|
|
@@ -4905,6 +4960,18 @@ var DiscoverDashboardsDetail = function DiscoverDashboardsDetail(_ref) {
|
|
|
4905
4960
|
}), !isLoading && !error && packages.length > 0 && /*#__PURE__*/jsxs("div", {
|
|
4906
4961
|
className: "flex-shrink-0 px-4 py-2 text-[10px] opacity-40 border-t border-white/10",
|
|
4907
4962
|
children: [packages.length, " dashboard", packages.length !== 1 ? "s" : ""]
|
|
4963
|
+
}), /*#__PURE__*/jsx(RegistryAuthModal, {
|
|
4964
|
+
isOpen: showAuthFromEmpty,
|
|
4965
|
+
setIsOpen: setShowAuthFromEmpty,
|
|
4966
|
+
onAuthenticated: function onAuthenticated() {
|
|
4967
|
+
setShowAuthFromEmpty(false);
|
|
4968
|
+
setRegistryAuthed(true);
|
|
4969
|
+
search(searchQuery);
|
|
4970
|
+
},
|
|
4971
|
+
onCancel: function onCancel() {
|
|
4972
|
+
return setShowAuthFromEmpty(false);
|
|
4973
|
+
},
|
|
4974
|
+
message: "Sign in to see your private dashboards and install ones you've published."
|
|
4908
4975
|
})]
|
|
4909
4976
|
});
|
|
4910
4977
|
};
|
|
@@ -38233,47 +38300,86 @@ var DiscoverThemesDetail = function DiscoverThemesDetail(_ref) {
|
|
|
38233
38300
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
38234
38301
|
selectedPackageName = _useState0[0],
|
|
38235
38302
|
setSelectedPackageName = _useState0[1];
|
|
38236
|
-
|
|
38237
|
-
|
|
38238
|
-
|
|
38239
|
-
|
|
38303
|
+
|
|
38304
|
+
// Auth state for the empty-state hint.
|
|
38305
|
+
var _useState1 = useState(null),
|
|
38306
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
38307
|
+
registryAuthed = _useState10[0],
|
|
38308
|
+
setRegistryAuthed = _useState10[1];
|
|
38309
|
+
var _useState11 = useState(false),
|
|
38310
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
38311
|
+
showAuthFromEmpty = _useState12[0],
|
|
38312
|
+
setShowAuthFromEmpty = _useState12[1];
|
|
38313
|
+
useEffect(function () {
|
|
38314
|
+
var cancelled = false;
|
|
38315
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
38316
|
+
var _window$mainApi, status;
|
|
38240
38317
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
38241
38318
|
while (1) switch (_context.prev = _context.next) {
|
|
38242
38319
|
case 0:
|
|
38243
|
-
|
|
38244
|
-
|
|
38320
|
+
_context.prev = 0;
|
|
38321
|
+
_context.next = 1;
|
|
38322
|
+
return (_window$mainApi = window.mainApi) === null || _window$mainApi === void 0 || (_window$mainApi = _window$mainApi.registryAuth) === null || _window$mainApi === void 0 ? void 0 : _window$mainApi.getStatus();
|
|
38323
|
+
case 1:
|
|
38324
|
+
status = _context.sent;
|
|
38325
|
+
if (!cancelled) setRegistryAuthed(!!(status !== null && status !== void 0 && status.authenticated));
|
|
38326
|
+
_context.next = 3;
|
|
38327
|
+
break;
|
|
38328
|
+
case 2:
|
|
38329
|
+
_context.prev = 2;
|
|
38330
|
+
_context["catch"](0);
|
|
38331
|
+
if (!cancelled) setRegistryAuthed(false);
|
|
38332
|
+
case 3:
|
|
38333
|
+
case "end":
|
|
38334
|
+
return _context.stop();
|
|
38335
|
+
}
|
|
38336
|
+
}, _callee, null, [[0, 2]]);
|
|
38337
|
+
}))();
|
|
38338
|
+
return function () {
|
|
38339
|
+
cancelled = true;
|
|
38340
|
+
};
|
|
38341
|
+
}, [showAuthFromEmpty]);
|
|
38342
|
+
var search = useCallback(/*#__PURE__*/function () {
|
|
38343
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(query) {
|
|
38344
|
+
var _window$mainApi2;
|
|
38345
|
+
var result, _t2;
|
|
38346
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
38347
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
38348
|
+
case 0:
|
|
38349
|
+
if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.registry) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.searchThemes) {
|
|
38350
|
+
_context2.next = 1;
|
|
38245
38351
|
break;
|
|
38246
38352
|
}
|
|
38247
38353
|
setPackages([]);
|
|
38248
|
-
return
|
|
38354
|
+
return _context2.abrupt("return");
|
|
38249
38355
|
case 1:
|
|
38250
38356
|
setIsLoading(true);
|
|
38251
38357
|
setError(null);
|
|
38252
|
-
|
|
38253
|
-
|
|
38358
|
+
_context2.prev = 2;
|
|
38359
|
+
_context2.next = 3;
|
|
38254
38360
|
return window.mainApi.registry.searchThemes(query || "", {});
|
|
38255
38361
|
case 3:
|
|
38256
|
-
result =
|
|
38362
|
+
result = _context2.sent;
|
|
38257
38363
|
setPackages((result === null || result === void 0 ? void 0 : result.packages) || []);
|
|
38258
|
-
|
|
38364
|
+
_context2.next = 5;
|
|
38259
38365
|
break;
|
|
38260
38366
|
case 4:
|
|
38261
|
-
|
|
38262
|
-
|
|
38263
|
-
setError(
|
|
38367
|
+
_context2.prev = 4;
|
|
38368
|
+
_t2 = _context2["catch"](2);
|
|
38369
|
+
setError(_t2.message || "Failed to search theme registry");
|
|
38264
38370
|
setPackages([]);
|
|
38265
38371
|
case 5:
|
|
38266
|
-
|
|
38372
|
+
_context2.prev = 5;
|
|
38267
38373
|
setIsLoading(false);
|
|
38268
|
-
return
|
|
38374
|
+
return _context2.finish(5);
|
|
38269
38375
|
case 6:
|
|
38270
38376
|
case "end":
|
|
38271
|
-
return
|
|
38377
|
+
return _context2.stop();
|
|
38272
38378
|
}
|
|
38273
|
-
},
|
|
38379
|
+
}, _callee2, null, [[2, 4, 5, 6]]);
|
|
38274
38380
|
}));
|
|
38275
38381
|
return function (_x) {
|
|
38276
|
-
return
|
|
38382
|
+
return _ref3.apply(this, arguments);
|
|
38277
38383
|
};
|
|
38278
38384
|
}(), []);
|
|
38279
38385
|
|
|
@@ -38352,12 +38458,27 @@ var DiscoverThemesDetail = function DiscoverThemesDetail(_ref) {
|
|
|
38352
38458
|
})]
|
|
38353
38459
|
});
|
|
38354
38460
|
} else if (packages.length === 0) {
|
|
38355
|
-
listBody = /*#__PURE__*/
|
|
38356
|
-
className: "px-4 py-8 text-center",
|
|
38357
|
-
children: /*#__PURE__*/jsx(Paragraph, {
|
|
38461
|
+
listBody = /*#__PURE__*/jsxs("div", {
|
|
38462
|
+
className: "px-4 py-8 text-center space-y-3",
|
|
38463
|
+
children: [/*#__PURE__*/jsx(Paragraph, {
|
|
38358
38464
|
className: "text-sm opacity-50",
|
|
38359
38465
|
children: searchQuery ? "No themes match your search." : "No theme packages available."
|
|
38360
|
-
})
|
|
38466
|
+
}), registryAuthed === false && /*#__PURE__*/jsxs("div", {
|
|
38467
|
+
className: "inline-flex flex-col items-center gap-2 px-4 py-3 rounded-lg bg-amber-900/15 border border-amber-700/30",
|
|
38468
|
+
children: [/*#__PURE__*/jsx(Paragraph, {
|
|
38469
|
+
className: "text-xs text-amber-200",
|
|
38470
|
+
children: "Sign in to the registry to see your private themes."
|
|
38471
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
38472
|
+
title: "Sign in to Registry",
|
|
38473
|
+
bgColor: "bg-indigo-600",
|
|
38474
|
+
hoverBackgroundColor: "hover:bg-indigo-500",
|
|
38475
|
+
textSize: "text-sm",
|
|
38476
|
+
padding: "py-1 px-3",
|
|
38477
|
+
onClick: function onClick() {
|
|
38478
|
+
return setShowAuthFromEmpty(true);
|
|
38479
|
+
}
|
|
38480
|
+
})]
|
|
38481
|
+
})]
|
|
38361
38482
|
});
|
|
38362
38483
|
} else {
|
|
38363
38484
|
listBody = /*#__PURE__*/jsx("div", {
|
|
@@ -38409,6 +38530,18 @@ var DiscoverThemesDetail = function DiscoverThemesDetail(_ref) {
|
|
|
38409
38530
|
}), !isLoading && !error && packages.length > 0 && /*#__PURE__*/jsxs("div", {
|
|
38410
38531
|
className: "flex-shrink-0 px-4 py-2 text-[10px] opacity-40 border-t border-white/10",
|
|
38411
38532
|
children: [packages.length, " theme", packages.length !== 1 ? "s" : ""]
|
|
38533
|
+
}), /*#__PURE__*/jsx(RegistryAuthModal, {
|
|
38534
|
+
isOpen: showAuthFromEmpty,
|
|
38535
|
+
setIsOpen: setShowAuthFromEmpty,
|
|
38536
|
+
onAuthenticated: function onAuthenticated() {
|
|
38537
|
+
setShowAuthFromEmpty(false);
|
|
38538
|
+
setRegistryAuthed(true);
|
|
38539
|
+
search(searchQuery);
|
|
38540
|
+
},
|
|
38541
|
+
onCancel: function onCancel() {
|
|
38542
|
+
return setShowAuthFromEmpty(false);
|
|
38543
|
+
},
|
|
38544
|
+
message: "Sign in to see your private themes and install ones you've published."
|
|
38412
38545
|
})]
|
|
38413
38546
|
});
|
|
38414
38547
|
};
|
|
@@ -46918,37 +47051,78 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
46918
47051
|
toolConflictWarning = _useState4[0],
|
|
46919
47052
|
setToolConflictWarning = _useState4[1];
|
|
46920
47053
|
|
|
46921
|
-
//
|
|
46922
|
-
|
|
47054
|
+
// Auth state — used to nudge unauthenticated users toward signing in
|
|
47055
|
+
// when the empty state appears (so they realize private packages are
|
|
47056
|
+
// hidden behind auth).
|
|
47057
|
+
var _useState5 = useState(null),
|
|
46923
47058
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
46924
|
-
|
|
46925
|
-
|
|
46926
|
-
var _useState7 = useState(
|
|
47059
|
+
registryAuthed = _useState6[0],
|
|
47060
|
+
setRegistryAuthed = _useState6[1];
|
|
47061
|
+
var _useState7 = useState(false),
|
|
46927
47062
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
46928
|
-
|
|
46929
|
-
|
|
47063
|
+
showAuthFromEmpty = _useState8[0],
|
|
47064
|
+
setShowAuthFromEmpty = _useState8[1];
|
|
47065
|
+
useEffect(function () {
|
|
47066
|
+
var cancelled = false;
|
|
47067
|
+
_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
47068
|
+
var _window$mainApi, status;
|
|
47069
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
47070
|
+
while (1) switch (_context.prev = _context.next) {
|
|
47071
|
+
case 0:
|
|
47072
|
+
_context.prev = 0;
|
|
47073
|
+
_context.next = 1;
|
|
47074
|
+
return (_window$mainApi = window.mainApi) === null || _window$mainApi === void 0 || (_window$mainApi = _window$mainApi.registryAuth) === null || _window$mainApi === void 0 ? void 0 : _window$mainApi.getStatus();
|
|
47075
|
+
case 1:
|
|
47076
|
+
status = _context.sent;
|
|
47077
|
+
if (!cancelled) setRegistryAuthed(!!(status !== null && status !== void 0 && status.authenticated));
|
|
47078
|
+
_context.next = 3;
|
|
47079
|
+
break;
|
|
47080
|
+
case 2:
|
|
47081
|
+
_context.prev = 2;
|
|
47082
|
+
_context["catch"](0);
|
|
47083
|
+
if (!cancelled) setRegistryAuthed(false);
|
|
47084
|
+
case 3:
|
|
47085
|
+
case "end":
|
|
47086
|
+
return _context.stop();
|
|
47087
|
+
}
|
|
47088
|
+
}, _callee, null, [[0, 2]]);
|
|
47089
|
+
}))();
|
|
47090
|
+
return function () {
|
|
47091
|
+
cancelled = true;
|
|
47092
|
+
};
|
|
47093
|
+
}, [needsAuth, showAuthFromEmpty]);
|
|
47094
|
+
|
|
47095
|
+
// Install progress modal state
|
|
46930
47096
|
var _useState9 = useState(false),
|
|
46931
47097
|
_useState0 = _slicedToArray(_useState9, 2),
|
|
46932
|
-
|
|
46933
|
-
|
|
47098
|
+
showProgressModal = _useState0[0],
|
|
47099
|
+
setShowProgressModal = _useState0[1];
|
|
47100
|
+
var _useState1 = useState([]),
|
|
47101
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
47102
|
+
progressWidgets = _useState10[0],
|
|
47103
|
+
setProgressWidgets = _useState10[1];
|
|
47104
|
+
var _useState11 = useState(false),
|
|
47105
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
47106
|
+
progressComplete = _useState12[0],
|
|
47107
|
+
setProgressComplete = _useState12[1];
|
|
46934
47108
|
var installActiveRef = useRef(false);
|
|
46935
47109
|
var pendingInstallRef = useRef(null);
|
|
46936
47110
|
|
|
46937
47111
|
// Track installed package names (same pattern as WidgetSidebar)
|
|
46938
|
-
var
|
|
46939
|
-
|
|
46940
|
-
installedPackageNames =
|
|
46941
|
-
setInstalledPackageNames =
|
|
46942
|
-
var loadInstalledPackages = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function
|
|
47112
|
+
var _useState13 = useState(new Set()),
|
|
47113
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
47114
|
+
installedPackageNames = _useState14[0],
|
|
47115
|
+
setInstalledPackageNames = _useState14[1];
|
|
47116
|
+
var loadInstalledPackages = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
46943
47117
|
var widgets, names, _iterator, _step, w, folderName, _folderName;
|
|
46944
|
-
return _regeneratorRuntime.wrap(function (
|
|
46945
|
-
while (1) switch (
|
|
47118
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
47119
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
46946
47120
|
case 0:
|
|
46947
|
-
|
|
46948
|
-
|
|
47121
|
+
_context2.prev = 0;
|
|
47122
|
+
_context2.next = 1;
|
|
46949
47123
|
return window.mainApi.widgets.list();
|
|
46950
47124
|
case 1:
|
|
46951
|
-
widgets =
|
|
47125
|
+
widgets = _context2.sent;
|
|
46952
47126
|
names = new Set();
|
|
46953
47127
|
_iterator = _createForOfIteratorHelper$7(widgets);
|
|
46954
47128
|
try {
|
|
@@ -46973,16 +47147,16 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
46973
47147
|
_iterator.f();
|
|
46974
47148
|
}
|
|
46975
47149
|
setInstalledPackageNames(names);
|
|
46976
|
-
|
|
47150
|
+
_context2.next = 3;
|
|
46977
47151
|
break;
|
|
46978
47152
|
case 2:
|
|
46979
|
-
|
|
46980
|
-
|
|
47153
|
+
_context2.prev = 2;
|
|
47154
|
+
_context2["catch"](0);
|
|
46981
47155
|
case 3:
|
|
46982
47156
|
case "end":
|
|
46983
|
-
return
|
|
47157
|
+
return _context2.stop();
|
|
46984
47158
|
}
|
|
46985
|
-
},
|
|
47159
|
+
}, _callee2, null, [[0, 2]]);
|
|
46986
47160
|
})), []);
|
|
46987
47161
|
useEffect(function () {
|
|
46988
47162
|
loadInstalledPackages();
|
|
@@ -47069,9 +47243,9 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
47069
47243
|
var p = _step3.value;
|
|
47070
47244
|
if (!((_p$requiredTools = p.requiredTools) !== null && _p$requiredTools !== void 0 && _p$requiredTools.length) || p.providerClass !== "mcp") return 1; // continue
|
|
47071
47245
|
// Find matching user provider
|
|
47072
|
-
var matchingProviders = Object.entries(providers).filter(function (
|
|
47073
|
-
var
|
|
47074
|
-
prov =
|
|
47246
|
+
var matchingProviders = Object.entries(providers).filter(function (_ref4) {
|
|
47247
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
47248
|
+
prov = _ref5[1];
|
|
47075
47249
|
return prov.type === p.type && prov.providerClass === "mcp" && prov.allowedTools;
|
|
47076
47250
|
});
|
|
47077
47251
|
var _iterator4 = _createForOfIteratorHelper$7(matchingProviders),
|
|
@@ -47212,6 +47386,20 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
47212
47386
|
},
|
|
47213
47387
|
onCancel: clearNeedsAuth,
|
|
47214
47388
|
message: "Sign in to install this widget from the Dash Registry."
|
|
47389
|
+
}), /*#__PURE__*/jsx(RegistryAuthModal, {
|
|
47390
|
+
isOpen: showAuthFromEmpty,
|
|
47391
|
+
setIsOpen: setShowAuthFromEmpty,
|
|
47392
|
+
onAuthenticated: function onAuthenticated() {
|
|
47393
|
+
setShowAuthFromEmpty(false);
|
|
47394
|
+
setRegistryAuthed(true);
|
|
47395
|
+
// Trigger a refresh of the list now that the user can see
|
|
47396
|
+
// their private packages.
|
|
47397
|
+
retry();
|
|
47398
|
+
},
|
|
47399
|
+
onCancel: function onCancel() {
|
|
47400
|
+
return setShowAuthFromEmpty(false);
|
|
47401
|
+
},
|
|
47402
|
+
message: "Sign in to see your private packages and install widgets you've published."
|
|
47215
47403
|
})]
|
|
47216
47404
|
});
|
|
47217
47405
|
}
|
|
@@ -47247,12 +47435,27 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
|
|
|
47247
47435
|
})]
|
|
47248
47436
|
});
|
|
47249
47437
|
} else if (packages.length === 0) {
|
|
47250
|
-
listBody = /*#__PURE__*/
|
|
47251
|
-
className: "px-4 py-8 text-center",
|
|
47252
|
-
children: /*#__PURE__*/jsx(Paragraph, {
|
|
47438
|
+
listBody = /*#__PURE__*/jsxs("div", {
|
|
47439
|
+
className: "px-4 py-8 text-center space-y-3",
|
|
47440
|
+
children: [/*#__PURE__*/jsx(Paragraph, {
|
|
47253
47441
|
className: "text-sm opacity-50",
|
|
47254
47442
|
children: searchQuery ? "No packages match your search." : "No packages available."
|
|
47255
|
-
})
|
|
47443
|
+
}), registryAuthed === false && /*#__PURE__*/jsxs("div", {
|
|
47444
|
+
className: "inline-flex flex-col items-center gap-2 px-4 py-3 rounded-lg bg-amber-900/15 border border-amber-700/30",
|
|
47445
|
+
children: [/*#__PURE__*/jsx(Paragraph, {
|
|
47446
|
+
className: "text-xs text-amber-200",
|
|
47447
|
+
children: "Sign in to the registry to see your private packages."
|
|
47448
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
47449
|
+
title: "Sign in to Registry",
|
|
47450
|
+
bgColor: "bg-indigo-600",
|
|
47451
|
+
hoverBackgroundColor: "hover:bg-indigo-500",
|
|
47452
|
+
textSize: "text-sm",
|
|
47453
|
+
padding: "py-1 px-3",
|
|
47454
|
+
onClick: function onClick() {
|
|
47455
|
+
return setShowAuthFromEmpty(true);
|
|
47456
|
+
}
|
|
47457
|
+
})]
|
|
47458
|
+
})]
|
|
47256
47459
|
});
|
|
47257
47460
|
} else {
|
|
47258
47461
|
listBody = /*#__PURE__*/jsx("div", {
|