@trops/dash-core 0.1.126 → 0.1.128

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.js CHANGED
@@ -4008,13 +4008,21 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
4008
4008
  // Reset state when modal opens
4009
4009
  React.useEffect(function () {
4010
4010
  if (open) {
4011
+ var _Object$entries$sort$;
4011
4012
  setCreationMethod(null);
4012
4013
  setDashboardName("");
4013
4014
  setActiveStep(0);
4014
4015
  setLocalMenuItems(menuItems || []);
4015
4016
  setSelectedMenuId(menuItems && menuItems.length > 0 ? menuItems[0].id : 1);
4016
4017
  setSelectedTemplate(layoutTemplates[0]);
4017
- setSelectedThemeKey(null);
4018
+ var fallback = themes ? ((_Object$entries$sort$ = Object.entries(themes).sort(function (_ref2, _ref3) {
4019
+ var _ref4 = _slicedToArray(_ref2, 2),
4020
+ a = _ref4[1];
4021
+ var _ref5 = _slicedToArray(_ref3, 2),
4022
+ b = _ref5[1];
4023
+ return (a.name || "").localeCompare(b.name || "");
4024
+ })[0]) === null || _Object$entries$sort$ === void 0 ? void 0 : _Object$entries$sort$[0]) || null : null;
4025
+ setSelectedThemeKey(appThemeKey || fallback);
4018
4026
  setImportedWorkspace(null);
4019
4027
  setSelectedFile(null);
4020
4028
  setIsCreatingFolder(false);
@@ -4340,7 +4348,7 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
4340
4348
  textColor: "text-gray-300"
4341
4349
  }), /*#__PURE__*/jsxRuntime.jsx("p", {
4342
4350
  className: "text-base font-normal text-gray-400",
4343
- children: "Choose a theme for this dashboard, or use the application default."
4351
+ children: "Choose a theme for this dashboard."
4344
4352
  }), selectedThemeKey !== null && themes && themes[selectedThemeKey] && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
4345
4353
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
4346
4354
  className: "flex flex-row items-center space-x-2 mt-4 pt-4 border-t border-gray-700",
@@ -4361,45 +4369,19 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
4361
4369
  className: "w-8 h-8 rounded bg-".concat(themes[selectedThemeKey].tertiary, "-500")
4362
4370
  })]
4363
4371
  })]
4364
- }), selectedThemeKey === null && /*#__PURE__*/jsxRuntime.jsxs("div", {
4365
- className: "flex flex-row items-center space-x-2 mt-4 pt-4 border-t border-gray-700",
4366
- children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
4367
- icon: "palette",
4368
- className: "text-blue-400"
4369
- }), /*#__PURE__*/jsxRuntime.jsx("span", {
4370
- className: "text-sm font-medium text-gray-300",
4371
- children: "App Default"
4372
- })]
4373
4372
  })]
4374
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
4373
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
4375
4374
  className: "flex flex-col w-2/3 p-6 overflow-y-auto space-y-2",
4376
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
4377
- className: "flex flex-row items-center px-4 py-3 rounded-lg cursor-pointer transition-all ".concat(selectedThemeKey === null ? "ring-2 ring-blue-500 bg-gray-700" : "hover:bg-gray-750 hover:ring-1 hover:ring-gray-600 bg-gray-800/50"),
4378
- onClick: function onClick() {
4379
- return setSelectedThemeKey(null);
4380
- },
4381
- children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
4382
- icon: "palette",
4383
- className: "w-5 h-5 mr-3 ".concat(selectedThemeKey === null ? "text-blue-400" : "text-gray-400")
4384
- }), /*#__PURE__*/jsxRuntime.jsx("span", {
4385
- className: "text-sm font-medium ".concat(selectedThemeKey === null ? "text-blue-300" : "text-gray-300"),
4386
- children: "App Default"
4387
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
4388
- className: "flex flex-row space-x-1 ml-auto",
4389
- children: themes && appThemeKey && themes[appThemeKey] && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
4390
- children: [themes[appThemeKey].primary && /*#__PURE__*/jsxRuntime.jsx("div", {
4391
- className: "w-4 h-4 rounded bg-".concat(themes[appThemeKey].primary, "-500")
4392
- }), themes[appThemeKey].secondary && /*#__PURE__*/jsxRuntime.jsx("div", {
4393
- className: "w-4 h-4 rounded bg-".concat(themes[appThemeKey].secondary, "-500")
4394
- }), themes[appThemeKey].tertiary && /*#__PURE__*/jsxRuntime.jsx("div", {
4395
- className: "w-4 h-4 rounded bg-".concat(themes[appThemeKey].tertiary, "-500")
4396
- })]
4397
- })
4398
- })]
4399
- }), themes && Object.entries(themes).map(function (_ref2) {
4400
- var _ref3 = _slicedToArray(_ref2, 2),
4401
- key = _ref3[0],
4402
- t = _ref3[1];
4375
+ children: themes && Object.entries(themes).sort(function (_ref6, _ref7) {
4376
+ var _ref8 = _slicedToArray(_ref6, 2),
4377
+ a = _ref8[1];
4378
+ var _ref9 = _slicedToArray(_ref7, 2),
4379
+ b = _ref9[1];
4380
+ return (a.name || "").localeCompare(b.name || "");
4381
+ }).map(function (_ref0) {
4382
+ var _ref1 = _slicedToArray(_ref0, 2),
4383
+ key = _ref1[0],
4384
+ t = _ref1[1];
4403
4385
  var isThemeSelected = selectedThemeKey === key;
4404
4386
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
4405
4387
  className: "flex flex-row items-center px-4 py-3 rounded-lg cursor-pointer transition-all ".concat(isThemeSelected ? "ring-2 ring-blue-500 bg-gray-700" : "hover:bg-gray-750 hover:ring-1 hover:ring-gray-600 bg-gray-800/50"),
@@ -4423,7 +4405,7 @@ var LayoutManagerModal = function LayoutManagerModal(_ref) {
4423
4405
  })]
4424
4406
  })]
4425
4407
  }, key);
4426
- })]
4408
+ })
4427
4409
  })]
4428
4410
  });
4429
4411
  }
@@ -32702,7 +32684,9 @@ var DashboardDetail = function DashboardDetail(_ref2) {
32702
32684
  _ref2$credentials = _ref2.credentials,
32703
32685
  credentials = _ref2$credentials === void 0 ? null : _ref2$credentials,
32704
32686
  _ref2$onReloadWorkspa = _ref2.onReloadWorkspaces,
32705
- onReloadWorkspaces = _ref2$onReloadWorkspa === void 0 ? null : _ref2$onReloadWorkspa;
32687
+ onReloadWorkspaces = _ref2$onReloadWorkspa === void 0 ? null : _ref2$onReloadWorkspa,
32688
+ _ref2$onOpenWorkspace = _ref2.onOpenWorkspace,
32689
+ onOpenWorkspace = _ref2$onOpenWorkspace === void 0 ? null : _ref2$onOpenWorkspace;
32706
32690
  var ws = workspace;
32707
32691
  var isEditing = editingId === ws.id;
32708
32692
  var widgetCount = (ws.layout || []).length;
@@ -32780,18 +32764,21 @@ var DashboardDetail = function DashboardDetail(_ref2) {
32780
32764
  value: String(m.id)
32781
32765
  };
32782
32766
  });
32783
- var themeOptions = [{
32784
- label: "App Default",
32785
- value: ""
32786
- }].concat(_toConsumableArray(Object.entries(themes || {}).map(function (_ref3) {
32787
- var _ref4 = _slicedToArray(_ref3, 2),
32788
- key = _ref4[0],
32789
- t = _ref4[1];
32767
+ var themeOptions = _toConsumableArray(Object.entries(themes || {}).sort(function (_ref3, _ref4) {
32768
+ var _ref5 = _slicedToArray(_ref3, 2),
32769
+ a = _ref5[1];
32770
+ var _ref6 = _slicedToArray(_ref4, 2),
32771
+ b = _ref6[1];
32772
+ return (a.name || "").localeCompare(b.name || "");
32773
+ }).map(function (_ref7) {
32774
+ var _ref8 = _slicedToArray(_ref7, 2),
32775
+ key = _ref8[0],
32776
+ t = _ref8[1];
32790
32777
  return {
32791
32778
  label: t.name || key,
32792
32779
  value: key
32793
32780
  };
32794
- })));
32781
+ }));
32795
32782
  function handleChangeFolder(val) {
32796
32783
  if (!dashApi || !appId) return;
32797
32784
  var updated = DashReact.deepCopy(ws);
@@ -32849,9 +32836,17 @@ var DashboardDetail = function DashboardDetail(_ref2) {
32849
32836
  onClick: onCancelRename,
32850
32837
  size: "sm"
32851
32838
  })]
32852
- }) : /*#__PURE__*/jsxRuntime.jsx(DashReact.SubHeading, {
32853
- title: ws.name || "Untitled",
32854
- padding: false
32839
+ }) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
32840
+ children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.SubHeading, {
32841
+ title: ws.name || "Untitled",
32842
+ padding: false
32843
+ }), onOpenWorkspace && /*#__PURE__*/jsxRuntime.jsx(DashReact.ButtonIcon, {
32844
+ icon: "arrow-up-right-from-square",
32845
+ onClick: function onClick() {
32846
+ return onOpenWorkspace(ws);
32847
+ },
32848
+ size: "sm"
32849
+ })]
32855
32850
  })
32856
32851
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
32857
32852
  className: "flex-shrink-0 flex flex-col space-y-3",
@@ -32870,7 +32865,7 @@ var DashboardDetail = function DashboardDetail(_ref2) {
32870
32865
  return handleChangeTheme(val);
32871
32866
  },
32872
32867
  options: themeOptions,
32873
- placeholder: "App Default"
32868
+ placeholder: "Select a theme"
32874
32869
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
32875
32870
  className: "flex flex-row items-center gap-2",
32876
32871
  children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
@@ -32971,6 +32966,8 @@ var DashboardsSection = function DashboardsSection(_ref) {
32971
32966
  credentials = _ref$credentials === void 0 ? null : _ref$credentials,
32972
32967
  _ref$onReloadWorkspac = _ref.onReloadWorkspaces,
32973
32968
  onReloadWorkspaces = _ref$onReloadWorkspac === void 0 ? null : _ref$onReloadWorkspac,
32969
+ _ref$onOpenWorkspace = _ref.onOpenWorkspace,
32970
+ onOpenWorkspace = _ref$onOpenWorkspace === void 0 ? null : _ref$onOpenWorkspace,
32974
32971
  _ref$createRequested = _ref.createRequested,
32975
32972
  createRequested = _ref$createRequested === void 0 ? false : _ref$createRequested,
32976
32973
  _ref$onCreateAcknowle = _ref.onCreateAcknowledged,
@@ -33225,7 +33222,8 @@ var DashboardsSection = function DashboardsSection(_ref) {
33225
33222
  },
33226
33223
  dashApi: dashApi,
33227
33224
  credentials: credentials,
33228
- onReloadWorkspaces: onReloadWorkspaces
33225
+ onReloadWorkspaces: onReloadWorkspaces,
33226
+ onOpenWorkspace: onOpenWorkspace
33229
33227
  });
33230
33228
  }
33231
33229
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -39355,6 +39353,8 @@ var AppSettingsModal = function AppSettingsModal(_ref) {
39355
39353
  onReloadWorkspaces = _ref$onReloadWorkspac === void 0 ? null : _ref$onReloadWorkspac,
39356
39354
  _ref$onReloadMenuItem = _ref.onReloadMenuItems,
39357
39355
  onReloadMenuItems = _ref$onReloadMenuItem === void 0 ? null : _ref$onReloadMenuItem,
39356
+ _ref$onOpenWorkspace = _ref.onOpenWorkspace,
39357
+ onOpenWorkspace = _ref$onOpenWorkspace === void 0 ? null : _ref$onOpenWorkspace,
39358
39358
  _ref$onOpenThemeEdito = _ref.onOpenThemeEditor,
39359
39359
  onOpenThemeEditor = _ref$onOpenThemeEdito === void 0 ? null : _ref$onOpenThemeEdito,
39360
39360
  _ref$authStatus = _ref.authStatus,
@@ -39450,7 +39450,8 @@ var AppSettingsModal = function AppSettingsModal(_ref) {
39450
39450
  createRequested: createRequested,
39451
39451
  onCreateAcknowledged: function onCreateAcknowledged() {
39452
39452
  return setCreateRequested(false);
39453
- }
39453
+ },
39454
+ onOpenWorkspace: onOpenWorkspace
39454
39455
  }), activeSection === "folders" && /*#__PURE__*/jsxRuntime.jsx(FoldersSection, {
39455
39456
  menuItems: menuItems,
39456
39457
  workspaces: workspaces,
@@ -41932,6 +41933,10 @@ var DashboardStageInner = function DashboardStageInner(_ref2) {
41932
41933
  credentials: credentials,
41933
41934
  onReloadWorkspaces: loadWorkspaces,
41934
41935
  onReloadMenuItems: loadMenuItems,
41936
+ onOpenWorkspace: function onOpenWorkspace(ws) {
41937
+ handleOpenTab(ws);
41938
+ setIsAppSettingsOpen(false);
41939
+ },
41935
41940
  onOpenThemeEditor: function onOpenThemeEditor() {
41936
41941
  setIsAppSettingsOpen(false);
41937
41942
  setIsThemeManagerOpen(true);
@@ -42191,10 +42196,16 @@ var DashboardHeader = function DashboardHeader(_ref) {
42191
42196
  className: "w-40 shrink-0"
42192
42197
  }), onThemeChange && Object.keys(resolvedThemes).length > 0 && /*#__PURE__*/jsxRuntime.jsx(DashReact.SelectInput, {
42193
42198
  value: workspaceSelected.themeKey || "",
42194
- options: Object.entries(resolvedThemes).map(function (_ref2) {
42195
- var _ref3 = _slicedToArray(_ref2, 2),
42196
- key = _ref3[0],
42197
- t = _ref3[1];
42199
+ options: Object.entries(resolvedThemes).sort(function (_ref2, _ref3) {
42200
+ var _ref4 = _slicedToArray(_ref2, 2),
42201
+ a = _ref4[1];
42202
+ var _ref5 = _slicedToArray(_ref3, 2),
42203
+ b = _ref5[1];
42204
+ return (a.name || "").localeCompare(b.name || "");
42205
+ }).map(function (_ref6) {
42206
+ var _ref7 = _slicedToArray(_ref6, 2),
42207
+ key = _ref7[0],
42208
+ t = _ref7[1];
42198
42209
  return {
42199
42210
  label: t.name || key,
42200
42211
  value: key,
@@ -42202,7 +42213,7 @@ var DashboardHeader = function DashboardHeader(_ref) {
42202
42213
  };
42203
42214
  }),
42204
42215
  onChange: onThemeChange,
42205
- placeholder: "Theme",
42216
+ placeholder: "Select a theme",
42206
42217
  backgroundColor: currentTheme["bg-primary-very-dark"],
42207
42218
  textColor: currentTheme["text-primary-medium"],
42208
42219
  borderColor: currentTheme["border-primary-dark"],