@trops/dash-core 0.1.157 → 0.1.158

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, 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, 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';
@@ -636,6 +636,12 @@ var THEME_SAVE_ERROR = "theme-save-error";
636
636
  var THEME_DELETE = "theme-delete";
637
637
  var THEME_DELETE_COMPLETE = "theme-delete-complete";
638
638
  var THEME_DELETE_ERROR = "theme-delete-error";
639
+ var THEME_EXTRACT_FROM_URL = "theme-extract-from-url";
640
+ var THEME_EXTRACT_FROM_URL_COMPLETE = "theme-extract-from-url-complete";
641
+ var THEME_EXTRACT_FROM_URL_ERROR = "theme-extract-from-url-error";
642
+ var THEME_MAP_PALETTE = "theme-map-palette";
643
+ var THEME_MAP_PALETTE_COMPLETE = "theme-map-palette-complete";
644
+ var THEME_MAP_PALETTE_ERROR = "theme-map-palette-error";
639
645
 
640
646
  /**
641
647
  * Provider Events
@@ -828,9 +834,15 @@ var apiEvents = /*#__PURE__*/Object.freeze({
828
834
  THEME_DELETE: THEME_DELETE,
829
835
  THEME_DELETE_COMPLETE: THEME_DELETE_COMPLETE,
830
836
  THEME_DELETE_ERROR: THEME_DELETE_ERROR,
837
+ THEME_EXTRACT_FROM_URL: THEME_EXTRACT_FROM_URL,
838
+ THEME_EXTRACT_FROM_URL_COMPLETE: THEME_EXTRACT_FROM_URL_COMPLETE,
839
+ THEME_EXTRACT_FROM_URL_ERROR: THEME_EXTRACT_FROM_URL_ERROR,
831
840
  THEME_LIST: THEME_LIST,
832
841
  THEME_LIST_COMPLETE: THEME_LIST_COMPLETE,
833
842
  THEME_LIST_ERROR: THEME_LIST_ERROR,
843
+ THEME_MAP_PALETTE: THEME_MAP_PALETTE,
844
+ THEME_MAP_PALETTE_COMPLETE: THEME_MAP_PALETTE_COMPLETE,
845
+ THEME_MAP_PALETTE_ERROR: THEME_MAP_PALETTE_ERROR,
834
846
  THEME_SAVE: THEME_SAVE,
835
847
  THEME_SAVE_COMPLETE: THEME_SAVE_COMPLETE,
836
848
  THEME_SAVE_ERROR: THEME_SAVE_ERROR,
@@ -1110,17 +1122,59 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1110
1122
  return false;
1111
1123
  }
1112
1124
  }
1125
+ }, {
1126
+ key: "extractThemeFromUrl",
1127
+ value: function extractThemeFromUrl(url, onSuccess, onError) {
1128
+ var _this10 = this;
1129
+ if (this.api !== null) {
1130
+ try {
1131
+ this.api.themeFromUrl.extractFromUrl(url).then(function (result) {
1132
+ onSuccess(_this10.events.THEME_EXTRACT_FROM_URL_COMPLETE, result);
1133
+ })["catch"](function (error) {
1134
+ onError(_this10.events.THEME_EXTRACT_FROM_URL_ERROR, error);
1135
+ });
1136
+ return true;
1137
+ } catch (e) {
1138
+ onError(this.events.THEME_EXTRACT_FROM_URL_ERROR, e);
1139
+ return false;
1140
+ }
1141
+ } else {
1142
+ onError(this.events.THEME_EXTRACT_FROM_URL_ERROR, new Error("No Api found"));
1143
+ return false;
1144
+ }
1145
+ }
1146
+ }, {
1147
+ key: "mapPaletteToTheme",
1148
+ value: function mapPaletteToTheme(palette, overrides, onSuccess, onError) {
1149
+ var _this11 = this;
1150
+ if (this.api !== null) {
1151
+ try {
1152
+ this.api.themeFromUrl.mapPaletteToTheme(palette, overrides).then(function (result) {
1153
+ onSuccess(_this11.events.THEME_MAP_PALETTE_COMPLETE, result);
1154
+ })["catch"](function (error) {
1155
+ onError(_this11.events.THEME_MAP_PALETTE_ERROR, error);
1156
+ });
1157
+ return true;
1158
+ } catch (e) {
1159
+ onError(this.events.THEME_MAP_PALETTE_ERROR, e);
1160
+ return false;
1161
+ }
1162
+ } else {
1163
+ onError(this.events.THEME_MAP_PALETTE_ERROR, new Error("No Api found"));
1164
+ return false;
1165
+ }
1166
+ }
1113
1167
  }, {
1114
1168
  key: "listProviders",
1115
1169
  value: function listProviders(appId, onSuccess, onError) {
1116
- var _this10 = this;
1170
+ var _this12 = this;
1117
1171
  if (this.api !== null) {
1118
1172
  try {
1119
1173
  // Handle the promise returned by the IPC call
1120
1174
  this.api.providers.listProviders(appId).then(function (result) {
1121
- onSuccess(_this10.events.PROVIDER_LIST_COMPLETE, result);
1175
+ onSuccess(_this12.events.PROVIDER_LIST_COMPLETE, result);
1122
1176
  })["catch"](function (error) {
1123
- onError(_this10.events.PROVIDER_LIST_ERROR, error);
1177
+ onError(_this12.events.PROVIDER_LIST_ERROR, error);
1124
1178
  });
1125
1179
  return true;
1126
1180
  } catch (e) {
@@ -1135,14 +1189,14 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1135
1189
  }, {
1136
1190
  key: "getProvider",
1137
1191
  value: function getProvider(appId, providerName, onSuccess, onError) {
1138
- var _this11 = this;
1192
+ var _this13 = this;
1139
1193
  if (this.api !== null) {
1140
1194
  try {
1141
1195
  // Handle the promise returned by the IPC call
1142
1196
  this.api.providers.getProvider(appId, providerName).then(function (result) {
1143
- onSuccess(_this11.events.PROVIDER_GET_COMPLETE, result);
1197
+ onSuccess(_this13.events.PROVIDER_GET_COMPLETE, result);
1144
1198
  })["catch"](function (error) {
1145
- onError(_this11.events.PROVIDER_GET_ERROR, error);
1199
+ onError(_this13.events.PROVIDER_GET_ERROR, error);
1146
1200
  });
1147
1201
  return true;
1148
1202
  } catch (e) {
@@ -1157,7 +1211,7 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1157
1211
  }, {
1158
1212
  key: "saveProvider",
1159
1213
  value: function saveProvider(appId, providerName, providerData, onSuccess, onError) {
1160
- var _this12 = this;
1214
+ var _this14 = this;
1161
1215
  if (this.api !== null) {
1162
1216
  try {
1163
1217
  // Handle the promise returned by the IPC call
@@ -1168,9 +1222,9 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1168
1222
  mcpConfig = providerData.mcpConfig,
1169
1223
  allowedTools = providerData.allowedTools;
1170
1224
  this.api.providers.saveProvider(appId, providerName, providerType, credentials, providerClass, mcpConfig, allowedTools).then(function (result) {
1171
- onSuccess(_this12.events.PROVIDER_SAVE_COMPLETE, result);
1225
+ onSuccess(_this14.events.PROVIDER_SAVE_COMPLETE, result);
1172
1226
  })["catch"](function (error) {
1173
- onError(_this12.events.PROVIDER_SAVE_ERROR, error);
1227
+ onError(_this14.events.PROVIDER_SAVE_ERROR, error);
1174
1228
  });
1175
1229
  return true;
1176
1230
  } catch (e) {
@@ -1185,13 +1239,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1185
1239
  }, {
1186
1240
  key: "deleteWorkspace",
1187
1241
  value: function deleteWorkspace(appId, workspaceId, onSuccess, onError) {
1188
- var _this13 = this;
1242
+ var _this15 = this;
1189
1243
  if (this.api !== null) {
1190
1244
  try {
1191
1245
  this.api.workspace.deleteWorkspaceForApplication(appId, workspaceId).then(function (result) {
1192
- onSuccess(_this13.events.WORKSPACE_DELETE_COMPLETE, result);
1246
+ onSuccess(_this15.events.WORKSPACE_DELETE_COMPLETE, result);
1193
1247
  })["catch"](function (error) {
1194
- onError(_this13.events.WORKSPACE_DELETE_ERROR, error);
1248
+ onError(_this15.events.WORKSPACE_DELETE_ERROR, error);
1195
1249
  });
1196
1250
  return true;
1197
1251
  } catch (e) {
@@ -1206,13 +1260,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1206
1260
  }, {
1207
1261
  key: "deleteMenuItem",
1208
1262
  value: function deleteMenuItem(appId, menuItemId, onSuccess, onError) {
1209
- var _this14 = this;
1263
+ var _this16 = this;
1210
1264
  if (this.api !== null) {
1211
1265
  try {
1212
1266
  this.api.menuItems.deleteMenuItem(appId, menuItemId).then(function (result) {
1213
- onSuccess(_this14.events.MENU_ITEMS_DELETE_COMPLETE, result);
1267
+ onSuccess(_this16.events.MENU_ITEMS_DELETE_COMPLETE, result);
1214
1268
  })["catch"](function (error) {
1215
- onError(_this14.events.MENU_ITEMS_DELETE_ERROR, error);
1269
+ onError(_this16.events.MENU_ITEMS_DELETE_ERROR, error);
1216
1270
  });
1217
1271
  return true;
1218
1272
  } catch (e) {
@@ -1227,13 +1281,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1227
1281
  }, {
1228
1282
  key: "deleteTheme",
1229
1283
  value: function deleteTheme(appId, themeKey, onSuccess, onError) {
1230
- var _this15 = this;
1284
+ var _this17 = this;
1231
1285
  if (this.api !== null) {
1232
1286
  try {
1233
1287
  this.api.themes.deleteThemeForApplication(appId, themeKey).then(function (result) {
1234
- onSuccess(_this15.events.THEME_DELETE_COMPLETE, result);
1288
+ onSuccess(_this17.events.THEME_DELETE_COMPLETE, result);
1235
1289
  })["catch"](function (error) {
1236
- onError(_this15.events.THEME_DELETE_ERROR, error);
1290
+ onError(_this17.events.THEME_DELETE_ERROR, error);
1237
1291
  });
1238
1292
  return true;
1239
1293
  } catch (e) {
@@ -1268,13 +1322,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1268
1322
  }, {
1269
1323
  key: "openDataDirectory",
1270
1324
  value: function openDataDirectory(onSuccess, onError) {
1271
- var _this16 = this;
1325
+ var _this18 = this;
1272
1326
  if (this.api !== null) {
1273
1327
  try {
1274
1328
  this.api.settings.getDataDirectory().then(function (result) {
1275
1329
  var dir = (result === null || result === void 0 ? void 0 : result.dataDirectory) || result;
1276
- if (dir && _this16.api.shell) {
1277
- _this16.api.shell.openPath(dir);
1330
+ if (dir && _this18.api.shell) {
1331
+ _this18.api.shell.openPath(dir);
1278
1332
  }
1279
1333
  onSuccess(null, result);
1280
1334
  })["catch"](function (error) {
@@ -1293,14 +1347,14 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1293
1347
  }, {
1294
1348
  key: "deleteProvider",
1295
1349
  value: function deleteProvider(appId, providerName, onSuccess, onError) {
1296
- var _this17 = this;
1350
+ var _this19 = this;
1297
1351
  if (this.api !== null) {
1298
1352
  try {
1299
1353
  // Handle the promise returned by the IPC call
1300
1354
  this.api.providers.deleteProvider(appId, providerName).then(function (result) {
1301
- onSuccess(_this17.events.PROVIDER_DELETE_COMPLETE, result);
1355
+ onSuccess(_this19.events.PROVIDER_DELETE_COMPLETE, result);
1302
1356
  })["catch"](function (error) {
1303
- onError(_this17.events.PROVIDER_DELETE_ERROR, error);
1357
+ onError(_this19.events.PROVIDER_DELETE_ERROR, error);
1304
1358
  });
1305
1359
  return true;
1306
1360
  } catch (e) {
@@ -1318,13 +1372,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1318
1372
  }, {
1319
1373
  key: "mcpStartServer",
1320
1374
  value: function mcpStartServer(serverName, mcpConfig, credentials, onSuccess, onError) {
1321
- var _this18 = this;
1375
+ var _this20 = this;
1322
1376
  if (this.api !== null) {
1323
1377
  try {
1324
1378
  this.api.mcp.startServer(serverName, mcpConfig, credentials).then(function (result) {
1325
- onSuccess(_this18.events.MCP_START_SERVER_COMPLETE, result);
1379
+ onSuccess(_this20.events.MCP_START_SERVER_COMPLETE, result);
1326
1380
  })["catch"](function (error) {
1327
- onError(_this18.events.MCP_START_SERVER_ERROR, error);
1381
+ onError(_this20.events.MCP_START_SERVER_ERROR, error);
1328
1382
  });
1329
1383
  return true;
1330
1384
  } catch (e) {
@@ -1339,13 +1393,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1339
1393
  }, {
1340
1394
  key: "mcpStopServer",
1341
1395
  value: function mcpStopServer(serverName, onSuccess, onError) {
1342
- var _this19 = this;
1396
+ var _this21 = this;
1343
1397
  if (this.api !== null) {
1344
1398
  try {
1345
1399
  this.api.mcp.stopServer(serverName).then(function (result) {
1346
- onSuccess(_this19.events.MCP_STOP_SERVER_COMPLETE, result);
1400
+ onSuccess(_this21.events.MCP_STOP_SERVER_COMPLETE, result);
1347
1401
  })["catch"](function (error) {
1348
- onError(_this19.events.MCP_STOP_SERVER_ERROR, error);
1402
+ onError(_this21.events.MCP_STOP_SERVER_ERROR, error);
1349
1403
  });
1350
1404
  return true;
1351
1405
  } catch (e) {
@@ -1360,13 +1414,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1360
1414
  }, {
1361
1415
  key: "mcpCallTool",
1362
1416
  value: function mcpCallTool(serverName, toolName, args, allowedTools, onSuccess, onError) {
1363
- var _this20 = this;
1417
+ var _this22 = this;
1364
1418
  if (this.api !== null) {
1365
1419
  try {
1366
1420
  this.api.mcp.callTool(serverName, toolName, args, allowedTools).then(function (result) {
1367
- onSuccess(_this20.events.MCP_CALL_TOOL_COMPLETE, result);
1421
+ onSuccess(_this22.events.MCP_CALL_TOOL_COMPLETE, result);
1368
1422
  })["catch"](function (error) {
1369
- onError(_this20.events.MCP_CALL_TOOL_ERROR, error);
1423
+ onError(_this22.events.MCP_CALL_TOOL_ERROR, error);
1370
1424
  });
1371
1425
  return true;
1372
1426
  } catch (e) {
@@ -1381,13 +1435,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1381
1435
  }, {
1382
1436
  key: "mcpListTools",
1383
1437
  value: function mcpListTools(serverName, onSuccess, onError) {
1384
- var _this21 = this;
1438
+ var _this23 = this;
1385
1439
  if (this.api !== null) {
1386
1440
  try {
1387
1441
  this.api.mcp.listTools(serverName).then(function (result) {
1388
- onSuccess(_this21.events.MCP_LIST_TOOLS_COMPLETE, result);
1442
+ onSuccess(_this23.events.MCP_LIST_TOOLS_COMPLETE, result);
1389
1443
  })["catch"](function (error) {
1390
- onError(_this21.events.MCP_LIST_TOOLS_ERROR, error);
1444
+ onError(_this23.events.MCP_LIST_TOOLS_ERROR, error);
1391
1445
  });
1392
1446
  return true;
1393
1447
  } catch (e) {
@@ -1402,13 +1456,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1402
1456
  }, {
1403
1457
  key: "mcpListResources",
1404
1458
  value: function mcpListResources(serverName, onSuccess, onError) {
1405
- var _this22 = this;
1459
+ var _this24 = this;
1406
1460
  if (this.api !== null) {
1407
1461
  try {
1408
1462
  this.api.mcp.listResources(serverName).then(function (result) {
1409
- onSuccess(_this22.events.MCP_LIST_RESOURCES_COMPLETE, result);
1463
+ onSuccess(_this24.events.MCP_LIST_RESOURCES_COMPLETE, result);
1410
1464
  })["catch"](function (error) {
1411
- onError(_this22.events.MCP_LIST_RESOURCES_ERROR, error);
1465
+ onError(_this24.events.MCP_LIST_RESOURCES_ERROR, error);
1412
1466
  });
1413
1467
  return true;
1414
1468
  } catch (e) {
@@ -1423,13 +1477,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1423
1477
  }, {
1424
1478
  key: "mcpReadResource",
1425
1479
  value: function mcpReadResource(serverName, uri, onSuccess, onError) {
1426
- var _this23 = this;
1480
+ var _this25 = this;
1427
1481
  if (this.api !== null) {
1428
1482
  try {
1429
1483
  this.api.mcp.readResource(serverName, uri).then(function (result) {
1430
- onSuccess(_this23.events.MCP_READ_RESOURCE_COMPLETE, result);
1484
+ onSuccess(_this25.events.MCP_READ_RESOURCE_COMPLETE, result);
1431
1485
  })["catch"](function (error) {
1432
- onError(_this23.events.MCP_READ_RESOURCE_ERROR, error);
1486
+ onError(_this25.events.MCP_READ_RESOURCE_ERROR, error);
1433
1487
  });
1434
1488
  return true;
1435
1489
  } catch (e) {
@@ -1444,13 +1498,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1444
1498
  }, {
1445
1499
  key: "mcpGetServerStatus",
1446
1500
  value: function mcpGetServerStatus(serverName, onSuccess, onError) {
1447
- var _this24 = this;
1501
+ var _this26 = this;
1448
1502
  if (this.api !== null) {
1449
1503
  try {
1450
1504
  this.api.mcp.getServerStatus(serverName).then(function (result) {
1451
- onSuccess(_this24.events.MCP_SERVER_STATUS_COMPLETE, result);
1505
+ onSuccess(_this26.events.MCP_SERVER_STATUS_COMPLETE, result);
1452
1506
  })["catch"](function (error) {
1453
- onError(_this24.events.MCP_SERVER_STATUS_ERROR, error);
1507
+ onError(_this26.events.MCP_SERVER_STATUS_ERROR, error);
1454
1508
  });
1455
1509
  return true;
1456
1510
  } catch (e) {
@@ -1465,13 +1519,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1465
1519
  }, {
1466
1520
  key: "mcpGetCatalog",
1467
1521
  value: function mcpGetCatalog(onSuccess, onError) {
1468
- var _this25 = this;
1522
+ var _this27 = this;
1469
1523
  if (this.api !== null) {
1470
1524
  try {
1471
1525
  this.api.mcp.getCatalog().then(function (result) {
1472
- onSuccess(_this25.events.MCP_GET_CATALOG_COMPLETE, result);
1526
+ onSuccess(_this27.events.MCP_GET_CATALOG_COMPLETE, result);
1473
1527
  })["catch"](function (error) {
1474
- onError(_this25.events.MCP_GET_CATALOG_ERROR, error);
1528
+ onError(_this27.events.MCP_GET_CATALOG_ERROR, error);
1475
1529
  });
1476
1530
  return true;
1477
1531
  } catch (e) {
@@ -1486,13 +1540,13 @@ var ElectronDashboardApi = /*#__PURE__*/function () {
1486
1540
  }, {
1487
1541
  key: "mcpRunAuth",
1488
1542
  value: function mcpRunAuth(mcpConfig, credentials, authCommand, onSuccess, onError) {
1489
- var _this26 = this;
1543
+ var _this28 = this;
1490
1544
  if (this.api !== null) {
1491
1545
  try {
1492
1546
  this.api.mcp.runAuth(mcpConfig, credentials, authCommand).then(function (result) {
1493
- onSuccess(_this26.events.MCP_RUN_AUTH_COMPLETE, result);
1547
+ onSuccess(_this28.events.MCP_RUN_AUTH_COMPLETE, result);
1494
1548
  })["catch"](function (error) {
1495
- onError(_this26.events.MCP_RUN_AUTH_ERROR, error);
1549
+ onError(_this28.events.MCP_RUN_AUTH_ERROR, error);
1496
1550
  });
1497
1551
  return true;
1498
1552
  } catch (e) {
@@ -5747,7 +5801,7 @@ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBu
5747
5801
  var hasPropertyDescriptors_1 = hasPropertyDescriptors;
5748
5802
 
5749
5803
  var keys = objectKeys$2;
5750
- var hasSymbols$4 = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
5804
+ var hasSymbols$5 = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
5751
5805
 
5752
5806
  var toStr$4 = Object.prototype.toString;
5753
5807
  var concat = Array.prototype.concat;
@@ -5780,7 +5834,7 @@ var defineProperty$1 = function (object, name, value, predicate) {
5780
5834
  var defineProperties$1 = function (object, map) {
5781
5835
  var predicates = arguments.length > 2 ? arguments[2] : {};
5782
5836
  var props = keys(map);
5783
- if (hasSymbols$4) {
5837
+ if (hasSymbols$5) {
5784
5838
  props = concat.call(props, Object.getOwnPropertySymbols(map));
5785
5839
  }
5786
5840
  for (var i = 0; i < props.length; i += 1) {
@@ -5846,11 +5900,11 @@ var sign$1 = function sign(number) {
5846
5900
  };
5847
5901
 
5848
5902
  var shams$1;
5849
- var hasRequiredShams$1;
5903
+ var hasRequiredShams;
5850
5904
 
5851
- function requireShams$1 () {
5852
- if (hasRequiredShams$1) return shams$1;
5853
- hasRequiredShams$1 = 1;
5905
+ function requireShams () {
5906
+ if (hasRequiredShams) return shams$1;
5907
+ hasRequiredShams = 1;
5854
5908
 
5855
5909
  /** @type {import('./shams')} */
5856
5910
  /* eslint complexity: [2, 18], max-statements: [2, 33] */
@@ -5899,10 +5953,10 @@ function requireShams$1 () {
5899
5953
  }
5900
5954
 
5901
5955
  var origSymbol = typeof Symbol !== 'undefined' && Symbol;
5902
- var hasSymbolSham = requireShams$1();
5956
+ var hasSymbolSham = requireShams();
5903
5957
 
5904
5958
  /** @type {import('.')} */
5905
- var hasSymbols$3 = function hasNativeSymbols() {
5959
+ var hasSymbols$4 = function hasNativeSymbols() {
5906
5960
  if (typeof origSymbol !== 'function') { return false; }
5907
5961
  if (typeof Symbol !== 'function') { return false; }
5908
5962
  if (typeof origSymbol('foo') !== 'symbol') { return false; }
@@ -6206,7 +6260,7 @@ var ThrowTypeError = $gOPD$1
6206
6260
  }())
6207
6261
  : throwTypeError;
6208
6262
 
6209
- var hasSymbols$2 = hasSymbols$3();
6263
+ var hasSymbols$3 = hasSymbols$4();
6210
6264
 
6211
6265
  var getProto$2 = getProto$3;
6212
6266
  var $ObjectGPO = requireObject_getPrototypeOf();
@@ -6224,7 +6278,7 @@ var INTRINSICS = {
6224
6278
  '%AggregateError%': typeof AggregateError === 'undefined' ? undefined$1 : AggregateError,
6225
6279
  '%Array%': Array,
6226
6280
  '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined$1 : ArrayBuffer,
6227
- '%ArrayIteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2([][Symbol.iterator]()) : undefined$1,
6281
+ '%ArrayIteratorPrototype%': hasSymbols$3 && getProto$2 ? getProto$2([][Symbol.iterator]()) : undefined$1,
6228
6282
  '%AsyncFromSyncIteratorPrototype%': undefined$1,
6229
6283
  '%AsyncFunction%': needsEval,
6230
6284
  '%AsyncGenerator%': needsEval,
@@ -6255,10 +6309,10 @@ var INTRINSICS = {
6255
6309
  '%Int32Array%': typeof Int32Array === 'undefined' ? undefined$1 : Int32Array,
6256
6310
  '%isFinite%': isFinite,
6257
6311
  '%isNaN%': isNaN,
6258
- '%IteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2(getProto$2([][Symbol.iterator]())) : undefined$1,
6312
+ '%IteratorPrototype%': hasSymbols$3 && getProto$2 ? getProto$2(getProto$2([][Symbol.iterator]())) : undefined$1,
6259
6313
  '%JSON%': typeof JSON === 'object' ? JSON : undefined$1,
6260
6314
  '%Map%': typeof Map === 'undefined' ? undefined$1 : Map,
6261
- '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$2 || !getProto$2 ? undefined$1 : getProto$2(new Map()[Symbol.iterator]()),
6315
+ '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols$3 || !getProto$2 ? undefined$1 : getProto$2(new Map()[Symbol.iterator]()),
6262
6316
  '%Math%': Math,
6263
6317
  '%Number%': Number,
6264
6318
  '%Object%': $Object$2,
@@ -6272,11 +6326,11 @@ var INTRINSICS = {
6272
6326
  '%Reflect%': typeof Reflect === 'undefined' ? undefined$1 : Reflect,
6273
6327
  '%RegExp%': RegExp,
6274
6328
  '%Set%': typeof Set === 'undefined' ? undefined$1 : Set,
6275
- '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$2 || !getProto$2 ? undefined$1 : getProto$2(new Set()[Symbol.iterator]()),
6329
+ '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols$3 || !getProto$2 ? undefined$1 : getProto$2(new Set()[Symbol.iterator]()),
6276
6330
  '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined$1 : SharedArrayBuffer,
6277
6331
  '%String%': String,
6278
- '%StringIteratorPrototype%': hasSymbols$2 && getProto$2 ? getProto$2(''[Symbol.iterator]()) : undefined$1,
6279
- '%Symbol%': hasSymbols$2 ? Symbol : undefined$1,
6332
+ '%StringIteratorPrototype%': hasSymbols$3 && getProto$2 ? getProto$2(''[Symbol.iterator]()) : undefined$1,
6333
+ '%Symbol%': hasSymbols$3 ? Symbol : undefined$1,
6280
6334
  '%SyntaxError%': $SyntaxError$1,
6281
6335
  '%ThrowTypeError%': ThrowTypeError,
6282
6336
  '%TypedArray%': TypedArray,
@@ -6629,12 +6683,12 @@ var callBound$i = function callBoundIntrinsic(name, allowMissing) {
6629
6683
 
6630
6684
  // modified from https://github.com/es-shims/es6-shim
6631
6685
  var objectKeys$1 = objectKeys$2;
6632
- var hasSymbols$1 = requireShams$1()();
6686
+ var hasSymbols$2 = requireShams()();
6633
6687
  var callBound$h = callBound$i;
6634
6688
  var $Object$1 = esObjectAtoms;
6635
6689
  var $push = callBound$h('Array.prototype.push');
6636
6690
  var $propIsEnumerable = callBound$h('Object.prototype.propertyIsEnumerable');
6637
- var originalGetSymbols = hasSymbols$1 ? $Object$1.getOwnPropertySymbols : null;
6691
+ var originalGetSymbols = hasSymbols$2 ? $Object$1.getOwnPropertySymbols : null;
6638
6692
 
6639
6693
  // eslint-disable-next-line no-unused-vars
6640
6694
  var implementation$8 = function assign(target, source1) {
@@ -6648,7 +6702,7 @@ var implementation$8 = function assign(target, source1) {
6648
6702
 
6649
6703
  // step 3.a.ii:
6650
6704
  var keys = objectKeys$1(from);
6651
- var getSymbols = hasSymbols$1 && ($Object$1.getOwnPropertySymbols || originalGetSymbols);
6705
+ var getSymbols = hasSymbols$2 && ($Object$1.getOwnPropertySymbols || originalGetSymbols);
6652
6706
  if (getSymbols) {
6653
6707
  var syms = getSymbols(from);
6654
6708
  for (var j = 0; j < syms.length; ++j) {
@@ -6945,23 +6999,14 @@ var regexp_prototype_flags = flagsBound;
6945
6999
 
6946
7000
  var esGetIterator = {exports: {}};
6947
7001
 
6948
- var shams;
6949
- var hasRequiredShams;
6950
-
6951
- function requireShams () {
6952
- if (hasRequiredShams) return shams;
6953
- hasRequiredShams = 1;
6954
-
6955
- var hasSymbols = requireShams$1();
7002
+ var hasSymbols$1 = requireShams();
6956
7003
 
6957
- /** @type {import('.')} */
6958
- shams = function hasToStringTagShams() {
6959
- return hasSymbols() && !!Symbol.toStringTag;
6960
- };
6961
- return shams;
6962
- }
7004
+ /** @type {import('.')} */
7005
+ var shams = function hasToStringTagShams() {
7006
+ return hasSymbols$1() && !!Symbol.toStringTag;
7007
+ };
6963
7008
 
6964
- var hasToStringTag$7 = requireShams()();
7009
+ var hasToStringTag$7 = shams();
6965
7010
  var callBound$f = callBound$i;
6966
7011
 
6967
7012
  var $toString$7 = callBound$f('Object.prototype.toString');
@@ -7998,7 +8043,7 @@ var tryStringObject = function tryStringObject(value) {
7998
8043
  /** @type {(receiver: ThisParameterType<typeof Object.prototype.toString>, ...args: Parameters<typeof Object.prototype.toString>) => ReturnType<typeof Object.prototype.toString>} */
7999
8044
  var $toString$6 = callBound$c('Object.prototype.toString');
8000
8045
  var strClass = '[object String]';
8001
- var hasToStringTag$6 = requireShams()();
8046
+ var hasToStringTag$6 = shams();
8002
8047
 
8003
8048
  /** @type {import('.')} */
8004
8049
  var isString$2 = function isString(value) {
@@ -8114,7 +8159,7 @@ var isSet$2 = exported$1 || function isSet(x) {
8114
8159
  var isArguments$1 = isArguments$2;
8115
8160
  var getStopIterationIterator = stopIterationIterator;
8116
8161
 
8117
- if (hasSymbols$3() || requireShams$1()()) {
8162
+ if (hasSymbols$4() || requireShams()()) {
8118
8163
  var $iterator = Symbol.iterator;
8119
8164
  // Symbol is available natively or shammed
8120
8165
  // natively:
@@ -8403,7 +8448,7 @@ var tryDateObject = function tryDateGetDayCall(value) {
8403
8448
  /** @type {(value: unknown) => string} */
8404
8449
  var toStr$2 = callBound$9('Object.prototype.toString');
8405
8450
  var dateClass = '[object Date]';
8406
- var hasToStringTag$5 = requireShams()();
8451
+ var hasToStringTag$5 = shams();
8407
8452
 
8408
8453
  /** @type {import('.')} */
8409
8454
  var isDateObject = function isDateObject(value) {
@@ -8414,7 +8459,7 @@ var isDateObject = function isDateObject(value) {
8414
8459
  };
8415
8460
 
8416
8461
  var callBound$8 = callBound$i;
8417
- var hasToStringTag$4 = requireShams()();
8462
+ var hasToStringTag$4 = shams();
8418
8463
  var hasOwn = hasown;
8419
8464
  var gOPD$1 = gopd$1;
8420
8465
 
@@ -8519,7 +8564,7 @@ var tryNumberObject = function tryNumberObject(value) {
8519
8564
  };
8520
8565
  var $toString$3 = callBound$6('Object.prototype.toString');
8521
8566
  var numClass = '[object Number]';
8522
- var hasToStringTag$3 = requireShams()();
8567
+ var hasToStringTag$3 = shams();
8523
8568
 
8524
8569
  /** @type {import('.')} */
8525
8570
  var isNumberObject = function isNumberObject(value) {
@@ -8546,7 +8591,7 @@ var tryBooleanObject = function booleanBrandCheck(value) {
8546
8591
  }
8547
8592
  };
8548
8593
  var boolClass = '[object Boolean]';
8549
- var hasToStringTag$2 = requireShams()();
8594
+ var hasToStringTag$2 = shams();
8550
8595
 
8551
8596
  /** @type {import('.')} */
8552
8597
  var isBooleanObject = function isBoolean(value) {
@@ -8588,7 +8633,7 @@ function requireSafeRegexTest () {
8588
8633
 
8589
8634
  var callBound$4 = callBound$i;
8590
8635
  var $toString$1 = callBound$4('Object.prototype.toString');
8591
- var hasSymbols = hasSymbols$3();
8636
+ var hasSymbols = hasSymbols$4();
8592
8637
  var safeRegexTest = requireSafeRegexTest();
8593
8638
 
8594
8639
  if (hasSymbols) {
@@ -9034,7 +9079,7 @@ var gOPD = gopd$1;
9034
9079
  var getProto = getProto$3;
9035
9080
 
9036
9081
  var $toString = callBound$2('Object.prototype.toString');
9037
- var hasToStringTag = requireShams()();
9082
+ var hasToStringTag = shams();
9038
9083
 
9039
9084
  var g = typeof globalThis === 'undefined' ? commonjsGlobal : globalThis;
9040
9085
  var typedArrays = availableTypedArrays();
@@ -32130,7 +32175,8 @@ var GENERATE_MODES = {
32130
32175
  PRESETS: "presets",
32131
32176
  COLOR: "color",
32132
32177
  WIZARD: "wizard",
32133
- CHOOSER: "chooser"
32178
+ CHOOSER: "chooser",
32179
+ FROM_URL: "from-url"
32134
32180
  };
32135
32181
 
32136
32182
  // ─── Preset Gallery ──────────────────────────────────────────────────────
@@ -32395,7 +32441,11 @@ var ThemeQuickCreate = function ThemeQuickCreate(_ref8) {
32395
32441
  setWizardMethod = _ref8.setWizardMethod,
32396
32442
  wizardTheme = _ref8.wizardTheme,
32397
32443
  setWizardTheme = _ref8.setWizardTheme,
32398
- onComplete = _ref8.onComplete;
32444
+ onComplete = _ref8.onComplete,
32445
+ _ref8$onExtract = _ref8.onExtract,
32446
+ onExtract = _ref8$onExtract === void 0 ? null : _ref8$onExtract,
32447
+ _ref8$onMapToTheme = _ref8.onMapToTheme,
32448
+ onMapToTheme = _ref8$onMapToTheme === void 0 ? null : _ref8$onMapToTheme;
32399
32449
  var canCreate = wizardName.trim().length > 0 && wizardTheme !== null;
32400
32450
  function handleMethodSelect(method) {
32401
32451
  setWizardMethod(method);
@@ -32449,6 +32499,14 @@ var ThemeQuickCreate = function ThemeQuickCreate(_ref8) {
32449
32499
  onClick: function onClick() {
32450
32500
  return handleMethodSelect("color");
32451
32501
  }
32502
+ }), onExtract && /*#__PURE__*/jsx(MethodCard, {
32503
+ icon: "globe",
32504
+ title: "From Website",
32505
+ subtitle: "Extract colors from any URL",
32506
+ selected: wizardMethod === "from-url",
32507
+ onClick: function onClick() {
32508
+ return handleMethodSelect("from-url");
32509
+ }
32452
32510
  })]
32453
32511
  })]
32454
32512
  }), wizardMethod === "presets" && /*#__PURE__*/jsx(PresetGallery, {
@@ -32467,6 +32525,13 @@ var ThemeQuickCreate = function ThemeQuickCreate(_ref8) {
32467
32525
  return setWizardTheme(theme);
32468
32526
  },
32469
32527
  inline: true
32528
+ }), wizardMethod === "from-url" && onExtract && /*#__PURE__*/jsx(ThemeFromUrlPane, {
32529
+ onExtract: onExtract,
32530
+ onMapToTheme: onMapToTheme,
32531
+ onGenerate: function onGenerate(theme) {
32532
+ return setWizardTheme(theme);
32533
+ },
32534
+ inline: true
32470
32535
  }), /*#__PURE__*/jsx(Button2, {
32471
32536
  title: "Create Theme",
32472
32537
  onClick: onComplete,
@@ -32501,7 +32566,9 @@ var ChooserCard = function ChooserCard(_ref) {
32501
32566
  };
32502
32567
  var ThemeNewChooser = function ThemeNewChooser(_ref2) {
32503
32568
  var onSearchThemes = _ref2.onSearchThemes,
32504
- onCreateNew = _ref2.onCreateNew;
32569
+ onCreateNew = _ref2.onCreateNew,
32570
+ _ref2$onCreateFromUrl = _ref2.onCreateFromUrl,
32571
+ onCreateFromUrl = _ref2$onCreateFromUrl === void 0 ? null : _ref2$onCreateFromUrl;
32505
32572
  return /*#__PURE__*/jsxs("div", {
32506
32573
  className: "flex flex-col gap-6 p-6 overflow-y-auto flex-1 min-h-0",
32507
32574
  children: [/*#__PURE__*/jsx("span", {
@@ -32519,6 +32586,11 @@ var ThemeNewChooser = function ThemeNewChooser(_ref2) {
32519
32586
  title: "Create New",
32520
32587
  subtitle: "Build from presets, random palettes, or color harmony rules",
32521
32588
  onClick: onCreateNew
32589
+ }), onCreateFromUrl && /*#__PURE__*/jsx(ChooserCard, {
32590
+ icon: "globe",
32591
+ title: "From Website",
32592
+ subtitle: "Extract colors from any URL to create a theme",
32593
+ onClick: onCreateFromUrl
32522
32594
  })]
32523
32595
  })]
32524
32596
  });
@@ -33206,18 +33278,22 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
33206
33278
  _useState12 = _slicedToArray(_useState11, 2),
33207
33279
  isSearching = _useState12[0],
33208
33280
  setIsSearching = _useState12[1];
33209
- var _useState13 = useState(""),
33281
+ var _useState13 = useState(false),
33210
33282
  _useState14 = _slicedToArray(_useState13, 2),
33211
- wizardName = _useState14[0],
33212
- setWizardName = _useState14[1];
33213
- var _useState15 = useState(null),
33283
+ isFromUrl = _useState14[0],
33284
+ setIsFromUrl = _useState14[1];
33285
+ var _useState15 = useState(""),
33214
33286
  _useState16 = _slicedToArray(_useState15, 2),
33215
- wizardMethod = _useState16[0],
33216
- setWizardMethod = _useState16[1];
33287
+ wizardName = _useState16[0],
33288
+ setWizardName = _useState16[1];
33217
33289
  var _useState17 = useState(null),
33218
33290
  _useState18 = _slicedToArray(_useState17, 2),
33219
- wizardTheme = _useState18[0],
33220
- setWizardTheme = _useState18[1];
33291
+ wizardMethod = _useState18[0],
33292
+ setWizardMethod = _useState18[1];
33293
+ var _useState19 = useState(null),
33294
+ _useState20 = _slicedToArray(_useState19, 2),
33295
+ wizardTheme = _useState20[0],
33296
+ setWizardTheme = _useState20[1];
33221
33297
  var _React$useState = React__default.useState(),
33222
33298
  _React$useState2 = _slicedToArray(_React$useState, 2),
33223
33299
  updateState = _React$useState2[1];
@@ -33233,6 +33309,7 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
33233
33309
  setIsCreating(false);
33234
33310
  setIsChoosingMode(false);
33235
33311
  setIsSearching(false);
33312
+ setIsFromUrl(false);
33236
33313
  } else {
33237
33314
  if (themeKeySelected === null && themes) {
33238
33315
  var themeKeyTemp = settings && "theme" in settings ? settings["theme"] in themes ? settings["theme"] : Object.keys(themes)[0] : Object.keys(themes)[0];
@@ -33287,10 +33364,86 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
33287
33364
  setIsChoosingMode(false);
33288
33365
  setIsSearching(true);
33289
33366
  }
33367
+ function handleChooseFromUrl() {
33368
+ setIsChoosingMode(false);
33369
+ setIsFromUrl(true);
33370
+ }
33290
33371
  function handleBackFromSearch() {
33291
33372
  setIsSearching(false);
33292
33373
  setIsChoosingMode(true);
33293
33374
  }
33375
+ function handleUrlExtract(_x) {
33376
+ return _handleUrlExtract.apply(this, arguments);
33377
+ }
33378
+ function _handleUrlExtract() {
33379
+ _handleUrlExtract = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(url) {
33380
+ return _regeneratorRuntime.wrap(function (_context) {
33381
+ while (1) switch (_context.prev = _context.next) {
33382
+ case 0:
33383
+ return _context.abrupt("return", new Promise(function (resolve, reject) {
33384
+ dashApi.extractThemeFromUrl(url, function (e, result) {
33385
+ return resolve(result);
33386
+ }, function (e, err) {
33387
+ return reject(err);
33388
+ });
33389
+ }));
33390
+ case 1:
33391
+ case "end":
33392
+ return _context.stop();
33393
+ }
33394
+ }, _callee);
33395
+ }));
33396
+ return _handleUrlExtract.apply(this, arguments);
33397
+ }
33398
+ function handleUrlMapToTheme(_x2, _x3) {
33399
+ return _handleUrlMapToTheme.apply(this, arguments);
33400
+ }
33401
+ function _handleUrlMapToTheme() {
33402
+ _handleUrlMapToTheme = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(palette, roleAssignments) {
33403
+ var overrides, _i, _Object$entries, _Object$entries$_i, role, index;
33404
+ return _regeneratorRuntime.wrap(function (_context2) {
33405
+ while (1) switch (_context2.prev = _context2.next) {
33406
+ case 0:
33407
+ overrides = {};
33408
+ for (_i = 0, _Object$entries = Object.entries(roleAssignments); _i < _Object$entries.length; _i++) {
33409
+ _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), role = _Object$entries$_i[0], index = _Object$entries$_i[1];
33410
+ if (palette[index]) {
33411
+ overrides[role] = palette[index].hex;
33412
+ }
33413
+ }
33414
+ return _context2.abrupt("return", new Promise(function (resolve, reject) {
33415
+ dashApi.mapPaletteToTheme(palette, overrides, function (e, result) {
33416
+ return resolve((result === null || result === void 0 ? void 0 : result.theme) || result);
33417
+ }, function (e, err) {
33418
+ return reject(err);
33419
+ });
33420
+ }));
33421
+ case 1:
33422
+ case "end":
33423
+ return _context2.stop();
33424
+ }
33425
+ }, _callee2);
33426
+ }));
33427
+ return _handleUrlMapToTheme.apply(this, arguments);
33428
+ }
33429
+ function handleUrlThemeGenerated(theme) {
33430
+ var key = theme.id || "theme-".concat(Date.now());
33431
+ var finalTheme = _objectSpread$b(_objectSpread$b({}, theme), {}, {
33432
+ id: key
33433
+ });
33434
+ if (dashApi) {
33435
+ dashApi.saveTheme(credentials.appId, key, finalTheme, function (e, message) {
33436
+ changeThemesForApplication(message["themes"]);
33437
+ setIsFromUrl(false);
33438
+ var newThemes = message["themes"];
33439
+ if (newThemes && newThemes[key]) {
33440
+ setThemeKeySelected(key);
33441
+ setThemeSelected(newThemes[key]);
33442
+ setRawThemeSelected(finalTheme);
33443
+ }
33444
+ }, handleSaveThemeError);
33445
+ }
33446
+ }
33294
33447
  function handleWizardComplete() {
33295
33448
  if (!wizardTheme || !wizardName.trim()) return;
33296
33449
  var key = wizardTheme.id || "theme-".concat(Date.now());
@@ -33316,6 +33469,7 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
33316
33469
  setIsCreating(false);
33317
33470
  setIsChoosingMode(false);
33318
33471
  setIsSearching(false);
33472
+ setIsFromUrl(false);
33319
33473
  }
33320
33474
  function handleSaveTheme() {
33321
33475
  if (themeKeySelected !== null && rawThemeSelected !== null) {
@@ -33394,7 +33548,8 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
33394
33548
  rawTheme: rawThemeSelected,
33395
33549
  wizardContent: isChoosingMode ? /*#__PURE__*/jsx(ThemeNewChooser, {
33396
33550
  onSearchThemes: handleChooseSearch,
33397
- onCreateNew: handleChooseCreate
33551
+ onCreateNew: handleChooseCreate,
33552
+ onCreateFromUrl: handleChooseFromUrl
33398
33553
  }) : isSearching ? /*#__PURE__*/jsx(DiscoverThemesDetail, {
33399
33554
  onBack: handleBackFromSearch,
33400
33555
  appId: credentials === null || credentials === void 0 ? void 0 : credentials.appId,
@@ -33414,7 +33569,13 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
33414
33569
  setWizardMethod: setWizardMethod,
33415
33570
  wizardTheme: wizardTheme,
33416
33571
  setWizardTheme: setWizardTheme,
33417
- onComplete: handleWizardComplete
33572
+ onComplete: handleWizardComplete,
33573
+ onExtract: handleUrlExtract,
33574
+ onMapToTheme: handleUrlMapToTheme
33575
+ }) : isFromUrl ? /*#__PURE__*/jsx(ThemeFromUrlPane, {
33576
+ onExtract: handleUrlExtract,
33577
+ onMapToTheme: handleUrlMapToTheme,
33578
+ onGenerate: handleUrlThemeGenerated
33418
33579
  }) : null
33419
33580
  }), !isCreating && themeSelected && isEditing === true && /*#__PURE__*/jsx(PanelTheme, {
33420
33581
  theme: themeSelected,
@@ -33435,13 +33596,13 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
33435
33596
  children: themeKeySelected
33436
33597
  })]
33437
33598
  })
33438
- }), (isCreating || isChoosingMode || isSearching) && /*#__PURE__*/jsx("div", {
33599
+ }), (isCreating || isChoosingMode || isSearching || isFromUrl) && /*#__PURE__*/jsx("div", {
33439
33600
  className: "flex flex-row space-x-2",
33440
33601
  children: /*#__PURE__*/jsx(Button, {
33441
33602
  onClick: handleCancelCreate,
33442
33603
  title: "Cancel"
33443
33604
  })
33444
- }), !isCreating && !isChoosingMode && !isSearching && isEditing === false && /*#__PURE__*/jsxs("div", {
33605
+ }), !isCreating && !isChoosingMode && !isSearching && !isFromUrl && isEditing === false && /*#__PURE__*/jsxs("div", {
33445
33606
  className: "flex flex-row space-x-2",
33446
33607
  children: [/*#__PURE__*/jsx(Button, {
33447
33608
  onClick: function onClick() {
@@ -33460,7 +33621,7 @@ var ThemeManagerModal = function ThemeManagerModal(_ref) {
33460
33621
  onClick: handleActivateTheme,
33461
33622
  title: "Activate"
33462
33623
  })]
33463
- }), !isCreating && !isChoosingMode && !isSearching && isEditing === true && /*#__PURE__*/jsxs("div", {
33624
+ }), !isCreating && !isChoosingMode && !isSearching && !isFromUrl && isEditing === true && /*#__PURE__*/jsxs("div", {
33464
33625
  className: "flex flex-row space-x-2",
33465
33626
  children: [/*#__PURE__*/jsx(Button, {
33466
33627
  onClick: function onClick() {
@@ -38944,6 +39105,68 @@ var ThemesSection = function ThemesSection(_ref) {
38944
39105
  function handleEdit() {
38945
39106
  if (onOpenThemeEditor) onOpenThemeEditor();
38946
39107
  }
39108
+ function handleUrlExtract(_x) {
39109
+ return _handleUrlExtract.apply(this, arguments);
39110
+ }
39111
+ function _handleUrlExtract() {
39112
+ _handleUrlExtract = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(url) {
39113
+ return _regeneratorRuntime.wrap(function (_context) {
39114
+ while (1) switch (_context.prev = _context.next) {
39115
+ case 0:
39116
+ return _context.abrupt("return", new Promise(function (resolve, reject) {
39117
+ dashApi.extractThemeFromUrl(url, function (e, result) {
39118
+ return resolve(result);
39119
+ }, function (e, err) {
39120
+ return reject(err);
39121
+ });
39122
+ }));
39123
+ case 1:
39124
+ case "end":
39125
+ return _context.stop();
39126
+ }
39127
+ }, _callee);
39128
+ }));
39129
+ return _handleUrlExtract.apply(this, arguments);
39130
+ }
39131
+ function handleUrlMapToTheme(_x2, _x3) {
39132
+ return _handleUrlMapToTheme.apply(this, arguments);
39133
+ }
39134
+ function _handleUrlMapToTheme() {
39135
+ _handleUrlMapToTheme = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(palette, roleAssignments) {
39136
+ var overrides, _i, _Object$entries, _Object$entries$_i, role, index;
39137
+ return _regeneratorRuntime.wrap(function (_context2) {
39138
+ while (1) switch (_context2.prev = _context2.next) {
39139
+ case 0:
39140
+ overrides = {};
39141
+ for (_i = 0, _Object$entries = Object.entries(roleAssignments); _i < _Object$entries.length; _i++) {
39142
+ _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), role = _Object$entries$_i[0], index = _Object$entries$_i[1];
39143
+ if (palette[index]) {
39144
+ overrides[role] = palette[index].hex;
39145
+ }
39146
+ }
39147
+ return _context2.abrupt("return", new Promise(function (resolve, reject) {
39148
+ dashApi.mapPaletteToTheme(palette, overrides, function (e, result) {
39149
+ return resolve((result === null || result === void 0 ? void 0 : result.theme) || result);
39150
+ }, function (e, err) {
39151
+ return reject(err);
39152
+ });
39153
+ }));
39154
+ case 1:
39155
+ case "end":
39156
+ return _context2.stop();
39157
+ }
39158
+ }, _callee2);
39159
+ }));
39160
+ return _handleUrlMapToTheme.apply(this, arguments);
39161
+ }
39162
+ function handleUrlThemeGenerated(theme) {
39163
+ if (!dashApi || !appId) return;
39164
+ var key = theme.id || "theme-".concat(Date.now());
39165
+ var finalTheme = _objectSpread$5(_objectSpread$5({}, theme), {}, {
39166
+ id: key
39167
+ });
39168
+ saveAndSelectTheme(key, finalTheme);
39169
+ }
38947
39170
  var listContent = /*#__PURE__*/jsxs("div", {
38948
39171
  className: "flex flex-col h-full",
38949
39172
  children: [/*#__PURE__*/jsx("div", {
@@ -39036,6 +39259,9 @@ var ThemesSection = function ThemesSection(_ref) {
39036
39259
  },
39037
39260
  onCreateNew: function onCreateNew() {
39038
39261
  setGenerateMode(GENERATE_MODES.WIZARD);
39262
+ },
39263
+ onCreateFromUrl: function onCreateFromUrl() {
39264
+ setGenerateMode(GENERATE_MODES.FROM_URL);
39039
39265
  }
39040
39266
  });
39041
39267
  } else if (generateMode === GENERATE_MODES.WIZARD) {
@@ -39046,12 +39272,20 @@ var ThemesSection = function ThemesSection(_ref) {
39046
39272
  setWizardMethod: setWizardMethod,
39047
39273
  wizardTheme: wizardTheme,
39048
39274
  setWizardTheme: setWizardTheme,
39049
- onComplete: handleWizardComplete
39275
+ onComplete: handleWizardComplete,
39276
+ onExtract: handleUrlExtract,
39277
+ onMapToTheme: handleUrlMapToTheme
39050
39278
  });
39051
39279
  } else if (generateMode === GENERATE_MODES.PRESETS) {
39052
39280
  detailContent = /*#__PURE__*/jsx(PresetGallery, {
39053
39281
  onSelect: handleCreateFromPreset
39054
39282
  });
39283
+ } else if (generateMode === GENERATE_MODES.FROM_URL) {
39284
+ detailContent = /*#__PURE__*/jsx(ThemeFromUrlPane, {
39285
+ onExtract: handleUrlExtract,
39286
+ onMapToTheme: handleUrlMapToTheme,
39287
+ onGenerate: handleUrlThemeGenerated
39288
+ });
39055
39289
  } else if (generateMode === GENERATE_MODES.COLOR) {
39056
39290
  detailContent = /*#__PURE__*/jsx(ColorHarmonyPicker, {
39057
39291
  onGenerate: handleCreateFromHarmony
@@ -46040,5 +46274,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
46040
46274
 
46041
46275
  ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
46042
46276
 
46043
- 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, 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, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
46277
+ 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, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
46044
46278
  //# sourceMappingURL=index.esm.js.map