@trops/dash-core 0.1.110 → 0.1.112

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
@@ -35802,12 +35802,6 @@ var ThemesSection = function ThemesSection(_ref) {
35802
35802
  saveAndSelectTheme(key, preset);
35803
35803
  setGenerateMode(GENERATE_MODES.NONE);
35804
35804
  }
35805
- function handleCreateFromRandom() {
35806
- if (!dashApi || !appId) return;
35807
- var theme = generateRandomTheme();
35808
- var key = theme.id;
35809
- saveAndSelectTheme(key, theme);
35810
- }
35811
35805
  function handleCreateFromHarmony(theme) {
35812
35806
  if (!dashApi || !appId) return;
35813
35807
  var key = theme.id;
@@ -35891,43 +35885,6 @@ var ThemesSection = function ThemesSection(_ref) {
35891
35885
  className: "text-xs opacity-50",
35892
35886
  children: themeVariant === "dark" ? "Dark" : "Light"
35893
35887
  })]
35894
- }), dashApi && appId && /*#__PURE__*/jsxRuntime.jsxs("div", {
35895
- className: "flex flex-col gap-1 px-2 py-3 border-b ".concat(rowStyles.borderColor || ""),
35896
- children: [/*#__PURE__*/jsxRuntime.jsx("span", {
35897
- className: "text-[10px] font-semibold opacity-30 uppercase tracking-wider px-2 pb-1",
35898
- children: "Generate"
35899
- }), /*#__PURE__*/jsxRuntime.jsx(DashReact.Sidebar.Item, {
35900
- icon: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
35901
- icon: "swatchbook",
35902
- className: "h-3 w-3"
35903
- }),
35904
- active: generateMode === GENERATE_MODES.PRESETS,
35905
- onClick: function onClick() {
35906
- setGenerateMode(GENERATE_MODES.PRESETS);
35907
- setSelectedThemeKey(null);
35908
- },
35909
- className: generateMode === GENERATE_MODES.PRESETS ? "bg-white/10 opacity-100" : "",
35910
- children: "From Presets"
35911
- }), /*#__PURE__*/jsxRuntime.jsx(DashReact.Sidebar.Item, {
35912
- icon: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
35913
- icon: "shuffle",
35914
- className: "h-3 w-3"
35915
- }),
35916
- onClick: handleCreateFromRandom,
35917
- children: "Random"
35918
- }), /*#__PURE__*/jsxRuntime.jsx(DashReact.Sidebar.Item, {
35919
- icon: /*#__PURE__*/jsxRuntime.jsx(DashReact.FontAwesomeIcon, {
35920
- icon: "droplet",
35921
- className: "h-3 w-3"
35922
- }),
35923
- active: generateMode === GENERATE_MODES.COLOR,
35924
- onClick: function onClick() {
35925
- setGenerateMode(GENERATE_MODES.COLOR);
35926
- setSelectedThemeKey(null);
35927
- },
35928
- className: generateMode === GENERATE_MODES.COLOR ? "bg-white/10 opacity-100" : "",
35929
- children: "From Color"
35930
- })]
35931
35888
  }), /*#__PURE__*/jsxRuntime.jsxs(DashReact.Sidebar.Content, {
35932
35889
  children: [themeEntries.map(function (_ref4) {
35933
35890
  var _ref5 = _slicedToArray(_ref4, 2),
@@ -37980,6 +37937,13 @@ var AuthenticatedView = function AuthenticatedView(_ref3) {
37980
37937
  return p.name === updatedPkg.name && p.scope === updatedPkg.scope ? _objectSpread$2(_objectSpread$2({}, p), updatedPkg) : p;
37981
37938
  });
37982
37939
  });
37940
+ },
37941
+ onPackageDeleted: function onPackageDeleted(deletedPkg) {
37942
+ setPackages(function (prev) {
37943
+ return prev.filter(function (p) {
37944
+ return !(p.name === deletedPkg.name && p.scope === deletedPkg.scope);
37945
+ });
37946
+ });
37983
37947
  }
37984
37948
  })]
37985
37949
  });
@@ -38120,7 +38084,8 @@ var ProfileCard = function ProfileCard(_ref4) {
38120
38084
  var PackagesList = function PackagesList(_ref5) {
38121
38085
  var packages = _ref5.packages,
38122
38086
  loading = _ref5.loading,
38123
- onPackageUpdated = _ref5.onPackageUpdated;
38087
+ onPackageUpdated = _ref5.onPackageUpdated,
38088
+ onPackageDeleted = _ref5.onPackageDeleted;
38124
38089
  var _useState1 = React.useState(null),
38125
38090
  _useState10 = _slicedToArray(_useState1, 2),
38126
38091
  editingPkg = _useState10[0],
@@ -38160,6 +38125,10 @@ var PackagesList = function PackagesList(_ref5) {
38160
38125
  onSaved: function onSaved(updated) {
38161
38126
  setEditingPkg(null);
38162
38127
  onPackageUpdated(updated);
38128
+ },
38129
+ onDeleted: function onDeleted() {
38130
+ setEditingPkg(null);
38131
+ onPackageDeleted(pkg);
38163
38132
  }
38164
38133
  }, "".concat(pkg.scope, "/").concat(pkg.name));
38165
38134
  })
@@ -38171,7 +38140,8 @@ var PackageItem = function PackageItem(_ref6) {
38171
38140
  isEditing = _ref6.isEditing,
38172
38141
  onEdit = _ref6.onEdit,
38173
38142
  onCancel = _ref6.onCancel,
38174
- onSaved = _ref6.onSaved;
38143
+ onSaved = _ref6.onSaved,
38144
+ onDeleted = _ref6.onDeleted;
38175
38145
  var _useState11 = React.useState({
38176
38146
  displayName: pkg.displayName || "",
38177
38147
  description: pkg.description || "",
@@ -38186,6 +38156,14 @@ var PackageItem = function PackageItem(_ref6) {
38186
38156
  _useState14 = _slicedToArray(_useState13, 2),
38187
38157
  saving = _useState14[0],
38188
38158
  setSaving = _useState14[1];
38159
+ var _useState15 = React.useState(false),
38160
+ _useState16 = _slicedToArray(_useState15, 2),
38161
+ confirmingDelete = _useState16[0],
38162
+ setConfirmingDelete = _useState16[1];
38163
+ var _useState17 = React.useState(false),
38164
+ _useState18 = _slicedToArray(_useState17, 2),
38165
+ deleting = _useState18[0],
38166
+ setDeleting = _useState18[1];
38189
38167
  function handleSave() {
38190
38168
  return _handleSave2.apply(this, arguments);
38191
38169
  }
@@ -38230,6 +38208,42 @@ var PackageItem = function PackageItem(_ref6) {
38230
38208
  }));
38231
38209
  return _handleSave2.apply(this, arguments);
38232
38210
  }
38211
+ function handleDelete() {
38212
+ return _handleDelete.apply(this, arguments);
38213
+ }
38214
+ function _handleDelete() {
38215
+ _handleDelete = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
38216
+ var _window$mainApi4, result;
38217
+ return _regeneratorRuntime.wrap(function (_context4) {
38218
+ while (1) switch (_context4.prev = _context4.next) {
38219
+ case 0:
38220
+ setDeleting(true);
38221
+ _context4.prev = 1;
38222
+ _context4.next = 2;
38223
+ return (_window$mainApi4 = window.mainApi) === null || _window$mainApi4 === void 0 || (_window$mainApi4 = _window$mainApi4.registryAuth) === null || _window$mainApi4 === void 0 ? void 0 : _window$mainApi4.deletePackage(pkg.scope, pkg.name);
38224
+ case 2:
38225
+ result = _context4.sent;
38226
+ if (result) {
38227
+ onDeleted === null || onDeleted === void 0 || onDeleted();
38228
+ }
38229
+ _context4.next = 4;
38230
+ break;
38231
+ case 3:
38232
+ _context4.prev = 3;
38233
+ _context4["catch"](1);
38234
+ case 4:
38235
+ _context4.prev = 4;
38236
+ setDeleting(false);
38237
+ setConfirmingDelete(false);
38238
+ return _context4.finish(4);
38239
+ case 5:
38240
+ case "end":
38241
+ return _context4.stop();
38242
+ }
38243
+ }, _callee4, null, [[1, 3, 4, 5]]);
38244
+ }));
38245
+ return _handleDelete.apply(this, arguments);
38246
+ }
38233
38247
  var updatedAt = pkg.updatedAt ? new Date(pkg.updatedAt).toLocaleDateString() : null;
38234
38248
  if (isEditing) {
38235
38249
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -38291,24 +38305,53 @@ var PackageItem = function PackageItem(_ref6) {
38291
38305
  })]
38292
38306
  })]
38293
38307
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
38294
- className: "flex gap-2",
38295
- children: [/*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
38296
- title: saving ? "Saving..." : "Save",
38297
- onClick: handleSave,
38298
- disabled: saving
38299
- }), /*#__PURE__*/jsxRuntime.jsx("button", {
38300
- type: "button",
38301
- onClick: onCancel,
38302
- className: "text-xs opacity-50 hover:opacity-80 cursor-pointer",
38303
- children: "Cancel"
38308
+ className: "flex items-center justify-between",
38309
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
38310
+ children: confirmingDelete ? /*#__PURE__*/jsxRuntime.jsxs("div", {
38311
+ className: "flex items-center gap-2",
38312
+ children: [/*#__PURE__*/jsxRuntime.jsx("button", {
38313
+ type: "button",
38314
+ onClick: handleDelete,
38315
+ disabled: deleting,
38316
+ className: "text-xs text-red-400 hover:text-red-300 cursor-pointer font-medium",
38317
+ children: deleting ? "Deleting..." : "Confirm Delete"
38318
+ }), /*#__PURE__*/jsxRuntime.jsx("button", {
38319
+ type: "button",
38320
+ onClick: function onClick() {
38321
+ return setConfirmingDelete(false);
38322
+ },
38323
+ className: "text-xs opacity-50 hover:opacity-80 cursor-pointer",
38324
+ children: "Cancel"
38325
+ })]
38326
+ }) : /*#__PURE__*/jsxRuntime.jsx("button", {
38327
+ type: "button",
38328
+ onClick: function onClick() {
38329
+ return setConfirmingDelete(true);
38330
+ },
38331
+ className: "text-xs text-red-400/70 hover:text-red-400 cursor-pointer",
38332
+ children: "Delete"
38333
+ })
38334
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
38335
+ className: "flex items-center gap-2",
38336
+ children: [/*#__PURE__*/jsxRuntime.jsx("button", {
38337
+ type: "button",
38338
+ onClick: onCancel,
38339
+ className: "text-xs opacity-50 hover:opacity-80 cursor-pointer",
38340
+ children: "Cancel"
38341
+ }), /*#__PURE__*/jsxRuntime.jsx(DashReact.Button, {
38342
+ title: saving ? "Saving..." : "Save",
38343
+ onClick: handleSave,
38344
+ disabled: saving
38345
+ })]
38304
38346
  })]
38305
38347
  })]
38306
38348
  });
38307
38349
  }
38308
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
38309
- className: "bg-white/5 rounded-lg p-3 flex items-start justify-between",
38310
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
38311
- className: "flex-1 min-w-0 space-y-1",
38350
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
38351
+ onClick: onEdit,
38352
+ className: "bg-white/5 rounded-lg p-3 cursor-pointer hover:bg-white/10 transition-colors",
38353
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
38354
+ className: "space-y-1",
38312
38355
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
38313
38356
  className: "flex items-center gap-2",
38314
38357
  children: [/*#__PURE__*/jsxRuntime.jsx("span", {
@@ -38328,12 +38371,7 @@ var PackageItem = function PackageItem(_ref6) {
38328
38371
  className: "text-[10px] opacity-40",
38329
38372
  children: ["Updated ", updatedAt]
38330
38373
  })]
38331
- }), /*#__PURE__*/jsxRuntime.jsx("button", {
38332
- type: "button",
38333
- onClick: onEdit,
38334
- className: "flex-shrink-0 ml-2 text-xs opacity-40 hover:opacity-80 cursor-pointer",
38335
- children: "Edit"
38336
- })]
38374
+ })
38337
38375
  });
38338
38376
  };
38339
38377
  var EditField = function EditField(_ref7) {