@juv/codego-react-ui 3.5.0 → 3.5.1

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.cjs CHANGED
@@ -2237,13 +2237,13 @@ function BulletinBoard({
2237
2237
  const categories = React8.useMemo(() => {
2238
2238
  if (categoriesProp) return categoriesProp;
2239
2239
  const set = /* @__PURE__ */ new Set();
2240
- items.forEach((i) => {
2240
+ (items ?? []).forEach((i) => {
2241
2241
  if (i.category) set.add(i.category);
2242
2242
  });
2243
2243
  return Array.from(set);
2244
2244
  }, [items, categoriesProp]);
2245
2245
  const filtered = React8.useMemo(() => {
2246
- let list = items;
2246
+ let list = items ?? [];
2247
2247
  if (search.trim()) {
2248
2248
  const q = search.toLowerCase();
2249
2249
  list = list.filter(
@@ -2252,7 +2252,7 @@ function BulletinBoard({
2252
2252
  }
2253
2253
  if (category) list = list.filter((i) => i.category === category);
2254
2254
  return [...list].sort((a, b) => (b.pinned ? 1 : 0) - (a.pinned ? 1 : 0));
2255
- }, [items, search, category]);
2255
+ }, [items ?? [], search, category]);
2256
2256
  const showToolbar = searchable || filterable && categories.length > 0;
2257
2257
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: cn("flex flex-col gap-4", className), children: [
2258
2258
  showHeader && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
@@ -7651,8 +7651,10 @@ function Table({
7651
7651
  onBulkDelete?.(selectedIds);
7652
7652
  setSelectedIds([]);
7653
7653
  defaultActions?.onReload?.();
7654
+ toast({ variant: "success", title: "Deleted", description: `${selectedIds.length} record${selectedIds.length !== 1 ? "s" : ""} deleted successfully.` });
7654
7655
  } catch (err) {
7655
- console.error("[Table] Bulk delete selected failed:", err?.response?.data?.message ?? err.message);
7656
+ const msg = err?.response?.data?.message ?? err.message ?? "Bulk delete failed";
7657
+ toast({ variant: "error", title: "Delete failed", description: msg });
7656
7658
  } finally {
7657
7659
  setBulkLoading(false);
7658
7660
  }
@@ -7668,8 +7670,10 @@ function Table({
7668
7670
  setTableData([]);
7669
7671
  setSelectedIds([]);
7670
7672
  defaultActions?.onReload?.();
7673
+ toast({ variant: "success", title: "Deleted", description: "All records deleted successfully." });
7671
7674
  } catch (err) {
7672
- console.error("[Table] Delete all failed:", err?.response?.data?.message ?? err.message);
7675
+ const msg = err?.response?.data?.message ?? err.message ?? "Delete all failed";
7676
+ toast({ variant: "error", title: "Delete failed", description: msg });
7673
7677
  } finally {
7674
7678
  setBulkLoading(false);
7675
7679
  }
@@ -65411,13 +65411,13 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
65411
65411
  const categories = React8.useMemo(() => {
65412
65412
  if (categoriesProp) return categoriesProp;
65413
65413
  const set = /* @__PURE__ */ new Set();
65414
- items.forEach((i) => {
65414
+ (items ?? []).forEach((i) => {
65415
65415
  if (i.category) set.add(i.category);
65416
65416
  });
65417
65417
  return Array.from(set);
65418
65418
  }, [items, categoriesProp]);
65419
65419
  const filtered = React8.useMemo(() => {
65420
- let list = items;
65420
+ let list = items ?? [];
65421
65421
  if (search.trim()) {
65422
65422
  const q = search.toLowerCase();
65423
65423
  list = list.filter(
@@ -65426,7 +65426,7 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
65426
65426
  }
65427
65427
  if (category) list = list.filter((i) => i.category === category);
65428
65428
  return [...list].sort((a, b) => (b.pinned ? 1 : 0) - (a.pinned ? 1 : 0));
65429
- }, [items, search, category]);
65429
+ }, [items ?? [], search, category]);
65430
65430
  const showToolbar = searchable || filterable && categories.length > 0;
65431
65431
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: cn("flex flex-col gap-4", className), children: [
65432
65432
  showHeader && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
@@ -70809,8 +70809,10 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
70809
70809
  onBulkDelete?.(selectedIds);
70810
70810
  setSelectedIds([]);
70811
70811
  defaultActions?.onReload?.();
70812
+ toast({ variant: "success", title: "Deleted", description: `${selectedIds.length} record${selectedIds.length !== 1 ? "s" : ""} deleted successfully.` });
70812
70813
  } catch (err) {
70813
- console.error("[Table] Bulk delete selected failed:", err?.response?.data?.message ?? err.message);
70814
+ const msg = err?.response?.data?.message ?? err.message ?? "Bulk delete failed";
70815
+ toast({ variant: "error", title: "Delete failed", description: msg });
70814
70816
  } finally {
70815
70817
  setBulkLoading(false);
70816
70818
  }
@@ -70826,8 +70828,10 @@ ${n2.shaderPreludeCode.vertexSource}`, define: n2.shaderDefine }, defaultProject
70826
70828
  setTableData([]);
70827
70829
  setSelectedIds([]);
70828
70830
  defaultActions?.onReload?.();
70831
+ toast({ variant: "success", title: "Deleted", description: "All records deleted successfully." });
70829
70832
  } catch (err) {
70830
- console.error("[Table] Delete all failed:", err?.response?.data?.message ?? err.message);
70833
+ const msg = err?.response?.data?.message ?? err.message ?? "Delete all failed";
70834
+ toast({ variant: "error", title: "Delete failed", description: msg });
70831
70835
  } finally {
70832
70836
  setBulkLoading(false);
70833
70837
  }
package/dist/index.js CHANGED
@@ -2116,13 +2116,13 @@ function BulletinBoard({
2116
2116
  const categories = React8.useMemo(() => {
2117
2117
  if (categoriesProp) return categoriesProp;
2118
2118
  const set = /* @__PURE__ */ new Set();
2119
- items.forEach((i) => {
2119
+ (items ?? []).forEach((i) => {
2120
2120
  if (i.category) set.add(i.category);
2121
2121
  });
2122
2122
  return Array.from(set);
2123
2123
  }, [items, categoriesProp]);
2124
2124
  const filtered = React8.useMemo(() => {
2125
- let list = items;
2125
+ let list = items ?? [];
2126
2126
  if (search.trim()) {
2127
2127
  const q = search.toLowerCase();
2128
2128
  list = list.filter(
@@ -2131,7 +2131,7 @@ function BulletinBoard({
2131
2131
  }
2132
2132
  if (category) list = list.filter((i) => i.category === category);
2133
2133
  return [...list].sort((a, b) => (b.pinned ? 1 : 0) - (a.pinned ? 1 : 0));
2134
- }, [items, search, category]);
2134
+ }, [items ?? [], search, category]);
2135
2135
  const showToolbar = searchable || filterable && categories.length > 0;
2136
2136
  return /* @__PURE__ */ jsxs9("div", { className: cn("flex flex-col gap-4", className), children: [
2137
2137
  showHeader && /* @__PURE__ */ jsxs9("div", { className: "flex items-center justify-between gap-2", children: [
@@ -7530,8 +7530,10 @@ function Table({
7530
7530
  onBulkDelete?.(selectedIds);
7531
7531
  setSelectedIds([]);
7532
7532
  defaultActions?.onReload?.();
7533
+ toast({ variant: "success", title: "Deleted", description: `${selectedIds.length} record${selectedIds.length !== 1 ? "s" : ""} deleted successfully.` });
7533
7534
  } catch (err) {
7534
- console.error("[Table] Bulk delete selected failed:", err?.response?.data?.message ?? err.message);
7535
+ const msg = err?.response?.data?.message ?? err.message ?? "Bulk delete failed";
7536
+ toast({ variant: "error", title: "Delete failed", description: msg });
7535
7537
  } finally {
7536
7538
  setBulkLoading(false);
7537
7539
  }
@@ -7547,8 +7549,10 @@ function Table({
7547
7549
  setTableData([]);
7548
7550
  setSelectedIds([]);
7549
7551
  defaultActions?.onReload?.();
7552
+ toast({ variant: "success", title: "Deleted", description: "All records deleted successfully." });
7550
7553
  } catch (err) {
7551
- console.error("[Table] Delete all failed:", err?.response?.data?.message ?? err.message);
7554
+ const msg = err?.response?.data?.message ?? err.message ?? "Delete all failed";
7555
+ toast({ variant: "error", title: "Delete failed", description: msg });
7552
7556
  } finally {
7553
7557
  setBulkLoading(false);
7554
7558
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "registry": "https://registry.npmjs.org/",
5
5
  "access": "public"
6
6
  },
7
- "version": "3.5.0",
7
+ "version": "3.5.1",
8
8
  "description": "Reusable React UI components",
9
9
  "license": "MIT",
10
10
  "main": "dist/index.js",