@trops/dash-core 0.1.401 → 0.1.403
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 +338 -407
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +337 -405
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -2,7 +2,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
2
2
|
import _typeof from '@babel/runtime/helpers/typeof';
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
4
|
import * as DashReact from '@trops/dash-react';
|
|
5
|
-
import { isObject, ThemeContext, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, FontAwesomeIcon, Tag, Modal, Paragraph, Sidebar, Panel, Stepper, Tag2, Tag3, Card2, Card3, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorInline, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, DropdownPanel, MenuItem2,
|
|
5
|
+
import { isObject, ThemeContext, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, FontAwesomeIcon, Tag, Modal, Paragraph, Sidebar, Panel, Stepper, Tag2, Tag3, Card2, Card3, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorInline, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, ButtonIcon2, DropdownPanel, MenuItem2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, Button2, Button3, MenuItem, ButtonIcon3, DashPanel, colorNames, shades, themeVariants, Tabs3, DataList, Checkbox, StatCard, Card, Tabs, Accordion, Alert, Toast, ProgressBar, Toggle, Breadcrumbs, Tabs2, Accordion2, Alert2, Toast2, ProgressBar2, Toggle2, Breadcrumbs2, Accordion3, Alert3, Toast3, ProgressBar3, Toggle3, Breadcrumbs3, ThemeFromUrlPane, TextArea, Icon2, AlgoliaSearchBox, CommandPalette, useSidebar, EmptyState, Navbar, withRouter, Menu as Menu$1 } from '@trops/dash-react';
|
|
6
6
|
export * from '@trops/dash-react';
|
|
7
7
|
export { ThemeContext } from '@trops/dash-react';
|
|
8
8
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
@@ -32,8 +32,8 @@ import { InstantSearch, Hits } from 'react-instantsearch-hooks-web';
|
|
|
32
32
|
import { Link } from 'react-router-dom';
|
|
33
33
|
import { marked } from 'marked';
|
|
34
34
|
|
|
35
|
-
function ownKeys$
|
|
36
|
-
function _objectSpread$
|
|
35
|
+
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; }
|
|
36
|
+
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; }
|
|
37
37
|
var event = {
|
|
38
38
|
list: new Map(),
|
|
39
39
|
// Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
|
|
@@ -95,7 +95,7 @@ var event = {
|
|
|
95
95
|
uuid: subscriber["uuid"]
|
|
96
96
|
};
|
|
97
97
|
if ("action" in subscriber && subscriber.action !== undefined) {
|
|
98
|
-
subscriber["action"](_objectSpread$
|
|
98
|
+
subscriber["action"](_objectSpread$X({}, objectToSend));
|
|
99
99
|
}
|
|
100
100
|
});
|
|
101
101
|
}
|
|
@@ -2873,8 +2873,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
|
|
|
2873
2873
|
});
|
|
2874
2874
|
};
|
|
2875
2875
|
|
|
2876
|
-
function ownKeys$
|
|
2877
|
-
function _objectSpread$
|
|
2876
|
+
function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2877
|
+
function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2878
2878
|
function ThemeBroadcast(_ref) {
|
|
2879
2879
|
var ctx = _ref.ctx;
|
|
2880
2880
|
useEffect(function () {
|
|
@@ -2907,7 +2907,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
|
|
|
2907
2907
|
var dashboardTheme = themes[themeKey];
|
|
2908
2908
|
var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
|
|
2909
2909
|
if (!themeValue) return null;
|
|
2910
|
-
return _objectSpread$
|
|
2910
|
+
return _objectSpread$W(_objectSpread$W({}, parentContext), {}, {
|
|
2911
2911
|
currentTheme: themeValue,
|
|
2912
2912
|
currentThemeKey: themeKey,
|
|
2913
2913
|
theme: themeValue,
|
|
@@ -2934,8 +2934,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
|
|
|
2934
2934
|
});
|
|
2935
2935
|
};
|
|
2936
2936
|
|
|
2937
|
-
function ownKeys$
|
|
2938
|
-
function _objectSpread$
|
|
2937
|
+
function ownKeys$V(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2938
|
+
function _objectSpread$V(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$V(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2939
2939
|
var AppThemeScope = function AppThemeScope(_ref) {
|
|
2940
2940
|
var children = _ref.children;
|
|
2941
2941
|
var ctx = useContext(ThemeContext);
|
|
@@ -2943,7 +2943,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
|
|
|
2943
2943
|
children: children
|
|
2944
2944
|
});
|
|
2945
2945
|
return /*#__PURE__*/jsx(ThemeContext.Provider, {
|
|
2946
|
-
value: _objectSpread$
|
|
2946
|
+
value: _objectSpread$V(_objectSpread$V({}, ctx), {}, {
|
|
2947
2947
|
currentTheme: ctx.appTheme,
|
|
2948
2948
|
currentThemeKey: ctx.appThemeKey,
|
|
2949
2949
|
theme: ctx.appTheme,
|
|
@@ -3055,11 +3055,11 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
3055
3055
|
});
|
|
3056
3056
|
};
|
|
3057
3057
|
|
|
3058
|
-
function ownKeys$
|
|
3059
|
-
function _objectSpread$
|
|
3060
|
-
function _createForOfIteratorHelper$
|
|
3061
|
-
function _unsupportedIterableToArray$
|
|
3062
|
-
function _arrayLikeToArray$
|
|
3058
|
+
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; }
|
|
3059
|
+
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; }
|
|
3060
|
+
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; } } }; }
|
|
3061
|
+
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; } }
|
|
3062
|
+
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; }
|
|
3063
3063
|
/**
|
|
3064
3064
|
* Layout template definitions for the dashboard template picker.
|
|
3065
3065
|
*
|
|
@@ -3333,12 +3333,12 @@ function createLayoutFromTemplate(template) {
|
|
|
3333
3333
|
cols: template.cols,
|
|
3334
3334
|
gap: "gap-2"
|
|
3335
3335
|
};
|
|
3336
|
-
var _iterator = _createForOfIteratorHelper$
|
|
3336
|
+
var _iterator = _createForOfIteratorHelper$s(template.cells),
|
|
3337
3337
|
_step;
|
|
3338
3338
|
try {
|
|
3339
3339
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3340
3340
|
var cell = _step.value;
|
|
3341
|
-
grid[cell.key] = _objectSpread$
|
|
3341
|
+
grid[cell.key] = _objectSpread$U({
|
|
3342
3342
|
component: null,
|
|
3343
3343
|
hide: cell.hide || false
|
|
3344
3344
|
}, cell.span ? {
|
|
@@ -4264,11 +4264,11 @@ var RegistryAuthModal = function RegistryAuthModal(_ref) {
|
|
|
4264
4264
|
});
|
|
4265
4265
|
};
|
|
4266
4266
|
|
|
4267
|
-
function _createForOfIteratorHelper$
|
|
4268
|
-
function _unsupportedIterableToArray$
|
|
4269
|
-
function _arrayLikeToArray$
|
|
4270
|
-
function ownKeys$
|
|
4271
|
-
function _objectSpread$
|
|
4267
|
+
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; } } }; }
|
|
4268
|
+
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; } }
|
|
4269
|
+
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; }
|
|
4270
|
+
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; }
|
|
4271
|
+
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; }
|
|
4272
4272
|
var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
4273
4273
|
var dashboardPackage = _ref.dashboardPackage,
|
|
4274
4274
|
appId = _ref.appId,
|
|
@@ -4384,7 +4384,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4384
4384
|
setProgressWidgets(function (prev) {
|
|
4385
4385
|
var next = _toConsumableArray(prev);
|
|
4386
4386
|
if (data.index >= 0 && data.index < next.length) {
|
|
4387
|
-
next[data.index] = _objectSpread$
|
|
4387
|
+
next[data.index] = _objectSpread$T(_objectSpread$T({}, next[data.index]), {}, {
|
|
4388
4388
|
status: data.status,
|
|
4389
4389
|
error: data.error || null
|
|
4390
4390
|
});
|
|
@@ -4480,7 +4480,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4480
4480
|
var raw = preview === null || preview === void 0 ? void 0 : preview.compatibility;
|
|
4481
4481
|
if (!raw) return raw;
|
|
4482
4482
|
var cMap = ComponentManager.componentMap();
|
|
4483
|
-
var augWidgets = _objectSpread$
|
|
4483
|
+
var augWidgets = _objectSpread$T({}, raw.widgets);
|
|
4484
4484
|
var fixedCount = 0;
|
|
4485
4485
|
var _loop = function _loop() {
|
|
4486
4486
|
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
@@ -4507,7 +4507,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
|
|
|
4507
4507
|
toInstall = 0,
|
|
4508
4508
|
unavailable = 0,
|
|
4509
4509
|
hasUnavailableRequired = false;
|
|
4510
|
-
var _iterator = _createForOfIteratorHelper$
|
|
4510
|
+
var _iterator = _createForOfIteratorHelper$r(widgetDeps),
|
|
4511
4511
|
_step;
|
|
4512
4512
|
try {
|
|
4513
4513
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -5063,8 +5063,8 @@ var DiscoverDashboardsDetail = function DiscoverDashboardsDetail(_ref) {
|
|
|
5063
5063
|
});
|
|
5064
5064
|
};
|
|
5065
5065
|
|
|
5066
|
-
function ownKeys$
|
|
5067
|
-
function _objectSpread$
|
|
5066
|
+
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; }
|
|
5067
|
+
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; }
|
|
5068
5068
|
var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
5069
5069
|
var open = _ref.open,
|
|
5070
5070
|
setIsOpen = _ref.setIsOpen,
|
|
@@ -5309,7 +5309,7 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
|
5309
5309
|
}
|
|
5310
5310
|
return _context2.abrupt("return");
|
|
5311
5311
|
case 6:
|
|
5312
|
-
updatedWorkspace = _objectSpread$
|
|
5312
|
+
updatedWorkspace = _objectSpread$S(_objectSpread$S({}, importedWorkspace), {}, {
|
|
5313
5313
|
name: dashboardName.trim(),
|
|
5314
5314
|
menuId: menuId,
|
|
5315
5315
|
themeKey: selectedThemeKey
|
|
@@ -6282,9 +6282,9 @@ function cleanIpcError(message) {
|
|
|
6282
6282
|
return match ? match[1] : message;
|
|
6283
6283
|
}
|
|
6284
6284
|
|
|
6285
|
-
function _createForOfIteratorHelper$
|
|
6286
|
-
function _unsupportedIterableToArray$
|
|
6287
|
-
function _arrayLikeToArray$
|
|
6285
|
+
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; } } }; }
|
|
6286
|
+
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; } }
|
|
6287
|
+
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; }
|
|
6288
6288
|
|
|
6289
6289
|
/**
|
|
6290
6290
|
* useRegistrySearch — shared hook for browsing and installing registry packages.
|
|
@@ -6398,13 +6398,13 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6398
6398
|
return c.toLowerCase();
|
|
6399
6399
|
}));
|
|
6400
6400
|
widgets = [];
|
|
6401
|
-
_iterator = _createForOfIteratorHelper$
|
|
6401
|
+
_iterator = _createForOfIteratorHelper$q(pkgs);
|
|
6402
6402
|
try {
|
|
6403
6403
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
6404
6404
|
pkg = _step.value;
|
|
6405
6405
|
// Compute missing APIs for the entire package
|
|
6406
6406
|
allApiProviders = [];
|
|
6407
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
6407
|
+
_iterator2 = _createForOfIteratorHelper$q(pkg.providers || []);
|
|
6408
6408
|
try {
|
|
6409
6409
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
6410
6410
|
p = _step2.value;
|
|
@@ -6417,11 +6417,11 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6417
6417
|
} finally {
|
|
6418
6418
|
_iterator2.f();
|
|
6419
6419
|
}
|
|
6420
|
-
_iterator3 = _createForOfIteratorHelper$
|
|
6420
|
+
_iterator3 = _createForOfIteratorHelper$q(pkg.widgets || []);
|
|
6421
6421
|
try {
|
|
6422
6422
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
6423
6423
|
w = _step3.value;
|
|
6424
|
-
_iterator5 = _createForOfIteratorHelper$
|
|
6424
|
+
_iterator5 = _createForOfIteratorHelper$q(w.providers || []);
|
|
6425
6425
|
try {
|
|
6426
6426
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
6427
6427
|
_p = _step5.value;
|
|
@@ -6443,7 +6443,7 @@ var useRegistrySearch = function useRegistrySearch() {
|
|
|
6443
6443
|
missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
|
|
6444
6444
|
return !capSet.has(api.toLowerCase());
|
|
6445
6445
|
});
|
|
6446
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
6446
|
+
_iterator4 = _createForOfIteratorHelper$q(pkg.widgets || []);
|
|
6447
6447
|
try {
|
|
6448
6448
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
6449
6449
|
widget = _step4.value;
|
|
@@ -7064,11 +7064,11 @@ function applyFilters(items, filters, mode) {
|
|
|
7064
7064
|
});
|
|
7065
7065
|
}
|
|
7066
7066
|
|
|
7067
|
-
function _createForOfIteratorHelper$
|
|
7068
|
-
function _unsupportedIterableToArray$
|
|
7069
|
-
function _arrayLikeToArray$
|
|
7070
|
-
function ownKeys$
|
|
7071
|
-
function _objectSpread$
|
|
7067
|
+
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; } } }; }
|
|
7068
|
+
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; } }
|
|
7069
|
+
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; }
|
|
7070
|
+
function ownKeys$R(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7071
|
+
function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7072
7072
|
var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
7073
7073
|
var _state$selectedDashbo, _state$selectedDashbo2;
|
|
7074
7074
|
var state = _ref.state,
|
|
@@ -7238,7 +7238,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7238
7238
|
_context2.next = 7;
|
|
7239
7239
|
break;
|
|
7240
7240
|
}
|
|
7241
|
-
updatedWorkspace = _objectSpread$
|
|
7241
|
+
updatedWorkspace = _objectSpread$R(_objectSpread$R({}, installResult.workspace), {}, {
|
|
7242
7242
|
name: name.trim(),
|
|
7243
7243
|
menuId: menuId || 1,
|
|
7244
7244
|
themeKey: theme
|
|
@@ -7290,7 +7290,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7290
7290
|
installedNames = new Set(installedList.map(function (w) {
|
|
7291
7291
|
return w.name;
|
|
7292
7292
|
}));
|
|
7293
|
-
_iterator = _createForOfIteratorHelper$
|
|
7293
|
+
_iterator = _createForOfIteratorHelper$p(state.selectedWidgets);
|
|
7294
7294
|
_context2.prev = 13;
|
|
7295
7295
|
_iterator.s();
|
|
7296
7296
|
case 14:
|
|
@@ -7993,8 +7993,8 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
|
7993
7993
|
});
|
|
7994
7994
|
};
|
|
7995
7995
|
|
|
7996
|
-
function ownKeys$
|
|
7997
|
-
function _objectSpread$
|
|
7996
|
+
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; }
|
|
7997
|
+
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; }
|
|
7998
7998
|
var TOTAL_STEPS = 2; // Steps 0-1: Discover, Customize
|
|
7999
7999
|
|
|
8000
8000
|
var initialState = {
|
|
@@ -8020,20 +8020,20 @@ var initialState = {
|
|
|
8020
8020
|
function wizardReducer(state, action) {
|
|
8021
8021
|
switch (action.type) {
|
|
8022
8022
|
case "SET_STEP":
|
|
8023
|
-
return _objectSpread$
|
|
8023
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8024
8024
|
step: action.payload
|
|
8025
8025
|
});
|
|
8026
8026
|
case "SET_FILTERS":
|
|
8027
|
-
return _objectSpread$
|
|
8028
|
-
filters: _objectSpread$
|
|
8027
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8028
|
+
filters: _objectSpread$Q(_objectSpread$Q({}, state.filters), action.payload)
|
|
8029
8029
|
});
|
|
8030
8030
|
case "TOGGLE_FILTER_CATEGORY":
|
|
8031
8031
|
{
|
|
8032
8032
|
var categories = state.filters.categories.includes(action.payload) ? state.filters.categories.filter(function (c) {
|
|
8033
8033
|
return c !== action.payload;
|
|
8034
8034
|
}) : [].concat(_toConsumableArray(state.filters.categories), [action.payload]);
|
|
8035
|
-
return _objectSpread$
|
|
8036
|
-
filters: _objectSpread$
|
|
8035
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8036
|
+
filters: _objectSpread$Q(_objectSpread$Q({}, state.filters), {}, {
|
|
8037
8037
|
categories: categories
|
|
8038
8038
|
})
|
|
8039
8039
|
});
|
|
@@ -8043,15 +8043,15 @@ function wizardReducer(state, action) {
|
|
|
8043
8043
|
var providers = state.filters.providers.includes(action.payload) ? state.filters.providers.filter(function (p) {
|
|
8044
8044
|
return p !== action.payload;
|
|
8045
8045
|
}) : [].concat(_toConsumableArray(state.filters.providers), [action.payload]);
|
|
8046
|
-
return _objectSpread$
|
|
8047
|
-
filters: _objectSpread$
|
|
8046
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8047
|
+
filters: _objectSpread$Q(_objectSpread$Q({}, state.filters), {}, {
|
|
8048
8048
|
providers: providers
|
|
8049
8049
|
})
|
|
8050
8050
|
});
|
|
8051
8051
|
}
|
|
8052
8052
|
case "SET_SEARCH_QUERY":
|
|
8053
|
-
return _objectSpread$
|
|
8054
|
-
filters: _objectSpread$
|
|
8053
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8054
|
+
filters: _objectSpread$Q(_objectSpread$Q({}, state.filters), {}, {
|
|
8055
8055
|
query: action.payload
|
|
8056
8056
|
})
|
|
8057
8057
|
});
|
|
@@ -8061,7 +8061,7 @@ function wizardReducer(state, action) {
|
|
|
8061
8061
|
var widgetOrder = action.payload.map(function (w) {
|
|
8062
8062
|
return w.name || w.key;
|
|
8063
8063
|
});
|
|
8064
|
-
return _objectSpread$
|
|
8064
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8065
8065
|
selectedWidgets: action.payload,
|
|
8066
8066
|
layout: {
|
|
8067
8067
|
templateKey: templateKey,
|
|
@@ -8081,7 +8081,7 @@ function wizardReducer(state, action) {
|
|
|
8081
8081
|
var toggleWidgetOrder = selectedWidgets.map(function (w) {
|
|
8082
8082
|
return w.name || w.key;
|
|
8083
8083
|
});
|
|
8084
|
-
return _objectSpread$
|
|
8084
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8085
8085
|
selectedWidgets: selectedWidgets,
|
|
8086
8086
|
layout: {
|
|
8087
8087
|
templateKey: toggleTemplateKey,
|
|
@@ -8090,29 +8090,29 @@ function wizardReducer(state, action) {
|
|
|
8090
8090
|
});
|
|
8091
8091
|
}
|
|
8092
8092
|
case "SET_SELECTED_DASHBOARD":
|
|
8093
|
-
return _objectSpread$
|
|
8093
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8094
8094
|
selectedDashboard: action.payload
|
|
8095
8095
|
});
|
|
8096
8096
|
case "SET_PATH":
|
|
8097
|
-
return _objectSpread$
|
|
8097
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8098
8098
|
path: action.payload
|
|
8099
8099
|
});
|
|
8100
8100
|
case "SET_LAYOUT":
|
|
8101
|
-
return _objectSpread$
|
|
8101
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8102
8102
|
layout: action.payload
|
|
8103
8103
|
});
|
|
8104
8104
|
case "REORDER_WIDGETS":
|
|
8105
|
-
return _objectSpread$
|
|
8106
|
-
layout: _objectSpread$
|
|
8105
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8106
|
+
layout: _objectSpread$Q(_objectSpread$Q({}, state.layout), {}, {
|
|
8107
8107
|
widgetOrder: action.payload
|
|
8108
8108
|
})
|
|
8109
8109
|
});
|
|
8110
8110
|
case "SET_CUSTOMIZATION":
|
|
8111
|
-
return _objectSpread$
|
|
8112
|
-
customization: _objectSpread$
|
|
8111
|
+
return _objectSpread$Q(_objectSpread$Q({}, state), {}, {
|
|
8112
|
+
customization: _objectSpread$Q(_objectSpread$Q({}, state.customization), action.payload)
|
|
8113
8113
|
});
|
|
8114
8114
|
case "RESET":
|
|
8115
|
-
return _objectSpread$
|
|
8115
|
+
return _objectSpread$Q({}, initialState);
|
|
8116
8116
|
default:
|
|
8117
8117
|
return state;
|
|
8118
8118
|
}
|
|
@@ -12764,8 +12764,8 @@ var deepEqual = function deepEqual(a, b, opts) {
|
|
|
12764
12764
|
|
|
12765
12765
|
var deepEqual$1 = /*@__PURE__*/getDefaultExportFromCjs(deepEqual);
|
|
12766
12766
|
|
|
12767
|
-
function ownKeys$
|
|
12768
|
-
function _objectSpread$
|
|
12767
|
+
function ownKeys$P(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12768
|
+
function _objectSpread$P(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$P(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$P(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12769
12769
|
var PanelEditItem = function PanelEditItem(_ref) {
|
|
12770
12770
|
var _ComponentManager$get;
|
|
12771
12771
|
var workspace = _ref.workspace,
|
|
@@ -12825,7 +12825,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12825
12825
|
var uuid = newItem.uuid || newItem.uuidString;
|
|
12826
12826
|
if (uuid) {
|
|
12827
12827
|
workspaceTemp.selectedProviders = workspaceTemp.selectedProviders || {};
|
|
12828
|
-
workspaceTemp.selectedProviders[uuid] = _objectSpread$
|
|
12828
|
+
workspaceTemp.selectedProviders[uuid] = _objectSpread$P(_objectSpread$P({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
|
|
12829
12829
|
}
|
|
12830
12830
|
onUpdate(newItem, workspaceTemp);
|
|
12831
12831
|
forceUpdate();
|
|
@@ -12954,7 +12954,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12954
12954
|
var _ref5 = _slicedToArray(_ref4, 2),
|
|
12955
12955
|
name = _ref5[0],
|
|
12956
12956
|
p = _ref5[1];
|
|
12957
|
-
return _objectSpread$
|
|
12957
|
+
return _objectSpread$P({
|
|
12958
12958
|
name: name
|
|
12959
12959
|
}, p);
|
|
12960
12960
|
});
|
|
@@ -12996,11 +12996,11 @@ var PanelEditItem = function PanelEditItem(_ref) {
|
|
|
12996
12996
|
};
|
|
12997
12997
|
|
|
12998
12998
|
var _excluded$6 = ["rows", "cols"];
|
|
12999
|
-
function _createForOfIteratorHelper$
|
|
13000
|
-
function _unsupportedIterableToArray$
|
|
13001
|
-
function _arrayLikeToArray$
|
|
13002
|
-
function ownKeys$
|
|
13003
|
-
function _objectSpread$
|
|
12999
|
+
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; } } }; }
|
|
13000
|
+
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; } }
|
|
13001
|
+
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; }
|
|
13002
|
+
function ownKeys$O(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13003
|
+
function _objectSpread$O(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$O(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13004
13004
|
var defaultGrid = {
|
|
13005
13005
|
rows: 1,
|
|
13006
13006
|
cols: 1,
|
|
@@ -13021,7 +13021,7 @@ function GridEditor(_ref) {
|
|
|
13021
13021
|
setGrid = _useState2[1];
|
|
13022
13022
|
var addRow = function addRow() {
|
|
13023
13023
|
var newRow = grid.rows;
|
|
13024
|
-
var newGrid = _objectSpread$
|
|
13024
|
+
var newGrid = _objectSpread$O(_objectSpread$O({}, grid), {}, {
|
|
13025
13025
|
rows: grid.rows + 1
|
|
13026
13026
|
});
|
|
13027
13027
|
for (var col = 0; col < grid.cols; col++) {
|
|
@@ -13036,7 +13036,7 @@ function GridEditor(_ref) {
|
|
|
13036
13036
|
};
|
|
13037
13037
|
var addColumn = function addColumn() {
|
|
13038
13038
|
var newCol = grid.cols;
|
|
13039
|
-
var newGrid = _objectSpread$
|
|
13039
|
+
var newGrid = _objectSpread$O(_objectSpread$O({}, grid), {}, {
|
|
13040
13040
|
cols: grid.cols + 1
|
|
13041
13041
|
});
|
|
13042
13042
|
for (var row = 0; row < grid.rows; row++) {
|
|
@@ -13069,8 +13069,8 @@ function GridEditor(_ref) {
|
|
|
13069
13069
|
});
|
|
13070
13070
|
}
|
|
13071
13071
|
if (grid[nextKey]) {
|
|
13072
|
-
var newGrid = _objectSpread$
|
|
13073
|
-
newGrid[currentKey] = _objectSpread$
|
|
13072
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13073
|
+
newGrid[currentKey] = _objectSpread$O(_objectSpread$O({}, newGrid[currentKey]), {}, {
|
|
13074
13074
|
colSpan: newGrid[currentKey].colSpan + 1
|
|
13075
13075
|
});
|
|
13076
13076
|
delete newGrid[nextKey];
|
|
@@ -13083,8 +13083,8 @@ function GridEditor(_ref) {
|
|
|
13083
13083
|
var currentKey = "".concat(row, ".").concat(col);
|
|
13084
13084
|
var belowKey = "".concat(row + 1, ".").concat(col);
|
|
13085
13085
|
if (grid[belowKey]) {
|
|
13086
|
-
var newGrid = _objectSpread$
|
|
13087
|
-
newGrid[currentKey] = _objectSpread$
|
|
13086
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13087
|
+
newGrid[currentKey] = _objectSpread$O(_objectSpread$O({}, newGrid[currentKey]), {}, {
|
|
13088
13088
|
rowSpan: newGrid[currentKey].rowSpan + 1
|
|
13089
13089
|
});
|
|
13090
13090
|
delete newGrid[belowKey];
|
|
@@ -13101,7 +13101,7 @@ function GridEditor(_ref) {
|
|
|
13101
13101
|
var splitCell = function splitCell(row, col) {
|
|
13102
13102
|
var key = "".concat(row, ".").concat(col);
|
|
13103
13103
|
var cell = grid[key];
|
|
13104
|
-
var newGrid = _objectSpread$
|
|
13104
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13105
13105
|
|
|
13106
13106
|
// we have to check the colspan, and since the colspan is greater than 1
|
|
13107
13107
|
// Only handle horizontal split if colSpan > 1
|
|
@@ -13117,13 +13117,13 @@ function GridEditor(_ref) {
|
|
|
13117
13117
|
var oldKey = "".concat(row, ".").concat(c);
|
|
13118
13118
|
var newKey = "".concat(row, ".").concat(c + 1);
|
|
13119
13119
|
if (newGrid[oldKey]) {
|
|
13120
|
-
newGrid[newKey] = _objectSpread$
|
|
13120
|
+
newGrid[newKey] = _objectSpread$O({}, newGrid[oldKey]);
|
|
13121
13121
|
delete newGrid[oldKey];
|
|
13122
13122
|
}
|
|
13123
13123
|
}
|
|
13124
13124
|
|
|
13125
13125
|
// Update the original cell's colSpan
|
|
13126
|
-
newGrid[key] = _objectSpread$
|
|
13126
|
+
newGrid[key] = _objectSpread$O(_objectSpread$O({}, cell), {}, {
|
|
13127
13127
|
colSpan: cell.colSpan - 1
|
|
13128
13128
|
});
|
|
13129
13129
|
|
|
@@ -13135,7 +13135,7 @@ function GridEditor(_ref) {
|
|
|
13135
13135
|
};
|
|
13136
13136
|
}
|
|
13137
13137
|
if (cell.rowSpan > 1) {
|
|
13138
|
-
newGrid[key] = _objectSpread$
|
|
13138
|
+
newGrid[key] = _objectSpread$O(_objectSpread$O({}, newGrid[key]), {}, {
|
|
13139
13139
|
rowSpan: cell.rowSpan - 1
|
|
13140
13140
|
});
|
|
13141
13141
|
newGrid["".concat(row + 1, ".").concat(col)] = {
|
|
@@ -13151,7 +13151,7 @@ function GridEditor(_ref) {
|
|
|
13151
13151
|
function sortObjectByKeys(obj) {
|
|
13152
13152
|
var sortedKeys = Object.keys(obj).sort();
|
|
13153
13153
|
var sortedObj = {};
|
|
13154
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13154
|
+
var _iterator = _createForOfIteratorHelper$o(sortedKeys),
|
|
13155
13155
|
_step;
|
|
13156
13156
|
try {
|
|
13157
13157
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13254,7 +13254,7 @@ function GridEditor(_ref) {
|
|
|
13254
13254
|
var fromKey = "".concat(from.row, ".").concat(from.col);
|
|
13255
13255
|
var toKey = "".concat(to.row, ".").concat(to.col);
|
|
13256
13256
|
if (fromKey === toKey) return;
|
|
13257
|
-
var newGrid = _objectSpread$
|
|
13257
|
+
var newGrid = _objectSpread$O({}, grid);
|
|
13258
13258
|
|
|
13259
13259
|
// Swap the cells
|
|
13260
13260
|
var temp = newGrid[fromKey];
|
|
@@ -13280,7 +13280,7 @@ function GridEditor(_ref) {
|
|
|
13280
13280
|
// console.log("Grid updated:", sequencedGrid);
|
|
13281
13281
|
}
|
|
13282
13282
|
function resetGridLayout() {
|
|
13283
|
-
var newGrid = _objectSpread$
|
|
13283
|
+
var newGrid = _objectSpread$O({}, defaultGrid);
|
|
13284
13284
|
setGrid(newGrid);
|
|
13285
13285
|
onUpdate(newGrid);
|
|
13286
13286
|
}
|
|
@@ -13558,8 +13558,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
|
|
|
13558
13558
|
});
|
|
13559
13559
|
};
|
|
13560
13560
|
|
|
13561
|
-
function ownKeys$
|
|
13562
|
-
function _objectSpread$
|
|
13561
|
+
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; }
|
|
13562
|
+
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; }
|
|
13563
13563
|
var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
13564
13564
|
var item = _ref.item;
|
|
13565
13565
|
_ref.workspace;
|
|
@@ -13582,7 +13582,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13582
13582
|
}, [widgetUuid, notificationDefs.length]);
|
|
13583
13583
|
function handleNotifToggle(typeKey, value) {
|
|
13584
13584
|
var _window$mainApi2;
|
|
13585
|
-
var updated = _objectSpread$
|
|
13585
|
+
var updated = _objectSpread$N(_objectSpread$N({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
|
|
13586
13586
|
setNotifPrefs(updated);
|
|
13587
13587
|
if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
|
|
13588
13588
|
window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
|
|
@@ -13624,11 +13624,11 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
|
|
|
13624
13624
|
});
|
|
13625
13625
|
};
|
|
13626
13626
|
|
|
13627
|
-
function _createForOfIteratorHelper$
|
|
13628
|
-
function _unsupportedIterableToArray$
|
|
13629
|
-
function _arrayLikeToArray$
|
|
13630
|
-
function ownKeys$
|
|
13631
|
-
function _objectSpread$
|
|
13627
|
+
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; } } }; }
|
|
13628
|
+
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; } }
|
|
13629
|
+
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; }
|
|
13630
|
+
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; }
|
|
13631
|
+
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; }
|
|
13632
13632
|
var DAYS = [{
|
|
13633
13633
|
key: "mon",
|
|
13634
13634
|
label: "Mon"
|
|
@@ -13729,7 +13729,7 @@ function TaskScheduleEditor(_ref) {
|
|
|
13729
13729
|
var _window$mainApi;
|
|
13730
13730
|
var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13731
13731
|
if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
|
|
13732
|
-
var payload = _objectSpread$
|
|
13732
|
+
var payload = _objectSpread$M({
|
|
13733
13733
|
widgetId: widgetId,
|
|
13734
13734
|
widgetName: widgetName,
|
|
13735
13735
|
workspaceId: workspaceId || "",
|
|
@@ -13955,7 +13955,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
|
|
|
13955
13955
|
setIsLoading(true);
|
|
13956
13956
|
window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
|
|
13957
13957
|
var stateMap = {};
|
|
13958
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13958
|
+
var _iterator = _createForOfIteratorHelper$n(tasks || []),
|
|
13959
13959
|
_step;
|
|
13960
13960
|
try {
|
|
13961
13961
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -14350,11 +14350,147 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
|
|
|
14350
14350
|
});
|
|
14351
14351
|
};
|
|
14352
14352
|
|
|
14353
|
+
var getUserConfigurableProviders = function getUserConfigurableProviders(providers) {
|
|
14354
|
+
if (!providers) return [];
|
|
14355
|
+
return providers.filter(function (p) {
|
|
14356
|
+
return p.providerClass !== "api";
|
|
14357
|
+
});
|
|
14358
|
+
};
|
|
14359
|
+
|
|
14360
|
+
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; }
|
|
14361
|
+
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; }
|
|
14362
|
+
var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
|
|
14363
|
+
var workspace = _ref.workspace,
|
|
14364
|
+
onUpdate = _ref.onUpdate,
|
|
14365
|
+
_ref$item = _ref.item,
|
|
14366
|
+
item = _ref$item === void 0 ? null : _ref$item;
|
|
14367
|
+
var appCtx = useContext(AppContext);
|
|
14368
|
+
var appProviders = (appCtx === null || appCtx === void 0 ? void 0 : appCtx.providers) || {};
|
|
14369
|
+
var _useState = useState(item),
|
|
14370
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
14371
|
+
itemSelected = _useState2[0],
|
|
14372
|
+
setItemSelected = _useState2[1];
|
|
14373
|
+
var _useState3 = useState(workspace),
|
|
14374
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
14375
|
+
workspaceSelected = _useState4[0],
|
|
14376
|
+
setWorkspaceSelected = _useState4[1];
|
|
14377
|
+
useEffect(function () {
|
|
14378
|
+
if (!deepEqual$1(item, itemSelected)) setItemSelected(function () {
|
|
14379
|
+
return item;
|
|
14380
|
+
});
|
|
14381
|
+
if (!deepEqual$1(workspace, workspaceSelected)) setWorkspaceSelected(function () {
|
|
14382
|
+
return workspace;
|
|
14383
|
+
});
|
|
14384
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
14385
|
+
}, [workspace, item]);
|
|
14386
|
+
if (!itemSelected || !workspaceSelected) return null;
|
|
14387
|
+
var widgetConfig = ComponentManager.config(itemSelected.component, itemSelected);
|
|
14388
|
+
var declaredProviders = Array.isArray(widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.providers) ? widgetConfig.providers : Array.isArray(itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.providers) ? itemSelected.providers : [];
|
|
14389
|
+
var providerRequirements = getUserConfigurableProviders(declaredProviders);
|
|
14390
|
+
var selectedProviders = itemSelected.selectedProviders || {};
|
|
14391
|
+
function handleProviderChange(providerType, providerName) {
|
|
14392
|
+
var updatedItem = deepCopy(itemSelected);
|
|
14393
|
+
var nextProviders = _objectSpread$L({}, updatedItem.selectedProviders || {});
|
|
14394
|
+
if (providerName) {
|
|
14395
|
+
nextProviders[providerType] = providerName;
|
|
14396
|
+
} else {
|
|
14397
|
+
delete nextProviders[providerType];
|
|
14398
|
+
}
|
|
14399
|
+
updatedItem.selectedProviders = nextProviders;
|
|
14400
|
+
var updatedWorkspace = deepCopy(workspaceSelected);
|
|
14401
|
+
updatedWorkspace.layout = replaceItemInLayout(updatedWorkspace.layout, updatedItem.id, updatedItem);
|
|
14402
|
+
setItemSelected(function () {
|
|
14403
|
+
return updatedItem;
|
|
14404
|
+
});
|
|
14405
|
+
setWorkspaceSelected(function () {
|
|
14406
|
+
return updatedWorkspace;
|
|
14407
|
+
});
|
|
14408
|
+
onUpdate(updatedItem, updatedWorkspace);
|
|
14409
|
+
}
|
|
14410
|
+
if (providerRequirements.length === 0) {
|
|
14411
|
+
return /*#__PURE__*/jsx("div", {
|
|
14412
|
+
className: "flex items-center justify-center h-full text-sm opacity-60 text-center px-6",
|
|
14413
|
+
children: "This widget doesn't declare any providers."
|
|
14414
|
+
});
|
|
14415
|
+
}
|
|
14416
|
+
return /*#__PURE__*/jsxs("div", {
|
|
14417
|
+
className: "flex flex-col flex-1 min-h-0 overflow-y-auto p-6 space-y-4",
|
|
14418
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
14419
|
+
className: "text-sm opacity-70",
|
|
14420
|
+
children: "Bind each required provider so the widget can connect to its data source. Changes save immediately."
|
|
14421
|
+
}), /*#__PURE__*/jsx("div", {
|
|
14422
|
+
className: "space-y-3",
|
|
14423
|
+
children: providerRequirements.map(function (req) {
|
|
14424
|
+
var type = req.type;
|
|
14425
|
+
var current = selectedProviders[type] || "";
|
|
14426
|
+
var options = Object.entries(appProviders).filter(function (_ref2) {
|
|
14427
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
14428
|
+
p = _ref3[1];
|
|
14429
|
+
return p && p.type === type;
|
|
14430
|
+
}).map(function (_ref4) {
|
|
14431
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
14432
|
+
name = _ref5[0],
|
|
14433
|
+
p = _ref5[1];
|
|
14434
|
+
return _objectSpread$L({
|
|
14435
|
+
name: name
|
|
14436
|
+
}, p);
|
|
14437
|
+
});
|
|
14438
|
+
var isConfigured = !!current;
|
|
14439
|
+
var isMissing = req.required && !isConfigured;
|
|
14440
|
+
return /*#__PURE__*/jsxs("div", {
|
|
14441
|
+
className: "rounded border px-3 py-2 ".concat(isMissing ? "bg-red-900 border-red-500" : "bg-gray-800 border-gray-700"),
|
|
14442
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
14443
|
+
className: "flex items-center gap-2",
|
|
14444
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
14445
|
+
className: "text-sm font-medium ".concat(isMissing ? "text-red-100" : "text-gray-100"),
|
|
14446
|
+
children: type
|
|
14447
|
+
}), /*#__PURE__*/jsx("span", {
|
|
14448
|
+
className: "text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded font-semibold ".concat(isMissing ? "bg-red-600 text-white" : req.required ? "bg-indigo-800 text-indigo-100" : "bg-gray-700 text-gray-300"),
|
|
14449
|
+
children: req.required ? "required" : "optional"
|
|
14450
|
+
})]
|
|
14451
|
+
}), req.description && /*#__PURE__*/jsx("div", {
|
|
14452
|
+
className: "text-xs opacity-60 mt-1",
|
|
14453
|
+
children: req.description
|
|
14454
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
14455
|
+
className: "mt-2",
|
|
14456
|
+
children: [/*#__PURE__*/jsxs("select", {
|
|
14457
|
+
value: current,
|
|
14458
|
+
onChange: function onChange(e) {
|
|
14459
|
+
return handleProviderChange(type, e.target.value);
|
|
14460
|
+
},
|
|
14461
|
+
className: "w-full bg-gray-900 border rounded px-2 py-1.5 text-sm ".concat(isMissing ? "border-red-500" : "border-gray-700"),
|
|
14462
|
+
children: [/*#__PURE__*/jsx("option", {
|
|
14463
|
+
value: "",
|
|
14464
|
+
children: req.required ? "— select a provider —" : "— none —"
|
|
14465
|
+
}), options.map(function (opt) {
|
|
14466
|
+
return /*#__PURE__*/jsx("option", {
|
|
14467
|
+
value: opt.name,
|
|
14468
|
+
children: opt.name
|
|
14469
|
+
}, opt.name);
|
|
14470
|
+
})]
|
|
14471
|
+
}), options.length === 0 && /*#__PURE__*/jsxs("div", {
|
|
14472
|
+
className: "mt-1 text-[11px] text-amber-300",
|
|
14473
|
+
children: ["No ", type, " providers configured. Add one in Settings > Providers."]
|
|
14474
|
+
})]
|
|
14475
|
+
})]
|
|
14476
|
+
}, type);
|
|
14477
|
+
})
|
|
14478
|
+
})]
|
|
14479
|
+
});
|
|
14480
|
+
};
|
|
14481
|
+
|
|
14353
14482
|
var getSections = function getSections(item) {
|
|
14354
14483
|
var _widgetConfig$notific, _widgetConfig$schedul;
|
|
14355
14484
|
var widgetConfig = item ? ComponentManager.config(item.component, item) : null;
|
|
14356
14485
|
var hasNotifications = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$notific = widgetConfig.notifications) === null || _widgetConfig$notific === void 0 ? void 0 : _widgetConfig$notific.length) > 0;
|
|
14357
14486
|
var hasScheduledTasks = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$schedul = widgetConfig.scheduledTasks) === null || _widgetConfig$schedul === void 0 ? void 0 : _widgetConfig$schedul.length) > 0;
|
|
14487
|
+
// Show the Providers section whenever the widget declares any
|
|
14488
|
+
// user-configurable providers. Previously provider selection lived
|
|
14489
|
+
// inline in the card header dropdown; this moves it into the
|
|
14490
|
+
// widget config modal so the header stays uncluttered and there's
|
|
14491
|
+
// room for richer per-provider UX.
|
|
14492
|
+
var declaredProviders = Array.isArray(widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.providers) ? widgetConfig.providers : Array.isArray(item === null || item === void 0 ? void 0 : item.providers) ? item.providers : [];
|
|
14493
|
+
var userConfigurableProviders = getUserConfigurableProviders(declaredProviders);
|
|
14358
14494
|
return [{
|
|
14359
14495
|
key: "edit",
|
|
14360
14496
|
label: "Settings",
|
|
@@ -14375,6 +14511,10 @@ var getSections = function getSections(item) {
|
|
|
14375
14511
|
key: "handlers",
|
|
14376
14512
|
label: "Listeners",
|
|
14377
14513
|
icon: "phone"
|
|
14514
|
+
}] : []), _toConsumableArray(userConfigurableProviders.length > 0 ? [{
|
|
14515
|
+
key: "providers",
|
|
14516
|
+
label: "Providers",
|
|
14517
|
+
icon: "plug"
|
|
14378
14518
|
}] : []), [{
|
|
14379
14519
|
key: "code",
|
|
14380
14520
|
label: "Code",
|
|
@@ -14497,6 +14637,10 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
|
|
|
14497
14637
|
item: itemSelected,
|
|
14498
14638
|
onUpdate: handleEditChange,
|
|
14499
14639
|
workspace: workspaceSelected
|
|
14640
|
+
}), activeSection === "providers" && /*#__PURE__*/jsx(PanelEditItemProviders, {
|
|
14641
|
+
item: itemSelected,
|
|
14642
|
+
onUpdate: handleEditChange,
|
|
14643
|
+
workspace: workspaceSelected
|
|
14500
14644
|
}), activeSection === "code" && /*#__PURE__*/jsx(PanelCode, {
|
|
14501
14645
|
item: itemSelected,
|
|
14502
14646
|
onUpdate: handleEditChange,
|
|
@@ -16812,16 +16956,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
|
|
|
16812
16956
|
return result;
|
|
16813
16957
|
}
|
|
16814
16958
|
|
|
16815
|
-
var
|
|
16816
|
-
|
|
16817
|
-
|
|
16818
|
-
return p.providerClass !== "api";
|
|
16819
|
-
});
|
|
16820
|
-
};
|
|
16821
|
-
|
|
16822
|
-
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; } } }; }
|
|
16823
|
-
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; } }
|
|
16824
|
-
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; }
|
|
16959
|
+
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; } } }; }
|
|
16960
|
+
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; } }
|
|
16961
|
+
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; }
|
|
16825
16962
|
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; }
|
|
16826
16963
|
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; }
|
|
16827
16964
|
var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
@@ -17106,11 +17243,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
17106
17243
|
|
|
17107
17244
|
// Flatten all widgets from all packages for the widget list
|
|
17108
17245
|
flatWidgets = [];
|
|
17109
|
-
_iterator = _createForOfIteratorHelper$
|
|
17246
|
+
_iterator = _createForOfIteratorHelper$m(result.packages || []);
|
|
17110
17247
|
try {
|
|
17111
17248
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
17112
17249
|
pkg = _step.value;
|
|
17113
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
17250
|
+
_iterator2 = _createForOfIteratorHelper$m(pkg.widgets || []);
|
|
17114
17251
|
try {
|
|
17115
17252
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
17116
17253
|
widget = _step2.value;
|
|
@@ -18688,80 +18825,16 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
18688
18825
|
});
|
|
18689
18826
|
};
|
|
18690
18827
|
|
|
18691
|
-
/**
|
|
18692
|
-
* ProviderBadge
|
|
18693
|
-
*
|
|
18694
|
-
* Visual indicator of provider status for widgets.
|
|
18695
|
-
* Shows connection status and allows quick access to provider configuration.
|
|
18696
|
-
*/
|
|
18697
|
-
|
|
18698
|
-
var ProviderBadge = function ProviderBadge(_ref) {
|
|
18699
|
-
var providerType = _ref.providerType;
|
|
18700
|
-
_ref.providerId;
|
|
18701
|
-
var providerName = _ref.providerName,
|
|
18702
|
-
_ref$isConfigured = _ref.isConfigured,
|
|
18703
|
-
isConfigured = _ref$isConfigured === void 0 ? false : _ref$isConfigured,
|
|
18704
|
-
_ref$isRequired = _ref.isRequired,
|
|
18705
|
-
isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired,
|
|
18706
|
-
onClick = _ref.onClick,
|
|
18707
|
-
_ref$className = _ref.className,
|
|
18708
|
-
className = _ref$className === void 0 ? "" : _ref$className;
|
|
18709
|
-
// Status variants
|
|
18710
|
-
var getStatusStyle = function getStatusStyle() {
|
|
18711
|
-
if (isConfigured) {
|
|
18712
|
-
return {
|
|
18713
|
-
bg: "bg-green-50 dark:bg-green-900/20",
|
|
18714
|
-
border: "border-green-300 dark:border-green-700",
|
|
18715
|
-
text: "text-green-700 dark:text-green-400",
|
|
18716
|
-
icon: "✓",
|
|
18717
|
-
label: providerName || "Connected"
|
|
18718
|
-
};
|
|
18719
|
-
}
|
|
18720
|
-
if (isRequired) {
|
|
18721
|
-
return {
|
|
18722
|
-
bg: "bg-yellow-50 dark:bg-yellow-900/20",
|
|
18723
|
-
border: "border-yellow-300 dark:border-yellow-700",
|
|
18724
|
-
text: "text-yellow-700 dark:text-yellow-400",
|
|
18725
|
-
icon: "⚠️",
|
|
18726
|
-
label: "Required"
|
|
18727
|
-
};
|
|
18728
|
-
}
|
|
18729
|
-
return {
|
|
18730
|
-
bg: "bg-gray-50 dark:bg-gray-900/20",
|
|
18731
|
-
border: "border-gray-300 dark:border-gray-700",
|
|
18732
|
-
text: "text-gray-600 dark:text-gray-400",
|
|
18733
|
-
icon: "○",
|
|
18734
|
-
label: "Optional"
|
|
18735
|
-
};
|
|
18736
|
-
};
|
|
18737
|
-
var status = getStatusStyle();
|
|
18738
|
-
return /*#__PURE__*/jsxs("button", {
|
|
18739
|
-
onClick: onClick,
|
|
18740
|
-
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 "),
|
|
18741
|
-
title: "".concat(providerType, ": ").concat(status.label),
|
|
18742
|
-
children: [/*#__PURE__*/jsx("span", {
|
|
18743
|
-
children: status.icon
|
|
18744
|
-
}), /*#__PURE__*/jsx("span", {
|
|
18745
|
-
className: "capitalize",
|
|
18746
|
-
children: providerType
|
|
18747
|
-
})]
|
|
18748
|
-
});
|
|
18749
|
-
};
|
|
18750
|
-
|
|
18751
|
-
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; } } }; }
|
|
18752
|
-
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; } }
|
|
18753
|
-
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; }
|
|
18754
18828
|
var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
18755
18829
|
var item = _ref.item,
|
|
18756
18830
|
widget = _ref.widget,
|
|
18757
18831
|
_ref$cellNumber = _ref.cellNumber,
|
|
18758
|
-
cellNumber = _ref$cellNumber === void 0 ? null : _ref$cellNumber
|
|
18759
|
-
_ref
|
|
18760
|
-
|
|
18761
|
-
_ref$selectedProvider
|
|
18762
|
-
|
|
18763
|
-
|
|
18764
|
-
onConfigure = _ref.onConfigure,
|
|
18832
|
+
cellNumber = _ref$cellNumber === void 0 ? null : _ref$cellNumber;
|
|
18833
|
+
_ref.providers;
|
|
18834
|
+
var _ref$selectedProvider = _ref.selectedProviders,
|
|
18835
|
+
selectedProviders = _ref$selectedProvider === void 0 ? {} : _ref$selectedProvider;
|
|
18836
|
+
_ref.onProviderChange;
|
|
18837
|
+
var onConfigure = _ref.onConfigure,
|
|
18765
18838
|
onDelete = _ref.onDelete,
|
|
18766
18839
|
onRemove = _ref.onRemove,
|
|
18767
18840
|
_ref$onSplitHorizonta = _ref.onSplitHorizontal,
|
|
@@ -18776,43 +18849,15 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18776
18849
|
isSelectable = _ref$isSelectable === void 0 ? true : _ref$isSelectable,
|
|
18777
18850
|
_ref$onToggleSelect = _ref.onToggleSelect,
|
|
18778
18851
|
onToggleSelect = _ref$onToggleSelect === void 0 ? null : _ref$onToggleSelect;
|
|
18779
|
-
|
|
18852
|
+
// One overflow menu holds both provider pickers AND action items,
|
|
18853
|
+
// so the widget title always gets the full header width regardless
|
|
18854
|
+
// of cell size. Previous design kept provider badges + action
|
|
18855
|
+
// buttons inline (both flex-shrink-0) which cropped the title on
|
|
18856
|
+
// narrow cells and made the config button unreachable.
|
|
18857
|
+
var _useState = useState(false),
|
|
18780
18858
|
_useState2 = _slicedToArray(_useState, 2),
|
|
18781
|
-
|
|
18782
|
-
|
|
18783
|
-
var _useState3 = useState(false),
|
|
18784
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
18785
|
-
isCompact = _useState4[0],
|
|
18786
|
-
setIsCompact = _useState4[1];
|
|
18787
|
-
var _useState5 = useState(false),
|
|
18788
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
18789
|
-
showOverflowMenu = _useState6[0],
|
|
18790
|
-
setShowOverflowMenu = _useState6[1];
|
|
18791
|
-
var headerRef = useRef(null);
|
|
18792
|
-
|
|
18793
|
-
// ResizeObserver to detect compact mode
|
|
18794
|
-
useEffect(function () {
|
|
18795
|
-
var el = headerRef.current;
|
|
18796
|
-
if (!el) return;
|
|
18797
|
-
var observer = new ResizeObserver(function (entries) {
|
|
18798
|
-
var _iterator = _createForOfIteratorHelper$m(entries),
|
|
18799
|
-
_step;
|
|
18800
|
-
try {
|
|
18801
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
18802
|
-
var entry = _step.value;
|
|
18803
|
-
setIsCompact(entry.contentRect.width < 320);
|
|
18804
|
-
}
|
|
18805
|
-
} catch (err) {
|
|
18806
|
-
_iterator.e(err);
|
|
18807
|
-
} finally {
|
|
18808
|
-
_iterator.f();
|
|
18809
|
-
}
|
|
18810
|
-
});
|
|
18811
|
-
observer.observe(el);
|
|
18812
|
-
return function () {
|
|
18813
|
-
return observer.disconnect();
|
|
18814
|
-
};
|
|
18815
|
-
}, []);
|
|
18859
|
+
showOverflowMenu = _useState2[0],
|
|
18860
|
+
setShowOverflowMenu = _useState2[1];
|
|
18816
18861
|
|
|
18817
18862
|
// Support both 'item' and 'widget' props
|
|
18818
18863
|
var widgetItem = item || widget;
|
|
@@ -18843,41 +18888,26 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18843
18888
|
};
|
|
18844
18889
|
var providerRequirements = getProviderRequirements();
|
|
18845
18890
|
|
|
18846
|
-
//
|
|
18847
|
-
|
|
18848
|
-
|
|
18849
|
-
return p.type === type;
|
|
18850
|
-
});
|
|
18851
|
-
};
|
|
18852
|
-
|
|
18853
|
-
// Check if provider is configured
|
|
18891
|
+
// Check if provider is configured — used only for the amber-dot
|
|
18892
|
+
// indicator now. Actual provider editing lives in the config
|
|
18893
|
+
// modal's Providers section (opened via the "Providers" menu item).
|
|
18854
18894
|
var isProviderConfigured = function isProviderConfigured(providerType) {
|
|
18855
18895
|
return selectedProviders[providerType] != null;
|
|
18856
18896
|
};
|
|
18857
18897
|
|
|
18858
|
-
//
|
|
18859
|
-
|
|
18860
|
-
|
|
18861
|
-
|
|
18862
|
-
|
|
18863
|
-
|
|
18864
|
-
});
|
|
18865
|
-
return provider === null || provider === void 0 ? void 0 : provider.name;
|
|
18866
|
-
};
|
|
18867
|
-
|
|
18868
|
-
// Handle provider selection
|
|
18869
|
-
var handleProviderSelect = function handleProviderSelect(providerType, providerId) {
|
|
18870
|
-
if (providerId === "_new") {
|
|
18871
|
-
onProviderChange(providerType, null, true); // true = create new
|
|
18872
|
-
} else if (providerId === "_unset") {
|
|
18873
|
-
onProviderChange(providerType, null, false); // unset — no provider
|
|
18874
|
-
} else {
|
|
18875
|
-
onProviderChange(providerType, providerId);
|
|
18876
|
-
}
|
|
18877
|
-
setShowProviderDropdown(null);
|
|
18878
|
-
};
|
|
18898
|
+
// True when any required provider lacks a selection — drives the
|
|
18899
|
+
// amber dot on the overflow button so the user can see unresolved
|
|
18900
|
+
// state at a glance without opening the menu.
|
|
18901
|
+
var hasUnresolvedRequiredProvider = providerRequirements.some(function (req) {
|
|
18902
|
+
return req.required && !isProviderConfigured(req.type);
|
|
18903
|
+
});
|
|
18879
18904
|
|
|
18880
|
-
// Build overflow actions for
|
|
18905
|
+
// Build overflow actions list — single source of truth for the
|
|
18906
|
+
// dropdown items. Provider editing used to live inline in this
|
|
18907
|
+
// menu as dropdowns per provider; that's moved to the widget
|
|
18908
|
+
// config modal under a "Providers" section, so here we just show
|
|
18909
|
+
// a "Providers" entry (when the widget declares any) that opens
|
|
18910
|
+
// the modal pre-selected on that section.
|
|
18881
18911
|
var overflowActions = [];
|
|
18882
18912
|
if (onConfigure) {
|
|
18883
18913
|
overflowActions.push({
|
|
@@ -18889,6 +18919,27 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18889
18919
|
}
|
|
18890
18920
|
});
|
|
18891
18921
|
}
|
|
18922
|
+
if (onConfigure && providerRequirements.length > 0) {
|
|
18923
|
+
overflowActions.push({
|
|
18924
|
+
icon: "plug",
|
|
18925
|
+
label: "Providers",
|
|
18926
|
+
badge: hasUnresolvedRequiredProvider ? "!" : null,
|
|
18927
|
+
onClick: function onClick() {
|
|
18928
|
+
onConfigure(widgetItem, "providers");
|
|
18929
|
+
setShowOverflowMenu(false);
|
|
18930
|
+
}
|
|
18931
|
+
});
|
|
18932
|
+
}
|
|
18933
|
+
if (onConfigure) {
|
|
18934
|
+
overflowActions.push({
|
|
18935
|
+
icon: "phone",
|
|
18936
|
+
label: "Listeners",
|
|
18937
|
+
onClick: function onClick() {
|
|
18938
|
+
onConfigure(widgetItem, "handlers");
|
|
18939
|
+
setShowOverflowMenu(false);
|
|
18940
|
+
}
|
|
18941
|
+
});
|
|
18942
|
+
}
|
|
18892
18943
|
if (onEditWithAI && widgetItem) {
|
|
18893
18944
|
overflowActions.push({
|
|
18894
18945
|
icon: "wand-magic-sparkles",
|
|
@@ -18940,7 +18991,6 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18940
18991
|
});
|
|
18941
18992
|
}
|
|
18942
18993
|
return /*#__PURE__*/jsxs("div", {
|
|
18943
|
-
ref: headerRef,
|
|
18944
18994
|
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" : ""),
|
|
18945
18995
|
children: [onToggleSelect && /*#__PURE__*/jsx("button", {
|
|
18946
18996
|
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"),
|
|
@@ -18967,166 +19017,47 @@ var WidgetCardHeader = function WidgetCardHeader(_ref) {
|
|
|
18967
19017
|
children: "(not found)"
|
|
18968
19018
|
})]
|
|
18969
19019
|
})]
|
|
18970
|
-
}), providerRequirements.length > 0 && /*#__PURE__*/
|
|
18971
|
-
className: "
|
|
18972
|
-
children:
|
|
18973
|
-
|
|
18974
|
-
var isConfigured = isProviderConfigured(providerType);
|
|
18975
|
-
var providerName = getProviderName(providerType);
|
|
18976
|
-
var availableProviders = getProvidersForType(providerType);
|
|
18977
|
-
var selectedProviderId = selectedProviders[providerType];
|
|
18978
|
-
return /*#__PURE__*/jsxs("div", {
|
|
18979
|
-
className: "relative",
|
|
18980
|
-
children: [/*#__PURE__*/jsx(ProviderBadge, {
|
|
18981
|
-
providerType: providerType,
|
|
18982
|
-
providerId: selectedProviderId,
|
|
18983
|
-
providerName: providerName,
|
|
18984
|
-
isConfigured: isConfigured,
|
|
18985
|
-
isRequired: providerReq.required,
|
|
18986
|
-
onClick: function onClick() {
|
|
18987
|
-
setShowOverflowMenu(false);
|
|
18988
|
-
setShowProviderDropdown(showProviderDropdown === providerType ? null : providerType);
|
|
18989
|
-
}
|
|
18990
|
-
}), /*#__PURE__*/jsxs(DropdownPanel, {
|
|
18991
|
-
isOpen: showProviderDropdown === providerType,
|
|
18992
|
-
onClose: function onClose() {
|
|
18993
|
-
return setShowProviderDropdown(null);
|
|
18994
|
-
},
|
|
18995
|
-
position: "absolute top-full right-0 mt-1",
|
|
18996
|
-
portal: true,
|
|
18997
|
-
direction: "right",
|
|
18998
|
-
children: [availableProviders.length > 0 ? /*#__PURE__*/jsxs(Fragment, {
|
|
18999
|
-
children: [/*#__PURE__*/jsxs(DropdownPanel.Header, {
|
|
19000
|
-
children: ["Select ", providerType]
|
|
19001
|
-
}), availableProviders.map(function (provider) {
|
|
19002
|
-
var isSelected = provider.id === selectedProviderId;
|
|
19003
|
-
return /*#__PURE__*/jsx(MenuItem2, {
|
|
19004
|
-
onClick: function onClick() {
|
|
19005
|
-
return handleProviderSelect(providerType, provider.id);
|
|
19006
|
-
},
|
|
19007
|
-
selected: isSelected,
|
|
19008
|
-
children: /*#__PURE__*/jsxs("div", {
|
|
19009
|
-
className: "flex items-center gap-2 w-full",
|
|
19010
|
-
children: [/*#__PURE__*/jsx("span", {
|
|
19011
|
-
className: "w-4 text-center text-xs flex-shrink-0 ".concat(isSelected ? "text-green-400" : "opacity-0"),
|
|
19012
|
-
children: "\u2713"
|
|
19013
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
19014
|
-
className: "flex-1 min-w-0",
|
|
19015
|
-
children: [/*#__PURE__*/jsx("div", {
|
|
19016
|
-
className: "font-medium",
|
|
19017
|
-
children: provider.name
|
|
19018
|
-
}), provider.description && /*#__PURE__*/jsx("div", {
|
|
19019
|
-
className: "text-xs opacity-60 mt-0.5",
|
|
19020
|
-
children: provider.description
|
|
19021
|
-
})]
|
|
19022
|
-
})]
|
|
19023
|
-
})
|
|
19024
|
-
}, provider.id);
|
|
19025
|
-
}), /*#__PURE__*/jsx(DropdownPanel.Divider, {})]
|
|
19026
|
-
}) : /*#__PURE__*/jsxs("div", {
|
|
19027
|
-
className: "px-3 py-2 text-xs opacity-50 italic",
|
|
19028
|
-
children: ["No ", providerType, " providers configured"]
|
|
19029
|
-
}), !providerReq.required && /*#__PURE__*/jsx(MenuItem2, {
|
|
19030
|
-
onClick: function onClick() {
|
|
19031
|
-
handleProviderSelect(providerType, "_unset");
|
|
19032
|
-
},
|
|
19033
|
-
children: /*#__PURE__*/jsxs("span", {
|
|
19034
|
-
className: "text-gray-400",
|
|
19035
|
-
children: ["\xD7 Unset ", providerType]
|
|
19036
|
-
})
|
|
19037
|
-
}), /*#__PURE__*/jsx(MenuItem2, {
|
|
19038
|
-
onClick: function onClick() {
|
|
19039
|
-
handleProviderSelect(providerType, "_new");
|
|
19040
|
-
},
|
|
19041
|
-
children: /*#__PURE__*/jsxs("span", {
|
|
19042
|
-
className: "text-blue-400",
|
|
19043
|
-
children: ["+ Create New ", providerType]
|
|
19044
|
-
})
|
|
19045
|
-
})]
|
|
19046
|
-
})]
|
|
19047
|
-
}, providerType);
|
|
19048
|
-
})
|
|
19049
|
-
}), /*#__PURE__*/jsx("div", {
|
|
19050
|
-
className: "flex items-center gap-0.5 flex-shrink-0",
|
|
19051
|
-
children: !isCompact ? /*#__PURE__*/jsxs(Fragment, {
|
|
19052
|
-
children: [onConfigure && /*#__PURE__*/jsx(ButtonIcon2, {
|
|
19053
|
-
icon: "cog",
|
|
19054
|
-
onClick: function onClick() {
|
|
19055
|
-
return onConfigure(widgetItem);
|
|
19056
|
-
},
|
|
19057
|
-
title: "Configure widget",
|
|
19058
|
-
theme: false
|
|
19059
|
-
}), onEditWithAI && widgetItem && /*#__PURE__*/jsx(ButtonIcon2, {
|
|
19060
|
-
icon: "wand-magic-sparkles",
|
|
19061
|
-
onClick: function onClick() {
|
|
19062
|
-
return onEditWithAI(widgetItem);
|
|
19063
|
-
},
|
|
19064
|
-
title: "Edit with AI",
|
|
19065
|
-
theme: false
|
|
19066
|
-
}), onSplitHorizontal && /*#__PURE__*/jsx(ButtonIcon2, {
|
|
19067
|
-
icon: "arrows-left-right",
|
|
19068
|
-
onClick: function onClick(e) {
|
|
19069
|
-
e.stopPropagation();
|
|
19070
|
-
onSplitHorizontal();
|
|
19071
|
-
},
|
|
19072
|
-
title: "Split horizontally (left/right)",
|
|
19073
|
-
theme: false
|
|
19074
|
-
}), onSplitVertical && /*#__PURE__*/jsx(ButtonIcon2, {
|
|
19075
|
-
icon: "arrows-up-down",
|
|
19076
|
-
onClick: function onClick(e) {
|
|
19077
|
-
e.stopPropagation();
|
|
19078
|
-
onSplitVertical();
|
|
19079
|
-
},
|
|
19080
|
-
title: "Split vertically (top/bottom)",
|
|
19081
|
-
theme: false
|
|
19082
|
-
}), handleDelete && /*#__PURE__*/jsx(ButtonIcon2, {
|
|
19083
|
-
icon: "trash",
|
|
19084
|
-
onClick: function onClick() {
|
|
19085
|
-
return handleDelete(widgetItem);
|
|
19086
|
-
},
|
|
19087
|
-
title: "Remove widget",
|
|
19088
|
-
theme: false
|
|
19089
|
-
}), onMoreOptions && /*#__PURE__*/jsx(ButtonIcon2, {
|
|
19090
|
-
icon: "ellipsis-vertical",
|
|
19091
|
-
onClick: function onClick() {
|
|
19092
|
-
return onMoreOptions(widget);
|
|
19093
|
-
},
|
|
19094
|
-
title: "More options",
|
|
19095
|
-
theme: false
|
|
19096
|
-
})]
|
|
19097
|
-
}) : overflowActions.length > 0 ? /*#__PURE__*/jsxs("div", {
|
|
19098
|
-
className: "relative",
|
|
19020
|
+
}), (providerRequirements.length > 0 || overflowActions.length > 0 || onMoreOptions) && /*#__PURE__*/jsxs("div", {
|
|
19021
|
+
className: "relative flex-shrink-0",
|
|
19022
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
19023
|
+
className: "relative inline-flex",
|
|
19099
19024
|
children: [/*#__PURE__*/jsx(ButtonIcon2, {
|
|
19100
|
-
icon: "
|
|
19025
|
+
icon: "ellipsis-vertical",
|
|
19101
19026
|
onClick: function onClick() {
|
|
19102
|
-
|
|
19103
|
-
|
|
19027
|
+
return setShowOverflowMenu(function (v) {
|
|
19028
|
+
return !v;
|
|
19029
|
+
});
|
|
19104
19030
|
},
|
|
19105
|
-
title: "
|
|
19031
|
+
title: "Providers & actions",
|
|
19106
19032
|
theme: false
|
|
19107
|
-
}), /*#__PURE__*/
|
|
19108
|
-
|
|
19109
|
-
|
|
19110
|
-
return setShowOverflowMenu(false);
|
|
19111
|
-
},
|
|
19112
|
-
position: "absolute top-full right-0 mt-1",
|
|
19113
|
-
portal: true,
|
|
19114
|
-
align: "right",
|
|
19115
|
-
children: [/*#__PURE__*/jsx(DropdownPanel.Header, {
|
|
19116
|
-
children: "Actions"
|
|
19117
|
-
}), overflowActions.map(function (action) {
|
|
19118
|
-
return /*#__PURE__*/jsxs(MenuItem2, {
|
|
19119
|
-
onClick: action.onClick,
|
|
19120
|
-
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
19121
|
-
icon: action.icon,
|
|
19122
|
-
className: "w-4 text-center opacity-60"
|
|
19123
|
-
}), /*#__PURE__*/jsx("span", {
|
|
19124
|
-
children: action.label
|
|
19125
|
-
})]
|
|
19126
|
-
}, action.label);
|
|
19127
|
-
})]
|
|
19033
|
+
}), hasUnresolvedRequiredProvider && /*#__PURE__*/jsx("span", {
|
|
19034
|
+
className: "absolute top-1 right-1 h-2 w-2 rounded-full bg-amber-400 border border-black pointer-events-none",
|
|
19035
|
+
title: "Required provider not set"
|
|
19128
19036
|
})]
|
|
19129
|
-
})
|
|
19037
|
+
}), /*#__PURE__*/jsx(DropdownPanel, {
|
|
19038
|
+
isOpen: showOverflowMenu,
|
|
19039
|
+
onClose: function onClose() {
|
|
19040
|
+
return setShowOverflowMenu(false);
|
|
19041
|
+
},
|
|
19042
|
+
position: "absolute top-full right-0 mt-1",
|
|
19043
|
+
portal: true,
|
|
19044
|
+
align: "right",
|
|
19045
|
+
children: overflowActions.map(function (action) {
|
|
19046
|
+
return /*#__PURE__*/jsxs(MenuItem2, {
|
|
19047
|
+
onClick: action.onClick,
|
|
19048
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
19049
|
+
icon: action.icon,
|
|
19050
|
+
className: "w-4 text-center opacity-60"
|
|
19051
|
+
}), /*#__PURE__*/jsx("span", {
|
|
19052
|
+
className: "flex-1",
|
|
19053
|
+
children: action.label
|
|
19054
|
+
}), action.badge && /*#__PURE__*/jsx("span", {
|
|
19055
|
+
className: "ml-auto text-[10px] font-bold text-amber-300",
|
|
19056
|
+
children: action.badge
|
|
19057
|
+
})]
|
|
19058
|
+
}, action.label);
|
|
19059
|
+
})
|
|
19060
|
+
})]
|
|
19130
19061
|
})]
|
|
19131
19062
|
});
|
|
19132
19063
|
};
|
|
@@ -22455,8 +22386,8 @@ var WidgetContainerGridItem = function WidgetContainerGridItem(_ref) {
|
|
|
22455
22386
|
function handleChangeOrder(direction) {
|
|
22456
22387
|
onChangeOrder(item, direction);
|
|
22457
22388
|
}
|
|
22458
|
-
function handleOpenConfig() {
|
|
22459
|
-
onOpenConfig(item);
|
|
22389
|
+
function handleOpenConfig(widgetItem, section) {
|
|
22390
|
+
onOpenConfig(item, section);
|
|
22460
22391
|
}
|
|
22461
22392
|
function handleProviderChange(providerType, providerId) {
|
|
22462
22393
|
var createNew = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
@@ -22763,8 +22694,8 @@ var LayoutBuilderGridItem = function LayoutBuilderGridItem(_ref) {
|
|
|
22763
22694
|
function handleChangeOrder(direction) {
|
|
22764
22695
|
onChangeOrder(item, direction);
|
|
22765
22696
|
}
|
|
22766
|
-
function handleOpenConfig() {
|
|
22767
|
-
onOpenConfig(item);
|
|
22697
|
+
function handleOpenConfig(widgetItem, section) {
|
|
22698
|
+
onOpenConfig(item, section);
|
|
22768
22699
|
}
|
|
22769
22700
|
function renderArrows() {
|
|
22770
22701
|
return preview === false && /*#__PURE__*/jsx("div", {
|
|
@@ -25701,8 +25632,8 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
|
|
|
25701
25632
|
}
|
|
25702
25633
|
}
|
|
25703
25634
|
} : undefined,
|
|
25704
|
-
onConfigure: cellComponent ? function () {
|
|
25705
|
-
if (onOpenConfig) onOpenConfig(cellComponent);
|
|
25635
|
+
onConfigure: cellComponent ? function (widgetItem, section) {
|
|
25636
|
+
if (onOpenConfig) onOpenConfig(cellComponent, section);
|
|
25706
25637
|
} : undefined,
|
|
25707
25638
|
onDelete: cellComponent ? function () {
|
|
25708
25639
|
if (onClickRemove) onClickRemove(cellComponent.id);
|
|
@@ -60299,5 +60230,5 @@ function MarkdownFormEditor(_ref8) {
|
|
|
60299
60230
|
|
|
60300
60231
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
60301
60232
|
|
|
60302
|
-
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, ChatCore, ChatInput, ChatMessages, 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, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, 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, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, 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, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PinnedSidebar, 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, StreamingText, 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, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, 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, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, 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, parse, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
60233
|
+
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, ChatCore, ChatInput, ChatMessages, 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, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, 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, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, 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, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, 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, StreamingText, 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, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, 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, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, 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, parse, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
60303
60234
|
//# sourceMappingURL=index.esm.js.map
|