@trops/dash-core 0.1.190 → 0.1.192
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 +950 -52
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +951 -51
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -31,8 +31,8 @@ import algoliasearch from 'algoliasearch';
|
|
|
31
31
|
import { InstantSearch, Hits } from 'react-instantsearch-hooks-web';
|
|
32
32
|
import { Link } from 'react-router-dom';
|
|
33
33
|
|
|
34
|
-
function ownKeys$
|
|
35
|
-
function _objectSpread$
|
|
34
|
+
function ownKeys$G(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; }
|
|
35
|
+
function _objectSpread$G(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$G(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$G(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
36
36
|
var event = {
|
|
37
37
|
list: new Map(),
|
|
38
38
|
// Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
|
|
@@ -94,7 +94,7 @@ var event = {
|
|
|
94
94
|
uuid: subscriber["uuid"]
|
|
95
95
|
};
|
|
96
96
|
if ("action" in subscriber && subscriber.action !== undefined) {
|
|
97
|
-
subscriber["action"](_objectSpread$
|
|
97
|
+
subscriber["action"](_objectSpread$G({}, objectToSend));
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
100
|
}
|
|
@@ -2601,8 +2601,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
|
|
|
2601
2601
|
});
|
|
2602
2602
|
};
|
|
2603
2603
|
|
|
2604
|
-
function ownKeys$
|
|
2605
|
-
function _objectSpread$
|
|
2604
|
+
function ownKeys$F(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; }
|
|
2605
|
+
function _objectSpread$F(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$F(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$F(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2606
2606
|
var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
2607
2607
|
var themeKey = _ref.themeKey,
|
|
2608
2608
|
children = _ref.children;
|
|
@@ -2614,7 +2614,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
|
2614
2614
|
var dashboardTheme = themes[themeKey];
|
|
2615
2615
|
var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
|
|
2616
2616
|
if (!themeValue) return null;
|
|
2617
|
-
return _objectSpread$
|
|
2617
|
+
return _objectSpread$F(_objectSpread$F({}, parentContext), {}, {
|
|
2618
2618
|
currentTheme: themeValue,
|
|
2619
2619
|
currentThemeKey: themeKey,
|
|
2620
2620
|
theme: themeValue,
|
|
@@ -2632,8 +2632,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
|
|
|
2632
2632
|
});
|
|
2633
2633
|
};
|
|
2634
2634
|
|
|
2635
|
-
function ownKeys$
|
|
2636
|
-
function _objectSpread$
|
|
2635
|
+
function ownKeys$E(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; }
|
|
2636
|
+
function _objectSpread$E(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$E(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$E(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2637
2637
|
var AppThemeScope = function AppThemeScope(_ref) {
|
|
2638
2638
|
var children = _ref.children;
|
|
2639
2639
|
var ctx = useContext(ThemeContext);
|
|
@@ -2641,7 +2641,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
|
|
|
2641
2641
|
children: children
|
|
2642
2642
|
});
|
|
2643
2643
|
return /*#__PURE__*/jsx(ThemeContext.Provider, {
|
|
2644
|
-
value: _objectSpread$
|
|
2644
|
+
value: _objectSpread$E(_objectSpread$E({}, ctx), {}, {
|
|
2645
2645
|
currentTheme: ctx.appTheme,
|
|
2646
2646
|
currentThemeKey: ctx.appThemeKey,
|
|
2647
2647
|
theme: ctx.appTheme,
|
|
@@ -2753,8 +2753,8 @@ var LayoutContainer = function LayoutContainer(_ref) {
|
|
|
2753
2753
|
});
|
|
2754
2754
|
};
|
|
2755
2755
|
|
|
2756
|
-
function ownKeys$
|
|
2757
|
-
function _objectSpread$
|
|
2756
|
+
function ownKeys$D(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; }
|
|
2757
|
+
function _objectSpread$D(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$D(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$D(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2758
2758
|
function _createForOfIteratorHelper$f(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$f(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; } } }; }
|
|
2759
2759
|
function _unsupportedIterableToArray$f(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$f(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$f(r, a) : void 0; } }
|
|
2760
2760
|
function _arrayLikeToArray$f(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; }
|
|
@@ -3036,7 +3036,7 @@ function createLayoutFromTemplate(template) {
|
|
|
3036
3036
|
try {
|
|
3037
3037
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3038
3038
|
var cell = _step.value;
|
|
3039
|
-
grid[cell.key] = _objectSpread$
|
|
3039
|
+
grid[cell.key] = _objectSpread$D({
|
|
3040
3040
|
component: null,
|
|
3041
3041
|
hide: cell.hide || false
|
|
3042
3042
|
}, cell.span ? {
|
|
@@ -3448,6 +3448,13 @@ var CreationMethodPicker = function CreationMethodPicker(_ref2) {
|
|
|
3448
3448
|
onClick: function onClick() {
|
|
3449
3449
|
return onSelect("registry");
|
|
3450
3450
|
}
|
|
3451
|
+
}), /*#__PURE__*/jsx(OptionCard$1, {
|
|
3452
|
+
icon: "wand-magic-sparkles",
|
|
3453
|
+
title: "Dashboard Wizard",
|
|
3454
|
+
description: "Guided setup \u2014 pick categories, providers, and widgets step by step",
|
|
3455
|
+
onClick: function onClick() {
|
|
3456
|
+
return onSelect("wizard");
|
|
3457
|
+
}
|
|
3451
3458
|
})]
|
|
3452
3459
|
})]
|
|
3453
3460
|
});
|
|
@@ -4050,8 +4057,8 @@ var DiscoverDashboardsDetail = function DiscoverDashboardsDetail(_ref) {
|
|
|
4050
4057
|
});
|
|
4051
4058
|
};
|
|
4052
4059
|
|
|
4053
|
-
function ownKeys$
|
|
4054
|
-
function _objectSpread$
|
|
4060
|
+
function ownKeys$C(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; }
|
|
4061
|
+
function _objectSpread$C(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$C(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$C(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4055
4062
|
var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
4056
4063
|
var open = _ref.open,
|
|
4057
4064
|
setIsOpen = _ref.setIsOpen,
|
|
@@ -4063,7 +4070,9 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
|
4063
4070
|
appId = _ref.appId,
|
|
4064
4071
|
onReloadWorkspaces = _ref.onReloadWorkspaces,
|
|
4065
4072
|
_ref$onOpenWorkspace = _ref.onOpenWorkspace,
|
|
4066
|
-
onOpenWorkspace = _ref$onOpenWorkspace === void 0 ? null : _ref$onOpenWorkspace
|
|
4073
|
+
onOpenWorkspace = _ref$onOpenWorkspace === void 0 ? null : _ref$onOpenWorkspace,
|
|
4074
|
+
_ref$onOpenWizard = _ref.onOpenWizard,
|
|
4075
|
+
onOpenWizard = _ref$onOpenWizard === void 0 ? null : _ref$onOpenWizard;
|
|
4067
4076
|
var _useContext = useContext(ThemeContext),
|
|
4068
4077
|
themes = _useContext.themes,
|
|
4069
4078
|
appThemeKey = _useContext.themeKey;
|
|
@@ -4184,6 +4193,11 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
|
4184
4193
|
setActiveStep(2);
|
|
4185
4194
|
}
|
|
4186
4195
|
function handleMethodSelect(method) {
|
|
4196
|
+
if (method === "wizard" && onOpenWizard) {
|
|
4197
|
+
setIsOpen(false);
|
|
4198
|
+
onOpenWizard();
|
|
4199
|
+
return;
|
|
4200
|
+
}
|
|
4187
4201
|
setCreationMethod(method);
|
|
4188
4202
|
}
|
|
4189
4203
|
function handleImportFromFile() {
|
|
@@ -4287,7 +4301,7 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
|
|
|
4287
4301
|
}
|
|
4288
4302
|
return _context2.abrupt("return");
|
|
4289
4303
|
case 6:
|
|
4290
|
-
updatedWorkspace = _objectSpread$
|
|
4304
|
+
updatedWorkspace = _objectSpread$C(_objectSpread$C({}, importedWorkspace), {}, {
|
|
4291
4305
|
name: dashboardName.trim(),
|
|
4292
4306
|
menuId: menuId,
|
|
4293
4307
|
themeKey: selectedThemeKey
|
|
@@ -6073,8 +6087,8 @@ var WidgetList = function WidgetList(_ref4) {
|
|
|
6073
6087
|
});
|
|
6074
6088
|
};
|
|
6075
6089
|
|
|
6076
|
-
function ownKeys$
|
|
6077
|
-
function _objectSpread$
|
|
6090
|
+
function ownKeys$B(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; }
|
|
6091
|
+
function _objectSpread$B(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$B(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$B(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6078
6092
|
var TOTAL_STEPS = 6; // Steps 0-5
|
|
6079
6093
|
|
|
6080
6094
|
var initialState = {
|
|
@@ -6097,11 +6111,11 @@ var initialState = {
|
|
|
6097
6111
|
function wizardReducer(state, action) {
|
|
6098
6112
|
switch (action.type) {
|
|
6099
6113
|
case "SET_STEP":
|
|
6100
|
-
return _objectSpread$
|
|
6114
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6101
6115
|
step: action.payload
|
|
6102
6116
|
});
|
|
6103
6117
|
case "SET_INTENT":
|
|
6104
|
-
return _objectSpread$
|
|
6118
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6105
6119
|
intent: action.payload
|
|
6106
6120
|
});
|
|
6107
6121
|
case "TOGGLE_INTENT":
|
|
@@ -6109,12 +6123,12 @@ function wizardReducer(state, action) {
|
|
|
6109
6123
|
var intent = state.intent.includes(action.payload) ? state.intent.filter(function (i) {
|
|
6110
6124
|
return i !== action.payload;
|
|
6111
6125
|
}) : [].concat(_toConsumableArray(state.intent), [action.payload]);
|
|
6112
|
-
return _objectSpread$
|
|
6126
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6113
6127
|
intent: intent
|
|
6114
6128
|
});
|
|
6115
6129
|
}
|
|
6116
6130
|
case "SET_PROVIDERS":
|
|
6117
|
-
return _objectSpread$
|
|
6131
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6118
6132
|
providers: action.payload
|
|
6119
6133
|
});
|
|
6120
6134
|
case "TOGGLE_PROVIDER":
|
|
@@ -6122,12 +6136,12 @@ function wizardReducer(state, action) {
|
|
|
6122
6136
|
var providers = state.providers.includes(action.payload) ? state.providers.filter(function (p) {
|
|
6123
6137
|
return p !== action.payload;
|
|
6124
6138
|
}) : [].concat(_toConsumableArray(state.providers), [action.payload]);
|
|
6125
|
-
return _objectSpread$
|
|
6139
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6126
6140
|
providers: providers
|
|
6127
6141
|
});
|
|
6128
6142
|
}
|
|
6129
6143
|
case "SET_SELECTED_WIDGETS":
|
|
6130
|
-
return _objectSpread$
|
|
6144
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6131
6145
|
selectedWidgets: action.payload
|
|
6132
6146
|
});
|
|
6133
6147
|
case "TOGGLE_WIDGET":
|
|
@@ -6138,34 +6152,34 @@ function wizardReducer(state, action) {
|
|
|
6138
6152
|
var selectedWidgets = exists ? state.selectedWidgets.filter(function (w) {
|
|
6139
6153
|
return w.name !== action.payload.name;
|
|
6140
6154
|
}) : [].concat(_toConsumableArray(state.selectedWidgets), [action.payload]);
|
|
6141
|
-
return _objectSpread$
|
|
6155
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6142
6156
|
selectedWidgets: selectedWidgets
|
|
6143
6157
|
});
|
|
6144
6158
|
}
|
|
6145
6159
|
case "SET_SELECTED_DASHBOARD":
|
|
6146
|
-
return _objectSpread$
|
|
6160
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6147
6161
|
selectedDashboard: action.payload
|
|
6148
6162
|
});
|
|
6149
6163
|
case "SET_PATH":
|
|
6150
|
-
return _objectSpread$
|
|
6164
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6151
6165
|
path: action.payload
|
|
6152
6166
|
});
|
|
6153
6167
|
case "SET_LAYOUT":
|
|
6154
|
-
return _objectSpread$
|
|
6168
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6155
6169
|
layout: action.payload
|
|
6156
6170
|
});
|
|
6157
6171
|
case "REORDER_WIDGETS":
|
|
6158
|
-
return _objectSpread$
|
|
6159
|
-
layout: _objectSpread$
|
|
6172
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6173
|
+
layout: _objectSpread$B(_objectSpread$B({}, state.layout), {}, {
|
|
6160
6174
|
widgetOrder: action.payload
|
|
6161
6175
|
})
|
|
6162
6176
|
});
|
|
6163
6177
|
case "SET_CUSTOMIZATION":
|
|
6164
|
-
return _objectSpread$
|
|
6165
|
-
customization: _objectSpread$
|
|
6178
|
+
return _objectSpread$B(_objectSpread$B({}, state), {}, {
|
|
6179
|
+
customization: _objectSpread$B(_objectSpread$B({}, state.customization), action.payload)
|
|
6166
6180
|
});
|
|
6167
6181
|
case "RESET":
|
|
6168
|
-
return _objectSpread$
|
|
6182
|
+
return _objectSpread$B({}, initialState);
|
|
6169
6183
|
default:
|
|
6170
6184
|
return state;
|
|
6171
6185
|
}
|
|
@@ -6507,6 +6521,836 @@ var LayoutGrid = function LayoutGrid(_ref3) {
|
|
|
6507
6521
|
});
|
|
6508
6522
|
};
|
|
6509
6523
|
|
|
6524
|
+
function ownKeys$A(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; }
|
|
6525
|
+
function _objectSpread$A(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$A(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6526
|
+
var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
|
|
6527
|
+
var _state$selectedDashbo, _state$selectedDashbo2;
|
|
6528
|
+
var state = _ref.state,
|
|
6529
|
+
dispatch = _ref.dispatch,
|
|
6530
|
+
_ref$menuItems = _ref.menuItems,
|
|
6531
|
+
menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems,
|
|
6532
|
+
_ref$onSaveMenuItem = _ref.onSaveMenuItem,
|
|
6533
|
+
onSaveMenuItem = _ref$onSaveMenuItem === void 0 ? null : _ref$onSaveMenuItem,
|
|
6534
|
+
_ref$onCreateWorkspac = _ref.onCreateWorkspace,
|
|
6535
|
+
onCreateWorkspace = _ref$onCreateWorkspac === void 0 ? null : _ref$onCreateWorkspac,
|
|
6536
|
+
_ref$onInstallDashboa = _ref.onInstallDashboard,
|
|
6537
|
+
onInstallDashboard = _ref$onInstallDashboa === void 0 ? null : _ref$onInstallDashboa,
|
|
6538
|
+
_ref$onOpenDashboard = _ref.onOpenDashboard,
|
|
6539
|
+
onOpenDashboard = _ref$onOpenDashboard === void 0 ? null : _ref$onOpenDashboard,
|
|
6540
|
+
appId = _ref.appId;
|
|
6541
|
+
var _useContext = useContext(ThemeContext),
|
|
6542
|
+
themes = _useContext.themes,
|
|
6543
|
+
appThemeKey = _useContext.themeKey;
|
|
6544
|
+
var _useContext2 = useContext(AppContext),
|
|
6545
|
+
providersMap = _useContext2.providers;
|
|
6546
|
+
var _useState = useState(menuItems),
|
|
6547
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
6548
|
+
localMenuItems = _useState2[0],
|
|
6549
|
+
setLocalMenuItems = _useState2[1];
|
|
6550
|
+
var _useState3 = useState(false),
|
|
6551
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
6552
|
+
isCreatingFolder = _useState4[0],
|
|
6553
|
+
setIsCreatingFolder = _useState4[1];
|
|
6554
|
+
var _useState5 = useState(""),
|
|
6555
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
6556
|
+
newFolderName = _useState6[0],
|
|
6557
|
+
setNewFolderName = _useState6[1];
|
|
6558
|
+
var _useState7 = useState(null),
|
|
6559
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
6560
|
+
newFolderIcon = _useState8[0],
|
|
6561
|
+
setNewFolderIcon = _useState8[1];
|
|
6562
|
+
|
|
6563
|
+
// Creation state
|
|
6564
|
+
var _useState9 = useState(false),
|
|
6565
|
+
_useState0 = _slicedToArray(_useState9, 2);
|
|
6566
|
+
_useState0[0];
|
|
6567
|
+
var setCreating = _useState0[1];
|
|
6568
|
+
var _useState1 = useState(null),
|
|
6569
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
6570
|
+
error = _useState10[0],
|
|
6571
|
+
setError = _useState10[1];
|
|
6572
|
+
var _useState11 = useState(null),
|
|
6573
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
6574
|
+
createdDashboard = _useState12[0],
|
|
6575
|
+
setCreatedDashboard = _useState12[1];
|
|
6576
|
+
var isPrebuilt = state.path === "prebuilt";
|
|
6577
|
+
|
|
6578
|
+
// Initialize customization defaults on mount
|
|
6579
|
+
useEffect(function () {
|
|
6580
|
+
setLocalMenuItems(menuItems);
|
|
6581
|
+
var updates = {};
|
|
6582
|
+
if (!state.customization.menuId && menuItems.length > 0) {
|
|
6583
|
+
updates.menuId = menuItems[0].id;
|
|
6584
|
+
}
|
|
6585
|
+
if (!state.customization.theme && themes) {
|
|
6586
|
+
var _Object$entries$sort$;
|
|
6587
|
+
var fallback = (_Object$entries$sort$ = Object.entries(themes).sort(function (_ref2, _ref3) {
|
|
6588
|
+
var _ref4 = _slicedToArray(_ref2, 2),
|
|
6589
|
+
a = _ref4[1];
|
|
6590
|
+
var _ref5 = _slicedToArray(_ref3, 2),
|
|
6591
|
+
b = _ref5[1];
|
|
6592
|
+
return (a.name || "").localeCompare(b.name || "");
|
|
6593
|
+
})[0]) === null || _Object$entries$sort$ === void 0 ? void 0 : _Object$entries$sort$[0];
|
|
6594
|
+
updates.theme = appThemeKey || fallback || null;
|
|
6595
|
+
}
|
|
6596
|
+
if (Object.keys(updates).length > 0) {
|
|
6597
|
+
dispatch({
|
|
6598
|
+
type: "SET_CUSTOMIZATION",
|
|
6599
|
+
payload: updates
|
|
6600
|
+
});
|
|
6601
|
+
}
|
|
6602
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
6603
|
+
}, []);
|
|
6604
|
+
var handleNameChange = useCallback(function (val) {
|
|
6605
|
+
dispatch({
|
|
6606
|
+
type: "SET_CUSTOMIZATION",
|
|
6607
|
+
payload: {
|
|
6608
|
+
name: val
|
|
6609
|
+
}
|
|
6610
|
+
});
|
|
6611
|
+
}, [dispatch]);
|
|
6612
|
+
var handleMenuSelect = useCallback(function (id) {
|
|
6613
|
+
dispatch({
|
|
6614
|
+
type: "SET_CUSTOMIZATION",
|
|
6615
|
+
payload: {
|
|
6616
|
+
menuId: id
|
|
6617
|
+
}
|
|
6618
|
+
});
|
|
6619
|
+
setIsCreatingFolder(false);
|
|
6620
|
+
setNewFolderName("");
|
|
6621
|
+
setNewFolderIcon(null);
|
|
6622
|
+
}, [dispatch]);
|
|
6623
|
+
var handleThemeSelect = useCallback(function (key) {
|
|
6624
|
+
dispatch({
|
|
6625
|
+
type: "SET_CUSTOMIZATION",
|
|
6626
|
+
payload: {
|
|
6627
|
+
theme: key
|
|
6628
|
+
}
|
|
6629
|
+
});
|
|
6630
|
+
}, [dispatch]);
|
|
6631
|
+
function handleCancelNewFolder() {
|
|
6632
|
+
setIsCreatingFolder(false);
|
|
6633
|
+
setNewFolderName("");
|
|
6634
|
+
setNewFolderIcon(null);
|
|
6635
|
+
}
|
|
6636
|
+
function handleSaveNewFolder() {
|
|
6637
|
+
if (!newFolderName.trim() || !newFolderIcon) return;
|
|
6638
|
+
var newItem = {
|
|
6639
|
+
id: Date.now(),
|
|
6640
|
+
name: newFolderName.trim(),
|
|
6641
|
+
icon: newFolderIcon
|
|
6642
|
+
};
|
|
6643
|
+
setLocalMenuItems(function (prev) {
|
|
6644
|
+
return [].concat(_toConsumableArray(prev), [newItem]);
|
|
6645
|
+
});
|
|
6646
|
+
dispatch({
|
|
6647
|
+
type: "SET_CUSTOMIZATION",
|
|
6648
|
+
payload: {
|
|
6649
|
+
menuId: newItem.id
|
|
6650
|
+
}
|
|
6651
|
+
});
|
|
6652
|
+
if (onSaveMenuItem) {
|
|
6653
|
+
onSaveMenuItem(newItem);
|
|
6654
|
+
}
|
|
6655
|
+
setIsCreatingFolder(false);
|
|
6656
|
+
setNewFolderName("");
|
|
6657
|
+
setNewFolderIcon(null);
|
|
6658
|
+
}
|
|
6659
|
+
|
|
6660
|
+
// --- Create logic ---
|
|
6661
|
+
useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
6662
|
+
var _state$customization, name, menuId, theme, result, _window$mainApi, installResult, updatedWorkspace, _window$mainApi2, template, layoutObj, widgetOrder, cells, _loop, i, workspace, _t;
|
|
6663
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
6664
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
6665
|
+
case 0:
|
|
6666
|
+
setCreating(true);
|
|
6667
|
+
setError(null);
|
|
6668
|
+
_context2.prev = 1;
|
|
6669
|
+
_state$customization = state.customization, name = _state$customization.name, menuId = _state$customization.menuId, theme = _state$customization.theme;
|
|
6670
|
+
if (!(isPrebuilt && state.selectedDashboard)) {
|
|
6671
|
+
_context2.next = 7;
|
|
6672
|
+
break;
|
|
6673
|
+
}
|
|
6674
|
+
if (!onInstallDashboard) {
|
|
6675
|
+
_context2.next = 3;
|
|
6676
|
+
break;
|
|
6677
|
+
}
|
|
6678
|
+
_context2.next = 2;
|
|
6679
|
+
return onInstallDashboard({
|
|
6680
|
+
dashboard: state.selectedDashboard,
|
|
6681
|
+
name: name.trim(),
|
|
6682
|
+
menuId: menuId || 1,
|
|
6683
|
+
themeKey: theme,
|
|
6684
|
+
appId: appId
|
|
6685
|
+
});
|
|
6686
|
+
case 2:
|
|
6687
|
+
result = _context2.sent;
|
|
6688
|
+
_context2.next = 6;
|
|
6689
|
+
break;
|
|
6690
|
+
case 3:
|
|
6691
|
+
if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.registry) !== null && _window$mainApi !== void 0 && _window$mainApi.installDashboard)) {
|
|
6692
|
+
_context2.next = 6;
|
|
6693
|
+
break;
|
|
6694
|
+
}
|
|
6695
|
+
_context2.next = 4;
|
|
6696
|
+
return window.mainApi.registry.installDashboard(appId, state.selectedDashboard.name || state.selectedDashboard.key);
|
|
6697
|
+
case 4:
|
|
6698
|
+
installResult = _context2.sent;
|
|
6699
|
+
if (!(installResult !== null && installResult !== void 0 && installResult.workspace)) {
|
|
6700
|
+
_context2.next = 6;
|
|
6701
|
+
break;
|
|
6702
|
+
}
|
|
6703
|
+
updatedWorkspace = _objectSpread$A(_objectSpread$A({}, installResult.workspace), {}, {
|
|
6704
|
+
name: name.trim(),
|
|
6705
|
+
menuId: menuId || 1,
|
|
6706
|
+
themeKey: theme
|
|
6707
|
+
});
|
|
6708
|
+
_context2.next = 5;
|
|
6709
|
+
return window.mainApi.workspace.saveWorkspaceForApplication(appId, updatedWorkspace);
|
|
6710
|
+
case 5:
|
|
6711
|
+
result = {
|
|
6712
|
+
success: true,
|
|
6713
|
+
workspace: updatedWorkspace
|
|
6714
|
+
};
|
|
6715
|
+
case 6:
|
|
6716
|
+
_context2.next = 15;
|
|
6717
|
+
break;
|
|
6718
|
+
case 7:
|
|
6719
|
+
// Build-your-own path: create layout from template + place widgets
|
|
6720
|
+
template = layoutTemplates.find(function (t) {
|
|
6721
|
+
return t.id === state.layout.templateKey;
|
|
6722
|
+
});
|
|
6723
|
+
if (template) {
|
|
6724
|
+
_context2.next = 8;
|
|
6725
|
+
break;
|
|
6726
|
+
}
|
|
6727
|
+
throw new Error("No layout template selected.");
|
|
6728
|
+
case 8:
|
|
6729
|
+
layoutObj = createLayoutFromTemplate(template, menuId || 1); // Place widgets into grid cells
|
|
6730
|
+
widgetOrder = state.layout.widgetOrder || [];
|
|
6731
|
+
cells = template.cells.filter(function (c) {
|
|
6732
|
+
return !c.hide;
|
|
6733
|
+
});
|
|
6734
|
+
_loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop(i) {
|
|
6735
|
+
var widget;
|
|
6736
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
6737
|
+
while (1) switch (_context.prev = _context.next) {
|
|
6738
|
+
case 0:
|
|
6739
|
+
widget = state.selectedWidgets.find(function (w) {
|
|
6740
|
+
return (w.name || w.key) === widgetOrder[i];
|
|
6741
|
+
});
|
|
6742
|
+
if (widget && layoutObj.grid[cells[i].key]) {
|
|
6743
|
+
layoutObj.grid[cells[i].key].component = widget.component || widget.name || widget.key;
|
|
6744
|
+
}
|
|
6745
|
+
case 1:
|
|
6746
|
+
case "end":
|
|
6747
|
+
return _context.stop();
|
|
6748
|
+
}
|
|
6749
|
+
}, _loop);
|
|
6750
|
+
});
|
|
6751
|
+
i = 0;
|
|
6752
|
+
case 9:
|
|
6753
|
+
if (!(i < widgetOrder.length && i < cells.length)) {
|
|
6754
|
+
_context2.next = 11;
|
|
6755
|
+
break;
|
|
6756
|
+
}
|
|
6757
|
+
return _context2.delegateYield(_loop(i), "t0", 10);
|
|
6758
|
+
case 10:
|
|
6759
|
+
i++;
|
|
6760
|
+
_context2.next = 9;
|
|
6761
|
+
break;
|
|
6762
|
+
case 11:
|
|
6763
|
+
if (!onCreateWorkspace) {
|
|
6764
|
+
_context2.next = 13;
|
|
6765
|
+
break;
|
|
6766
|
+
}
|
|
6767
|
+
_context2.next = 12;
|
|
6768
|
+
return onCreateWorkspace(layoutObj, theme, name.trim());
|
|
6769
|
+
case 12:
|
|
6770
|
+
result = _context2.sent;
|
|
6771
|
+
_context2.next = 15;
|
|
6772
|
+
break;
|
|
6773
|
+
case 13:
|
|
6774
|
+
if (!((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.workspace) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.saveWorkspaceForApplication)) {
|
|
6775
|
+
_context2.next = 15;
|
|
6776
|
+
break;
|
|
6777
|
+
}
|
|
6778
|
+
workspace = {
|
|
6779
|
+
name: name.trim(),
|
|
6780
|
+
menuId: menuId || 1,
|
|
6781
|
+
themeKey: theme,
|
|
6782
|
+
layout: [layoutObj]
|
|
6783
|
+
};
|
|
6784
|
+
_context2.next = 14;
|
|
6785
|
+
return window.mainApi.workspace.saveWorkspaceForApplication(appId, workspace);
|
|
6786
|
+
case 14:
|
|
6787
|
+
result = {
|
|
6788
|
+
success: true,
|
|
6789
|
+
workspace: workspace
|
|
6790
|
+
};
|
|
6791
|
+
case 15:
|
|
6792
|
+
if (result) {
|
|
6793
|
+
setCreatedDashboard(result.workspace || result);
|
|
6794
|
+
}
|
|
6795
|
+
_context2.next = 17;
|
|
6796
|
+
break;
|
|
6797
|
+
case 16:
|
|
6798
|
+
_context2.prev = 16;
|
|
6799
|
+
_t = _context2["catch"](1);
|
|
6800
|
+
setError(_t.message || "Failed to create dashboard.");
|
|
6801
|
+
case 17:
|
|
6802
|
+
_context2.prev = 17;
|
|
6803
|
+
setCreating(false);
|
|
6804
|
+
return _context2.finish(17);
|
|
6805
|
+
case 18:
|
|
6806
|
+
case "end":
|
|
6807
|
+
return _context2.stop();
|
|
6808
|
+
}
|
|
6809
|
+
}, _callee, null, [[1, 16, 17, 18]]);
|
|
6810
|
+
})), [state, isPrebuilt, onInstallDashboard, onCreateWorkspace, appId]);
|
|
6811
|
+
|
|
6812
|
+
// --- Success state ---
|
|
6813
|
+
if (createdDashboard) {
|
|
6814
|
+
return /*#__PURE__*/jsx("div", {
|
|
6815
|
+
className: "wizard-customize-step",
|
|
6816
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
6817
|
+
className: "wizard-success",
|
|
6818
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6819
|
+
icon: "circle-check",
|
|
6820
|
+
className: "wizard-success-icon"
|
|
6821
|
+
}), /*#__PURE__*/jsx("h3", {
|
|
6822
|
+
className: "wizard-step-header",
|
|
6823
|
+
children: "Dashboard created!"
|
|
6824
|
+
}), /*#__PURE__*/jsxs("p", {
|
|
6825
|
+
className: "wizard-step-description",
|
|
6826
|
+
children: ["Your dashboard", " ", /*#__PURE__*/jsx("strong", {
|
|
6827
|
+
children: createdDashboard.name || state.customization.name.trim()
|
|
6828
|
+
}), " ", "is ready."]
|
|
6829
|
+
}), onOpenDashboard && /*#__PURE__*/jsx(Button, {
|
|
6830
|
+
onClick: function onClick() {
|
|
6831
|
+
return onOpenDashboard(createdDashboard);
|
|
6832
|
+
},
|
|
6833
|
+
title: "Open Dashboard",
|
|
6834
|
+
textSize: "text-base",
|
|
6835
|
+
padding: "py-2 px-6",
|
|
6836
|
+
backgroundColor: "bg-blue-600",
|
|
6837
|
+
textColor: "text-white",
|
|
6838
|
+
hoverTextColor: "hover:text-white",
|
|
6839
|
+
hoverBackgroundColor: "hover:bg-blue-500",
|
|
6840
|
+
icon: "arrow-right"
|
|
6841
|
+
})]
|
|
6842
|
+
})
|
|
6843
|
+
});
|
|
6844
|
+
}
|
|
6845
|
+
|
|
6846
|
+
// --- Provider setup summary ---
|
|
6847
|
+
var selectedProviders = (state.providers || []).map(function (provKey) {
|
|
6848
|
+
var prov = (providersMap === null || providersMap === void 0 ? void 0 : providersMap[provKey]) || {};
|
|
6849
|
+
return {
|
|
6850
|
+
key: provKey,
|
|
6851
|
+
name: prov.name || provKey,
|
|
6852
|
+
icon: prov.icon || "plug",
|
|
6853
|
+
configured: !!prov.configured
|
|
6854
|
+
};
|
|
6855
|
+
});
|
|
6856
|
+
var configuredProviders = selectedProviders.filter(function (p) {
|
|
6857
|
+
return p.configured;
|
|
6858
|
+
});
|
|
6859
|
+
var needsSetupProviders = selectedProviders.filter(function (p) {
|
|
6860
|
+
return !p.configured;
|
|
6861
|
+
});
|
|
6862
|
+
var selectedFolder = localMenuItems.find(function (item) {
|
|
6863
|
+
return item.id === state.customization.menuId;
|
|
6864
|
+
});
|
|
6865
|
+
var selectedTheme = themes && state.customization.theme ? themes[state.customization.theme] : null;
|
|
6866
|
+
return /*#__PURE__*/jsxs("div", {
|
|
6867
|
+
className: "wizard-customize-step",
|
|
6868
|
+
children: [/*#__PURE__*/jsx("h3", {
|
|
6869
|
+
className: "wizard-step-header",
|
|
6870
|
+
children: "Customize your dashboard"
|
|
6871
|
+
}), /*#__PURE__*/jsx("p", {
|
|
6872
|
+
className: "wizard-step-description",
|
|
6873
|
+
children: "Name your dashboard, choose a folder, and pick a theme."
|
|
6874
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
6875
|
+
className: "wizard-customize-sections",
|
|
6876
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
6877
|
+
className: "wizard-customize-section",
|
|
6878
|
+
children: [/*#__PURE__*/jsxs("label", {
|
|
6879
|
+
className: "wizard-customize-label",
|
|
6880
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6881
|
+
icon: "input-text",
|
|
6882
|
+
fixedWidth: true,
|
|
6883
|
+
className: "wizard-customize-label-icon"
|
|
6884
|
+
}), "Dashboard Name"]
|
|
6885
|
+
}), /*#__PURE__*/jsx(InputText, {
|
|
6886
|
+
value: state.customization.name,
|
|
6887
|
+
onChange: handleNameChange,
|
|
6888
|
+
placeholder: "My Dashboard",
|
|
6889
|
+
autoFocus: true
|
|
6890
|
+
})]
|
|
6891
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
6892
|
+
className: "wizard-customize-section",
|
|
6893
|
+
children: [/*#__PURE__*/jsxs("label", {
|
|
6894
|
+
className: "wizard-customize-label",
|
|
6895
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6896
|
+
icon: "folder",
|
|
6897
|
+
fixedWidth: true,
|
|
6898
|
+
className: "wizard-customize-label-icon"
|
|
6899
|
+
}), "Folder"]
|
|
6900
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
6901
|
+
className: "wizard-customize-folder-list",
|
|
6902
|
+
children: [!isCreatingFolder ? /*#__PURE__*/jsxs("button", {
|
|
6903
|
+
type: "button",
|
|
6904
|
+
className: "wizard-customize-folder-create",
|
|
6905
|
+
onClick: function onClick() {
|
|
6906
|
+
return setIsCreatingFolder(true);
|
|
6907
|
+
},
|
|
6908
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6909
|
+
icon: "plus",
|
|
6910
|
+
fixedWidth: true
|
|
6911
|
+
}), /*#__PURE__*/jsx("span", {
|
|
6912
|
+
children: "New Folder"
|
|
6913
|
+
})]
|
|
6914
|
+
}) : /*#__PURE__*/jsxs("div", {
|
|
6915
|
+
className: "wizard-customize-folder-form",
|
|
6916
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
6917
|
+
className: "wizard-customize-folder-form-header",
|
|
6918
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
6919
|
+
className: "text-sm font-medium text-gray-300",
|
|
6920
|
+
children: "New Folder"
|
|
6921
|
+
}), /*#__PURE__*/jsx("button", {
|
|
6922
|
+
type: "button",
|
|
6923
|
+
className: "text-gray-500 hover:text-gray-300 transition-colors",
|
|
6924
|
+
onClick: handleCancelNewFolder,
|
|
6925
|
+
children: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6926
|
+
icon: "xmark"
|
|
6927
|
+
})
|
|
6928
|
+
})]
|
|
6929
|
+
}), /*#__PURE__*/jsx(InputText, {
|
|
6930
|
+
value: newFolderName,
|
|
6931
|
+
onChange: function onChange(val) {
|
|
6932
|
+
return setNewFolderName(val);
|
|
6933
|
+
},
|
|
6934
|
+
placeholder: "Folder name"
|
|
6935
|
+
}), /*#__PURE__*/jsx("div", {
|
|
6936
|
+
className: "grid grid-cols-10 gap-2",
|
|
6937
|
+
children: FOLDER_ICONS.map(function (icon) {
|
|
6938
|
+
var isIconSelected = icon === newFolderIcon;
|
|
6939
|
+
return /*#__PURE__*/jsx("div", {
|
|
6940
|
+
className: "flex items-center justify-center p-2 rounded cursor-pointer transition-all ".concat(isIconSelected ? "bg-blue-600 ring-2 ring-blue-400 text-white" : "bg-gray-700 text-gray-400 hover:bg-gray-600 hover:text-gray-200"),
|
|
6941
|
+
onClick: function onClick() {
|
|
6942
|
+
return setNewFolderIcon(icon);
|
|
6943
|
+
},
|
|
6944
|
+
children: /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6945
|
+
icon: icon
|
|
6946
|
+
})
|
|
6947
|
+
}, icon);
|
|
6948
|
+
})
|
|
6949
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
6950
|
+
onClick: handleSaveNewFolder,
|
|
6951
|
+
title: "Add Folder",
|
|
6952
|
+
textSize: "text-sm",
|
|
6953
|
+
padding: "py-1 px-3",
|
|
6954
|
+
backgroundColor: "bg-blue-600",
|
|
6955
|
+
textColor: "text-white",
|
|
6956
|
+
hoverTextColor: "hover:text-white",
|
|
6957
|
+
hoverBackgroundColor: "hover:bg-blue-500",
|
|
6958
|
+
disabled: !newFolderName.trim() || !newFolderIcon
|
|
6959
|
+
})]
|
|
6960
|
+
}), localMenuItems.map(function (item) {
|
|
6961
|
+
var isSelected = !isCreatingFolder && item.id === state.customization.menuId;
|
|
6962
|
+
return /*#__PURE__*/jsxs("div", {
|
|
6963
|
+
className: "wizard-customize-folder-item ".concat(isSelected ? "wizard-customize-folder-item--selected" : ""),
|
|
6964
|
+
onClick: function onClick() {
|
|
6965
|
+
return handleMenuSelect(item.id);
|
|
6966
|
+
},
|
|
6967
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6968
|
+
icon: item.icon || item.folder || "folder",
|
|
6969
|
+
fixedWidth: true,
|
|
6970
|
+
className: "w-5 h-5 ".concat(isSelected ? "text-blue-400" : "text-gray-400")
|
|
6971
|
+
}), /*#__PURE__*/jsx("span", {
|
|
6972
|
+
className: "text-sm font-medium ".concat(isSelected ? "text-blue-300" : "text-gray-300"),
|
|
6973
|
+
children: item.name
|
|
6974
|
+
}), isSelected && /*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6975
|
+
icon: "check",
|
|
6976
|
+
className: "ml-auto text-blue-400 text-sm"
|
|
6977
|
+
})]
|
|
6978
|
+
}, item.id);
|
|
6979
|
+
})]
|
|
6980
|
+
})]
|
|
6981
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
6982
|
+
className: "wizard-customize-section",
|
|
6983
|
+
children: [/*#__PURE__*/jsxs("label", {
|
|
6984
|
+
className: "wizard-customize-label",
|
|
6985
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
6986
|
+
icon: "palette",
|
|
6987
|
+
fixedWidth: true,
|
|
6988
|
+
className: "wizard-customize-label-icon"
|
|
6989
|
+
}), "Theme"]
|
|
6990
|
+
}), /*#__PURE__*/jsx("div", {
|
|
6991
|
+
className: "wizard-customize-theme-list",
|
|
6992
|
+
children: themes && Object.entries(themes).sort(function (_ref7, _ref8) {
|
|
6993
|
+
var _ref9 = _slicedToArray(_ref7, 2),
|
|
6994
|
+
a = _ref9[1];
|
|
6995
|
+
var _ref0 = _slicedToArray(_ref8, 2),
|
|
6996
|
+
b = _ref0[1];
|
|
6997
|
+
return (a.name || "").localeCompare(b.name || "");
|
|
6998
|
+
}).map(function (_ref1) {
|
|
6999
|
+
var _ref10 = _slicedToArray(_ref1, 2),
|
|
7000
|
+
key = _ref10[0],
|
|
7001
|
+
t = _ref10[1];
|
|
7002
|
+
var isThemeSelected = state.customization.theme === key;
|
|
7003
|
+
return /*#__PURE__*/jsxs("div", {
|
|
7004
|
+
className: "wizard-customize-theme-item ".concat(isThemeSelected ? "wizard-customize-theme-item--selected" : ""),
|
|
7005
|
+
onClick: function onClick() {
|
|
7006
|
+
return handleThemeSelect(key);
|
|
7007
|
+
},
|
|
7008
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7009
|
+
icon: "palette",
|
|
7010
|
+
className: "w-5 h-5 mr-3 ".concat(isThemeSelected ? "text-blue-400" : "text-gray-400")
|
|
7011
|
+
}), /*#__PURE__*/jsx("span", {
|
|
7012
|
+
className: "text-sm font-medium ".concat(isThemeSelected ? "text-blue-300" : "text-gray-300"),
|
|
7013
|
+
children: t.name || key
|
|
7014
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7015
|
+
className: "flex flex-row space-x-1 ml-auto",
|
|
7016
|
+
children: [t.primary && /*#__PURE__*/jsx("div", {
|
|
7017
|
+
className: "w-4 h-4 rounded bg-".concat(t.primary, "-500")
|
|
7018
|
+
}), t.secondary && /*#__PURE__*/jsx("div", {
|
|
7019
|
+
className: "w-4 h-4 rounded bg-".concat(t.secondary, "-500")
|
|
7020
|
+
}), t.tertiary && /*#__PURE__*/jsx("div", {
|
|
7021
|
+
className: "w-4 h-4 rounded bg-".concat(t.tertiary, "-500")
|
|
7022
|
+
})]
|
|
7023
|
+
})]
|
|
7024
|
+
}, key);
|
|
7025
|
+
})
|
|
7026
|
+
})]
|
|
7027
|
+
}), selectedProviders.length > 0 && /*#__PURE__*/jsxs("div", {
|
|
7028
|
+
className: "wizard-customize-section",
|
|
7029
|
+
children: [/*#__PURE__*/jsxs("label", {
|
|
7030
|
+
className: "wizard-customize-label",
|
|
7031
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7032
|
+
icon: "plug",
|
|
7033
|
+
fixedWidth: true,
|
|
7034
|
+
className: "wizard-customize-label-icon"
|
|
7035
|
+
}), "Provider Status"]
|
|
7036
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7037
|
+
className: "wizard-customize-provider-summary",
|
|
7038
|
+
children: [configuredProviders.length > 0 && /*#__PURE__*/jsxs("div", {
|
|
7039
|
+
className: "wizard-provider-group",
|
|
7040
|
+
children: [/*#__PURE__*/jsxs("span", {
|
|
7041
|
+
className: "wizard-provider-group-label wizard-provider-group-label--ready",
|
|
7042
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7043
|
+
icon: "circle-check",
|
|
7044
|
+
className: "text-green-400"
|
|
7045
|
+
}), " ", "Ready (", configuredProviders.length, ")"]
|
|
7046
|
+
}), /*#__PURE__*/jsx("div", {
|
|
7047
|
+
className: "wizard-provider-list",
|
|
7048
|
+
children: configuredProviders.map(function (p) {
|
|
7049
|
+
return /*#__PURE__*/jsxs("span", {
|
|
7050
|
+
className: "wizard-provider-badge wizard-provider-badge--ready",
|
|
7051
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7052
|
+
icon: resolveIcon(p.icon),
|
|
7053
|
+
fixedWidth: true
|
|
7054
|
+
}), p.name]
|
|
7055
|
+
}, p.key);
|
|
7056
|
+
})
|
|
7057
|
+
})]
|
|
7058
|
+
}), needsSetupProviders.length > 0 && /*#__PURE__*/jsxs("div", {
|
|
7059
|
+
className: "wizard-provider-group",
|
|
7060
|
+
children: [/*#__PURE__*/jsxs("span", {
|
|
7061
|
+
className: "wizard-provider-group-label wizard-provider-group-label--setup",
|
|
7062
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7063
|
+
icon: "circle-exclamation",
|
|
7064
|
+
className: "text-amber-400"
|
|
7065
|
+
}), " ", "Needs setup (", needsSetupProviders.length, ")"]
|
|
7066
|
+
}), /*#__PURE__*/jsx("div", {
|
|
7067
|
+
className: "wizard-provider-list",
|
|
7068
|
+
children: needsSetupProviders.map(function (p) {
|
|
7069
|
+
return /*#__PURE__*/jsxs("span", {
|
|
7070
|
+
className: "wizard-provider-badge wizard-provider-badge--setup",
|
|
7071
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7072
|
+
icon: resolveIcon(p.icon),
|
|
7073
|
+
fixedWidth: true
|
|
7074
|
+
}), p.name]
|
|
7075
|
+
}, p.key);
|
|
7076
|
+
})
|
|
7077
|
+
})]
|
|
7078
|
+
})]
|
|
7079
|
+
})]
|
|
7080
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7081
|
+
className: "wizard-customize-summary",
|
|
7082
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
7083
|
+
className: "wizard-customize-summary-title",
|
|
7084
|
+
children: "Summary"
|
|
7085
|
+
}), state.customization.name.trim() && /*#__PURE__*/jsxs("div", {
|
|
7086
|
+
className: "wizard-customize-summary-row",
|
|
7087
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7088
|
+
icon: "clone",
|
|
7089
|
+
className: "text-blue-400"
|
|
7090
|
+
}), /*#__PURE__*/jsx("span", {
|
|
7091
|
+
children: state.customization.name.trim()
|
|
7092
|
+
})]
|
|
7093
|
+
}), selectedFolder && /*#__PURE__*/jsxs("div", {
|
|
7094
|
+
className: "wizard-customize-summary-row",
|
|
7095
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7096
|
+
icon: selectedFolder.icon || selectedFolder.folder || "folder",
|
|
7097
|
+
className: "text-blue-400"
|
|
7098
|
+
}), /*#__PURE__*/jsx("span", {
|
|
7099
|
+
children: selectedFolder.name
|
|
7100
|
+
})]
|
|
7101
|
+
}), selectedTheme && /*#__PURE__*/jsxs("div", {
|
|
7102
|
+
className: "wizard-customize-summary-row",
|
|
7103
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7104
|
+
icon: "palette",
|
|
7105
|
+
className: "text-blue-400"
|
|
7106
|
+
}), /*#__PURE__*/jsx("span", {
|
|
7107
|
+
children: selectedTheme.name || state.customization.theme
|
|
7108
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7109
|
+
className: "flex flex-row space-x-1 ml-2",
|
|
7110
|
+
children: [selectedTheme.primary && /*#__PURE__*/jsx("div", {
|
|
7111
|
+
className: "w-3 h-3 rounded bg-".concat(selectedTheme.primary, "-500")
|
|
7112
|
+
}), selectedTheme.secondary && /*#__PURE__*/jsx("div", {
|
|
7113
|
+
className: "w-3 h-3 rounded bg-".concat(selectedTheme.secondary, "-500")
|
|
7114
|
+
})]
|
|
7115
|
+
})]
|
|
7116
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7117
|
+
className: "wizard-customize-summary-row",
|
|
7118
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7119
|
+
icon: isPrebuilt ? "box" : "grid-2",
|
|
7120
|
+
className: "text-blue-400"
|
|
7121
|
+
}), /*#__PURE__*/jsx("span", {
|
|
7122
|
+
children: isPrebuilt ? ((_state$selectedDashbo = state.selectedDashboard) === null || _state$selectedDashbo === void 0 ? void 0 : _state$selectedDashbo.displayName) || ((_state$selectedDashbo2 = state.selectedDashboard) === null || _state$selectedDashbo2 === void 0 ? void 0 : _state$selectedDashbo2.name) || "Pre-built dashboard" : "".concat(state.selectedWidgets.length, " widget").concat(state.selectedWidgets.length !== 1 ? "s" : "")
|
|
7123
|
+
})]
|
|
7124
|
+
})]
|
|
7125
|
+
}), error && /*#__PURE__*/jsxs("div", {
|
|
7126
|
+
className: "wizard-customize-error",
|
|
7127
|
+
children: [/*#__PURE__*/jsx(FontAwesomeIcon, {
|
|
7128
|
+
icon: "triangle-exclamation",
|
|
7129
|
+
className: "text-red-400"
|
|
7130
|
+
}), /*#__PURE__*/jsx("span", {
|
|
7131
|
+
children: error
|
|
7132
|
+
})]
|
|
7133
|
+
})]
|
|
7134
|
+
})]
|
|
7135
|
+
});
|
|
7136
|
+
};
|
|
7137
|
+
|
|
7138
|
+
var STEP_LABELS = [{
|
|
7139
|
+
label: "Intent",
|
|
7140
|
+
description: "Choose categories"
|
|
7141
|
+
}, {
|
|
7142
|
+
label: "Providers",
|
|
7143
|
+
description: "Select data sources"
|
|
7144
|
+
}, {
|
|
7145
|
+
label: "Browse",
|
|
7146
|
+
description: "Pick widgets or dashboards"
|
|
7147
|
+
}, {
|
|
7148
|
+
label: "Layout",
|
|
7149
|
+
description: "Arrange your widgets"
|
|
7150
|
+
}, {
|
|
7151
|
+
label: "Customize",
|
|
7152
|
+
description: "Name, folder & theme"
|
|
7153
|
+
}];
|
|
7154
|
+
|
|
7155
|
+
/**
|
|
7156
|
+
* DashboardWizardModal
|
|
7157
|
+
*
|
|
7158
|
+
* Top-level modal that hosts all wizard steps with a Stepper header.
|
|
7159
|
+
* Provides Back/Next/Create navigation with step-aware validation.
|
|
7160
|
+
* Resets wizard state cleanly on close.
|
|
7161
|
+
*/
|
|
7162
|
+
var DashboardWizardModal = function DashboardWizardModal(_ref) {
|
|
7163
|
+
var open = _ref.open,
|
|
7164
|
+
setIsOpen = _ref.setIsOpen,
|
|
7165
|
+
_ref$menuItems = _ref.menuItems,
|
|
7166
|
+
menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems,
|
|
7167
|
+
_ref$onSaveMenuItem = _ref.onSaveMenuItem,
|
|
7168
|
+
onSaveMenuItem = _ref$onSaveMenuItem === void 0 ? null : _ref$onSaveMenuItem,
|
|
7169
|
+
_ref$onCreateWorkspac = _ref.onCreateWorkspace,
|
|
7170
|
+
onCreateWorkspace = _ref$onCreateWorkspac === void 0 ? null : _ref$onCreateWorkspac,
|
|
7171
|
+
_ref$onInstallDashboa = _ref.onInstallDashboard,
|
|
7172
|
+
onInstallDashboard = _ref$onInstallDashboa === void 0 ? null : _ref$onInstallDashboa,
|
|
7173
|
+
_ref$onOpenDashboard = _ref.onOpenDashboard,
|
|
7174
|
+
_onOpenDashboard = _ref$onOpenDashboard === void 0 ? null : _ref$onOpenDashboard,
|
|
7175
|
+
_ref$onReloadWorkspac = _ref.onReloadWorkspaces,
|
|
7176
|
+
onReloadWorkspaces = _ref$onReloadWorkspac === void 0 ? null : _ref$onReloadWorkspac,
|
|
7177
|
+
appId = _ref.appId;
|
|
7178
|
+
var _useWizardState = useWizardState(),
|
|
7179
|
+
state = _useWizardState.state,
|
|
7180
|
+
dispatch = _useWizardState.dispatch,
|
|
7181
|
+
nextStep = _useWizardState.nextStep,
|
|
7182
|
+
prevStep = _useWizardState.prevStep,
|
|
7183
|
+
goToStep = _useWizardState.goToStep,
|
|
7184
|
+
canProceed = _useWizardState.canProceed,
|
|
7185
|
+
isPrebuiltPath = _useWizardState.isPrebuiltPath;
|
|
7186
|
+
|
|
7187
|
+
// Reset wizard state when modal opens
|
|
7188
|
+
useEffect(function () {
|
|
7189
|
+
if (open) {
|
|
7190
|
+
dispatch({
|
|
7191
|
+
type: "RESET"
|
|
7192
|
+
});
|
|
7193
|
+
}
|
|
7194
|
+
}, [open, dispatch]);
|
|
7195
|
+
function handleClose() {
|
|
7196
|
+
setIsOpen(false);
|
|
7197
|
+
}
|
|
7198
|
+
var handleStepChange = useCallback(function (newStep) {
|
|
7199
|
+
// Stepper only allows going backwards; forward is via Next button
|
|
7200
|
+
if (newStep < state.step) {
|
|
7201
|
+
goToStep(newStep);
|
|
7202
|
+
}
|
|
7203
|
+
}, [state.step, goToStep]);
|
|
7204
|
+
|
|
7205
|
+
// Skip layout step for prebuilt path
|
|
7206
|
+
var handleNext = useCallback(function () {
|
|
7207
|
+
if (!canProceed) return;
|
|
7208
|
+
if (state.step === 2 && isPrebuiltPath) {
|
|
7209
|
+
// Skip layout step (3), go straight to customize (4)
|
|
7210
|
+
goToStep(4);
|
|
7211
|
+
} else {
|
|
7212
|
+
nextStep();
|
|
7213
|
+
}
|
|
7214
|
+
}, [canProceed, state.step, isPrebuiltPath, goToStep, nextStep]);
|
|
7215
|
+
var handleBack = useCallback(function () {
|
|
7216
|
+
if (state.step === 4 && isPrebuiltPath) {
|
|
7217
|
+
// Skip back over layout step (3), go to browse (2)
|
|
7218
|
+
goToStep(2);
|
|
7219
|
+
} else {
|
|
7220
|
+
prevStep();
|
|
7221
|
+
}
|
|
7222
|
+
}, [state.step, isPrebuiltPath, goToStep, prevStep]);
|
|
7223
|
+
var isLastStep = state.step === 4;
|
|
7224
|
+
state.step === 4 && state._created;
|
|
7225
|
+
return /*#__PURE__*/jsx(Modal, {
|
|
7226
|
+
isOpen: open,
|
|
7227
|
+
setIsOpen: setIsOpen,
|
|
7228
|
+
width: "w-5/6",
|
|
7229
|
+
height: "h-5/6",
|
|
7230
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
7231
|
+
className: "flex flex-col h-full bg-gray-900 rounded-lg overflow-hidden",
|
|
7232
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
7233
|
+
className: "flex items-center justify-between px-6 pt-5 pb-0",
|
|
7234
|
+
children: [/*#__PURE__*/jsx("h2", {
|
|
7235
|
+
className: "text-lg font-semibold text-gray-200",
|
|
7236
|
+
children: "Dashboard Wizard"
|
|
7237
|
+
}), /*#__PURE__*/jsx("button", {
|
|
7238
|
+
type: "button",
|
|
7239
|
+
onClick: handleClose,
|
|
7240
|
+
className: "text-gray-500 hover:text-gray-300 transition-colors",
|
|
7241
|
+
children: /*#__PURE__*/jsx("svg", {
|
|
7242
|
+
className: "h-5 w-5",
|
|
7243
|
+
fill: "none",
|
|
7244
|
+
viewBox: "0 0 24 24",
|
|
7245
|
+
stroke: "currentColor",
|
|
7246
|
+
strokeWidth: 2,
|
|
7247
|
+
children: /*#__PURE__*/jsx("path", {
|
|
7248
|
+
strokeLinecap: "round",
|
|
7249
|
+
strokeLinejoin: "round",
|
|
7250
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
7251
|
+
})
|
|
7252
|
+
})
|
|
7253
|
+
})]
|
|
7254
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7255
|
+
className: "flex flex-col flex-1 min-h-0 px-6 py-4",
|
|
7256
|
+
children: [/*#__PURE__*/jsxs(Stepper, {
|
|
7257
|
+
activeStep: state.step,
|
|
7258
|
+
onStepChange: handleStepChange,
|
|
7259
|
+
showNavigation: false,
|
|
7260
|
+
className: "flex-1 min-h-0",
|
|
7261
|
+
children: [/*#__PURE__*/jsx(Stepper.Step, {
|
|
7262
|
+
label: STEP_LABELS[0].label,
|
|
7263
|
+
description: STEP_LABELS[0].description,
|
|
7264
|
+
children: /*#__PURE__*/jsx("div", {
|
|
7265
|
+
className: "flex-1 min-h-0 overflow-y-auto",
|
|
7266
|
+
children: /*#__PURE__*/jsx(WizardIntentStep, {
|
|
7267
|
+
state: state,
|
|
7268
|
+
dispatch: dispatch
|
|
7269
|
+
})
|
|
7270
|
+
})
|
|
7271
|
+
}), /*#__PURE__*/jsx(Stepper.Step, {
|
|
7272
|
+
label: STEP_LABELS[1].label,
|
|
7273
|
+
description: STEP_LABELS[1].description,
|
|
7274
|
+
children: /*#__PURE__*/jsx("div", {
|
|
7275
|
+
className: "flex-1 min-h-0 overflow-y-auto",
|
|
7276
|
+
children: /*#__PURE__*/jsx(WizardProvidersStep, {
|
|
7277
|
+
state: state,
|
|
7278
|
+
dispatch: dispatch
|
|
7279
|
+
})
|
|
7280
|
+
})
|
|
7281
|
+
}), /*#__PURE__*/jsx(Stepper.Step, {
|
|
7282
|
+
label: STEP_LABELS[2].label,
|
|
7283
|
+
description: STEP_LABELS[2].description,
|
|
7284
|
+
children: /*#__PURE__*/jsx("div", {
|
|
7285
|
+
className: "flex-1 min-h-0 overflow-y-auto",
|
|
7286
|
+
children: /*#__PURE__*/jsx(WizardResultsStep, {
|
|
7287
|
+
state: state,
|
|
7288
|
+
dispatch: dispatch
|
|
7289
|
+
})
|
|
7290
|
+
})
|
|
7291
|
+
}), /*#__PURE__*/jsx(Stepper.Step, {
|
|
7292
|
+
label: STEP_LABELS[3].label,
|
|
7293
|
+
description: STEP_LABELS[3].description,
|
|
7294
|
+
children: /*#__PURE__*/jsx("div", {
|
|
7295
|
+
className: "flex-1 min-h-0 overflow-y-auto",
|
|
7296
|
+
children: /*#__PURE__*/jsx(WizardLayoutPreviewStep, {
|
|
7297
|
+
state: state,
|
|
7298
|
+
dispatch: dispatch
|
|
7299
|
+
})
|
|
7300
|
+
})
|
|
7301
|
+
}), /*#__PURE__*/jsx(Stepper.Step, {
|
|
7302
|
+
label: STEP_LABELS[4].label,
|
|
7303
|
+
description: STEP_LABELS[4].description,
|
|
7304
|
+
children: /*#__PURE__*/jsx("div", {
|
|
7305
|
+
className: "flex-1 min-h-0 overflow-y-auto",
|
|
7306
|
+
children: /*#__PURE__*/jsx(WizardCustomizeStep, {
|
|
7307
|
+
state: state,
|
|
7308
|
+
dispatch: dispatch,
|
|
7309
|
+
menuItems: menuItems,
|
|
7310
|
+
onSaveMenuItem: onSaveMenuItem,
|
|
7311
|
+
onCreateWorkspace: onCreateWorkspace,
|
|
7312
|
+
onInstallDashboard: onInstallDashboard,
|
|
7313
|
+
onOpenDashboard: function onOpenDashboard(ws) {
|
|
7314
|
+
handleClose();
|
|
7315
|
+
if (_onOpenDashboard) _onOpenDashboard(ws);
|
|
7316
|
+
if (onReloadWorkspaces) onReloadWorkspaces();
|
|
7317
|
+
},
|
|
7318
|
+
appId: appId
|
|
7319
|
+
})
|
|
7320
|
+
})
|
|
7321
|
+
})]
|
|
7322
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7323
|
+
className: "flex flex-row justify-between items-center pt-4 mt-4 border-t border-gray-700/50",
|
|
7324
|
+
children: [/*#__PURE__*/jsx(Button, {
|
|
7325
|
+
onClick: state.step === 0 ? handleClose : handleBack,
|
|
7326
|
+
title: state.step === 0 ? "Cancel" : "Back",
|
|
7327
|
+
textSize: "text-sm",
|
|
7328
|
+
padding: "py-2 px-4",
|
|
7329
|
+
backgroundColor: "bg-gray-700",
|
|
7330
|
+
textColor: "text-gray-300",
|
|
7331
|
+
hoverTextColor: "hover:text-white",
|
|
7332
|
+
hoverBackgroundColor: "hover:bg-gray-600"
|
|
7333
|
+
}), /*#__PURE__*/jsxs("span", {
|
|
7334
|
+
className: "text-xs text-gray-500",
|
|
7335
|
+
children: ["Step ", state.step + 1, " of ", STEP_LABELS.length]
|
|
7336
|
+
}), !isLastStep ? /*#__PURE__*/jsx(Button, {
|
|
7337
|
+
onClick: handleNext,
|
|
7338
|
+
title: "Next",
|
|
7339
|
+
textSize: "text-sm",
|
|
7340
|
+
padding: "py-2 px-4",
|
|
7341
|
+
backgroundColor: canProceed ? "bg-blue-600" : "bg-gray-700",
|
|
7342
|
+
textColor: canProceed ? "text-white" : "text-gray-500",
|
|
7343
|
+
hoverTextColor: canProceed ? "hover:text-white" : "hover:text-gray-500",
|
|
7344
|
+
hoverBackgroundColor: canProceed ? "hover:bg-blue-500" : "hover:bg-gray-700",
|
|
7345
|
+
disabled: !canProceed,
|
|
7346
|
+
icon: "arrow-right"
|
|
7347
|
+
}) : /*#__PURE__*/jsx("div", {})]
|
|
7348
|
+
})]
|
|
7349
|
+
})]
|
|
7350
|
+
})
|
|
7351
|
+
});
|
|
7352
|
+
};
|
|
7353
|
+
|
|
6510
7354
|
var LayoutBuilderAddItemModal = function LayoutBuilderAddItemModal(_ref) {
|
|
6511
7355
|
var workspace = _ref.workspace,
|
|
6512
7356
|
open = _ref.open,
|
|
@@ -36832,7 +37676,9 @@ var DashboardsSection = function DashboardsSection(_ref) {
|
|
|
36832
37676
|
_ref$createRequested = _ref.createRequested,
|
|
36833
37677
|
createRequested = _ref$createRequested === void 0 ? false : _ref$createRequested,
|
|
36834
37678
|
_ref$onCreateAcknowle = _ref.onCreateAcknowledged,
|
|
36835
|
-
onCreateAcknowledged = _ref$onCreateAcknowle === void 0 ? null : _ref$onCreateAcknowle
|
|
37679
|
+
onCreateAcknowledged = _ref$onCreateAcknowle === void 0 ? null : _ref$onCreateAcknowle,
|
|
37680
|
+
_ref$onOpenWizard = _ref.onOpenWizard,
|
|
37681
|
+
onOpenWizard = _ref$onOpenWizard === void 0 ? null : _ref$onOpenWizard;
|
|
36836
37682
|
var _useState = useState(null),
|
|
36837
37683
|
_useState2 = _slicedToArray(_useState, 2),
|
|
36838
37684
|
selectedId = _useState2[0],
|
|
@@ -37044,6 +37890,14 @@ var DashboardsSection = function DashboardsSection(_ref) {
|
|
|
37044
37890
|
value: "marketplace",
|
|
37045
37891
|
className: "flex-1",
|
|
37046
37892
|
children: "Marketplace"
|
|
37893
|
+
}), onOpenWizard && /*#__PURE__*/jsx(Tabs3.Trigger, {
|
|
37894
|
+
value: "wizard",
|
|
37895
|
+
className: "flex-1",
|
|
37896
|
+
onClick: function onClick(e) {
|
|
37897
|
+
e.preventDefault();
|
|
37898
|
+
onOpenWizard();
|
|
37899
|
+
},
|
|
37900
|
+
children: "Wizard"
|
|
37047
37901
|
})]
|
|
37048
37902
|
})
|
|
37049
37903
|
})]
|
|
@@ -44976,7 +45830,9 @@ var AppSettingsModal = function AppSettingsModal(_ref) {
|
|
|
44976
45830
|
_ref$onSignOut = _ref.onSignOut,
|
|
44977
45831
|
onSignOut = _ref$onSignOut === void 0 ? null : _ref$onSignOut,
|
|
44978
45832
|
_ref$onProfileUpdated = _ref.onProfileUpdated,
|
|
44979
|
-
onProfileUpdated = _ref$onProfileUpdated === void 0 ? null : _ref$onProfileUpdated
|
|
45833
|
+
onProfileUpdated = _ref$onProfileUpdated === void 0 ? null : _ref$onProfileUpdated,
|
|
45834
|
+
_ref$onOpenWizard = _ref.onOpenWizard,
|
|
45835
|
+
onOpenWizard = _ref$onOpenWizard === void 0 ? null : _ref$onOpenWizard;
|
|
44980
45836
|
var _useState = useState(initialSection),
|
|
44981
45837
|
_useState2 = _slicedToArray(_useState, 2),
|
|
44982
45838
|
activeSection = _useState2[0],
|
|
@@ -45061,7 +45917,11 @@ var AppSettingsModal = function AppSettingsModal(_ref) {
|
|
|
45061
45917
|
onCreateAcknowledged: function onCreateAcknowledged() {
|
|
45062
45918
|
return setCreateRequested(false);
|
|
45063
45919
|
},
|
|
45064
|
-
onOpenWorkspace: onOpenWorkspace
|
|
45920
|
+
onOpenWorkspace: onOpenWorkspace,
|
|
45921
|
+
onOpenWizard: onOpenWizard ? function () {
|
|
45922
|
+
setIsOpen(false);
|
|
45923
|
+
onOpenWizard();
|
|
45924
|
+
} : null
|
|
45065
45925
|
}), activeSection === "folders" && /*#__PURE__*/jsx(FoldersSection, {
|
|
45066
45926
|
menuItems: menuItems,
|
|
45067
45927
|
workspaces: workspaces,
|
|
@@ -45265,6 +46125,8 @@ var DashCommandPalette = function DashCommandPalette(_ref) {
|
|
|
45265
46125
|
onCreateNewFolder = _ref$onCreateNewFolde === void 0 ? null : _ref$onCreateNewFolde,
|
|
45266
46126
|
_ref$onLoadDashboard = _ref.onLoadDashboard,
|
|
45267
46127
|
onLoadDashboard = _ref$onLoadDashboard === void 0 ? null : _ref$onLoadDashboard,
|
|
46128
|
+
_ref$onOpenWizard = _ref.onOpenWizard,
|
|
46129
|
+
onOpenWizard = _ref$onOpenWizard === void 0 ? null : _ref$onOpenWizard,
|
|
45268
46130
|
_ref$onChangeTheme = _ref.onChangeTheme,
|
|
45269
46131
|
onChangeTheme = _ref$onChangeTheme === void 0 ? null : _ref$onChangeTheme,
|
|
45270
46132
|
_ref$onOpenThemeManag = _ref.onOpenThemeManager,
|
|
@@ -45335,6 +46197,13 @@ var DashCommandPalette = function DashCommandPalette(_ref) {
|
|
|
45335
46197
|
action: function action() {
|
|
45336
46198
|
return onCreateNewFolder && onCreateNewFolder();
|
|
45337
46199
|
}
|
|
46200
|
+
}, matchesQuery("Dashboard Wizard") && {
|
|
46201
|
+
key: "dashboard-wizard",
|
|
46202
|
+
label: "Dashboard Wizard",
|
|
46203
|
+
icon: "wand-magic-sparkles",
|
|
46204
|
+
action: function action() {
|
|
46205
|
+
return onOpenWizard && onOpenWizard();
|
|
46206
|
+
}
|
|
45338
46207
|
}].filter(Boolean);
|
|
45339
46208
|
var showDashboards = dashboardItems.length > 0 || dashboardActions.length > 0;
|
|
45340
46209
|
|
|
@@ -46841,24 +47710,28 @@ var DashboardStageInner = function DashboardStageInner(_ref2) {
|
|
|
46841
47710
|
_useState32 = _slicedToArray(_useState31, 2),
|
|
46842
47711
|
isLayoutPickerOpen = _useState32[0],
|
|
46843
47712
|
setIsLayoutPickerOpen = _useState32[1];
|
|
46844
|
-
|
|
46845
|
-
// Unified App Settings Modal
|
|
46846
47713
|
var _useState33 = useState(false),
|
|
46847
47714
|
_useState34 = _slicedToArray(_useState33, 2),
|
|
46848
|
-
|
|
46849
|
-
|
|
46850
|
-
|
|
47715
|
+
isWizardOpen = _useState34[0],
|
|
47716
|
+
setIsWizardOpen = _useState34[1];
|
|
47717
|
+
|
|
47718
|
+
// Unified App Settings Modal
|
|
47719
|
+
var _useState35 = useState(false),
|
|
46851
47720
|
_useState36 = _slicedToArray(_useState35, 2),
|
|
46852
|
-
|
|
46853
|
-
|
|
46854
|
-
var _useState37 = useState(
|
|
47721
|
+
isAppSettingsOpen = _useState36[0],
|
|
47722
|
+
setIsAppSettingsOpen = _useState36[1];
|
|
47723
|
+
var _useState37 = useState("dashboards"),
|
|
46855
47724
|
_useState38 = _slicedToArray(_useState37, 2),
|
|
46856
|
-
|
|
46857
|
-
|
|
46858
|
-
var _useState39 = useState(
|
|
47725
|
+
appSettingsInitialSection = _useState38[0],
|
|
47726
|
+
setAppSettingsInitialSection = _useState38[1];
|
|
47727
|
+
var _useState39 = useState(null),
|
|
46859
47728
|
_useState40 = _slicedToArray(_useState39, 2),
|
|
46860
|
-
|
|
46861
|
-
|
|
47729
|
+
appSettingsInitialProvider = _useState40[0],
|
|
47730
|
+
setAppSettingsInitialProvider = _useState40[1];
|
|
47731
|
+
var _useState41 = useState(false),
|
|
47732
|
+
_useState42 = _slicedToArray(_useState41, 2),
|
|
47733
|
+
appSettingsCreateProvider = _useState42[0],
|
|
47734
|
+
setAppSettingsCreateProvider = _useState42[1];
|
|
46862
47735
|
function openAppSettings() {
|
|
46863
47736
|
var section = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "general";
|
|
46864
47737
|
var providerName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
@@ -47635,6 +48508,13 @@ var DashboardStageInner = function DashboardStageInner(_ref2) {
|
|
|
47635
48508
|
text: "New Dashboard",
|
|
47636
48509
|
onClick: handleClickNewFromEmpty,
|
|
47637
48510
|
size: "sm"
|
|
48511
|
+
}), /*#__PURE__*/jsx(ButtonIcon, {
|
|
48512
|
+
icon: "wand-magic-sparkles",
|
|
48513
|
+
text: "Wizard",
|
|
48514
|
+
onClick: function onClick() {
|
|
48515
|
+
return setIsWizardOpen(true);
|
|
48516
|
+
},
|
|
48517
|
+
size: "sm"
|
|
47638
48518
|
})]
|
|
47639
48519
|
})
|
|
47640
48520
|
})
|
|
@@ -47674,7 +48554,10 @@ var DashboardStageInner = function DashboardStageInner(_ref2) {
|
|
|
47674
48554
|
authProfile: authProfile,
|
|
47675
48555
|
onSignIn: handleSidebarSignIn,
|
|
47676
48556
|
onSignOut: handleSidebarSignOut,
|
|
47677
|
-
onProfileUpdated: handleProfileUpdated
|
|
48557
|
+
onProfileUpdated: handleProfileUpdated,
|
|
48558
|
+
onOpenWizard: function onOpenWizard() {
|
|
48559
|
+
return setIsWizardOpen(true);
|
|
48560
|
+
}
|
|
47678
48561
|
}), /*#__PURE__*/jsx(ThemeManagerModal, {
|
|
47679
48562
|
open: isThemeManagerOpen,
|
|
47680
48563
|
setIsOpen: function setIsOpen() {
|
|
@@ -47702,7 +48585,19 @@ var DashboardStageInner = function DashboardStageInner(_ref2) {
|
|
|
47702
48585
|
onSaveMenuItem: handleSaveNewMenuItem,
|
|
47703
48586
|
appId: credentials === null || credentials === void 0 ? void 0 : credentials.appId,
|
|
47704
48587
|
onReloadWorkspaces: loadWorkspaces,
|
|
47705
|
-
onOpenWorkspace: handleOpenTab
|
|
48588
|
+
onOpenWorkspace: handleOpenTab,
|
|
48589
|
+
onOpenWizard: function onOpenWizard() {
|
|
48590
|
+
return setIsWizardOpen(true);
|
|
48591
|
+
}
|
|
48592
|
+
}), /*#__PURE__*/jsx(DashboardWizardModal, {
|
|
48593
|
+
open: isWizardOpen,
|
|
48594
|
+
setIsOpen: setIsWizardOpen,
|
|
48595
|
+
menuItems: menuItems,
|
|
48596
|
+
onSaveMenuItem: handleSaveNewMenuItem,
|
|
48597
|
+
onCreateWorkspace: handleCreateFromTemplate,
|
|
48598
|
+
onOpenDashboard: handleOpenTab,
|
|
48599
|
+
onReloadWorkspaces: loadWorkspaces,
|
|
48600
|
+
appId: credentials === null || credentials === void 0 ? void 0 : credentials.appId
|
|
47706
48601
|
})]
|
|
47707
48602
|
})]
|
|
47708
48603
|
}), !popout && /*#__PURE__*/jsx(DashCommandPalette, {
|
|
@@ -47741,6 +48636,9 @@ var DashboardStageInner = function DashboardStageInner(_ref2) {
|
|
|
47741
48636
|
},
|
|
47742
48637
|
onOpenDiscover: function onOpenDiscover() {
|
|
47743
48638
|
return openAppSettings("widgets");
|
|
48639
|
+
},
|
|
48640
|
+
onOpenWizard: function onOpenWizard() {
|
|
48641
|
+
return setIsWizardOpen(true);
|
|
47744
48642
|
}
|
|
47745
48643
|
})]
|
|
47746
48644
|
});
|
|
@@ -49126,5 +50024,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
|
|
|
49126
50024
|
|
|
49127
50025
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
49128
50026
|
|
|
49129
|
-
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardIntentStep, WizardLayoutPreviewStep, WizardProvidersStep, WizardResultsStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
50027
|
+
export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, 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, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardIntentStep, WizardLayoutPreviewStep, WizardProvidersStep, WizardResultsStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
|
|
49130
50028
|
//# sourceMappingURL=index.esm.js.map
|