@trops/dash-core 0.1.115 → 0.1.116

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
@@ -30,8 +30,8 @@ import algoliasearch from 'algoliasearch';
30
30
  import { InstantSearch, Hits } from 'react-instantsearch-hooks-web';
31
31
  import { Link } from 'react-router-dom';
32
32
 
33
- function ownKeys$A(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
- function _objectSpread$A(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$A(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
+ function ownKeys$B(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
+ function _objectSpread$B(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$B(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$B(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
35
35
  var event = {
36
36
  list: new Map(),
37
37
  // Map(1) { '<widget-UUID>' => { 'CustomSearchbar[10].searchQueryChanged': [] } }
@@ -93,7 +93,7 @@ var event = {
93
93
  uuid: subscriber["uuid"]
94
94
  };
95
95
  if ("action" in subscriber && subscriber.action !== undefined) {
96
- subscriber["action"](_objectSpread$A({}, objectToSend));
96
+ subscriber["action"](_objectSpread$B({}, objectToSend));
97
97
  }
98
98
  });
99
99
  }
@@ -2533,8 +2533,8 @@ var DashboardWrapper = function DashboardWrapper(_ref) {
2533
2533
  });
2534
2534
  };
2535
2535
 
2536
- function ownKeys$z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2537
- function _objectSpread$z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2536
+ function ownKeys$A(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2537
+ function _objectSpread$A(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$A(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2538
2538
  var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
2539
2539
  var themeKey = _ref.themeKey,
2540
2540
  children = _ref.children;
@@ -2546,7 +2546,7 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
2546
2546
  var dashboardTheme = themes[themeKey];
2547
2547
  var themeValue = dashboardTheme ? dashboardTheme[themeVariant] || null : null;
2548
2548
  if (!themeValue) return null;
2549
- return _objectSpread$z(_objectSpread$z({}, parentContext), {}, {
2549
+ return _objectSpread$A(_objectSpread$A({}, parentContext), {}, {
2550
2550
  currentTheme: themeValue,
2551
2551
  currentThemeKey: themeKey,
2552
2552
  theme: themeValue,
@@ -2564,8 +2564,8 @@ var DashboardThemeProvider = function DashboardThemeProvider(_ref) {
2564
2564
  });
2565
2565
  };
2566
2566
 
2567
- 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; }
2568
- 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; }
2567
+ function ownKeys$z(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2568
+ function _objectSpread$z(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$z(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2569
2569
  var AppThemeScope = function AppThemeScope(_ref) {
2570
2570
  var children = _ref.children;
2571
2571
  var ctx = useContext(ThemeContext);
@@ -2573,7 +2573,7 @@ var AppThemeScope = function AppThemeScope(_ref) {
2573
2573
  children: children
2574
2574
  });
2575
2575
  return /*#__PURE__*/jsx(ThemeContext.Provider, {
2576
- value: _objectSpread$y(_objectSpread$y({}, ctx), {}, {
2576
+ value: _objectSpread$z(_objectSpread$z({}, ctx), {}, {
2577
2577
  currentTheme: ctx.appTheme,
2578
2578
  currentThemeKey: ctx.appThemeKey,
2579
2579
  theme: ctx.appTheme,
@@ -2685,8 +2685,8 @@ var LayoutContainer = function LayoutContainer(_ref) {
2685
2685
  });
2686
2686
  };
2687
2687
 
2688
- function ownKeys$x(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2689
- function _objectSpread$x(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$x(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2688
+ 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; }
2689
+ 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; }
2690
2690
  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; } } }; }
2691
2691
  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; } }
2692
2692
  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; }
@@ -2930,7 +2930,7 @@ function createLayoutFromTemplate(template) {
2930
2930
  try {
2931
2931
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
2932
2932
  var cell = _step.value;
2933
- grid[cell.key] = _objectSpread$x({
2933
+ grid[cell.key] = _objectSpread$y({
2934
2934
  component: null,
2935
2935
  hide: cell.hide || false
2936
2936
  }, cell.span ? {
@@ -8324,8 +8324,8 @@ var deepEqual = function deepEqual(a, b, opts) {
8324
8324
 
8325
8325
  var deepEqual$1 = /*@__PURE__*/getDefaultExportFromCjs(deepEqual);
8326
8326
 
8327
- 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; }
8328
- 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; }
8327
+ function ownKeys$x(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8328
+ function _objectSpread$x(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$x(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8329
8329
  var PanelEditItem = function PanelEditItem(_ref) {
8330
8330
  var _ComponentManager$get;
8331
8331
  var workspace = _ref.workspace,
@@ -8351,35 +8351,6 @@ var PanelEditItem = function PanelEditItem(_ref) {
8351
8351
  var widgetConfig = itemSelected ? ComponentManager.config(itemSelected.component, itemSelected) : null;
8352
8352
  var providerRequirements = (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.providers) || [];
8353
8353
  var selectedProviders = (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.selectedProviders) || {};
8354
- var notificationDefs = (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.notifications) || [];
8355
-
8356
- // Notification preferences for this widget instance
8357
- var _useState7 = useState({}),
8358
- _useState8 = _slicedToArray(_useState7, 2),
8359
- notifPrefs = _useState8[0],
8360
- setNotifPrefs = _useState8[1];
8361
- var widgetUuid = (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.uuid) || (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.uuidString);
8362
- useEffect(function () {
8363
- var _window$mainApi;
8364
- if (notificationDefs.length > 0 && widgetUuid && (_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.notifications) !== null && _window$mainApi !== void 0 && _window$mainApi.getPreferences) {
8365
- window.mainApi.notifications.getPreferences().then(function (result) {
8366
- var _result$instances;
8367
- setNotifPrefs(((_result$instances = result.instances) === null || _result$instances === void 0 ? void 0 : _result$instances[widgetUuid]) || {});
8368
- });
8369
- }
8370
- }, [widgetUuid, notificationDefs.length]);
8371
- function handleNotifToggle(typeKey, value) {
8372
- var _window$mainApi2;
8373
- var updated = _objectSpread$w(_objectSpread$w({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
8374
- setNotifPrefs(updated);
8375
- if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
8376
- window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
8377
- }
8378
- }
8379
- function getNotifEnabled(typeKey, defaultEnabled) {
8380
- if (typeof notifPrefs[typeKey] === "boolean") return notifPrefs[typeKey];
8381
- return defaultEnabled;
8382
- }
8383
8354
  useEffect(function () {
8384
8355
  if (deepEqual$1(item, itemSelected) === false) {
8385
8356
  setItemSelected(function () {
@@ -8414,7 +8385,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
8414
8385
  var uuid = newItem.uuid || newItem.uuidString;
8415
8386
  if (uuid) {
8416
8387
  workspaceTemp.selectedProviders = workspaceTemp.selectedProviders || {};
8417
- workspaceTemp.selectedProviders[uuid] = _objectSpread$w(_objectSpread$w({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
8388
+ workspaceTemp.selectedProviders[uuid] = _objectSpread$x(_objectSpread$x({}, workspaceTemp.selectedProviders[uuid] || {}), {}, _defineProperty({}, providerType, providerId));
8418
8389
  }
8419
8390
  onUpdate(newItem, workspaceTemp);
8420
8391
  forceUpdate();
@@ -8543,7 +8514,7 @@ var PanelEditItem = function PanelEditItem(_ref) {
8543
8514
  var _ref5 = _slicedToArray(_ref4, 2),
8544
8515
  name = _ref5[0],
8545
8516
  p = _ref5[1];
8546
- return _objectSpread$w({
8517
+ return _objectSpread$x({
8547
8518
  name: name
8548
8519
  }, p);
8549
8520
  });
@@ -8580,31 +8551,6 @@ var PanelEditItem = function PanelEditItem(_ref) {
8580
8551
  })]
8581
8552
  }, providerType);
8582
8553
  })]
8583
- }), notificationDefs.length > 0 && /*#__PURE__*/jsxs("div", {
8584
- className: "flex flex-col space-y-3",
8585
- children: [/*#__PURE__*/jsx(SubHeading3, {
8586
- title: "Notifications",
8587
- padding: false
8588
- }), notificationDefs.map(function (notif) {
8589
- return /*#__PURE__*/jsxs("div", {
8590
- className: "flex flex-row items-center justify-between py-1",
8591
- children: [/*#__PURE__*/jsxs("div", {
8592
- className: "flex flex-col",
8593
- children: [/*#__PURE__*/jsx("span", {
8594
- className: "text-sm",
8595
- children: notif.displayName
8596
- }), notif.description && /*#__PURE__*/jsx("span", {
8597
- className: "text-xs opacity-50",
8598
- children: notif.description
8599
- })]
8600
- }), /*#__PURE__*/jsx(Switch, {
8601
- checked: getNotifEnabled(notif.key, notif.defaultEnabled),
8602
- onChange: function onChange(value) {
8603
- return handleNotifToggle(notif.key, value);
8604
- }
8605
- })]
8606
- }, notif.key);
8607
- })]
8608
8554
  })]
8609
8555
  });
8610
8556
  };
@@ -8613,8 +8559,8 @@ var _excluded$5 = ["rows", "cols"];
8613
8559
  function _createForOfIteratorHelper$9(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$9(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; } } }; }
8614
8560
  function _unsupportedIterableToArray$9(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$9(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$9(r, a) : void 0; } }
8615
8561
  function _arrayLikeToArray$9(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; }
8616
- function ownKeys$v(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8617
- function _objectSpread$v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$v(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8562
+ 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; }
8563
+ 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; }
8618
8564
  var defaultGrid = {
8619
8565
  rows: 1,
8620
8566
  cols: 1,
@@ -8635,7 +8581,7 @@ function GridEditor(_ref) {
8635
8581
  setGrid = _useState2[1];
8636
8582
  var addRow = function addRow() {
8637
8583
  var newRow = grid.rows;
8638
- var newGrid = _objectSpread$v(_objectSpread$v({}, grid), {}, {
8584
+ var newGrid = _objectSpread$w(_objectSpread$w({}, grid), {}, {
8639
8585
  rows: grid.rows + 1
8640
8586
  });
8641
8587
  for (var col = 0; col < grid.cols; col++) {
@@ -8650,7 +8596,7 @@ function GridEditor(_ref) {
8650
8596
  };
8651
8597
  var addColumn = function addColumn() {
8652
8598
  var newCol = grid.cols;
8653
- var newGrid = _objectSpread$v(_objectSpread$v({}, grid), {}, {
8599
+ var newGrid = _objectSpread$w(_objectSpread$w({}, grid), {}, {
8654
8600
  cols: grid.cols + 1
8655
8601
  });
8656
8602
  for (var row = 0; row < grid.rows; row++) {
@@ -8683,8 +8629,8 @@ function GridEditor(_ref) {
8683
8629
  });
8684
8630
  }
8685
8631
  if (grid[nextKey]) {
8686
- var newGrid = _objectSpread$v({}, grid);
8687
- newGrid[currentKey] = _objectSpread$v(_objectSpread$v({}, newGrid[currentKey]), {}, {
8632
+ var newGrid = _objectSpread$w({}, grid);
8633
+ newGrid[currentKey] = _objectSpread$w(_objectSpread$w({}, newGrid[currentKey]), {}, {
8688
8634
  colSpan: newGrid[currentKey].colSpan + 1
8689
8635
  });
8690
8636
  delete newGrid[nextKey];
@@ -8697,8 +8643,8 @@ function GridEditor(_ref) {
8697
8643
  var currentKey = "".concat(row, ".").concat(col);
8698
8644
  var belowKey = "".concat(row + 1, ".").concat(col);
8699
8645
  if (grid[belowKey]) {
8700
- var newGrid = _objectSpread$v({}, grid);
8701
- newGrid[currentKey] = _objectSpread$v(_objectSpread$v({}, newGrid[currentKey]), {}, {
8646
+ var newGrid = _objectSpread$w({}, grid);
8647
+ newGrid[currentKey] = _objectSpread$w(_objectSpread$w({}, newGrid[currentKey]), {}, {
8702
8648
  rowSpan: newGrid[currentKey].rowSpan + 1
8703
8649
  });
8704
8650
  delete newGrid[belowKey];
@@ -8715,7 +8661,7 @@ function GridEditor(_ref) {
8715
8661
  var splitCell = function splitCell(row, col) {
8716
8662
  var key = "".concat(row, ".").concat(col);
8717
8663
  var cell = grid[key];
8718
- var newGrid = _objectSpread$v({}, grid);
8664
+ var newGrid = _objectSpread$w({}, grid);
8719
8665
 
8720
8666
  // we have to check the colspan, and since the colspan is greater than 1
8721
8667
  // Only handle horizontal split if colSpan > 1
@@ -8731,13 +8677,13 @@ function GridEditor(_ref) {
8731
8677
  var oldKey = "".concat(row, ".").concat(c);
8732
8678
  var newKey = "".concat(row, ".").concat(c + 1);
8733
8679
  if (newGrid[oldKey]) {
8734
- newGrid[newKey] = _objectSpread$v({}, newGrid[oldKey]);
8680
+ newGrid[newKey] = _objectSpread$w({}, newGrid[oldKey]);
8735
8681
  delete newGrid[oldKey];
8736
8682
  }
8737
8683
  }
8738
8684
 
8739
8685
  // Update the original cell's colSpan
8740
- newGrid[key] = _objectSpread$v(_objectSpread$v({}, cell), {}, {
8686
+ newGrid[key] = _objectSpread$w(_objectSpread$w({}, cell), {}, {
8741
8687
  colSpan: cell.colSpan - 1
8742
8688
  });
8743
8689
 
@@ -8749,7 +8695,7 @@ function GridEditor(_ref) {
8749
8695
  };
8750
8696
  }
8751
8697
  if (cell.rowSpan > 1) {
8752
- newGrid[key] = _objectSpread$v(_objectSpread$v({}, newGrid[key]), {}, {
8698
+ newGrid[key] = _objectSpread$w(_objectSpread$w({}, newGrid[key]), {}, {
8753
8699
  rowSpan: cell.rowSpan - 1
8754
8700
  });
8755
8701
  newGrid["".concat(row + 1, ".").concat(col)] = {
@@ -8868,7 +8814,7 @@ function GridEditor(_ref) {
8868
8814
  var fromKey = "".concat(from.row, ".").concat(from.col);
8869
8815
  var toKey = "".concat(to.row, ".").concat(to.col);
8870
8816
  if (fromKey === toKey) return;
8871
- var newGrid = _objectSpread$v({}, grid);
8817
+ var newGrid = _objectSpread$w({}, grid);
8872
8818
 
8873
8819
  // Swap the cells
8874
8820
  var temp = newGrid[fromKey];
@@ -8894,7 +8840,7 @@ function GridEditor(_ref) {
8894
8840
  // console.log("Grid updated:", sequencedGrid);
8895
8841
  }
8896
8842
  function resetGridLayout() {
8897
- var newGrid = _objectSpread$v({}, defaultGrid);
8843
+ var newGrid = _objectSpread$w({}, defaultGrid);
8898
8844
  setGrid(newGrid);
8899
8845
  onUpdate(newGrid);
8900
8846
  }
@@ -9172,6 +9118,72 @@ var PanelEditItemGrid = function PanelEditItemGrid(_ref) {
9172
9118
  });
9173
9119
  };
9174
9120
 
9121
+ function ownKeys$v(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9122
+ function _objectSpread$v(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$v(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9123
+ var PanelEditItemNotifications = function PanelEditItemNotifications(_ref) {
9124
+ var item = _ref.item;
9125
+ _ref.workspace;
9126
+ _ref.onUpdate;
9127
+ var widgetConfig = item ? ComponentManager.config(item.component, item) : null;
9128
+ var notificationDefs = (widgetConfig === null || widgetConfig === void 0 ? void 0 : widgetConfig.notifications) || [];
9129
+ var _useState = useState({}),
9130
+ _useState2 = _slicedToArray(_useState, 2),
9131
+ notifPrefs = _useState2[0],
9132
+ setNotifPrefs = _useState2[1];
9133
+ var widgetUuid = (item === null || item === void 0 ? void 0 : item.uuid) || (item === null || item === void 0 ? void 0 : item.uuidString);
9134
+ useEffect(function () {
9135
+ var _window$mainApi;
9136
+ if (notificationDefs.length > 0 && widgetUuid && (_window$mainApi = window.mainApi) !== null && _window$mainApi !== void 0 && (_window$mainApi = _window$mainApi.notifications) !== null && _window$mainApi !== void 0 && _window$mainApi.getPreferences) {
9137
+ window.mainApi.notifications.getPreferences().then(function (result) {
9138
+ var _result$instances;
9139
+ setNotifPrefs(((_result$instances = result.instances) === null || _result$instances === void 0 ? void 0 : _result$instances[widgetUuid]) || {});
9140
+ });
9141
+ }
9142
+ }, [widgetUuid, notificationDefs.length]);
9143
+ function handleNotifToggle(typeKey, value) {
9144
+ var _window$mainApi2;
9145
+ var updated = _objectSpread$v(_objectSpread$v({}, notifPrefs), {}, _defineProperty({}, typeKey, value));
9146
+ setNotifPrefs(updated);
9147
+ if ((_window$mainApi2 = window.mainApi) !== null && _window$mainApi2 !== void 0 && (_window$mainApi2 = _window$mainApi2.notifications) !== null && _window$mainApi2 !== void 0 && _window$mainApi2.setPreferences && widgetUuid) {
9148
+ window.mainApi.notifications.setPreferences(widgetUuid, _defineProperty({}, typeKey, value));
9149
+ }
9150
+ }
9151
+ function getNotifEnabled(typeKey, defaultEnabled) {
9152
+ if (typeof notifPrefs[typeKey] === "boolean") return notifPrefs[typeKey];
9153
+ return defaultEnabled;
9154
+ }
9155
+ if (!item || notificationDefs.length === 0) return null;
9156
+ return /*#__PURE__*/jsx("div", {
9157
+ className: "flex flex-col flex-1 min-h-0 overflow-y-auto p-6 space-y-6",
9158
+ children: /*#__PURE__*/jsxs("div", {
9159
+ className: "flex flex-col space-y-3",
9160
+ children: [/*#__PURE__*/jsx(SubHeading3, {
9161
+ title: "Notifications",
9162
+ padding: false
9163
+ }), notificationDefs.map(function (notif) {
9164
+ return /*#__PURE__*/jsxs("div", {
9165
+ className: "flex flex-row items-center justify-between py-1",
9166
+ children: [/*#__PURE__*/jsxs("div", {
9167
+ className: "flex flex-col",
9168
+ children: [/*#__PURE__*/jsx("span", {
9169
+ className: "text-sm",
9170
+ children: notif.displayName
9171
+ }), notif.description && /*#__PURE__*/jsx("span", {
9172
+ className: "text-xs opacity-50",
9173
+ children: notif.description
9174
+ })]
9175
+ }), /*#__PURE__*/jsx(Switch, {
9176
+ checked: getNotifEnabled(notif.key, notif.defaultEnabled),
9177
+ onChange: function onChange(value) {
9178
+ return handleNotifToggle(notif.key, value);
9179
+ }
9180
+ })]
9181
+ }, notif.key);
9182
+ })]
9183
+ })
9184
+ });
9185
+ };
9186
+
9175
9187
  var PanelCode = function PanelCode(_ref) {
9176
9188
  var workspace = _ref.workspace,
9177
9189
  onUpdate = _ref.onUpdate,
@@ -9505,6 +9517,9 @@ var PanelEditItemHandlers = function PanelEditItemHandlers(_ref) {
9505
9517
  };
9506
9518
 
9507
9519
  var getSections = function getSections(item) {
9520
+ var _widgetConfig$notific;
9521
+ var widgetConfig = item ? ComponentManager.config(item.component, item) : null;
9522
+ var hasNotifications = (widgetConfig === null || widgetConfig === void 0 || (_widgetConfig$notific = widgetConfig.notifications) === null || _widgetConfig$notific === void 0 ? void 0 : _widgetConfig$notific.length) > 0;
9508
9523
  return [{
9509
9524
  key: "edit",
9510
9525
  label: "Settings",
@@ -9513,6 +9528,10 @@ var getSections = function getSections(item) {
9513
9528
  key: "grid_layout",
9514
9529
  label: "Layout",
9515
9530
  icon: "square"
9531
+ }] : []), _toConsumableArray(hasNotifications ? [{
9532
+ key: "notifications",
9533
+ label: "Notifications",
9534
+ icon: "bell"
9516
9535
  }] : []), _toConsumableArray((item === null || item === void 0 ? void 0 : item.workspace) !== "layout" ? [{
9517
9536
  key: "handlers",
9518
9537
  label: "Listeners",
@@ -9627,6 +9646,10 @@ var LayoutBuilderConfigModal = function LayoutBuilderConfigModal(_ref) {
9627
9646
  item: itemSelected,
9628
9647
  onUpdate: handleEditChange,
9629
9648
  workspace: workspaceSelected
9649
+ }), activeSection === "notifications" && /*#__PURE__*/jsx(PanelEditItemNotifications, {
9650
+ item: itemSelected,
9651
+ onUpdate: handleEditChange,
9652
+ workspace: workspaceSelected
9630
9653
  }), activeSection === "handlers" && /*#__PURE__*/jsx(PanelEditItemHandlers, {
9631
9654
  item: itemSelected,
9632
9655
  onUpdate: handleEditChange,
@@ -42705,5 +42728,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
42705
42728
 
42706
42729
  ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
42707
42730
 
42708
- export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PanelCode, PanelEditItem, PanelEditItemHandlers, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeManagerModal, ThemeModel, ThemeWrapper, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpProvider, useNotifications, useProvider, useProviderClient, useWidgetEvents, useWidgetProviders, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
42731
+ export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeManagerModal, ThemeModel, ThemeWrapper, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpProvider, useNotifications, useProvider, useProviderClient, useWidgetEvents, useWidgetProviders, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
42709
42732
  //# sourceMappingURL=index.esm.js.map