@trops/dash-core 0.1.403 → 0.1.405

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.js CHANGED
@@ -12782,15 +12782,12 @@ var deepEqual = function deepEqual(a, b, opts) {
12782
12782
 
12783
12783
  var deepEqual$1 = /*@__PURE__*/getDefaultExportFromCjs(deepEqual);
12784
12784
 
12785
- 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; }
12786
- 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; }
12787
12785
  var PanelEditItem = function PanelEditItem(_ref) {
12788
12786
  var _ComponentManager$get;
12789
12787
  var workspace = _ref.workspace,
12790
12788
  onUpdate = _ref.onUpdate,
12791
12789
  _ref$item = _ref.item,
12792
12790
  item = _ref$item === void 0 ? null : _ref$item;
12793
- var appContext = React.useContext(AppContext);
12794
12791
  var _useState = React.useState(item),
12795
12792
  _useState2 = _slicedToArray(_useState, 2),
12796
12793
  itemSelected = _useState2[0],
@@ -12805,10 +12802,6 @@ var PanelEditItem = function PanelEditItem(_ref) {
12805
12802
  var forceUpdate = React.useCallback(function () {
12806
12803
  return updateState({});
12807
12804
  }, []);
12808
- var allProviders = (appContext === null || appContext === void 0 ? void 0 : appContext.providers) || {};
12809
- var widgetConfig = itemSelected ? ComponentManager.config(itemSelected.component, itemSelected) : null;
12810
- var providerRequirements = (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.providers) || [];
12811
- var selectedProviders = (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.selectedProviders) || {};
12812
12805
  React.useEffect(function () {
12813
12806
  if (deepEqual$1(item, itemSelected) === false) {
12814
12807
  setItemSelected(function () {
@@ -12831,23 +12824,6 @@ var PanelEditItem = function PanelEditItem(_ref) {
12831
12824
  onUpdate(data, workspaceTemp);
12832
12825
  forceUpdate();
12833
12826
  }
12834
- function handleProviderChange(providerType, providerId) {
12835
- var newItem = JSON.parse(JSON.stringify(itemSelected));
12836
- newItem.selectedProviders = newItem.selectedProviders || {};
12837
- newItem.selectedProviders[providerType] = providerId;
12838
- var workspaceTemp = WorkspaceModel(workspaceSelected);
12839
- var newLayout = replaceItemInLayout(workspaceTemp.layout, newItem["id"], newItem);
12840
- workspaceTemp.layout = newLayout;
12841
-
12842
- // Also update workspace-level selectedProviders
12843
- var uuid = newItem.uuid || newItem.uuidString;
12844
- if (uuid) {
12845
- workspaceTemp.selectedProviders = workspaceTemp.selectedProviders || {};
12846
- workspaceTemp.selectedProviders[uuid] = _objectSpread$P(_objectSpread$P({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
12847
- }
12848
- onUpdate(newItem, workspaceTemp);
12849
- forceUpdate();
12850
- }
12851
12827
  function renderCustomSettings() {
12852
12828
  if (itemSelected) {
12853
12829
  var componentConfig = ComponentManager.getComponent(itemSelected.component);
@@ -12948,68 +12924,15 @@ var PanelEditItem = function PanelEditItem(_ref) {
12948
12924
  }, "config-item-".concat(key));
12949
12925
  }
12950
12926
  var hasCustomSettings = itemSelected && ((_ComponentManager$get = ComponentManager.getComponent(itemSelected.component)) === null || _ComponentManager$get === void 0 ? void 0 : _ComponentManager$get.userConfig);
12951
- return itemSelected && workspaceSelected && /*#__PURE__*/jsxRuntime.jsxs("div", {
12927
+ return itemSelected && workspaceSelected && /*#__PURE__*/jsxRuntime.jsx("div", {
12952
12928
  className: "flex flex-col flex-1 min-h-0 overflow-y-auto p-6 space-y-6",
12953
- children: [hasCustomSettings && /*#__PURE__*/jsxRuntime.jsxs("div", {
12929
+ children: hasCustomSettings && /*#__PURE__*/jsxRuntime.jsxs("div", {
12954
12930
  className: "flex flex-col space-y-3",
12955
12931
  children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.SubHeading3, {
12956
12932
  title: "Configuration",
12957
12933
  padding: false
12958
12934
  }), renderCustomSettings()]
12959
- }), providerRequirements.length > 0 && /*#__PURE__*/jsxRuntime.jsxs("div", {
12960
- className: "flex flex-col space-y-3",
12961
- children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.SubHeading3, {
12962
- title: "Providers",
12963
- padding: false
12964
- }), providerRequirements.map(function (req) {
12965
- var providerType = req.type;
12966
- var currentSelection = selectedProviders[providerType] || "";
12967
- var availableProviders = Object.entries(allProviders).filter(function (_ref2) {
12968
- var _ref3 = _slicedToArray(_ref2, 2),
12969
- p = _ref3[1];
12970
- return p.type === providerType;
12971
- }).map(function (_ref4) {
12972
- var _ref5 = _slicedToArray(_ref4, 2),
12973
- name = _ref5[0],
12974
- p = _ref5[1];
12975
- return _objectSpread$P({
12976
- name: name
12977
- }, p);
12978
- });
12979
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
12980
- className: "flex flex-col space-y-1",
12981
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
12982
- className: "flex items-center gap-1",
12983
- children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FormLabel, {
12984
- title: providerType,
12985
- textSize: "text-sm"
12986
- }), req.required && /*#__PURE__*/jsxRuntime.jsx("span", {
12987
- className: "text-red-500 text-sm",
12988
- children: "*"
12989
- })]
12990
- }), /*#__PURE__*/jsxRuntime.jsxs(DashReact.SelectMenu, {
12991
- name: "provider-".concat(providerType),
12992
- textSize: "text-sm",
12993
- selectedValue: currentSelection,
12994
- onChange: function onChange(e) {
12995
- return handleProviderChange(providerType, e.target.value);
12996
- },
12997
- children: [/*#__PURE__*/jsxRuntime.jsx("option", {
12998
- value: "",
12999
- children: "-- Select Provider --"
13000
- }), availableProviders.map(function (provider) {
13001
- return /*#__PURE__*/jsxRuntime.jsx("option", {
13002
- value: provider.name,
13003
- children: provider.name
13004
- }, provider.name);
13005
- })]
13006
- }), availableProviders.length === 0 && /*#__PURE__*/jsxRuntime.jsxs("span", {
13007
- className: "text-xs opacity-40",
13008
- children: ["No ", providerType, " providers configured"]
13009
- })]
13010
- }, providerType);
13011
- })]
13012
- })]
12935
+ })
13013
12936
  });
13014
12937
  };
13015
12938
 
@@ -13017,8 +12940,8 @@ var _excluded$6 = ["rows", "cols"];
13017
12940
  function _createForOfIteratorHelper$o(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$o(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13018
12941
  function _unsupportedIterableToArray$o(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$o(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$o(r, a) : void 0; } }
13019
12942
  function _arrayLikeToArray$o(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13020
- 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; }
13021
- 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; }
12943
+ 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; }
12944
+ 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; }
13022
12945
  var defaultGrid = {
13023
12946
  rows: 1,
13024
12947
  cols: 1,
@@ -13039,7 +12962,7 @@ function GridEditor(_ref) {
13039
12962
  setGrid = _useState2[1];
13040
12963
  var addRow = function addRow() {
13041
12964
  var newRow = grid.rows;
13042
- var newGrid = _objectSpread$O(_objectSpread$O({}, grid), {}, {
12965
+ var newGrid = _objectSpread$P(_objectSpread$P({}, grid), {}, {
13043
12966
  rows: grid.rows + 1
13044
12967
  });
13045
12968
  for (var col = 0; col < grid.cols; col++) {
@@ -13054,7 +12977,7 @@ function GridEditor(_ref) {
13054
12977
  };
13055
12978
  var addColumn = function addColumn() {
13056
12979
  var newCol = grid.cols;
13057
- var newGrid = _objectSpread$O(_objectSpread$O({}, grid), {}, {
12980
+ var newGrid = _objectSpread$P(_objectSpread$P({}, grid), {}, {
13058
12981
  cols: grid.cols + 1
13059
12982
  });
13060
12983
  for (var row = 0; row < grid.rows; row++) {
@@ -13087,8 +13010,8 @@ function GridEditor(_ref) {
13087
13010
  });
13088
13011
  }
13089
13012
  if (grid[nextKey]) {
13090
- var newGrid = _objectSpread$O({}, grid);
13091
- newGrid[currentKey] = _objectSpread$O(_objectSpread$O({}, newGrid[currentKey]), {}, {
13013
+ var newGrid = _objectSpread$P({}, grid);
13014
+ newGrid[currentKey] = _objectSpread$P(_objectSpread$P({}, newGrid[currentKey]), {}, {
13092
13015
  colSpan: newGrid[currentKey].colSpan + 1
13093
13016
  });
13094
13017
  delete newGrid[nextKey];
@@ -13101,8 +13024,8 @@ function GridEditor(_ref) {
13101
13024
  var currentKey = "".concat(row, ".").concat(col);
13102
13025
  var belowKey = "".concat(row + 1, ".").concat(col);
13103
13026
  if (grid[belowKey]) {
13104
- var newGrid = _objectSpread$O({}, grid);
13105
- newGrid[currentKey] = _objectSpread$O(_objectSpread$O({}, newGrid[currentKey]), {}, {
13027
+ var newGrid = _objectSpread$P({}, grid);
13028
+ newGrid[currentKey] = _objectSpread$P(_objectSpread$P({}, newGrid[currentKey]), {}, {
13106
13029
  rowSpan: newGrid[currentKey].rowSpan + 1
13107
13030
  });
13108
13031
  delete newGrid[belowKey];
@@ -13119,7 +13042,7 @@ function GridEditor(_ref) {
13119
13042
  var splitCell = function splitCell(row, col) {
13120
13043
  var key = "".concat(row, ".").concat(col);
13121
13044
  var cell = grid[key];
13122
- var newGrid = _objectSpread$O({}, grid);
13045
+ var newGrid = _objectSpread$P({}, grid);
13123
13046
 
13124
13047
  // we have to check the colspan, and since the colspan is greater than 1
13125
13048
  // Only handle horizontal split if colSpan > 1
@@ -13135,13 +13058,13 @@ function GridEditor(_ref) {
13135
13058
  var oldKey = "".concat(row, ".").concat(c);
13136
13059
  var newKey = "".concat(row, ".").concat(c + 1);
13137
13060
  if (newGrid[oldKey]) {
13138
- newGrid[newKey] = _objectSpread$O({}, newGrid[oldKey]);
13061
+ newGrid[newKey] = _objectSpread$P({}, newGrid[oldKey]);
13139
13062
  delete newGrid[oldKey];
13140
13063
  }
13141
13064
  }
13142
13065
 
13143
13066
  // Update the original cell's colSpan
13144
- newGrid[key] = _objectSpread$O(_objectSpread$O({}, cell), {}, {
13067
+ newGrid[key] = _objectSpread$P(_objectSpread$P({}, cell), {}, {
13145
13068
  colSpan: cell.colSpan - 1
13146
13069
  });
13147
13070
 
@@ -13153,7 +13076,7 @@ function GridEditor(_ref) {
13153
13076
  };
13154
13077
  }
13155
13078
  if (cell.rowSpan > 1) {
13156
- newGrid[key] = _objectSpread$O(_objectSpread$O({}, newGrid[key]), {}, {
13079
+ newGrid[key] = _objectSpread$P(_objectSpread$P({}, newGrid[key]), {}, {
13157
13080
  rowSpan: cell.rowSpan - 1
13158
13081
  });
13159
13082
  newGrid["".concat(row + 1, ".").concat(col)] = {
@@ -13272,7 +13195,7 @@ function GridEditor(_ref) {
13272
13195
  var fromKey = "".concat(from.row, ".").concat(from.col);
13273
13196
  var toKey = "".concat(to.row, ".").concat(to.col);
13274
13197
  if (fromKey === toKey) return;
13275
- var newGrid = _objectSpread$O({}, grid);
13198
+ var newGrid = _objectSpread$P({}, grid);
13276
13199
 
13277
13200
  // Swap the cells
13278
13201
  var temp = newGrid[fromKey];
@@ -13298,7 +13221,7 @@ function GridEditor(_ref) {
13298
13221
  // console.log("Grid updated:", sequencedGrid);
13299
13222
  }
13300
13223
  function resetGridLayout() {
13301
- var newGrid = _objectSpread$O({}, defaultGrid);
13224
+ var newGrid = _objectSpread$P({}, defaultGrid);
13302
13225
  setGrid(newGrid);
13303
13226
  onUpdate(newGrid);
13304
13227
  }
@@ -13576,8 +13499,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
13576
13499
  });
13577
13500
  };
13578
13501
 
13579
- 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; }
13580
- 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; }
13502
+ 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; }
13503
+ 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; }
13581
13504
  var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
13582
13505
  var item = _ref.item;
13583
13506
  _ref.workspace;
@@ -13600,7 +13523,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
13600
13523
  }, [widgetUuid, notificationDefs.length]);
13601
13524
  function handleNotifToggle(typeKey, value) {
13602
13525
  var _window$mainApi2;
13603
- var updated = _objectSpread$N(_objectSpread$N({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
13526
+ var updated = _objectSpread$O(_objectSpread$O({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
13604
13527
  setNotifPrefs(updated);
13605
13528
  if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
13606
13529
  window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
@@ -13645,8 +13568,8 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
13645
13568
  function _createForOfIteratorHelper$n(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$n(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13646
13569
  function _unsupportedIterableToArray$n(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$n(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$n(r, a) : void 0; } }
13647
13570
  function _arrayLikeToArray$n(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13648
- 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; }
13649
- 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; }
13571
+ 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; }
13572
+ 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; }
13650
13573
  var DAYS = [{
13651
13574
  key: "mon",
13652
13575
  label: "Mon"
@@ -13747,7 +13670,7 @@ function TaskScheduleEditor(_ref) {
13747
13670
  var _window$mainApi;
13748
13671
  var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
13749
13672
  if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
13750
- var payload = _objectSpread$M({
13673
+ var payload = _objectSpread$N({
13751
13674
  widgetId: widgetId,
13752
13675
  widgetName: widgetName,
13753
13676
  workspaceId: workspaceId || "",
@@ -14375,8 +14298,8 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
14375
14298
  });
14376
14299
  };
14377
14300
 
14378
- 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; }
14379
- 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; }
14301
+ 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; }
14302
+ 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; }
14380
14303
  var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
14381
14304
  var workspace = _ref.workspace,
14382
14305
  onUpdate = _ref.onUpdate,
@@ -14408,7 +14331,7 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
14408
14331
  var selectedProviders = itemSelected.selectedProviders || {};
14409
14332
  function handleProviderChange(providerType, providerName) {
14410
14333
  var updatedItem = DashReact.deepCopy(itemSelected);
14411
- var nextProviders = _objectSpread$L({}, updatedItem.selectedProviders || {});
14334
+ var nextProviders = _objectSpread$M({}, updatedItem.selectedProviders || {});
14412
14335
  if (providerName) {
14413
14336
  nextProviders[providerType] = providerName;
14414
14337
  } else {
@@ -14449,7 +14372,7 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
14449
14372
  var _ref5 = _slicedToArray(_ref4, 2),
14450
14373
  name = _ref5[0],
14451
14374
  p = _ref5[1];
14452
- return _objectSpread$L({
14375
+ return _objectSpread$M({
14453
14376
  name: name
14454
14377
  }, p);
14455
14378
  });
@@ -16176,8 +16099,8 @@ var WidgetIcon = function WidgetIcon(_ref) {
16176
16099
  });
16177
16100
  };
16178
16101
 
16179
- function ownKeys$K(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; }
16180
- function _objectSpread$K(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$K(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$K(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16102
+ 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; }
16103
+ 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; }
16181
16104
  var ProviderForm = function ProviderForm(_ref) {
16182
16105
  var credentialSchema = _ref.credentialSchema,
16183
16106
  _ref$initialValues = _ref.initialValues,
@@ -16222,14 +16145,14 @@ var ProviderForm = function ProviderForm(_ref) {
16222
16145
  var oldKey = f.key;
16223
16146
  if (oldKey && formData[oldKey] !== undefined) {
16224
16147
  setFormData(function (fd) {
16225
- var updated = _objectSpread$K({}, fd);
16148
+ var updated = _objectSpread$L({}, fd);
16226
16149
  var val = updated[oldKey];
16227
16150
  delete updated[oldKey];
16228
16151
  if (newKey.trim()) updated[newKey] = val;
16229
16152
  return updated;
16230
16153
  });
16231
16154
  }
16232
- return _objectSpread$K(_objectSpread$K({}, f), {}, {
16155
+ return _objectSpread$L(_objectSpread$L({}, f), {}, {
16233
16156
  key: newKey
16234
16157
  });
16235
16158
  });
@@ -16241,14 +16164,14 @@ var ProviderForm = function ProviderForm(_ref) {
16241
16164
  });
16242
16165
  if (field !== null && field !== void 0 && field.key) {
16243
16166
  setFormData(function (prev) {
16244
- return _objectSpread$K(_objectSpread$K({}, prev), {}, _defineProperty({}, field.key, value));
16167
+ return _objectSpread$L(_objectSpread$L({}, prev), {}, _defineProperty({}, field.key, value));
16245
16168
  });
16246
16169
  }
16247
16170
  };
16248
16171
  var handleDynamicSecretToggle = function handleDynamicSecretToggle(id) {
16249
16172
  setDynamicFields(function (prev) {
16250
16173
  return prev.map(function (f) {
16251
- return f.id === id ? _objectSpread$K(_objectSpread$K({}, f), {}, {
16174
+ return f.id === id ? _objectSpread$L(_objectSpread$L({}, f), {}, {
16252
16175
  secret: !f.secret
16253
16176
  }) : f;
16254
16177
  });
@@ -16270,7 +16193,7 @@ var ProviderForm = function ProviderForm(_ref) {
16270
16193
  });
16271
16194
  if (field !== null && field !== void 0 && field.key) {
16272
16195
  setFormData(function (prev) {
16273
- var updated = _objectSpread$K({}, prev);
16196
+ var updated = _objectSpread$L({}, prev);
16274
16197
  delete updated[field.key];
16275
16198
  return updated;
16276
16199
  });
@@ -16312,13 +16235,13 @@ var ProviderForm = function ProviderForm(_ref) {
16312
16235
  */
16313
16236
  var handleInputChange = function handleInputChange(fieldName, value) {
16314
16237
  setFormData(function (prev) {
16315
- return _objectSpread$K(_objectSpread$K({}, prev), {}, _defineProperty({}, fieldName, value));
16238
+ return _objectSpread$L(_objectSpread$L({}, prev), {}, _defineProperty({}, fieldName, value));
16316
16239
  });
16317
16240
 
16318
16241
  // Clear error for this field if it was filled
16319
16242
  if (errors[fieldName] && value !== null && value !== void 0 && value.trim()) {
16320
16243
  setErrors(function (prev) {
16321
- var newErrors = _objectSpread$K({}, prev);
16244
+ var newErrors = _objectSpread$L({}, prev);
16322
16245
  delete newErrors[fieldName];
16323
16246
  return newErrors;
16324
16247
  });
@@ -16356,7 +16279,7 @@ var ProviderForm = function ProviderForm(_ref) {
16356
16279
  // Clear error if filled
16357
16280
  if (errors.providerName && value !== null && value !== void 0 && value.trim()) {
16358
16281
  setErrors(function (prev) {
16359
- var newErrors = _objectSpread$K({}, prev);
16282
+ var newErrors = _objectSpread$L({}, prev);
16360
16283
  delete newErrors.providerName;
16361
16284
  return newErrors;
16362
16285
  });
@@ -16593,8 +16516,8 @@ var ToolSelector$1 = function ToolSelector(_ref) {
16593
16516
  });
16594
16517
  };
16595
16518
 
16596
- function ownKeys$J(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; }
16597
- function _objectSpread$J(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$J(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16519
+ function ownKeys$K(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; }
16520
+ function _objectSpread$K(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$K(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$K(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16598
16521
  /**
16599
16522
  * Shared MCP utility functions.
16600
16523
  *
@@ -16722,7 +16645,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
16722
16645
  headerTemplate[name] = value;
16723
16646
  }
16724
16647
  });
16725
- var config = _objectSpread$J({}, baseMcpConfig);
16648
+ var config = _objectSpread$K({}, baseMcpConfig);
16726
16649
  if (Object.keys(headerTemplate).length > 0) {
16727
16650
  config.headerTemplate = headerTemplate;
16728
16651
  } else {
@@ -16740,7 +16663,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
16740
16663
  envMapping[env] = cred;
16741
16664
  }
16742
16665
  });
16743
- return _objectSpread$J(_objectSpread$J({}, baseMcpConfig), {}, {
16666
+ return _objectSpread$K(_objectSpread$K({}, baseMcpConfig), {}, {
16744
16667
  envMapping: envMapping
16745
16668
  });
16746
16669
  }
@@ -16977,8 +16900,8 @@ function mcpJsonToFormState(jsonString, nextRowId) {
16977
16900
  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; } } }; }
16978
16901
  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; } }
16979
16902
  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; }
16980
- 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; }
16981
- 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; }
16903
+ function ownKeys$J(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; }
16904
+ function _objectSpread$J(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$J(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16982
16905
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
16983
16906
  var isOpen = _ref.isOpen,
16984
16907
  onClose = _ref.onClose,
@@ -17173,7 +17096,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17173
17096
  .map(function (entry) {
17174
17097
  var widget = allWidgets[entry.widgetKey];
17175
17098
  if (!widget) return null; // Widget no longer exists
17176
- return _objectSpread$I(_objectSpread$I({
17099
+ return _objectSpread$J(_objectSpread$J({
17177
17100
  key: entry.widgetKey
17178
17101
  }, widget), {}, {
17179
17102
  savedProviders: entry.providers || {},
@@ -17324,7 +17247,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17324
17247
  // Get widgets from ComponentManager
17325
17248
  var allWidgets = ComponentManager.map();
17326
17249
  var widgetList = Object.keys(allWidgets).map(function (key) {
17327
- return _objectSpread$I({
17250
+ return _objectSpread$J({
17328
17251
  key: key
17329
17252
  }, allWidgets[key]);
17330
17253
  }).filter(function (widget) {
@@ -17555,7 +17478,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17555
17478
  setInlineCreateType(null);
17556
17479
  setInlineCreateSchema({});
17557
17480
  setInlineCreateError(null);
17558
- setSelectedProviders(_objectSpread$I(_objectSpread$I({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
17481
+ setSelectedProviders(_objectSpread$J(_objectSpread$J({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
17559
17482
  }
17560
17483
  };
17561
17484
  var handleInlineProviderSubmit = function handleInlineProviderSubmit(formData) {
@@ -17576,7 +17499,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17576
17499
 
17577
17500
  // Auto-select the newly created provider
17578
17501
  setSelectedProviders(function (prev) {
17579
- return _objectSpread$I(_objectSpread$I({}, prev), {}, _defineProperty({}, providerType, providerName));
17502
+ return _objectSpread$J(_objectSpread$J({}, prev), {}, _defineProperty({}, providerType, providerName));
17580
17503
  });
17581
17504
 
17582
17505
  // Collapse the inline form
@@ -17630,11 +17553,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17630
17553
  };
17631
17554
  var inlineHandleCredentialChange = function inlineHandleCredentialChange(fieldName, value) {
17632
17555
  setInlineCredentialData(function (prev) {
17633
- return _objectSpread$I(_objectSpread$I({}, prev), {}, _defineProperty({}, fieldName, value));
17556
+ return _objectSpread$J(_objectSpread$J({}, prev), {}, _defineProperty({}, fieldName, value));
17634
17557
  });
17635
17558
  if (inlineFormErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
17636
17559
  setInlineFormErrors(function (prev) {
17637
- var next = _objectSpread$I({}, prev);
17560
+ var next = _objectSpread$J({}, prev);
17638
17561
  delete next[fieldName];
17639
17562
  return next;
17640
17563
  });
@@ -17727,7 +17650,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17727
17650
  refreshProviders();
17728
17651
  }
17729
17652
  setSelectedProviders(function (prev) {
17730
- return _objectSpread$I(_objectSpread$I({}, prev), {}, _defineProperty({}, providerType, providerName));
17653
+ return _objectSpread$J(_objectSpread$J({}, prev), {}, _defineProperty({}, providerType, providerName));
17731
17654
  });
17732
17655
 
17733
17656
  // Reset stepper state
@@ -17748,7 +17671,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17748
17671
  });
17749
17672
  };
17750
17673
  var handleConfigChange = function handleConfigChange(key, value) {
17751
- setUserConfigValues(_objectSpread$I(_objectSpread$I({}, userConfigValues), {}, _defineProperty({}, key, value)));
17674
+ setUserConfigValues(_objectSpread$J(_objectSpread$J({}, userConfigValues), {}, _defineProperty({}, key, value)));
17752
17675
  };
17753
17676
 
17754
17677
  // Install a package from the registry
@@ -17814,7 +17737,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17814
17737
  // Mark items as installed
17815
17738
  setProgressWidgets(function (prev) {
17816
17739
  return prev.map(function (w) {
17817
- return _objectSpread$I(_objectSpread$I({}, w), {}, {
17740
+ return _objectSpread$J(_objectSpread$J({}, w), {}, {
17818
17741
  status: "installed"
17819
17742
  });
17820
17743
  });
@@ -17833,7 +17756,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17833
17756
  setInstallError(msg);
17834
17757
  setProgressWidgets(function (prev) {
17835
17758
  return prev.map(function (w) {
17836
- return _objectSpread$I(_objectSpread$I({}, w), {}, {
17759
+ return _objectSpread$J(_objectSpread$J({}, w), {}, {
17837
17760
  status: "failed",
17838
17761
  error: msg
17839
17762
  });
@@ -17907,7 +17830,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
17907
17830
 
17908
17831
  // Phase 3: Save to recent widgets
17909
17832
  saveToRecent(selectedWidget, selectedProviders, userConfigValues);
17910
- onSelectWidget(_objectSpread$I(_objectSpread$I({}, selectedWidget), {}, {
17833
+ onSelectWidget(_objectSpread$J(_objectSpread$J({}, selectedWidget), {}, {
17911
17834
  selectedProviders: selectedProviders,
17912
17835
  // Pass to parent
17913
17836
  userConfigValues: userConfigValues // Pass to parent
@@ -18544,7 +18467,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
18544
18467
  setInlineProviderName(value);
18545
18468
  if (inlineFormErrors.providerName && value !== null && value !== void 0 && value.trim()) {
18546
18469
  setInlineFormErrors(function (prev) {
18547
- var next = _objectSpread$I({}, prev);
18470
+ var next = _objectSpread$J({}, prev);
18548
18471
  delete next.providerName;
18549
18472
  return next;
18550
18473
  });
@@ -19708,8 +19631,8 @@ var ProviderSelector = function ProviderSelector(_ref) {
19708
19631
  });
19709
19632
  };
19710
19633
 
19711
- function ownKeys$H(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; }
19712
- function _objectSpread$H(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$H(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$H(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19634
+ 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; }
19635
+ 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; }
19713
19636
  var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
19714
19637
  var transport = _ref.transport,
19715
19638
  envMappingRows = _ref.envMappingRows,
@@ -19738,7 +19661,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
19738
19661
  var updateEnvRow = function updateEnvRow(id, field, value) {
19739
19662
  onEnvMappingRowsChange(function (prev) {
19740
19663
  return prev.map(function (row) {
19741
- return row.id === id ? _objectSpread$H(_objectSpread$H({}, row), {}, _defineProperty({}, field, value)) : row;
19664
+ return row.id === id ? _objectSpread$I(_objectSpread$I({}, row), {}, _defineProperty({}, field, value)) : row;
19742
19665
  });
19743
19666
  });
19744
19667
  };
@@ -19763,7 +19686,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
19763
19686
  var updateHeaderRow = function updateHeaderRow(id, field, value) {
19764
19687
  onHeaderRowsChange(function (prev) {
19765
19688
  return prev.map(function (row) {
19766
- return row.id === id ? _objectSpread$H(_objectSpread$H({}, row), {}, _defineProperty({}, field, value)) : row;
19689
+ return row.id === id ? _objectSpread$I(_objectSpread$I({}, row), {}, _defineProperty({}, field, value)) : row;
19767
19690
  });
19768
19691
  });
19769
19692
  };
@@ -19912,8 +19835,8 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
19912
19835
  });
19913
19836
  };
19914
19837
 
19915
- 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; }
19916
- 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; }
19838
+ function ownKeys$H(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; }
19839
+ function _objectSpread$H(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$H(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$H(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19917
19840
  var McpServerPicker = function McpServerPicker(_ref) {
19918
19841
  var _testResult$tools;
19919
19842
  var isOpen = _ref.isOpen,
@@ -20092,11 +20015,11 @@ var McpServerPicker = function McpServerPicker(_ref) {
20092
20015
  // Handle credential field changes
20093
20016
  var handleCredentialChange = function handleCredentialChange(fieldName, value) {
20094
20017
  setCredentialData(function (prev) {
20095
- return _objectSpread$G(_objectSpread$G({}, prev), {}, _defineProperty({}, fieldName, value));
20018
+ return _objectSpread$H(_objectSpread$H({}, prev), {}, _defineProperty({}, fieldName, value));
20096
20019
  });
20097
20020
  if (formErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
20098
20021
  setFormErrors(function (prev) {
20099
- var next = _objectSpread$G({}, prev);
20022
+ var next = _objectSpread$H({}, prev);
20100
20023
  delete next[fieldName];
20101
20024
  return next;
20102
20025
  });
@@ -20434,7 +20357,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
20434
20357
  setProviderName(value);
20435
20358
  if (formErrors.providerName && value !== null && value !== void 0 && value.trim()) {
20436
20359
  setFormErrors(function (prev) {
20437
- var next = _objectSpread$G({}, prev);
20360
+ var next = _objectSpread$H({}, prev);
20438
20361
  delete next.providerName;
20439
20362
  return next;
20440
20363
  });
@@ -20624,8 +20547,8 @@ var McpServerPicker = function McpServerPicker(_ref) {
20624
20547
  });
20625
20548
  };
20626
20549
 
20627
- 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; }
20628
- 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; }
20550
+ 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; }
20551
+ 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; }
20629
20552
  var USE_ENHANCED_WIDGET_SELECTOR = true; // Set to false to use original modal
20630
20553
 
20631
20554
  /**
@@ -20671,7 +20594,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
20671
20594
  var _ref3 = _slicedToArray(_ref2, 2),
20672
20595
  id = _ref3[0],
20673
20596
  p = _ref3[1];
20674
- return _objectSpread$F(_objectSpread$F({}, p), {}, {
20597
+ return _objectSpread$G(_objectSpread$G({}, p), {}, {
20675
20598
  id: id,
20676
20599
  name: p.name || id
20677
20600
  });
@@ -20758,7 +20681,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
20758
20681
  // so we use its layout to replace any corrupted grid data.
20759
20682
  if (workspace && workspace["layout"]) {
20760
20683
  var model = new DashboardModel(workspace);
20761
- setCurrentWorkspace(_objectSpread$F(_objectSpread$F({}, workspace), {}, {
20684
+ setCurrentWorkspace(_objectSpread$G(_objectSpread$G({}, workspace), {}, {
20762
20685
  layout: model.layout
20763
20686
  }));
20764
20687
  } else {
@@ -20807,7 +20730,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
20807
20730
  }
20808
20731
  try {
20809
20732
  var hasChildren = config.type === "workspace";
20810
- var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$F(_objectSpread$F({}, config), {}, {
20733
+ var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$G(_objectSpread$G({}, config), {}, {
20811
20734
  component: widgetComponentName
20812
20735
  }), hasChildren);
20813
20736
  var newWidgetId = newLayout[newLayout.length - 1].id;
@@ -21235,7 +21158,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
21235
21158
  var uuid = widget.uuid || widget.uuidString;
21236
21159
  if (uuid) {
21237
21160
  newWorkspace.selectedProviders = newWorkspace.selectedProviders || {};
21238
- newWorkspace.selectedProviders[uuid] = _objectSpread$F(_objectSpread$F({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
21161
+ newWorkspace.selectedProviders[uuid] = _objectSpread$G(_objectSpread$G({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
21239
21162
  }
21240
21163
  setCurrentWorkspace(newWorkspace);
21241
21164
  }
@@ -21371,7 +21294,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
21371
21294
  var _gridContainer$grid;
21372
21295
  var config = ComponentManager.config(widgetKey);
21373
21296
  if (!config) return;
21374
- var widgetItem = _objectSpread$F(_objectSpread$F({}, config), {}, {
21297
+ var widgetItem = _objectSpread$G(_objectSpread$G({}, config), {}, {
21375
21298
  component: widgetKey,
21376
21299
  key: widgetKey
21377
21300
  });
@@ -21625,7 +21548,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
21625
21548
  onSelectWidget: function onSelectWidget(widget) {
21626
21549
 
21627
21550
  // Add component property from widget.key
21628
- var widgetWithComponent = _objectSpread$F(_objectSpread$F({}, widget), {}, {
21551
+ var widgetWithComponent = _objectSpread$G(_objectSpread$G({}, widget), {}, {
21629
21552
  component: widget.key
21630
21553
  });
21631
21554
  handleClickConfirmAdd(widgetWithComponent, dropdownTarget);
@@ -23254,8 +23177,8 @@ var MissingProviderPrompt = function MissingProviderPrompt(_ref) {
23254
23177
  });
23255
23178
  };
23256
23179
 
23257
- 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; }
23258
- 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; }
23180
+ 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; }
23181
+ 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; }
23259
23182
  function _callSuper$4(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$4() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
23260
23183
  function _isNativeReflectConstruct$4() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$4 = function _isNativeReflectConstruct() { return !!t; })(); }
23261
23184
  var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
@@ -23310,7 +23233,7 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
23310
23233
  _defineProperty(_this, "handleProviderSelect", function (providerType, providerName, credentials) {
23311
23234
 
23312
23235
  // Update local selected providers state
23313
- var updatedSelected = _objectSpread$E(_objectSpread$E({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
23236
+ var updatedSelected = _objectSpread$F(_objectSpread$F({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
23314
23237
  _this.setState({
23315
23238
  selectedProviders: updatedSelected
23316
23239
  }, function () {
@@ -23384,8 +23307,8 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
23384
23307
  }(React.Component);
23385
23308
  _defineProperty(ProviderErrorBoundary, "contextType", ProviderContext);
23386
23309
 
23387
- 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; }
23388
- 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; }
23310
+ 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; }
23311
+ 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; }
23389
23312
  var withProviderDetection = function withProviderDetection(Component) {
23390
23313
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
23391
23314
  _ref$requiredProvider = _ref.requiredProviders,
@@ -23410,7 +23333,7 @@ var withProviderDetection = function withProviderDetection(Component) {
23410
23333
  onProviderSelect: onProviderSelect
23411
23334
  });
23412
23335
  }
23413
- return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$D({}, props));
23336
+ return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$E({}, props));
23414
23337
  };
23415
23338
  };
23416
23339
 
@@ -24086,8 +24009,8 @@ var WidgetNotFound = function WidgetNotFound(_ref) {
24086
24009
  });
24087
24010
  };
24088
24011
 
24089
- 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; }
24090
- 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; }
24012
+ 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; }
24013
+ 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; }
24091
24014
  function _callSuper$2(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$2() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
24092
24015
  function _isNativeReflectConstruct$2() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$2 = function _isNativeReflectConstruct() { return !!t; })(); }
24093
24016
  var WidgetErrorBoundary = /*#__PURE__*/function (_Component) {
@@ -24247,7 +24170,7 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
24247
24170
 
24248
24171
  // Build widgetData for WidgetContext — hooks read from this
24249
24172
  var uuidString = DashReact.getUUID(params.uuid);
24250
- var widgetData = _objectSpread$C(_objectSpread$C({}, params), {}, {
24173
+ var widgetData = _objectSpread$D(_objectSpread$D({}, params), {}, {
24251
24174
  uuidString: uuidString,
24252
24175
  providers: (config === null || config === void 0 ? void 0 : config.providers) || [],
24253
24176
  notifications: (config === null || config === void 0 ? void 0 : config.notifications) || []
@@ -24271,7 +24194,7 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
24271
24194
  widgetData: widgetData
24272
24195
  };
24273
24196
  var hasScheduledTasks = ((config === null || config === void 0 ? void 0 : config.scheduledTasks) || []).length > 0;
24274
- var widgetElement = children === null ? /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$C(_objectSpread$C(_objectSpread$C({
24197
+ var widgetElement = children === null ? /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$D(_objectSpread$D(_objectSpread$D({
24275
24198
  id: "widget-nokids-".concat(widgetKey),
24276
24199
  listen: function listen(listeners, handlers) {
24277
24200
  return helpers.listen(listeners, handlers);
@@ -24285,7 +24208,7 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
24285
24208
  backgroundColor: bgColor,
24286
24209
  widgetConfig: helpers.config(),
24287
24210
  widgetEventNames: helpers.events()
24288
- }), "widget-nokids-".concat(widgetKey, "-v").concat(componentVersion)) : /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$C(_objectSpread$C(_objectSpread$C({
24211
+ }), "widget-nokids-".concat(widgetKey, "-v").concat(componentVersion)) : /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$D(_objectSpread$D(_objectSpread$D({
24289
24212
  listen: function listen(listeners, handlers) {
24290
24213
  return helpers.listen(listeners, handlers);
24291
24214
  },
@@ -24488,8 +24411,15 @@ var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
24488
24411
  function _createForOfIteratorHelper$k(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$k(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; } } }; }
24489
24412
  function _unsupportedIterableToArray$k(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$k(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$k(r, a) : void 0; } }
24490
24413
  function _arrayLikeToArray$k(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; }
24491
- 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; }
24492
- 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; }
24414
+ 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; }
24415
+ 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; }
24416
+
24417
+ // Identifies which "bucket" of the workspace a LayoutBuilder belongs
24418
+ // to so drop handlers on grid cells can distinguish a same-container
24419
+ // swap from a cross-container move (sidebar ↔ main dashboard). Wrap
24420
+ // the sidebar's LayoutBuilder with value "sidebar"; everything else
24421
+ // defaults to "main".
24422
+ var WorkspaceScopeContext = /*#__PURE__*/React.createContext("main");
24493
24423
  var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
24494
24424
  var cellNumber = _ref.cellNumber,
24495
24425
  gridContainerId = _ref.gridContainerId,
@@ -24498,13 +24428,15 @@ var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
24498
24428
  hasSpan = _ref.hasSpan,
24499
24429
  children = _ref.children,
24500
24430
  padding = _ref.padding;
24431
+ var workspaceScope = React.useContext(WorkspaceScopeContext);
24501
24432
  var _useDrag = reactDnd.useDrag(function () {
24502
24433
  return {
24503
24434
  type: GRID_CELL_WIDGET_TYPE,
24504
24435
  item: {
24505
24436
  cellNumber: cellNumber,
24506
24437
  gridContainerId: gridContainerId,
24507
- hasSpan: hasSpan
24438
+ hasSpan: hasSpan,
24439
+ workspaceScope: workspaceScope
24508
24440
  },
24509
24441
  collect: function collect(monitor) {
24510
24442
  return {
@@ -24512,7 +24444,7 @@ var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
24512
24444
  };
24513
24445
  }
24514
24446
  };
24515
- }, [cellNumber, gridContainerId, hasSpan]),
24447
+ }, [cellNumber, gridContainerId, hasSpan, workspaceScope]),
24516
24448
  _useDrag2 = _slicedToArray(_useDrag, 2),
24517
24449
  isDragging = _useDrag2[0].isDragging,
24518
24450
  drag = _useDrag2[1];
@@ -24522,6 +24454,12 @@ var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
24522
24454
  canDrop: function canDrop(dragItem, monitor) {
24523
24455
  var itemType = monitor.getItemType();
24524
24456
  if (itemType === SIDEBAR_WIDGET_TYPE) return true;
24457
+ // Allow cross-scope drops (sidebar ↔ main dashboard). Same-scope
24458
+ // drops keep the old constraints: no self-drop, no span cells.
24459
+ if ((dragItem.workspaceScope || "main") !== workspaceScope) {
24460
+ if (dragItem.hasSpan || hasSpan) return false;
24461
+ return true;
24462
+ }
24525
24463
  if (dragItem.gridContainerId !== gridContainerId) return false;
24526
24464
  if (dragItem.cellNumber === cellNumber) return false;
24527
24465
  if (dragItem.hasSpan || hasSpan) return false;
@@ -24531,9 +24469,26 @@ var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
24531
24469
  var itemType = monitor.getItemType();
24532
24470
  if (itemType === SIDEBAR_WIDGET_TYPE) {
24533
24471
  if (onDropWidgetFromSidebar) onDropWidgetFromSidebar(gridContainerId, cellNumber, dragItem.widgetKey);
24534
- } else {
24535
- if (onMoveWidgetToCell) onMoveWidgetToCell(gridContainerId, dragItem.cellNumber, cellNumber);
24472
+ return;
24536
24473
  }
24474
+ // Cross-scope drop (sidebar ↔ main): can't handle here because
24475
+ // a LayoutBuilder only sees one bucket of the workspace. Emit
24476
+ // a window event so something up the tree (DashboardStage)
24477
+ // can mutate the FULL workspace + save atomically.
24478
+ if ((dragItem.workspaceScope || "main") !== workspaceScope) {
24479
+ window.dispatchEvent(new CustomEvent("dash:cross-container-widget-move", {
24480
+ detail: {
24481
+ sourceScope: dragItem.workspaceScope || "main",
24482
+ sourceGridContainerId: dragItem.gridContainerId,
24483
+ sourceCellNumber: dragItem.cellNumber,
24484
+ targetScope: workspaceScope,
24485
+ targetGridContainerId: gridContainerId,
24486
+ targetCellNumber: cellNumber
24487
+ }
24488
+ }));
24489
+ return;
24490
+ }
24491
+ if (onMoveWidgetToCell) onMoveWidgetToCell(gridContainerId, dragItem.cellNumber, cellNumber);
24537
24492
  },
24538
24493
  collect: function collect(monitor) {
24539
24494
  return {
@@ -24543,7 +24498,7 @@ var DraggableDroppableCellBody = function DraggableDroppableCellBody(_ref) {
24543
24498
  };
24544
24499
  }
24545
24500
  };
24546
- }, [cellNumber, gridContainerId, onMoveWidgetToCell, onDropWidgetFromSidebar, hasSpan]),
24501
+ }, [cellNumber, gridContainerId, onMoveWidgetToCell, onDropWidgetFromSidebar, hasSpan, workspaceScope]),
24547
24502
  _useDrop2 = _slicedToArray(_useDrop, 2),
24548
24503
  _useDrop2$ = _useDrop2[0],
24549
24504
  isOver = _useDrop2$.isOver,
@@ -24574,21 +24529,37 @@ var DroppableEmptyCell = function DroppableEmptyCell(_ref2) {
24574
24529
  onMoveWidgetToCell = _ref2.onMoveWidgetToCell,
24575
24530
  onDropWidgetFromSidebar = _ref2.onDropWidgetFromSidebar,
24576
24531
  children = _ref2.children;
24532
+ var workspaceScope = React.useContext(WorkspaceScopeContext);
24577
24533
  var _useDrop3 = reactDnd.useDrop(function () {
24578
24534
  return {
24579
24535
  accept: [GRID_CELL_WIDGET_TYPE, SIDEBAR_WIDGET_TYPE],
24580
24536
  canDrop: function canDrop(dragItem, monitor) {
24581
24537
  var itemType = monitor.getItemType();
24582
24538
  if (itemType === SIDEBAR_WIDGET_TYPE) return true;
24539
+ // Cross-scope drop onto an empty cell is always allowed.
24540
+ if ((dragItem.workspaceScope || "main") !== workspaceScope) return true;
24583
24541
  return dragItem.cellNumber !== cellNumber && dragItem.gridContainerId === gridContainerId;
24584
24542
  },
24585
24543
  drop: function drop(dragItem, monitor) {
24586
24544
  var itemType = monitor.getItemType();
24587
24545
  if (itemType === SIDEBAR_WIDGET_TYPE) {
24588
24546
  if (onDropWidgetFromSidebar) onDropWidgetFromSidebar(gridContainerId, cellNumber, dragItem.widgetKey);
24589
- } else {
24590
- if (onMoveWidgetToCell) onMoveWidgetToCell(gridContainerId, dragItem.cellNumber, cellNumber);
24547
+ return;
24591
24548
  }
24549
+ if ((dragItem.workspaceScope || "main") !== workspaceScope) {
24550
+ window.dispatchEvent(new CustomEvent("dash:cross-container-widget-move", {
24551
+ detail: {
24552
+ sourceScope: dragItem.workspaceScope || "main",
24553
+ sourceGridContainerId: dragItem.gridContainerId,
24554
+ sourceCellNumber: dragItem.cellNumber,
24555
+ targetScope: workspaceScope,
24556
+ targetGridContainerId: gridContainerId,
24557
+ targetCellNumber: cellNumber
24558
+ }
24559
+ }));
24560
+ return;
24561
+ }
24562
+ if (onMoveWidgetToCell) onMoveWidgetToCell(gridContainerId, dragItem.cellNumber, cellNumber);
24592
24563
  },
24593
24564
  collect: function collect(monitor) {
24594
24565
  return {
@@ -24597,7 +24568,7 @@ var DroppableEmptyCell = function DroppableEmptyCell(_ref2) {
24597
24568
  };
24598
24569
  }
24599
24570
  };
24600
- }, [cellNumber, gridContainerId, onMoveWidgetToCell, onDropWidgetFromSidebar]),
24571
+ }, [cellNumber, gridContainerId, onMoveWidgetToCell, onDropWidgetFromSidebar, workspaceScope]),
24601
24572
  _useDrop4 = _slicedToArray(_useDrop3, 2),
24602
24573
  _useDrop4$ = _useDrop4[0],
24603
24574
  isOver = _useDrop4$.isOver,
@@ -24687,7 +24658,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
24687
24658
  var _ref5 = _slicedToArray(_ref4, 2),
24688
24659
  id = _ref5[0],
24689
24660
  provider = _ref5[1];
24690
- return _objectSpread$B({
24661
+ return _objectSpread$C({
24691
24662
  id: id
24692
24663
  }, provider);
24693
24664
  }) : [];
@@ -25736,7 +25707,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
25736
25707
  var widgetSpecificSelections = (workspace === null || workspace === void 0 || (_workspace$selectedPr = workspace.selectedProviders) === null || _workspace$selectedPr === void 0 ? void 0 : _workspace$selectedPr[id]) || {};
25737
25708
 
25738
25709
  // Add provider-related props from workspace
25739
- var itemWithProviders = _objectSpread$B(_objectSpread$B({}, item), {}, {
25710
+ var itemWithProviders = _objectSpread$C(_objectSpread$C({}, item), {}, {
25740
25711
  selectedProviders: widgetSpecificSelections,
25741
25712
  onProviderSelect: onProviderSelect
25742
25713
  });
@@ -25954,6 +25925,8 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
25954
25925
  }) : renderComponentContainer(children);
25955
25926
  });
25956
25927
 
25928
+ 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; }
25929
+ 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; }
25957
25930
  function compareChildren(a, b) {
25958
25931
  if (a.order < b.order) {
25959
25932
  return -1;
@@ -26911,6 +26884,166 @@ function replaceItemInLayout(tempLayout, id, item) {
26911
26884
  return tempLayout;
26912
26885
  }
26913
26886
 
26887
+ /**
26888
+ * moveWidgetAcrossContainers
26889
+ *
26890
+ * Moves a widget (and optionally swaps with another) between two grid
26891
+ * containers that live in different "buckets" of the workspace — e.g.
26892
+ * from `workspace.sidebarLayout` into `workspace.pages[i].layout`, or
26893
+ * vice versa. Each LayoutBuilder only sees one bucket, so same-grid
26894
+ * moves go through `DashboardModel.moveWidgetToCell`; cross-bucket
26895
+ * moves need this function because they have to rewrite two buckets
26896
+ * atomically.
26897
+ *
26898
+ * The workspace shape we handle:
26899
+ * workspace.layout — legacy top-level layout (may be empty
26900
+ * if everything lives under pages)
26901
+ * workspace.pages[i].layout — one layout array per page
26902
+ * workspace.sidebarLayout — one layout array for the pinned sidebar
26903
+ *
26904
+ * Each bucket is a flat array of layout items where grid containers
26905
+ * reference their widgets via `grid[cellKey].component = widgetId`
26906
+ * and widget items carry `parent = gridContainerId`.
26907
+ *
26908
+ * Semantics:
26909
+ * - Source cell has a widget (enforced by the drag source).
26910
+ * - If target cell has a widget → SWAP (target widget lands where
26911
+ * source came from).
26912
+ * - If target cell is empty → MOVE.
26913
+ * - Widget layout items get moved between buckets and their `parent`
26914
+ * pointer is updated to the new grid container id.
26915
+ *
26916
+ * Returns a NEW workspace object (deep-cloned along the mutated
26917
+ * path); does not mutate the input.
26918
+ *
26919
+ * @returns {object|null} updated workspace, or null if source/target
26920
+ * couldn't be located.
26921
+ */
26922
+ function moveWidgetAcrossContainers(workspace, sourceGridId, sourceCell, targetGridId, targetCell) {
26923
+ if (!workspace) return null;
26924
+
26925
+ // Build a list of every bucket with a stable name so we can locate
26926
+ // grid containers across them and patch them back in place.
26927
+ var buckets = [];
26928
+ if (Array.isArray(workspace.layout)) {
26929
+ buckets.push({
26930
+ key: "layout",
26931
+ get: function get() {
26932
+ return workspace.layout;
26933
+ }
26934
+ });
26935
+ }
26936
+ if (Array.isArray(workspace.pages)) {
26937
+ var _loop = function _loop() {
26938
+ var _workspace$pages$i;
26939
+ if (Array.isArray((_workspace$pages$i = workspace.pages[i]) === null || _workspace$pages$i === void 0 ? void 0 : _workspace$pages$i.layout)) {
26940
+ var idx = i;
26941
+ buckets.push({
26942
+ key: "pages[".concat(idx, "]"),
26943
+ get: function get() {
26944
+ return workspace.pages[idx].layout;
26945
+ }
26946
+ });
26947
+ }
26948
+ };
26949
+ for (var i = 0; i < workspace.pages.length; i++) {
26950
+ _loop();
26951
+ }
26952
+ }
26953
+ if (Array.isArray(workspace.sidebarLayout)) {
26954
+ buckets.push({
26955
+ key: "sidebarLayout",
26956
+ get: function get() {
26957
+ return workspace.sidebarLayout;
26958
+ }
26959
+ });
26960
+ }
26961
+ var findBucket = function findBucket(gridId) {
26962
+ for (var _i = 0, _buckets = buckets; _i < _buckets.length; _i++) {
26963
+ var b = _buckets[_i];
26964
+ var items = b.get();
26965
+ if (items.some(function (i) {
26966
+ return i.id === gridId;
26967
+ })) return b;
26968
+ }
26969
+ return null;
26970
+ };
26971
+ var sourceBucketDef = findBucket(sourceGridId);
26972
+ var targetBucketDef = findBucket(targetGridId);
26973
+ if (!sourceBucketDef || !targetBucketDef) return null;
26974
+
26975
+ // Deep-clone the workspace so we can mutate freely.
26976
+ var cloned = JSON.parse(JSON.stringify(workspace));
26977
+ var getBucketArray = function getBucketArray(def) {
26978
+ if (def.key === "layout") return cloned.layout;
26979
+ if (def.key === "sidebarLayout") return cloned.sidebarLayout;
26980
+ var m = def.key.match(/^pages\[(\d+)\]$/);
26981
+ if (m) return cloned.pages[Number(m[1])].layout;
26982
+ return null;
26983
+ };
26984
+ var sourceBucket = getBucketArray(sourceBucketDef);
26985
+ var targetBucket = getBucketArray(targetBucketDef);
26986
+ var sourceGrid = sourceBucket.find(function (i) {
26987
+ return i.id === sourceGridId;
26988
+ });
26989
+ var targetGrid = targetBucket.find(function (i) {
26990
+ return i.id === targetGridId;
26991
+ });
26992
+ if (!(sourceGrid !== null && sourceGrid !== void 0 && sourceGrid.grid) || !(targetGrid !== null && targetGrid !== void 0 && targetGrid.grid)) return null;
26993
+ var sourceCellData = sourceGrid.grid[sourceCell];
26994
+ var targetCellData = targetGrid.grid[targetCell];
26995
+ if (!sourceCellData) return null;
26996
+ var sourceWidgetId = sourceCellData.component;
26997
+ var targetWidgetId = targetCellData ? targetCellData.component : null;
26998
+ if (sourceWidgetId == null) return null;
26999
+
27000
+ // Rewire the grid pointers first (swap works for empty target too —
27001
+ // targetWidgetId is null then and the source cell becomes empty).
27002
+ sourceGrid.grid[sourceCell] = _objectSpread$B(_objectSpread$B({}, sourceCellData), {}, {
27003
+ component: targetWidgetId
27004
+ });
27005
+ if (!targetCellData) {
27006
+ targetGrid.grid[targetCell] = {
27007
+ component: sourceWidgetId,
27008
+ hide: false
27009
+ };
27010
+ } else {
27011
+ targetGrid.grid[targetCell] = _objectSpread$B(_objectSpread$B({}, targetCellData), {}, {
27012
+ component: sourceWidgetId
27013
+ });
27014
+ }
27015
+
27016
+ // Move the widget layout item(s) between buckets when buckets differ.
27017
+ // Same-bucket swaps just update parent pointers (cheap) but we still
27018
+ // bail out early because DashboardModel.moveWidgetToCell is the
27019
+ // canonical same-container path.
27020
+ if (sourceBucketDef !== targetBucketDef) {
27021
+ var sourceWidgetIdx = sourceBucket.findIndex(function (i) {
27022
+ return i.id === sourceWidgetId;
27023
+ });
27024
+ if (sourceWidgetIdx >= 0) {
27025
+ var _sourceBucket$splice = sourceBucket.splice(sourceWidgetIdx, 1),
27026
+ _sourceBucket$splice2 = _slicedToArray(_sourceBucket$splice, 1),
27027
+ srcWidget = _sourceBucket$splice2[0];
27028
+ srcWidget.parent = targetGridId;
27029
+ targetBucket.push(srcWidget);
27030
+ }
27031
+ if (targetWidgetId != null) {
27032
+ var targetWidgetIdx = targetBucket.findIndex(function (i) {
27033
+ return i.id === targetWidgetId;
27034
+ });
27035
+ if (targetWidgetIdx >= 0) {
27036
+ var _targetBucket$splice = targetBucket.splice(targetWidgetIdx, 1),
27037
+ _targetBucket$splice2 = _slicedToArray(_targetBucket$splice, 1),
27038
+ tgtWidget = _targetBucket$splice2[0];
27039
+ tgtWidget.parent = sourceGridId;
27040
+ sourceBucket.push(tgtWidget);
27041
+ }
27042
+ }
27043
+ }
27044
+ return cloned;
27045
+ }
27046
+
26914
27047
  /**
26915
27048
  * getNearestParentWorkspace
26916
27049
  * Find the nearest workspace that matches the workspace type
@@ -52445,17 +52578,20 @@ var PinnedSidebar = /*#__PURE__*/React.memo(function (_ref) {
52445
52578
  children: [editMode && sidebarWorkspace && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
52446
52579
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
52447
52580
  className: "flex flex-col overflow-y-auto ".concat(hasWidget ? "flex-1 min-h-0" : "flex-1 basis-1/2"),
52448
- children: /*#__PURE__*/jsxRuntime.jsx(LayoutBuilder, {
52449
- dashboardId: workspace === null || workspace === void 0 ? void 0 : workspace.id,
52450
- preview: false,
52451
- workspace: sidebarWorkspace,
52452
- onWorkspaceChange: handleSidebarChange,
52453
- onProviderSelect: onProviderSelect,
52454
- onTogglePreview: onTogglePreview,
52455
- editMode: "all",
52456
- workspaceRef: sidebarRef,
52457
- onWidgetPopout: onWidgetPopout
52458
- }, "sidebar-edit-".concat(workspace === null || workspace === void 0 ? void 0 : workspace.id, "-").concat(hasWidget))
52581
+ children: /*#__PURE__*/jsxRuntime.jsx(WorkspaceScopeContext.Provider, {
52582
+ value: "sidebar",
52583
+ children: /*#__PURE__*/jsxRuntime.jsx(LayoutBuilder, {
52584
+ dashboardId: workspace === null || workspace === void 0 ? void 0 : workspace.id,
52585
+ preview: false,
52586
+ workspace: sidebarWorkspace,
52587
+ onWorkspaceChange: handleSidebarChange,
52588
+ onProviderSelect: onProviderSelect,
52589
+ onTogglePreview: onTogglePreview,
52590
+ editMode: "all",
52591
+ workspaceRef: sidebarRef,
52592
+ onWidgetPopout: onWidgetPopout
52593
+ }, "sidebar-edit-".concat(workspace === null || workspace === void 0 ? void 0 : workspace.id, "-").concat(hasWidget))
52594
+ })
52459
52595
  }), !hasWidget && /*#__PURE__*/jsxRuntime.jsxs("div", {
52460
52596
  className: "flex flex-col flex-1 basis-1/2 border-t border-gray-700/50 overflow-y-auto",
52461
52597
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
@@ -52468,17 +52604,20 @@ var PinnedSidebar = /*#__PURE__*/React.memo(function (_ref) {
52468
52604
  })]
52469
52605
  }), !editMode && hasWidget && sidebarWorkspace && /*#__PURE__*/jsxRuntime.jsx("div", {
52470
52606
  className: "flex flex-col flex-1 min-h-0 overflow-y-auto",
52471
- children: /*#__PURE__*/jsxRuntime.jsx(LayoutBuilder, {
52472
- dashboardId: workspace === null || workspace === void 0 ? void 0 : workspace.id,
52473
- preview: true,
52474
- workspace: sidebarWorkspace,
52475
- onWorkspaceChange: handleSidebarChange,
52476
- onProviderSelect: onProviderSelect,
52477
- onTogglePreview: onTogglePreview,
52478
- editMode: "all",
52479
- workspaceRef: sidebarRef,
52480
- onWidgetPopout: onWidgetPopout
52481
- }, "sidebar-preview-".concat(workspace === null || workspace === void 0 ? void 0 : workspace.id, "-").concat(hasWidget))
52607
+ children: /*#__PURE__*/jsxRuntime.jsx(WorkspaceScopeContext.Provider, {
52608
+ value: "sidebar",
52609
+ children: /*#__PURE__*/jsxRuntime.jsx(LayoutBuilder, {
52610
+ dashboardId: workspace === null || workspace === void 0 ? void 0 : workspace.id,
52611
+ preview: true,
52612
+ workspace: sidebarWorkspace,
52613
+ onWorkspaceChange: handleSidebarChange,
52614
+ onProviderSelect: onProviderSelect,
52615
+ onTogglePreview: onTogglePreview,
52616
+ editMode: "all",
52617
+ workspaceRef: sidebarRef,
52618
+ onWidgetPopout: onWidgetPopout
52619
+ }, "sidebar-preview-".concat(workspace === null || workspace === void 0 ? void 0 : workspace.id, "-").concat(hasWidget))
52620
+ })
52482
52621
  }), !editMode && !hasWidget && hasPages && renderPageList()]
52483
52622
  });
52484
52623
  }, function (prev, next) {
@@ -55576,6 +55715,42 @@ var DashboardStageInner = function DashboardStageInner(_ref3) {
55576
55715
  };
55577
55716
  }, [popout]);
55578
55717
 
55718
+ // ─── Cross-container widget drag/drop ─────────────────────────────
55719
+ // Each LayoutBuilder (main dashboard + pinned sidebar) only owns one
55720
+ // bucket of the workspace. A drop across them (sidebar ↔ main grid)
55721
+ // fires a "dash:cross-container-widget-move" window CustomEvent from
55722
+ // LayoutGridContainer's drop handler. We listen here, at the level
55723
+ // that owns the full workspace, rewire both grid cells + move the
55724
+ // widget layout item between buckets via moveWidgetAcrossContainers,
55725
+ // and save once.
55726
+ React.useEffect(function () {
55727
+ if (popout) return;
55728
+ var handler = function handler(e) {
55729
+ var detail = (e === null || e === void 0 ? void 0 : e.detail) || {};
55730
+ if (!workspaceSelected) return;
55731
+ var updated = moveWidgetAcrossContainers(workspaceSelected, detail.sourceGridContainerId, detail.sourceCellNumber, detail.targetGridContainerId, detail.targetCellNumber);
55732
+ if (!updated) {
55733
+ return;
55734
+ }
55735
+ updateTabWorkspace(updated);
55736
+ if (dashApi && credentials !== null && credentials !== void 0 && credentials.appId) {
55737
+ try {
55738
+ dashApi.saveWorkspace(credentials.appId, updated, function () {
55739
+ return (void 0);
55740
+ }, function (err) {
55741
+ return (void 0);
55742
+ });
55743
+ } catch (err) {
55744
+ }
55745
+ }
55746
+ };
55747
+ window.addEventListener("dash:cross-container-widget-move", handler);
55748
+ return function () {
55749
+ return window.removeEventListener("dash:cross-container-widget-move", handler);
55750
+ };
55751
+ // eslint-disable-next-line react-hooks/exhaustive-deps
55752
+ }, [popout, workspaceSelected, dashApi, credentials === null || credentials === void 0 ? void 0 : credentials.appId]);
55753
+
55579
55754
  // ─── Tab Handlers ─────────────────────────────────────────────────
55580
55755
 
55581
55756
  function handleOpenTab(workspaceItem) {
@@ -60462,6 +60637,7 @@ exports.WorkspaceContext = WorkspaceContext;
60462
60637
  exports.WorkspaceFooter = WorkspaceFooter;
60463
60638
  exports.WorkspaceMenu = WorkspaceMenu;
60464
60639
  exports.WorkspaceModel = WorkspaceModel;
60640
+ exports.WorkspaceScopeContext = WorkspaceScopeContext;
60465
60641
  exports.addChildToLayoutItem = addChildToLayoutItem;
60466
60642
  exports.addItemToItemLayout = addItemToItemLayout;
60467
60643
  exports.buildMcpConfigFromOverrides = buildMcpConfigFromOverrides;
@@ -60510,6 +60686,7 @@ exports.isWorkspace = isWorkspace;
60510
60686
  exports.layoutItemHasWorkspaceAsChild = layoutItemHasWorkspaceAsChild;
60511
60687
  exports.loadWidgetBundle = loadWidgetBundle;
60512
60688
  exports.mcpJsonToFormState = mcpJsonToFormState;
60689
+ exports.moveWidgetAcrossContainers = moveWidgetAcrossContainers;
60513
60690
  exports.numChildrenForLayout = numChildrenForLayout;
60514
60691
  exports.parse = parse;
60515
60692
  exports.removeItemFromLayout = removeItemFromLayout;