@trops/dash-core 0.1.522 → 0.1.524

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
@@ -3148,9 +3148,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
3148
3148
 
3149
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
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; }
3151
+ function _createForOfIteratorHelper$E(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$E(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$E(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$E(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$E(r, a) : void 0; } }
3153
+ function _arrayLikeToArray$E(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,7 +3424,7 @@ function createLayoutFromTemplate(template) {
3424
3424
  cols: template.cols,
3425
3425
  gap: "gap-2"
3426
3426
  };
3427
- var _iterator = _createForOfIteratorHelper$D(template.cells),
3427
+ var _iterator = _createForOfIteratorHelper$E(template.cells),
3428
3428
  _step;
3429
3429
  try {
3430
3430
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -4605,9 +4605,9 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
4605
4605
  });
4606
4606
  };
4607
4607
 
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; }
4608
+ 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; } } }; }
4609
+ 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; } }
4610
+ 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; }
4611
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
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) {
@@ -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$C(widgetDeps),
4968
+ var _iterator = _createForOfIteratorHelper$D(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$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; }
6613
+ 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; } } }; }
6614
+ 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; } }
6615
+ 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; }
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$B(pkgs);
6729
+ _iterator = _createForOfIteratorHelper$C(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$B(pkg.providers || []);
6735
+ _iterator2 = _createForOfIteratorHelper$C(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$B(pkg.widgets || []);
6748
+ _iterator3 = _createForOfIteratorHelper$C(pkg.widgets || []);
6749
6749
  try {
6750
6750
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
6751
6751
  w = _step3.value;
6752
- _iterator5 = _createForOfIteratorHelper$B(w.providers || []);
6752
+ _iterator5 = _createForOfIteratorHelper$C(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$B(pkg.widgets || []);
6774
+ _iterator4 = _createForOfIteratorHelper$C(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$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; }
7481
+ 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; } } }; }
7482
+ 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; } }
7483
+ 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; }
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$A(state.selectedWidgets);
7702
+ _iterator = _createForOfIteratorHelper$B(state.selectedWidgets);
7703
7703
  _context2.prev = 12;
7704
7704
  _iterator.s();
7705
7705
  case 13:
@@ -9289,7 +9289,7 @@ function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t
9289
9289
  * multi-cell selections — that's a separate code path.
9290
9290
  */
9291
9291
 
9292
- var META_KEYS = new Set(["rows", "cols", "gap"]);
9292
+ var META_KEYS$5 = new Set(["rows", "cols", "gap"]);
9293
9293
 
9294
9294
  /**
9295
9295
  * Merge `(row, col)` with the cell to its right. Skips empty
@@ -9308,7 +9308,7 @@ function mergeRightOp(grid, row, col) {
9308
9308
  var bestCol = Infinity;
9309
9309
  for (var _i = 0, _Object$keys = Object.keys(grid); _i < _Object$keys.length; _i++) {
9310
9310
  var k = _Object$keys[_i];
9311
- if (META_KEYS.has(k)) continue;
9311
+ if (META_KEYS$5.has(k)) continue;
9312
9312
  var _k$split$map = k.split(".").map(function (n) {
9313
9313
  return parseInt(n, 10);
9314
9314
  }),
@@ -9359,9 +9359,9 @@ function mergeDownOp(grid, row, col) {
9359
9359
  }
9360
9360
 
9361
9361
  var _excluded$6 = ["rows", "cols"];
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; }
9362
+ 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; } } }; }
9363
+ 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; } }
9364
+ 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; }
9365
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
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; }
9367
9367
  var defaultGrid = {
@@ -9483,7 +9483,7 @@ function GridEditor(_ref) {
9483
9483
  function sortObjectByKeys(obj) {
9484
9484
  var sortedKeys = Object.keys(obj).sort();
9485
9485
  var sortedObj = {};
9486
- var _iterator = _createForOfIteratorHelper$z(sortedKeys),
9486
+ var _iterator = _createForOfIteratorHelper$A(sortedKeys),
9487
9487
  _step;
9488
9488
  try {
9489
9489
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -9956,9 +9956,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9956
9956
  });
9957
9957
  };
9958
9958
 
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; }
9959
+ 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; } } }; }
9960
+ 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; } }
9961
+ 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; }
9962
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
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; }
9964
9964
  var DAYS = [{
@@ -10287,7 +10287,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
10287
10287
  setIsLoading(true);
10288
10288
  window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
10289
10289
  var stateMap = {};
10290
- var _iterator = _createForOfIteratorHelper$y(tasks || []),
10290
+ var _iterator = _createForOfIteratorHelper$z(tasks || []),
10291
10291
  _step;
10292
10292
  try {
10293
10293
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10546,9 +10546,9 @@ function isUserWidget(item) {
10546
10546
  return true;
10547
10547
  }
10548
10548
 
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; }
10549
+ 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; } } }; }
10550
+ 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; } }
10551
+ 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; }
10552
10552
 
10553
10553
  /**
10554
10554
  * Resolve which provider name a given widget instance would bind to for
@@ -10580,7 +10580,7 @@ function resolveProviderName(_ref) {
10580
10580
  // array. Support both because different callers shape it either way.
10581
10581
  if (appProviders) {
10582
10582
  if (Array.isArray(appProviders)) {
10583
- var _iterator = _createForOfIteratorHelper$x(appProviders),
10583
+ var _iterator = _createForOfIteratorHelper$y(appProviders),
10584
10584
  _step;
10585
10585
  try {
10586
10586
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10640,7 +10640,7 @@ function forEachWidget(workspace, visit) {
10640
10640
  };
10641
10641
  var _walk = function walk(items) {
10642
10642
  if (!Array.isArray(items)) return;
10643
- var _iterator2 = _createForOfIteratorHelper$x(items),
10643
+ var _iterator2 = _createForOfIteratorHelper$y(items),
10644
10644
  _step2;
10645
10645
  try {
10646
10646
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -10681,7 +10681,7 @@ function forEachWidget(workspace, visit) {
10681
10681
  // widgets that only live there (e.g. AI-place writes that bypass
10682
10682
  // the page handler).
10683
10683
  if (Array.isArray(workspace.pages)) {
10684
- var _iterator3 = _createForOfIteratorHelper$x(workspace.pages),
10684
+ var _iterator3 = _createForOfIteratorHelper$y(workspace.pages),
10685
10685
  _step3;
10686
10686
  try {
10687
10687
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -10732,7 +10732,7 @@ function getUnresolvedProviders(_ref2) {
10732
10732
  // the same `type` listed twice (a Claude code-gen quirk), which
10733
10733
  // would otherwise produce duplicate rows in the Providers tab.
10734
10734
  var seenTypes = new Set();
10735
- var _iterator4 = _createForOfIteratorHelper$x(requirements),
10735
+ var _iterator4 = _createForOfIteratorHelper$y(requirements),
10736
10736
  _step4;
10737
10737
  try {
10738
10738
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -10775,7 +10775,7 @@ function getUnresolvedProviders(_ref2) {
10775
10775
  */
10776
10776
  function groupByProviderType(unresolved) {
10777
10777
  var byType = new Map();
10778
- var _iterator5 = _createForOfIteratorHelper$x(unresolved || []),
10778
+ var _iterator5 = _createForOfIteratorHelper$y(unresolved || []),
10779
10779
  _step5;
10780
10780
  try {
10781
10781
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -10817,7 +10817,7 @@ function getAllProviderBindings(_ref3) {
10817
10817
  // quirk) which would otherwise duplicate the per-widget row in
10818
10818
  // the Providers tab.
10819
10819
  var seenTypes = new Set();
10820
- var _iterator6 = _createForOfIteratorHelper$x(requirements),
10820
+ var _iterator6 = _createForOfIteratorHelper$y(requirements),
10821
10821
  _step6;
10822
10822
  try {
10823
10823
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -10859,9 +10859,9 @@ function getAllProviderBindings(_ref3) {
10859
10859
 
10860
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
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; }
10862
+ 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; } } }; }
10863
+ 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; } }
10864
+ 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; }
10865
10865
  var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
10866
10866
 
10867
10867
  /** Parse "Component[itemId].event" → { component, itemId, event }. */
@@ -11031,7 +11031,7 @@ function getCurrentWiring(workspace) {
11031
11031
  // Live format is array; defensive guard for legacy object
11032
11032
  // form (a single source widget keyed under the handler).
11033
11033
  var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
11034
- var _iterator = _createForOfIteratorHelper$w(events),
11034
+ var _iterator = _createForOfIteratorHelper$x(events),
11035
11035
  _step;
11036
11036
  try {
11037
11037
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -11094,7 +11094,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11094
11094
  if (!byItemId.has(id)) byItemId.set(id, meta);
11095
11095
  });
11096
11096
  var orphans = [];
11097
- var _iterator2 = _createForOfIteratorHelper$w(wiring),
11097
+ var _iterator2 = _createForOfIteratorHelper$x(wiring),
11098
11098
  _step2;
11099
11099
  try {
11100
11100
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -11160,7 +11160,7 @@ function pruneDeadListenerReferences(workspace) {
11160
11160
  var liveKeys = new Set();
11161
11161
  var _walkForLive = function walkForLive(items) {
11162
11162
  if (!Array.isArray(items)) return;
11163
- var _iterator3 = _createForOfIteratorHelper$w(items),
11163
+ var _iterator3 = _createForOfIteratorHelper$x(items),
11164
11164
  _step3;
11165
11165
  try {
11166
11166
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -11181,7 +11181,7 @@ function pruneDeadListenerReferences(workspace) {
11181
11181
  };
11182
11182
  _walkForLive(workspace.layout);
11183
11183
  if (Array.isArray(workspace.pages)) {
11184
- var _iterator4 = _createForOfIteratorHelper$w(workspace.pages),
11184
+ var _iterator4 = _createForOfIteratorHelper$x(workspace.pages),
11185
11185
  _step4;
11186
11186
  try {
11187
11187
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -11198,7 +11198,7 @@ function pruneDeadListenerReferences(workspace) {
11198
11198
  var removed = 0;
11199
11199
  var _pruneListeners = function pruneListeners(items) {
11200
11200
  if (!Array.isArray(items)) return;
11201
- var _iterator5 = _createForOfIteratorHelper$w(items),
11201
+ var _iterator5 = _createForOfIteratorHelper$x(items),
11202
11202
  _step5;
11203
11203
  try {
11204
11204
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -11210,7 +11210,7 @@ function pruneDeadListenerReferences(workspace) {
11210
11210
  var events = item.listeners[handler];
11211
11211
  if (!Array.isArray(events)) continue;
11212
11212
  var kept = [];
11213
- var _iterator6 = _createForOfIteratorHelper$w(events),
11213
+ var _iterator6 = _createForOfIteratorHelper$x(events),
11214
11214
  _step6;
11215
11215
  try {
11216
11216
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -11245,7 +11245,7 @@ function pruneDeadListenerReferences(workspace) {
11245
11245
  };
11246
11246
  _pruneListeners(workspace.layout);
11247
11247
  if (Array.isArray(workspace.pages)) {
11248
- var _iterator7 = _createForOfIteratorHelper$w(workspace.pages),
11248
+ var _iterator7 = _createForOfIteratorHelper$x(workspace.pages),
11249
11249
  _step7;
11250
11250
  try {
11251
11251
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
@@ -11289,7 +11289,7 @@ function applyWiringChanges(workspace, _ref) {
11289
11289
  });
11290
11290
  return byReceiver.get(id);
11291
11291
  };
11292
- var _iterator8 = _createForOfIteratorHelper$w(adds),
11292
+ var _iterator8 = _createForOfIteratorHelper$x(adds),
11293
11293
  _step8;
11294
11294
  try {
11295
11295
  for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
@@ -11302,7 +11302,7 @@ function applyWiringChanges(workspace, _ref) {
11302
11302
  } finally {
11303
11303
  _iterator8.f();
11304
11304
  }
11305
- var _iterator9 = _createForOfIteratorHelper$w(removes),
11305
+ var _iterator9 = _createForOfIteratorHelper$x(removes),
11306
11306
  _step9;
11307
11307
  try {
11308
11308
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
@@ -11376,7 +11376,7 @@ function applyToItem(listeners, _ref2) {
11376
11376
  }
11377
11377
 
11378
11378
  // Removes first so a re-add (rare) lands.
11379
- var _iterator0 = _createForOfIteratorHelper$w(removes),
11379
+ var _iterator0 = _createForOfIteratorHelper$x(removes),
11380
11380
  _step0;
11381
11381
  try {
11382
11382
  var _loop = function _loop() {
@@ -11405,7 +11405,7 @@ function applyToItem(listeners, _ref2) {
11405
11405
  } finally {
11406
11406
  _iterator0.f();
11407
11407
  }
11408
- var _iterator1 = _createForOfIteratorHelper$w(adds),
11408
+ var _iterator1 = _createForOfIteratorHelper$x(adds),
11409
11409
  _step1;
11410
11410
  try {
11411
11411
  for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
@@ -14378,9 +14378,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
14378
14378
  return result;
14379
14379
  }
14380
14380
 
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; }
14381
+ 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; } } }; }
14382
+ 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; } }
14383
+ 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; }
14384
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
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; }
14386
14386
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
@@ -14665,11 +14665,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14665
14665
 
14666
14666
  // Flatten all widgets from all packages for the widget list
14667
14667
  flatWidgets = [];
14668
- _iterator = _createForOfIteratorHelper$v(result.packages || []);
14668
+ _iterator = _createForOfIteratorHelper$w(result.packages || []);
14669
14669
  try {
14670
14670
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
14671
14671
  pkg = _step.value;
14672
- _iterator2 = _createForOfIteratorHelper$v(pkg.widgets || []);
14672
+ _iterator2 = _createForOfIteratorHelper$w(pkg.widgets || []);
14673
14673
  try {
14674
14674
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
14675
14675
  widget = _step2.value;
@@ -16563,9 +16563,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
16563
16563
  };
16564
16564
  };
16565
16565
 
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; }
16566
+ 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; } } }; }
16567
+ 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; } }
16568
+ 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; }
16569
16569
  function formatCountdown(ms) {
16570
16570
  if (ms == null || ms < 0) return "--";
16571
16571
  if (ms < 1000) return "< 1s";
@@ -16682,7 +16682,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
16682
16682
 
16683
16683
  // Find soonest countdown among enabled tasks
16684
16684
  var soonestMs = null;
16685
- var _iterator = _createForOfIteratorHelper$u(enabledTasks),
16685
+ var _iterator = _createForOfIteratorHelper$v(enabledTasks),
16686
16686
  _step;
16687
16687
  try {
16688
16688
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -22226,9 +22226,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
22226
22226
  var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
22227
22227
  var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
22228
22228
 
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; }
22229
+ 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; } } }; }
22230
+ 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; } }
22231
+ 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; }
22232
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
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; }
22234
22234
 
@@ -22851,7 +22851,7 @@ var LayoutGridContainer = /*#__PURE__*/React.memo(function (_ref3) {
22851
22851
  return selectable["delete"](cn);
22852
22852
  });
22853
22853
  var resolved = new Set();
22854
- var _iterator = _createForOfIteratorHelper$t(selectable),
22854
+ var _iterator = _createForOfIteratorHelper$u(selectable),
22855
22855
  _step;
22856
22856
  try {
22857
22857
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25260,9 +25260,9 @@ function migrateBareComponentName(componentMap, component) {
25260
25260
 
25261
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
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; }
25263
+ 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; } } }; }
25264
+ 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; } }
25265
+ 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; }
25266
25266
  /**
25267
25267
  * The model for all layout components used primarily in the renderLayout method
25268
25268
  * @param {Object} layoutItem an object containing various attributes of the layout item
@@ -25274,7 +25274,7 @@ function _arrayLikeToArray$s(r, a) { (null == a || a > r.length) && (a = r.lengt
25274
25274
  function sortObjectByKeys(obj) {
25275
25275
  var sortedKeys = Object.keys(obj).sort();
25276
25276
  var sortedObj = {};
25277
- var _iterator = _createForOfIteratorHelper$s(sortedKeys),
25277
+ var _iterator = _createForOfIteratorHelper$t(sortedKeys),
25278
25278
  _step;
25279
25279
  try {
25280
25280
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25586,9 +25586,9 @@ var SettingsModel = function SettingsModel() {
25586
25586
  return obj;
25587
25587
  };
25588
25588
 
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; }
25589
+ 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; } } }; }
25590
+ 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; } }
25591
+ 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; }
25592
25592
 
25593
25593
  /**
25594
25594
  * Workspace-level pre-pass that migrates legacy bare component
@@ -25663,7 +25663,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25663
25663
  };
25664
25664
  var _walk = function walk(items) {
25665
25665
  if (!Array.isArray(items)) return;
25666
- var _iterator = _createForOfIteratorHelper$r(items),
25666
+ var _iterator = _createForOfIteratorHelper$s(items),
25667
25667
  _step;
25668
25668
  try {
25669
25669
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25685,7 +25685,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25685
25685
  };
25686
25686
  _walk(workspace.layout);
25687
25687
  if (Array.isArray(workspace.pages)) {
25688
- var _iterator2 = _createForOfIteratorHelper$r(workspace.pages),
25688
+ var _iterator2 = _createForOfIteratorHelper$s(workspace.pages),
25689
25689
  _step2;
25690
25690
  try {
25691
25691
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25702,9 +25702,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25702
25702
  return counts;
25703
25703
  }
25704
25704
 
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; }
25705
+ 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; } } }; }
25706
+ 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; } }
25707
+ 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; }
25708
25708
  /**
25709
25709
  * cleanForeignWidgetsFromWorkspace.js
25710
25710
  *
@@ -25745,7 +25745,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25745
25745
  var _cleanList = function cleanList(items) {
25746
25746
  if (!Array.isArray(items)) return items;
25747
25747
  var kept = [];
25748
- var _iterator = _createForOfIteratorHelper$q(items),
25748
+ var _iterator = _createForOfIteratorHelper$r(items),
25749
25749
  _step;
25750
25750
  try {
25751
25751
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25782,7 +25782,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25782
25782
  workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
25783
25783
  }
25784
25784
  if (Array.isArray(workspace.pages)) {
25785
- var _iterator2 = _createForOfIteratorHelper$q(workspace.pages),
25785
+ var _iterator2 = _createForOfIteratorHelper$r(workspace.pages),
25786
25786
  _step2;
25787
25787
  try {
25788
25788
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25800,9 +25800,9 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25800
25800
  return summary;
25801
25801
  }
25802
25802
 
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; }
25803
+ 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; } } }; }
25804
+ 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; } }
25805
+ 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; }
25806
25806
  /**
25807
25807
  * migrateLayoutItemTypes.js
25808
25808
  *
@@ -25864,7 +25864,7 @@ function migrateLayoutItemTypes(workspace) {
25864
25864
  };
25865
25865
  var _walk = function walk(items) {
25866
25866
  if (!Array.isArray(items)) return;
25867
- var _iterator = _createForOfIteratorHelper$p(items),
25867
+ var _iterator = _createForOfIteratorHelper$q(items),
25868
25868
  _step;
25869
25869
  try {
25870
25870
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25882,7 +25882,7 @@ function migrateLayoutItemTypes(workspace) {
25882
25882
  };
25883
25883
  _walk(workspace.layout);
25884
25884
  if (Array.isArray(workspace.pages)) {
25885
- var _iterator2 = _createForOfIteratorHelper$p(workspace.pages),
25885
+ var _iterator2 = _createForOfIteratorHelper$q(workspace.pages),
25886
25886
  _step2;
25887
25887
  try {
25888
25888
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -26263,9 +26263,9 @@ var ThemeModel = function ThemeModel() {
26263
26263
  }
26264
26264
  };
26265
26265
 
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; }
26266
+ 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; } } }; }
26267
+ 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; } }
26268
+ 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; }
26269
26269
  /*
26270
26270
  "component": AnalyticsReportsWidget,
26271
26271
  "type":"widget",
@@ -26383,7 +26383,7 @@ var ComponentConfigModel = function ComponentConfigModel() {
26383
26383
  if ("providers" in obj && Array.isArray(obj.providers)) {
26384
26384
  var seen = new Set();
26385
26385
  var cleaned = [];
26386
- var _iterator = _createForOfIteratorHelper$o(obj.providers),
26386
+ var _iterator = _createForOfIteratorHelper$p(obj.providers),
26387
26387
  _step;
26388
26388
  try {
26389
26389
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -26429,9 +26429,9 @@ var MenuItemModel = function MenuItemModel() {
26429
26429
  return m;
26430
26430
  };
26431
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; }
26432
+ 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; } } }; }
26433
+ 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; } }
26434
+ 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; }
26435
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
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
26437
  /**
@@ -26491,7 +26491,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26491
26491
  maxRow = -Infinity;
26492
26492
  var minCol = Infinity,
26493
26493
  maxCol = -Infinity;
26494
- var _iterator = _createForOfIteratorHelper$n(cellNumbers),
26494
+ var _iterator = _createForOfIteratorHelper$o(cellNumbers),
26495
26495
  _step;
26496
26496
  try {
26497
26497
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -26515,7 +26515,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26515
26515
  } finally {
26516
26516
  _iterator.f();
26517
26517
  }
26518
- var _iterator2 = _createForOfIteratorHelper$n(cellNumbers),
26518
+ var _iterator2 = _createForOfIteratorHelper$o(cellNumbers),
26519
26519
  _step2;
26520
26520
  try {
26521
26521
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -26557,7 +26557,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26557
26557
  _iterator2.f();
26558
26558
  }
26559
26559
  var componentsInRange = [];
26560
- var _iterator3 = _createForOfIteratorHelper$n(cellNumbers),
26560
+ var _iterator3 = _createForOfIteratorHelper$o(cellNumbers),
26561
26561
  _step3;
26562
26562
  try {
26563
26563
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -26595,7 +26595,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26595
26595
  // other selected cells get hidden and have their component refs
26596
26596
  // cleared (so a stale ref in a hidden cell never re-renders).
26597
26597
  var keepCell = cellNumbers[0];
26598
- var _iterator4 = _createForOfIteratorHelper$n(cellNumbers),
26598
+ var _iterator4 = _createForOfIteratorHelper$o(cellNumbers),
26599
26599
  _step4;
26600
26600
  try {
26601
26601
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -26634,9 +26634,500 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26634
26634
 
26635
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; }
26636
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; }
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; } } }; }
26638
- function _unsupportedIterableToArray$m(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$m(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$m(r, a) : void 0; } }
26639
- function _arrayLikeToArray$m(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
26637
+ /**
26638
+ * splitGridCellOp
26639
+ *
26640
+ * Pure helper for `DashboardModel.splitGridCell`. Splits a single
26641
+ * cell horizontally or vertically into `count` sub-cells.
26642
+ *
26643
+ * Two regimes (preserving original DashboardModel semantics):
26644
+ *
26645
+ * CASE A — divisible span: when the target cell already has a span
26646
+ * in the split direction that's divisible by count, simply
26647
+ * subdivide the span into count pieces. No grid resolution change.
26648
+ *
26649
+ * CASE B — non-divisible span (typical for an unspanned cell with
26650
+ * count=2): multiply the entire grid's resolution in the split
26651
+ * direction by count, reposition every visible cell to its
26652
+ * equivalent location, and place the count sub-cells at the
26653
+ * scaled target position.
26654
+ *
26655
+ * In both regimes the widget on the original target cell ends up on
26656
+ * the FIRST sub-cell. The other sub-cells are empty.
26657
+ *
26658
+ * Pure — input grid is never mutated.
26659
+ */
26660
+
26661
+ var META_KEYS$4 = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colModes", "colWidths"]);
26662
+ function _isCellKey$4(key) {
26663
+ return /^\d+\.\d+$/.test(key);
26664
+ }
26665
+ function _cloneShallow(grid) {
26666
+ var out = {};
26667
+ for (var _i = 0, _Object$keys = Object.keys(grid); _i < _Object$keys.length; _i++) {
26668
+ var k = _Object$keys[_i];
26669
+ if (META_KEYS$4.has(k)) {
26670
+ out[k] = grid[k];
26671
+ } else if (_isCellKey$4(k)) {
26672
+ var cell = grid[k];
26673
+ out[k] = _objectSpread$D({}, cell);
26674
+ if (cell.span) out[k].span = _objectSpread$D({}, cell.span);
26675
+ }
26676
+ }
26677
+ return out;
26678
+ }
26679
+ function _stripSpan(span, removeKey) {
26680
+ if (!span) return undefined;
26681
+ var out = _objectSpread$D({}, span);
26682
+ delete out[removeKey];
26683
+ return Object.keys(out).length > 0 ? out : undefined;
26684
+ }
26685
+ function _splitCaseADivisibleSpan(grid, row, col, direction, count) {
26686
+ var _targetCell$span, _targetCell$span2;
26687
+ // direction: "horizontal" splits col span; "vertical" splits row span.
26688
+ var isHorizontal = direction === "horizontal";
26689
+ var targetCell = grid["".concat(row, ".").concat(col)];
26690
+ var targetSpanCol = ((_targetCell$span = targetCell.span) === null || _targetCell$span === void 0 ? void 0 : _targetCell$span.col) || 1;
26691
+ var targetSpanRow = ((_targetCell$span2 = targetCell.span) === null || _targetCell$span2 === void 0 ? void 0 : _targetCell$span2.row) || 1;
26692
+ var splitSpan = isHorizontal ? targetSpanCol : targetSpanRow;
26693
+ var otherSpan = isHorizontal ? targetSpanRow : targetSpanCol;
26694
+ var subSpan = splitSpan / count;
26695
+ var component = targetCell.component;
26696
+ var out = _cloneShallow(grid);
26697
+
26698
+ // Unhide cells previously covered by the old span.
26699
+ for (var sr = row; sr < row + targetSpanRow; sr++) {
26700
+ for (var sc = col; sc < col + targetSpanCol; sc++) {
26701
+ var k = "".concat(sr, ".").concat(sc);
26702
+ if (out[k]) out[k] = _objectSpread$D(_objectSpread$D({}, out[k]), {}, {
26703
+ hide: false
26704
+ });
26705
+ }
26706
+ }
26707
+
26708
+ // Drop the old span on the target.
26709
+ if (out["".concat(row, ".").concat(col)].span) {
26710
+ delete out["".concat(row, ".").concat(col)].span;
26711
+ }
26712
+
26713
+ // Create the count sub-cells.
26714
+ for (var i = 0; i < count; i++) {
26715
+ var subRow = isHorizontal ? row : row + i * subSpan;
26716
+ var subCol = isHorizontal ? col + i * subSpan : col;
26717
+ var key = "".concat(subRow, ".").concat(subCol);
26718
+ var sub = {
26719
+ component: i === 0 ? component : null,
26720
+ hide: false
26721
+ };
26722
+ if (subSpan > 1 || otherSpan > 1) {
26723
+ sub.span = {};
26724
+ if (isHorizontal) {
26725
+ if (subSpan > 1) sub.span.col = subSpan;
26726
+ if (otherSpan > 1) sub.span.row = otherSpan;
26727
+ } else {
26728
+ if (subSpan > 1) sub.span.row = subSpan;
26729
+ if (otherSpan > 1) sub.span.col = otherSpan;
26730
+ }
26731
+ }
26732
+ out[key] = sub;
26733
+ }
26734
+ return out;
26735
+ }
26736
+ function _splitCaseBResolutionMultiply(grid, row, col, direction, count) {
26737
+ var _targetCell$span3, _targetCell$span4, _targetCell$span5, _targetCell$span6;
26738
+ var isHorizontal = direction === "horizontal";
26739
+ var targetCell = grid["".concat(row, ".").concat(col)];
26740
+ var oldRows = grid.rows || 1;
26741
+ var oldCols = grid.cols || 1;
26742
+ var component = targetCell.component;
26743
+
26744
+ // 1. Collect every visible cell's data + position + spans.
26745
+ var visibleCells = [];
26746
+ for (var r = 1; r <= oldRows; r++) {
26747
+ for (var c = 1; c <= oldCols; c++) {
26748
+ var key = "".concat(r, ".").concat(c);
26749
+ var c0 = grid[key];
26750
+ if (c0 && !c0.hide) {
26751
+ var _c0$span, _c0$span2;
26752
+ visibleCells.push({
26753
+ row: r,
26754
+ col: c,
26755
+ data: _objectSpread$D({}, c0),
26756
+ spanRow: ((_c0$span = c0.span) === null || _c0$span === void 0 ? void 0 : _c0$span.row) || 1,
26757
+ spanCol: ((_c0$span2 = c0.span) === null || _c0$span2 === void 0 ? void 0 : _c0$span2.col) || 1
26758
+ });
26759
+ }
26760
+ }
26761
+ }
26762
+
26763
+ // 2. Build the new grid: copy meta keys, drop all cell keys.
26764
+ var out = {};
26765
+ for (var _i2 = 0, _Object$keys2 = Object.keys(grid); _i2 < _Object$keys2.length; _i2++) {
26766
+ var k = _Object$keys2[_i2];
26767
+ if (META_KEYS$4.has(k)) out[k] = grid[k];
26768
+ }
26769
+ if (isHorizontal) {
26770
+ out.cols = oldCols * count;
26771
+ out.rows = oldRows;
26772
+ } else {
26773
+ out.rows = oldRows * count;
26774
+ out.cols = oldCols;
26775
+ }
26776
+
26777
+ // 3. Reposition every visible cell to its scaled position with the
26778
+ // span scaled in the split direction.
26779
+ for (var _i3 = 0, _visibleCells = visibleCells; _i3 < _visibleCells.length; _i3++) {
26780
+ var vc = _visibleCells[_i3];
26781
+ var newRow = isHorizontal ? vc.row : (vc.row - 1) * count + 1;
26782
+ var newCol = isHorizontal ? (vc.col - 1) * count + 1 : vc.col;
26783
+ var _key = "".concat(newRow, ".").concat(newCol);
26784
+ var repositioned = _objectSpread$D(_objectSpread$D({}, vc.data), {}, {
26785
+ hide: false,
26786
+ span: {
26787
+ row: isHorizontal ? vc.spanRow : vc.spanRow * count,
26788
+ col: isHorizontal ? vc.spanCol * count : vc.spanCol
26789
+ }
26790
+ });
26791
+ out[_key] = repositioned;
26792
+ }
26793
+
26794
+ // 4. Replace the target cell's repositioned entry with count sub-cells.
26795
+ var newTargetRow = isHorizontal ? row : (row - 1) * count + 1;
26796
+ var newTargetCol = isHorizontal ? (col - 1) * count + 1 : col;
26797
+ var newTargetSpanInSplitDir = isHorizontal ? (((_targetCell$span3 = targetCell.span) === null || _targetCell$span3 === void 0 ? void 0 : _targetCell$span3.col) || 1) * count : (((_targetCell$span4 = targetCell.span) === null || _targetCell$span4 === void 0 ? void 0 : _targetCell$span4.row) || 1) * count;
26798
+ var subSpan = newTargetSpanInSplitDir / count;
26799
+ var otherSpan = isHorizontal ? ((_targetCell$span5 = targetCell.span) === null || _targetCell$span5 === void 0 ? void 0 : _targetCell$span5.row) || 1 : ((_targetCell$span6 = targetCell.span) === null || _targetCell$span6 === void 0 ? void 0 : _targetCell$span6.col) || 1;
26800
+ for (var i = 0; i < count; i++) {
26801
+ var subRow = isHorizontal ? newTargetRow : newTargetRow + i * subSpan;
26802
+ var subCol = isHorizontal ? newTargetCol + i * subSpan : newTargetCol;
26803
+ var _key2 = "".concat(subRow, ".").concat(subCol);
26804
+ var sub = {
26805
+ component: i === 0 ? component : null,
26806
+ hide: false
26807
+ };
26808
+ if (subSpan > 1 || otherSpan > 1) {
26809
+ sub.span = {};
26810
+ if (isHorizontal) {
26811
+ if (subSpan > 1) sub.span.col = subSpan;
26812
+ if (otherSpan > 1) sub.span.row = otherSpan;
26813
+ } else {
26814
+ if (subSpan > 1) sub.span.row = subSpan;
26815
+ if (otherSpan > 1) sub.span.col = otherSpan;
26816
+ }
26817
+ }
26818
+ out[_key2] = sub;
26819
+ }
26820
+ return out;
26821
+ }
26822
+ function splitGridCellOp(grid, cellNumber, direction) {
26823
+ var _targetCell$span7, _targetCell$span8;
26824
+ var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2;
26825
+ if (!grid) return grid;
26826
+ var targetCell = grid[cellNumber];
26827
+ if (!targetCell) return grid;
26828
+ if (direction !== "horizontal" && direction !== "vertical") return grid;
26829
+ if (!Number.isFinite(count) || count < 2) return grid;
26830
+ var _cellNumber$split$map = cellNumber.split(".").map(Number),
26831
+ _cellNumber$split$map2 = _slicedToArray(_cellNumber$split$map, 2),
26832
+ row = _cellNumber$split$map2[0],
26833
+ col = _cellNumber$split$map2[1];
26834
+ var targetSpanInSplitDir = direction === "horizontal" ? ((_targetCell$span7 = targetCell.span) === null || _targetCell$span7 === void 0 ? void 0 : _targetCell$span7.col) || 1 : ((_targetCell$span8 = targetCell.span) === null || _targetCell$span8 === void 0 ? void 0 : _targetCell$span8.row) || 1;
26835
+ if (targetSpanInSplitDir % count === 0) {
26836
+ return _splitCaseADivisibleSpan(grid, row, col, direction, count);
26837
+ }
26838
+ return _splitCaseBResolutionMultiply(grid, row, col, direction, count);
26839
+ }
26840
+
26841
+ // Exposed for tests / DashboardModel utility (kept private until needed).
26842
+ splitGridCellOp._stripSpan = _stripSpan;
26843
+
26844
+ /**
26845
+ * addGridRowOp
26846
+ *
26847
+ * Pure helper for `DashboardModel.addGridRow`. Inserts a new empty row
26848
+ * after the supplied row number (afterRow=0 inserts at the top). All
26849
+ * rows at or after the insertion point shift down by one. rowHeights
26850
+ * and rowModes maps shift correspondingly so that per-row sizing/mode
26851
+ * state tracks the original rows.
26852
+ *
26853
+ * Pure — input grid is never mutated.
26854
+ */
26855
+
26856
+ var META_KEYS$3 = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colWidths"]);
26857
+ function _isCellKey$3(key) {
26858
+ return /^\d+\.\d+$/.test(key);
26859
+ }
26860
+ function _shiftKeyMap$1(map, insertAt) {
26861
+ if (!map) return undefined;
26862
+ var shifted = {};
26863
+ for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
26864
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
26865
+ key = _Object$entries$_i[0],
26866
+ value = _Object$entries$_i[1];
26867
+ var n = Number(key);
26868
+ shifted[String(n >= insertAt ? n + 1 : n)] = value;
26869
+ }
26870
+ return Object.keys(shifted).length > 0 ? shifted : undefined;
26871
+ }
26872
+ function addGridRowOp(grid) {
26873
+ var afterRow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
26874
+ if (!grid) return grid;
26875
+ var newRowNumber = afterRow + 1;
26876
+ var out = {};
26877
+ // Copy meta keys forward.
26878
+ for (var _i2 = 0, _Object$keys = Object.keys(grid); _i2 < _Object$keys.length; _i2++) {
26879
+ var k = _Object$keys[_i2];
26880
+ if (META_KEYS$3.has(k)) out[k] = grid[k];
26881
+ }
26882
+ out.rows = (grid.rows || 0) + 1;
26883
+ out.cols = grid.cols;
26884
+
26885
+ // Walk every cell. Cells at row >= insertion point shift down by 1.
26886
+ for (var _i3 = 0, _Object$keys2 = Object.keys(grid); _i3 < _Object$keys2.length; _i3++) {
26887
+ var _k = _Object$keys2[_i3];
26888
+ if (!_isCellKey$3(_k)) continue;
26889
+ var _k$split$map = _k.split(".").map(Number),
26890
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
26891
+ r = _k$split$map2[0],
26892
+ c = _k$split$map2[1];
26893
+ var newRow = r >= newRowNumber ? r + 1 : r;
26894
+ out["".concat(newRow, ".").concat(c)] = grid[_k];
26895
+ }
26896
+
26897
+ // Insert empty cells in the new row.
26898
+ var cols = grid.cols || 0;
26899
+ for (var _c = 1; _c <= cols; _c++) {
26900
+ out["".concat(newRowNumber, ".").concat(_c)] = {
26901
+ component: null,
26902
+ hide: false
26903
+ };
26904
+ }
26905
+
26906
+ // Shift rowHeights / rowModes keys to track original rows.
26907
+ var newRowHeights = _shiftKeyMap$1(grid.rowHeights, newRowNumber);
26908
+ if (newRowHeights) out.rowHeights = newRowHeights;else delete out.rowHeights;
26909
+ var newRowModes = _shiftKeyMap$1(grid.rowModes, newRowNumber);
26910
+ if (newRowModes) out.rowModes = newRowModes;else delete out.rowModes;
26911
+ return out;
26912
+ }
26913
+
26914
+ /**
26915
+ * deleteGridRowOp
26916
+ *
26917
+ * Pure helper for `DashboardModel.deleteGridRow`. Removes the row at
26918
+ * `rowNumber`, shifts everything below up by one, and **returns the
26919
+ * list of widget component ids that lived on the deleted row** so the
26920
+ * caller can remove them from the layout (or surface them to a
26921
+ * confirm-before-delete UX in the future).
26922
+ *
26923
+ * Refuses to delete the only remaining row (returns the input grid
26924
+ * unchanged + empty orphans list — same fail-safe the model had).
26925
+ */
26926
+
26927
+ var META_KEYS$2 = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colModes", "colWidths"]);
26928
+ function _isCellKey$2(key) {
26929
+ return /^\d+\.\d+$/.test(key);
26930
+ }
26931
+ function _shiftKeyMapDown$1(map, deletedAt) {
26932
+ if (!map) return undefined;
26933
+ var shifted = {};
26934
+ for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
26935
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
26936
+ key = _Object$entries$_i[0],
26937
+ value = _Object$entries$_i[1];
26938
+ var n = Number(key);
26939
+ if (n === deletedAt) continue;
26940
+ shifted[String(n > deletedAt ? n - 1 : n)] = value;
26941
+ }
26942
+ return Object.keys(shifted).length > 0 ? shifted : undefined;
26943
+ }
26944
+ function deleteGridRowOp(grid, rowNumber) {
26945
+ if (!grid) return {
26946
+ grid: grid,
26947
+ orphanedComponents: []
26948
+ };
26949
+ if ((grid.rows || 0) <= 1) {
26950
+ // Can't delete the only row — fail-safe no-op.
26951
+ return {
26952
+ grid: grid,
26953
+ orphanedComponents: []
26954
+ };
26955
+ }
26956
+ var out = {};
26957
+ var orphanedComponents = [];
26958
+ for (var _i2 = 0, _Object$keys = Object.keys(grid); _i2 < _Object$keys.length; _i2++) {
26959
+ var k = _Object$keys[_i2];
26960
+ if (META_KEYS$2.has(k)) {
26961
+ out[k] = grid[k];
26962
+ continue;
26963
+ }
26964
+ if (!_isCellKey$2(k)) continue;
26965
+ var _k$split$map = k.split(".").map(Number),
26966
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
26967
+ r = _k$split$map2[0],
26968
+ c = _k$split$map2[1];
26969
+ if (r === rowNumber) {
26970
+ // Cell is in the row being deleted — collect its component (if
26971
+ // any) as an orphan, drop the cell entirely.
26972
+ var comp = grid[k] && grid[k].component;
26973
+ if (comp != null) orphanedComponents.push(comp);
26974
+ continue;
26975
+ }
26976
+ if (r > rowNumber) {
26977
+ // Cells below the deleted row shift up by one.
26978
+ out["".concat(r - 1, ".").concat(c)] = grid[k];
26979
+ } else {
26980
+ // Cells above the deleted row are unchanged.
26981
+ out[k] = grid[k];
26982
+ }
26983
+ }
26984
+ out.rows = (grid.rows || 0) - 1;
26985
+ out.cols = grid.cols;
26986
+ var newRowHeights = _shiftKeyMapDown$1(grid.rowHeights, rowNumber);
26987
+ if (newRowHeights) out.rowHeights = newRowHeights;else delete out.rowHeights;
26988
+ var newRowModes = _shiftKeyMapDown$1(grid.rowModes, rowNumber);
26989
+ if (newRowModes) out.rowModes = newRowModes;else delete out.rowModes;
26990
+ return {
26991
+ grid: out,
26992
+ orphanedComponents: orphanedComponents
26993
+ };
26994
+ }
26995
+
26996
+ /**
26997
+ * addGridColumnOp
26998
+ *
26999
+ * Pure helper for `DashboardModel.addGridColumn`. Symmetric to
27000
+ * `addGridRowOp` but for columns. Inserts an empty column after the
27001
+ * supplied column number (afterCol=0 inserts at the left edge).
27002
+ * colModes shifts to track its original columns. (Original code
27003
+ * doesn't track colWidths, so we don't either; can be added later.)
27004
+ */
27005
+
27006
+ var META_KEYS$1 = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colModes", "colWidths"]);
27007
+ function _isCellKey$1(key) {
27008
+ return /^\d+\.\d+$/.test(key);
27009
+ }
27010
+ function _shiftKeyMap(map, insertAt) {
27011
+ if (!map) return undefined;
27012
+ var shifted = {};
27013
+ for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
27014
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
27015
+ key = _Object$entries$_i[0],
27016
+ value = _Object$entries$_i[1];
27017
+ var n = Number(key);
27018
+ shifted[String(n >= insertAt ? n + 1 : n)] = value;
27019
+ }
27020
+ return Object.keys(shifted).length > 0 ? shifted : undefined;
27021
+ }
27022
+ function addGridColumnOp(grid) {
27023
+ var afterCol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
27024
+ if (!grid) return grid;
27025
+ var newColNumber = afterCol + 1;
27026
+ var out = {};
27027
+ for (var _i2 = 0, _Object$keys = Object.keys(grid); _i2 < _Object$keys.length; _i2++) {
27028
+ var k = _Object$keys[_i2];
27029
+ if (META_KEYS$1.has(k)) out[k] = grid[k];
27030
+ }
27031
+ out.cols = (grid.cols || 0) + 1;
27032
+ out.rows = grid.rows;
27033
+ for (var _i3 = 0, _Object$keys2 = Object.keys(grid); _i3 < _Object$keys2.length; _i3++) {
27034
+ var _k = _Object$keys2[_i3];
27035
+ if (!_isCellKey$1(_k)) continue;
27036
+ var _k$split$map = _k.split(".").map(Number),
27037
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
27038
+ r = _k$split$map2[0],
27039
+ c = _k$split$map2[1];
27040
+ var newCol = c >= newColNumber ? c + 1 : c;
27041
+ out["".concat(r, ".").concat(newCol)] = grid[_k];
27042
+ }
27043
+ var rows = grid.rows || 0;
27044
+ for (var _r = 1; _r <= rows; _r++) {
27045
+ out["".concat(_r, ".").concat(newColNumber)] = {
27046
+ component: null,
27047
+ hide: false
27048
+ };
27049
+ }
27050
+ var newColModes = _shiftKeyMap(grid.colModes, newColNumber);
27051
+ if (newColModes) out.colModes = newColModes;else delete out.colModes;
27052
+ return out;
27053
+ }
27054
+
27055
+ /**
27056
+ * deleteGridColumnOp
27057
+ *
27058
+ * Pure helper for `DashboardModel.deleteGridColumn`. Symmetric to
27059
+ * `deleteGridRowOp` — removes the column at `colNumber`, shifts
27060
+ * everything to the right left by one, returns orphaned widget ids.
27061
+ *
27062
+ * Refuses to delete the only remaining column (returns input grid
27063
+ * unchanged + empty orphans list).
27064
+ */
27065
+
27066
+ var META_KEYS = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colModes", "colWidths"]);
27067
+ function _isCellKey(key) {
27068
+ return /^\d+\.\d+$/.test(key);
27069
+ }
27070
+ function _shiftKeyMapDown(map, deletedAt) {
27071
+ if (!map) return undefined;
27072
+ var shifted = {};
27073
+ for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
27074
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
27075
+ key = _Object$entries$_i[0],
27076
+ value = _Object$entries$_i[1];
27077
+ var n = Number(key);
27078
+ if (n === deletedAt) continue;
27079
+ shifted[String(n > deletedAt ? n - 1 : n)] = value;
27080
+ }
27081
+ return Object.keys(shifted).length > 0 ? shifted : undefined;
27082
+ }
27083
+ function deleteGridColumnOp(grid, colNumber) {
27084
+ if (!grid) return {
27085
+ grid: grid,
27086
+ orphanedComponents: []
27087
+ };
27088
+ if ((grid.cols || 0) <= 1) {
27089
+ return {
27090
+ grid: grid,
27091
+ orphanedComponents: []
27092
+ };
27093
+ }
27094
+ var out = {};
27095
+ var orphanedComponents = [];
27096
+ for (var _i2 = 0, _Object$keys = Object.keys(grid); _i2 < _Object$keys.length; _i2++) {
27097
+ var k = _Object$keys[_i2];
27098
+ if (META_KEYS.has(k)) {
27099
+ out[k] = grid[k];
27100
+ continue;
27101
+ }
27102
+ if (!_isCellKey(k)) continue;
27103
+ var _k$split$map = k.split(".").map(Number),
27104
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
27105
+ r = _k$split$map2[0],
27106
+ c = _k$split$map2[1];
27107
+ if (c === colNumber) {
27108
+ var comp = grid[k] && grid[k].component;
27109
+ if (comp != null) orphanedComponents.push(comp);
27110
+ continue;
27111
+ }
27112
+ if (c > colNumber) {
27113
+ out["".concat(r, ".").concat(c - 1)] = grid[k];
27114
+ } else {
27115
+ out[k] = grid[k];
27116
+ }
27117
+ }
27118
+ out.cols = (grid.cols || 0) - 1;
27119
+ out.rows = grid.rows;
27120
+ var newColModes = _shiftKeyMapDown(grid.colModes, colNumber);
27121
+ if (newColModes) out.colModes = newColModes;else delete out.colModes;
27122
+ return {
27123
+ grid: out,
27124
+ orphanedComponents: orphanedComponents
27125
+ };
27126
+ }
27127
+
27128
+ 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; } } }; }
27129
+ 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; } }
27130
+ 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; }
26640
27131
  /**
26641
27132
  * A Model for a Workspace (Dashboard)
26642
27133
  * The Dashboard in this instance is the entire Layout inclusive of the workspaces and widgets
@@ -26708,7 +27199,7 @@ var DashboardModel = /*#__PURE__*/function () {
26708
27199
 
26709
27200
  // Also normalize grids within pages
26710
27201
  if (this.pages.length > 0) {
26711
- var _iterator = _createForOfIteratorHelper$m(this.pages),
27202
+ var _iterator = _createForOfIteratorHelper$n(this.pages),
26712
27203
  _step;
26713
27204
  try {
26714
27205
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -27915,210 +28406,18 @@ var DashboardModel = /*#__PURE__*/function () {
27915
28406
  if (!gridContainer || !gridContainer.grid) {
27916
28407
  return null;
27917
28408
  }
27918
- var grid = gridContainer.grid;
27919
- var _cellNumber$split$map = cellNumber.split(".").map(Number),
27920
- _cellNumber$split$map2 = _slicedToArray(_cellNumber$split$map, 2),
27921
- row = _cellNumber$split$map2[0],
27922
- col = _cellNumber$split$map2[1];
27923
- var targetCell = grid[cellNumber];
27924
- if (direction === "horizontal") {
27925
- var _targetCell$span, _targetCell$span2;
27926
- var targetSpanCol = (targetCell === null || targetCell === void 0 || (_targetCell$span = targetCell.span) === null || _targetCell$span === void 0 ? void 0 : _targetCell$span.col) || 1;
27927
- var targetSpanRow = (targetCell === null || targetCell === void 0 || (_targetCell$span2 = targetCell.span) === null || _targetCell$span2 === void 0 ? void 0 : _targetCell$span2.row) || 1;
27928
- if (targetSpanCol % count === 0) {
27929
- // CASE A: Span is divisible — simple subdivision, no grid resize
27930
- var subSpan = targetSpanCol / count;
27931
- var component = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
27932
-
27933
- // Unhide cells covered by the old span
27934
- for (var sr = row; sr < row + targetSpanRow; sr++) {
27935
- for (var sc = col; sc < col + targetSpanCol; sc++) {
27936
- var k = "".concat(sr, ".").concat(sc);
27937
- if (grid[k]) grid[k].hide = false;
27938
- }
27939
- }
27940
- delete targetCell.span;
27941
-
27942
- // Create subdivided cells
27943
- for (var i = 0; i < count; i++) {
27944
- var key = "".concat(row, ".").concat(col + i * subSpan);
27945
- grid[key] = {
27946
- component: i === 0 ? component : null,
27947
- hide: false
27948
- };
27949
- if (subSpan > 1 || targetSpanRow > 1) {
27950
- grid[key].span = {};
27951
- if (subSpan > 1) grid[key].span.col = subSpan;
27952
- if (targetSpanRow > 1) grid[key].span.row = targetSpanRow;
27953
- }
27954
- }
27955
- } else {
27956
- var _targetCell$span3, _targetCell$span4;
27957
- // CASE B: Multiply grid resolution by count
27958
- var oldCols = grid.cols;
27959
-
27960
- // 1. Collect all visible cells
27961
- var visibleCells = [];
27962
- for (var r = 1; r <= grid.rows; r++) {
27963
- for (var c = 1; c <= oldCols; c++) {
27964
- var _key5 = "".concat(r, ".").concat(c);
27965
- var cell = grid[_key5];
27966
- if (cell && !cell.hide) {
27967
- var _cell$span, _cell$span2;
27968
- visibleCells.push({
27969
- row: r,
27970
- col: c,
27971
- data: _objectSpread$D({}, cell),
27972
- spanCol: ((_cell$span = cell.span) === null || _cell$span === void 0 ? void 0 : _cell$span.col) || 1,
27973
- spanRow: ((_cell$span2 = cell.span) === null || _cell$span2 === void 0 ? void 0 : _cell$span2.row) || 1
27974
- });
27975
- }
27976
- }
27977
- }
27978
-
27979
- // 2. Clear all cell keys
27980
- for (var _i4 = 0, _Object$keys3 = Object.keys(grid); _i4 < _Object$keys3.length; _i4++) {
27981
- var _key6 = _Object$keys3[_i4];
27982
- if (/^\d+\.\d+$/.test(_key6)) delete grid[_key6];
27983
- }
27984
-
27985
- // 3. Update grid dimensions
27986
- grid.cols = oldCols * count;
27987
-
27988
- // 4. Reposition all cells with scaled positions and spans
27989
- for (var _i5 = 0, _visibleCells = visibleCells; _i5 < _visibleCells.length; _i5++) {
27990
- var vc = _visibleCells[_i5];
27991
- var newCol = (vc.col - 1) * count + 1;
27992
- var _key7 = "".concat(vc.row, ".").concat(newCol);
27993
- grid[_key7] = _objectSpread$D(_objectSpread$D({}, vc.data), {}, {
27994
- hide: false,
27995
- span: {
27996
- row: vc.spanRow,
27997
- col: vc.spanCol * count
27998
- }
27999
- });
28000
- }
28001
-
28002
- // 5. Split the target cell into count sub-cells
28003
- var newTargetCol = (col - 1) * count + 1;
28004
- var newTargetSpan = ((targetCell === null || targetCell === void 0 || (_targetCell$span3 = targetCell.span) === null || _targetCell$span3 === void 0 ? void 0 : _targetCell$span3.col) || 1) * count;
28005
- var _subSpan = newTargetSpan / count;
28006
- var _component = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
28007
- var rowSpan = (targetCell === null || targetCell === void 0 || (_targetCell$span4 = targetCell.span) === null || _targetCell$span4 === void 0 ? void 0 : _targetCell$span4.row) || 1;
28008
- for (var _i6 = 0; _i6 < count; _i6++) {
28009
- var _key8 = "".concat(row, ".").concat(newTargetCol + _i6 * _subSpan);
28010
- grid[_key8] = {
28011
- component: _i6 === 0 ? _component : null,
28012
- hide: false
28013
- };
28014
- if (_subSpan > 1 || rowSpan > 1) {
28015
- grid[_key8].span = {};
28016
- if (_subSpan > 1) grid[_key8].span.col = _subSpan;
28017
- if (rowSpan > 1) grid[_key8].span.row = rowSpan;
28018
- }
28019
- }
28020
- }
28021
- } else if (direction === "vertical") {
28022
- var _targetCell$span5, _targetCell$span6;
28023
- var _targetSpanRow = (targetCell === null || targetCell === void 0 || (_targetCell$span5 = targetCell.span) === null || _targetCell$span5 === void 0 ? void 0 : _targetCell$span5.row) || 1;
28024
- var _targetSpanCol = (targetCell === null || targetCell === void 0 || (_targetCell$span6 = targetCell.span) === null || _targetCell$span6 === void 0 ? void 0 : _targetCell$span6.col) || 1;
28025
- if (_targetSpanRow % count === 0) {
28026
- // CASE A: Span is divisible — simple subdivision, no grid resize
28027
- var _subSpan2 = _targetSpanRow / count;
28028
- var _component2 = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
28029
-
28030
- // Unhide cells covered by the old span
28031
- for (var _sr2 = row; _sr2 < row + _targetSpanRow; _sr2++) {
28032
- for (var _sc2 = col; _sc2 < col + _targetSpanCol; _sc2++) {
28033
- var _k = "".concat(_sr2, ".").concat(_sc2);
28034
- if (grid[_k]) grid[_k].hide = false;
28035
- }
28036
- }
28037
- delete targetCell.span;
28038
-
28039
- // Create subdivided cells
28040
- for (var _i7 = 0; _i7 < count; _i7++) {
28041
- var _key9 = "".concat(row + _i7 * _subSpan2, ".").concat(col);
28042
- grid[_key9] = {
28043
- component: _i7 === 0 ? _component2 : null,
28044
- hide: false
28045
- };
28046
- if (_subSpan2 > 1 || _targetSpanCol > 1) {
28047
- grid[_key9].span = {};
28048
- if (_subSpan2 > 1) grid[_key9].span.row = _subSpan2;
28049
- if (_targetSpanCol > 1) grid[_key9].span.col = _targetSpanCol;
28050
- }
28051
- }
28052
- } else {
28053
- var _targetCell$span7, _targetCell$span8;
28054
- // CASE B: Multiply grid resolution by count
28055
- var oldRows = grid.rows;
28056
-
28057
- // 1. Collect all visible cells
28058
- var _visibleCells2 = [];
28059
- for (var _r1 = 1; _r1 <= oldRows; _r1++) {
28060
- for (var _c10 = 1; _c10 <= grid.cols; _c10++) {
28061
- var _key0 = "".concat(_r1, ".").concat(_c10);
28062
- var _cell6 = grid[_key0];
28063
- if (_cell6 && !_cell6.hide) {
28064
- var _cell6$span, _cell6$span2;
28065
- _visibleCells2.push({
28066
- row: _r1,
28067
- col: _c10,
28068
- data: _objectSpread$D({}, _cell6),
28069
- spanRow: ((_cell6$span = _cell6.span) === null || _cell6$span === void 0 ? void 0 : _cell6$span.row) || 1,
28070
- spanCol: ((_cell6$span2 = _cell6.span) === null || _cell6$span2 === void 0 ? void 0 : _cell6$span2.col) || 1
28071
- });
28072
- }
28073
- }
28074
- }
28075
-
28076
- // 2. Clear all cell keys
28077
- for (var _i8 = 0, _Object$keys4 = Object.keys(grid); _i8 < _Object$keys4.length; _i8++) {
28078
- var _key1 = _Object$keys4[_i8];
28079
- if (/^\d+\.\d+$/.test(_key1)) delete grid[_key1];
28080
- }
28081
-
28082
- // 3. Update grid dimensions
28083
- grid.rows = oldRows * count;
28084
-
28085
- // 4. Reposition all cells with scaled positions and spans
28086
- for (var _i9 = 0, _visibleCells3 = _visibleCells2; _i9 < _visibleCells3.length; _i9++) {
28087
- var _vc = _visibleCells3[_i9];
28088
- var newRow = (_vc.row - 1) * count + 1;
28089
- var _key10 = "".concat(newRow, ".").concat(_vc.col);
28090
- grid[_key10] = _objectSpread$D(_objectSpread$D({}, _vc.data), {}, {
28091
- hide: false,
28092
- span: {
28093
- row: _vc.spanRow * count,
28094
- col: _vc.spanCol
28095
- }
28096
- });
28097
- }
28098
-
28099
- // 5. Split the target cell into count sub-cells
28100
- var newTargetRow = (row - 1) * count + 1;
28101
- var _newTargetSpan = ((targetCell === null || targetCell === void 0 || (_targetCell$span7 = targetCell.span) === null || _targetCell$span7 === void 0 ? void 0 : _targetCell$span7.row) || 1) * count;
28102
- var _subSpan3 = _newTargetSpan / count;
28103
- var _component3 = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
28104
- var colSpan = (targetCell === null || targetCell === void 0 || (_targetCell$span8 = targetCell.span) === null || _targetCell$span8 === void 0 ? void 0 : _targetCell$span8.col) || 1;
28105
- for (var _i0 = 0; _i0 < count; _i0++) {
28106
- var _key11 = "".concat(newTargetRow + _i0 * _subSpan3, ".").concat(col);
28107
- grid[_key11] = {
28108
- component: _i0 === 0 ? _component3 : null,
28109
- hide: false
28110
- };
28111
- if (_subSpan3 > 1 || colSpan > 1) {
28112
- grid[_key11].span = {};
28113
- if (_subSpan3 > 1) grid[_key11].span.row = _subSpan3;
28114
- if (colSpan > 1) grid[_key11].span.col = colSpan;
28115
- }
28116
- }
28117
- }
28409
+ // Slice 11: pure helper handles both CASE A (divisible span)
28410
+ // and CASE B (resolution multiply). Falls through to the legacy
28411
+ // inline path below if the helper somehow returns the same
28412
+ // grid (defensive — shouldn't happen for a valid cellNumber +
28413
+ // direction).
28414
+ var newGrid = splitGridCellOp(gridContainer.grid, cellNumber, direction, count);
28415
+ if (newGrid !== gridContainer.grid) {
28416
+ gridContainer.grid = newGrid;
28417
+ this._normalizeGrid(gridContainer.grid);
28418
+ this.updateLayoutItem(gridContainer);
28118
28419
  }
28119
- this._normalizeGrid(grid);
28120
- this.updateLayoutItem(gridContainer);
28121
- return grid;
28420
+ return gridContainer.grid;
28122
28421
  } catch (e) {
28123
28422
  return null;
28124
28423
  }
@@ -28267,55 +28566,8 @@ var DashboardModel = /*#__PURE__*/function () {
28267
28566
  if (!gridContainer || !gridContainer.grid) {
28268
28567
  return null;
28269
28568
  }
28270
- var newRowNumber = afterRow + 1;
28271
- gridContainer.grid.rows += 1;
28272
-
28273
- // Shift existing rows down
28274
- for (var r = gridContainer.grid.rows; r > newRowNumber; r--) {
28275
- for (var c = 1; c <= gridContainer.grid.cols; c++) {
28276
- var oldCell = "".concat(r - 1, ".").concat(c);
28277
- var newCell = "".concat(r, ".").concat(c);
28278
- if (oldCell in gridContainer.grid) {
28279
- gridContainer.grid[newCell] = gridContainer.grid[oldCell];
28280
- delete gridContainer.grid[oldCell];
28281
- }
28282
- }
28283
- }
28284
-
28285
- // Create new empty cells for the new row
28286
- for (var _c11 = 1; _c11 <= gridContainer.grid.cols; _c11++) {
28287
- var cellNumber = "".concat(newRowNumber, ".").concat(_c11);
28288
- gridContainer.grid[cellNumber] = {
28289
- component: null,
28290
- hide: false
28291
- };
28292
- }
28293
-
28294
- // Shift rowHeights keys down (rows after insertion point move +1)
28295
- if (gridContainer.grid.rowHeights) {
28296
- var shifted = {};
28297
- for (var _i1 = 0, _Object$entries2 = Object.entries(gridContainer.grid.rowHeights); _i1 < _Object$entries2.length; _i1++) {
28298
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i1], 2),
28299
- key = _Object$entries2$_i[0],
28300
- mult = _Object$entries2$_i[1];
28301
- var rowNum = Number(key);
28302
- shifted[String(rowNum >= newRowNumber ? rowNum + 1 : rowNum)] = mult;
28303
- }
28304
- gridContainer.grid.rowHeights = Object.keys(shifted).length > 0 ? shifted : undefined;
28305
- }
28306
-
28307
- // Shift rowModes keys down (rows after insertion point move +1)
28308
- if (gridContainer.grid.rowModes) {
28309
- var _shifted = {};
28310
- for (var _i10 = 0, _Object$entries3 = Object.entries(gridContainer.grid.rowModes); _i10 < _Object$entries3.length; _i10++) {
28311
- var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i10], 2),
28312
- _key12 = _Object$entries3$_i[0],
28313
- mode = _Object$entries3$_i[1];
28314
- var _rowNum = Number(_key12);
28315
- _shifted[String(_rowNum >= newRowNumber ? _rowNum + 1 : _rowNum)] = mode;
28316
- }
28317
- gridContainer.grid.rowModes = Object.keys(_shifted).length > 0 ? _shifted : undefined;
28318
- }
28569
+ // Slice 11: pure helper handles the row-insertion + shifting.
28570
+ gridContainer.grid = addGridRowOp(gridContainer.grid, afterRow);
28319
28571
  this._normalizeGrid(gridContainer.grid);
28320
28572
  this.updateLayoutItem(gridContainer);
28321
28573
  return gridContainer.grid;
@@ -28341,55 +28593,23 @@ var DashboardModel = /*#__PURE__*/function () {
28341
28593
  if (gridContainer.grid.rows <= 1) {
28342
28594
  return null;
28343
28595
  }
28344
-
28345
- // Remove components in the deleted row
28346
- for (var c = 1; c <= gridContainer.grid.cols; c++) {
28347
- var cellNumber = "".concat(rowNumber, ".").concat(c);
28348
- if (gridContainer.grid[cellNumber] && gridContainer.grid[cellNumber].component) {
28349
- this.removeItemFromLayout(gridContainer.grid[cellNumber].component);
28350
- }
28351
- delete gridContainer.grid[cellNumber];
28352
- }
28353
-
28354
- // Shift rows up
28355
- for (var r = rowNumber + 1; r <= gridContainer.grid.rows; r++) {
28356
- for (var _c12 = 1; _c12 <= gridContainer.grid.cols; _c12++) {
28357
- var oldCell = "".concat(r, ".").concat(_c12);
28358
- var newCell = "".concat(r - 1, ".").concat(_c12);
28359
- if (oldCell in gridContainer.grid) {
28360
- gridContainer.grid[newCell] = gridContainer.grid[oldCell];
28361
- delete gridContainer.grid[oldCell];
28362
- }
28596
+ // Slice 11: pure helper returns the updated grid + the list of
28597
+ // widget components that lived on the deleted row. We remove
28598
+ // those from the layout here to preserve the original
28599
+ // destructive-delete behavior.
28600
+ var result = deleteGridRowOp(gridContainer.grid, rowNumber);
28601
+ gridContainer.grid = result.grid;
28602
+ var _iterator2 = _createForOfIteratorHelper$n(result.orphanedComponents),
28603
+ _step2;
28604
+ try {
28605
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
28606
+ var componentId = _step2.value;
28607
+ this.removeItemFromLayout(componentId);
28363
28608
  }
28364
- }
28365
- gridContainer.grid.rows -= 1;
28366
-
28367
- // Shift rowHeights keys up and remove the deleted row's entry
28368
- if (gridContainer.grid.rowHeights) {
28369
- var shifted = {};
28370
- for (var _i11 = 0, _Object$entries4 = Object.entries(gridContainer.grid.rowHeights); _i11 < _Object$entries4.length; _i11++) {
28371
- var _Object$entries4$_i = _slicedToArray(_Object$entries4[_i11], 2),
28372
- key = _Object$entries4$_i[0],
28373
- mult = _Object$entries4$_i[1];
28374
- var rowNum = Number(key);
28375
- if (rowNum === rowNumber) continue;
28376
- shifted[String(rowNum > rowNumber ? rowNum - 1 : rowNum)] = mult;
28377
- }
28378
- gridContainer.grid.rowHeights = Object.keys(shifted).length > 0 ? shifted : undefined;
28379
- }
28380
-
28381
- // Shift rowModes keys up and remove the deleted row's entry
28382
- if (gridContainer.grid.rowModes) {
28383
- var _shifted2 = {};
28384
- for (var _i12 = 0, _Object$entries5 = Object.entries(gridContainer.grid.rowModes); _i12 < _Object$entries5.length; _i12++) {
28385
- var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i12], 2),
28386
- _key13 = _Object$entries5$_i[0],
28387
- mode = _Object$entries5$_i[1];
28388
- var _rowNum2 = Number(_key13);
28389
- if (_rowNum2 === rowNumber) continue;
28390
- _shifted2[String(_rowNum2 > rowNumber ? _rowNum2 - 1 : _rowNum2)] = mode;
28391
- }
28392
- gridContainer.grid.rowModes = Object.keys(_shifted2).length > 0 ? _shifted2 : undefined;
28609
+ } catch (err) {
28610
+ _iterator2.e(err);
28611
+ } finally {
28612
+ _iterator2.f();
28393
28613
  }
28394
28614
  this._normalizeGrid(gridContainer.grid);
28395
28615
  this.updateLayoutItem(gridContainer);
@@ -28448,42 +28668,8 @@ var DashboardModel = /*#__PURE__*/function () {
28448
28668
  if (!gridContainer || !gridContainer.grid) {
28449
28669
  return null;
28450
28670
  }
28451
- var newColNumber = afterCol + 1;
28452
- gridContainer.grid.cols += 1;
28453
-
28454
- // Shift existing columns right
28455
- for (var r = 1; r <= gridContainer.grid.rows; r++) {
28456
- for (var c = gridContainer.grid.cols; c > newColNumber; c--) {
28457
- var oldCell = "".concat(r, ".").concat(c - 1);
28458
- var newCell = "".concat(r, ".").concat(c);
28459
- if (oldCell in gridContainer.grid) {
28460
- gridContainer.grid[newCell] = gridContainer.grid[oldCell];
28461
- delete gridContainer.grid[oldCell];
28462
- }
28463
- }
28464
- }
28465
-
28466
- // Create new empty cells for the new column
28467
- for (var _r10 = 1; _r10 <= gridContainer.grid.rows; _r10++) {
28468
- var cellNumber = "".concat(_r10, ".").concat(newColNumber);
28469
- gridContainer.grid[cellNumber] = {
28470
- component: null,
28471
- hide: false
28472
- };
28473
- }
28474
-
28475
- // Shift colModes keys right (columns after insertion point move +1)
28476
- if (gridContainer.grid.colModes) {
28477
- var shifted = {};
28478
- for (var _i13 = 0, _Object$entries6 = Object.entries(gridContainer.grid.colModes); _i13 < _Object$entries6.length; _i13++) {
28479
- var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i13], 2),
28480
- key = _Object$entries6$_i[0],
28481
- mode = _Object$entries6$_i[1];
28482
- var colNum = Number(key);
28483
- shifted[String(colNum >= newColNumber ? colNum + 1 : colNum)] = mode;
28484
- }
28485
- gridContainer.grid.colModes = Object.keys(shifted).length > 0 ? shifted : undefined;
28486
- }
28671
+ // Slice 11: pure helper.
28672
+ gridContainer.grid = addGridColumnOp(gridContainer.grid, afterCol);
28487
28673
  this._normalizeGrid(gridContainer.grid);
28488
28674
  this.updateLayoutItem(gridContainer);
28489
28675
  return gridContainer.grid;
@@ -28509,41 +28695,20 @@ var DashboardModel = /*#__PURE__*/function () {
28509
28695
  if (gridContainer.grid.cols <= 1) {
28510
28696
  return null;
28511
28697
  }
28512
-
28513
- // Remove components in the deleted column
28514
- for (var r = 1; r <= gridContainer.grid.rows; r++) {
28515
- var cellNumber = "".concat(r, ".").concat(colNumber);
28516
- if (gridContainer.grid[cellNumber] && gridContainer.grid[cellNumber].component) {
28517
- this.removeItemFromLayout(gridContainer.grid[cellNumber].component);
28518
- }
28519
- delete gridContainer.grid[cellNumber];
28520
- }
28521
-
28522
- // Shift columns left
28523
- for (var _r11 = 1; _r11 <= gridContainer.grid.rows; _r11++) {
28524
- for (var c = colNumber + 1; c <= gridContainer.grid.cols; c++) {
28525
- var oldCell = "".concat(_r11, ".").concat(c);
28526
- var newCell = "".concat(_r11, ".").concat(c - 1);
28527
- if (oldCell in gridContainer.grid) {
28528
- gridContainer.grid[newCell] = gridContainer.grid[oldCell];
28529
- delete gridContainer.grid[oldCell];
28530
- }
28531
- }
28532
- }
28533
- gridContainer.grid.cols -= 1;
28534
-
28535
- // Shift colModes keys left and remove the deleted column's entry
28536
- if (gridContainer.grid.colModes) {
28537
- var shifted = {};
28538
- for (var _i14 = 0, _Object$entries7 = Object.entries(gridContainer.grid.colModes); _i14 < _Object$entries7.length; _i14++) {
28539
- var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i14], 2),
28540
- key = _Object$entries7$_i[0],
28541
- mode = _Object$entries7$_i[1];
28542
- var colNum = Number(key);
28543
- if (colNum === colNumber) continue;
28544
- shifted[String(colNum > colNumber ? colNum - 1 : colNum)] = mode;
28698
+ // Slice 11: pure helper.
28699
+ var result = deleteGridColumnOp(gridContainer.grid, colNumber);
28700
+ gridContainer.grid = result.grid;
28701
+ var _iterator3 = _createForOfIteratorHelper$n(result.orphanedComponents),
28702
+ _step3;
28703
+ try {
28704
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
28705
+ var componentId = _step3.value;
28706
+ this.removeItemFromLayout(componentId);
28545
28707
  }
28546
- gridContainer.grid.colModes = Object.keys(shifted).length > 0 ? shifted : undefined;
28708
+ } catch (err) {
28709
+ _iterator3.e(err);
28710
+ } finally {
28711
+ _iterator3.f();
28547
28712
  }
28548
28713
  this._normalizeGrid(gridContainer.grid);
28549
28714
  this.updateLayoutItem(gridContainer);
@@ -28628,14 +28793,14 @@ var DashboardModel = /*#__PURE__*/function () {
28628
28793
  try {
28629
28794
  // Collect all item IDs actively referenced by grid cells
28630
28795
  var activeItemIds = new Set();
28631
- var _iterator2 = _createForOfIteratorHelper$m(this.layout),
28632
- _step2;
28796
+ var _iterator4 = _createForOfIteratorHelper$n(this.layout),
28797
+ _step4;
28633
28798
  try {
28634
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
28635
- var item = _step2.value;
28799
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
28800
+ var item = _step4.value;
28636
28801
  if (item.grid && _typeof(item.grid) === "object") {
28637
- for (var _i15 = 0, _Object$keys5 = Object.keys(item.grid); _i15 < _Object$keys5.length; _i15++) {
28638
- var key = _Object$keys5[_i15];
28802
+ for (var _i4 = 0, _Object$keys3 = Object.keys(item.grid); _i4 < _Object$keys3.length; _i4++) {
28803
+ var key = _Object$keys3[_i4];
28639
28804
  var cell = item.grid[key];
28640
28805
  if (cell && _typeof(cell) === "object" && cell.component) {
28641
28806
  activeItemIds.add(cell.component);
@@ -28648,9 +28813,9 @@ var DashboardModel = /*#__PURE__*/function () {
28648
28813
 
28649
28814
  // If no grid containers exist, nothing to clean
28650
28815
  } catch (err) {
28651
- _iterator2.e(err);
28816
+ _iterator4.e(err);
28652
28817
  } finally {
28653
- _iterator2.f();
28818
+ _iterator4.f();
28654
28819
  }
28655
28820
  if (activeItemIds.size === 0) return;
28656
28821
 
@@ -28668,17 +28833,17 @@ var DashboardModel = /*#__PURE__*/function () {
28668
28833
  });
28669
28834
 
28670
28835
  // Clean listener references on remaining items for each removed orphan
28671
- var _iterator3 = _createForOfIteratorHelper$m(orphanedIds),
28672
- _step3;
28836
+ var _iterator5 = _createForOfIteratorHelper$n(orphanedIds),
28837
+ _step5;
28673
28838
  try {
28674
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
28675
- var id = _step3.value;
28839
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
28840
+ var id = _step5.value;
28676
28841
  this._cleanupListenerReferencesForId(id);
28677
28842
  }
28678
28843
  } catch (err) {
28679
- _iterator3.e(err);
28844
+ _iterator5.e(err);
28680
28845
  } finally {
28681
- _iterator3.f();
28846
+ _iterator5.f();
28682
28847
  }
28683
28848
  } catch (e) {
28684
28849
  }
@@ -29489,9 +29654,9 @@ var useDashboard = function useDashboard() {
29489
29654
  });
29490
29655
  };
29491
29656
 
29492
- function _createForOfIteratorHelper$l(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$l(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; } } }; }
29493
- function _unsupportedIterableToArray$l(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$l(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$l(r, a) : void 0; } }
29494
- function _arrayLikeToArray$l(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; }
29657
+ 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; } } }; }
29658
+ function _unsupportedIterableToArray$m(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$m(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$m(r, a) : void 0; } }
29659
+ function _arrayLikeToArray$m(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
29495
29660
 
29496
29661
  /**
29497
29662
  * useWidgetProviders Hook
@@ -29547,7 +29712,7 @@ var useWidgetProviders = function useWidgetProviders() {
29547
29712
  // 1. Widget-level: stored directly on the layout item by handleSelectProvider
29548
29713
  // 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
29549
29714
  var providers = {};
29550
- var _iterator = _createForOfIteratorHelper$l(providerDeclarations),
29715
+ var _iterator = _createForOfIteratorHelper$m(providerDeclarations),
29551
29716
  _step;
29552
29717
  try {
29553
29718
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -29589,9 +29754,9 @@ var useWidgetProviders = function useWidgetProviders() {
29589
29754
  };
29590
29755
  };
29591
29756
 
29592
- function _createForOfIteratorHelper$k(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$k(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
29593
- function _unsupportedIterableToArray$k(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$k(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$k(r, a) : void 0; } }
29594
- function _arrayLikeToArray$k(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
29757
+ function _createForOfIteratorHelper$l(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$l(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; } } }; }
29758
+ function _unsupportedIterableToArray$l(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$l(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$l(r, a) : void 0; } }
29759
+ function _arrayLikeToArray$l(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; }
29595
29760
 
29596
29761
  /**
29597
29762
  * Module-level shared state for MCP server connections.
@@ -29646,7 +29811,7 @@ function unionPathScope(grants, serverName) {
29646
29811
  allowedPaths: []
29647
29812
  };
29648
29813
  }
29649
- var _iterator = _createForOfIteratorHelper$k(grants),
29814
+ var _iterator = _createForOfIteratorHelper$l(grants),
29650
29815
  _step;
29651
29816
  try {
29652
29817
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -29659,7 +29824,7 @@ function unionPathScope(grants, serverName) {
29659
29824
  var serverPerms = servers[serverName];
29660
29825
  if (!serverPerms || _typeof(serverPerms) !== "object") continue;
29661
29826
  if (Array.isArray(serverPerms.readPaths)) {
29662
- var _iterator2 = _createForOfIteratorHelper$k(serverPerms.readPaths),
29827
+ var _iterator2 = _createForOfIteratorHelper$l(serverPerms.readPaths),
29663
29828
  _step2;
29664
29829
  try {
29665
29830
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -29673,7 +29838,7 @@ function unionPathScope(grants, serverName) {
29673
29838
  }
29674
29839
  }
29675
29840
  if (Array.isArray(serverPerms.writePaths)) {
29676
- var _iterator3 = _createForOfIteratorHelper$k(serverPerms.writePaths),
29841
+ var _iterator3 = _createForOfIteratorHelper$l(serverPerms.writePaths),
29677
29842
  _step3;
29678
29843
  try {
29679
29844
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -30476,9 +30641,9 @@ var useNotifications = function useNotifications() {
30476
30641
  };
30477
30642
  };
30478
30643
 
30479
- function _createForOfIteratorHelper$j(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$j(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; } } }; }
30480
- function _unsupportedIterableToArray$j(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$j(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$j(r, a) : void 0; } }
30481
- function _arrayLikeToArray$j(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; }
30644
+ function _createForOfIteratorHelper$k(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$k(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
30645
+ function _unsupportedIterableToArray$k(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$k(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$k(r, a) : void 0; } }
30646
+ function _arrayLikeToArray$k(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
30482
30647
 
30483
30648
  /**
30484
30649
  * useScheduler Hook
@@ -30551,7 +30716,7 @@ var useScheduler = function useScheduler() {
30551
30716
  if (pending && pending.length > 0) {
30552
30717
  setPendingResults(pending);
30553
30718
  // Call handlers for each pending result
30554
- var _iterator = _createForOfIteratorHelper$j(pending),
30719
+ var _iterator = _createForOfIteratorHelper$k(pending),
30555
30720
  _step;
30556
30721
  try {
30557
30722
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -32411,9 +32576,9 @@ function loadWidgetBundle(source, widgetName) {
32411
32576
  };
32412
32577
  }
32413
32578
 
32414
- function _createForOfIteratorHelper$i(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$i(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; } } }; }
32415
- function _unsupportedIterableToArray$i(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$i(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$i(r, a) : void 0; } }
32416
- function _arrayLikeToArray$i(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; }
32579
+ function _createForOfIteratorHelper$j(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$j(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; } } }; }
32580
+ function _unsupportedIterableToArray$j(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$j(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$j(r, a) : void 0; } }
32581
+ function _arrayLikeToArray$j(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; }
32417
32582
  /**
32418
32583
  * Validation utilities for grid-first dashboard architecture
32419
32584
  *
@@ -32652,7 +32817,7 @@ var validateCellMerge = function validateCellMerge(cellNumbers, grid) {
32652
32817
 
32653
32818
  // Validate each cell
32654
32819
  var cells = [];
32655
- var _iterator = _createForOfIteratorHelper$i(cellNumbers),
32820
+ var _iterator = _createForOfIteratorHelper$j(cellNumbers),
32656
32821
  _step;
32657
32822
  try {
32658
32823
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -33000,9 +33165,9 @@ var HARMONY_STRATEGIES = [{
33000
33165
  label: "Custom"
33001
33166
  }];
33002
33167
 
33003
- function _createForOfIteratorHelper$h(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$h(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; } } }; }
33004
- function _unsupportedIterableToArray$h(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$h(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$h(r, a) : void 0; } }
33005
- function _arrayLikeToArray$h(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; }
33168
+ function _createForOfIteratorHelper$i(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$i(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; } } }; }
33169
+ function _unsupportedIterableToArray$i(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$i(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$i(r, a) : void 0; } }
33170
+ function _arrayLikeToArray$i(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; }
33006
33171
  /**
33007
33172
  * markdownFormParser.js
33008
33173
  *
@@ -33049,7 +33214,7 @@ function detectColumnType(header, cellValues) {
33049
33214
  }
33050
33215
 
33051
33216
  // Check if any cell has an enum pattern (template placeholders)
33052
- var _iterator = _createForOfIteratorHelper$h(cellValues),
33217
+ var _iterator = _createForOfIteratorHelper$i(cellValues),
33053
33218
  _step;
33054
33219
  try {
33055
33220
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -33058,7 +33223,7 @@ function detectColumnType(header, cellValues) {
33058
33223
  if (options) {
33059
33224
  // Include all unique existing cell values as valid options
33060
33225
  var allOptions = new Set(options);
33061
- var _iterator2 = _createForOfIteratorHelper$h(cellValues),
33226
+ var _iterator2 = _createForOfIteratorHelper$i(cellValues),
33062
33227
  _step2;
33063
33228
  try {
33064
33229
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -33268,7 +33433,7 @@ function parse(markdown) {
33268
33433
  */
33269
33434
  function serialize(blocks) {
33270
33435
  var parts = [];
33271
- var _iterator3 = _createForOfIteratorHelper$h(blocks),
33436
+ var _iterator3 = _createForOfIteratorHelper$i(blocks),
33272
33437
  _step3;
33273
33438
  try {
33274
33439
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -33283,7 +33448,7 @@ function serialize(blocks) {
33283
33448
  parts.push("| " + block.columns.map(function () {
33284
33449
  return "------";
33285
33450
  }).join(" | ") + " |");
33286
- var _iterator4 = _createForOfIteratorHelper$h(block.rows),
33451
+ var _iterator4 = _createForOfIteratorHelper$i(block.rows),
33287
33452
  _step4;
33288
33453
  try {
33289
33454
  var _loop2 = function _loop2() {
@@ -33304,7 +33469,7 @@ function serialize(blocks) {
33304
33469
  break;
33305
33470
  }
33306
33471
  case "list":
33307
- var _iterator5 = _createForOfIteratorHelper$h(block.items),
33472
+ var _iterator5 = _createForOfIteratorHelper$i(block.items),
33308
33473
  _step5;
33309
33474
  try {
33310
33475
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -33318,7 +33483,7 @@ function serialize(blocks) {
33318
33483
  }
33319
33484
  break;
33320
33485
  case "blockquote":
33321
- var _iterator6 = _createForOfIteratorHelper$h(block.text.split("\n")),
33486
+ var _iterator6 = _createForOfIteratorHelper$i(block.text.split("\n")),
33322
33487
  _step6;
33323
33488
  try {
33324
33489
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -33356,6 +33521,277 @@ function serialize(blocks) {
33356
33521
  return parts.join("\n");
33357
33522
  }
33358
33523
 
33524
+ /**
33525
+ * humanizeAction
33526
+ *
33527
+ * Map an internal (domain, action) pair to a user-readable verb phrase
33528
+ * for use in consent modals. Engineering terms like `saveToFile` or
33529
+ * `readDataFromURL` aren't meaningful to regular users; this lookup
33530
+ * lets the modal copy speak plainly.
33531
+ *
33532
+ * Returns the raw action when no entry exists (defensive — modal
33533
+ * still works, just shows the engineering name). Empty string when
33534
+ * inputs are non-strings.
33535
+ */
33536
+
33537
+ var FS_VERBS = {
33538
+ saveData: "save changes to a file",
33539
+ saveToFile: "save changes to a file",
33540
+ readData: "read a file",
33541
+ readFromFile: "read a file",
33542
+ readJSONFromFile: "read a file",
33543
+ transformFile: "transform a file",
33544
+ convertJsonToCsvFile: "convert and save a file",
33545
+ parseXMLStream: "parse and save a file",
33546
+ parseCSVStream: "parse and save a file",
33547
+ readDataFromURL: "fetch from a URL and save to a file"
33548
+ };
33549
+ var NETWORK_VERBS = {
33550
+ readDataFromURL: "fetch from a URL",
33551
+ connect: "open a websocket connection",
33552
+ wsConnect: "open a websocket connection"
33553
+ };
33554
+ var MCP_VERBS = {
33555
+ // For MCP, the caller (modal) typically renders "<verb> <tool name>"
33556
+ // since the tool name is itself the most informative bit. The verb
33557
+ // stays neutral.
33558
+ callTool: "use the"
33559
+ };
33560
+ function humanizeAction(domain, action) {
33561
+ if (typeof domain !== "string" || typeof action !== "string") return "";
33562
+ var table = domain === "fs" ? FS_VERBS : domain === "network" ? NETWORK_VERBS : domain === "mcp" ? MCP_VERBS : null;
33563
+ if (!table) return action;
33564
+ return table[action] || action;
33565
+ }
33566
+
33567
+ function _createForOfIteratorHelper$h(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$h(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; } } }; }
33568
+ function _unsupportedIterableToArray$h(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$h(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$h(r, a) : void 0; } }
33569
+ function _arrayLikeToArray$h(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; }
33570
+ /**
33571
+ * computeDashboardPreflight
33572
+ *
33573
+ * Pure scanner. Walks a workspace's layout, finds every widget present
33574
+ * on the dashboard, looks up each widget's declared-vs-granted state
33575
+ * via a `widgetMcp.listAll()` snapshot, and returns the diff so the
33576
+ * pre-flight modal can prompt for the missing permissions in one shot.
33577
+ *
33578
+ * Why this exists: pre-this-slice, every gated call from a widget
33579
+ * dripped a separate JIT prompt. With manifests pre-declared (slice 7
33580
+ * for AI-built; existing for @trops/*), we can compute the union up
33581
+ * front and ask once.
33582
+ *
33583
+ * Inputs (all snapshots — caller is responsible for liveness):
33584
+ * - layout: workspace.layout array (grid containers + widgets)
33585
+ * - allRows: result of `widgetMcp.listAll()` IPC
33586
+ * - registry: Map<packageId, {componentNames, ...}> from
33587
+ * getWidgetRegistry().widgets
33588
+ *
33589
+ * Output: { widgets: [{ widgetId, packageId, displayName, missing }] }
33590
+ * - missing has the same shape as a `granted` blob: `{servers, domains}`.
33591
+ * - Only includes widgets where missing is non-empty.
33592
+ * - Widgets without a manifest are skipped (no declared = nothing to
33593
+ * pre-ask; runtime JIT is the fallback).
33594
+ */
33595
+
33596
+ function _isObject(x) {
33597
+ return x && _typeof(x) === "object";
33598
+ }
33599
+ function _bareNameFromWidgetId(widgetId) {
33600
+ if (typeof widgetId !== "string") return null;
33601
+ var idx = widgetId.lastIndexOf(".");
33602
+ return idx >= 0 ? widgetId.slice(idx + 1) : widgetId;
33603
+ }
33604
+
33605
+ /**
33606
+ * Parse a grant-keyed widgetId (`trops.google-drive.GDriveFileList`)
33607
+ * into its scoped package id (`@trops/google-drive`). When a registry
33608
+ * snapshot is supplied, prefer its truth — handles edge cases the
33609
+ * naive parser can't (e.g. unconventional packageId formats). Falls
33610
+ * back to dotted-form parsing otherwise.
33611
+ */
33612
+ function _packageIdFromWidgetId(widgetId, registry) {
33613
+ var bareName = _bareNameFromWidgetId(widgetId);
33614
+ if (!bareName) return null;
33615
+ if (registry) {
33616
+ var entries = typeof registry.entries === "function" ? Array.from(registry.entries()) : Object.entries(registry);
33617
+ var _iterator = _createForOfIteratorHelper$h(entries),
33618
+ _step;
33619
+ try {
33620
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
33621
+ var _step$value = _slicedToArray(_step.value, 2),
33622
+ entry = _step$value[1];
33623
+ if (!entry || !Array.isArray(entry.componentNames)) continue;
33624
+ if (entry.componentNames.includes(bareName)) {
33625
+ return entry.packageId || null;
33626
+ }
33627
+ }
33628
+ } catch (err) {
33629
+ _iterator.e(err);
33630
+ } finally {
33631
+ _iterator.f();
33632
+ }
33633
+ }
33634
+
33635
+ // Fallback: parse the dotted form. Shape is
33636
+ // <scope>.<package-name-may-contain-hyphens>.<componentName>
33637
+ if (typeof widgetId !== "string") return null;
33638
+ if (widgetId.startsWith("@")) return null; // bare scoped id, not dotted
33639
+ var parts = widgetId.split(".");
33640
+ if (parts.length < 3) return null;
33641
+ var scope = parts[0];
33642
+ var pkg = parts.slice(1, -1).join(".");
33643
+ if (!scope || !pkg) return null;
33644
+ return "@" + scope + "/" + pkg;
33645
+ }
33646
+ function _diffArray(declared, granted) {
33647
+ var grantedSet = new Set(granted || []);
33648
+ return (declared || []).filter(function (x) {
33649
+ return !grantedSet.has(x);
33650
+ });
33651
+ }
33652
+ function _diffServers(declaredServers, grantedServers) {
33653
+ var out = {};
33654
+ if (!_isObject(declaredServers)) return out;
33655
+ for (var _i = 0, _Object$entries = Object.entries(declaredServers); _i < _Object$entries.length; _i++) {
33656
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
33657
+ name = _Object$entries$_i[0],
33658
+ decl = _Object$entries$_i[1];
33659
+ var grant = grantedServers && grantedServers[name];
33660
+ var missingTools = _diffArray(decl.tools, grant === null || grant === void 0 ? void 0 : grant.tools);
33661
+ var missingReadPaths = _diffArray(decl.readPaths, grant === null || grant === void 0 ? void 0 : grant.readPaths);
33662
+ var missingWritePaths = _diffArray(decl.writePaths, grant === null || grant === void 0 ? void 0 : grant.writePaths);
33663
+ if (missingTools.length === 0 && missingReadPaths.length === 0 && missingWritePaths.length === 0) {
33664
+ continue;
33665
+ }
33666
+ out[name] = {
33667
+ tools: missingTools,
33668
+ readPaths: missingReadPaths,
33669
+ writePaths: missingWritePaths
33670
+ };
33671
+ }
33672
+ return out;
33673
+ }
33674
+ function _diffFs(declaredFs, grantedFs) {
33675
+ if (!_isObject(declaredFs)) return null;
33676
+ var missingActions = _diffArray(declaredFs.actions, grantedFs === null || grantedFs === void 0 ? void 0 : grantedFs.actions);
33677
+ var missingReadPaths = _diffArray(declaredFs.readPaths, grantedFs === null || grantedFs === void 0 ? void 0 : grantedFs.readPaths);
33678
+ var missingWritePaths = _diffArray(declaredFs.writePaths, grantedFs === null || grantedFs === void 0 ? void 0 : grantedFs.writePaths);
33679
+ if (missingActions.length === 0 && missingReadPaths.length === 0 && missingWritePaths.length === 0) {
33680
+ return null;
33681
+ }
33682
+ var out = {};
33683
+ if (missingActions.length > 0) out.actions = missingActions;
33684
+ if (missingReadPaths.length > 0) out.readPaths = missingReadPaths;
33685
+ if (missingWritePaths.length > 0) out.writePaths = missingWritePaths;
33686
+ return out;
33687
+ }
33688
+ function _diffNetwork(declaredNet, grantedNet) {
33689
+ if (!_isObject(declaredNet)) return null;
33690
+ var missingActions = _diffArray(declaredNet.actions, grantedNet === null || grantedNet === void 0 ? void 0 : grantedNet.actions);
33691
+ var missingHosts = _diffArray(declaredNet.hosts, grantedNet === null || grantedNet === void 0 ? void 0 : grantedNet.hosts);
33692
+ if (missingActions.length === 0 && missingHosts.length === 0) return null;
33693
+ var out = {};
33694
+ if (missingActions.length > 0) out.actions = missingActions;
33695
+ if (missingHosts.length > 0) out.hosts = missingHosts;
33696
+ return out;
33697
+ }
33698
+ function _hasAnyMissing(missing) {
33699
+ var _missing$domains, _missing$domains2;
33700
+ if (Object.keys(missing.servers || {}).length > 0) return true;
33701
+ if ((_missing$domains = missing.domains) !== null && _missing$domains !== void 0 && _missing$domains.fs) return true;
33702
+ if ((_missing$domains2 = missing.domains) !== null && _missing$domains2 !== void 0 && _missing$domains2.network) return true;
33703
+ return false;
33704
+ }
33705
+ function _collectWidgetComponentNames(layout) {
33706
+ var names = [];
33707
+ if (!Array.isArray(layout)) return names;
33708
+ var _iterator2 = _createForOfIteratorHelper$h(layout),
33709
+ _step2;
33710
+ try {
33711
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
33712
+ var item = _step2.value;
33713
+ if (item && item.type === "widget" && typeof item.component === "string") {
33714
+ names.push(item.component);
33715
+ }
33716
+ }
33717
+ } catch (err) {
33718
+ _iterator2.e(err);
33719
+ } finally {
33720
+ _iterator2.f();
33721
+ }
33722
+ return names;
33723
+ }
33724
+ function computeDashboardPreflight(_ref) {
33725
+ var layout = _ref.layout,
33726
+ allRows = _ref.allRows,
33727
+ registry = _ref.registry;
33728
+ var widgetComponentNames = _collectWidgetComponentNames(layout);
33729
+ if (widgetComponentNames.length === 0) return {
33730
+ widgets: []
33731
+ };
33732
+ if (!Array.isArray(allRows)) return {
33733
+ widgets: []
33734
+ };
33735
+
33736
+ // Build a quick lookup from componentName → row. We match by the
33737
+ // last dotted segment of widgetId.
33738
+ var rowByBareName = new Map();
33739
+ var _iterator3 = _createForOfIteratorHelper$h(allRows),
33740
+ _step3;
33741
+ try {
33742
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
33743
+ var r = _step3.value;
33744
+ var bareName = _bareNameFromWidgetId(r.widgetId);
33745
+ if (bareName) rowByBareName.set(bareName, r);
33746
+ }
33747
+ } catch (err) {
33748
+ _iterator3.e(err);
33749
+ } finally {
33750
+ _iterator3.f();
33751
+ }
33752
+ var widgets = [];
33753
+ var seenWidgetIds = new Set();
33754
+ var _iterator4 = _createForOfIteratorHelper$h(widgetComponentNames),
33755
+ _step4;
33756
+ try {
33757
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
33758
+ var _row$granted, _row$declared$domains, _row$granted2, _row$declared$domains2, _row$granted3;
33759
+ var componentName = _step4.value;
33760
+ var row = rowByBareName.get(componentName);
33761
+ if (!row) continue;
33762
+ if (seenWidgetIds.has(row.widgetId)) continue;
33763
+ if (!row.declared) continue; // No manifest → falls through to runtime JIT
33764
+
33765
+ var missing = {
33766
+ servers: _diffServers(row.declared.servers, (_row$granted = row.granted) === null || _row$granted === void 0 ? void 0 : _row$granted.servers),
33767
+ domains: {}
33768
+ };
33769
+ var fsDiff = _diffFs((_row$declared$domains = row.declared.domains) === null || _row$declared$domains === void 0 ? void 0 : _row$declared$domains.fs, (_row$granted2 = row.granted) === null || _row$granted2 === void 0 || (_row$granted2 = _row$granted2.domains) === null || _row$granted2 === void 0 ? void 0 : _row$granted2.fs);
33770
+ if (fsDiff) missing.domains.fs = fsDiff;
33771
+ var netDiff = _diffNetwork((_row$declared$domains2 = row.declared.domains) === null || _row$declared$domains2 === void 0 ? void 0 : _row$declared$domains2.network, (_row$granted3 = row.granted) === null || _row$granted3 === void 0 || (_row$granted3 = _row$granted3.domains) === null || _row$granted3 === void 0 ? void 0 : _row$granted3.network);
33772
+ if (netDiff) missing.domains.network = netDiff;
33773
+ if (!_hasAnyMissing(missing)) continue;
33774
+ var packageId = _packageIdFromWidgetId(row.widgetId, registry);
33775
+ if (!packageId) continue; // Can't render meaningfully without package context
33776
+
33777
+ widgets.push({
33778
+ widgetId: row.widgetId,
33779
+ packageId: packageId,
33780
+ displayName: componentName,
33781
+ missing: missing
33782
+ });
33783
+ seenWidgetIds.add(row.widgetId);
33784
+ }
33785
+ } catch (err) {
33786
+ _iterator4.e(err);
33787
+ } finally {
33788
+ _iterator4.f();
33789
+ }
33790
+ return {
33791
+ widgets: widgets
33792
+ };
33793
+ }
33794
+
33359
33795
  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; }
33360
33796
  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; }
33361
33797
  var COLOR_PROPERTIES$1 = new Set(["backgroundColor", "textColor", "borderColor", "hoverBackgroundColor", "hoverTextColor", "hoverBorderColor", "focusRingColor", "focusBorderColor", "activeBackgroundColor", "activeTextColor", "placeholderTextColor"]);
@@ -61736,6 +62172,7 @@ exports.bareComponentName = bareComponentName;
61736
62172
  exports.buildMcpConfigFromOverrides = buildMcpConfigFromOverrides;
61737
62173
  exports.canHaveChildren = canHaveChildren;
61738
62174
  exports.changeDirectionForLayoutItem = changeDirectionForLayoutItem;
62175
+ exports.computeDashboardPreflight = computeDashboardPreflight;
61739
62176
  exports.createProviderRegistry = createProviderRegistry;
61740
62177
  exports.deriveFormFields = deriveFormFields;
61741
62178
  exports.envMappingToRows = envMappingToRows;
@@ -61769,6 +62206,7 @@ exports.getUserConfigurableProviders = getUserConfigurableProviders;
61769
62206
  exports.getWidgetsForWorkspace = getWidgetsForWorkspace;
61770
62207
  exports.getWorkspacesForWorkspace = getWorkspacesForWorkspace;
61771
62208
  exports.headerTemplateToRows = headerTemplateToRows;
62209
+ exports.humanizeAction = humanizeAction;
61772
62210
  exports.isContainer = isContainer;
61773
62211
  exports.isLikelySecret = isLikelySecret;
61774
62212
  exports.isMaxOrderForItem = isMaxOrderForItem;