@trops/dash-core 0.1.400 → 0.1.402
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 +169 -319
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +127 -286
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -3075,9 +3075,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
3075
3075
|
|
|
3076
3076
|
function ownKeys$T(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3077
3077
|
function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3078
|
-
function _createForOfIteratorHelper$
|
|
3079
|
-
function _unsupportedIterableToArray$
|
|
3080
|
-
function _arrayLikeToArray$
|
|
3078
|
+
function _createForOfIteratorHelper$s(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$s(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; } } }; }
|
|
3079
|
+
function _unsupportedIterableToArray$s(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$s(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$s(r, a) : void 0; } }
|
|
3080
|
+
function _arrayLikeToArray$s(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; }
|
|
3081
3081
|
/**
|
|
3082
3082
|
* Layout template definitions for the dashboard template picker.
|
|
3083
3083
|
*
|
|
@@ -3351,7 +3351,7 @@ function createLayoutFromTemplate(template) {
|
|
|
3351
3351
|
cols: template.cols,
|
|
3352
3352
|
gap: "gap-2"
|
|
3353
3353
|
};
|
|
3354
|
-
var _iterator = _createForOfIteratorHelper$
|
|
3354
|
+
var _iterator = _createForOfIteratorHelper$s(template.cells),
|
|
3355
3355
|
_step;
|
|
3356
3356
|
try {
|
|
3357
3357
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -4282,9 +4282,9 @@ var RegistryAuthModal = function RegistryAuthModal(_ref) {
|
|
|
4282
4282
|
});
|
|
4283
4283
|
};
|
|
4284
4284
|
|
|
4285
|
-
function _createForOfIteratorHelper$
|
|
4286
|
-
function _unsupportedIterableToArray$
|
|
4287
|
-
function _arrayLikeToArray$
|
|
4285
|
+
function _createForOfIteratorHelper$r(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$r(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; } } }; }
|
|
4286
|
+
function _unsupportedIterableToArray$r(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$r(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$r(r, a) : void 0; } }
|
|
4287
|
+
function _arrayLikeToArray$r(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; }
|
|
4288
4288
|
function ownKeys$S(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4289
4289
|
function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4290
4290
|
var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
@@ -4525,7 +4525,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4525
4525
|
toInstall = 0,
|
|
4526
4526
|
unavailable = 0,
|
|
4527
4527
|
hasUnavailableRequired = false;
|
|
4528
|
-
var _iterator = _createForOfIteratorHelper$
|
|
4528
|
+
var _iterator = _createForOfIteratorHelper$r(widgetDeps),
|
|
4529
4529
|
_step;
|
|
4530
4530
|
try {
|
|
4531
4531
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -6300,9 +6300,9 @@ function cleanIpcError(message) {
|
|
|
6300
6300
|
return match ? match[1] : message;
|
|
6301
6301
|
}
|
|
6302
6302
|
|
|
6303
|
-
function _createForOfIteratorHelper$
|
|
6304
|
-
function _unsupportedIterableToArray$
|
|
6305
|
-
function _arrayLikeToArray$
|
|
6303
|
+
function _createForOfIteratorHelper$q(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$q(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; } } }; }
|
|
6304
|
+
function _unsupportedIterableToArray$q(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$q(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$q(r, a) : void 0; } }
|
|
6305
|
+
function _arrayLikeToArray$q(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; }
|
|
6306
6306
|
|
|
6307
6307
|
/**
|
|
6308
6308
|
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
@@ -6416,13 +6416,13 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6416
6416
|
return c.toLowerCase();
|
|
6417
6417
|
}));
|
|
6418
6418
|
widgets = [];
|
|
6419
|
-
_iterator = _createForOfIteratorHelper$
|
|
6419
|
+
_iterator = _createForOfIteratorHelper$q(pkgs);
|
|
6420
6420
|
try {
|
|
6421
6421
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6422
6422
|
pkg = _step.value;
|
|
6423
6423
|
// Compute missing APIs for the entire package
|
|
6424
6424
|
allApiProviders = [];
|
|
6425
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
6425
|
+
_iterator2 = _createForOfIteratorHelper$q(pkg.providers || []);
|
|
6426
6426
|
try {
|
|
6427
6427
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
6428
6428
|
p = _step2.value;
|
|
@@ -6435,11 +6435,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6435
6435
|
} finally {
|
|
6436
6436
|
_iterator2.f();
|
|
6437
6437
|
}
|
|
6438
|
-
_iterator3 = _createForOfIteratorHelper$
|
|
6438
|
+
_iterator3 = _createForOfIteratorHelper$q(pkg.widgets || []);
|
|
6439
6439
|
try {
|
|
6440
6440
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
6441
6441
|
w = _step3.value;
|
|
6442
|
-
_iterator5 = _createForOfIteratorHelper$
|
|
6442
|
+
_iterator5 = _createForOfIteratorHelper$q(w.providers || []);
|
|
6443
6443
|
try {
|
|
6444
6444
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
6445
6445
|
_p = _step5.value;
|
|
@@ -6461,7 +6461,7 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6461
6461
|
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
6462
6462
|
return !capSet.has(api.toLowerCase());
|
|
6463
6463
|
});
|
|
6464
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
6464
|
+
_iterator4 = _createForOfIteratorHelper$q(pkg.widgets || []);
|
|
6465
6465
|
try {
|
|
6466
6466
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
6467
6467
|
widget = _step4.value;
|
|
@@ -7082,9 +7082,9 @@ function applyFilters(items, filters, mode) {
|
|
|
7082
7082
|
});
|
|
7083
7083
|
}
|
|
7084
7084
|
|
|
7085
|
-
function _createForOfIteratorHelper$
|
|
7086
|
-
function _unsupportedIterableToArray$
|
|
7087
|
-
function _arrayLikeToArray$
|
|
7085
|
+
function _createForOfIteratorHelper$p(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$p(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; } } }; }
|
|
7086
|
+
function _unsupportedIterableToArray$p(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$p(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$p(r, a) : void 0; } }
|
|
7087
|
+
function _arrayLikeToArray$p(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; }
|
|
7088
7088
|
function ownKeys$Q(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7089
7089
|
function _objectSpread$Q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Q(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7090
7090
|
var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
@@ -7308,7 +7308,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7308
7308
|
installedNames = new Set(installedList.map(function (w) {
|
|
7309
7309
|
return w.name;
|
|
7310
7310
|
}));
|
|
7311
|
-
_iterator = _createForOfIteratorHelper$
|
|
7311
|
+
_iterator = _createForOfIteratorHelper$p(state.selectedWidgets);
|
|
7312
7312
|
_context2.prev = 13;
|
|
7313
7313
|
_iterator.s();
|
|
7314
7314
|
case 14:
|
|
@@ -13014,9 +13014,9 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
13014
13014
|
};
|
|
13015
13015
|
|
|
13016
13016
|
var _excluded$6 = ["rows", "cols"];
|
|
13017
|
-
function _createForOfIteratorHelper$
|
|
13018
|
-
function _unsupportedIterableToArray$
|
|
13019
|
-
function _arrayLikeToArray$
|
|
13017
|
+
function _createForOfIteratorHelper$o(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$o(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; } } }; }
|
|
13018
|
+
function _unsupportedIterableToArray$o(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$o(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$o(r, a) : void 0; } }
|
|
13019
|
+
function _arrayLikeToArray$o(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; }
|
|
13020
13020
|
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; }
|
|
13021
13021
|
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; }
|
|
13022
13022
|
var defaultGrid = {
|
|
@@ -13169,7 +13169,7 @@ function GridEditor(_ref) {
|
|
|
13169
13169
|
function sortObjectByKeys(obj) {
|
|
13170
13170
|
var sortedKeys = Object.keys(obj).sort();
|
|
13171
13171
|
var sortedObj = {};
|
|
13172
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13172
|
+
var _iterator = _createForOfIteratorHelper$o(sortedKeys),
|
|
13173
13173
|
_step;
|
|
13174
13174
|
try {
|
|
13175
13175
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13642,9 +13642,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13642
13642
|
});
|
|
13643
13643
|
};
|
|
13644
13644
|
|
|
13645
|
-
function _createForOfIteratorHelper$
|
|
13646
|
-
function _unsupportedIterableToArray$
|
|
13647
|
-
function _arrayLikeToArray$
|
|
13645
|
+
function _createForOfIteratorHelper$n(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$n(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; } } }; }
|
|
13646
|
+
function _unsupportedIterableToArray$n(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$n(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$n(r, a) : void 0; } }
|
|
13647
|
+
function _arrayLikeToArray$n(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; }
|
|
13648
13648
|
function ownKeys$L(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13649
13649
|
function _objectSpread$L(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$L(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13650
13650
|
var DAYS = [{
|
|
@@ -13973,7 +13973,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
13973
13973
|
setIsLoading(true);
|
|
13974
13974
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
13975
13975
|
var stateMap = {};
|
|
13976
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13976
|
+
var _iterator = _createForOfIteratorHelper$n(tasks || []),
|
|
13977
13977
|
_step;
|
|
13978
13978
|
try {
|
|
13979
13979
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -16837,9 +16837,9 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
|
|
|
16837
16837
|
});
|
|
16838
16838
|
};
|
|
16839
16839
|
|
|
16840
|
-
function _createForOfIteratorHelper$
|
|
16841
|
-
function _unsupportedIterableToArray$
|
|
16842
|
-
function _arrayLikeToArray$
|
|
16840
|
+
function _createForOfIteratorHelper$m(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$m(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; } } }; }
|
|
16841
|
+
function _unsupportedIterableToArray$m(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$m(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$m(r, a) : void 0; } }
|
|
16842
|
+
function _arrayLikeToArray$m(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; }
|
|
16843
16843
|
function ownKeys$I(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16844
16844
|
function _objectSpread$I(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$I(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$I(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16845
16845
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -17124,11 +17124,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
17124
17124
|
|
|
17125
17125
|
// Flatten all widgets from all packages for the widget list
|
|
17126
17126
|
flatWidgets = [];
|
|
17127
|
-
_iterator = _createForOfIteratorHelper$
|
|
17127
|
+
_iterator = _createForOfIteratorHelper$m(result.packages || []);
|
|
17128
17128
|
try {
|
|
17129
17129
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
17130
17130
|
pkg = _step.value;
|
|
17131
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
17131
|
+
_iterator2 = _createForOfIteratorHelper$m(pkg.widgets || []);
|
|
17132
17132
|
try {
|
|
17133
17133
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
17134
17134
|
widget = _step2.value;
|
|
@@ -18706,69 +18706,6 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
18706
18706
|
});
|
|
18707
18707
|
};
|
|
18708
18708
|
|
|
18709
|
-
/**
|
|
18710
|
-
* ProviderBadge
|
|
18711
|
-
*
|
|
18712
|
-
* Visual indicator of provider status for widgets.
|
|
18713
|
-
* Shows connection status and allows quick access to provider configuration.
|
|
18714
|
-
*/
|
|
18715
|
-
|
|
18716
|
-
var ProviderBadge = function ProviderBadge(_ref) {
|
|
18717
|
-
var providerType = _ref.providerType;
|
|
18718
|
-
_ref.providerId;
|
|
18719
|
-
var providerName = _ref.providerName,
|
|
18720
|
-
_ref$isConfigured = _ref.isConfigured,
|
|
18721
|
-
isConfigured = _ref$isConfigured === void 0 ? false : _ref$isConfigured,
|
|
18722
|
-
_ref$isRequired = _ref.isRequired,
|
|
18723
|
-
isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
|
|
18724
|
-
onClick = _ref.onClick,
|
|
18725
|
-
_ref$className = _ref.className,
|
|
18726
|
-
className = _ref$className === void 0 ? "" : _ref$className;
|
|
18727
|
-
// Status variants
|
|
18728
|
-
var getStatusStyle = function getStatusStyle() {
|
|
18729
|
-
if (isConfigured) {
|
|
18730
|
-
return {
|
|
18731
|
-
bg: "bg-green-50 dark:bg-green-900/20",
|
|
18732
|
-
border: "border-green-300 dark:border-green-700",
|
|
18733
|
-
text: "text-green-700 dark:text-green-400",
|
|
18734
|
-
icon: "✓",
|
|
18735
|
-
label: providerName || "Connected"
|
|
18736
|
-
};
|
|
18737
|
-
}
|
|
18738
|
-
if (isRequired) {
|
|
18739
|
-
return {
|
|
18740
|
-
bg: "bg-yellow-50 dark:bg-yellow-900/20",
|
|
18741
|
-
border: "border-yellow-300 dark:border-yellow-700",
|
|
18742
|
-
text: "text-yellow-700 dark:text-yellow-400",
|
|
18743
|
-
icon: "⚠️",
|
|
18744
|
-
label: "Required"
|
|
18745
|
-
};
|
|
18746
|
-
}
|
|
18747
|
-
return {
|
|
18748
|
-
bg: "bg-gray-50 dark:bg-gray-900/20",
|
|
18749
|
-
border: "border-gray-300 dark:border-gray-700",
|
|
18750
|
-
text: "text-gray-600 dark:text-gray-400",
|
|
18751
|
-
icon: "○",
|
|
18752
|
-
label: "Optional"
|
|
18753
|
-
};
|
|
18754
|
-
};
|
|
18755
|
-
var status = getStatusStyle();
|
|
18756
|
-
return /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
18757
|
-
onClick: onClick,
|
|
18758
|
-
className: "\n inline-flex items-center gap-1.5 px-2 py-1 rounded text-xs font-medium border\n ".concat(status.bg, " ").concat(status.border, " ").concat(status.text, "\n hover:opacity-80 transition-opacity\n ").concat(className, "\n "),
|
|
18759
|
-
title: "".concat(providerType, ": ").concat(status.label),
|
|
18760
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
18761
|
-
children: status.icon
|
|
18762
|
-
}), /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
18763
|
-
className: "capitalize",
|
|
18764
|
-
children: providerType
|
|
18765
|
-
})]
|
|
18766
|
-
});
|
|
18767
|
-
};
|
|
18768
|
-
|
|
18769
|
-
function _createForOfIteratorHelper$m(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$m(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; } } }; }
|
|
18770
|
-
function _unsupportedIterableToArray$m(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$m(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$m(r, a) : void 0; } }
|
|
18771
|
-
function _arrayLikeToArray$m(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; }
|
|
18772
18709
|
var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
18773
18710
|
var item = _ref.item,
|
|
18774
18711
|
widget = _ref.widget,
|
|
@@ -18794,43 +18731,15 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18794
18731
|
isSelectable = _ref$isSelectable === void 0 ? true : _ref$isSelectable,
|
|
18795
18732
|
_ref$onToggleSelect = _ref.onToggleSelect,
|
|
18796
18733
|
onToggleSelect = _ref$onToggleSelect === void 0 ? null : _ref$onToggleSelect;
|
|
18797
|
-
|
|
18734
|
+
// One overflow menu holds both provider pickers AND action items,
|
|
18735
|
+
// so the widget title always gets the full header width regardless
|
|
18736
|
+
// of cell size. Previous design kept provider badges + action
|
|
18737
|
+
// buttons inline (both flex-shrink-0) which cropped the title on
|
|
18738
|
+
// narrow cells and made the config button unreachable.
|
|
18739
|
+
var _useState = React.useState(false),
|
|
18798
18740
|
_useState2 = _slicedToArray(_useState, 2),
|
|
18799
|
-
|
|
18800
|
-
|
|
18801
|
-
var _useState3 = React.useState(false),
|
|
18802
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
18803
|
-
isCompact = _useState4[0],
|
|
18804
|
-
setIsCompact = _useState4[1];
|
|
18805
|
-
var _useState5 = React.useState(false),
|
|
18806
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
18807
|
-
showOverflowMenu = _useState6[0],
|
|
18808
|
-
setShowOverflowMenu = _useState6[1];
|
|
18809
|
-
var headerRef = React.useRef(null);
|
|
18810
|
-
|
|
18811
|
-
// ResizeObserver to detect compact mode
|
|
18812
|
-
React.useEffect(function () {
|
|
18813
|
-
var el = headerRef.current;
|
|
18814
|
-
if (!el) return;
|
|
18815
|
-
var observer = new ResizeObserver(function (entries) {
|
|
18816
|
-
var _iterator = _createForOfIteratorHelper$m(entries),
|
|
18817
|
-
_step;
|
|
18818
|
-
try {
|
|
18819
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
18820
|
-
var entry = _step.value;
|
|
18821
|
-
setIsCompact(entry.contentRect.width < 320);
|
|
18822
|
-
}
|
|
18823
|
-
} catch (err) {
|
|
18824
|
-
_iterator.e(err);
|
|
18825
|
-
} finally {
|
|
18826
|
-
_iterator.f();
|
|
18827
|
-
}
|
|
18828
|
-
});
|
|
18829
|
-
observer.observe(el);
|
|
18830
|
-
return function () {
|
|
18831
|
-
return observer.disconnect();
|
|
18832
|
-
};
|
|
18833
|
-
}, []);
|
|
18741
|
+
showOverflowMenu = _useState2[0],
|
|
18742
|
+
setShowOverflowMenu = _useState2[1];
|
|
18834
18743
|
|
|
18835
18744
|
// Support both 'item' and 'widget' props
|
|
18836
18745
|
var widgetItem = item || widget;
|
|
@@ -18873,16 +18782,6 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18873
18782
|
return selectedProviders[providerType] != null;
|
|
18874
18783
|
};
|
|
18875
18784
|
|
|
18876
|
-
// Get provider name
|
|
18877
|
-
var getProviderName = function getProviderName(providerType) {
|
|
18878
|
-
var providerId = selectedProviders[providerType];
|
|
18879
|
-
if (!providerId) return null;
|
|
18880
|
-
var provider = providers.find(function (p) {
|
|
18881
|
-
return p.id === providerId;
|
|
18882
|
-
});
|
|
18883
|
-
return provider === null || provider === void 0 ? void 0 : provider.name;
|
|
18884
|
-
};
|
|
18885
|
-
|
|
18886
18785
|
// Handle provider selection
|
|
18887
18786
|
var handleProviderSelect = function handleProviderSelect(providerType, providerId) {
|
|
18888
18787
|
if (providerId === "_new") {
|
|
@@ -18892,10 +18791,17 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18892
18791
|
} else {
|
|
18893
18792
|
onProviderChange(providerType, providerId);
|
|
18894
18793
|
}
|
|
18895
|
-
setShowProviderDropdown(null);
|
|
18896
18794
|
};
|
|
18897
18795
|
|
|
18898
|
-
//
|
|
18796
|
+
// True when any required provider lacks a selection — drives the
|
|
18797
|
+
// amber dot on the overflow button so the user can see unresolved
|
|
18798
|
+
// state at a glance without opening the menu.
|
|
18799
|
+
var hasUnresolvedRequiredProvider = providerRequirements.some(function (req) {
|
|
18800
|
+
return req.required && !isProviderConfigured(req.type);
|
|
18801
|
+
});
|
|
18802
|
+
|
|
18803
|
+
// Build overflow actions list — single source of truth for both
|
|
18804
|
+
// the dropdown items and any future quick-access surface.
|
|
18899
18805
|
var overflowActions = [];
|
|
18900
18806
|
if (onConfigure) {
|
|
18901
18807
|
overflowActions.push({
|
|
@@ -18958,7 +18864,6 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18958
18864
|
});
|
|
18959
18865
|
}
|
|
18960
18866
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
18961
|
-
ref: headerRef,
|
|
18962
18867
|
className: "flex items-center gap-3 px-3 py-2.5 bg-transparent border-b border-gray-700 ".concat(isSelected ? "ring-2 ring-blue-500 ring-inset" : ""),
|
|
18963
18868
|
children: [onToggleSelect && /*#__PURE__*/jsxRuntime.jsx("button", {
|
|
18964
18869
|
className: "w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors flex-shrink-0 ".concat(isSelected ? "bg-blue-500 border-blue-500 text-white" : isSelectable ? "bg-gray-800/80 border-blue-400 animate-pulse" : "bg-gray-800/80 border-gray-500 opacity-30 cursor-not-allowed"),
|
|
@@ -18985,151 +18890,82 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18985
18890
|
children: "(not found)"
|
|
18986
18891
|
})]
|
|
18987
18892
|
})]
|
|
18988
|
-
}), providerRequirements.length > 0 && /*#__PURE__*/jsxRuntime.
|
|
18989
|
-
className: "
|
|
18990
|
-
children:
|
|
18991
|
-
|
|
18992
|
-
|
|
18993
|
-
var providerName = getProviderName(providerType);
|
|
18994
|
-
var availableProviders = getProvidersForType(providerType);
|
|
18995
|
-
var selectedProviderId = selectedProviders[providerType];
|
|
18996
|
-
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
18997
|
-
className: "relative",
|
|
18998
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(ProviderBadge, {
|
|
18999
|
-
providerType: providerType,
|
|
19000
|
-
providerId: selectedProviderId,
|
|
19001
|
-
providerName: providerName,
|
|
19002
|
-
isConfigured: isConfigured,
|
|
19003
|
-
isRequired: providerReq.required,
|
|
19004
|
-
onClick: function onClick() {
|
|
19005
|
-
setShowOverflowMenu(false);
|
|
19006
|
-
setShowProviderDropdown(showProviderDropdown === providerType ? null : providerType);
|
|
19007
|
-
}
|
|
19008
|
-
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.DropdownPanel, {
|
|
19009
|
-
isOpen: showProviderDropdown === providerType,
|
|
19010
|
-
onClose: function onClose() {
|
|
19011
|
-
return setShowProviderDropdown(null);
|
|
19012
|
-
},
|
|
19013
|
-
position: "absolute top-full right-0 mt-1",
|
|
19014
|
-
portal: true,
|
|
19015
|
-
direction: "right",
|
|
19016
|
-
children: [availableProviders.length > 0 ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
19017
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs(DashReact.DropdownPanel.Header, {
|
|
19018
|
-
children: ["Select ", providerType]
|
|
19019
|
-
}), availableProviders.map(function (provider) {
|
|
19020
|
-
var isSelected = provider.id === selectedProviderId;
|
|
19021
|
-
return /*#__PURE__*/jsxRuntime.jsx(DashReact.MenuItem2, {
|
|
19022
|
-
onClick: function onClick() {
|
|
19023
|
-
return handleProviderSelect(providerType, provider.id);
|
|
19024
|
-
},
|
|
19025
|
-
selected: isSelected,
|
|
19026
|
-
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19027
|
-
className: "flex items-center gap-2 w-full",
|
|
19028
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
19029
|
-
className: "w-4 text-center text-xs flex-shrink-0 ".concat(isSelected ? "text-green-400" : "opacity-0"),
|
|
19030
|
-
children: "\u2713"
|
|
19031
|
-
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19032
|
-
className: "flex-1 min-w-0",
|
|
19033
|
-
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
19034
|
-
className: "font-medium",
|
|
19035
|
-
children: provider.name
|
|
19036
|
-
}), provider.description && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
19037
|
-
className: "text-xs opacity-60 mt-0.5",
|
|
19038
|
-
children: provider.description
|
|
19039
|
-
})]
|
|
19040
|
-
})]
|
|
19041
|
-
})
|
|
19042
|
-
}, provider.id);
|
|
19043
|
-
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.DropdownPanel.Divider, {})]
|
|
19044
|
-
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
19045
|
-
className: "px-3 py-2 text-xs opacity-50 italic",
|
|
19046
|
-
children: ["No ", providerType, " providers configured"]
|
|
19047
|
-
}), !providerReq.required && /*#__PURE__*/jsxRuntime.jsx(DashReact.MenuItem2, {
|
|
19048
|
-
onClick: function onClick() {
|
|
19049
|
-
handleProviderSelect(providerType, "_unset");
|
|
19050
|
-
},
|
|
19051
|
-
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
19052
|
-
className: "text-gray-400",
|
|
19053
|
-
children: ["\xD7 Unset ", providerType]
|
|
19054
|
-
})
|
|
19055
|
-
}), /*#__PURE__*/jsxRuntime.jsx(DashReact.MenuItem2, {
|
|
19056
|
-
onClick: function onClick() {
|
|
19057
|
-
handleProviderSelect(providerType, "_new");
|
|
19058
|
-
},
|
|
19059
|
-
children: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
19060
|
-
className: "text-blue-400",
|
|
19061
|
-
children: ["+ Create New ", providerType]
|
|
19062
|
-
})
|
|
19063
|
-
})]
|
|
19064
|
-
})]
|
|
19065
|
-
}, providerType);
|
|
19066
|
-
})
|
|
19067
|
-
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
19068
|
-
className: "flex items-center gap-0.5 flex-shrink-0",
|
|
19069
|
-
children: !isCompact ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
19070
|
-
children: [onConfigure && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19071
|
-
icon: "cog",
|
|
19072
|
-
onClick: function onClick() {
|
|
19073
|
-
return onConfigure(widgetItem);
|
|
19074
|
-
},
|
|
19075
|
-
title: "Configure widget",
|
|
19076
|
-
theme: false
|
|
19077
|
-
}), onEditWithAI && widgetItem && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19078
|
-
icon: "wand-magic-sparkles",
|
|
19079
|
-
onClick: function onClick() {
|
|
19080
|
-
return onEditWithAI(widgetItem);
|
|
19081
|
-
},
|
|
19082
|
-
title: "Edit with AI",
|
|
19083
|
-
theme: false
|
|
19084
|
-
}), onSplitHorizontal && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19085
|
-
icon: "arrows-left-right",
|
|
19086
|
-
onClick: function onClick(e) {
|
|
19087
|
-
e.stopPropagation();
|
|
19088
|
-
onSplitHorizontal();
|
|
19089
|
-
},
|
|
19090
|
-
title: "Split horizontally (left/right)",
|
|
19091
|
-
theme: false
|
|
19092
|
-
}), onSplitVertical && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19093
|
-
icon: "arrows-up-down",
|
|
19094
|
-
onClick: function onClick(e) {
|
|
19095
|
-
e.stopPropagation();
|
|
19096
|
-
onSplitVertical();
|
|
19097
|
-
},
|
|
19098
|
-
title: "Split vertically (top/bottom)",
|
|
19099
|
-
theme: false
|
|
19100
|
-
}), handleDelete && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19101
|
-
icon: "trash",
|
|
19102
|
-
onClick: function onClick() {
|
|
19103
|
-
return handleDelete(widgetItem);
|
|
19104
|
-
},
|
|
19105
|
-
title: "Remove widget",
|
|
19106
|
-
theme: false
|
|
19107
|
-
}), onMoreOptions && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
18893
|
+
}), (providerRequirements.length > 0 || overflowActions.length > 0 || onMoreOptions) && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
18894
|
+
className: "relative flex-shrink-0",
|
|
18895
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
18896
|
+
className: "relative inline-flex",
|
|
18897
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon2, {
|
|
19108
18898
|
icon: "ellipsis-vertical",
|
|
19109
18899
|
onClick: function onClick() {
|
|
19110
|
-
return
|
|
18900
|
+
return setShowOverflowMenu(function (v) {
|
|
18901
|
+
return !v;
|
|
18902
|
+
});
|
|
19111
18903
|
},
|
|
19112
|
-
title: "
|
|
18904
|
+
title: "Providers & actions",
|
|
19113
18905
|
theme: false
|
|
18906
|
+
}), hasUnresolvedRequiredProvider && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
18907
|
+
className: "absolute top-1 right-1 h-2 w-2 rounded-full bg-amber-400 border border-black pointer-events-none",
|
|
18908
|
+
title: "Required provider not set"
|
|
19114
18909
|
})]
|
|
19115
|
-
})
|
|
19116
|
-
|
|
19117
|
-
|
|
19118
|
-
|
|
19119
|
-
|
|
19120
|
-
|
|
19121
|
-
|
|
19122
|
-
|
|
19123
|
-
|
|
19124
|
-
|
|
19125
|
-
|
|
19126
|
-
|
|
19127
|
-
|
|
19128
|
-
|
|
19129
|
-
|
|
19130
|
-
|
|
19131
|
-
|
|
19132
|
-
|
|
18910
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(DashReact.DropdownPanel, {
|
|
18911
|
+
isOpen: showOverflowMenu,
|
|
18912
|
+
onClose: function onClose() {
|
|
18913
|
+
return setShowOverflowMenu(false);
|
|
18914
|
+
},
|
|
18915
|
+
position: "absolute top-full right-0 mt-1",
|
|
18916
|
+
portal: true,
|
|
18917
|
+
align: "right",
|
|
18918
|
+
children: [providerRequirements.length > 0 && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
18919
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.DropdownPanel.Header, {
|
|
18920
|
+
children: "Providers"
|
|
18921
|
+
}), providerRequirements.map(function (providerReq) {
|
|
18922
|
+
var providerType = providerReq.type;
|
|
18923
|
+
var availableProviders = getProvidersForType(providerType);
|
|
18924
|
+
var selectedProviderId = selectedProviders[providerType] || "";
|
|
18925
|
+
var isConfigured = isProviderConfigured(providerType);
|
|
18926
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
18927
|
+
className: "px-3 py-2 text-xs",
|
|
18928
|
+
onClick: function onClick(e) {
|
|
18929
|
+
return e.stopPropagation();
|
|
18930
|
+
},
|
|
18931
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
18932
|
+
className: "flex items-center gap-2 mb-1",
|
|
18933
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("span", {
|
|
18934
|
+
className: "font-medium text-gray-200",
|
|
18935
|
+
children: providerType
|
|
18936
|
+
}), providerReq.required && !isConfigured && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
18937
|
+
className: "text-[10px] text-amber-300 uppercase tracking-wide",
|
|
18938
|
+
children: "required"
|
|
18939
|
+
})]
|
|
18940
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("select", {
|
|
18941
|
+
value: selectedProviderId,
|
|
18942
|
+
onChange: function onChange(e) {
|
|
18943
|
+
var v = e.target.value;
|
|
18944
|
+
if (v === "_new") {
|
|
18945
|
+
handleProviderSelect(providerType, "_new");
|
|
18946
|
+
} else if (v === "") {
|
|
18947
|
+
handleProviderSelect(providerType, "_unset");
|
|
18948
|
+
} else {
|
|
18949
|
+
handleProviderSelect(providerType, v);
|
|
18950
|
+
}
|
|
18951
|
+
},
|
|
18952
|
+
className: "w-full bg-gray-800 border border-gray-700 text-gray-100 text-xs rounded px-2 py-1",
|
|
18953
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("option", {
|
|
18954
|
+
value: "",
|
|
18955
|
+
children: providerReq.required ? "— select provider —" : "— none —"
|
|
18956
|
+
}), availableProviders.map(function (provider) {
|
|
18957
|
+
return /*#__PURE__*/jsxRuntime.jsx("option", {
|
|
18958
|
+
value: provider.id,
|
|
18959
|
+
children: provider.name
|
|
18960
|
+
}, provider.id);
|
|
18961
|
+
}), /*#__PURE__*/jsxRuntime.jsx("option", {
|
|
18962
|
+
value: "_new",
|
|
18963
|
+
children: "+ Create new\u2026"
|
|
18964
|
+
})]
|
|
18965
|
+
})]
|
|
18966
|
+
}, providerType);
|
|
18967
|
+
}), overflowActions.length > 0 && /*#__PURE__*/jsxRuntime.jsx(DashReact.DropdownPanel.Divider, {})]
|
|
18968
|
+
}), overflowActions.length > 0 && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
19133
18969
|
children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.DropdownPanel.Header, {
|
|
19134
18970
|
children: "Actions"
|
|
19135
18971
|
}), overflowActions.map(function (action) {
|
|
@@ -19144,7 +18980,7 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
19144
18980
|
}, action.label);
|
|
19145
18981
|
})]
|
|
19146
18982
|
})]
|
|
19147
|
-
})
|
|
18983
|
+
})]
|
|
19148
18984
|
})]
|
|
19149
18985
|
});
|
|
19150
18986
|
};
|
|
@@ -25735,6 +25571,11 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
|
|
|
25735
25571
|
widgetComponentName: cellComponent.component,
|
|
25736
25572
|
widgetId: cellComponent.id,
|
|
25737
25573
|
selectedProviders: cellComponent.selectedProviders || null,
|
|
25574
|
+
// Pass the live widget's userPrefs so the
|
|
25575
|
+
// preview renders the same configured state
|
|
25576
|
+
// the user sees on the dashboard (titles,
|
|
25577
|
+
// defaults, etc.) instead of blank values.
|
|
25578
|
+
userPrefs: cellComponent.userPrefs || null,
|
|
25738
25579
|
sourcePackage: ((_ComponentManager$con = ComponentManager.config(cellComponent.component, cellComponent)) === null || _ComponentManager$con === void 0 ? void 0 : _ComponentManager$con._sourcePackage) || null
|
|
25739
25580
|
}
|
|
25740
25581
|
}));
|