@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.esm.js CHANGED
@@ -3130,9 +3130,9 @@ var LayoutContainer = function LayoutContainer(_ref) {
3130
3130
 
3131
3131
  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; }
3132
3132
  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; }
3133
- 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; } } }; }
3134
- 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; } }
3135
- 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; }
3133
+ 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; } } }; }
3134
+ 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; } }
3135
+ 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; }
3136
3136
  /**
3137
3137
  * Layout template definitions for the dashboard template picker.
3138
3138
  *
@@ -3406,7 +3406,7 @@ function createLayoutFromTemplate(template) {
3406
3406
  cols: template.cols,
3407
3407
  gap: "gap-2"
3408
3408
  };
3409
- var _iterator = _createForOfIteratorHelper$D(template.cells),
3409
+ var _iterator = _createForOfIteratorHelper$E(template.cells),
3410
3410
  _step;
3411
3411
  try {
3412
3412
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -4587,9 +4587,9 @@ var DashboardInstallOptionsModal = function DashboardInstallOptionsModal(_ref) {
4587
4587
  });
4588
4588
  };
4589
4589
 
4590
- 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; } } }; }
4591
- 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; } }
4592
- 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; }
4590
+ 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; } } }; }
4591
+ 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; } }
4592
+ 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; }
4593
4593
  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; }
4594
4594
  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; }
4595
4595
  var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
@@ -4947,7 +4947,7 @@ var RegistryDashboardDetail = function RegistryDashboardDetail(_ref) {
4947
4947
  toInstall = 0,
4948
4948
  unavailable = 0,
4949
4949
  hasUnavailableRequired = false;
4950
- var _iterator = _createForOfIteratorHelper$C(widgetDeps),
4950
+ var _iterator = _createForOfIteratorHelper$D(widgetDeps),
4951
4951
  _step;
4952
4952
  try {
4953
4953
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -6592,9 +6592,9 @@ function cleanIpcError(message) {
6592
6592
  return match ? match[1] : message;
6593
6593
  }
6594
6594
 
6595
- 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; } } }; }
6596
- 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; } }
6597
- 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; }
6595
+ 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; } } }; }
6596
+ 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; } }
6597
+ 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; }
6598
6598
 
6599
6599
  /**
6600
6600
  * useRegistrySearch — shared hook for browsing and installing registry packages.
@@ -6708,13 +6708,13 @@ var useRegistrySearch = function useRegistrySearch() {
6708
6708
  return c.toLowerCase();
6709
6709
  }));
6710
6710
  widgets = [];
6711
- _iterator = _createForOfIteratorHelper$B(pkgs);
6711
+ _iterator = _createForOfIteratorHelper$C(pkgs);
6712
6712
  try {
6713
6713
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
6714
6714
  pkg = _step.value;
6715
6715
  // Compute missing APIs for the entire package
6716
6716
  allApiProviders = [];
6717
- _iterator2 = _createForOfIteratorHelper$B(pkg.providers || []);
6717
+ _iterator2 = _createForOfIteratorHelper$C(pkg.providers || []);
6718
6718
  try {
6719
6719
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
6720
6720
  p = _step2.value;
@@ -6727,11 +6727,11 @@ var useRegistrySearch = function useRegistrySearch() {
6727
6727
  } finally {
6728
6728
  _iterator2.f();
6729
6729
  }
6730
- _iterator3 = _createForOfIteratorHelper$B(pkg.widgets || []);
6730
+ _iterator3 = _createForOfIteratorHelper$C(pkg.widgets || []);
6731
6731
  try {
6732
6732
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
6733
6733
  w = _step3.value;
6734
- _iterator5 = _createForOfIteratorHelper$B(w.providers || []);
6734
+ _iterator5 = _createForOfIteratorHelper$C(w.providers || []);
6735
6735
  try {
6736
6736
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
6737
6737
  _p = _step5.value;
@@ -6753,7 +6753,7 @@ var useRegistrySearch = function useRegistrySearch() {
6753
6753
  missingApis = _toConsumableArray(new Set(allApiProviders)).filter(function (api) {
6754
6754
  return !capSet.has(api.toLowerCase());
6755
6755
  });
6756
- _iterator4 = _createForOfIteratorHelper$B(pkg.widgets || []);
6756
+ _iterator4 = _createForOfIteratorHelper$C(pkg.widgets || []);
6757
6757
  try {
6758
6758
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
6759
6759
  widget = _step4.value;
@@ -7460,9 +7460,9 @@ function applyFilters(items, filters, mode) {
7460
7460
  });
7461
7461
  }
7462
7462
 
7463
- 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; } } }; }
7464
- 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; } }
7465
- 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; }
7463
+ 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; } } }; }
7464
+ 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; } }
7465
+ 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; }
7466
7466
  var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
7467
7467
  var _state$selectedDashbo, _state$selectedDashbo2;
7468
7468
  var state = _ref.state,
@@ -7681,7 +7681,7 @@ var WizardCustomizeStep = function WizardCustomizeStep(_ref) {
7681
7681
  installedNames = new Set(installedList.map(function (w) {
7682
7682
  return w.name;
7683
7683
  }));
7684
- _iterator = _createForOfIteratorHelper$A(state.selectedWidgets);
7684
+ _iterator = _createForOfIteratorHelper$B(state.selectedWidgets);
7685
7685
  _context2.prev = 12;
7686
7686
  _iterator.s();
7687
7687
  case 13:
@@ -9271,7 +9271,7 @@ function _objectSpread$Z(e) { for (var r = 1; r < arguments.length; r++) { var t
9271
9271
  * multi-cell selections — that's a separate code path.
9272
9272
  */
9273
9273
 
9274
- var META_KEYS = new Set(["rows", "cols", "gap"]);
9274
+ var META_KEYS$5 = new Set(["rows", "cols", "gap"]);
9275
9275
 
9276
9276
  /**
9277
9277
  * Merge `(row, col)` with the cell to its right. Skips empty
@@ -9290,7 +9290,7 @@ function mergeRightOp(grid, row, col) {
9290
9290
  var bestCol = Infinity;
9291
9291
  for (var _i = 0, _Object$keys = Object.keys(grid); _i < _Object$keys.length; _i++) {
9292
9292
  var k = _Object$keys[_i];
9293
- if (META_KEYS.has(k)) continue;
9293
+ if (META_KEYS$5.has(k)) continue;
9294
9294
  var _k$split$map = k.split(".").map(function (n) {
9295
9295
  return parseInt(n, 10);
9296
9296
  }),
@@ -9341,9 +9341,9 @@ function mergeDownOp(grid, row, col) {
9341
9341
  }
9342
9342
 
9343
9343
  var _excluded$6 = ["rows", "cols"];
9344
- 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; } } }; }
9345
- 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; } }
9346
- 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; }
9344
+ 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; } } }; }
9345
+ 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; } }
9346
+ 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; }
9347
9347
  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; }
9348
9348
  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; }
9349
9349
  var defaultGrid = {
@@ -9465,7 +9465,7 @@ function GridEditor(_ref) {
9465
9465
  function sortObjectByKeys(obj) {
9466
9466
  var sortedKeys = Object.keys(obj).sort();
9467
9467
  var sortedObj = {};
9468
- var _iterator = _createForOfIteratorHelper$z(sortedKeys),
9468
+ var _iterator = _createForOfIteratorHelper$A(sortedKeys),
9469
9469
  _step;
9470
9470
  try {
9471
9471
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -9938,9 +9938,9 @@ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9938
9938
  });
9939
9939
  };
9940
9940
 
9941
- 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; } } }; }
9942
- 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; } }
9943
- 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; }
9941
+ 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; } } }; }
9942
+ 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; } }
9943
+ 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; }
9944
9944
  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; }
9945
9945
  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; }
9946
9946
  var DAYS = [{
@@ -10269,7 +10269,7 @@ var PanelEditItemSchedule = function PanelEditItemSchedule(_ref2) {
10269
10269
  setIsLoading(true);
10270
10270
  window.mainApi.scheduler.getTasks(widgetUuid).then(function (tasks) {
10271
10271
  var stateMap = {};
10272
- var _iterator = _createForOfIteratorHelper$y(tasks || []),
10272
+ var _iterator = _createForOfIteratorHelper$z(tasks || []),
10273
10273
  _step;
10274
10274
  try {
10275
10275
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10528,9 +10528,9 @@ function isUserWidget(item) {
10528
10528
  return true;
10529
10529
  }
10530
10530
 
10531
- 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; } } }; }
10532
- 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; } }
10533
- 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; }
10531
+ 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; } } }; }
10532
+ 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; } }
10533
+ 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; }
10534
10534
 
10535
10535
  /**
10536
10536
  * Resolve which provider name a given widget instance would bind to for
@@ -10562,7 +10562,7 @@ function resolveProviderName(_ref) {
10562
10562
  // array. Support both because different callers shape it either way.
10563
10563
  if (appProviders) {
10564
10564
  if (Array.isArray(appProviders)) {
10565
- var _iterator = _createForOfIteratorHelper$x(appProviders),
10565
+ var _iterator = _createForOfIteratorHelper$y(appProviders),
10566
10566
  _step;
10567
10567
  try {
10568
10568
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -10622,7 +10622,7 @@ function forEachWidget(workspace, visit) {
10622
10622
  };
10623
10623
  var _walk = function walk(items) {
10624
10624
  if (!Array.isArray(items)) return;
10625
- var _iterator2 = _createForOfIteratorHelper$x(items),
10625
+ var _iterator2 = _createForOfIteratorHelper$y(items),
10626
10626
  _step2;
10627
10627
  try {
10628
10628
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -10663,7 +10663,7 @@ function forEachWidget(workspace, visit) {
10663
10663
  // widgets that only live there (e.g. AI-place writes that bypass
10664
10664
  // the page handler).
10665
10665
  if (Array.isArray(workspace.pages)) {
10666
- var _iterator3 = _createForOfIteratorHelper$x(workspace.pages),
10666
+ var _iterator3 = _createForOfIteratorHelper$y(workspace.pages),
10667
10667
  _step3;
10668
10668
  try {
10669
10669
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -10714,7 +10714,7 @@ function getUnresolvedProviders(_ref2) {
10714
10714
  // the same `type` listed twice (a Claude code-gen quirk), which
10715
10715
  // would otherwise produce duplicate rows in the Providers tab.
10716
10716
  var seenTypes = new Set();
10717
- var _iterator4 = _createForOfIteratorHelper$x(requirements),
10717
+ var _iterator4 = _createForOfIteratorHelper$y(requirements),
10718
10718
  _step4;
10719
10719
  try {
10720
10720
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -10757,7 +10757,7 @@ function getUnresolvedProviders(_ref2) {
10757
10757
  */
10758
10758
  function groupByProviderType(unresolved) {
10759
10759
  var byType = new Map();
10760
- var _iterator5 = _createForOfIteratorHelper$x(unresolved || []),
10760
+ var _iterator5 = _createForOfIteratorHelper$y(unresolved || []),
10761
10761
  _step5;
10762
10762
  try {
10763
10763
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -10799,7 +10799,7 @@ function getAllProviderBindings(_ref3) {
10799
10799
  // quirk) which would otherwise duplicate the per-widget row in
10800
10800
  // the Providers tab.
10801
10801
  var seenTypes = new Set();
10802
- var _iterator6 = _createForOfIteratorHelper$x(requirements),
10802
+ var _iterator6 = _createForOfIteratorHelper$y(requirements),
10803
10803
  _step6;
10804
10804
  try {
10805
10805
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -10841,9 +10841,9 @@ function getAllProviderBindings(_ref3) {
10841
10841
 
10842
10842
  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; }
10843
10843
  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; }
10844
- 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; } } }; }
10845
- 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; } }
10846
- 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; }
10844
+ 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; } } }; }
10845
+ 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; } }
10846
+ 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; }
10847
10847
  var EVENT_STRING_RE = /^([^[]+)\[([^\]]+)\]\.(.+)$/;
10848
10848
 
10849
10849
  /** Parse "Component[itemId].event" → { component, itemId, event }. */
@@ -11013,7 +11013,7 @@ function getCurrentWiring(workspace) {
11013
11013
  // Live format is array; defensive guard for legacy object
11014
11014
  // form (a single source widget keyed under the handler).
11015
11015
  var events = Array.isArray(eventList) ? eventList : typeof eventList === "string" ? [eventList] : [];
11016
- var _iterator = _createForOfIteratorHelper$w(events),
11016
+ var _iterator = _createForOfIteratorHelper$x(events),
11017
11017
  _step;
11018
11018
  try {
11019
11019
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -11076,7 +11076,7 @@ function getOrphanedListeners(workspace, getWidgetConfig) {
11076
11076
  if (!byItemId.has(id)) byItemId.set(id, meta);
11077
11077
  });
11078
11078
  var orphans = [];
11079
- var _iterator2 = _createForOfIteratorHelper$w(wiring),
11079
+ var _iterator2 = _createForOfIteratorHelper$x(wiring),
11080
11080
  _step2;
11081
11081
  try {
11082
11082
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -11142,7 +11142,7 @@ function pruneDeadListenerReferences(workspace) {
11142
11142
  var liveKeys = new Set();
11143
11143
  var _walkForLive = function walkForLive(items) {
11144
11144
  if (!Array.isArray(items)) return;
11145
- var _iterator3 = _createForOfIteratorHelper$w(items),
11145
+ var _iterator3 = _createForOfIteratorHelper$x(items),
11146
11146
  _step3;
11147
11147
  try {
11148
11148
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -11163,7 +11163,7 @@ function pruneDeadListenerReferences(workspace) {
11163
11163
  };
11164
11164
  _walkForLive(workspace.layout);
11165
11165
  if (Array.isArray(workspace.pages)) {
11166
- var _iterator4 = _createForOfIteratorHelper$w(workspace.pages),
11166
+ var _iterator4 = _createForOfIteratorHelper$x(workspace.pages),
11167
11167
  _step4;
11168
11168
  try {
11169
11169
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -11180,7 +11180,7 @@ function pruneDeadListenerReferences(workspace) {
11180
11180
  var removed = 0;
11181
11181
  var _pruneListeners = function pruneListeners(items) {
11182
11182
  if (!Array.isArray(items)) return;
11183
- var _iterator5 = _createForOfIteratorHelper$w(items),
11183
+ var _iterator5 = _createForOfIteratorHelper$x(items),
11184
11184
  _step5;
11185
11185
  try {
11186
11186
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -11192,7 +11192,7 @@ function pruneDeadListenerReferences(workspace) {
11192
11192
  var events = item.listeners[handler];
11193
11193
  if (!Array.isArray(events)) continue;
11194
11194
  var kept = [];
11195
- var _iterator6 = _createForOfIteratorHelper$w(events),
11195
+ var _iterator6 = _createForOfIteratorHelper$x(events),
11196
11196
  _step6;
11197
11197
  try {
11198
11198
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -11227,7 +11227,7 @@ function pruneDeadListenerReferences(workspace) {
11227
11227
  };
11228
11228
  _pruneListeners(workspace.layout);
11229
11229
  if (Array.isArray(workspace.pages)) {
11230
- var _iterator7 = _createForOfIteratorHelper$w(workspace.pages),
11230
+ var _iterator7 = _createForOfIteratorHelper$x(workspace.pages),
11231
11231
  _step7;
11232
11232
  try {
11233
11233
  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
@@ -11271,7 +11271,7 @@ function applyWiringChanges(workspace, _ref) {
11271
11271
  });
11272
11272
  return byReceiver.get(id);
11273
11273
  };
11274
- var _iterator8 = _createForOfIteratorHelper$w(adds),
11274
+ var _iterator8 = _createForOfIteratorHelper$x(adds),
11275
11275
  _step8;
11276
11276
  try {
11277
11277
  for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
@@ -11284,7 +11284,7 @@ function applyWiringChanges(workspace, _ref) {
11284
11284
  } finally {
11285
11285
  _iterator8.f();
11286
11286
  }
11287
- var _iterator9 = _createForOfIteratorHelper$w(removes),
11287
+ var _iterator9 = _createForOfIteratorHelper$x(removes),
11288
11288
  _step9;
11289
11289
  try {
11290
11290
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
@@ -11358,7 +11358,7 @@ function applyToItem(listeners, _ref2) {
11358
11358
  }
11359
11359
 
11360
11360
  // Removes first so a re-add (rare) lands.
11361
- var _iterator0 = _createForOfIteratorHelper$w(removes),
11361
+ var _iterator0 = _createForOfIteratorHelper$x(removes),
11362
11362
  _step0;
11363
11363
  try {
11364
11364
  var _loop = function _loop() {
@@ -11387,7 +11387,7 @@ function applyToItem(listeners, _ref2) {
11387
11387
  } finally {
11388
11388
  _iterator0.f();
11389
11389
  }
11390
- var _iterator1 = _createForOfIteratorHelper$w(adds),
11390
+ var _iterator1 = _createForOfIteratorHelper$x(adds),
11391
11391
  _step1;
11392
11392
  try {
11393
11393
  for (_iterator1.s(); !(_step1 = _iterator1.n()).done;) {
@@ -14360,9 +14360,9 @@ function mcpJsonToFormState(jsonString, nextRowId) {
14360
14360
  return result;
14361
14361
  }
14362
14362
 
14363
- 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; } } }; }
14364
- 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; } }
14365
- 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; }
14363
+ 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; } } }; }
14364
+ 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; } }
14365
+ 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; }
14366
14366
  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; }
14367
14367
  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; }
14368
14368
  var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
@@ -14647,11 +14647,11 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14647
14647
 
14648
14648
  // Flatten all widgets from all packages for the widget list
14649
14649
  flatWidgets = [];
14650
- _iterator = _createForOfIteratorHelper$v(result.packages || []);
14650
+ _iterator = _createForOfIteratorHelper$w(result.packages || []);
14651
14651
  try {
14652
14652
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
14653
14653
  pkg = _step.value;
14654
- _iterator2 = _createForOfIteratorHelper$v(pkg.widgets || []);
14654
+ _iterator2 = _createForOfIteratorHelper$w(pkg.widgets || []);
14655
14655
  try {
14656
14656
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
14657
14657
  widget = _step2.value;
@@ -16545,9 +16545,9 @@ var useWidgetSchedulerStatus = function useWidgetSchedulerStatus(widgetId) {
16545
16545
  };
16546
16546
  };
16547
16547
 
16548
- 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; } } }; }
16549
- 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; } }
16550
- 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; }
16548
+ 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; } } }; }
16549
+ 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; } }
16550
+ 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; }
16551
16551
  function formatCountdown(ms) {
16552
16552
  if (ms == null || ms < 0) return "--";
16553
16553
  if (ms < 1000) return "< 1s";
@@ -16664,7 +16664,7 @@ var WidgetCardStatusBar = function WidgetCardStatusBar(_ref) {
16664
16664
 
16665
16665
  // Find soonest countdown among enabled tasks
16666
16666
  var soonestMs = null;
16667
- var _iterator = _createForOfIteratorHelper$u(enabledTasks),
16667
+ var _iterator = _createForOfIteratorHelper$v(enabledTasks),
16668
16668
  _step;
16669
16669
  try {
16670
16670
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -22208,9 +22208,9 @@ var ExternalWidget = function ExternalWidget(_ref) {
22208
22208
  var GRID_CELL_WIDGET_TYPE = "grid-cell-widget";
22209
22209
  var SIDEBAR_WIDGET_TYPE = "sidebar-widget";
22210
22210
 
22211
- 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; } } }; }
22212
- 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; } }
22213
- 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; }
22211
+ 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; } } }; }
22212
+ 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; } }
22213
+ 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; }
22214
22214
  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; }
22215
22215
  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; }
22216
22216
 
@@ -22833,7 +22833,7 @@ var LayoutGridContainer = /*#__PURE__*/memo(function (_ref3) {
22833
22833
  return selectable["delete"](cn);
22834
22834
  });
22835
22835
  var resolved = new Set();
22836
- var _iterator = _createForOfIteratorHelper$t(selectable),
22836
+ var _iterator = _createForOfIteratorHelper$u(selectable),
22837
22837
  _step;
22838
22838
  try {
22839
22839
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25242,9 +25242,9 @@ function migrateBareComponentName(componentMap, component) {
25242
25242
 
25243
25243
  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; }
25244
25244
  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; }
25245
- 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; } } }; }
25246
- 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; } }
25247
- 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; }
25245
+ 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; } } }; }
25246
+ 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; } }
25247
+ 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; }
25248
25248
  /**
25249
25249
  * The model for all layout components used primarily in the renderLayout method
25250
25250
  * @param {Object} layoutItem an object containing various attributes of the layout item
@@ -25256,7 +25256,7 @@ function _arrayLikeToArray$s(r, a) { (null == a || a > r.length) && (a = r.lengt
25256
25256
  function sortObjectByKeys(obj) {
25257
25257
  var sortedKeys = Object.keys(obj).sort();
25258
25258
  var sortedObj = {};
25259
- var _iterator = _createForOfIteratorHelper$s(sortedKeys),
25259
+ var _iterator = _createForOfIteratorHelper$t(sortedKeys),
25260
25260
  _step;
25261
25261
  try {
25262
25262
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25568,9 +25568,9 @@ var SettingsModel = function SettingsModel() {
25568
25568
  return obj;
25569
25569
  };
25570
25570
 
25571
- 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; } } }; }
25572
- 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; } }
25573
- 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; }
25571
+ 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; } } }; }
25572
+ 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; } }
25573
+ 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; }
25574
25574
 
25575
25575
  /**
25576
25576
  * Workspace-level pre-pass that migrates legacy bare component
@@ -25645,7 +25645,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25645
25645
  };
25646
25646
  var _walk = function walk(items) {
25647
25647
  if (!Array.isArray(items)) return;
25648
- var _iterator = _createForOfIteratorHelper$r(items),
25648
+ var _iterator = _createForOfIteratorHelper$s(items),
25649
25649
  _step;
25650
25650
  try {
25651
25651
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25667,7 +25667,7 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25667
25667
  };
25668
25668
  _walk(workspace.layout);
25669
25669
  if (Array.isArray(workspace.pages)) {
25670
- var _iterator2 = _createForOfIteratorHelper$r(workspace.pages),
25670
+ var _iterator2 = _createForOfIteratorHelper$s(workspace.pages),
25671
25671
  _step2;
25672
25672
  try {
25673
25673
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25684,9 +25684,9 @@ function migrateScopedIdsInWorkspace(workspace, componentMap) {
25684
25684
  return counts;
25685
25685
  }
25686
25686
 
25687
- 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; } } }; }
25688
- 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; } }
25689
- 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; }
25687
+ 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; } } }; }
25688
+ 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; } }
25689
+ 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; }
25690
25690
  /**
25691
25691
  * cleanForeignWidgetsFromWorkspace.js
25692
25692
  *
@@ -25727,7 +25727,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25727
25727
  var _cleanList = function cleanList(items) {
25728
25728
  if (!Array.isArray(items)) return items;
25729
25729
  var kept = [];
25730
- var _iterator = _createForOfIteratorHelper$q(items),
25730
+ var _iterator = _createForOfIteratorHelper$r(items),
25731
25731
  _step;
25732
25732
  try {
25733
25733
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25764,7 +25764,7 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25764
25764
  workspace.sidebarLayout = _cleanList(workspace.sidebarLayout);
25765
25765
  }
25766
25766
  if (Array.isArray(workspace.pages)) {
25767
- var _iterator2 = _createForOfIteratorHelper$q(workspace.pages),
25767
+ var _iterator2 = _createForOfIteratorHelper$r(workspace.pages),
25768
25768
  _step2;
25769
25769
  try {
25770
25770
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -25782,9 +25782,9 @@ function cleanForeignWidgetsFromWorkspace(workspace) {
25782
25782
  return summary;
25783
25783
  }
25784
25784
 
25785
- 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; } } }; }
25786
- 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; } }
25787
- 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; }
25785
+ 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; } } }; }
25786
+ 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; } }
25787
+ 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; }
25788
25788
  /**
25789
25789
  * migrateLayoutItemTypes.js
25790
25790
  *
@@ -25846,7 +25846,7 @@ function migrateLayoutItemTypes(workspace) {
25846
25846
  };
25847
25847
  var _walk = function walk(items) {
25848
25848
  if (!Array.isArray(items)) return;
25849
- var _iterator = _createForOfIteratorHelper$p(items),
25849
+ var _iterator = _createForOfIteratorHelper$q(items),
25850
25850
  _step;
25851
25851
  try {
25852
25852
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -25864,7 +25864,7 @@ function migrateLayoutItemTypes(workspace) {
25864
25864
  };
25865
25865
  _walk(workspace.layout);
25866
25866
  if (Array.isArray(workspace.pages)) {
25867
- var _iterator2 = _createForOfIteratorHelper$p(workspace.pages),
25867
+ var _iterator2 = _createForOfIteratorHelper$q(workspace.pages),
25868
25868
  _step2;
25869
25869
  try {
25870
25870
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -26245,9 +26245,9 @@ var ThemeModel = function ThemeModel() {
26245
26245
  }
26246
26246
  };
26247
26247
 
26248
- 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; } } }; }
26249
- 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; } }
26250
- 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; }
26248
+ 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; } } }; }
26249
+ 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; } }
26250
+ 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; }
26251
26251
  /*
26252
26252
  "component": AnalyticsReportsWidget,
26253
26253
  "type":"widget",
@@ -26365,7 +26365,7 @@ var ComponentConfigModel = function ComponentConfigModel() {
26365
26365
  if ("providers" in obj && Array.isArray(obj.providers)) {
26366
26366
  var seen = new Set();
26367
26367
  var cleaned = [];
26368
- var _iterator = _createForOfIteratorHelper$o(obj.providers),
26368
+ var _iterator = _createForOfIteratorHelper$p(obj.providers),
26369
26369
  _step;
26370
26370
  try {
26371
26371
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -26411,9 +26411,9 @@ var MenuItemModel = function MenuItemModel() {
26411
26411
  return m;
26412
26412
  };
26413
26413
 
26414
- 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; } } }; }
26415
- 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; } }
26416
- 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; }
26414
+ 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; } } }; }
26415
+ 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; } }
26416
+ 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; }
26417
26417
  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; }
26418
26418
  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; }
26419
26419
  /**
@@ -26473,7 +26473,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26473
26473
  maxRow = -Infinity;
26474
26474
  var minCol = Infinity,
26475
26475
  maxCol = -Infinity;
26476
- var _iterator = _createForOfIteratorHelper$n(cellNumbers),
26476
+ var _iterator = _createForOfIteratorHelper$o(cellNumbers),
26477
26477
  _step;
26478
26478
  try {
26479
26479
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -26497,7 +26497,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26497
26497
  } finally {
26498
26498
  _iterator.f();
26499
26499
  }
26500
- var _iterator2 = _createForOfIteratorHelper$n(cellNumbers),
26500
+ var _iterator2 = _createForOfIteratorHelper$o(cellNumbers),
26501
26501
  _step2;
26502
26502
  try {
26503
26503
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -26539,7 +26539,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26539
26539
  _iterator2.f();
26540
26540
  }
26541
26541
  var componentsInRange = [];
26542
- var _iterator3 = _createForOfIteratorHelper$n(cellNumbers),
26542
+ var _iterator3 = _createForOfIteratorHelper$o(cellNumbers),
26543
26543
  _step3;
26544
26544
  try {
26545
26545
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -26577,7 +26577,7 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26577
26577
  // other selected cells get hidden and have their component refs
26578
26578
  // cleared (so a stale ref in a hidden cell never re-renders).
26579
26579
  var keepCell = cellNumbers[0];
26580
- var _iterator4 = _createForOfIteratorHelper$n(cellNumbers),
26580
+ var _iterator4 = _createForOfIteratorHelper$o(cellNumbers),
26581
26581
  _step4;
26582
26582
  try {
26583
26583
  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
@@ -26616,9 +26616,500 @@ function mergeGridCellsOp(grid, cellNumbers, keepComponentId) {
26616
26616
 
26617
26617
  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; }
26618
26618
  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; }
26619
- 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; } } }; }
26620
- 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; } }
26621
- 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; }
26619
+ /**
26620
+ * splitGridCellOp
26621
+ *
26622
+ * Pure helper for `DashboardModel.splitGridCell`. Splits a single
26623
+ * cell horizontally or vertically into `count` sub-cells.
26624
+ *
26625
+ * Two regimes (preserving original DashboardModel semantics):
26626
+ *
26627
+ * CASE A — divisible span: when the target cell already has a span
26628
+ * in the split direction that's divisible by count, simply
26629
+ * subdivide the span into count pieces. No grid resolution change.
26630
+ *
26631
+ * CASE B — non-divisible span (typical for an unspanned cell with
26632
+ * count=2): multiply the entire grid's resolution in the split
26633
+ * direction by count, reposition every visible cell to its
26634
+ * equivalent location, and place the count sub-cells at the
26635
+ * scaled target position.
26636
+ *
26637
+ * In both regimes the widget on the original target cell ends up on
26638
+ * the FIRST sub-cell. The other sub-cells are empty.
26639
+ *
26640
+ * Pure — input grid is never mutated.
26641
+ */
26642
+
26643
+ var META_KEYS$4 = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colModes", "colWidths"]);
26644
+ function _isCellKey$4(key) {
26645
+ return /^\d+\.\d+$/.test(key);
26646
+ }
26647
+ function _cloneShallow(grid) {
26648
+ var out = {};
26649
+ for (var _i = 0, _Object$keys = Object.keys(grid); _i < _Object$keys.length; _i++) {
26650
+ var k = _Object$keys[_i];
26651
+ if (META_KEYS$4.has(k)) {
26652
+ out[k] = grid[k];
26653
+ } else if (_isCellKey$4(k)) {
26654
+ var cell = grid[k];
26655
+ out[k] = _objectSpread$D({}, cell);
26656
+ if (cell.span) out[k].span = _objectSpread$D({}, cell.span);
26657
+ }
26658
+ }
26659
+ return out;
26660
+ }
26661
+ function _stripSpan(span, removeKey) {
26662
+ if (!span) return undefined;
26663
+ var out = _objectSpread$D({}, span);
26664
+ delete out[removeKey];
26665
+ return Object.keys(out).length > 0 ? out : undefined;
26666
+ }
26667
+ function _splitCaseADivisibleSpan(grid, row, col, direction, count) {
26668
+ var _targetCell$span, _targetCell$span2;
26669
+ // direction: "horizontal" splits col span; "vertical" splits row span.
26670
+ var isHorizontal = direction === "horizontal";
26671
+ var targetCell = grid["".concat(row, ".").concat(col)];
26672
+ var targetSpanCol = ((_targetCell$span = targetCell.span) === null || _targetCell$span === void 0 ? void 0 : _targetCell$span.col) || 1;
26673
+ var targetSpanRow = ((_targetCell$span2 = targetCell.span) === null || _targetCell$span2 === void 0 ? void 0 : _targetCell$span2.row) || 1;
26674
+ var splitSpan = isHorizontal ? targetSpanCol : targetSpanRow;
26675
+ var otherSpan = isHorizontal ? targetSpanRow : targetSpanCol;
26676
+ var subSpan = splitSpan / count;
26677
+ var component = targetCell.component;
26678
+ var out = _cloneShallow(grid);
26679
+
26680
+ // Unhide cells previously covered by the old span.
26681
+ for (var sr = row; sr < row + targetSpanRow; sr++) {
26682
+ for (var sc = col; sc < col + targetSpanCol; sc++) {
26683
+ var k = "".concat(sr, ".").concat(sc);
26684
+ if (out[k]) out[k] = _objectSpread$D(_objectSpread$D({}, out[k]), {}, {
26685
+ hide: false
26686
+ });
26687
+ }
26688
+ }
26689
+
26690
+ // Drop the old span on the target.
26691
+ if (out["".concat(row, ".").concat(col)].span) {
26692
+ delete out["".concat(row, ".").concat(col)].span;
26693
+ }
26694
+
26695
+ // Create the count sub-cells.
26696
+ for (var i = 0; i < count; i++) {
26697
+ var subRow = isHorizontal ? row : row + i * subSpan;
26698
+ var subCol = isHorizontal ? col + i * subSpan : col;
26699
+ var key = "".concat(subRow, ".").concat(subCol);
26700
+ var sub = {
26701
+ component: i === 0 ? component : null,
26702
+ hide: false
26703
+ };
26704
+ if (subSpan > 1 || otherSpan > 1) {
26705
+ sub.span = {};
26706
+ if (isHorizontal) {
26707
+ if (subSpan > 1) sub.span.col = subSpan;
26708
+ if (otherSpan > 1) sub.span.row = otherSpan;
26709
+ } else {
26710
+ if (subSpan > 1) sub.span.row = subSpan;
26711
+ if (otherSpan > 1) sub.span.col = otherSpan;
26712
+ }
26713
+ }
26714
+ out[key] = sub;
26715
+ }
26716
+ return out;
26717
+ }
26718
+ function _splitCaseBResolutionMultiply(grid, row, col, direction, count) {
26719
+ var _targetCell$span3, _targetCell$span4, _targetCell$span5, _targetCell$span6;
26720
+ var isHorizontal = direction === "horizontal";
26721
+ var targetCell = grid["".concat(row, ".").concat(col)];
26722
+ var oldRows = grid.rows || 1;
26723
+ var oldCols = grid.cols || 1;
26724
+ var component = targetCell.component;
26725
+
26726
+ // 1. Collect every visible cell's data + position + spans.
26727
+ var visibleCells = [];
26728
+ for (var r = 1; r <= oldRows; r++) {
26729
+ for (var c = 1; c <= oldCols; c++) {
26730
+ var key = "".concat(r, ".").concat(c);
26731
+ var c0 = grid[key];
26732
+ if (c0 && !c0.hide) {
26733
+ var _c0$span, _c0$span2;
26734
+ visibleCells.push({
26735
+ row: r,
26736
+ col: c,
26737
+ data: _objectSpread$D({}, c0),
26738
+ spanRow: ((_c0$span = c0.span) === null || _c0$span === void 0 ? void 0 : _c0$span.row) || 1,
26739
+ spanCol: ((_c0$span2 = c0.span) === null || _c0$span2 === void 0 ? void 0 : _c0$span2.col) || 1
26740
+ });
26741
+ }
26742
+ }
26743
+ }
26744
+
26745
+ // 2. Build the new grid: copy meta keys, drop all cell keys.
26746
+ var out = {};
26747
+ for (var _i2 = 0, _Object$keys2 = Object.keys(grid); _i2 < _Object$keys2.length; _i2++) {
26748
+ var k = _Object$keys2[_i2];
26749
+ if (META_KEYS$4.has(k)) out[k] = grid[k];
26750
+ }
26751
+ if (isHorizontal) {
26752
+ out.cols = oldCols * count;
26753
+ out.rows = oldRows;
26754
+ } else {
26755
+ out.rows = oldRows * count;
26756
+ out.cols = oldCols;
26757
+ }
26758
+
26759
+ // 3. Reposition every visible cell to its scaled position with the
26760
+ // span scaled in the split direction.
26761
+ for (var _i3 = 0, _visibleCells = visibleCells; _i3 < _visibleCells.length; _i3++) {
26762
+ var vc = _visibleCells[_i3];
26763
+ var newRow = isHorizontal ? vc.row : (vc.row - 1) * count + 1;
26764
+ var newCol = isHorizontal ? (vc.col - 1) * count + 1 : vc.col;
26765
+ var _key = "".concat(newRow, ".").concat(newCol);
26766
+ var repositioned = _objectSpread$D(_objectSpread$D({}, vc.data), {}, {
26767
+ hide: false,
26768
+ span: {
26769
+ row: isHorizontal ? vc.spanRow : vc.spanRow * count,
26770
+ col: isHorizontal ? vc.spanCol * count : vc.spanCol
26771
+ }
26772
+ });
26773
+ out[_key] = repositioned;
26774
+ }
26775
+
26776
+ // 4. Replace the target cell's repositioned entry with count sub-cells.
26777
+ var newTargetRow = isHorizontal ? row : (row - 1) * count + 1;
26778
+ var newTargetCol = isHorizontal ? (col - 1) * count + 1 : col;
26779
+ 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;
26780
+ var subSpan = newTargetSpanInSplitDir / count;
26781
+ 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;
26782
+ for (var i = 0; i < count; i++) {
26783
+ var subRow = isHorizontal ? newTargetRow : newTargetRow + i * subSpan;
26784
+ var subCol = isHorizontal ? newTargetCol + i * subSpan : newTargetCol;
26785
+ var _key2 = "".concat(subRow, ".").concat(subCol);
26786
+ var sub = {
26787
+ component: i === 0 ? component : null,
26788
+ hide: false
26789
+ };
26790
+ if (subSpan > 1 || otherSpan > 1) {
26791
+ sub.span = {};
26792
+ if (isHorizontal) {
26793
+ if (subSpan > 1) sub.span.col = subSpan;
26794
+ if (otherSpan > 1) sub.span.row = otherSpan;
26795
+ } else {
26796
+ if (subSpan > 1) sub.span.row = subSpan;
26797
+ if (otherSpan > 1) sub.span.col = otherSpan;
26798
+ }
26799
+ }
26800
+ out[_key2] = sub;
26801
+ }
26802
+ return out;
26803
+ }
26804
+ function splitGridCellOp(grid, cellNumber, direction) {
26805
+ var _targetCell$span7, _targetCell$span8;
26806
+ var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2;
26807
+ if (!grid) return grid;
26808
+ var targetCell = grid[cellNumber];
26809
+ if (!targetCell) return grid;
26810
+ if (direction !== "horizontal" && direction !== "vertical") return grid;
26811
+ if (!Number.isFinite(count) || count < 2) return grid;
26812
+ var _cellNumber$split$map = cellNumber.split(".").map(Number),
26813
+ _cellNumber$split$map2 = _slicedToArray(_cellNumber$split$map, 2),
26814
+ row = _cellNumber$split$map2[0],
26815
+ col = _cellNumber$split$map2[1];
26816
+ 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;
26817
+ if (targetSpanInSplitDir % count === 0) {
26818
+ return _splitCaseADivisibleSpan(grid, row, col, direction, count);
26819
+ }
26820
+ return _splitCaseBResolutionMultiply(grid, row, col, direction, count);
26821
+ }
26822
+
26823
+ // Exposed for tests / DashboardModel utility (kept private until needed).
26824
+ splitGridCellOp._stripSpan = _stripSpan;
26825
+
26826
+ /**
26827
+ * addGridRowOp
26828
+ *
26829
+ * Pure helper for `DashboardModel.addGridRow`. Inserts a new empty row
26830
+ * after the supplied row number (afterRow=0 inserts at the top). All
26831
+ * rows at or after the insertion point shift down by one. rowHeights
26832
+ * and rowModes maps shift correspondingly so that per-row sizing/mode
26833
+ * state tracks the original rows.
26834
+ *
26835
+ * Pure — input grid is never mutated.
26836
+ */
26837
+
26838
+ var META_KEYS$3 = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colWidths"]);
26839
+ function _isCellKey$3(key) {
26840
+ return /^\d+\.\d+$/.test(key);
26841
+ }
26842
+ function _shiftKeyMap$1(map, insertAt) {
26843
+ if (!map) return undefined;
26844
+ var shifted = {};
26845
+ for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
26846
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
26847
+ key = _Object$entries$_i[0],
26848
+ value = _Object$entries$_i[1];
26849
+ var n = Number(key);
26850
+ shifted[String(n >= insertAt ? n + 1 : n)] = value;
26851
+ }
26852
+ return Object.keys(shifted).length > 0 ? shifted : undefined;
26853
+ }
26854
+ function addGridRowOp(grid) {
26855
+ var afterRow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
26856
+ if (!grid) return grid;
26857
+ var newRowNumber = afterRow + 1;
26858
+ var out = {};
26859
+ // Copy meta keys forward.
26860
+ for (var _i2 = 0, _Object$keys = Object.keys(grid); _i2 < _Object$keys.length; _i2++) {
26861
+ var k = _Object$keys[_i2];
26862
+ if (META_KEYS$3.has(k)) out[k] = grid[k];
26863
+ }
26864
+ out.rows = (grid.rows || 0) + 1;
26865
+ out.cols = grid.cols;
26866
+
26867
+ // Walk every cell. Cells at row >= insertion point shift down by 1.
26868
+ for (var _i3 = 0, _Object$keys2 = Object.keys(grid); _i3 < _Object$keys2.length; _i3++) {
26869
+ var _k = _Object$keys2[_i3];
26870
+ if (!_isCellKey$3(_k)) continue;
26871
+ var _k$split$map = _k.split(".").map(Number),
26872
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
26873
+ r = _k$split$map2[0],
26874
+ c = _k$split$map2[1];
26875
+ var newRow = r >= newRowNumber ? r + 1 : r;
26876
+ out["".concat(newRow, ".").concat(c)] = grid[_k];
26877
+ }
26878
+
26879
+ // Insert empty cells in the new row.
26880
+ var cols = grid.cols || 0;
26881
+ for (var _c = 1; _c <= cols; _c++) {
26882
+ out["".concat(newRowNumber, ".").concat(_c)] = {
26883
+ component: null,
26884
+ hide: false
26885
+ };
26886
+ }
26887
+
26888
+ // Shift rowHeights / rowModes keys to track original rows.
26889
+ var newRowHeights = _shiftKeyMap$1(grid.rowHeights, newRowNumber);
26890
+ if (newRowHeights) out.rowHeights = newRowHeights;else delete out.rowHeights;
26891
+ var newRowModes = _shiftKeyMap$1(grid.rowModes, newRowNumber);
26892
+ if (newRowModes) out.rowModes = newRowModes;else delete out.rowModes;
26893
+ return out;
26894
+ }
26895
+
26896
+ /**
26897
+ * deleteGridRowOp
26898
+ *
26899
+ * Pure helper for `DashboardModel.deleteGridRow`. Removes the row at
26900
+ * `rowNumber`, shifts everything below up by one, and **returns the
26901
+ * list of widget component ids that lived on the deleted row** so the
26902
+ * caller can remove them from the layout (or surface them to a
26903
+ * confirm-before-delete UX in the future).
26904
+ *
26905
+ * Refuses to delete the only remaining row (returns the input grid
26906
+ * unchanged + empty orphans list — same fail-safe the model had).
26907
+ */
26908
+
26909
+ var META_KEYS$2 = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colModes", "colWidths"]);
26910
+ function _isCellKey$2(key) {
26911
+ return /^\d+\.\d+$/.test(key);
26912
+ }
26913
+ function _shiftKeyMapDown$1(map, deletedAt) {
26914
+ if (!map) return undefined;
26915
+ var shifted = {};
26916
+ for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
26917
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
26918
+ key = _Object$entries$_i[0],
26919
+ value = _Object$entries$_i[1];
26920
+ var n = Number(key);
26921
+ if (n === deletedAt) continue;
26922
+ shifted[String(n > deletedAt ? n - 1 : n)] = value;
26923
+ }
26924
+ return Object.keys(shifted).length > 0 ? shifted : undefined;
26925
+ }
26926
+ function deleteGridRowOp(grid, rowNumber) {
26927
+ if (!grid) return {
26928
+ grid: grid,
26929
+ orphanedComponents: []
26930
+ };
26931
+ if ((grid.rows || 0) <= 1) {
26932
+ // Can't delete the only row — fail-safe no-op.
26933
+ return {
26934
+ grid: grid,
26935
+ orphanedComponents: []
26936
+ };
26937
+ }
26938
+ var out = {};
26939
+ var orphanedComponents = [];
26940
+ for (var _i2 = 0, _Object$keys = Object.keys(grid); _i2 < _Object$keys.length; _i2++) {
26941
+ var k = _Object$keys[_i2];
26942
+ if (META_KEYS$2.has(k)) {
26943
+ out[k] = grid[k];
26944
+ continue;
26945
+ }
26946
+ if (!_isCellKey$2(k)) continue;
26947
+ var _k$split$map = k.split(".").map(Number),
26948
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
26949
+ r = _k$split$map2[0],
26950
+ c = _k$split$map2[1];
26951
+ if (r === rowNumber) {
26952
+ // Cell is in the row being deleted — collect its component (if
26953
+ // any) as an orphan, drop the cell entirely.
26954
+ var comp = grid[k] && grid[k].component;
26955
+ if (comp != null) orphanedComponents.push(comp);
26956
+ continue;
26957
+ }
26958
+ if (r > rowNumber) {
26959
+ // Cells below the deleted row shift up by one.
26960
+ out["".concat(r - 1, ".").concat(c)] = grid[k];
26961
+ } else {
26962
+ // Cells above the deleted row are unchanged.
26963
+ out[k] = grid[k];
26964
+ }
26965
+ }
26966
+ out.rows = (grid.rows || 0) - 1;
26967
+ out.cols = grid.cols;
26968
+ var newRowHeights = _shiftKeyMapDown$1(grid.rowHeights, rowNumber);
26969
+ if (newRowHeights) out.rowHeights = newRowHeights;else delete out.rowHeights;
26970
+ var newRowModes = _shiftKeyMapDown$1(grid.rowModes, rowNumber);
26971
+ if (newRowModes) out.rowModes = newRowModes;else delete out.rowModes;
26972
+ return {
26973
+ grid: out,
26974
+ orphanedComponents: orphanedComponents
26975
+ };
26976
+ }
26977
+
26978
+ /**
26979
+ * addGridColumnOp
26980
+ *
26981
+ * Pure helper for `DashboardModel.addGridColumn`. Symmetric to
26982
+ * `addGridRowOp` but for columns. Inserts an empty column after the
26983
+ * supplied column number (afterCol=0 inserts at the left edge).
26984
+ * colModes shifts to track its original columns. (Original code
26985
+ * doesn't track colWidths, so we don't either; can be added later.)
26986
+ */
26987
+
26988
+ var META_KEYS$1 = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colModes", "colWidths"]);
26989
+ function _isCellKey$1(key) {
26990
+ return /^\d+\.\d+$/.test(key);
26991
+ }
26992
+ function _shiftKeyMap(map, insertAt) {
26993
+ if (!map) return undefined;
26994
+ var shifted = {};
26995
+ for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
26996
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
26997
+ key = _Object$entries$_i[0],
26998
+ value = _Object$entries$_i[1];
26999
+ var n = Number(key);
27000
+ shifted[String(n >= insertAt ? n + 1 : n)] = value;
27001
+ }
27002
+ return Object.keys(shifted).length > 0 ? shifted : undefined;
27003
+ }
27004
+ function addGridColumnOp(grid) {
27005
+ var afterCol = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
27006
+ if (!grid) return grid;
27007
+ var newColNumber = afterCol + 1;
27008
+ var out = {};
27009
+ for (var _i2 = 0, _Object$keys = Object.keys(grid); _i2 < _Object$keys.length; _i2++) {
27010
+ var k = _Object$keys[_i2];
27011
+ if (META_KEYS$1.has(k)) out[k] = grid[k];
27012
+ }
27013
+ out.cols = (grid.cols || 0) + 1;
27014
+ out.rows = grid.rows;
27015
+ for (var _i3 = 0, _Object$keys2 = Object.keys(grid); _i3 < _Object$keys2.length; _i3++) {
27016
+ var _k = _Object$keys2[_i3];
27017
+ if (!_isCellKey$1(_k)) continue;
27018
+ var _k$split$map = _k.split(".").map(Number),
27019
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
27020
+ r = _k$split$map2[0],
27021
+ c = _k$split$map2[1];
27022
+ var newCol = c >= newColNumber ? c + 1 : c;
27023
+ out["".concat(r, ".").concat(newCol)] = grid[_k];
27024
+ }
27025
+ var rows = grid.rows || 0;
27026
+ for (var _r = 1; _r <= rows; _r++) {
27027
+ out["".concat(_r, ".").concat(newColNumber)] = {
27028
+ component: null,
27029
+ hide: false
27030
+ };
27031
+ }
27032
+ var newColModes = _shiftKeyMap(grid.colModes, newColNumber);
27033
+ if (newColModes) out.colModes = newColModes;else delete out.colModes;
27034
+ return out;
27035
+ }
27036
+
27037
+ /**
27038
+ * deleteGridColumnOp
27039
+ *
27040
+ * Pure helper for `DashboardModel.deleteGridColumn`. Symmetric to
27041
+ * `deleteGridRowOp` — removes the column at `colNumber`, shifts
27042
+ * everything to the right left by one, returns orphaned widget ids.
27043
+ *
27044
+ * Refuses to delete the only remaining column (returns input grid
27045
+ * unchanged + empty orphans list).
27046
+ */
27047
+
27048
+ var META_KEYS = new Set(["rows", "cols", "gap", "rowHeights", "rowModes", "colModes", "colWidths"]);
27049
+ function _isCellKey(key) {
27050
+ return /^\d+\.\d+$/.test(key);
27051
+ }
27052
+ function _shiftKeyMapDown(map, deletedAt) {
27053
+ if (!map) return undefined;
27054
+ var shifted = {};
27055
+ for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
27056
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
27057
+ key = _Object$entries$_i[0],
27058
+ value = _Object$entries$_i[1];
27059
+ var n = Number(key);
27060
+ if (n === deletedAt) continue;
27061
+ shifted[String(n > deletedAt ? n - 1 : n)] = value;
27062
+ }
27063
+ return Object.keys(shifted).length > 0 ? shifted : undefined;
27064
+ }
27065
+ function deleteGridColumnOp(grid, colNumber) {
27066
+ if (!grid) return {
27067
+ grid: grid,
27068
+ orphanedComponents: []
27069
+ };
27070
+ if ((grid.cols || 0) <= 1) {
27071
+ return {
27072
+ grid: grid,
27073
+ orphanedComponents: []
27074
+ };
27075
+ }
27076
+ var out = {};
27077
+ var orphanedComponents = [];
27078
+ for (var _i2 = 0, _Object$keys = Object.keys(grid); _i2 < _Object$keys.length; _i2++) {
27079
+ var k = _Object$keys[_i2];
27080
+ if (META_KEYS.has(k)) {
27081
+ out[k] = grid[k];
27082
+ continue;
27083
+ }
27084
+ if (!_isCellKey(k)) continue;
27085
+ var _k$split$map = k.split(".").map(Number),
27086
+ _k$split$map2 = _slicedToArray(_k$split$map, 2),
27087
+ r = _k$split$map2[0],
27088
+ c = _k$split$map2[1];
27089
+ if (c === colNumber) {
27090
+ var comp = grid[k] && grid[k].component;
27091
+ if (comp != null) orphanedComponents.push(comp);
27092
+ continue;
27093
+ }
27094
+ if (c > colNumber) {
27095
+ out["".concat(r, ".").concat(c - 1)] = grid[k];
27096
+ } else {
27097
+ out[k] = grid[k];
27098
+ }
27099
+ }
27100
+ out.cols = (grid.cols || 0) - 1;
27101
+ out.rows = grid.rows;
27102
+ var newColModes = _shiftKeyMapDown(grid.colModes, colNumber);
27103
+ if (newColModes) out.colModes = newColModes;else delete out.colModes;
27104
+ return {
27105
+ grid: out,
27106
+ orphanedComponents: orphanedComponents
27107
+ };
27108
+ }
27109
+
27110
+ 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; } } }; }
27111
+ 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; } }
27112
+ 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; }
26622
27113
  /**
26623
27114
  * A Model for a Workspace (Dashboard)
26624
27115
  * The Dashboard in this instance is the entire Layout inclusive of the workspaces and widgets
@@ -26690,7 +27181,7 @@ var DashboardModel = /*#__PURE__*/function () {
26690
27181
 
26691
27182
  // Also normalize grids within pages
26692
27183
  if (this.pages.length > 0) {
26693
- var _iterator = _createForOfIteratorHelper$m(this.pages),
27184
+ var _iterator = _createForOfIteratorHelper$n(this.pages),
26694
27185
  _step;
26695
27186
  try {
26696
27187
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -27897,210 +28388,18 @@ var DashboardModel = /*#__PURE__*/function () {
27897
28388
  if (!gridContainer || !gridContainer.grid) {
27898
28389
  return null;
27899
28390
  }
27900
- var grid = gridContainer.grid;
27901
- var _cellNumber$split$map = cellNumber.split(".").map(Number),
27902
- _cellNumber$split$map2 = _slicedToArray(_cellNumber$split$map, 2),
27903
- row = _cellNumber$split$map2[0],
27904
- col = _cellNumber$split$map2[1];
27905
- var targetCell = grid[cellNumber];
27906
- if (direction === "horizontal") {
27907
- var _targetCell$span, _targetCell$span2;
27908
- var targetSpanCol = (targetCell === null || targetCell === void 0 || (_targetCell$span = targetCell.span) === null || _targetCell$span === void 0 ? void 0 : _targetCell$span.col) || 1;
27909
- var targetSpanRow = (targetCell === null || targetCell === void 0 || (_targetCell$span2 = targetCell.span) === null || _targetCell$span2 === void 0 ? void 0 : _targetCell$span2.row) || 1;
27910
- if (targetSpanCol % count === 0) {
27911
- // CASE A: Span is divisible — simple subdivision, no grid resize
27912
- var subSpan = targetSpanCol / count;
27913
- var component = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
27914
-
27915
- // Unhide cells covered by the old span
27916
- for (var sr = row; sr < row + targetSpanRow; sr++) {
27917
- for (var sc = col; sc < col + targetSpanCol; sc++) {
27918
- var k = "".concat(sr, ".").concat(sc);
27919
- if (grid[k]) grid[k].hide = false;
27920
- }
27921
- }
27922
- delete targetCell.span;
27923
-
27924
- // Create subdivided cells
27925
- for (var i = 0; i < count; i++) {
27926
- var key = "".concat(row, ".").concat(col + i * subSpan);
27927
- grid[key] = {
27928
- component: i === 0 ? component : null,
27929
- hide: false
27930
- };
27931
- if (subSpan > 1 || targetSpanRow > 1) {
27932
- grid[key].span = {};
27933
- if (subSpan > 1) grid[key].span.col = subSpan;
27934
- if (targetSpanRow > 1) grid[key].span.row = targetSpanRow;
27935
- }
27936
- }
27937
- } else {
27938
- var _targetCell$span3, _targetCell$span4;
27939
- // CASE B: Multiply grid resolution by count
27940
- var oldCols = grid.cols;
27941
-
27942
- // 1. Collect all visible cells
27943
- var visibleCells = [];
27944
- for (var r = 1; r <= grid.rows; r++) {
27945
- for (var c = 1; c <= oldCols; c++) {
27946
- var _key5 = "".concat(r, ".").concat(c);
27947
- var cell = grid[_key5];
27948
- if (cell && !cell.hide) {
27949
- var _cell$span, _cell$span2;
27950
- visibleCells.push({
27951
- row: r,
27952
- col: c,
27953
- data: _objectSpread$D({}, cell),
27954
- spanCol: ((_cell$span = cell.span) === null || _cell$span === void 0 ? void 0 : _cell$span.col) || 1,
27955
- spanRow: ((_cell$span2 = cell.span) === null || _cell$span2 === void 0 ? void 0 : _cell$span2.row) || 1
27956
- });
27957
- }
27958
- }
27959
- }
27960
-
27961
- // 2. Clear all cell keys
27962
- for (var _i4 = 0, _Object$keys3 = Object.keys(grid); _i4 < _Object$keys3.length; _i4++) {
27963
- var _key6 = _Object$keys3[_i4];
27964
- if (/^\d+\.\d+$/.test(_key6)) delete grid[_key6];
27965
- }
27966
-
27967
- // 3. Update grid dimensions
27968
- grid.cols = oldCols * count;
27969
-
27970
- // 4. Reposition all cells with scaled positions and spans
27971
- for (var _i5 = 0, _visibleCells = visibleCells; _i5 < _visibleCells.length; _i5++) {
27972
- var vc = _visibleCells[_i5];
27973
- var newCol = (vc.col - 1) * count + 1;
27974
- var _key7 = "".concat(vc.row, ".").concat(newCol);
27975
- grid[_key7] = _objectSpread$D(_objectSpread$D({}, vc.data), {}, {
27976
- hide: false,
27977
- span: {
27978
- row: vc.spanRow,
27979
- col: vc.spanCol * count
27980
- }
27981
- });
27982
- }
27983
-
27984
- // 5. Split the target cell into count sub-cells
27985
- var newTargetCol = (col - 1) * count + 1;
27986
- var newTargetSpan = ((targetCell === null || targetCell === void 0 || (_targetCell$span3 = targetCell.span) === null || _targetCell$span3 === void 0 ? void 0 : _targetCell$span3.col) || 1) * count;
27987
- var _subSpan = newTargetSpan / count;
27988
- var _component = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
27989
- var rowSpan = (targetCell === null || targetCell === void 0 || (_targetCell$span4 = targetCell.span) === null || _targetCell$span4 === void 0 ? void 0 : _targetCell$span4.row) || 1;
27990
- for (var _i6 = 0; _i6 < count; _i6++) {
27991
- var _key8 = "".concat(row, ".").concat(newTargetCol + _i6 * _subSpan);
27992
- grid[_key8] = {
27993
- component: _i6 === 0 ? _component : null,
27994
- hide: false
27995
- };
27996
- if (_subSpan > 1 || rowSpan > 1) {
27997
- grid[_key8].span = {};
27998
- if (_subSpan > 1) grid[_key8].span.col = _subSpan;
27999
- if (rowSpan > 1) grid[_key8].span.row = rowSpan;
28000
- }
28001
- }
28002
- }
28003
- } else if (direction === "vertical") {
28004
- var _targetCell$span5, _targetCell$span6;
28005
- var _targetSpanRow = (targetCell === null || targetCell === void 0 || (_targetCell$span5 = targetCell.span) === null || _targetCell$span5 === void 0 ? void 0 : _targetCell$span5.row) || 1;
28006
- var _targetSpanCol = (targetCell === null || targetCell === void 0 || (_targetCell$span6 = targetCell.span) === null || _targetCell$span6 === void 0 ? void 0 : _targetCell$span6.col) || 1;
28007
- if (_targetSpanRow % count === 0) {
28008
- // CASE A: Span is divisible — simple subdivision, no grid resize
28009
- var _subSpan2 = _targetSpanRow / count;
28010
- var _component2 = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
28011
-
28012
- // Unhide cells covered by the old span
28013
- for (var _sr2 = row; _sr2 < row + _targetSpanRow; _sr2++) {
28014
- for (var _sc2 = col; _sc2 < col + _targetSpanCol; _sc2++) {
28015
- var _k = "".concat(_sr2, ".").concat(_sc2);
28016
- if (grid[_k]) grid[_k].hide = false;
28017
- }
28018
- }
28019
- delete targetCell.span;
28020
-
28021
- // Create subdivided cells
28022
- for (var _i7 = 0; _i7 < count; _i7++) {
28023
- var _key9 = "".concat(row + _i7 * _subSpan2, ".").concat(col);
28024
- grid[_key9] = {
28025
- component: _i7 === 0 ? _component2 : null,
28026
- hide: false
28027
- };
28028
- if (_subSpan2 > 1 || _targetSpanCol > 1) {
28029
- grid[_key9].span = {};
28030
- if (_subSpan2 > 1) grid[_key9].span.row = _subSpan2;
28031
- if (_targetSpanCol > 1) grid[_key9].span.col = _targetSpanCol;
28032
- }
28033
- }
28034
- } else {
28035
- var _targetCell$span7, _targetCell$span8;
28036
- // CASE B: Multiply grid resolution by count
28037
- var oldRows = grid.rows;
28038
-
28039
- // 1. Collect all visible cells
28040
- var _visibleCells2 = [];
28041
- for (var _r1 = 1; _r1 <= oldRows; _r1++) {
28042
- for (var _c10 = 1; _c10 <= grid.cols; _c10++) {
28043
- var _key0 = "".concat(_r1, ".").concat(_c10);
28044
- var _cell6 = grid[_key0];
28045
- if (_cell6 && !_cell6.hide) {
28046
- var _cell6$span, _cell6$span2;
28047
- _visibleCells2.push({
28048
- row: _r1,
28049
- col: _c10,
28050
- data: _objectSpread$D({}, _cell6),
28051
- spanRow: ((_cell6$span = _cell6.span) === null || _cell6$span === void 0 ? void 0 : _cell6$span.row) || 1,
28052
- spanCol: ((_cell6$span2 = _cell6.span) === null || _cell6$span2 === void 0 ? void 0 : _cell6$span2.col) || 1
28053
- });
28054
- }
28055
- }
28056
- }
28057
-
28058
- // 2. Clear all cell keys
28059
- for (var _i8 = 0, _Object$keys4 = Object.keys(grid); _i8 < _Object$keys4.length; _i8++) {
28060
- var _key1 = _Object$keys4[_i8];
28061
- if (/^\d+\.\d+$/.test(_key1)) delete grid[_key1];
28062
- }
28063
-
28064
- // 3. Update grid dimensions
28065
- grid.rows = oldRows * count;
28066
-
28067
- // 4. Reposition all cells with scaled positions and spans
28068
- for (var _i9 = 0, _visibleCells3 = _visibleCells2; _i9 < _visibleCells3.length; _i9++) {
28069
- var _vc = _visibleCells3[_i9];
28070
- var newRow = (_vc.row - 1) * count + 1;
28071
- var _key10 = "".concat(newRow, ".").concat(_vc.col);
28072
- grid[_key10] = _objectSpread$D(_objectSpread$D({}, _vc.data), {}, {
28073
- hide: false,
28074
- span: {
28075
- row: _vc.spanRow * count,
28076
- col: _vc.spanCol
28077
- }
28078
- });
28079
- }
28080
-
28081
- // 5. Split the target cell into count sub-cells
28082
- var newTargetRow = (row - 1) * count + 1;
28083
- var _newTargetSpan = ((targetCell === null || targetCell === void 0 || (_targetCell$span7 = targetCell.span) === null || _targetCell$span7 === void 0 ? void 0 : _targetCell$span7.row) || 1) * count;
28084
- var _subSpan3 = _newTargetSpan / count;
28085
- var _component3 = targetCell === null || targetCell === void 0 ? void 0 : targetCell.component;
28086
- var colSpan = (targetCell === null || targetCell === void 0 || (_targetCell$span8 = targetCell.span) === null || _targetCell$span8 === void 0 ? void 0 : _targetCell$span8.col) || 1;
28087
- for (var _i0 = 0; _i0 < count; _i0++) {
28088
- var _key11 = "".concat(newTargetRow + _i0 * _subSpan3, ".").concat(col);
28089
- grid[_key11] = {
28090
- component: _i0 === 0 ? _component3 : null,
28091
- hide: false
28092
- };
28093
- if (_subSpan3 > 1 || colSpan > 1) {
28094
- grid[_key11].span = {};
28095
- if (_subSpan3 > 1) grid[_key11].span.row = _subSpan3;
28096
- if (colSpan > 1) grid[_key11].span.col = colSpan;
28097
- }
28098
- }
28099
- }
28391
+ // Slice 11: pure helper handles both CASE A (divisible span)
28392
+ // and CASE B (resolution multiply). Falls through to the legacy
28393
+ // inline path below if the helper somehow returns the same
28394
+ // grid (defensive — shouldn't happen for a valid cellNumber +
28395
+ // direction).
28396
+ var newGrid = splitGridCellOp(gridContainer.grid, cellNumber, direction, count);
28397
+ if (newGrid !== gridContainer.grid) {
28398
+ gridContainer.grid = newGrid;
28399
+ this._normalizeGrid(gridContainer.grid);
28400
+ this.updateLayoutItem(gridContainer);
28100
28401
  }
28101
- this._normalizeGrid(grid);
28102
- this.updateLayoutItem(gridContainer);
28103
- return grid;
28402
+ return gridContainer.grid;
28104
28403
  } catch (e) {
28105
28404
  return null;
28106
28405
  }
@@ -28249,55 +28548,8 @@ var DashboardModel = /*#__PURE__*/function () {
28249
28548
  if (!gridContainer || !gridContainer.grid) {
28250
28549
  return null;
28251
28550
  }
28252
- var newRowNumber = afterRow + 1;
28253
- gridContainer.grid.rows += 1;
28254
-
28255
- // Shift existing rows down
28256
- for (var r = gridContainer.grid.rows; r > newRowNumber; r--) {
28257
- for (var c = 1; c <= gridContainer.grid.cols; c++) {
28258
- var oldCell = "".concat(r - 1, ".").concat(c);
28259
- var newCell = "".concat(r, ".").concat(c);
28260
- if (oldCell in gridContainer.grid) {
28261
- gridContainer.grid[newCell] = gridContainer.grid[oldCell];
28262
- delete gridContainer.grid[oldCell];
28263
- }
28264
- }
28265
- }
28266
-
28267
- // Create new empty cells for the new row
28268
- for (var _c11 = 1; _c11 <= gridContainer.grid.cols; _c11++) {
28269
- var cellNumber = "".concat(newRowNumber, ".").concat(_c11);
28270
- gridContainer.grid[cellNumber] = {
28271
- component: null,
28272
- hide: false
28273
- };
28274
- }
28275
-
28276
- // Shift rowHeights keys down (rows after insertion point move +1)
28277
- if (gridContainer.grid.rowHeights) {
28278
- var shifted = {};
28279
- for (var _i1 = 0, _Object$entries2 = Object.entries(gridContainer.grid.rowHeights); _i1 < _Object$entries2.length; _i1++) {
28280
- var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i1], 2),
28281
- key = _Object$entries2$_i[0],
28282
- mult = _Object$entries2$_i[1];
28283
- var rowNum = Number(key);
28284
- shifted[String(rowNum >= newRowNumber ? rowNum + 1 : rowNum)] = mult;
28285
- }
28286
- gridContainer.grid.rowHeights = Object.keys(shifted).length > 0 ? shifted : undefined;
28287
- }
28288
-
28289
- // Shift rowModes keys down (rows after insertion point move +1)
28290
- if (gridContainer.grid.rowModes) {
28291
- var _shifted = {};
28292
- for (var _i10 = 0, _Object$entries3 = Object.entries(gridContainer.grid.rowModes); _i10 < _Object$entries3.length; _i10++) {
28293
- var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i10], 2),
28294
- _key12 = _Object$entries3$_i[0],
28295
- mode = _Object$entries3$_i[1];
28296
- var _rowNum = Number(_key12);
28297
- _shifted[String(_rowNum >= newRowNumber ? _rowNum + 1 : _rowNum)] = mode;
28298
- }
28299
- gridContainer.grid.rowModes = Object.keys(_shifted).length > 0 ? _shifted : undefined;
28300
- }
28551
+ // Slice 11: pure helper handles the row-insertion + shifting.
28552
+ gridContainer.grid = addGridRowOp(gridContainer.grid, afterRow);
28301
28553
  this._normalizeGrid(gridContainer.grid);
28302
28554
  this.updateLayoutItem(gridContainer);
28303
28555
  return gridContainer.grid;
@@ -28323,55 +28575,23 @@ var DashboardModel = /*#__PURE__*/function () {
28323
28575
  if (gridContainer.grid.rows <= 1) {
28324
28576
  return null;
28325
28577
  }
28326
-
28327
- // Remove components in the deleted row
28328
- for (var c = 1; c <= gridContainer.grid.cols; c++) {
28329
- var cellNumber = "".concat(rowNumber, ".").concat(c);
28330
- if (gridContainer.grid[cellNumber] && gridContainer.grid[cellNumber].component) {
28331
- this.removeItemFromLayout(gridContainer.grid[cellNumber].component);
28332
- }
28333
- delete gridContainer.grid[cellNumber];
28334
- }
28335
-
28336
- // Shift rows up
28337
- for (var r = rowNumber + 1; r <= gridContainer.grid.rows; r++) {
28338
- for (var _c12 = 1; _c12 <= gridContainer.grid.cols; _c12++) {
28339
- var oldCell = "".concat(r, ".").concat(_c12);
28340
- var newCell = "".concat(r - 1, ".").concat(_c12);
28341
- if (oldCell in gridContainer.grid) {
28342
- gridContainer.grid[newCell] = gridContainer.grid[oldCell];
28343
- delete gridContainer.grid[oldCell];
28344
- }
28578
+ // Slice 11: pure helper returns the updated grid + the list of
28579
+ // widget components that lived on the deleted row. We remove
28580
+ // those from the layout here to preserve the original
28581
+ // destructive-delete behavior.
28582
+ var result = deleteGridRowOp(gridContainer.grid, rowNumber);
28583
+ gridContainer.grid = result.grid;
28584
+ var _iterator2 = _createForOfIteratorHelper$n(result.orphanedComponents),
28585
+ _step2;
28586
+ try {
28587
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
28588
+ var componentId = _step2.value;
28589
+ this.removeItemFromLayout(componentId);
28345
28590
  }
28346
- }
28347
- gridContainer.grid.rows -= 1;
28348
-
28349
- // Shift rowHeights keys up and remove the deleted row's entry
28350
- if (gridContainer.grid.rowHeights) {
28351
- var shifted = {};
28352
- for (var _i11 = 0, _Object$entries4 = Object.entries(gridContainer.grid.rowHeights); _i11 < _Object$entries4.length; _i11++) {
28353
- var _Object$entries4$_i = _slicedToArray(_Object$entries4[_i11], 2),
28354
- key = _Object$entries4$_i[0],
28355
- mult = _Object$entries4$_i[1];
28356
- var rowNum = Number(key);
28357
- if (rowNum === rowNumber) continue;
28358
- shifted[String(rowNum > rowNumber ? rowNum - 1 : rowNum)] = mult;
28359
- }
28360
- gridContainer.grid.rowHeights = Object.keys(shifted).length > 0 ? shifted : undefined;
28361
- }
28362
-
28363
- // Shift rowModes keys up and remove the deleted row's entry
28364
- if (gridContainer.grid.rowModes) {
28365
- var _shifted2 = {};
28366
- for (var _i12 = 0, _Object$entries5 = Object.entries(gridContainer.grid.rowModes); _i12 < _Object$entries5.length; _i12++) {
28367
- var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i12], 2),
28368
- _key13 = _Object$entries5$_i[0],
28369
- mode = _Object$entries5$_i[1];
28370
- var _rowNum2 = Number(_key13);
28371
- if (_rowNum2 === rowNumber) continue;
28372
- _shifted2[String(_rowNum2 > rowNumber ? _rowNum2 - 1 : _rowNum2)] = mode;
28373
- }
28374
- gridContainer.grid.rowModes = Object.keys(_shifted2).length > 0 ? _shifted2 : undefined;
28591
+ } catch (err) {
28592
+ _iterator2.e(err);
28593
+ } finally {
28594
+ _iterator2.f();
28375
28595
  }
28376
28596
  this._normalizeGrid(gridContainer.grid);
28377
28597
  this.updateLayoutItem(gridContainer);
@@ -28430,42 +28650,8 @@ var DashboardModel = /*#__PURE__*/function () {
28430
28650
  if (!gridContainer || !gridContainer.grid) {
28431
28651
  return null;
28432
28652
  }
28433
- var newColNumber = afterCol + 1;
28434
- gridContainer.grid.cols += 1;
28435
-
28436
- // Shift existing columns right
28437
- for (var r = 1; r <= gridContainer.grid.rows; r++) {
28438
- for (var c = gridContainer.grid.cols; c > newColNumber; c--) {
28439
- var oldCell = "".concat(r, ".").concat(c - 1);
28440
- var newCell = "".concat(r, ".").concat(c);
28441
- if (oldCell in gridContainer.grid) {
28442
- gridContainer.grid[newCell] = gridContainer.grid[oldCell];
28443
- delete gridContainer.grid[oldCell];
28444
- }
28445
- }
28446
- }
28447
-
28448
- // Create new empty cells for the new column
28449
- for (var _r10 = 1; _r10 <= gridContainer.grid.rows; _r10++) {
28450
- var cellNumber = "".concat(_r10, ".").concat(newColNumber);
28451
- gridContainer.grid[cellNumber] = {
28452
- component: null,
28453
- hide: false
28454
- };
28455
- }
28456
-
28457
- // Shift colModes keys right (columns after insertion point move +1)
28458
- if (gridContainer.grid.colModes) {
28459
- var shifted = {};
28460
- for (var _i13 = 0, _Object$entries6 = Object.entries(gridContainer.grid.colModes); _i13 < _Object$entries6.length; _i13++) {
28461
- var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i13], 2),
28462
- key = _Object$entries6$_i[0],
28463
- mode = _Object$entries6$_i[1];
28464
- var colNum = Number(key);
28465
- shifted[String(colNum >= newColNumber ? colNum + 1 : colNum)] = mode;
28466
- }
28467
- gridContainer.grid.colModes = Object.keys(shifted).length > 0 ? shifted : undefined;
28468
- }
28653
+ // Slice 11: pure helper.
28654
+ gridContainer.grid = addGridColumnOp(gridContainer.grid, afterCol);
28469
28655
  this._normalizeGrid(gridContainer.grid);
28470
28656
  this.updateLayoutItem(gridContainer);
28471
28657
  return gridContainer.grid;
@@ -28491,41 +28677,20 @@ var DashboardModel = /*#__PURE__*/function () {
28491
28677
  if (gridContainer.grid.cols <= 1) {
28492
28678
  return null;
28493
28679
  }
28494
-
28495
- // Remove components in the deleted column
28496
- for (var r = 1; r <= gridContainer.grid.rows; r++) {
28497
- var cellNumber = "".concat(r, ".").concat(colNumber);
28498
- if (gridContainer.grid[cellNumber] && gridContainer.grid[cellNumber].component) {
28499
- this.removeItemFromLayout(gridContainer.grid[cellNumber].component);
28500
- }
28501
- delete gridContainer.grid[cellNumber];
28502
- }
28503
-
28504
- // Shift columns left
28505
- for (var _r11 = 1; _r11 <= gridContainer.grid.rows; _r11++) {
28506
- for (var c = colNumber + 1; c <= gridContainer.grid.cols; c++) {
28507
- var oldCell = "".concat(_r11, ".").concat(c);
28508
- var newCell = "".concat(_r11, ".").concat(c - 1);
28509
- if (oldCell in gridContainer.grid) {
28510
- gridContainer.grid[newCell] = gridContainer.grid[oldCell];
28511
- delete gridContainer.grid[oldCell];
28512
- }
28513
- }
28514
- }
28515
- gridContainer.grid.cols -= 1;
28516
-
28517
- // Shift colModes keys left and remove the deleted column's entry
28518
- if (gridContainer.grid.colModes) {
28519
- var shifted = {};
28520
- for (var _i14 = 0, _Object$entries7 = Object.entries(gridContainer.grid.colModes); _i14 < _Object$entries7.length; _i14++) {
28521
- var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i14], 2),
28522
- key = _Object$entries7$_i[0],
28523
- mode = _Object$entries7$_i[1];
28524
- var colNum = Number(key);
28525
- if (colNum === colNumber) continue;
28526
- shifted[String(colNum > colNumber ? colNum - 1 : colNum)] = mode;
28680
+ // Slice 11: pure helper.
28681
+ var result = deleteGridColumnOp(gridContainer.grid, colNumber);
28682
+ gridContainer.grid = result.grid;
28683
+ var _iterator3 = _createForOfIteratorHelper$n(result.orphanedComponents),
28684
+ _step3;
28685
+ try {
28686
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
28687
+ var componentId = _step3.value;
28688
+ this.removeItemFromLayout(componentId);
28527
28689
  }
28528
- gridContainer.grid.colModes = Object.keys(shifted).length > 0 ? shifted : undefined;
28690
+ } catch (err) {
28691
+ _iterator3.e(err);
28692
+ } finally {
28693
+ _iterator3.f();
28529
28694
  }
28530
28695
  this._normalizeGrid(gridContainer.grid);
28531
28696
  this.updateLayoutItem(gridContainer);
@@ -28610,14 +28775,14 @@ var DashboardModel = /*#__PURE__*/function () {
28610
28775
  try {
28611
28776
  // Collect all item IDs actively referenced by grid cells
28612
28777
  var activeItemIds = new Set();
28613
- var _iterator2 = _createForOfIteratorHelper$m(this.layout),
28614
- _step2;
28778
+ var _iterator4 = _createForOfIteratorHelper$n(this.layout),
28779
+ _step4;
28615
28780
  try {
28616
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
28617
- var item = _step2.value;
28781
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
28782
+ var item = _step4.value;
28618
28783
  if (item.grid && _typeof(item.grid) === "object") {
28619
- for (var _i15 = 0, _Object$keys5 = Object.keys(item.grid); _i15 < _Object$keys5.length; _i15++) {
28620
- var key = _Object$keys5[_i15];
28784
+ for (var _i4 = 0, _Object$keys3 = Object.keys(item.grid); _i4 < _Object$keys3.length; _i4++) {
28785
+ var key = _Object$keys3[_i4];
28621
28786
  var cell = item.grid[key];
28622
28787
  if (cell && _typeof(cell) === "object" && cell.component) {
28623
28788
  activeItemIds.add(cell.component);
@@ -28630,9 +28795,9 @@ var DashboardModel = /*#__PURE__*/function () {
28630
28795
 
28631
28796
  // If no grid containers exist, nothing to clean
28632
28797
  } catch (err) {
28633
- _iterator2.e(err);
28798
+ _iterator4.e(err);
28634
28799
  } finally {
28635
- _iterator2.f();
28800
+ _iterator4.f();
28636
28801
  }
28637
28802
  if (activeItemIds.size === 0) return;
28638
28803
 
@@ -28650,17 +28815,17 @@ var DashboardModel = /*#__PURE__*/function () {
28650
28815
  });
28651
28816
 
28652
28817
  // Clean listener references on remaining items for each removed orphan
28653
- var _iterator3 = _createForOfIteratorHelper$m(orphanedIds),
28654
- _step3;
28818
+ var _iterator5 = _createForOfIteratorHelper$n(orphanedIds),
28819
+ _step5;
28655
28820
  try {
28656
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
28657
- var id = _step3.value;
28821
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
28822
+ var id = _step5.value;
28658
28823
  this._cleanupListenerReferencesForId(id);
28659
28824
  }
28660
28825
  } catch (err) {
28661
- _iterator3.e(err);
28826
+ _iterator5.e(err);
28662
28827
  } finally {
28663
- _iterator3.f();
28828
+ _iterator5.f();
28664
28829
  }
28665
28830
  } catch (e) {
28666
28831
  }
@@ -29471,9 +29636,9 @@ var useDashboard = function useDashboard() {
29471
29636
  });
29472
29637
  };
29473
29638
 
29474
- 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; } } }; }
29475
- 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; } }
29476
- 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; }
29639
+ 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; } } }; }
29640
+ 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; } }
29641
+ 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; }
29477
29642
 
29478
29643
  /**
29479
29644
  * useWidgetProviders Hook
@@ -29529,7 +29694,7 @@ var useWidgetProviders = function useWidgetProviders() {
29529
29694
  // 1. Widget-level: stored directly on the layout item by handleSelectProvider
29530
29695
  // 2. Workspace-level: stored as workspace.selectedProviders[widgetId][providerType]
29531
29696
  var providers = {};
29532
- var _iterator = _createForOfIteratorHelper$l(providerDeclarations),
29697
+ var _iterator = _createForOfIteratorHelper$m(providerDeclarations),
29533
29698
  _step;
29534
29699
  try {
29535
29700
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -29571,9 +29736,9 @@ var useWidgetProviders = function useWidgetProviders() {
29571
29736
  };
29572
29737
  };
29573
29738
 
29574
- 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; } } }; }
29575
- 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; } }
29576
- 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; }
29739
+ 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; } } }; }
29740
+ 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; } }
29741
+ 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; }
29577
29742
 
29578
29743
  /**
29579
29744
  * Module-level shared state for MCP server connections.
@@ -29628,7 +29793,7 @@ function unionPathScope(grants, serverName) {
29628
29793
  allowedPaths: []
29629
29794
  };
29630
29795
  }
29631
- var _iterator = _createForOfIteratorHelper$k(grants),
29796
+ var _iterator = _createForOfIteratorHelper$l(grants),
29632
29797
  _step;
29633
29798
  try {
29634
29799
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -29641,7 +29806,7 @@ function unionPathScope(grants, serverName) {
29641
29806
  var serverPerms = servers[serverName];
29642
29807
  if (!serverPerms || _typeof(serverPerms) !== "object") continue;
29643
29808
  if (Array.isArray(serverPerms.readPaths)) {
29644
- var _iterator2 = _createForOfIteratorHelper$k(serverPerms.readPaths),
29809
+ var _iterator2 = _createForOfIteratorHelper$l(serverPerms.readPaths),
29645
29810
  _step2;
29646
29811
  try {
29647
29812
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -29655,7 +29820,7 @@ function unionPathScope(grants, serverName) {
29655
29820
  }
29656
29821
  }
29657
29822
  if (Array.isArray(serverPerms.writePaths)) {
29658
- var _iterator3 = _createForOfIteratorHelper$k(serverPerms.writePaths),
29823
+ var _iterator3 = _createForOfIteratorHelper$l(serverPerms.writePaths),
29659
29824
  _step3;
29660
29825
  try {
29661
29826
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -30458,9 +30623,9 @@ var useNotifications = function useNotifications() {
30458
30623
  };
30459
30624
  };
30460
30625
 
30461
- 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; } } }; }
30462
- 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; } }
30463
- 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; }
30626
+ 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; } } }; }
30627
+ 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; } }
30628
+ 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; }
30464
30629
 
30465
30630
  /**
30466
30631
  * useScheduler Hook
@@ -30533,7 +30698,7 @@ var useScheduler = function useScheduler() {
30533
30698
  if (pending && pending.length > 0) {
30534
30699
  setPendingResults(pending);
30535
30700
  // Call handlers for each pending result
30536
- var _iterator = _createForOfIteratorHelper$j(pending),
30701
+ var _iterator = _createForOfIteratorHelper$k(pending),
30537
30702
  _step;
30538
30703
  try {
30539
30704
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -32393,9 +32558,9 @@ function loadWidgetBundle(source, widgetName) {
32393
32558
  };
32394
32559
  }
32395
32560
 
32396
- 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; } } }; }
32397
- 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; } }
32398
- 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; }
32561
+ 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; } } }; }
32562
+ 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; } }
32563
+ 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; }
32399
32564
  /**
32400
32565
  * Validation utilities for grid-first dashboard architecture
32401
32566
  *
@@ -32634,7 +32799,7 @@ var validateCellMerge = function validateCellMerge(cellNumbers, grid) {
32634
32799
 
32635
32800
  // Validate each cell
32636
32801
  var cells = [];
32637
- var _iterator = _createForOfIteratorHelper$i(cellNumbers),
32802
+ var _iterator = _createForOfIteratorHelper$j(cellNumbers),
32638
32803
  _step;
32639
32804
  try {
32640
32805
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -32982,9 +33147,9 @@ var HARMONY_STRATEGIES = [{
32982
33147
  label: "Custom"
32983
33148
  }];
32984
33149
 
32985
- 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; } } }; }
32986
- 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; } }
32987
- 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; }
33150
+ 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; } } }; }
33151
+ 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; } }
33152
+ 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; }
32988
33153
  /**
32989
33154
  * markdownFormParser.js
32990
33155
  *
@@ -33031,7 +33196,7 @@ function detectColumnType(header, cellValues) {
33031
33196
  }
33032
33197
 
33033
33198
  // Check if any cell has an enum pattern (template placeholders)
33034
- var _iterator = _createForOfIteratorHelper$h(cellValues),
33199
+ var _iterator = _createForOfIteratorHelper$i(cellValues),
33035
33200
  _step;
33036
33201
  try {
33037
33202
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -33040,7 +33205,7 @@ function detectColumnType(header, cellValues) {
33040
33205
  if (options) {
33041
33206
  // Include all unique existing cell values as valid options
33042
33207
  var allOptions = new Set(options);
33043
- var _iterator2 = _createForOfIteratorHelper$h(cellValues),
33208
+ var _iterator2 = _createForOfIteratorHelper$i(cellValues),
33044
33209
  _step2;
33045
33210
  try {
33046
33211
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -33250,7 +33415,7 @@ function parse(markdown) {
33250
33415
  */
33251
33416
  function serialize(blocks) {
33252
33417
  var parts = [];
33253
- var _iterator3 = _createForOfIteratorHelper$h(blocks),
33418
+ var _iterator3 = _createForOfIteratorHelper$i(blocks),
33254
33419
  _step3;
33255
33420
  try {
33256
33421
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
@@ -33265,7 +33430,7 @@ function serialize(blocks) {
33265
33430
  parts.push("| " + block.columns.map(function () {
33266
33431
  return "------";
33267
33432
  }).join(" | ") + " |");
33268
- var _iterator4 = _createForOfIteratorHelper$h(block.rows),
33433
+ var _iterator4 = _createForOfIteratorHelper$i(block.rows),
33269
33434
  _step4;
33270
33435
  try {
33271
33436
  var _loop2 = function _loop2() {
@@ -33286,7 +33451,7 @@ function serialize(blocks) {
33286
33451
  break;
33287
33452
  }
33288
33453
  case "list":
33289
- var _iterator5 = _createForOfIteratorHelper$h(block.items),
33454
+ var _iterator5 = _createForOfIteratorHelper$i(block.items),
33290
33455
  _step5;
33291
33456
  try {
33292
33457
  for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
@@ -33300,7 +33465,7 @@ function serialize(blocks) {
33300
33465
  }
33301
33466
  break;
33302
33467
  case "blockquote":
33303
- var _iterator6 = _createForOfIteratorHelper$h(block.text.split("\n")),
33468
+ var _iterator6 = _createForOfIteratorHelper$i(block.text.split("\n")),
33304
33469
  _step6;
33305
33470
  try {
33306
33471
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
@@ -33338,6 +33503,277 @@ function serialize(blocks) {
33338
33503
  return parts.join("\n");
33339
33504
  }
33340
33505
 
33506
+ /**
33507
+ * humanizeAction
33508
+ *
33509
+ * Map an internal (domain, action) pair to a user-readable verb phrase
33510
+ * for use in consent modals. Engineering terms like `saveToFile` or
33511
+ * `readDataFromURL` aren't meaningful to regular users; this lookup
33512
+ * lets the modal copy speak plainly.
33513
+ *
33514
+ * Returns the raw action when no entry exists (defensive — modal
33515
+ * still works, just shows the engineering name). Empty string when
33516
+ * inputs are non-strings.
33517
+ */
33518
+
33519
+ var FS_VERBS = {
33520
+ saveData: "save changes to a file",
33521
+ saveToFile: "save changes to a file",
33522
+ readData: "read a file",
33523
+ readFromFile: "read a file",
33524
+ readJSONFromFile: "read a file",
33525
+ transformFile: "transform a file",
33526
+ convertJsonToCsvFile: "convert and save a file",
33527
+ parseXMLStream: "parse and save a file",
33528
+ parseCSVStream: "parse and save a file",
33529
+ readDataFromURL: "fetch from a URL and save to a file"
33530
+ };
33531
+ var NETWORK_VERBS = {
33532
+ readDataFromURL: "fetch from a URL",
33533
+ connect: "open a websocket connection",
33534
+ wsConnect: "open a websocket connection"
33535
+ };
33536
+ var MCP_VERBS = {
33537
+ // For MCP, the caller (modal) typically renders "<verb> <tool name>"
33538
+ // since the tool name is itself the most informative bit. The verb
33539
+ // stays neutral.
33540
+ callTool: "use the"
33541
+ };
33542
+ function humanizeAction(domain, action) {
33543
+ if (typeof domain !== "string" || typeof action !== "string") return "";
33544
+ var table = domain === "fs" ? FS_VERBS : domain === "network" ? NETWORK_VERBS : domain === "mcp" ? MCP_VERBS : null;
33545
+ if (!table) return action;
33546
+ return table[action] || action;
33547
+ }
33548
+
33549
+ 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; } } }; }
33550
+ 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; } }
33551
+ 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; }
33552
+ /**
33553
+ * computeDashboardPreflight
33554
+ *
33555
+ * Pure scanner. Walks a workspace's layout, finds every widget present
33556
+ * on the dashboard, looks up each widget's declared-vs-granted state
33557
+ * via a `widgetMcp.listAll()` snapshot, and returns the diff so the
33558
+ * pre-flight modal can prompt for the missing permissions in one shot.
33559
+ *
33560
+ * Why this exists: pre-this-slice, every gated call from a widget
33561
+ * dripped a separate JIT prompt. With manifests pre-declared (slice 7
33562
+ * for AI-built; existing for @trops/*), we can compute the union up
33563
+ * front and ask once.
33564
+ *
33565
+ * Inputs (all snapshots — caller is responsible for liveness):
33566
+ * - layout: workspace.layout array (grid containers + widgets)
33567
+ * - allRows: result of `widgetMcp.listAll()` IPC
33568
+ * - registry: Map<packageId, {componentNames, ...}> from
33569
+ * getWidgetRegistry().widgets
33570
+ *
33571
+ * Output: { widgets: [{ widgetId, packageId, displayName, missing }] }
33572
+ * - missing has the same shape as a `granted` blob: `{servers, domains}`.
33573
+ * - Only includes widgets where missing is non-empty.
33574
+ * - Widgets without a manifest are skipped (no declared = nothing to
33575
+ * pre-ask; runtime JIT is the fallback).
33576
+ */
33577
+
33578
+ function _isObject(x) {
33579
+ return x && _typeof(x) === "object";
33580
+ }
33581
+ function _bareNameFromWidgetId(widgetId) {
33582
+ if (typeof widgetId !== "string") return null;
33583
+ var idx = widgetId.lastIndexOf(".");
33584
+ return idx >= 0 ? widgetId.slice(idx + 1) : widgetId;
33585
+ }
33586
+
33587
+ /**
33588
+ * Parse a grant-keyed widgetId (`trops.google-drive.GDriveFileList`)
33589
+ * into its scoped package id (`@trops/google-drive`). When a registry
33590
+ * snapshot is supplied, prefer its truth — handles edge cases the
33591
+ * naive parser can't (e.g. unconventional packageId formats). Falls
33592
+ * back to dotted-form parsing otherwise.
33593
+ */
33594
+ function _packageIdFromWidgetId(widgetId, registry) {
33595
+ var bareName = _bareNameFromWidgetId(widgetId);
33596
+ if (!bareName) return null;
33597
+ if (registry) {
33598
+ var entries = typeof registry.entries === "function" ? Array.from(registry.entries()) : Object.entries(registry);
33599
+ var _iterator = _createForOfIteratorHelper$h(entries),
33600
+ _step;
33601
+ try {
33602
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
33603
+ var _step$value = _slicedToArray(_step.value, 2),
33604
+ entry = _step$value[1];
33605
+ if (!entry || !Array.isArray(entry.componentNames)) continue;
33606
+ if (entry.componentNames.includes(bareName)) {
33607
+ return entry.packageId || null;
33608
+ }
33609
+ }
33610
+ } catch (err) {
33611
+ _iterator.e(err);
33612
+ } finally {
33613
+ _iterator.f();
33614
+ }
33615
+ }
33616
+
33617
+ // Fallback: parse the dotted form. Shape is
33618
+ // <scope>.<package-name-may-contain-hyphens>.<componentName>
33619
+ if (typeof widgetId !== "string") return null;
33620
+ if (widgetId.startsWith("@")) return null; // bare scoped id, not dotted
33621
+ var parts = widgetId.split(".");
33622
+ if (parts.length < 3) return null;
33623
+ var scope = parts[0];
33624
+ var pkg = parts.slice(1, -1).join(".");
33625
+ if (!scope || !pkg) return null;
33626
+ return "@" + scope + "/" + pkg;
33627
+ }
33628
+ function _diffArray(declared, granted) {
33629
+ var grantedSet = new Set(granted || []);
33630
+ return (declared || []).filter(function (x) {
33631
+ return !grantedSet.has(x);
33632
+ });
33633
+ }
33634
+ function _diffServers(declaredServers, grantedServers) {
33635
+ var out = {};
33636
+ if (!_isObject(declaredServers)) return out;
33637
+ for (var _i = 0, _Object$entries = Object.entries(declaredServers); _i < _Object$entries.length; _i++) {
33638
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
33639
+ name = _Object$entries$_i[0],
33640
+ decl = _Object$entries$_i[1];
33641
+ var grant = grantedServers && grantedServers[name];
33642
+ var missingTools = _diffArray(decl.tools, grant === null || grant === void 0 ? void 0 : grant.tools);
33643
+ var missingReadPaths = _diffArray(decl.readPaths, grant === null || grant === void 0 ? void 0 : grant.readPaths);
33644
+ var missingWritePaths = _diffArray(decl.writePaths, grant === null || grant === void 0 ? void 0 : grant.writePaths);
33645
+ if (missingTools.length === 0 && missingReadPaths.length === 0 && missingWritePaths.length === 0) {
33646
+ continue;
33647
+ }
33648
+ out[name] = {
33649
+ tools: missingTools,
33650
+ readPaths: missingReadPaths,
33651
+ writePaths: missingWritePaths
33652
+ };
33653
+ }
33654
+ return out;
33655
+ }
33656
+ function _diffFs(declaredFs, grantedFs) {
33657
+ if (!_isObject(declaredFs)) return null;
33658
+ var missingActions = _diffArray(declaredFs.actions, grantedFs === null || grantedFs === void 0 ? void 0 : grantedFs.actions);
33659
+ var missingReadPaths = _diffArray(declaredFs.readPaths, grantedFs === null || grantedFs === void 0 ? void 0 : grantedFs.readPaths);
33660
+ var missingWritePaths = _diffArray(declaredFs.writePaths, grantedFs === null || grantedFs === void 0 ? void 0 : grantedFs.writePaths);
33661
+ if (missingActions.length === 0 && missingReadPaths.length === 0 && missingWritePaths.length === 0) {
33662
+ return null;
33663
+ }
33664
+ var out = {};
33665
+ if (missingActions.length > 0) out.actions = missingActions;
33666
+ if (missingReadPaths.length > 0) out.readPaths = missingReadPaths;
33667
+ if (missingWritePaths.length > 0) out.writePaths = missingWritePaths;
33668
+ return out;
33669
+ }
33670
+ function _diffNetwork(declaredNet, grantedNet) {
33671
+ if (!_isObject(declaredNet)) return null;
33672
+ var missingActions = _diffArray(declaredNet.actions, grantedNet === null || grantedNet === void 0 ? void 0 : grantedNet.actions);
33673
+ var missingHosts = _diffArray(declaredNet.hosts, grantedNet === null || grantedNet === void 0 ? void 0 : grantedNet.hosts);
33674
+ if (missingActions.length === 0 && missingHosts.length === 0) return null;
33675
+ var out = {};
33676
+ if (missingActions.length > 0) out.actions = missingActions;
33677
+ if (missingHosts.length > 0) out.hosts = missingHosts;
33678
+ return out;
33679
+ }
33680
+ function _hasAnyMissing(missing) {
33681
+ var _missing$domains, _missing$domains2;
33682
+ if (Object.keys(missing.servers || {}).length > 0) return true;
33683
+ if ((_missing$domains = missing.domains) !== null && _missing$domains !== void 0 && _missing$domains.fs) return true;
33684
+ if ((_missing$domains2 = missing.domains) !== null && _missing$domains2 !== void 0 && _missing$domains2.network) return true;
33685
+ return false;
33686
+ }
33687
+ function _collectWidgetComponentNames(layout) {
33688
+ var names = [];
33689
+ if (!Array.isArray(layout)) return names;
33690
+ var _iterator2 = _createForOfIteratorHelper$h(layout),
33691
+ _step2;
33692
+ try {
33693
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
33694
+ var item = _step2.value;
33695
+ if (item && item.type === "widget" && typeof item.component === "string") {
33696
+ names.push(item.component);
33697
+ }
33698
+ }
33699
+ } catch (err) {
33700
+ _iterator2.e(err);
33701
+ } finally {
33702
+ _iterator2.f();
33703
+ }
33704
+ return names;
33705
+ }
33706
+ function computeDashboardPreflight(_ref) {
33707
+ var layout = _ref.layout,
33708
+ allRows = _ref.allRows,
33709
+ registry = _ref.registry;
33710
+ var widgetComponentNames = _collectWidgetComponentNames(layout);
33711
+ if (widgetComponentNames.length === 0) return {
33712
+ widgets: []
33713
+ };
33714
+ if (!Array.isArray(allRows)) return {
33715
+ widgets: []
33716
+ };
33717
+
33718
+ // Build a quick lookup from componentName → row. We match by the
33719
+ // last dotted segment of widgetId.
33720
+ var rowByBareName = new Map();
33721
+ var _iterator3 = _createForOfIteratorHelper$h(allRows),
33722
+ _step3;
33723
+ try {
33724
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
33725
+ var r = _step3.value;
33726
+ var bareName = _bareNameFromWidgetId(r.widgetId);
33727
+ if (bareName) rowByBareName.set(bareName, r);
33728
+ }
33729
+ } catch (err) {
33730
+ _iterator3.e(err);
33731
+ } finally {
33732
+ _iterator3.f();
33733
+ }
33734
+ var widgets = [];
33735
+ var seenWidgetIds = new Set();
33736
+ var _iterator4 = _createForOfIteratorHelper$h(widgetComponentNames),
33737
+ _step4;
33738
+ try {
33739
+ for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
33740
+ var _row$granted, _row$declared$domains, _row$granted2, _row$declared$domains2, _row$granted3;
33741
+ var componentName = _step4.value;
33742
+ var row = rowByBareName.get(componentName);
33743
+ if (!row) continue;
33744
+ if (seenWidgetIds.has(row.widgetId)) continue;
33745
+ if (!row.declared) continue; // No manifest → falls through to runtime JIT
33746
+
33747
+ var missing = {
33748
+ servers: _diffServers(row.declared.servers, (_row$granted = row.granted) === null || _row$granted === void 0 ? void 0 : _row$granted.servers),
33749
+ domains: {}
33750
+ };
33751
+ 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);
33752
+ if (fsDiff) missing.domains.fs = fsDiff;
33753
+ 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);
33754
+ if (netDiff) missing.domains.network = netDiff;
33755
+ if (!_hasAnyMissing(missing)) continue;
33756
+ var packageId = _packageIdFromWidgetId(row.widgetId, registry);
33757
+ if (!packageId) continue; // Can't render meaningfully without package context
33758
+
33759
+ widgets.push({
33760
+ widgetId: row.widgetId,
33761
+ packageId: packageId,
33762
+ displayName: componentName,
33763
+ missing: missing
33764
+ });
33765
+ seenWidgetIds.add(row.widgetId);
33766
+ }
33767
+ } catch (err) {
33768
+ _iterator4.e(err);
33769
+ } finally {
33770
+ _iterator4.f();
33771
+ }
33772
+ return {
33773
+ widgets: widgets
33774
+ };
33775
+ }
33776
+
33341
33777
  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; }
33342
33778
  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; }
33343
33779
  var COLOR_PROPERTIES$1 = new Set(["backgroundColor", "textColor", "borderColor", "hoverBackgroundColor", "hoverTextColor", "hoverBorderColor", "focusRingColor", "focusBorderColor", "activeBackgroundColor", "activeTextColor", "placeholderTextColor"]);
@@ -61500,5 +61936,5 @@ function MarkdownFormEditor(_ref8) {
61500
61936
 
61501
61937
  ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
61502
61938
 
61503
- export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, WorkspaceScopeContext, addChildToLayoutItem, addItemToItemLayout, bareComponentName, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, makeScopedComponentId, mcpJsonToFormState, moveWidgetAcrossContainers, numChildrenForLayout, parse, parseScopedComponentId, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetRegistryVersion, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
61939
+ export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, WorkspaceScopeContext, addChildToLayoutItem, addItemToItemLayout, bareComponentName, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, computeDashboardPreflight, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, humanizeAction, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, makeScopedComponentId, mcpJsonToFormState, moveWidgetAcrossContainers, numChildrenForLayout, parse, parseScopedComponentId, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetRegistryVersion, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
61504
61940
  //# sourceMappingURL=index.esm.js.map