@trops/dash-core 0.1.187 → 0.1.188

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
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import * as DashReact from '@trops/dash-react';
3
- import { isObject, ThemeContext, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, FontAwesomeIcon, Tag, Sidebar, Paragraph, Modal, Panel, Stepper, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorInline, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, DropdownPanel, MenuItem2, ButtonIcon2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, Button2, Button3, MenuItem, Tag2, Tag3, ButtonIcon3, DashPanel, colorNames, shades, themeVariants, Tabs3, DataList, Checkbox, StatCard, Card, Tabs, Accordion, Alert, Toast, ProgressBar, Toggle, Breadcrumbs, Card2, Tabs2, Accordion2, Alert2, Toast2, ProgressBar2, Toggle2, Breadcrumbs2, Card3, Accordion3, Alert3, Toast3, ProgressBar3, Toggle3, Breadcrumbs3, ThemeFromUrlPane, TextArea, Icon2, AlgoliaSearchBox, CommandPalette, EmptyState, Navbar, withRouter, Menu as Menu$1 } from '@trops/dash-react';
3
+ import { isObject, ThemeContext, deepCopy, MainSection, getUUID, getStylesForItem, themeObjects, Heading, SearchInput, ButtonIcon, SubHeading3, InputText, Button, FontAwesomeIcon, Tag, Sidebar, Paragraph, Modal, Panel, Stepper, SelectableCard, Heading3, MenuItem3, FormLabel, SelectMenu, Switch, SelectInput, CodeEditorInline, SettingsModal, SubHeading2, tailwindHeightFractions, Menu3, Panel3, DropdownPanel, MenuItem2, ButtonIcon2, DragComponent, ConfirmationModal, DropComponent, getStyleName, capitalizeFirstLetter, colorTypes, getCSSStyleForClassname, Panel2, Heading2, SubHeading, Paragraph2, Paragraph3, Button2, Button3, MenuItem, Tag2, Tag3, ButtonIcon3, DashPanel, colorNames, shades, themeVariants, Tabs3, DataList, Checkbox, StatCard, Card, Tabs, Accordion, Alert, Toast, ProgressBar, Toggle, Breadcrumbs, Card2, Tabs2, Accordion2, Alert2, Toast2, ProgressBar2, Toggle2, Breadcrumbs2, Card3, Accordion3, Alert3, Toast3, ProgressBar3, Toggle3, Breadcrumbs3, ThemeFromUrlPane, TextArea, Icon2, AlgoliaSearchBox, CommandPalette, EmptyState, Navbar, withRouter, Menu as Menu$1 } from '@trops/dash-react';
4
4
  export * from '@trops/dash-react';
5
5
  export { ThemeContext } from '@trops/dash-react';
6
6
  import _typeof from '@babel/runtime/helpers/typeof';
@@ -17,6 +17,7 @@ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
17
17
  import _regeneratorRuntime from '@babel/runtime/regenerator';
18
18
  import { Menu, Transition, Popover, Dialog, Disclosure } from '@headlessui/react';
19
19
  import { EllipsisVerticalIcon } from '@heroicons/react/20/solid';
20
+ import { findIconDefinition } from '@fortawesome/fontawesome-svg-core';
20
21
  import clsx from 'clsx';
21
22
  import { DndProvider, useDrag, useDrop } from 'react-dnd';
22
23
  import { HTML5Backend } from 'react-dnd-html5-backend';
@@ -26,7 +27,6 @@ import _inherits from '@babel/runtime/helpers/inherits';
26
27
  import colors from 'tailwindcss/colors';
27
28
  import * as ReactDOM from 'react-dom';
28
29
  import { createPortal } from 'react-dom';
29
- import { findIconDefinition } from '@fortawesome/fontawesome-svg-core';
30
30
  import algoliasearch from 'algoliasearch';
31
31
  import { InstantSearch, Hits } from 'react-instantsearch-hooks-web';
32
32
  import { Link } from 'react-router-dom';
@@ -5204,6 +5204,192 @@ var LayoutQuickAddMenu = function LayoutQuickAddMenu(_ref) {
5204
5204
  });
5205
5205
  };
5206
5206
 
5207
+ var CATEGORIES = [{
5208
+ key: "reporting",
5209
+ label: "Reporting",
5210
+ icon: "chart-bar",
5211
+ description: "Dashboards for data visualization and reports"
5212
+ }, {
5213
+ key: "monitoring",
5214
+ label: "Monitoring",
5215
+ icon: "heart-pulse",
5216
+ description: "System health, uptime, and performance monitoring"
5217
+ }, {
5218
+ key: "productivity",
5219
+ label: "Productivity",
5220
+ icon: "list-check",
5221
+ description: "Task tracking, calendars, and workflow management"
5222
+ }, {
5223
+ key: "development",
5224
+ label: "Development",
5225
+ icon: "code",
5226
+ description: "Code repos, CI/CD, and developer tools"
5227
+ }, {
5228
+ key: "communication",
5229
+ label: "Communication",
5230
+ icon: "comments",
5231
+ description: "Messages, channels, and team communication"
5232
+ }, {
5233
+ key: "custom",
5234
+ label: "Custom",
5235
+ icon: "grid-2",
5236
+ description: "Build a fully custom dashboard"
5237
+ }];
5238
+
5239
+ /**
5240
+ * WizardIntentStep
5241
+ *
5242
+ * Step 0 of the Dashboard Wizard. Presents category cards so the user
5243
+ * can indicate what kind of dashboard they want to build.
5244
+ * Multi-select — user can pick multiple categories.
5245
+ *
5246
+ * @param {Object} props
5247
+ * @param {Object} props.state - Wizard state from useWizardState
5248
+ * @param {Function} props.dispatch - Wizard dispatch from useWizardState
5249
+ */
5250
+ var WizardIntentStep = function WizardIntentStep(_ref) {
5251
+ var state = _ref.state,
5252
+ dispatch = _ref.dispatch;
5253
+ var handleToggle = function handleToggle(key) {
5254
+ dispatch({
5255
+ type: "TOGGLE_INTENT",
5256
+ payload: key
5257
+ });
5258
+ };
5259
+ return /*#__PURE__*/jsxs("div", {
5260
+ className: "wizard-intent-step",
5261
+ children: [/*#__PURE__*/jsx("h3", {
5262
+ className: "wizard-step-header",
5263
+ children: "What is this dashboard for?"
5264
+ }), /*#__PURE__*/jsx("div", {
5265
+ className: "wizard-card-grid",
5266
+ children: CATEGORIES.map(function (cat) {
5267
+ return /*#__PURE__*/jsx(SelectableCard, {
5268
+ icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
5269
+ icon: cat.icon,
5270
+ fixedWidth: true
5271
+ }),
5272
+ label: cat.label,
5273
+ description: cat.description,
5274
+ selected: state.intent.includes(cat.key),
5275
+ onSelect: function onSelect() {
5276
+ return handleToggle(cat.key);
5277
+ }
5278
+ }, cat.key);
5279
+ })
5280
+ })]
5281
+ });
5282
+ };
5283
+
5284
+ var FALLBACK = "puzzle-piece";
5285
+
5286
+ /**
5287
+ * Resolve an icon name to a valid FontAwesome icon reference.
5288
+ * Tries solid (fas) first, then brand (fab). Returns "puzzle-piece" if
5289
+ * the icon is falsy or not found in either prefix.
5290
+ */
5291
+ var resolveIcon = function resolveIcon(iconName) {
5292
+ if (!iconName) return FALLBACK;
5293
+
5294
+ // Already an array tuple like ["fab", "github"] — pass through
5295
+ if (Array.isArray(iconName)) return iconName;
5296
+
5297
+ // Try solid
5298
+ if (findIconDefinition({
5299
+ prefix: "fas",
5300
+ iconName: iconName
5301
+ })) return iconName;
5302
+
5303
+ // Try brand
5304
+ if (findIconDefinition({
5305
+ prefix: "fab",
5306
+ iconName: iconName
5307
+ })) return ["fab", iconName];
5308
+ return FALLBACK;
5309
+ };
5310
+
5311
+ var WizardProvidersStep = function WizardProvidersStep(_ref) {
5312
+ var state = _ref.state,
5313
+ dispatch = _ref.dispatch;
5314
+ var _useContext = useContext(AppContext),
5315
+ providersMap = _useContext.providers;
5316
+ var providerList = useMemo(function () {
5317
+ if (!providersMap || _typeof(providersMap) !== "object") return [];
5318
+ return Object.values(providersMap).map(function (p) {
5319
+ return {
5320
+ key: p.type || p.name,
5321
+ name: p.name,
5322
+ type: p.type,
5323
+ icon: p.icon || p.type,
5324
+ configured: !!(p.credentials && Object.keys(p.credentials).length > 0)
5325
+ };
5326
+ });
5327
+ }, [providersMap]);
5328
+
5329
+ // Pre-check configured providers on first render
5330
+ React__default.useEffect(function () {
5331
+ if (state.providers.length === 0 && providerList.length > 0) {
5332
+ var configuredKeys = providerList.filter(function (p) {
5333
+ return p.configured;
5334
+ }).map(function (p) {
5335
+ return p.key;
5336
+ });
5337
+ if (configuredKeys.length > 0) {
5338
+ dispatch({
5339
+ type: "SET_PROVIDERS",
5340
+ payload: configuredKeys
5341
+ });
5342
+ }
5343
+ }
5344
+ }, [providerList, state.providers.length, dispatch]);
5345
+ var handleToggle = function handleToggle(key) {
5346
+ dispatch({
5347
+ type: "TOGGLE_PROVIDER",
5348
+ payload: key
5349
+ });
5350
+ };
5351
+ if (providerList.length === 0) {
5352
+ return /*#__PURE__*/jsxs("div", {
5353
+ className: "wizard-providers-step",
5354
+ children: [/*#__PURE__*/jsx("h3", {
5355
+ className: "wizard-step-header",
5356
+ children: "Which tools and services do you use?"
5357
+ }), /*#__PURE__*/jsx("p", {
5358
+ className: "wizard-empty-message",
5359
+ children: "No providers configured yet. Add providers in Settings first."
5360
+ })]
5361
+ });
5362
+ }
5363
+ return /*#__PURE__*/jsxs("div", {
5364
+ className: "wizard-providers-step",
5365
+ children: [/*#__PURE__*/jsx("h3", {
5366
+ className: "wizard-step-header",
5367
+ children: "Which tools and services do you use?"
5368
+ }), /*#__PURE__*/jsx("div", {
5369
+ className: "wizard-card-grid",
5370
+ children: providerList.map(function (provider) {
5371
+ var isSelected = state.providers.includes(provider.key);
5372
+ var needsSetup = isSelected && !provider.configured;
5373
+ return /*#__PURE__*/jsx(SelectableCard, {
5374
+ icon: /*#__PURE__*/jsx(FontAwesomeIcon, {
5375
+ icon: resolveIcon(provider.icon),
5376
+ fixedWidth: true
5377
+ }),
5378
+ label: provider.name,
5379
+ description: needsSetup ? /*#__PURE__*/jsx("span", {
5380
+ className: "wizard-needs-setup-badge",
5381
+ children: "Needs setup"
5382
+ }) : null,
5383
+ selected: isSelected,
5384
+ onSelect: function onSelect() {
5385
+ return handleToggle(provider.key);
5386
+ }
5387
+ }, provider.key);
5388
+ })
5389
+ })]
5390
+ });
5391
+ };
5392
+
5207
5393
  var LayoutBuilderAddItemModal = function LayoutBuilderAddItemModal(_ref) {
5208
5394
  var workspace = _ref.workspace,
5209
5395
  open = _ref.open,
@@ -30635,33 +30821,6 @@ function loadWidgetBundle(source, widgetName) {
30635
30821
  };
30636
30822
  }
30637
30823
 
30638
- var FALLBACK = "puzzle-piece";
30639
-
30640
- /**
30641
- * Resolve an icon name to a valid FontAwesome icon reference.
30642
- * Tries solid (fas) first, then brand (fab). Returns "puzzle-piece" if
30643
- * the icon is falsy or not found in either prefix.
30644
- */
30645
- var resolveIcon = function resolveIcon(iconName) {
30646
- if (!iconName) return FALLBACK;
30647
-
30648
- // Already an array tuple like ["fab", "github"] — pass through
30649
- if (Array.isArray(iconName)) return iconName;
30650
-
30651
- // Try solid
30652
- if (findIconDefinition({
30653
- prefix: "fas",
30654
- iconName: iconName
30655
- })) return iconName;
30656
-
30657
- // Try brand
30658
- if (findIconDefinition({
30659
- prefix: "fab",
30660
- iconName: iconName
30661
- })) return ["fab", iconName];
30662
- return FALLBACK;
30663
- };
30664
-
30665
30824
  function _createForOfIteratorHelper$5(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$5(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; } } }; }
30666
30825
  function _unsupportedIterableToArray$5(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$5(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$5(r, a) : void 0; } }
30667
30826
  function _arrayLikeToArray$5(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; }
@@ -48311,5 +48470,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
48311
48470
 
48312
48471
  ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
48313
48472
 
48314
- 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_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, 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, getUserConfigurableProviders, 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, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
48473
+ 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_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, 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, WizardIntentStep, WizardProvidersStep, 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, getUserConfigurableProviders, 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, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
48315
48474
  //# sourceMappingURL=index.esm.js.map