@trops/dash-core 0.1.520 → 0.1.522

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
@@ -52,8 +52,8 @@ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
52
52
  var jsxRuntime__namespace = /*#__PURE__*/_interopNamespaceDefault(jsxRuntime);
53
53
  var ReactDOM__namespace = /*#__PURE__*/_interopNamespaceDefault(ReactDOM);
54
54
 
55
- function ownKeys$11(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; }
56
- function _objectSpread$11(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$11(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$11(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
55
+ function ownKeys$13(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; }
56
+ function _objectSpread$13(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$13(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$13(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
57
57
  var event = {
58
58
  list: new Map(),
59
59
  // Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
@@ -115,7 +115,7 @@ var event = {
115
115
  uuid: subscriber["uuid"]
116
116
  };
117
117
  if ("action" in subscriber && subscriber.action !== undefined) {
118
- subscriber["action"](_objectSpread$11({}, objectToSend));
118
+ subscriber["action"](_objectSpread$13({}, objectToSend));
119
119
  }
120
120
  });
121
121
  }
@@ -2964,8 +2964,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
2964
2964
  });
2965
2965
  };
2966
2966
 
2967
- function ownKeys$10(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; }
2968
- function _objectSpread$10(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$10(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$10(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2967
+ function ownKeys$12(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; }
2968
+ function _objectSpread$12(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$12(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$12(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2969
2969
  function ThemeBroadcast(_ref) {
2970
2970
  var ctx = _ref.ctx;
2971
2971
  React.useEffect(function () {
@@ -2998,7 +2998,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
2998
2998
  var dashboardTheme = themes[themeKey];
2999
2999
  var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
3000
3000
  if (!themeValue) return null;
3001
- return _objectSpread$10(_objectSpread$10({}, parentContext), {}, {
3001
+ return _objectSpread$12(_objectSpread$12({}, parentContext), {}, {
3002
3002
  currentTheme: themeValue,
3003
3003
  currentThemeKey: themeKey,
3004
3004
  theme: themeValue,
@@ -3025,8 +3025,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref2) {
3025
3025
  });
3026
3026
  };
3027
3027
 
3028
- function ownKeys$$(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; }
3029
- function _objectSpread$$(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$$(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$$(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3028
+ function ownKeys$11(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; }
3029
+ function _objectSpread$11(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$11(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$11(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3030
3030
  var AppThemeScope = function AppThemeScope(_ref) {
3031
3031
  var children = _ref.children;
3032
3032
  var ctx = React.useContext(DashReact.ThemeContext);
@@ -3034,7 +3034,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
3034
3034
  children: children
3035
3035
  });
3036
3036
  return /*#__PURE__*/jsxRuntime.jsx(DashReact.ThemeContext.Provider, {
3037
- value: _objectSpread$$(_objectSpread$$({}, ctx), {}, {
3037
+ value: _objectSpread$11(_objectSpread$11({}, ctx), {}, {
3038
3038
  currentTheme: ctx.appTheme,
3039
3039
  currentThemeKey: ctx.appThemeKey,
3040
3040
  theme: ctx.appTheme,
@@ -3146,11 +3146,11 @@ var LayoutContainer = function LayoutContainer(_ref) {
3146
3146
  });
3147
3147
  };
3148
3148
 
3149
- function ownKeys$_(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; }
3150
- function _objectSpread$_(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$_(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$_(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3151
- function _createForOfIteratorHelper$C(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$C(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; } } }; }
3152
- function _unsupportedIterableToArray$C(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$C(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$C(r, a) : void 0; } }
3153
- function _arrayLikeToArray$C(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; }
3149
+ function ownKeys$10(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; }
3150
+ function _objectSpread$10(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$10(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$10(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3151
+ function _createForOfIteratorHelper$D(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$D(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; } } }; }
3152
+ function _unsupportedIterableToArray$D(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$D(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$D(r, a) : void 0; } }
3153
+ function _arrayLikeToArray$D(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; }
3154
3154
  /**
3155
3155
  * Layout template definitions for the dashboard template picker.
3156
3156
  *
@@ -3424,12 +3424,12 @@ function createLayoutFromTemplate(template) {
3424
3424
  cols: template.cols,
3425
3425
  gap: "gap-2"
3426
3426
  };
3427
- var _iterator = _createForOfIteratorHelper$C(template.cells),
3427
+ var _iterator = _createForOfIteratorHelper$D(template.cells),
3428
3428
  _step;
3429
3429
  try {
3430
3430
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
3431
3431
  var cell = _step.value;
3432
- grid[cell.key] = _objectSpread$_({
3432
+ grid[cell.key] = _objectSpread$10({
3433
3433
  component: null,
3434
3434
  hide: cell.hide || false
3435
3435
  }, cell.span ? {
@@ -4605,11 +4605,11 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
4605
4605
  });
4606
4606
  };
4607
4607
 
4608
- function _createForOfIteratorHelper$B(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$B(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; } } }; }
4609
- function _unsupportedIterableToArray$B(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$B(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$B(r, a) : void 0; } }
4610
- function _arrayLikeToArray$B(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; }
4611
- function ownKeys$Z(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; }
4612
- function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4608
+ function _createForOfIteratorHelper$C(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$C(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; } } }; }
4609
+ function _unsupportedIterableToArray$C(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$C(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$C(r, a) : void 0; } }
4610
+ function _arrayLikeToArray$C(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; }
4611
+ function ownKeys$$(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; }
4612
+ function _objectSpread$$(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$$(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$$(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4613
4613
  var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4614
4614
  var dashboardPackage = _ref.dashboardPackage,
4615
4615
  appId = _ref.appId,
@@ -4842,7 +4842,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4842
4842
  setProgressWidgets(function (prev) {
4843
4843
  var next = _toConsumableArray(prev);
4844
4844
  if (data.index >= 0 && data.index < next.length) {
4845
- next[data.index] = _objectSpread$Z(_objectSpread$Z({}, next[data.index]), {}, {
4845
+ next[data.index] = _objectSpread$$(_objectSpread$$({}, next[data.index]), {}, {
4846
4846
  status: data.status,
4847
4847
  error: data.error || null
4848
4848
  });
@@ -4938,7 +4938,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4938
4938
  var raw = preview === null || preview === void 0 ? void 0 : preview.compatibility;
4939
4939
  if (!raw) return raw;
4940
4940
  var cMap = ComponentManager.componentMap();
4941
- var augWidgets = _objectSpread$Z({}, raw.widgets);
4941
+ var augWidgets = _objectSpread$$({}, raw.widgets);
4942
4942
  var fixedCount = 0;
4943
4943
  var _loop = function _loop() {
4944
4944
  var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
@@ -4965,7 +4965,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4965
4965
  toInstall = 0,
4966
4966
  unavailable = 0,
4967
4967
  hasUnavailableRequired = false;
4968
- var _iterator = _createForOfIteratorHelper$B(widgetDeps),
4968
+ var _iterator = _createForOfIteratorHelper$C(widgetDeps),
4969
4969
  _step;
4970
4970
  try {
4971
4971
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -6610,9 +6610,9 @@ function cleanIpcError(message) {
6610
6610
  return match ? match[1] : message;
6611
6611
  }
6612
6612
 
6613
- function _createForOfIteratorHelper$A(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$A(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; } } }; }
6614
- function _unsupportedIterableToArray$A(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$A(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$A(r, a) : void 0; } }
6615
- function _arrayLikeToArray$A(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; }
6613
+ function _createForOfIteratorHelper$B(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$B(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; } } }; }
6614
+ function _unsupportedIterableToArray$B(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$B(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$B(r, a) : void 0; } }
6615
+ function _arrayLikeToArray$B(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; }
6616
6616
 
6617
6617
  /**
6618
6618
  * useRegistrySearch — shared hook for browsing and installing registry packages.
@@ -6726,13 +6726,13 @@ var useRegistrySearch = function useRegistrySearch() {
6726
6726
  return c.toLowerCase();
6727
6727
  }));
6728
6728
  widgets = [];
6729
- _iterator = _createForOfIteratorHelper$A(pkgs);
6729
+ _iterator = _createForOfIteratorHelper$B(pkgs);
6730
6730
  try {
6731
6731
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
6732
6732
  pkg = _step.value;
6733
6733
  // Compute missing APIs for the entire package
6734
6734
  allApiProviders = [];
6735
- _iterator2 = _createForOfIteratorHelper$A(pkg.providers || []);
6735
+ _iterator2 = _createForOfIteratorHelper$B(pkg.providers || []);
6736
6736
  try {
6737
6737
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
6738
6738
  p = _step2.value;
@@ -6745,11 +6745,11 @@ var useRegistrySearch = function useRegistrySearch() {
6745
6745
  } finally {
6746
6746
  _iterator2.f();
6747
6747
  }
6748
- _iterator3 = _createForOfIteratorHelper$A(pkg.widgets || []);
6748
+ _iterator3 = _createForOfIteratorHelper$B(pkg.widgets || []);
6749
6749
  try {
6750
6750
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
6751
6751
  w = _step3.value;
6752
- _iterator5 = _createForOfIteratorHelper$A(w.providers || []);
6752
+ _iterator5 = _createForOfIteratorHelper$B(w.providers || []);
6753
6753
  try {
6754
6754
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
6755
6755
  _p = _step5.value;
@@ -6771,7 +6771,7 @@ var useRegistrySearch = function useRegistrySearch() {
6771
6771
  missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
6772
6772
  return !capSet.has(api.toLowerCase());
6773
6773
  });
6774
- _iterator4 = _createForOfIteratorHelper$A(pkg.widgets || []);
6774
+ _iterator4 = _createForOfIteratorHelper$B(pkg.widgets || []);
6775
6775
  try {
6776
6776
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
6777
6777
  widget = _step4.value;
@@ -7478,9 +7478,9 @@ function applyFilters(items, filters, mode) {
7478
7478
  });
7479
7479
  }
7480
7480
 
7481
- function _createForOfIteratorHelper$z(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$z(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; } } }; }
7482
- function _unsupportedIterableToArray$z(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$z(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$z(r, a) : void 0; } }
7483
- function _arrayLikeToArray$z(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; }
7481
+ function _createForOfIteratorHelper$A(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$A(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; } } }; }
7482
+ function _unsupportedIterableToArray$A(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$A(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$A(r, a) : void 0; } }
7483
+ function _arrayLikeToArray$A(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; }
7484
7484
  var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
7485
7485
  var _state$selectedDashbo, _state$selectedDashbo2;
7486
7486
  var state = _ref.state,
@@ -7699,7 +7699,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
7699
7699
  installedNames = new Set(installedList.map(function (w) {
7700
7700
  return w.name;
7701
7701
  }));
7702
- _iterator = _createForOfIteratorHelper$z(state.selectedWidgets);
7702
+ _iterator = _createForOfIteratorHelper$A(state.selectedWidgets);
7703
7703
  _context2.prev = 12;
7704
7704
  _iterator.s();
7705
7705
  case 13:
@@ -8373,8 +8373,8 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
8373
8373
  });
8374
8374
  };
8375
8375
 
8376
- function ownKeys$Y(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; }
8377
- function _objectSpread$Y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Y(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8376
+ function ownKeys$_(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; }
8377
+ function _objectSpread$_(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$_(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$_(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8378
8378
  var TOTAL_STEPS = 5; // Steps 0-4: Discover, Name, Folder, Theme, Review
8379
8379
 
8380
8380
  var initialState = {
@@ -8400,20 +8400,20 @@ var initialState = {
8400
8400
  function wizardReducer(state, action) {
8401
8401
  switch (action.type) {
8402
8402
  case "SET_STEP":
8403
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8403
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8404
8404
  step: action.payload
8405
8405
  });
8406
8406
  case "SET_FILTERS":
8407
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8408
- filters: _objectSpread$Y(_objectSpread$Y({}, state.filters), action.payload)
8407
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8408
+ filters: _objectSpread$_(_objectSpread$_({}, state.filters), action.payload)
8409
8409
  });
8410
8410
  case "TOGGLE_FILTER_CATEGORY":
8411
8411
  {
8412
8412
  var categories = state.filters.categories.includes(action.payload) ? state.filters.categories.filter(function (c) {
8413
8413
  return c !== action.payload;
8414
8414
  }) : [].concat(_toConsumableArray(state.filters.categories), [action.payload]);
8415
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8416
- filters: _objectSpread$Y(_objectSpread$Y({}, state.filters), {}, {
8415
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8416
+ filters: _objectSpread$_(_objectSpread$_({}, state.filters), {}, {
8417
8417
  categories: categories
8418
8418
  })
8419
8419
  });
@@ -8423,15 +8423,15 @@ function wizardReducer(state, action) {
8423
8423
  var providers = state.filters.providers.includes(action.payload) ? state.filters.providers.filter(function (p) {
8424
8424
  return p !== action.payload;
8425
8425
  }) : [].concat(_toConsumableArray(state.filters.providers), [action.payload]);
8426
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8427
- filters: _objectSpread$Y(_objectSpread$Y({}, state.filters), {}, {
8426
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8427
+ filters: _objectSpread$_(_objectSpread$_({}, state.filters), {}, {
8428
8428
  providers: providers
8429
8429
  })
8430
8430
  });
8431
8431
  }
8432
8432
  case "SET_SEARCH_QUERY":
8433
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8434
- filters: _objectSpread$Y(_objectSpread$Y({}, state.filters), {}, {
8433
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8434
+ filters: _objectSpread$_(_objectSpread$_({}, state.filters), {}, {
8435
8435
  query: action.payload
8436
8436
  })
8437
8437
  });
@@ -8441,7 +8441,7 @@ function wizardReducer(state, action) {
8441
8441
  var widgetOrder = action.payload.map(function (w) {
8442
8442
  return w.name || w.key;
8443
8443
  });
8444
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8444
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8445
8445
  selectedWidgets: action.payload,
8446
8446
  layout: {
8447
8447
  templateKey: templateKey,
@@ -8461,7 +8461,7 @@ function wizardReducer(state, action) {
8461
8461
  var toggleWidgetOrder = selectedWidgets.map(function (w) {
8462
8462
  return w.name || w.key;
8463
8463
  });
8464
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8464
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8465
8465
  selectedWidgets: selectedWidgets,
8466
8466
  layout: {
8467
8467
  templateKey: toggleTemplateKey,
@@ -8470,29 +8470,29 @@ function wizardReducer(state, action) {
8470
8470
  });
8471
8471
  }
8472
8472
  case "SET_SELECTED_DASHBOARD":
8473
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8473
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8474
8474
  selectedDashboard: action.payload
8475
8475
  });
8476
8476
  case "SET_PATH":
8477
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8477
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8478
8478
  path: action.payload
8479
8479
  });
8480
8480
  case "SET_LAYOUT":
8481
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8481
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8482
8482
  layout: action.payload
8483
8483
  });
8484
8484
  case "REORDER_WIDGETS":
8485
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8486
- layout: _objectSpread$Y(_objectSpread$Y({}, state.layout), {}, {
8485
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8486
+ layout: _objectSpread$_(_objectSpread$_({}, state.layout), {}, {
8487
8487
  widgetOrder: action.payload
8488
8488
  })
8489
8489
  });
8490
8490
  case "SET_CUSTOMIZATION":
8491
- return _objectSpread$Y(_objectSpread$Y({}, state), {}, {
8492
- customization: _objectSpread$Y(_objectSpread$Y({}, state.customization), action.payload)
8491
+ return _objectSpread$_(_objectSpread$_({}, state), {}, {
8492
+ customization: _objectSpread$_(_objectSpread$_({}, state.customization), action.payload)
8493
8493
  });
8494
8494
  case "RESET":
8495
- return _objectSpread$Y({}, initialState);
8495
+ return _objectSpread$_({}, initialState);
8496
8496
  default:
8497
8497
  return state;
8498
8498
  }
@@ -9268,12 +9268,102 @@ var PanelEditItem = function PanelEditItem(_ref) {
9268
9268
  });
9269
9269
  };
9270
9270
 
9271
+ function ownKeys$Z(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; }
9272
+ function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9273
+ /**
9274
+ * gridMergeOps
9275
+ *
9276
+ * Pure helpers for merging adjacent grid cells in the layout editor.
9277
+ *
9278
+ * Bug history: pre-extraction, the inline implementations in
9279
+ * GridEditor blindly `delete`d the absorbed cell. When the user
9280
+ * merged an empty cell into a cell that already contained a widget,
9281
+ * the widget's component reference vanished with the deleted entry.
9282
+ * These helpers preserve the absorbed cell's component when the
9283
+ * current cell is empty — so a merge always shows the merged cell
9284
+ * with whichever widget existed.
9285
+ *
9286
+ * Conflict policy when BOTH cells have widgets: current wins (matches
9287
+ * the pre-fix semantics; surfaces no surprise behavior change). The
9288
+ * MergeCellsModal flow handles explicit conflict resolution for
9289
+ * multi-cell selections — that's a separate code path.
9290
+ */
9291
+
9292
+ var META_KEYS = new Set(["rows", "cols", "gap"]);
9293
+
9294
+ /**
9295
+ * Merge `(row, col)` with the cell to its right. Skips empty
9296
+ * column slots if the immediate next col was already absorbed by a
9297
+ * prior merge. Preserves the absorbed cell's `component` and `hide`
9298
+ * when the current cell has no component.
9299
+ */
9300
+ function mergeRightOp(grid, row, col) {
9301
+ var currentKey = "".concat(row, ".").concat(col);
9302
+ var current = grid[currentKey];
9303
+ if (!current) return grid;
9304
+
9305
+ // Find the next existing cell to the right in the same row.
9306
+ var nextKey = "".concat(row, ".").concat(col + 1);
9307
+ if (!grid[nextKey]) {
9308
+ var bestCol = Infinity;
9309
+ for (var _i = 0, _Object$keys = Object.keys(grid); _i < _Object$keys.length; _i++) {
9310
+ var k = _Object$keys[_i];
9311
+ if (META_KEYS.has(k)) continue;
9312
+ var _k$split$map = k.split(".").map(function (n) {
9313
+ return parseInt(n, 10);
9314
+ }),
9315
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
9316
+ r = _k$split$map2[0],
9317
+ c = _k$split$map2[1];
9318
+ if (r === parseInt(row, 10) && c > parseInt(col, 10) && c < bestCol) {
9319
+ bestCol = c;
9320
+ nextKey = k;
9321
+ }
9322
+ }
9323
+ if (!grid[nextKey]) return grid;
9324
+ }
9325
+ var next = grid[nextKey];
9326
+ if (!next) return grid;
9327
+ var newGrid = _objectSpread$Z({}, grid);
9328
+ newGrid[currentKey] = _objectSpread$Z(_objectSpread$Z({}, current), {}, {
9329
+ colSpan: (current.colSpan || 1) + 1,
9330
+ // Migrate component (and hide) from absorbed cell when current
9331
+ // is empty. Without this, mergeRight on (empty, widget) silently
9332
+ // destroys the widget — the bug we're fixing.
9333
+ component: current.component != null ? current.component : next.component,
9334
+ hide: current.component != null ? current.hide : next.hide
9335
+ });
9336
+ delete newGrid[nextKey];
9337
+ return newGrid;
9338
+ }
9339
+
9340
+ /**
9341
+ * Merge `(row, col)` with the cell directly below. Same widget-
9342
+ * preservation semantics as mergeRightOp.
9343
+ */
9344
+ function mergeDownOp(grid, row, col) {
9345
+ var currentKey = "".concat(row, ".").concat(col);
9346
+ var current = grid[currentKey];
9347
+ if (!current) return grid;
9348
+ var belowKey = "".concat(row + 1, ".").concat(col);
9349
+ var below = grid[belowKey];
9350
+ if (!below) return grid;
9351
+ var newGrid = _objectSpread$Z({}, grid);
9352
+ newGrid[currentKey] = _objectSpread$Z(_objectSpread$Z({}, current), {}, {
9353
+ rowSpan: (current.rowSpan || 1) + 1,
9354
+ component: current.component != null ? current.component : below.component,
9355
+ hide: current.component != null ? current.hide : below.hide
9356
+ });
9357
+ delete newGrid[belowKey];
9358
+ return newGrid;
9359
+ }
9360
+
9271
9361
  var _excluded$6 = ["rows", "cols"];
9272
- function _createForOfIteratorHelper$y(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$y(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; } } }; }
9273
- function _unsupportedIterableToArray$y(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$y(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$y(r, a) : void 0; } }
9274
- function _arrayLikeToArray$y(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; }
9275
- function ownKeys$X(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9276
- function _objectSpread$X(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$X(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$X(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9362
+ function _createForOfIteratorHelper$z(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$z(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; } } }; }
9363
+ function _unsupportedIterableToArray$z(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$z(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$z(r, a) : void 0; } }
9364
+ function _arrayLikeToArray$z(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; }
9365
+ function ownKeys$Y(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; }
9366
+ function _objectSpread$Y(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Y(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Y(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9277
9367
  var defaultGrid = {
9278
9368
  rows: 1,
9279
9369
  cols: 1,
@@ -9294,7 +9384,7 @@ function GridEditor(_ref) {
9294
9384
  setGrid = _useState2[1];
9295
9385
  var addRow = function addRow() {
9296
9386
  var newRow = grid.rows;
9297
- var newGrid = _objectSpread$X(_objectSpread$X({}, grid), {}, {
9387
+ var newGrid = _objectSpread$Y(_objectSpread$Y({}, grid), {}, {
9298
9388
  rows: grid.rows + 1
9299
9389
  });
9300
9390
  for (var col = 0; col < grid.cols; col++) {
@@ -9309,7 +9399,7 @@ function GridEditor(_ref) {
9309
9399
  };
9310
9400
  var addColumn = function addColumn() {
9311
9401
  var newCol = grid.cols;
9312
- var newGrid = _objectSpread$X(_objectSpread$X({}, grid), {}, {
9402
+ var newGrid = _objectSpread$Y(_objectSpread$Y({}, grid), {}, {
9313
9403
  cols: grid.cols + 1
9314
9404
  });
9315
9405
  for (var row = 0; row < grid.rows; row++) {
@@ -9324,46 +9414,15 @@ function GridEditor(_ref) {
9324
9414
  saveGridChanges(newGrid);
9325
9415
  };
9326
9416
  var mergeRight = function mergeRight(row, col) {
9327
- var currentKey = "".concat(row, ".").concat(col);
9328
- var nextKey = "".concat(row, ".").concat(col + 1);
9329
- // we have to make sure that the key exists, in case something had skipped..
9330
- if (!grid[nextKey]) {
9331
- Object.keys(grid).filter(function (v) {
9332
- return v !== "rows" && v !== "cols";
9333
- }).forEach(function (k) {
9334
- if (!grid[nextKey]) {
9335
- var parts = k.split(".");
9336
- var tempRow = parseInt(parts[0]);
9337
- var tempCol = parseInt(parts[1]);
9338
- if (tempRow === parseInt(row) && tempCol > parseInt(col)) {
9339
- nextKey = "".concat(tempRow, ".").concat(tempCol);
9340
- }
9341
- }
9342
- });
9343
- }
9344
- if (grid[nextKey]) {
9345
- var newGrid = _objectSpread$X({}, grid);
9346
- newGrid[currentKey] = _objectSpread$X(_objectSpread$X({}, newGrid[currentKey]), {}, {
9347
- colSpan: newGrid[currentKey].colSpan + 1
9348
- });
9349
- delete newGrid[nextKey];
9350
-
9351
- // now we have to sort the grid
9352
- saveGridChanges(newGrid);
9353
- }
9417
+ // Pure helper preserves the absorbed cell's widget when the
9418
+ // current cell is empty (see gridMergeOps.js for the bug fix
9419
+ // that shipped this extraction).
9420
+ var newGrid = mergeRightOp(grid, row, col);
9421
+ if (newGrid !== grid) saveGridChanges(newGrid);
9354
9422
  };
9355
9423
  var mergeDown = function mergeDown(row, col) {
9356
- var currentKey = "".concat(row, ".").concat(col);
9357
- var belowKey = "".concat(row + 1, ".").concat(col);
9358
- if (grid[belowKey]) {
9359
- var newGrid = _objectSpread$X({}, grid);
9360
- newGrid[currentKey] = _objectSpread$X(_objectSpread$X({}, newGrid[currentKey]), {}, {
9361
- rowSpan: newGrid[currentKey].rowSpan + 1
9362
- });
9363
- delete newGrid[belowKey];
9364
- // now we have to sort the grid
9365
- saveGridChanges(newGrid);
9366
- }
9424
+ var newGrid = mergeDownOp(grid, row, col);
9425
+ if (newGrid !== grid) saveGridChanges(newGrid);
9367
9426
  };
9368
9427
 
9369
9428
  /**
@@ -9374,7 +9433,7 @@ function GridEditor(_ref) {
9374
9433
  var splitCell = function splitCell(row, col) {
9375
9434
  var key = "".concat(row, ".").concat(col);
9376
9435
  var cell = grid[key];
9377
- var newGrid = _objectSpread$X({}, grid);
9436
+ var newGrid = _objectSpread$Y({}, grid);
9378
9437
 
9379
9438
  // we have to check the colspan, and since the colspan is greater than 1
9380
9439
  // Only handle horizontal split if colSpan > 1
@@ -9390,13 +9449,13 @@ function GridEditor(_ref) {
9390
9449
  var oldKey = "".concat(row, ".").concat(c);
9391
9450
  var newKey = "".concat(row, ".").concat(c + 1);
9392
9451
  if (newGrid[oldKey]) {
9393
- newGrid[newKey] = _objectSpread$X({}, newGrid[oldKey]);
9452
+ newGrid[newKey] = _objectSpread$Y({}, newGrid[oldKey]);
9394
9453
  delete newGrid[oldKey];
9395
9454
  }
9396
9455
  }
9397
9456
 
9398
9457
  // Update the original cell's colSpan
9399
- newGrid[key] = _objectSpread$X(_objectSpread$X({}, cell), {}, {
9458
+ newGrid[key] = _objectSpread$Y(_objectSpread$Y({}, cell), {}, {
9400
9459
  colSpan: cell.colSpan - 1
9401
9460
  });
9402
9461
 
@@ -9408,7 +9467,7 @@ function GridEditor(_ref) {
9408
9467
  };
9409
9468
  }
9410
9469
  if (cell.rowSpan > 1) {
9411
- newGrid[key] = _objectSpread$X(_objectSpread$X({}, newGrid[key]), {}, {
9470
+ newGrid[key] = _objectSpread$Y(_objectSpread$Y({}, newGrid[key]), {}, {
9412
9471
  rowSpan: cell.rowSpan - 1
9413
9472
  });
9414
9473
  newGrid["".concat(row + 1, ".").concat(col)] = {
@@ -9424,7 +9483,7 @@ function GridEditor(_ref) {
9424
9483
  function sortObjectByKeys(obj) {
9425
9484
  var sortedKeys = Object.keys(obj).sort();
9426
9485
  var sortedObj = {};
9427
- var _iterator = _createForOfIteratorHelper$y(sortedKeys),
9486
+ var _iterator = _createForOfIteratorHelper$z(sortedKeys),
9428
9487
  _step;
9429
9488
  try {
9430
9489
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -9527,7 +9586,7 @@ function GridEditor(_ref) {
9527
9586
  var fromKey = "".concat(from.row, ".").concat(from.col);
9528
9587
  var toKey = "".concat(to.row, ".").concat(to.col);
9529
9588
  if (fromKey === toKey) return;
9530
- var newGrid = _objectSpread$X({}, grid);
9589
+ var newGrid = _objectSpread$Y({}, grid);
9531
9590
 
9532
9591
  // Swap the cells
9533
9592
  var temp = newGrid[fromKey];
@@ -9553,7 +9612,7 @@ function GridEditor(_ref) {
9553
9612
  // console.log("Grid updated:", sequencedGrid);
9554
9613
  }
9555
9614
  function resetGridLayout() {
9556
- var newGrid = _objectSpread$X({}, defaultGrid);
9615
+ var newGrid = _objectSpread$Y({}, defaultGrid);
9557
9616
  setGrid(newGrid);
9558
9617
  onUpdate(newGrid);
9559
9618
  }
@@ -9831,8 +9890,8 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
9831
9890
  });
9832
9891
  };
9833
9892
 
9834
- function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9835
- function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9893
+ function ownKeys$X(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9894
+ function _objectSpread$X(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$X(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$X(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9836
9895
  var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9837
9896
  var item = _ref.item;
9838
9897
  _ref.workspace;
@@ -9855,7 +9914,7 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9855
9914
  }, [widgetUuid, notificationDefs.length]);
9856
9915
  function handleNotifToggle(typeKey, value) {
9857
9916
  var _window$mainApi2;
9858
- var updated = _objectSpread$W(_objectSpread$W({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
9917
+ var updated = _objectSpread$X(_objectSpread$X({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
9859
9918
  setNotifPrefs(updated);
9860
9919
  if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
9861
9920
  window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
@@ -9897,11 +9956,11 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9897
9956
  });
9898
9957
  };
9899
9958
 
9900
- function _createForOfIteratorHelper$x(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$x(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; } } }; }
9901
- function _unsupportedIterableToArray$x(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$x(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$x(r, a) : void 0; } }
9902
- function _arrayLikeToArray$x(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; }
9903
- function ownKeys$V(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9904
- function _objectSpread$V(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$V(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9959
+ function _createForOfIteratorHelper$y(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$y(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; } } }; }
9960
+ function _unsupportedIterableToArray$y(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$y(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$y(r, a) : void 0; } }
9961
+ function _arrayLikeToArray$y(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; }
9962
+ function ownKeys$W(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9963
+ function _objectSpread$W(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$W(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$W(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9905
9964
  var DAYS = [{
9906
9965
  key: "mon",
9907
9966
  label: "Mon"
@@ -10002,7 +10061,7 @@ function TaskScheduleEditor(_ref) {
10002
10061
  var _window$mainApi;
10003
10062
  var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10004
10063
  if (!((_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.scheduler) !== null && _window$mainApi !== void 0 && _window$mainApi.registerTask)) return;
10005
- var payload = _objectSpread$V({
10064
+ var payload = _objectSpread$W({
10006
10065
  widgetId: widgetId,
10007
10066
  widgetName: widgetName,
10008
10067
  workspaceId: workspaceId || "",
@@ -10228,7 +10287,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
10228
10287
  setIsLoading(true);
10229
10288
  window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
10230
10289
  var stateMap = {};
10231
- var _iterator = _createForOfIteratorHelper$x(tasks || []),
10290
+ var _iterator = _createForOfIteratorHelper$y(tasks || []),
10232
10291
  _step;
10233
10292
  try {
10234
10293
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10277,8 +10336,8 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
10277
10336
  });
10278
10337
  };
10279
10338
 
10280
- function ownKeys$U(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10281
- function _objectSpread$U(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$U(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10339
+ function ownKeys$V(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10340
+ function _objectSpread$V(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$V(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10282
10341
  var DERIVED_FIELDS = ["widgetConfig",
10283
10342
  // biggest offender — full component definition blob
10284
10343
  "uuid", "dashboardId", "parentWorkspaceName", "componentName", "siblingCount", "hasChildren", "canHaveChildren", "events",
@@ -10342,7 +10401,7 @@ var PanelCode = function PanelCode(_ref) {
10342
10401
  // expects. LayoutModel re-derives these on reload, but losing
10343
10402
  // them between render cycles can cause flashes of "unknown
10344
10403
  // widget" state.
10345
- var merged = _objectSpread$U({}, itemSelected);
10404
+ var merged = _objectSpread$V({}, itemSelected);
10346
10405
  for (var _i2 = 0, _Object$keys = Object.keys(edited); _i2 < _Object$keys.length; _i2++) {
10347
10406
  var k = _Object$keys[_i2];
10348
10407
  merged[k] = edited[k];
@@ -10487,9 +10546,9 @@ function isUserWidget(item) {
10487
10546
  return true;
10488
10547
  }
10489
10548
 
10490
- function _createForOfIteratorHelper$w(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$w(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; } } }; }
10491
- function _unsupportedIterableToArray$w(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$w(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$w(r, a) : void 0; } }
10492
- function _arrayLikeToArray$w(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; }
10549
+ function _createForOfIteratorHelper$x(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$x(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; } } }; }
10550
+ function _unsupportedIterableToArray$x(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$x(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$x(r, a) : void 0; } }
10551
+ function _arrayLikeToArray$x(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; }
10493
10552
 
10494
10553
  /**
10495
10554
  * Resolve which provider name a given widget instance would bind to for
@@ -10521,7 +10580,7 @@ function resolveProviderName(_ref) {
10521
10580
  // array. Support both because different callers shape it either way.
10522
10581
  if (appProviders) {
10523
10582
  if (Array.isArray(appProviders)) {
10524
- var _iterator = _createForOfIteratorHelper$w(appProviders),
10583
+ var _iterator = _createForOfIteratorHelper$x(appProviders),
10525
10584
  _step;
10526
10585
  try {
10527
10586
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10581,7 +10640,7 @@ function forEachWidget(workspace, visit) {
10581
10640
  };
10582
10641
  var _walk = function walk(items) {
10583
10642
  if (!Array.isArray(items)) return;
10584
- var _iterator2 = _createForOfIteratorHelper$w(items),
10643
+ var _iterator2 = _createForOfIteratorHelper$x(items),
10585
10644
  _step2;
10586
10645
  try {
10587
10646
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -10622,7 +10681,7 @@ function forEachWidget(workspace, visit) {
10622
10681
  // widgets that only live there (e.g. AI-place writes that bypass
10623
10682
  // the page handler).
10624
10683
  if (Array.isArray(workspace.pages)) {
10625
- var _iterator3 = _createForOfIteratorHelper$w(workspace.pages),
10684
+ var _iterator3 = _createForOfIteratorHelper$x(workspace.pages),
10626
10685
  _step3;
10627
10686
  try {
10628
10687
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -10673,7 +10732,7 @@ function getUnresolvedProviders(_ref2) {
10673
10732
  // the same `type` listed twice (a Claude code-gen quirk), which
10674
10733
  // would otherwise produce duplicate rows in the Providers tab.
10675
10734
  var seenTypes = new Set();
10676
- var _iterator4 = _createForOfIteratorHelper$w(requirements),
10735
+ var _iterator4 = _createForOfIteratorHelper$x(requirements),
10677
10736
  _step4;
10678
10737
  try {
10679
10738
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -10716,7 +10775,7 @@ function getUnresolvedProviders(_ref2) {
10716
10775
  */
10717
10776
  function groupByProviderType(unresolved) {
10718
10777
  var byType = new Map();
10719
- var _iterator5 = _createForOfIteratorHelper$w(unresolved || []),
10778
+ var _iterator5 = _createForOfIteratorHelper$x(unresolved || []),
10720
10779
  _step5;
10721
10780
  try {
10722
10781
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -10758,7 +10817,7 @@ function getAllProviderBindings(_ref3) {
10758
10817
  // quirk) which would otherwise duplicate the per-widget row in
10759
10818
  // the Providers tab.
10760
10819
  var seenTypes = new Set();
10761
- var _iterator6 = _createForOfIteratorHelper$w(requirements),
10820
+ var _iterator6 = _createForOfIteratorHelper$x(requirements),
10762
10821
  _step6;
10763
10822
  try {
10764
10823
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -10798,11 +10857,11 @@ function getAllProviderBindings(_ref3) {
10798
10857
  return bindings;
10799
10858
  }
10800
10859
 
10801
- function ownKeys$T(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10802
- function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10803
- function _createForOfIteratorHelper$v(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$v(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; } } }; }
10804
- function _unsupportedIterableToArray$v(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$v(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$v(r, a) : void 0; } }
10805
- function _arrayLikeToArray$v(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; }
10860
+ function ownKeys$U(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10861
+ function _objectSpread$U(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$U(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10862
+ function _createForOfIteratorHelper$w(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$w(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; } } }; }
10863
+ function _unsupportedIterableToArray$w(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$w(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$w(r, a) : void 0; } }
10864
+ function _arrayLikeToArray$w(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; }
10806
10865
  var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
10807
10866
 
10808
10867
  /** Parse "Component[itemId].event" → { component, itemId, event }. */
@@ -10972,7 +11031,7 @@ function getCurrentWiring(workspace) {
10972
11031
  // Live format is array; defensive guard for legacy object
10973
11032
  // form (a single source widget keyed under the handler).
10974
11033
  var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
10975
- var _iterator = _createForOfIteratorHelper$v(events),
11034
+ var _iterator = _createForOfIteratorHelper$w(events),
10976
11035
  _step;
10977
11036
  try {
10978
11037
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -11035,7 +11094,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11035
11094
  if (!byItemId.has(id)) byItemId.set(id, meta);
11036
11095
  });
11037
11096
  var orphans = [];
11038
- var _iterator2 = _createForOfIteratorHelper$v(wiring),
11097
+ var _iterator2 = _createForOfIteratorHelper$w(wiring),
11039
11098
  _step2;
11040
11099
  try {
11041
11100
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -11048,13 +11107,13 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11048
11107
  // missing. Preserves the user's ability to see whether a
11049
11108
  // rename happened vs. a delete.
11050
11109
  var fallback = byItemId.get(String(w.sourceItemId));
11051
- orphans.push(_objectSpread$T(_objectSpread$T({}, w), {}, {
11110
+ orphans.push(_objectSpread$U(_objectSpread$U({}, w), {}, {
11052
11111
  reason: fallback ? "source-component-mismatch" : "source-missing"
11053
11112
  }));
11054
11113
  continue;
11055
11114
  }
11056
11115
  if (!src.events.includes(w.eventName)) {
11057
- orphans.push(_objectSpread$T(_objectSpread$T({}, w), {}, {
11116
+ orphans.push(_objectSpread$U(_objectSpread$U({}, w), {}, {
11058
11117
  reason: "event-not-emitted"
11059
11118
  }));
11060
11119
  continue;
@@ -11062,7 +11121,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11062
11121
  var receiverKey = "".concat(w.receiverComponent, "|").concat(w.receiverItemId);
11063
11122
  var receiver = byCompositeKey.get(receiverKey);
11064
11123
  if (receiver && !receiver.eventHandlers.includes(w.handlerName)) {
11065
- orphans.push(_objectSpread$T(_objectSpread$T({}, w), {}, {
11124
+ orphans.push(_objectSpread$U(_objectSpread$U({}, w), {}, {
11066
11125
  reason: "handler-not-declared"
11067
11126
  }));
11068
11127
  }
@@ -11101,7 +11160,7 @@ function pruneDeadListenerReferences(workspace) {
11101
11160
  var liveKeys = new Set();
11102
11161
  var _walkForLive = function walkForLive(items) {
11103
11162
  if (!Array.isArray(items)) return;
11104
- var _iterator3 = _createForOfIteratorHelper$v(items),
11163
+ var _iterator3 = _createForOfIteratorHelper$w(items),
11105
11164
  _step3;
11106
11165
  try {
11107
11166
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -11122,7 +11181,7 @@ function pruneDeadListenerReferences(workspace) {
11122
11181
  };
11123
11182
  _walkForLive(workspace.layout);
11124
11183
  if (Array.isArray(workspace.pages)) {
11125
- var _iterator4 = _createForOfIteratorHelper$v(workspace.pages),
11184
+ var _iterator4 = _createForOfIteratorHelper$w(workspace.pages),
11126
11185
  _step4;
11127
11186
  try {
11128
11187
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -11139,7 +11198,7 @@ function pruneDeadListenerReferences(workspace) {
11139
11198
  var removed = 0;
11140
11199
  var _pruneListeners = function pruneListeners(items) {
11141
11200
  if (!Array.isArray(items)) return;
11142
- var _iterator5 = _createForOfIteratorHelper$v(items),
11201
+ var _iterator5 = _createForOfIteratorHelper$w(items),
11143
11202
  _step5;
11144
11203
  try {
11145
11204
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -11151,7 +11210,7 @@ function pruneDeadListenerReferences(workspace) {
11151
11210
  var events = item.listeners[handler];
11152
11211
  if (!Array.isArray(events)) continue;
11153
11212
  var kept = [];
11154
- var _iterator6 = _createForOfIteratorHelper$v(events),
11213
+ var _iterator6 = _createForOfIteratorHelper$w(events),
11155
11214
  _step6;
11156
11215
  try {
11157
11216
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -11186,7 +11245,7 @@ function pruneDeadListenerReferences(workspace) {
11186
11245
  };
11187
11246
  _pruneListeners(workspace.layout);
11188
11247
  if (Array.isArray(workspace.pages)) {
11189
- var _iterator7 = _createForOfIteratorHelper$v(workspace.pages),
11248
+ var _iterator7 = _createForOfIteratorHelper$w(workspace.pages),
11190
11249
  _step7;
11191
11250
  try {
11192
11251
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
@@ -11230,7 +11289,7 @@ function applyWiringChanges(workspace, _ref) {
11230
11289
  });
11231
11290
  return byReceiver.get(id);
11232
11291
  };
11233
- var _iterator8 = _createForOfIteratorHelper$v(adds),
11292
+ var _iterator8 = _createForOfIteratorHelper$w(adds),
11234
11293
  _step8;
11235
11294
  try {
11236
11295
  for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
@@ -11243,7 +11302,7 @@ function applyWiringChanges(workspace, _ref) {
11243
11302
  } finally {
11244
11303
  _iterator8.f();
11245
11304
  }
11246
- var _iterator9 = _createForOfIteratorHelper$v(removes),
11305
+ var _iterator9 = _createForOfIteratorHelper$w(removes),
11247
11306
  _step9;
11248
11307
  try {
11249
11308
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
@@ -11272,29 +11331,29 @@ function applyWiringChanges(workspace, _ref) {
11272
11331
  var change = id != null ? byReceiver.get(String(id)) : null;
11273
11332
  if (change) {
11274
11333
  var newListeners = applyToItem(item.listeners || {}, change);
11275
- next = _objectSpread$T(_objectSpread$T({}, next), {}, {
11334
+ next = _objectSpread$U(_objectSpread$U({}, next), {}, {
11276
11335
  listeners: newListeners
11277
11336
  });
11278
11337
  }
11279
11338
  if (Array.isArray(next.items)) {
11280
- next = _objectSpread$T(_objectSpread$T({}, next), {}, {
11339
+ next = _objectSpread$U(_objectSpread$U({}, next), {}, {
11281
11340
  items: cloneList(next.items)
11282
11341
  });
11283
11342
  }
11284
11343
  if (Array.isArray(next.layout)) {
11285
- next = _objectSpread$T(_objectSpread$T({}, next), {}, {
11344
+ next = _objectSpread$U(_objectSpread$U({}, next), {}, {
11286
11345
  layout: cloneList(next.layout)
11287
11346
  });
11288
11347
  }
11289
11348
  return next;
11290
11349
  };
11291
- var updatedWs = _objectSpread$T({}, workspace);
11350
+ var updatedWs = _objectSpread$U({}, workspace);
11292
11351
  if (Array.isArray(workspace.layout)) {
11293
11352
  updatedWs.layout = cloneList(workspace.layout);
11294
11353
  }
11295
11354
  if (Array.isArray(workspace.pages)) {
11296
11355
  updatedWs.pages = workspace.pages.map(function (page) {
11297
- return _objectSpread$T(_objectSpread$T({}, page), {}, {
11356
+ return _objectSpread$U(_objectSpread$U({}, page), {}, {
11298
11357
  layout: cloneList(page.layout)
11299
11358
  });
11300
11359
  });
@@ -11317,7 +11376,7 @@ function applyToItem(listeners, _ref2) {
11317
11376
  }
11318
11377
 
11319
11378
  // Removes first so a re-add (rare) lands.
11320
- var _iterator0 = _createForOfIteratorHelper$v(removes),
11379
+ var _iterator0 = _createForOfIteratorHelper$w(removes),
11321
11380
  _step0;
11322
11381
  try {
11323
11382
  var _loop = function _loop() {
@@ -11346,7 +11405,7 @@ function applyToItem(listeners, _ref2) {
11346
11405
  } finally {
11347
11406
  _iterator0.f();
11348
11407
  }
11349
- var _iterator1 = _createForOfIteratorHelper$v(adds),
11408
+ var _iterator1 = _createForOfIteratorHelper$w(adds),
11350
11409
  _step1;
11351
11410
  try {
11352
11411
  for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
@@ -11670,8 +11729,8 @@ var getUserConfigurableProviders = function getUserConfigurableProviders(provide
11670
11729
  });
11671
11730
  };
11672
11731
 
11673
- function ownKeys$S(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11674
- function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11732
+ function ownKeys$T(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11733
+ function _objectSpread$T(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$T(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11675
11734
  var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11676
11735
  var workspace = _ref.workspace,
11677
11736
  onUpdate = _ref.onUpdate,
@@ -11703,7 +11762,7 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11703
11762
  var selectedProviders = itemSelected.selectedProviders || {};
11704
11763
  function handleProviderChange(providerType, providerName) {
11705
11764
  var updatedItem = DashReact.deepCopy(itemSelected);
11706
- var nextProviders = _objectSpread$S({}, updatedItem.selectedProviders || {});
11765
+ var nextProviders = _objectSpread$T({}, updatedItem.selectedProviders || {});
11707
11766
  if (providerName) {
11708
11767
  nextProviders[providerType] = providerName;
11709
11768
  } else {
@@ -11724,8 +11783,8 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11724
11783
  var widgetId = updatedItem.uuidString || updatedItem.uuid || updatedItem.id;
11725
11784
  if (widgetId != null) {
11726
11785
  var wsKey = String(widgetId);
11727
- var nextSelectedProviders = _objectSpread$S({}, updatedWorkspace.selectedProviders || {});
11728
- var prevForWidget = nextSelectedProviders[wsKey] ? _objectSpread$S({}, nextSelectedProviders[wsKey]) : {};
11786
+ var nextSelectedProviders = _objectSpread$T({}, updatedWorkspace.selectedProviders || {});
11787
+ var prevForWidget = nextSelectedProviders[wsKey] ? _objectSpread$T({}, nextSelectedProviders[wsKey]) : {};
11729
11788
  if (providerName) {
11730
11789
  prevForWidget[providerType] = providerName;
11731
11790
  } else {
@@ -11770,7 +11829,7 @@ var PanelEditItemProviders = function PanelEditItemProviders(_ref) {
11770
11829
  var _ref5 = _slicedToArray(_ref4, 2),
11771
11830
  name = _ref5[0],
11772
11831
  p = _ref5[1];
11773
- return _objectSpread$S({
11832
+ return _objectSpread$T({
11774
11833
  name: name
11775
11834
  }, p);
11776
11835
  });
@@ -13521,8 +13580,8 @@ var WidgetIcon = function WidgetIcon(_ref) {
13521
13580
  });
13522
13581
  };
13523
13582
 
13524
- function ownKeys$R(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13525
- function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13583
+ function ownKeys$S(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13584
+ function _objectSpread$S(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$S(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13526
13585
  var ProviderForm = function ProviderForm(_ref) {
13527
13586
  var credentialSchema = _ref.credentialSchema,
13528
13587
  _ref$initialValues = _ref.initialValues,
@@ -13567,14 +13626,14 @@ var ProviderForm = function ProviderForm(_ref) {
13567
13626
  var oldKey = f.key;
13568
13627
  if (oldKey && formData[oldKey] !== undefined) {
13569
13628
  setFormData(function (fd) {
13570
- var updated = _objectSpread$R({}, fd);
13629
+ var updated = _objectSpread$S({}, fd);
13571
13630
  var val = updated[oldKey];
13572
13631
  delete updated[oldKey];
13573
13632
  if (newKey.trim()) updated[newKey] = val;
13574
13633
  return updated;
13575
13634
  });
13576
13635
  }
13577
- return _objectSpread$R(_objectSpread$R({}, f), {}, {
13636
+ return _objectSpread$S(_objectSpread$S({}, f), {}, {
13578
13637
  key: newKey
13579
13638
  });
13580
13639
  });
@@ -13586,14 +13645,14 @@ var ProviderForm = function ProviderForm(_ref) {
13586
13645
  });
13587
13646
  if (field !== null && field !== void 0 && field.key) {
13588
13647
  setFormData(function (prev) {
13589
- return _objectSpread$R(_objectSpread$R({}, prev), {}, _defineProperty({}, field.key, value));
13648
+ return _objectSpread$S(_objectSpread$S({}, prev), {}, _defineProperty({}, field.key, value));
13590
13649
  });
13591
13650
  }
13592
13651
  };
13593
13652
  var handleDynamicSecretToggle = function handleDynamicSecretToggle(id) {
13594
13653
  setDynamicFields(function (prev) {
13595
13654
  return prev.map(function (f) {
13596
- return f.id === id ? _objectSpread$R(_objectSpread$R({}, f), {}, {
13655
+ return f.id === id ? _objectSpread$S(_objectSpread$S({}, f), {}, {
13597
13656
  secret: !f.secret
13598
13657
  }) : f;
13599
13658
  });
@@ -13615,7 +13674,7 @@ var ProviderForm = function ProviderForm(_ref) {
13615
13674
  });
13616
13675
  if (field !== null && field !== void 0 && field.key) {
13617
13676
  setFormData(function (prev) {
13618
- var updated = _objectSpread$R({}, prev);
13677
+ var updated = _objectSpread$S({}, prev);
13619
13678
  delete updated[field.key];
13620
13679
  return updated;
13621
13680
  });
@@ -13657,13 +13716,13 @@ var ProviderForm = function ProviderForm(_ref) {
13657
13716
  */
13658
13717
  var handleInputChange = function handleInputChange(fieldName, value) {
13659
13718
  setFormData(function (prev) {
13660
- return _objectSpread$R(_objectSpread$R({}, prev), {}, _defineProperty({}, fieldName, value));
13719
+ return _objectSpread$S(_objectSpread$S({}, prev), {}, _defineProperty({}, fieldName, value));
13661
13720
  });
13662
13721
 
13663
13722
  // Clear error for this field if it was filled
13664
13723
  if (errors[fieldName] && value !== null && value !== void 0 && value.trim()) {
13665
13724
  setErrors(function (prev) {
13666
- var newErrors = _objectSpread$R({}, prev);
13725
+ var newErrors = _objectSpread$S({}, prev);
13667
13726
  delete newErrors[fieldName];
13668
13727
  return newErrors;
13669
13728
  });
@@ -13701,7 +13760,7 @@ var ProviderForm = function ProviderForm(_ref) {
13701
13760
  // Clear error if filled
13702
13761
  if (errors.providerName && value !== null && value !== void 0 && value.trim()) {
13703
13762
  setErrors(function (prev) {
13704
- var newErrors = _objectSpread$R({}, prev);
13763
+ var newErrors = _objectSpread$S({}, prev);
13705
13764
  delete newErrors.providerName;
13706
13765
  return newErrors;
13707
13766
  });
@@ -13938,8 +13997,8 @@ var ToolSelector$1 = function ToolSelector(_ref) {
13938
13997
  });
13939
13998
  };
13940
13999
 
13941
- function ownKeys$Q(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13942
- function _objectSpread$Q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Q(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14000
+ function ownKeys$R(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14001
+ function _objectSpread$R(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$R(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13943
14002
  /**
13944
14003
  * Shared MCP utility functions.
13945
14004
  *
@@ -14067,7 +14126,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
14067
14126
  headerTemplate[name] = value;
14068
14127
  }
14069
14128
  });
14070
- var config = _objectSpread$Q({}, baseMcpConfig);
14129
+ var config = _objectSpread$R({}, baseMcpConfig);
14071
14130
  if (Object.keys(headerTemplate).length > 0) {
14072
14131
  config.headerTemplate = headerTemplate;
14073
14132
  } else {
@@ -14085,7 +14144,7 @@ function buildMcpConfigFromOverrides(baseMcpConfig, envMappingRows, headerRows)
14085
14144
  envMapping[env] = cred;
14086
14145
  }
14087
14146
  });
14088
- return _objectSpread$Q(_objectSpread$Q({}, baseMcpConfig), {}, {
14147
+ return _objectSpread$R(_objectSpread$R({}, baseMcpConfig), {}, {
14089
14148
  envMapping: envMapping
14090
14149
  });
14091
14150
  }
@@ -14319,11 +14378,11 @@ function mcpJsonToFormState(jsonString, nextRowId) {
14319
14378
  return result;
14320
14379
  }
14321
14380
 
14322
- function _createForOfIteratorHelper$u(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$u(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; } } }; }
14323
- function _unsupportedIterableToArray$u(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$u(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$u(r, a) : void 0; } }
14324
- function _arrayLikeToArray$u(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; }
14325
- 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; }
14326
- 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; }
14381
+ function _createForOfIteratorHelper$v(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$v(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; } } }; }
14382
+ function _unsupportedIterableToArray$v(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$v(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$v(r, a) : void 0; } }
14383
+ function _arrayLikeToArray$v(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; }
14384
+ function ownKeys$Q(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14385
+ function _objectSpread$Q(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$Q(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14327
14386
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14328
14387
  var isOpen = _ref.isOpen,
14329
14388
  onClose = _ref.onClose,
@@ -14518,7 +14577,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14518
14577
  .map(function (entry) {
14519
14578
  var widget = allWidgets[entry.widgetKey];
14520
14579
  if (!widget) return null; // Widget no longer exists
14521
- return _objectSpread$P(_objectSpread$P({
14580
+ return _objectSpread$Q(_objectSpread$Q({
14522
14581
  key: entry.widgetKey
14523
14582
  }, widget), {}, {
14524
14583
  savedProviders: entry.providers || {},
@@ -14606,11 +14665,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14606
14665
 
14607
14666
  // Flatten all widgets from all packages for the widget list
14608
14667
  flatWidgets = [];
14609
- _iterator = _createForOfIteratorHelper$u(result.packages || []);
14668
+ _iterator = _createForOfIteratorHelper$v(result.packages || []);
14610
14669
  try {
14611
14670
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
14612
14671
  pkg = _step.value;
14613
- _iterator2 = _createForOfIteratorHelper$u(pkg.widgets || []);
14672
+ _iterator2 = _createForOfIteratorHelper$v(pkg.widgets || []);
14614
14673
  try {
14615
14674
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
14616
14675
  widget = _step2.value;
@@ -14669,7 +14728,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14669
14728
  // Get widgets from ComponentManager
14670
14729
  var allWidgets = ComponentManager.map();
14671
14730
  var widgetList = Object.keys(allWidgets).map(function (key) {
14672
- return _objectSpread$P({
14731
+ return _objectSpread$Q({
14673
14732
  key: key
14674
14733
  }, allWidgets[key]);
14675
14734
  }).filter(function (widget) {
@@ -14895,7 +14954,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14895
14954
  setInlineCreateType(null);
14896
14955
  setInlineCreateSchema({});
14897
14956
  setInlineCreateError(null);
14898
- setSelectedProviders(_objectSpread$P(_objectSpread$P({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
14957
+ setSelectedProviders(_objectSpread$Q(_objectSpread$Q({}, selectedProviders), {}, _defineProperty({}, providerType, providerName)));
14899
14958
  }
14900
14959
  };
14901
14960
  var handleInlineProviderSubmit = function handleInlineProviderSubmit(formData) {
@@ -14916,7 +14975,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14916
14975
 
14917
14976
  // Auto-select the newly created provider
14918
14977
  setSelectedProviders(function (prev) {
14919
- return _objectSpread$P(_objectSpread$P({}, prev), {}, _defineProperty({}, providerType, providerName));
14978
+ return _objectSpread$Q(_objectSpread$Q({}, prev), {}, _defineProperty({}, providerType, providerName));
14920
14979
  });
14921
14980
 
14922
14981
  // Collapse the inline form
@@ -14970,11 +15029,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14970
15029
  };
14971
15030
  var inlineHandleCredentialChange = function inlineHandleCredentialChange(fieldName, value) {
14972
15031
  setInlineCredentialData(function (prev) {
14973
- return _objectSpread$P(_objectSpread$P({}, prev), {}, _defineProperty({}, fieldName, value));
15032
+ return _objectSpread$Q(_objectSpread$Q({}, prev), {}, _defineProperty({}, fieldName, value));
14974
15033
  });
14975
15034
  if (inlineFormErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
14976
15035
  setInlineFormErrors(function (prev) {
14977
- var next = _objectSpread$P({}, prev);
15036
+ var next = _objectSpread$Q({}, prev);
14978
15037
  delete next[fieldName];
14979
15038
  return next;
14980
15039
  });
@@ -15067,7 +15126,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15067
15126
  refreshProviders();
15068
15127
  }
15069
15128
  setSelectedProviders(function (prev) {
15070
- return _objectSpread$P(_objectSpread$P({}, prev), {}, _defineProperty({}, providerType, providerName));
15129
+ return _objectSpread$Q(_objectSpread$Q({}, prev), {}, _defineProperty({}, providerType, providerName));
15071
15130
  });
15072
15131
 
15073
15132
  // Reset stepper state
@@ -15088,7 +15147,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15088
15147
  });
15089
15148
  };
15090
15149
  var handleConfigChange = function handleConfigChange(key, value) {
15091
- setUserConfigValues(_objectSpread$P(_objectSpread$P({}, userConfigValues), {}, _defineProperty({}, key, value)));
15150
+ setUserConfigValues(_objectSpread$Q(_objectSpread$Q({}, userConfigValues), {}, _defineProperty({}, key, value)));
15092
15151
  };
15093
15152
 
15094
15153
  // Install a package from the registry
@@ -15154,7 +15213,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15154
15213
  // Mark items as installed
15155
15214
  setProgressWidgets(function (prev) {
15156
15215
  return prev.map(function (w) {
15157
- return _objectSpread$P(_objectSpread$P({}, w), {}, {
15216
+ return _objectSpread$Q(_objectSpread$Q({}, w), {}, {
15158
15217
  status: "installed"
15159
15218
  });
15160
15219
  });
@@ -15173,7 +15232,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15173
15232
  setInstallError(msg);
15174
15233
  setProgressWidgets(function (prev) {
15175
15234
  return prev.map(function (w) {
15176
- return _objectSpread$P(_objectSpread$P({}, w), {}, {
15235
+ return _objectSpread$Q(_objectSpread$Q({}, w), {}, {
15177
15236
  status: "failed",
15178
15237
  error: msg
15179
15238
  });
@@ -15247,7 +15306,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15247
15306
 
15248
15307
  // Phase 3: Save to recent widgets
15249
15308
  saveToRecent(selectedWidget, selectedProviders, userConfigValues);
15250
- onSelectWidget(_objectSpread$P(_objectSpread$P({}, selectedWidget), {}, {
15309
+ onSelectWidget(_objectSpread$Q(_objectSpread$Q({}, selectedWidget), {}, {
15251
15310
  selectedProviders: selectedProviders,
15252
15311
  // Pass to parent
15253
15312
  userConfigValues: userConfigValues // Pass to parent
@@ -15890,7 +15949,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
15890
15949
  setInlineProviderName(value);
15891
15950
  if (inlineFormErrors.providerName && value !== null && value !== void 0 && value.trim()) {
15892
15951
  setInlineFormErrors(function (prev) {
15893
- var next = _objectSpread$P({}, prev);
15952
+ var next = _objectSpread$Q({}, prev);
15894
15953
  delete next.providerName;
15895
15954
  return next;
15896
15955
  });
@@ -16504,9 +16563,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
16504
16563
  };
16505
16564
  };
16506
16565
 
16507
- function _createForOfIteratorHelper$t(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$t(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; } } }; }
16508
- function _unsupportedIterableToArray$t(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$t(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$t(r, a) : void 0; } }
16509
- function _arrayLikeToArray$t(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; }
16566
+ function _createForOfIteratorHelper$u(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$u(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; } } }; }
16567
+ function _unsupportedIterableToArray$u(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$u(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$u(r, a) : void 0; } }
16568
+ function _arrayLikeToArray$u(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; }
16510
16569
  function formatCountdown(ms) {
16511
16570
  if (ms == null || ms < 0) return "--";
16512
16571
  if (ms < 1000) return "< 1s";
@@ -16623,7 +16682,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
16623
16682
 
16624
16683
  // Find soonest countdown among enabled tasks
16625
16684
  var soonestMs = null;
16626
- var _iterator = _createForOfIteratorHelper$t(enabledTasks),
16685
+ var _iterator = _createForOfIteratorHelper$u(enabledTasks),
16627
16686
  _step;
16628
16687
  try {
16629
16688
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -17076,8 +17135,8 @@ var ProviderSelector = function ProviderSelector(_ref) {
17076
17135
  });
17077
17136
  };
17078
17137
 
17079
- 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; }
17080
- 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; }
17138
+ 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; }
17139
+ 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; }
17081
17140
  var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17082
17141
  var transport = _ref.transport,
17083
17142
  envMappingRows = _ref.envMappingRows,
@@ -17106,7 +17165,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17106
17165
  var updateEnvRow = function updateEnvRow(id, field, value) {
17107
17166
  onEnvMappingRowsChange(function (prev) {
17108
17167
  return prev.map(function (row) {
17109
- return row.id === id ? _objectSpread$O(_objectSpread$O({}, row), {}, _defineProperty({}, field, value)) : row;
17168
+ return row.id === id ? _objectSpread$P(_objectSpread$P({}, row), {}, _defineProperty({}, field, value)) : row;
17110
17169
  });
17111
17170
  });
17112
17171
  };
@@ -17131,7 +17190,7 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17131
17190
  var updateHeaderRow = function updateHeaderRow(id, field, value) {
17132
17191
  onHeaderRowsChange(function (prev) {
17133
17192
  return prev.map(function (row) {
17134
- return row.id === id ? _objectSpread$O(_objectSpread$O({}, row), {}, _defineProperty({}, field, value)) : row;
17193
+ return row.id === id ? _objectSpread$P(_objectSpread$P({}, row), {}, _defineProperty({}, field, value)) : row;
17135
17194
  });
17136
17195
  });
17137
17196
  };
@@ -17280,8 +17339,8 @@ var AdvancedMcpConfig = function AdvancedMcpConfig(_ref) {
17280
17339
  });
17281
17340
  };
17282
17341
 
17283
- 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; }
17284
- 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; }
17342
+ 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; }
17343
+ 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; }
17285
17344
  var McpServerPicker = function McpServerPicker(_ref) {
17286
17345
  var _testResult$tools;
17287
17346
  var isOpen = _ref.isOpen,
@@ -17460,11 +17519,11 @@ var McpServerPicker = function McpServerPicker(_ref) {
17460
17519
  // Handle credential field changes
17461
17520
  var handleCredentialChange = function handleCredentialChange(fieldName, value) {
17462
17521
  setCredentialData(function (prev) {
17463
- return _objectSpread$N(_objectSpread$N({}, prev), {}, _defineProperty({}, fieldName, value));
17522
+ return _objectSpread$O(_objectSpread$O({}, prev), {}, _defineProperty({}, fieldName, value));
17464
17523
  });
17465
17524
  if (formErrors[fieldName] && value !== null && value !== void 0 && value.trim()) {
17466
17525
  setFormErrors(function (prev) {
17467
- var next = _objectSpread$N({}, prev);
17526
+ var next = _objectSpread$O({}, prev);
17468
17527
  delete next[fieldName];
17469
17528
  return next;
17470
17529
  });
@@ -17802,7 +17861,7 @@ var McpServerPicker = function McpServerPicker(_ref) {
17802
17861
  setProviderName(value);
17803
17862
  if (formErrors.providerName && value !== null && value !== void 0 && value.trim()) {
17804
17863
  setFormErrors(function (prev) {
17805
- var next = _objectSpread$N({}, prev);
17864
+ var next = _objectSpread$O({}, prev);
17806
17865
  delete next.providerName;
17807
17866
  return next;
17808
17867
  });
@@ -17992,8 +18051,8 @@ var McpServerPicker = function McpServerPicker(_ref) {
17992
18051
  });
17993
18052
  };
17994
18053
 
17995
- 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; }
17996
- 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; }
18054
+ 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; }
18055
+ 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; }
17997
18056
  var USE_ENHANCED_WIDGET_SELECTOR = true; // Set to false to use original modal
17998
18057
 
17999
18058
  /**
@@ -18039,7 +18098,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18039
18098
  var _ref3 = _slicedToArray(_ref2, 2),
18040
18099
  id = _ref3[0],
18041
18100
  p = _ref3[1];
18042
- return _objectSpread$M(_objectSpread$M({}, p), {}, {
18101
+ return _objectSpread$N(_objectSpread$N({}, p), {}, {
18043
18102
  id: id,
18044
18103
  name: p.name || id
18045
18104
  });
@@ -18126,7 +18185,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18126
18185
  // so we use its layout to replace any corrupted grid data.
18127
18186
  if (workspace && workspace["layout"]) {
18128
18187
  var model = new DashboardModel(workspace);
18129
- setCurrentWorkspace(_objectSpread$M(_objectSpread$M({}, workspace), {}, {
18188
+ setCurrentWorkspace(_objectSpread$N(_objectSpread$N({}, workspace), {}, {
18130
18189
  layout: model.layout
18131
18190
  }));
18132
18191
  } else {
@@ -18199,7 +18258,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18199
18258
  }
18200
18259
  try {
18201
18260
  var hasChildren = config.type === "workspace";
18202
- var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$M(_objectSpread$M({}, config), {}, {
18261
+ var newLayout = addItemToItemLayout(ws.layout, gridItem.id, _objectSpread$N(_objectSpread$N({}, config), {}, {
18203
18262
  component: widgetComponentName,
18204
18263
  packageId: config._sourcePackage || config.packageId || null
18205
18264
  }), hasChildren);
@@ -18645,7 +18704,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18645
18704
  var uuid = widget.uuid || widget.uuidString;
18646
18705
  if (uuid) {
18647
18706
  newWorkspace.selectedProviders = newWorkspace.selectedProviders || {};
18648
- newWorkspace.selectedProviders[uuid] = _objectSpread$M(_objectSpread$M({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
18707
+ newWorkspace.selectedProviders[uuid] = _objectSpread$N(_objectSpread$N({}, newWorkspace.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
18649
18708
  }
18650
18709
  setCurrentWorkspace(newWorkspace);
18651
18710
  // Propagate to the parent (DashboardStage) so workspaceSelected
@@ -18718,15 +18777,17 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18718
18777
  keepComponent = _ref7.keepComponent;
18719
18778
  try {
18720
18779
  var dashboard = new DashboardModel(currentWorkspace);
18721
- var result = dashboard.mergeGridCells(gridContainer.id, cellNumbers);
18780
+ // Slice 9: pass keepComponent into the model so the chosen
18781
+ // component lands on the kept cell. The model returns the
18782
+ // orphaned ones in `conflictingComponents` for layout cleanup.
18783
+ var result = dashboard.mergeGridCells(gridContainer.id, cellNumbers, keepComponent);
18722
18784
  if (result) {
18723
- // Handle component cleanup if needed
18785
+ // Remove orphaned components from the layout — these are
18786
+ // widgets the user explicitly chose NOT to keep when there
18787
+ // were multiple in the merged region.
18724
18788
  if (result.conflictingComponents && result.conflictingComponents.length > 0) {
18725
- // Remove components that weren't selected to keep
18726
18789
  result.conflictingComponents.forEach(function (componentId) {
18727
- if (componentId !== keepComponent) {
18728
- dashboard.removeItemFromLayout(componentId);
18729
- }
18790
+ dashboard.removeItemFromLayout(componentId);
18730
18791
  });
18731
18792
  }
18732
18793
  var newWorkspace = dashboard.workspace();
@@ -18789,7 +18850,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
18789
18850
  var _gridContainer$grid;
18790
18851
  var config = ComponentManager.config(widgetKey);
18791
18852
  if (!config) return;
18792
- var widgetItem = _objectSpread$M(_objectSpread$M({}, config), {}, {
18853
+ var widgetItem = _objectSpread$N(_objectSpread$N({}, config), {}, {
18793
18854
  component: widgetKey,
18794
18855
  key: widgetKey,
18795
18856
  packageId: config._sourcePackage || config.packageId || null
@@ -19050,7 +19111,7 @@ var LayoutBuilder = function LayoutBuilder(_ref) {
19050
19111
  onSelectWidget: function onSelectWidget(widget) {
19051
19112
 
19052
19113
  // Add component property from widget.key
19053
- var widgetWithComponent = _objectSpread$M(_objectSpread$M({}, widget), {}, {
19114
+ var widgetWithComponent = _objectSpread$N(_objectSpread$N({}, widget), {}, {
19054
19115
  component: widget.key
19055
19116
  });
19056
19117
  handleClickConfirmAdd(widgetWithComponent, dropdownTarget);
@@ -20679,8 +20740,8 @@ var MissingProviderPrompt = function MissingProviderPrompt(_ref) {
20679
20740
  });
20680
20741
  };
20681
20742
 
20682
- 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; }
20683
- 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; }
20743
+ 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; }
20744
+ 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; }
20684
20745
  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)); }
20685
20746
  function _isNativeReflectConstruct$4() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$4 = function _isNativeReflectConstruct() { return !!t; })(); }
20686
20747
  var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
@@ -20735,7 +20796,7 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
20735
20796
  _defineProperty(_this, "handleProviderSelect", function (providerType, providerName, credentials) {
20736
20797
 
20737
20798
  // Update local selected providers state
20738
- var updatedSelected = _objectSpread$L(_objectSpread$L({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
20799
+ var updatedSelected = _objectSpread$M(_objectSpread$M({}, _this.state.selectedProviders), {}, _defineProperty({}, providerType, providerName));
20739
20800
  _this.setState({
20740
20801
  selectedProviders: updatedSelected
20741
20802
  }, function () {
@@ -20809,8 +20870,8 @@ var ProviderErrorBoundary = /*#__PURE__*/function (_Component) {
20809
20870
  }(React.Component);
20810
20871
  _defineProperty(ProviderErrorBoundary, "contextType", ProviderContext);
20811
20872
 
20812
- 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; }
20813
- 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; }
20873
+ 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; }
20874
+ 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; }
20814
20875
  var withProviderDetection = function withProviderDetection(Component) {
20815
20876
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
20816
20877
  _ref$requiredProvider = _ref.requiredProviders,
@@ -20835,7 +20896,7 @@ var withProviderDetection = function withProviderDetection(Component) {
20835
20896
  onProviderSelect: onProviderSelect
20836
20897
  });
20837
20898
  }
20838
- return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$K({}, props));
20899
+ return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$L({}, props));
20839
20900
  };
20840
20901
  };
20841
20902
 
@@ -21511,8 +21572,8 @@ var WidgetNotFound = function WidgetNotFound(_ref) {
21511
21572
  });
21512
21573
  };
21513
21574
 
21514
- 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; }
21515
- 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; }
21575
+ 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; }
21576
+ 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; }
21516
21577
  /**
21517
21578
  * makeBoundApi.js
21518
21579
  *
@@ -21582,7 +21643,7 @@ function _bindMethod(rawFn, signatureLength, token) {
21582
21643
  function makeBoundApi(rawApi, token) {
21583
21644
  if (!rawApi || _typeof(rawApi) !== "object") return rawApi;
21584
21645
  if (!token) return rawApi;
21585
- var out = _objectSpread$J({}, rawApi);
21646
+ var out = _objectSpread$K({}, rawApi);
21586
21647
  // Two-pass: first collect which namespaces need cloning so we
21587
21648
  // don't repeatedly clobber sibling bindings within the same
21588
21649
  // namespace (e.g. `data.saveData` + `data.readData` both live
@@ -21598,7 +21659,7 @@ function makeBoundApi(rawApi, token) {
21598
21659
  method = _path$split2[1];
21599
21660
  var subns = rawApi[ns];
21600
21661
  if (!subns || typeof subns[method] !== "function") continue;
21601
- if (!nsToBindings[ns]) nsToBindings[ns] = _objectSpread$J({}, subns);
21662
+ if (!nsToBindings[ns]) nsToBindings[ns] = _objectSpread$K({}, subns);
21602
21663
  nsToBindings[ns][method] = _bindMethod(subns[method], signatureLength, token);
21603
21664
  }
21604
21665
  for (var _i2 = 0, _Object$entries2 = Object.entries(nsToBindings); _i2 < _Object$entries2.length; _i2++) {
@@ -21698,8 +21759,8 @@ var MountTokenWrapper = function MountTokenWrapper(_ref) {
21698
21759
  });
21699
21760
  };
21700
21761
 
21701
- 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; }
21702
- 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; }
21762
+ 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; }
21763
+ 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; }
21703
21764
  /**
21704
21765
  * buildWidgetData
21705
21766
  *
@@ -21719,7 +21780,7 @@ function buildWidgetData(_ref) {
21719
21780
  component = _ref.component,
21720
21781
  config = _ref.config,
21721
21782
  uuidString = _ref.uuidString;
21722
- return _objectSpread$I(_objectSpread$I({}, params), {}, {
21783
+ return _objectSpread$J(_objectSpread$J({}, params), {}, {
21723
21784
  name: (_params$name = params === null || params === void 0 ? void 0 : params.name) !== null && _params$name !== void 0 ? _params$name : component,
21724
21785
  uuidString: uuidString,
21725
21786
  providers: (config === null || config === void 0 ? void 0 : config.providers) || [],
@@ -21727,8 +21788,8 @@ function buildWidgetData(_ref) {
21727
21788
  });
21728
21789
  }
21729
21790
 
21730
- 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; }
21731
- 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; }
21791
+ 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; }
21792
+ 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; }
21732
21793
  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)); }
21733
21794
  function _isNativeReflectConstruct$2() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$2 = function _isNativeReflectConstruct() { return !!t; })(); }
21734
21795
  var WidgetErrorBoundary = /*#__PURE__*/function (_Component) {
@@ -21944,7 +22005,7 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
21944
22005
  // that delegate to DashboardPublisher), not the raw Electron dashApi
21945
22006
  var helpers = new WidgetHelpers(params, w);
21946
22007
  var hasScheduledTasks = ((config === null || config === void 0 ? void 0 : config.scheduledTasks) || []).length > 0;
21947
- var widgetElement = children === null ? /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$H(_objectSpread$H(_objectSpread$H({
22008
+ var widgetElement = children === null ? /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$I(_objectSpread$I(_objectSpread$I({
21948
22009
  id: "widget-nokids-".concat(widgetKey),
21949
22010
  listen: function listen(listeners, handlers) {
21950
22011
  return helpers.listen(listeners, handlers);
@@ -21958,7 +22019,7 @@ var WidgetRenderer = function WidgetRenderer(_ref) {
21958
22019
  backgroundColor: bgColor,
21959
22020
  widgetConfig: helpers.config(),
21960
22021
  widgetEventNames: helpers.events()
21961
- }), "widget-nokids-".concat(widgetKey, "-v").concat(componentVersion)) : /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$H(_objectSpread$H(_objectSpread$H({
22022
+ }), "widget-nokids-".concat(widgetKey, "-v").concat(componentVersion)) : /*#__PURE__*/jsxRuntime.jsx(WidgetComponent, _objectSpread$I(_objectSpread$I(_objectSpread$I({
21962
22023
  listen: function listen(listeners, handlers) {
21963
22024
  return helpers.listen(listeners, handlers);
21964
22025
  },
@@ -22165,11 +22226,11 @@ var ExternalWidget = function ExternalWidget(_ref) {
22165
22226
  var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
22166
22227
  var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
22167
22228
 
22168
- function _createForOfIteratorHelper$s(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$s(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
22169
- function _unsupportedIterableToArray$s(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$s(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$s(r, a) : void 0; } }
22170
- function _arrayLikeToArray$s(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22171
- 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; }
22172
- 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; }
22229
+ function _createForOfIteratorHelper$t(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$t(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; } } }; }
22230
+ function _unsupportedIterableToArray$t(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$t(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$t(r, a) : void 0; } }
22231
+ function _arrayLikeToArray$t(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; }
22232
+ 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; }
22233
+ 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; }
22173
22234
 
22174
22235
  // Identifies which "bucket" of the workspace a LayoutBuilder belongs
22175
22236
  // to so drop handlers on grid cells can distinguish a same-container
@@ -22415,7 +22476,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
22415
22476
  var _ref5 = _slicedToArray(_ref4, 2),
22416
22477
  id = _ref5[0],
22417
22478
  provider = _ref5[1];
22418
- return _objectSpread$G({
22479
+ return _objectSpread$H({
22419
22480
  id: id
22420
22481
  }, provider);
22421
22482
  }) : [];
@@ -22790,7 +22851,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
22790
22851
  return selectable["delete"](cn);
22791
22852
  });
22792
22853
  var resolved = new Set();
22793
- var _iterator = _createForOfIteratorHelper$s(selectable),
22854
+ var _iterator = _createForOfIteratorHelper$t(selectable),
22794
22855
  _step;
22795
22856
  try {
22796
22857
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -23464,7 +23525,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
23464
23525
  var widgetSpecificSelections = (workspace === null || workspace === void 0 || (_workspace$selectedPr = workspace.selectedProviders) === null || _workspace$selectedPr === void 0 ? void 0 : _workspace$selectedPr[id]) || {};
23465
23526
 
23466
23527
  // Add provider-related props from workspace
23467
- var itemWithProviders = _objectSpread$G(_objectSpread$G({}, item), {}, {
23528
+ var itemWithProviders = _objectSpread$H(_objectSpread$H({}, item), {}, {
23468
23529
  selectedProviders: widgetSpecificSelections,
23469
23530
  onProviderSelect: onProviderSelect
23470
23531
  });
@@ -23682,8 +23743,8 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
23682
23743
  }) : renderComponentContainer(children);
23683
23744
  });
23684
23745
 
23685
- 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; }
23686
- 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; }
23746
+ 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; }
23747
+ 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; }
23687
23748
  function compareChildren(a, b) {
23688
23749
  if (a.order < b.order) {
23689
23750
  return -1;
@@ -24771,7 +24832,7 @@ function moveWidgetAcrossContainers(workspace, sourceGridId, sourceCell, targetG
24771
24832
 
24772
24833
  // Rewire the grid pointers first (swap works for empty target too —
24773
24834
  // targetWidgetId is null then and the source cell becomes empty).
24774
- sourceGrid.grid[sourceCell] = _objectSpread$F(_objectSpread$F({}, sourceCellData), {}, {
24835
+ sourceGrid.grid[sourceCell] = _objectSpread$G(_objectSpread$G({}, sourceCellData), {}, {
24775
24836
  component: targetWidgetId
24776
24837
  });
24777
24838
  if (!targetCellData) {
@@ -24780,7 +24841,7 @@ function moveWidgetAcrossContainers(workspace, sourceGridId, sourceCell, targetG
24780
24841
  hide: false
24781
24842
  };
24782
24843
  } else {
24783
- targetGrid.grid[targetCell] = _objectSpread$F(_objectSpread$F({}, targetCellData), {}, {
24844
+ targetGrid.grid[targetCell] = _objectSpread$G(_objectSpread$G({}, targetCellData), {}, {
24784
24845
  component: sourceWidgetId
24785
24846
  });
24786
24847
  }
@@ -25197,11 +25258,11 @@ function migrateBareComponentName(componentMap, component) {
25197
25258
  return component;
25198
25259
  }
25199
25260
 
25200
- 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; }
25201
- 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; }
25202
- function _createForOfIteratorHelper$r(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$r(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25203
- function _unsupportedIterableToArray$r(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$r(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$r(r, a) : void 0; } }
25204
- function _arrayLikeToArray$r(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25261
+ 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; }
25262
+ 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; }
25263
+ function _createForOfIteratorHelper$s(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$s(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25264
+ function _unsupportedIterableToArray$s(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$s(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$s(r, a) : void 0; } }
25265
+ function _arrayLikeToArray$s(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25205
25266
  /**
25206
25267
  * The model for all layout components used primarily in the renderLayout method
25207
25268
  * @param {Object} layoutItem an object containing various attributes of the layout item
@@ -25213,7 +25274,7 @@ function _arrayLikeToArray$r(r, a) { (null == a || a > r.length) && (a = r.lengt
25213
25274
  function sortObjectByKeys(obj) {
25214
25275
  var sortedKeys = Object.keys(obj).sort();
25215
25276
  var sortedObj = {};
25216
- var _iterator = _createForOfIteratorHelper$r(sortedKeys),
25277
+ var _iterator = _createForOfIteratorHelper$s(sortedKeys),
25217
25278
  _step;
25218
25279
  try {
25219
25280
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25383,7 +25444,7 @@ var LayoutModel = function LayoutModel(layoutItem, workspaceLayout, dashboardId)
25383
25444
 
25384
25445
  // Merge user-entered config values (from EnhancedWidgetDropdown) into userPrefs
25385
25446
  if ("userConfigValues" in obj && obj.userConfigValues) {
25386
- layout.userPrefs = _objectSpread$E(_objectSpread$E({}, layout.userPrefs), obj.userConfigValues);
25447
+ layout.userPrefs = _objectSpread$F(_objectSpread$F({}, layout.userPrefs), obj.userConfigValues);
25387
25448
  }
25388
25449
 
25389
25450
  // Preserve provider selections for this widget
@@ -25525,9 +25586,9 @@ var SettingsModel = function SettingsModel() {
25525
25586
  return obj;
25526
25587
  };
25527
25588
 
25528
- function _createForOfIteratorHelper$q(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$q(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25529
- function _unsupportedIterableToArray$q(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$q(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$q(r, a) : void 0; } }
25530
- function _arrayLikeToArray$q(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25589
+ function _createForOfIteratorHelper$r(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$r(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25590
+ function _unsupportedIterableToArray$r(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$r(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$r(r, a) : void 0; } }
25591
+ function _arrayLikeToArray$r(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25531
25592
 
25532
25593
  /**
25533
25594
  * Workspace-level pre-pass that migrates legacy bare component
@@ -25602,7 +25663,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25602
25663
  };
25603
25664
  var _walk = function walk(items) {
25604
25665
  if (!Array.isArray(items)) return;
25605
- var _iterator = _createForOfIteratorHelper$q(items),
25666
+ var _iterator = _createForOfIteratorHelper$r(items),
25606
25667
  _step;
25607
25668
  try {
25608
25669
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25624,7 +25685,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25624
25685
  };
25625
25686
  _walk(workspace.layout);
25626
25687
  if (Array.isArray(workspace.pages)) {
25627
- var _iterator2 = _createForOfIteratorHelper$q(workspace.pages),
25688
+ var _iterator2 = _createForOfIteratorHelper$r(workspace.pages),
25628
25689
  _step2;
25629
25690
  try {
25630
25691
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25641,9 +25702,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25641
25702
  return counts;
25642
25703
  }
25643
25704
 
25644
- function _createForOfIteratorHelper$p(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$p(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25645
- function _unsupportedIterableToArray$p(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$p(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$p(r, a) : void 0; } }
25646
- function _arrayLikeToArray$p(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25705
+ function _createForOfIteratorHelper$q(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$q(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25706
+ function _unsupportedIterableToArray$q(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$q(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$q(r, a) : void 0; } }
25707
+ function _arrayLikeToArray$q(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25647
25708
  /**
25648
25709
  * cleanForeignWidgetsFromWorkspace.js
25649
25710
  *
@@ -25684,7 +25745,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25684
25745
  var _cleanList = function cleanList(items) {
25685
25746
  if (!Array.isArray(items)) return items;
25686
25747
  var kept = [];
25687
- var _iterator = _createForOfIteratorHelper$p(items),
25748
+ var _iterator = _createForOfIteratorHelper$q(items),
25688
25749
  _step;
25689
25750
  try {
25690
25751
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25721,7 +25782,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25721
25782
  workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
25722
25783
  }
25723
25784
  if (Array.isArray(workspace.pages)) {
25724
- var _iterator2 = _createForOfIteratorHelper$p(workspace.pages),
25785
+ var _iterator2 = _createForOfIteratorHelper$q(workspace.pages),
25725
25786
  _step2;
25726
25787
  try {
25727
25788
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25739,9 +25800,9 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25739
25800
  return summary;
25740
25801
  }
25741
25802
 
25742
- 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; } } }; }
25743
- 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; } }
25744
- 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; }
25803
+ function _createForOfIteratorHelper$p(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$p(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
25804
+ function _unsupportedIterableToArray$p(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$p(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$p(r, a) : void 0; } }
25805
+ function _arrayLikeToArray$p(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
25745
25806
  /**
25746
25807
  * migrateLayoutItemTypes.js
25747
25808
  *
@@ -25803,7 +25864,7 @@ function migrateLayoutItemTypes(workspace) {
25803
25864
  };
25804
25865
  var _walk = function walk(items) {
25805
25866
  if (!Array.isArray(items)) return;
25806
- var _iterator = _createForOfIteratorHelper$o(items),
25867
+ var _iterator = _createForOfIteratorHelper$p(items),
25807
25868
  _step;
25808
25869
  try {
25809
25870
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25821,7 +25882,7 @@ function migrateLayoutItemTypes(workspace) {
25821
25882
  };
25822
25883
  _walk(workspace.layout);
25823
25884
  if (Array.isArray(workspace.pages)) {
25824
- var _iterator2 = _createForOfIteratorHelper$o(workspace.pages),
25885
+ var _iterator2 = _createForOfIteratorHelper$p(workspace.pages),
25825
25886
  _step2;
25826
25887
  try {
25827
25888
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -26202,9 +26263,9 @@ var ThemeModel = function ThemeModel() {
26202
26263
  }
26203
26264
  };
26204
26265
 
26205
- 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; } } }; }
26206
- 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; } }
26207
- 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; }
26266
+ 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; } } }; }
26267
+ 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; } }
26268
+ 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; }
26208
26269
  /*
26209
26270
  "component": AnalyticsReportsWidget,
26210
26271
  "type":"widget",
@@ -26322,7 +26383,7 @@ var ComponentConfigModel = function ComponentConfigModel() {
26322
26383
  if ("providers" in obj && Array.isArray(obj.providers)) {
26323
26384
  var seen = new Set();
26324
26385
  var cleaned = [];
26325
- var _iterator = _createForOfIteratorHelper$n(obj.providers),
26386
+ var _iterator = _createForOfIteratorHelper$o(obj.providers),
26326
26387
  _step;
26327
26388
  try {
26328
26389
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -26368,6 +26429,209 @@ var MenuItemModel = function MenuItemModel() {
26368
26429
  return m;
26369
26430
  };
26370
26431
 
26432
+ 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; } } }; }
26433
+ 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; } }
26434
+ 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; }
26435
+ 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; }
26436
+ 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; }
26437
+ /**
26438
+ * mergeGridCellsOp
26439
+ *
26440
+ * Pure helper for the multi-cell merge operation invoked by
26441
+ * `DashboardModel.mergeGridCells`. The model wraps this helper with
26442
+ * the workspace mutation glue.
26443
+ *
26444
+ * Bug history (slice 9): the original implementation always picked
26445
+ * `cellNumbers[0]` as the kept cell and unconditionally hid the rest.
26446
+ * If the user selected cells in the order (empty, widget) — clicking
26447
+ * the empty cell first — the widget cell got hidden and the kept
26448
+ * cell stayed empty. The widget's component reference still existed
26449
+ * on the now-hidden cell, but never rendered, so it visually
26450
+ * disappeared.
26451
+ *
26452
+ * Fix: deterministically place the chosen "keep" component onto the
26453
+ * kept cell. Caller can pass `keepComponentId` (e.g. from the
26454
+ * MergeCellsModal's user choice when multiple widgets are in
26455
+ * conflict). When omitted, default to the first non-null component
26456
+ * found across the selection. Components that aren't kept are
26457
+ * returned in `conflictingComponents` so the caller can remove them
26458
+ * from the layout (existing semantics).
26459
+ */
26460
+
26461
+ function _spanOf(grid, cellNumber) {
26462
+ var cell = grid[cellNumber];
26463
+ if (!cell || !cell.span) return {
26464
+ row: 1,
26465
+ col: 1
26466
+ };
26467
+ return {
26468
+ row: cell.span.row || 1,
26469
+ col: cell.span.col || 1
26470
+ };
26471
+ }
26472
+
26473
+ /**
26474
+ * @param {object} grid - Grid object (cells keyed by "row.col")
26475
+ * @param {string[]} cellNumbers - Cell keys to merge
26476
+ * @param {*} [keepComponentId] - Optional explicit choice of which
26477
+ * component (by component id) survives on the kept cell.
26478
+ * @returns {{
26479
+ * grid: object,
26480
+ * conflictingComponents: any[]
26481
+ * }}
26482
+ */
26483
+ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26484
+ // Deep clone the cells we touch so the input grid is never mutated.
26485
+ // Other entries pass through by reference (cheap; they aren't
26486
+ // touched by this op).
26487
+ var out = _objectSpread$E({}, grid);
26488
+
26489
+ // 1. Find bounding box accounting for existing spans.
26490
+ var minRow = Infinity,
26491
+ maxRow = -Infinity;
26492
+ var minCol = Infinity,
26493
+ maxCol = -Infinity;
26494
+ var _iterator = _createForOfIteratorHelper$n(cellNumbers),
26495
+ _step;
26496
+ try {
26497
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
26498
+ var cn = _step.value;
26499
+ var _cn$split$map = cn.split(".").map(Number),
26500
+ _cn$split$map2 = _slicedToArray(_cn$split$map, 2),
26501
+ r = _cn$split$map2[0],
26502
+ c = _cn$split$map2[1];
26503
+ var span = _spanOf(grid, cn);
26504
+ if (r < minRow) minRow = r;
26505
+ if (r + span.row - 1 > maxRow) maxRow = r + span.row - 1;
26506
+ if (c < minCol) minCol = c;
26507
+ if (c + span.col - 1 > maxCol) maxCol = c + span.col - 1;
26508
+ }
26509
+
26510
+ // 2. Clear prior merge state on selected cells: if any selected cell
26511
+ // already has a span, unhide its previously-covered cells, then
26512
+ // drop the span. This makes back-to-back merges idempotent.
26513
+ } catch (err) {
26514
+ _iterator.e(err);
26515
+ } finally {
26516
+ _iterator.f();
26517
+ }
26518
+ var _iterator2 = _createForOfIteratorHelper$n(cellNumbers),
26519
+ _step2;
26520
+ try {
26521
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
26522
+ var _cn = _step2.value;
26523
+ var cell = grid[_cn];
26524
+ if (!cell) continue;
26525
+ if (cell.span) {
26526
+ var _cn$split$map3 = _cn.split(".").map(Number),
26527
+ _cn$split$map4 = _slicedToArray(_cn$split$map3, 2),
26528
+ cr = _cn$split$map4[0],
26529
+ cc = _cn$split$map4[1];
26530
+ var sr = cell.span.row || 1;
26531
+ var sc = cell.span.col || 1;
26532
+ for (var _r = cr; _r < cr + sr; _r++) {
26533
+ for (var _c = cc; _c < cc + sc; _c++) {
26534
+ var coveredKey = "".concat(_r, ".").concat(_c);
26535
+ if (grid[coveredKey]) {
26536
+ out[coveredKey] = _objectSpread$E(_objectSpread$E({}, grid[coveredKey]), {}, {
26537
+ hide: false
26538
+ });
26539
+ }
26540
+ }
26541
+ }
26542
+ out[_cn] = _objectSpread$E({}, out[_cn] || cell);
26543
+ delete out[_cn].span;
26544
+ out[_cn].hide = false;
26545
+ } else {
26546
+ out[_cn] = _objectSpread$E(_objectSpread$E({}, cell), {}, {
26547
+ hide: false
26548
+ });
26549
+ }
26550
+ }
26551
+
26552
+ // 3. Collect every component sitting in any selected cell. Decide
26553
+ // which one survives.
26554
+ } catch (err) {
26555
+ _iterator2.e(err);
26556
+ } finally {
26557
+ _iterator2.f();
26558
+ }
26559
+ var componentsInRange = [];
26560
+ var _iterator3 = _createForOfIteratorHelper$n(cellNumbers),
26561
+ _step3;
26562
+ try {
26563
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
26564
+ var _cn2 = _step3.value;
26565
+ var _cell = out[_cn2];
26566
+ if (_cell && _cell.component != null) {
26567
+ componentsInRange.push({
26568
+ cellNumber: _cn2,
26569
+ component: _cell.component
26570
+ });
26571
+ }
26572
+ }
26573
+ } catch (err) {
26574
+ _iterator3.e(err);
26575
+ } finally {
26576
+ _iterator3.f();
26577
+ }
26578
+ var keepEntry;
26579
+ if (keepComponentId != null) {
26580
+ keepEntry = componentsInRange.find(function (e) {
26581
+ return e.component === keepComponentId;
26582
+ });
26583
+ }
26584
+ if (!keepEntry) {
26585
+ keepEntry = componentsInRange[0]; // first-found fallback
26586
+ }
26587
+ var keptComponent = keepEntry ? keepEntry.component : null;
26588
+ var conflictingComponents = componentsInRange.filter(function (e) {
26589
+ return e.component !== keptComponent;
26590
+ }).map(function (e) {
26591
+ return e.component;
26592
+ });
26593
+
26594
+ // 4. Apply: kept cell gets the kept component + the new span; all
26595
+ // other selected cells get hidden and have their component refs
26596
+ // cleared (so a stale ref in a hidden cell never re-renders).
26597
+ var keepCell = cellNumbers[0];
26598
+ var _iterator4 = _createForOfIteratorHelper$n(cellNumbers),
26599
+ _step4;
26600
+ try {
26601
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
26602
+ var _cn3 = _step4.value;
26603
+ if (!out[_cn3]) continue;
26604
+ if (_cn3 === keepCell) {
26605
+ out[_cn3] = _objectSpread$E(_objectSpread$E({}, out[_cn3]), {}, {
26606
+ component: keptComponent,
26607
+ hide: false
26608
+ });
26609
+ } else {
26610
+ out[_cn3] = _objectSpread$E(_objectSpread$E({}, out[_cn3]), {}, {
26611
+ component: null,
26612
+ hide: true
26613
+ });
26614
+ }
26615
+ }
26616
+
26617
+ // 5. Span on kept cell.
26618
+ } catch (err) {
26619
+ _iterator4.e(err);
26620
+ } finally {
26621
+ _iterator4.f();
26622
+ }
26623
+ out[keepCell] = _objectSpread$E(_objectSpread$E({}, out[keepCell]), {}, {
26624
+ span: {
26625
+ row: maxRow - minRow + 1,
26626
+ col: maxCol - minCol + 1
26627
+ }
26628
+ });
26629
+ return {
26630
+ grid: out,
26631
+ conflictingComponents: conflictingComponents
26632
+ };
26633
+ }
26634
+
26371
26635
  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; }
26372
26636
  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; }
26373
26637
  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; } } }; }
@@ -27868,81 +28132,25 @@ var DashboardModel = /*#__PURE__*/function () {
27868
28132
  */
27869
28133
  }, {
27870
28134
  key: "mergeGridCells",
27871
- value: function mergeGridCells(itemId, cellNumbers) {
28135
+ value: function mergeGridCells(itemId, cellNumbers, keepComponentId) {
27872
28136
  try {
27873
28137
  var gridContainer = this.getComponentById(itemId);
27874
28138
  if (!gridContainer || !gridContainer.grid) {
27875
28139
  return null;
27876
28140
  }
27877
28141
 
27878
- // Find bounding box accounting for existing spans
27879
- var minRow = Infinity,
27880
- maxRow = -Infinity;
27881
- var minCol = Infinity,
27882
- maxCol = -Infinity;
27883
- cellNumbers.forEach(function (cn) {
27884
- var _cell$span3, _cell$span4;
27885
- var _cn$split$map = cn.split(".").map(Number),
27886
- _cn$split$map2 = _slicedToArray(_cn$split$map, 2),
27887
- r = _cn$split$map2[0],
27888
- c = _cn$split$map2[1];
27889
- var cell = gridContainer.grid[cn];
27890
- var spanRow = (cell === null || cell === void 0 || (_cell$span3 = cell.span) === null || _cell$span3 === void 0 ? void 0 : _cell$span3.row) || 1;
27891
- var spanCol = (cell === null || cell === void 0 || (_cell$span4 = cell.span) === null || _cell$span4 === void 0 ? void 0 : _cell$span4.col) || 1;
27892
- minRow = Math.min(minRow, r);
27893
- maxRow = Math.max(maxRow, r + spanRow - 1);
27894
- minCol = Math.min(minCol, c);
27895
- maxCol = Math.max(maxCol, c + spanCol - 1);
27896
- });
27897
-
27898
- // Clear old merge state: if any cell in the selection already
27899
- // has a span, unhide its previously-covered cells and remove span
27900
- cellNumbers.forEach(function (cn) {
27901
- var cell = gridContainer.grid[cn];
27902
- if (cell && cell.span) {
27903
- var _cn$split$map3 = cn.split(".").map(Number),
27904
- _cn$split$map4 = _slicedToArray(_cn$split$map3, 2),
27905
- cr = _cn$split$map4[0],
27906
- cc = _cn$split$map4[1];
27907
- var sr = cell.span.row || 1;
27908
- var sc = cell.span.col || 1;
27909
- for (var r = cr; r < cr + sr; r++) {
27910
- for (var c = cc; c < cc + sc; c++) {
27911
- var coveredKey = "".concat(r, ".").concat(c);
27912
- if (gridContainer.grid[coveredKey]) {
27913
- gridContainer.grid[coveredKey].hide = false;
27914
- }
27915
- }
27916
- }
27917
- delete cell.span;
27918
- }
27919
- if (cell) {
27920
- cell.hide = false;
27921
- }
27922
- });
27923
-
27924
- // Keep the first cell, hide the others
27925
- var keepCell = cellNumbers[0];
27926
- var componentsToMove = [];
27927
- cellNumbers.forEach(function (cellNumber) {
27928
- if (cellNumber !== keepCell && gridContainer.grid[cellNumber]) {
27929
- if (gridContainer.grid[cellNumber].component) {
27930
- componentsToMove.push(gridContainer.grid[cellNumber].component);
27931
- }
27932
- gridContainer.grid[cellNumber].hide = true;
27933
- }
27934
- });
27935
-
27936
- // Add span information to the kept cell
27937
- gridContainer.grid[keepCell].span = {
27938
- row: maxRow - minRow + 1,
27939
- col: maxCol - minCol + 1
27940
- };
28142
+ // Slice 9: pure helper handles the per-cell mutation. The fix
28143
+ // is that the kept cell receives the kept component (instead of
28144
+ // leaving the component on the now-hidden absorbed cell, which
28145
+ // made widgets visually disappear when the user selected an
28146
+ // empty cell first then a widget cell).
28147
+ var result = mergeGridCellsOp(gridContainer.grid, cellNumbers, keepComponentId);
28148
+ gridContainer.grid = result.grid;
27941
28149
  this._normalizeGrid(gridContainer.grid);
27942
28150
  this.updateLayoutItem(gridContainer);
27943
28151
  return {
27944
28152
  grid: gridContainer.grid,
27945
- conflictingComponents: componentsToMove
28153
+ conflictingComponents: result.conflictingComponents
27946
28154
  };
27947
28155
  } catch (e) {
27948
28156
  return null;