@trops/dash-core 0.1.26 → 0.1.28
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 +298 -131
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +298 -131
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -26,7 +26,6 @@ import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
|
26
26
|
import _inherits from '@babel/runtime/helpers/inherits';
|
|
27
27
|
import colors from 'tailwindcss/colors';
|
|
28
28
|
import * as ReactDOM from 'react-dom';
|
|
29
|
-
import * as dashCore from '@trops/dash-core';
|
|
30
29
|
import { findIconDefinition } from '@fortawesome/fontawesome-svg-core';
|
|
31
30
|
import algoliasearch from 'algoliasearch';
|
|
32
31
|
import { InstantSearch, Hits } from 'react-instantsearch-hooks-web';
|
|
@@ -7162,39 +7161,45 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7162
7161
|
isCreatingProvider = _useState24[0],
|
|
7163
7162
|
setIsCreatingProvider = _useState24[1];
|
|
7164
7163
|
|
|
7165
|
-
//
|
|
7166
|
-
var _useState25 = useState(
|
|
7164
|
+
// Installed widget grouping
|
|
7165
|
+
var _useState25 = useState(new Set()),
|
|
7167
7166
|
_useState26 = _slicedToArray(_useState25, 2),
|
|
7168
|
-
|
|
7169
|
-
|
|
7170
|
-
|
|
7167
|
+
expandedGroups = _useState26[0],
|
|
7168
|
+
setExpandedGroups = _useState26[1];
|
|
7169
|
+
|
|
7170
|
+
// Registry state
|
|
7171
|
+
var _useState27 = useState(false),
|
|
7171
7172
|
_useState28 = _slicedToArray(_useState27, 2),
|
|
7172
|
-
|
|
7173
|
-
|
|
7174
|
-
var _useState29 = useState(
|
|
7173
|
+
isLoadingRegistry = _useState28[0],
|
|
7174
|
+
setIsLoadingRegistry = _useState28[1];
|
|
7175
|
+
var _useState29 = useState(null),
|
|
7175
7176
|
_useState30 = _slicedToArray(_useState29, 2),
|
|
7176
|
-
|
|
7177
|
-
|
|
7178
|
-
var _useState31 = useState(
|
|
7177
|
+
registryError = _useState30[0],
|
|
7178
|
+
setRegistryError = _useState30[1];
|
|
7179
|
+
var _useState31 = useState([]),
|
|
7179
7180
|
_useState32 = _slicedToArray(_useState31, 2),
|
|
7180
|
-
|
|
7181
|
-
|
|
7182
|
-
var _useState33 = useState(
|
|
7181
|
+
registryPackages = _useState32[0],
|
|
7182
|
+
setRegistryPackages = _useState32[1];
|
|
7183
|
+
var _useState33 = useState("packages"),
|
|
7183
7184
|
_useState34 = _slicedToArray(_useState33, 2),
|
|
7184
|
-
|
|
7185
|
-
|
|
7186
|
-
var _useState35 = useState(
|
|
7185
|
+
registryViewMode = _useState34[0],
|
|
7186
|
+
setRegistryViewMode = _useState34[1]; // "packages" | "widgets"
|
|
7187
|
+
var _useState35 = useState(new Set()),
|
|
7187
7188
|
_useState36 = _slicedToArray(_useState35, 2),
|
|
7188
|
-
|
|
7189
|
-
|
|
7190
|
-
var _useState37 = useState(
|
|
7189
|
+
expandedPackages = _useState36[0],
|
|
7190
|
+
setExpandedPackages = _useState36[1];
|
|
7191
|
+
var _useState37 = useState(null),
|
|
7191
7192
|
_useState38 = _slicedToArray(_useState37, 2),
|
|
7192
|
-
|
|
7193
|
-
|
|
7194
|
-
var _useState39 = useState(
|
|
7193
|
+
selectedPackage = _useState38[0],
|
|
7194
|
+
setSelectedPackage = _useState38[1];
|
|
7195
|
+
var _useState39 = useState(false),
|
|
7195
7196
|
_useState40 = _slicedToArray(_useState39, 2),
|
|
7196
|
-
|
|
7197
|
-
|
|
7197
|
+
isInstalling = _useState40[0],
|
|
7198
|
+
setIsInstalling = _useState40[1];
|
|
7199
|
+
var _useState41 = useState(null),
|
|
7200
|
+
_useState42 = _slicedToArray(_useState41, 2),
|
|
7201
|
+
installError = _useState42[0],
|
|
7202
|
+
setInstallError = _useState42[1];
|
|
7198
7203
|
|
|
7199
7204
|
// Phase 3: Recent Widgets - localStorage functions
|
|
7200
7205
|
var loadRecentWidgets = function loadRecentWidgets() {
|
|
@@ -7266,6 +7271,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7266
7271
|
setSearchQuery("");
|
|
7267
7272
|
setSelectedAuthor("all");
|
|
7268
7273
|
setSelectedProvider("all");
|
|
7274
|
+
setExpandedGroups(new Set()); // Start with all groups collapsed
|
|
7269
7275
|
}
|
|
7270
7276
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
7271
7277
|
}, [isOpen]);
|
|
@@ -7419,6 +7425,42 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7419
7425
|
};
|
|
7420
7426
|
var filteredWidgets = getFilteredWidgets();
|
|
7421
7427
|
|
|
7428
|
+
// Set of installed package names for "Installed" badge in Discover mode
|
|
7429
|
+
var installedPackageNames = useMemo(function () {
|
|
7430
|
+
var names = new Set();
|
|
7431
|
+
var map = ComponentManager.map();
|
|
7432
|
+
Object.values(map).forEach(function (widget) {
|
|
7433
|
+
if (widget._sourcePackage) names.add(widget._sourcePackage);
|
|
7434
|
+
});
|
|
7435
|
+
return names;
|
|
7436
|
+
}, [widgets]);
|
|
7437
|
+
|
|
7438
|
+
// Group installed widgets by package > author > "Other"
|
|
7439
|
+
var groupedInstalledWidgets = useMemo(function () {
|
|
7440
|
+
if (selectedSource !== "Installed") return {};
|
|
7441
|
+
var groups = {};
|
|
7442
|
+
filteredWidgets.forEach(function (widget) {
|
|
7443
|
+
var group = widget["package"] || widget.author || "Other";
|
|
7444
|
+
if (!groups[group]) groups[group] = [];
|
|
7445
|
+
groups[group].push(widget);
|
|
7446
|
+
});
|
|
7447
|
+
return groups;
|
|
7448
|
+
}, [filteredWidgets, selectedSource]);
|
|
7449
|
+
var installedGroupNames = useMemo(function () {
|
|
7450
|
+
return Object.keys(groupedInstalledWidgets).sort();
|
|
7451
|
+
}, [groupedInstalledWidgets]);
|
|
7452
|
+
var toggleGroup = function toggleGroup(groupName) {
|
|
7453
|
+
setExpandedGroups(function (prev) {
|
|
7454
|
+
var next = new Set(prev);
|
|
7455
|
+
if (next.has(groupName)) {
|
|
7456
|
+
next["delete"](groupName);
|
|
7457
|
+
} else {
|
|
7458
|
+
next.add(groupName);
|
|
7459
|
+
}
|
|
7460
|
+
return next;
|
|
7461
|
+
});
|
|
7462
|
+
};
|
|
7463
|
+
|
|
7422
7464
|
// Group filtered widgets by package (for package view in Discover)
|
|
7423
7465
|
var getGroupedByPackage = function getGroupedByPackage() {
|
|
7424
7466
|
var groups = {};
|
|
@@ -7619,8 +7661,10 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7619
7661
|
var isAddButtonEnabled = function isAddButtonEnabled() {
|
|
7620
7662
|
if (!selectedWidget) return false;
|
|
7621
7663
|
|
|
7622
|
-
// For registry widgets,
|
|
7623
|
-
if (selectedWidget.isRegistry)
|
|
7664
|
+
// For registry widgets, enabled unless already installed
|
|
7665
|
+
if (selectedWidget.isRegistry) {
|
|
7666
|
+
return !installedPackageNames.has(selectedWidget.packageName);
|
|
7667
|
+
}
|
|
7624
7668
|
|
|
7625
7669
|
// Check providers: all required providers must be selected
|
|
7626
7670
|
var hasRequiredProviders = selectedWidget.providers ? selectedWidget.providers.filter(function (p) {
|
|
@@ -7725,31 +7769,56 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7725
7769
|
children: /*#__PURE__*/jsx("div", {
|
|
7726
7770
|
className: "flex items-center justify-between w-full",
|
|
7727
7771
|
children: /*#__PURE__*/jsxs("div", {
|
|
7728
|
-
className: "flex items-center
|
|
7772
|
+
className: "flex items-center gap-2 flex-1 min-w-0",
|
|
7729
7773
|
children: [/*#__PURE__*/jsx("span", {
|
|
7730
7774
|
className: "text-xs text-gray-500",
|
|
7731
7775
|
children: expandedPackages.has(group.name) ? "\u25BC" : "\u25B6"
|
|
7732
7776
|
}), /*#__PURE__*/jsxs("div", {
|
|
7733
7777
|
className: "min-w-0 flex-1",
|
|
7734
7778
|
children: [/*#__PURE__*/jsx("div", {
|
|
7735
|
-
className: "text-
|
|
7779
|
+
className: "text-sm font-medium truncate",
|
|
7736
7780
|
children: group.displayName
|
|
7737
7781
|
}), /*#__PURE__*/jsxs("div", {
|
|
7738
7782
|
className: "text-xs text-gray-500",
|
|
7739
7783
|
children: [group.widgets.length, " widget", group.widgets.length !== 1 ? "s" : "", " \xB7 v", group.version]
|
|
7740
7784
|
})]
|
|
7785
|
+
}), installedPackageNames.has(group.name) && /*#__PURE__*/jsx("span", {
|
|
7786
|
+
className: "text-[10px] px-1.5 py-0.5 rounded bg-green-500/20 text-green-400 flex-shrink-0",
|
|
7787
|
+
children: "Installed"
|
|
7741
7788
|
})]
|
|
7742
7789
|
})
|
|
7743
7790
|
})
|
|
7744
7791
|
}), expandedPackages.has(group.name) && group.widgets.map(function (widget) {
|
|
7792
|
+
var _widget$providers;
|
|
7745
7793
|
return /*#__PURE__*/jsx(MenuItem3, {
|
|
7746
7794
|
onClick: function onClick() {
|
|
7747
7795
|
return handleWidgetSelect(widget);
|
|
7748
7796
|
},
|
|
7749
7797
|
selected: (selectedWidget === null || selectedWidget === void 0 ? void 0 : selectedWidget.key) === widget.key,
|
|
7750
|
-
children: /*#__PURE__*/
|
|
7751
|
-
className: "pl-6
|
|
7752
|
-
children:
|
|
7798
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
7799
|
+
className: "flex items-center gap-2 pl-6 w-full",
|
|
7800
|
+
children: [/*#__PURE__*/jsx(WidgetIcon, {
|
|
7801
|
+
icon: widget.icon,
|
|
7802
|
+
className: "h-4 w-4 opacity-60 flex-shrink-0",
|
|
7803
|
+
fallback: "puzzle-piece"
|
|
7804
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7805
|
+
className: "flex-1 min-w-0",
|
|
7806
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
7807
|
+
className: "text-sm font-medium truncate",
|
|
7808
|
+
children: widget.name
|
|
7809
|
+
}), widget.description && /*#__PURE__*/jsx("div", {
|
|
7810
|
+
className: "text-xs opacity-50 truncate",
|
|
7811
|
+
children: widget.description
|
|
7812
|
+
}), ((_widget$providers = widget.providers) === null || _widget$providers === void 0 ? void 0 : _widget$providers.length) > 0 && /*#__PURE__*/jsx("div", {
|
|
7813
|
+
className: "flex flex-wrap gap-1 mt-0.5",
|
|
7814
|
+
children: widget.providers.map(function (p) {
|
|
7815
|
+
return /*#__PURE__*/jsx("span", {
|
|
7816
|
+
className: "text-[10px] px-1.5 py-0.5 rounded bg-blue-500/20 text-blue-300",
|
|
7817
|
+
children: p.type
|
|
7818
|
+
}, p.type);
|
|
7819
|
+
})
|
|
7820
|
+
})]
|
|
7821
|
+
})]
|
|
7753
7822
|
})
|
|
7754
7823
|
}, widget.key);
|
|
7755
7824
|
})]
|
|
@@ -7764,19 +7833,44 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7764
7833
|
padding: true,
|
|
7765
7834
|
height: "h-full",
|
|
7766
7835
|
children: filteredWidgets.map(function (widget) {
|
|
7836
|
+
var _widget$providers2;
|
|
7767
7837
|
return /*#__PURE__*/jsx(MenuItem3, {
|
|
7768
7838
|
onClick: function onClick() {
|
|
7769
7839
|
return handleWidgetSelect(widget);
|
|
7770
7840
|
},
|
|
7771
7841
|
selected: (selectedWidget === null || selectedWidget === void 0 ? void 0 : selectedWidget.key) === widget.key,
|
|
7772
7842
|
children: /*#__PURE__*/jsxs("div", {
|
|
7773
|
-
className: "flex items-center
|
|
7774
|
-
children: [/*#__PURE__*/jsx(
|
|
7775
|
-
|
|
7776
|
-
|
|
7777
|
-
|
|
7778
|
-
|
|
7779
|
-
|
|
7843
|
+
className: "flex items-center gap-2 w-full",
|
|
7844
|
+
children: [/*#__PURE__*/jsx(WidgetIcon, {
|
|
7845
|
+
icon: widget.icon,
|
|
7846
|
+
className: "h-4 w-4 opacity-60 flex-shrink-0",
|
|
7847
|
+
fallback: "puzzle-piece"
|
|
7848
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7849
|
+
className: "flex-1 min-w-0",
|
|
7850
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
7851
|
+
className: "text-sm font-medium truncate",
|
|
7852
|
+
children: widget.name
|
|
7853
|
+
}), widget.description && /*#__PURE__*/jsx("div", {
|
|
7854
|
+
className: "text-xs opacity-50 truncate",
|
|
7855
|
+
children: widget.description
|
|
7856
|
+
}), ((_widget$providers2 = widget.providers) === null || _widget$providers2 === void 0 ? void 0 : _widget$providers2.length) > 0 && /*#__PURE__*/jsx("div", {
|
|
7857
|
+
className: "flex flex-wrap gap-1 mt-0.5",
|
|
7858
|
+
children: widget.providers.map(function (p) {
|
|
7859
|
+
return /*#__PURE__*/jsx("span", {
|
|
7860
|
+
className: "text-[10px] px-1.5 py-0.5 rounded bg-blue-500/20 text-blue-300",
|
|
7861
|
+
children: p.type
|
|
7862
|
+
}, p.type);
|
|
7863
|
+
})
|
|
7864
|
+
})]
|
|
7865
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
7866
|
+
className: "flex items-center gap-1.5 flex-shrink-0",
|
|
7867
|
+
children: [installedPackageNames.has(widget.packageName) && /*#__PURE__*/jsx("span", {
|
|
7868
|
+
className: "text-[10px] px-1.5 py-0.5 rounded bg-green-500/20 text-green-400",
|
|
7869
|
+
children: "Installed"
|
|
7870
|
+
}), /*#__PURE__*/jsx("span", {
|
|
7871
|
+
className: "text-xs text-gray-500",
|
|
7872
|
+
children: widget.packageDisplayName
|
|
7873
|
+
})]
|
|
7780
7874
|
})]
|
|
7781
7875
|
})
|
|
7782
7876
|
}, widget.key);
|
|
@@ -7808,6 +7902,9 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7808
7902
|
}), /*#__PURE__*/jsxs("span", {
|
|
7809
7903
|
className: "text-xs px-2 py-0.5 rounded ".concat(currentTheme["bg-primary-medium"], " text-gray-300"),
|
|
7810
7904
|
children: ["v", selectedWidget.packageVersion]
|
|
7905
|
+
}), installedPackageNames.has(selectedWidget.packageName) && /*#__PURE__*/jsx("span", {
|
|
7906
|
+
className: "text-xs px-2 py-0.5 rounded bg-green-500/20 text-green-400",
|
|
7907
|
+
children: "Installed"
|
|
7811
7908
|
})]
|
|
7812
7909
|
})]
|
|
7813
7910
|
}), /*#__PURE__*/jsx("hr", {
|
|
@@ -7901,70 +7998,78 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7901
7998
|
}), /*#__PURE__*/jsxs("div", {
|
|
7902
7999
|
className: "flex flex-col w-full lg:w-2/3 h-full overflow-hidden",
|
|
7903
8000
|
children: [/*#__PURE__*/jsxs("div", {
|
|
7904
|
-
className: "flex flex-
|
|
7905
|
-
children: [/*#__PURE__*/
|
|
7906
|
-
|
|
7907
|
-
|
|
7908
|
-
|
|
7909
|
-
|
|
7910
|
-
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
7917
|
-
|
|
7918
|
-
|
|
7919
|
-
|
|
7920
|
-
|
|
7921
|
-
|
|
7922
|
-
|
|
7923
|
-
|
|
7924
|
-
|
|
7925
|
-
|
|
7926
|
-
|
|
7927
|
-
|
|
7928
|
-
|
|
7929
|
-
|
|
7930
|
-
onChange: function onChange(e) {
|
|
7931
|
-
return setSelectedProvider(e.target.value);
|
|
7932
|
-
},
|
|
7933
|
-
className: "px-3 py-2 rounded text-sm ".concat(currentTheme["bg-primary-medium"], " ").concat(currentTheme["text-primary-light"], " ").concat(currentTheme["border-primary-medium"], " border focus:outline-none focus:ring-2 focus:ring-blue-500"),
|
|
7934
|
-
children: [/*#__PURE__*/jsx("option", {
|
|
7935
|
-
value: "all",
|
|
7936
|
-
children: "All Providers"
|
|
7937
|
-
}), getUniqueProviders().map(function (provider) {
|
|
7938
|
-
return /*#__PURE__*/jsx("option", {
|
|
7939
|
-
value: provider,
|
|
7940
|
-
children: provider === "none" ? "No Providers" : provider
|
|
7941
|
-
}, provider);
|
|
7942
|
-
})]
|
|
7943
|
-
}), selectedSource === "Discover" && /*#__PURE__*/jsxs("select", {
|
|
7944
|
-
value: registryViewMode,
|
|
7945
|
-
onChange: function onChange(e) {
|
|
7946
|
-
return setRegistryViewMode(e.target.value);
|
|
7947
|
-
},
|
|
7948
|
-
className: "px-3 py-2 rounded text-sm ".concat(currentTheme["bg-primary-medium"], " ").concat(currentTheme["text-primary-light"], " ").concat(currentTheme["border-primary-medium"], " border focus:outline-none focus:ring-2 focus:ring-blue-500"),
|
|
7949
|
-
children: [/*#__PURE__*/jsx("option", {
|
|
7950
|
-
value: "packages",
|
|
7951
|
-
children: "Packages"
|
|
7952
|
-
}), /*#__PURE__*/jsx("option", {
|
|
7953
|
-
value: "widgets",
|
|
7954
|
-
children: "Widgets"
|
|
8001
|
+
className: "flex flex-col gap-3 mb-4 px-2",
|
|
8002
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
8003
|
+
className: "flex flex-row items-center gap-3",
|
|
8004
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
8005
|
+
className: "flex bg-white/5 rounded-md p-0.5 flex-shrink-0",
|
|
8006
|
+
children: [/*#__PURE__*/jsx("button", {
|
|
8007
|
+
type: "button",
|
|
8008
|
+
onClick: function onClick() {
|
|
8009
|
+
return setSelectedSource("Installed");
|
|
8010
|
+
},
|
|
8011
|
+
className: "px-3 py-1.5 rounded text-sm transition-colors ".concat(selectedSource === "Installed" ? "bg-white/10 font-medium opacity-90" : "opacity-50 hover:opacity-70"),
|
|
8012
|
+
children: "Installed"
|
|
8013
|
+
}), /*#__PURE__*/jsx("button", {
|
|
8014
|
+
type: "button",
|
|
8015
|
+
onClick: function onClick() {
|
|
8016
|
+
return setSelectedSource("Discover");
|
|
8017
|
+
},
|
|
8018
|
+
className: "px-3 py-1.5 rounded text-sm transition-colors ".concat(selectedSource === "Discover" ? "bg-white/10 font-medium opacity-90" : "opacity-50 hover:opacity-70"),
|
|
8019
|
+
children: "Discover"
|
|
8020
|
+
})]
|
|
8021
|
+
}), /*#__PURE__*/jsx(SearchInput, {
|
|
8022
|
+
value: searchQuery,
|
|
8023
|
+
onChange: setSearchQuery,
|
|
8024
|
+
placeholder: selectedSource === "Discover" ? "Search packages and widgets..." : "Search widgets...",
|
|
8025
|
+
className: "flex-1",
|
|
8026
|
+
inputClassName: "py-1.5 text-sm"
|
|
7955
8027
|
})]
|
|
7956
|
-
}), /*#__PURE__*/jsxs("
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
|
|
7960
|
-
|
|
7961
|
-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
children: "
|
|
7965
|
-
|
|
7966
|
-
|
|
7967
|
-
|
|
8028
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
8029
|
+
className: "flex flex-row items-center gap-2",
|
|
8030
|
+
children: [/*#__PURE__*/jsxs("select", {
|
|
8031
|
+
value: selectedAuthor,
|
|
8032
|
+
onChange: function onChange(e) {
|
|
8033
|
+
return setSelectedAuthor(e.target.value);
|
|
8034
|
+
},
|
|
8035
|
+
className: "px-2 py-1 rounded text-xs bg-transparent border ".concat(currentTheme["border-primary-medium"] || "border-gray-700", " ").concat(currentTheme["text-primary-light"] || "text-gray-300", " focus:outline-none appearance-none cursor-pointer"),
|
|
8036
|
+
children: [/*#__PURE__*/jsx("option", {
|
|
8037
|
+
value: "all",
|
|
8038
|
+
children: "All Authors"
|
|
8039
|
+
}), getUniqueAuthors().map(function (author) {
|
|
8040
|
+
return /*#__PURE__*/jsx("option", {
|
|
8041
|
+
value: author,
|
|
8042
|
+
children: author
|
|
8043
|
+
}, author);
|
|
8044
|
+
})]
|
|
8045
|
+
}), selectedSource === "Installed" && /*#__PURE__*/jsxs("select", {
|
|
8046
|
+
value: selectedProvider,
|
|
8047
|
+
onChange: function onChange(e) {
|
|
8048
|
+
return setSelectedProvider(e.target.value);
|
|
8049
|
+
},
|
|
8050
|
+
className: "px-2 py-1 rounded text-xs bg-transparent border ".concat(currentTheme["border-primary-medium"] || "border-gray-700", " ").concat(currentTheme["text-primary-light"] || "text-gray-300", " focus:outline-none appearance-none cursor-pointer"),
|
|
8051
|
+
children: [/*#__PURE__*/jsx("option", {
|
|
8052
|
+
value: "all",
|
|
8053
|
+
children: "All Providers"
|
|
8054
|
+
}), getUniqueProviders().map(function (provider) {
|
|
8055
|
+
return /*#__PURE__*/jsx("option", {
|
|
8056
|
+
value: provider,
|
|
8057
|
+
children: provider === "none" ? "No Providers" : provider
|
|
8058
|
+
}, provider);
|
|
8059
|
+
})]
|
|
8060
|
+
}), selectedSource === "Discover" && /*#__PURE__*/jsxs("select", {
|
|
8061
|
+
value: registryViewMode,
|
|
8062
|
+
onChange: function onChange(e) {
|
|
8063
|
+
return setRegistryViewMode(e.target.value);
|
|
8064
|
+
},
|
|
8065
|
+
className: "px-2 py-1 rounded text-xs bg-transparent border ".concat(currentTheme["border-primary-medium"] || "border-gray-700", " ").concat(currentTheme["text-primary-light"] || "text-gray-300", " focus:outline-none appearance-none cursor-pointer"),
|
|
8066
|
+
children: [/*#__PURE__*/jsx("option", {
|
|
8067
|
+
value: "packages",
|
|
8068
|
+
children: "Packages"
|
|
8069
|
+
}), /*#__PURE__*/jsx("option", {
|
|
8070
|
+
value: "widgets",
|
|
8071
|
+
children: "Widgets"
|
|
8072
|
+
})]
|
|
7968
8073
|
})]
|
|
7969
8074
|
})]
|
|
7970
8075
|
}), /*#__PURE__*/jsxs("div", {
|
|
@@ -7995,7 +8100,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
7995
8100
|
className: "px-2 py-1 mb-2 border-b ".concat(currentTheme["border-primary-medium"]),
|
|
7996
8101
|
children: /*#__PURE__*/jsx(Paragraph, {
|
|
7997
8102
|
className: "text-xs font-semibold text-gray-400",
|
|
7998
|
-
children: "RECENT
|
|
8103
|
+
children: "RECENT"
|
|
7999
8104
|
})
|
|
8000
8105
|
}), recentWidgets.map(function (widget) {
|
|
8001
8106
|
return /*#__PURE__*/jsx(MenuItem3, {
|
|
@@ -8004,28 +8109,75 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
8004
8109
|
},
|
|
8005
8110
|
selected: (selectedWidget === null || selectedWidget === void 0 ? void 0 : selectedWidget.key) === widget.key,
|
|
8006
8111
|
children: /*#__PURE__*/jsxs("div", {
|
|
8007
|
-
className: "flex items-center
|
|
8008
|
-
children: [/*#__PURE__*/jsx(
|
|
8009
|
-
|
|
8010
|
-
|
|
8011
|
-
|
|
8012
|
-
|
|
8013
|
-
|
|
8112
|
+
className: "flex items-center gap-2 w-full",
|
|
8113
|
+
children: [/*#__PURE__*/jsx(WidgetIcon, {
|
|
8114
|
+
icon: widget.icon,
|
|
8115
|
+
className: "h-4 w-4 opacity-60 flex-shrink-0",
|
|
8116
|
+
fallback: "puzzle-piece"
|
|
8117
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
8118
|
+
className: "flex-1 min-w-0",
|
|
8119
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
8120
|
+
className: "text-sm font-medium truncate",
|
|
8121
|
+
children: widget.name
|
|
8122
|
+
}), widget.description && /*#__PURE__*/jsx("div", {
|
|
8123
|
+
className: "text-xs opacity-50 truncate",
|
|
8124
|
+
children: widget.description
|
|
8125
|
+
})]
|
|
8014
8126
|
})]
|
|
8015
8127
|
})
|
|
8016
8128
|
}, "recent-".concat(widget.key));
|
|
8017
8129
|
})]
|
|
8018
|
-
}),
|
|
8019
|
-
return /*#__PURE__*/
|
|
8020
|
-
|
|
8021
|
-
|
|
8022
|
-
|
|
8023
|
-
|
|
8024
|
-
|
|
8025
|
-
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
|
|
8130
|
+
}), installedGroupNames.map(function (groupName) {
|
|
8131
|
+
return /*#__PURE__*/jsxs("div", {
|
|
8132
|
+
className: "mb-1",
|
|
8133
|
+
children: [/*#__PURE__*/jsxs("button", {
|
|
8134
|
+
type: "button",
|
|
8135
|
+
onClick: function onClick() {
|
|
8136
|
+
return toggleGroup(groupName);
|
|
8137
|
+
},
|
|
8138
|
+
className: "flex items-center gap-1.5 w-full px-2 py-1.5 text-xs font-semibold text-gray-400 hover:text-gray-300 transition-colors",
|
|
8139
|
+
children: [/*#__PURE__*/jsx("span", {
|
|
8140
|
+
className: "text-[10px] opacity-60",
|
|
8141
|
+
children: expandedGroups.has(groupName) ? "\u25BC" : "\u25B6"
|
|
8142
|
+
}), groupName, /*#__PURE__*/jsx("span", {
|
|
8143
|
+
className: "opacity-40 ml-auto",
|
|
8144
|
+
children: groupedInstalledWidgets[groupName].length
|
|
8145
|
+
})]
|
|
8146
|
+
}), expandedGroups.has(groupName) && groupedInstalledWidgets[groupName].map(function (widget) {
|
|
8147
|
+
var _widget$providers3;
|
|
8148
|
+
return /*#__PURE__*/jsx(MenuItem3, {
|
|
8149
|
+
onClick: function onClick() {
|
|
8150
|
+
return handleWidgetSelect(widget);
|
|
8151
|
+
},
|
|
8152
|
+
selected: (selectedWidget === null || selectedWidget === void 0 ? void 0 : selectedWidget.key) === widget.key,
|
|
8153
|
+
children: /*#__PURE__*/jsxs("div", {
|
|
8154
|
+
className: "flex items-center gap-2 w-full",
|
|
8155
|
+
children: [/*#__PURE__*/jsx(WidgetIcon, {
|
|
8156
|
+
icon: widget.icon,
|
|
8157
|
+
className: "h-4 w-4 opacity-60 flex-shrink-0",
|
|
8158
|
+
fallback: "puzzle-piece"
|
|
8159
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
8160
|
+
className: "flex-1 min-w-0",
|
|
8161
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
8162
|
+
className: "text-sm font-medium truncate",
|
|
8163
|
+
children: widget.name
|
|
8164
|
+
}), widget.description && /*#__PURE__*/jsx("div", {
|
|
8165
|
+
className: "text-xs opacity-50 truncate",
|
|
8166
|
+
children: widget.description
|
|
8167
|
+
}), ((_widget$providers3 = widget.providers) === null || _widget$providers3 === void 0 ? void 0 : _widget$providers3.length) > 0 && /*#__PURE__*/jsx("div", {
|
|
8168
|
+
className: "flex flex-wrap gap-1 mt-0.5",
|
|
8169
|
+
children: widget.providers.map(function (p) {
|
|
8170
|
+
return /*#__PURE__*/jsx("span", {
|
|
8171
|
+
className: "text-[10px] px-1.5 py-0.5 rounded bg-blue-500/20 text-blue-300",
|
|
8172
|
+
children: p.type
|
|
8173
|
+
}, p.type);
|
|
8174
|
+
})
|
|
8175
|
+
})]
|
|
8176
|
+
})]
|
|
8177
|
+
})
|
|
8178
|
+
}, widget.key);
|
|
8179
|
+
})]
|
|
8180
|
+
}, groupName);
|
|
8029
8181
|
})]
|
|
8030
8182
|
})
|
|
8031
8183
|
}), /*#__PURE__*/jsx("div", {
|
|
@@ -8214,7 +8366,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
|
|
|
8214
8366
|
padding: "py-2 px-4",
|
|
8215
8367
|
onClick: onClose
|
|
8216
8368
|
}), /*#__PURE__*/jsx(Button, {
|
|
8217
|
-
title: selectedWidget !== null && selectedWidget !== void 0 && selectedWidget.isRegistry ? isInstalling ? "Installing..." : "Install Package" : "Add to Dashboard",
|
|
8369
|
+
title: selectedWidget !== null && selectedWidget !== void 0 && selectedWidget.isRegistry ? isInstalling ? "Installing..." : installedPackageNames.has(selectedWidget.packageName) ? "Already Installed" : "Install Package" : "Add to Dashboard",
|
|
8218
8370
|
bgColor: "bg-gray-800",
|
|
8219
8371
|
hoverBackgroundColor: isAddButtonEnabled() && !isInstalling ? selectedWidget !== null && selectedWidget !== void 0 && selectedWidget.isRegistry ? "hover:bg-blue-700" : "hover:bg-green-700" : "",
|
|
8220
8372
|
textSize: "text-lg",
|
|
@@ -21333,14 +21485,26 @@ var PropTypes = /*@__PURE__*/getDefaultExportFromCjs(propTypesExports);
|
|
|
21333
21485
|
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; }
|
|
21334
21486
|
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; }
|
|
21335
21487
|
|
|
21336
|
-
//
|
|
21337
|
-
//
|
|
21338
|
-
//
|
|
21339
|
-
var
|
|
21488
|
+
// Host-injected module references (e.g., "@trops/dash-core").
|
|
21489
|
+
// Set by the host app via setHostModules() after all modules are fully loaded,
|
|
21490
|
+
// avoiding the self-referential import that breaks under webpack scope hoisting.
|
|
21491
|
+
var _hostModules = {};
|
|
21492
|
+
|
|
21493
|
+
/**
|
|
21494
|
+
* Allow the host app to inject module references for the require shim.
|
|
21495
|
+
* Called from Dash.js after importing dash-core, so the full namespace is available.
|
|
21496
|
+
*
|
|
21497
|
+
* @param {object} modules - Map of package names to module namespaces
|
|
21498
|
+
*/
|
|
21499
|
+
function setHostModules(modules) {
|
|
21500
|
+
_hostModules = modules;
|
|
21501
|
+
}
|
|
21502
|
+
|
|
21503
|
+
// Base modules that can be statically imported without circular issues.
|
|
21504
|
+
var BASE_MODULE_MAP = {
|
|
21340
21505
|
react: React,
|
|
21341
21506
|
"react-dom": ReactDOM,
|
|
21342
21507
|
"@trops/dash-react": DashReact,
|
|
21343
|
-
"@trops/dash-core": dashCore,
|
|
21344
21508
|
"react/jsx-runtime": jsxRuntime,
|
|
21345
21509
|
"prop-types": PropTypes
|
|
21346
21510
|
};
|
|
@@ -21353,13 +21517,16 @@ var MODULE_MAP = {
|
|
|
21353
21517
|
* @returns {object} The module.exports from the evaluated bundle
|
|
21354
21518
|
*/
|
|
21355
21519
|
function evaluateBundle(source, widgetName) {
|
|
21520
|
+
// Merge base modules with host-provided modules (e.g., "@trops/dash-core")
|
|
21521
|
+
// at call time so _hostModules is populated by the time widgets load.
|
|
21522
|
+
var moduleMap = _objectSpread$b(_objectSpread$b({}, BASE_MODULE_MAP), _hostModules);
|
|
21356
21523
|
var module = {
|
|
21357
21524
|
exports: {}
|
|
21358
21525
|
};
|
|
21359
21526
|
var exports = module.exports;
|
|
21360
21527
|
var require = function require(name) {
|
|
21361
|
-
if (
|
|
21362
|
-
var mod =
|
|
21528
|
+
if (moduleMap[name]) {
|
|
21529
|
+
var mod = moduleMap[name];
|
|
21363
21530
|
// CJS interop: `import * as X` creates an ES module namespace where
|
|
21364
21531
|
// named exports may live under `.default` (e.g. @trops/dash-react).
|
|
21365
21532
|
// CJS bundles expect `require("pkg").Widget` to work, so merge
|
|
@@ -32407,5 +32574,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
|
|
|
32407
32574
|
|
|
32408
32575
|
ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
|
|
32409
32576
|
|
|
32410
|
-
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_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, WidgetProviderWrapper, WidgetSidebar, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, 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, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpProvider, useProvider, useProviderClient, useWidgetEvents, useWidgetProviders, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
|
|
32577
|
+
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_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, WidgetProviderWrapper, WidgetSidebar, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, 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, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpProvider, useProvider, useProviderClient, useWidgetEvents, useWidgetProviders, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
|
|
32411
32578
|
//# sourceMappingURL=index.esm.js.map
|