@burdenoff/microfe-cosmicintersection 2026.801.1 → 2026.827.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.
@@ -8,45 +8,48 @@ import s from "../../components/LoadingState.js";
8
8
  import c from "../../components/PageLayout.js";
9
9
  import "../../components/index.js";
10
10
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
11
- import { FolderOpen as d, Globe as f, Lock as p, Plus as m } from "lucide-react";
12
- import { Badge as h, Button as g } from "@burdenoff/fe-libs/ui";
11
+ import { Database as d, FolderOpen as f, Globe as p, Lock as m, Plus as h } from "lucide-react";
12
+ import { Badge as g, Button as _ } from "@burdenoff/fe-libs/ui";
13
13
  //#region src/cosmicintersection/pages/collections/CollectionsPage.tsx
14
- function _() {
15
- let { navigate: _ } = e(), { data: v, loading: y, error: b, refetch: x } = r(), [S] = n(), C = v?.cosListCollections ?? [], w = async (e) => {
16
- let n = await S({ variables: { id: e.id } });
14
+ function v(e) {
15
+ return e >= 50 ? "50+ datasets" : `${e} ${e === 1 ? "dataset" : "datasets"}`;
16
+ }
17
+ function y() {
18
+ let { navigate: y } = e(), { data: b, loading: x, error: S, refetch: C } = r(), [w] = n(), T = b?.cosListCollections ?? [], E = async (e) => {
19
+ let n = await w({ variables: { id: e.id } });
17
20
  if (n.error) throw Error(n.error.message);
18
21
  if (!n.data?.cosArchiveCollection) throw t.error("Could not archive collection", "The server did not confirm the change."), Error("Archive not confirmed");
19
- t.success("Collection archived"), await x();
20
- }, T = /* @__PURE__ */ u(g, {
22
+ t.success("Collection archived"), await C();
23
+ }, D = /* @__PURE__ */ u(_, {
21
24
  type: "button",
22
- onClick: () => _("collections/create"),
23
- children: [/* @__PURE__ */ l(m, { className: "size-4" }), "New collection"]
25
+ onClick: () => y("collections/create"),
26
+ children: [/* @__PURE__ */ l(h, { className: "size-4" }), "New collection"]
24
27
  });
25
28
  return /* @__PURE__ */ l(c, {
26
29
  title: "Collections",
27
30
  description: "Curated groupings of datasets by mission, survey or research theme.",
28
- actions: T,
29
- children: y ? /* @__PURE__ */ l(s, {
31
+ actions: D,
32
+ children: x ? /* @__PURE__ */ l(s, {
30
33
  variant: "rows",
31
34
  rows: 4,
32
35
  label: "Loading collections…"
33
- }) : b ? /* @__PURE__ */ l(o, {
34
- message: b.message,
35
- onRetry: () => void x()
36
- }) : C.length === 0 ? /* @__PURE__ */ l(a, {
37
- icon: d,
36
+ }) : S ? /* @__PURE__ */ l(o, {
37
+ message: S.message,
38
+ onRetry: () => void C()
39
+ }) : T.length === 0 ? /* @__PURE__ */ l(a, {
40
+ icon: f,
38
41
  title: "No collections yet",
39
42
  description: "Group related datasets — by mission, survey or research theme — into a shareable collection.",
40
- action: T
43
+ action: D
41
44
  }) : /* @__PURE__ */ l("div", {
42
45
  className: "grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",
43
- children: C.map((e) => /* @__PURE__ */ u("div", {
46
+ children: T.map((e) => /* @__PURE__ */ u("div", {
44
47
  role: "button",
45
48
  tabIndex: 0,
46
49
  "aria-label": `Open ${e.name}`,
47
- onClick: () => _(`collections/${e.id}`),
50
+ onClick: () => y(`collections/${e.id}`),
48
51
  onKeyDown: (t) => {
49
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), _(`collections/${e.id}`));
52
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), y(`collections/${e.id}`));
50
53
  },
51
54
  className: "flex cursor-pointer flex-col gap-3 rounded-card border border-border-default bg-bg-elevated p-5 text-left outline-none transition-colors hover:bg-bg-sunken focus-visible:ring-2 focus-visible:ring-border-focus",
52
55
  children: [
@@ -63,25 +66,25 @@ function _() {
63
66
  }) : null]
64
67
  }), /* @__PURE__ */ u("div", {
65
68
  className: "flex shrink-0 items-center gap-2",
66
- children: [e.isPublic ? /* @__PURE__ */ u(h, {
69
+ children: [e.isPublic ? /* @__PURE__ */ u(g, {
67
70
  variant: "outline",
68
71
  className: "gap-1 border-status-success-border bg-status-success-bg-subtle text-status-success-text",
69
- children: [/* @__PURE__ */ l(f, {
72
+ children: [/* @__PURE__ */ l(p, {
70
73
  className: "size-3",
71
74
  "aria-hidden": "true"
72
75
  }), "Public"]
73
- }) : /* @__PURE__ */ u(h, {
76
+ }) : /* @__PURE__ */ u(g, {
74
77
  variant: "secondary",
75
78
  className: "gap-1",
76
- children: [/* @__PURE__ */ l(p, {
79
+ children: [/* @__PURE__ */ l(m, {
77
80
  className: "size-3",
78
81
  "aria-hidden": "true"
79
82
  }), "Private"]
80
83
  }), /* @__PURE__ */ l(i, {
81
84
  ariaLabel: `Actions for ${e.name}`,
82
85
  entityName: e.name,
83
- onEdit: () => _(`collections/${e.id}/edit`),
84
- onDelete: () => w(e),
86
+ onEdit: () => y(`collections/${e.id}/edit`),
87
+ onDelete: () => E(e),
85
88
  deleteLabel: "Archive collection"
86
89
  })]
87
90
  })]
@@ -90,23 +93,34 @@ function _() {
90
93
  className: "line-clamp-2 min-h-[2.5rem] text-sm text-text-secondary",
91
94
  children: e.description ?? "No description provided."
92
95
  }),
93
- e.tags.length > 0 ? /* @__PURE__ */ u("div", {
94
- className: "flex flex-wrap gap-1",
95
- children: [e.tags.slice(0, 4).map((e) => /* @__PURE__ */ l(h, {
96
- variant: "outline",
97
- className: "text-xs",
98
- children: e
99
- }, e)), e.tags.length > 4 ? /* @__PURE__ */ u("span", {
100
- className: "text-xs text-text-secondary",
101
- children: ["+", e.tags.length - 4]
102
- }) : null]
103
- }) : null
96
+ /* @__PURE__ */ u("div", {
97
+ className: "mt-auto flex flex-wrap items-center gap-1",
98
+ children: [
99
+ /* @__PURE__ */ u(g, {
100
+ variant: "secondary",
101
+ className: "gap-1 text-xs",
102
+ children: [/* @__PURE__ */ l(d, {
103
+ className: "size-3",
104
+ "aria-hidden": "true"
105
+ }), v(e.datasets.length)]
106
+ }),
107
+ e.tags.slice(0, 4).map((e) => /* @__PURE__ */ l(g, {
108
+ variant: "outline",
109
+ className: "text-xs",
110
+ children: e
111
+ }, e)),
112
+ e.tags.length > 4 ? /* @__PURE__ */ u("span", {
113
+ className: "text-xs text-text-secondary",
114
+ children: ["+", e.tags.length - 4]
115
+ }) : null
116
+ ]
117
+ })
104
118
  ]
105
119
  }, e.id))
106
120
  })
107
121
  });
108
122
  }
109
123
  //#endregion
110
- export { _ as default };
124
+ export { y as default };
111
125
 
112
126
  //# sourceMappingURL=CollectionsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionsPage.js","names":[],"sources":["../../../../src/cosmicintersection/pages/collections/CollectionsPage.tsx"],"sourcesContent":["import { FolderOpen, Globe, Lock, Plus } from 'lucide-react';\nimport { Badge, Button } from '@burdenoff/fe-libs/ui';\n\nimport {\n useCosArchiveCollectionMutation,\n useCosCollectionsQuery,\n type CosCollection,\n} from '../../api/cosmicApi';\nimport { ActionMenu, EmptyState, ErrorState, LoadingState, PageLayout } from '../../components';\nimport { useCosmicIntersection } from '../../context/CosmicIntersectionContext';\nimport { notify } from '../../lib/toast';\n\nexport default function CollectionsPage() {\n const { navigate } = useCosmicIntersection();\n const { data, loading, error, refetch } = useCosCollectionsQuery();\n const [archiveCollection] = useCosArchiveCollectionMutation();\n\n const collections = data?.cosListCollections ?? [];\n\n const handleArchive = async (collection: CosCollection) => {\n const response = await archiveCollection({ variables: { id: collection.id } });\n if (response.error) {\n throw new Error(response.error.message);\n }\n if (!response.data?.cosArchiveCollection) {\n notify.error('Could not archive collection', 'The server did not confirm the change.');\n throw new Error('Archive not confirmed');\n }\n notify.success('Collection archived');\n await refetch();\n };\n\n const newButton = (\n <Button type=\"button\" onClick={() => navigate('collections/create')}>\n <Plus className=\"size-4\" />\n New collection\n </Button>\n );\n\n const renderBody = () => {\n if (loading) {\n return <LoadingState variant=\"rows\" rows={4} label=\"Loading collections…\" />;\n }\n if (error) {\n return <ErrorState message={error.message} onRetry={() => void refetch()} />;\n }\n if (collections.length === 0) {\n return (\n <EmptyState\n icon={FolderOpen}\n title=\"No collections yet\"\n description=\"Group related datasets — by mission, survey or research theme — into a shareable collection.\"\n action={newButton}\n />\n );\n }\n\n return (\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3\">\n {collections.map((collection) => (\n <div\n key={collection.id}\n role=\"button\"\n tabIndex={0}\n aria-label={`Open ${collection.name}`}\n onClick={() => navigate(`collections/${collection.id}`)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n navigate(`collections/${collection.id}`);\n }\n }}\n className=\"flex cursor-pointer flex-col gap-3 rounded-card border border-border-default bg-bg-elevated p-5 text-left outline-none transition-colors hover:bg-bg-sunken focus-visible:ring-2 focus-visible:ring-border-focus\"\n >\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"min-w-0\">\n <h2 className=\"truncate text-base font-semibold text-text-primary\">\n {collection.name}\n </h2>\n {collection.slug ? (\n <p className=\"mt-0.5 truncate text-xs text-text-secondary\">/{collection.slug}</p>\n ) : null}\n </div>\n <div className=\"flex shrink-0 items-center gap-2\">\n {collection.isPublic ? (\n <Badge\n variant=\"outline\"\n className=\"gap-1 border-status-success-border bg-status-success-bg-subtle text-status-success-text\"\n >\n <Globe className=\"size-3\" aria-hidden=\"true\" />\n Public\n </Badge>\n ) : (\n <Badge variant=\"secondary\" className=\"gap-1\">\n <Lock className=\"size-3\" aria-hidden=\"true\" />\n Private\n </Badge>\n )}\n <ActionMenu\n ariaLabel={`Actions for ${collection.name}`}\n entityName={collection.name}\n onEdit={() => navigate(`collections/${collection.id}/edit`)}\n onDelete={() => handleArchive(collection)}\n deleteLabel=\"Archive collection\"\n />\n </div>\n </div>\n\n <p className=\"line-clamp-2 min-h-[2.5rem] text-sm text-text-secondary\">\n {collection.description ?? 'No description provided.'}\n </p>\n\n {collection.tags.length > 0 ? (\n <div className=\"flex flex-wrap gap-1\">\n {collection.tags.slice(0, 4).map((tag) => (\n <Badge key={tag} variant=\"outline\" className=\"text-xs\">\n {tag}\n </Badge>\n ))}\n {collection.tags.length > 4 ? (\n <span className=\"text-xs text-text-secondary\">+{collection.tags.length - 4}</span>\n ) : null}\n </div>\n ) : null}\n </div>\n ))}\n </div>\n );\n };\n\n return (\n <PageLayout\n title=\"Collections\"\n description=\"Curated groupings of datasets by mission, survey or research theme.\"\n actions={newButton}\n >\n {renderBody()}\n </PageLayout>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAwB,IAAkB;CACxC,IAAM,EAAE,gBAAa,EAAsB,GACrC,EAAE,SAAM,YAAS,UAAO,eAAY,EAAuB,GAC3D,CAAC,KAAqB,EAAgC,GAEtD,IAAc,GAAM,sBAAsB,CAAC,GAE3C,IAAgB,OAAO,MAA8B;EACzD,IAAM,IAAW,MAAM,EAAkB,EAAE,WAAW,EAAE,IAAI,EAAW,GAAG,EAAE,CAAC;EAC7E,IAAI,EAAS,OACX,MAAU,MAAM,EAAS,MAAM,OAAO;EAExC,IAAI,CAAC,EAAS,MAAM,sBAElB,MADA,EAAO,MAAM,gCAAgC,wCAAwC,GAC3E,MAAM,uBAAuB;EAGzC,AADA,EAAO,QAAQ,qBAAqB,GACpC,MAAM,EAAQ;CAChB,GAEM,IACJ,kBAAC,GAAD;EAAQ,MAAK;EAAS,eAAe,EAAS,oBAAoB;YAAlE,CACE,kBAAC,GAAD,EAAM,WAAU,SAAU,CAAA,GAAC,gBAErB;;CA8FV,OACE,kBAAC,GAAD;EACE,OAAM;EACN,aAAY;EACZ,SAAS;YA9FP,IACK,kBAAC,GAAD;GAAc,SAAQ;GAAO,MAAM;GAAG,OAAM;EAAwB,CAAA,IAEzE,IACK,kBAAC,GAAD;GAAY,SAAS,EAAM;GAAS,eAAe,KAAK,EAAQ;EAAI,CAAA,IAEzE,EAAY,WAAW,IAEvB,kBAAC,GAAD;GACE,MAAM;GACN,OAAM;GACN,aAAY;GACZ,QAAQ;EACT,CAAA,IAKH,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAY,KAAK,MAChB,kBAAC,OAAD;IAEE,MAAK;IACL,UAAU;IACV,cAAY,QAAQ,EAAW;IAC/B,eAAe,EAAS,eAAe,EAAW,IAAI;IACtD,YAAY,MAAU;KACpB,CAAI,EAAM,QAAQ,WAAW,EAAM,QAAQ,SACzC,EAAM,eAAe,GACrB,EAAS,eAAe,EAAW,IAAI;IAE3C;IACA,WAAU;cAZZ;KAcE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,MAAD;QAAI,WAAU;kBACX,EAAW;OACV,CAAA,GACH,EAAW,OACV,kBAAC,KAAD;QAAG,WAAU;kBAAb,CAA2D,KAAE,EAAW,IAAQ;YAC9E,IACD;UACL,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACG,EAAW,WACV,kBAAC,GAAD;QACE,SAAQ;QACR,WAAU;kBAFZ,CAIE,kBAAC,GAAD;SAAO,WAAU;SAAS,eAAY;QAAQ,CAAA,GAAC,QAE1C;YAEP,kBAAC,GAAD;QAAO,SAAQ;QAAY,WAAU;kBAArC,CACE,kBAAC,GAAD;SAAM,WAAU;SAAS,eAAY;QAAQ,CAAA,GAAC,SAEzC;WAET,kBAAC,GAAD;QACE,WAAW,eAAe,EAAW;QACrC,YAAY,EAAW;QACvB,cAAc,EAAS,eAAe,EAAW,GAAG,MAAM;QAC1D,gBAAgB,EAAc,CAAU;QACxC,aAAY;OACb,CAAA,CACE;QACF;;KAEL,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAW,eAAe;KAC1B,CAAA;KAEF,EAAW,KAAK,SAAS,IACxB,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACG,EAAW,KAAK,MAAM,GAAG,CAAC,EAAE,KAAK,MAChC,kBAAC,GAAD;OAAiB,SAAQ;OAAU,WAAU;iBAC1C;MACI,GAFK,CAEL,CACR,GACA,EAAW,KAAK,SAAS,IACxB,kBAAC,QAAD;OAAM,WAAU;iBAAhB,CAA8C,KAAE,EAAW,KAAK,SAAS,CAAQ;WAC/E,IACD;UACH;IACD;MA/DE,EAAW,EA+Db,CACN;EACE,CAAA;CAWK,CAAA;AAEhB"}
1
+ {"version":3,"file":"CollectionsPage.js","names":[],"sources":["../../../../src/cosmicintersection/pages/collections/CollectionsPage.tsx"],"sourcesContent":["import { Database, FolderOpen, Globe, Lock, Plus } from 'lucide-react';\nimport { Badge, Button } from '@burdenoff/fe-libs/ui';\n\nimport {\n COS_RELATION_PAGE_SIZE,\n useCosArchiveCollectionMutation,\n useCosCollectionsQuery,\n type CosCollectionListItem,\n} from '../../api/cosmicApi';\nimport { ActionMenu, EmptyState, ErrorState, LoadingState, PageLayout } from '../../components';\nimport { useCosmicIntersection } from '../../context/CosmicIntersectionContext';\nimport { notify } from '../../lib/toast';\n\n/**\n * Label for how many datasets a collection holds.\n *\n * `collection.datasets` is the subgraph's id-only relation selection: it is\n * already access-filtered to this actor and capped at COS_RELATION_PAGE_SIZE.\n * At the cap the true total is unknown, so we say `50+` rather than assert a\n * number the server never promised.\n */\nfunction datasetCountLabel(count: number): string {\n if (count >= COS_RELATION_PAGE_SIZE) {\n return `${COS_RELATION_PAGE_SIZE}+ datasets`;\n }\n return `${count} ${count === 1 ? 'dataset' : 'datasets'}`;\n}\n\nexport default function CollectionsPage() {\n const { navigate } = useCosmicIntersection();\n const { data, loading, error, refetch } = useCosCollectionsQuery();\n const [archiveCollection] = useCosArchiveCollectionMutation();\n\n const collections = data?.cosListCollections ?? [];\n\n const handleArchive = async (collection: CosCollectionListItem) => {\n const response = await archiveCollection({ variables: { id: collection.id } });\n if (response.error) {\n throw new Error(response.error.message);\n }\n if (!response.data?.cosArchiveCollection) {\n notify.error('Could not archive collection', 'The server did not confirm the change.');\n throw new Error('Archive not confirmed');\n }\n notify.success('Collection archived');\n await refetch();\n };\n\n const newButton = (\n <Button type=\"button\" onClick={() => navigate('collections/create')}>\n <Plus className=\"size-4\" />\n New collection\n </Button>\n );\n\n const renderBody = () => {\n if (loading) {\n return <LoadingState variant=\"rows\" rows={4} label=\"Loading collections…\" />;\n }\n if (error) {\n return <ErrorState message={error.message} onRetry={() => void refetch()} />;\n }\n if (collections.length === 0) {\n return (\n <EmptyState\n icon={FolderOpen}\n title=\"No collections yet\"\n description=\"Group related datasets — by mission, survey or research theme — into a shareable collection.\"\n action={newButton}\n />\n );\n }\n\n return (\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3\">\n {collections.map((collection) => (\n <div\n key={collection.id}\n role=\"button\"\n tabIndex={0}\n aria-label={`Open ${collection.name}`}\n onClick={() => navigate(`collections/${collection.id}`)}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n navigate(`collections/${collection.id}`);\n }\n }}\n className=\"flex cursor-pointer flex-col gap-3 rounded-card border border-border-default bg-bg-elevated p-5 text-left outline-none transition-colors hover:bg-bg-sunken focus-visible:ring-2 focus-visible:ring-border-focus\"\n >\n <div className=\"flex items-start justify-between gap-3\">\n <div className=\"min-w-0\">\n <h2 className=\"truncate text-base font-semibold text-text-primary\">\n {collection.name}\n </h2>\n {collection.slug ? (\n <p className=\"mt-0.5 truncate text-xs text-text-secondary\">/{collection.slug}</p>\n ) : null}\n </div>\n <div className=\"flex shrink-0 items-center gap-2\">\n {collection.isPublic ? (\n <Badge\n variant=\"outline\"\n className=\"gap-1 border-status-success-border bg-status-success-bg-subtle text-status-success-text\"\n >\n <Globe className=\"size-3\" aria-hidden=\"true\" />\n Public\n </Badge>\n ) : (\n <Badge variant=\"secondary\" className=\"gap-1\">\n <Lock className=\"size-3\" aria-hidden=\"true\" />\n Private\n </Badge>\n )}\n <ActionMenu\n ariaLabel={`Actions for ${collection.name}`}\n entityName={collection.name}\n onEdit={() => navigate(`collections/${collection.id}/edit`)}\n onDelete={() => handleArchive(collection)}\n deleteLabel=\"Archive collection\"\n />\n </div>\n </div>\n\n <p className=\"line-clamp-2 min-h-[2.5rem] text-sm text-text-secondary\">\n {collection.description ?? 'No description provided.'}\n </p>\n\n <div className=\"mt-auto flex flex-wrap items-center gap-1\">\n <Badge variant=\"secondary\" className=\"gap-1 text-xs\">\n <Database className=\"size-3\" aria-hidden=\"true\" />\n {datasetCountLabel(collection.datasets.length)}\n </Badge>\n {collection.tags.slice(0, 4).map((tag) => (\n <Badge key={tag} variant=\"outline\" className=\"text-xs\">\n {tag}\n </Badge>\n ))}\n {collection.tags.length > 4 ? (\n <span className=\"text-xs text-text-secondary\">+{collection.tags.length - 4}</span>\n ) : null}\n </div>\n </div>\n ))}\n </div>\n );\n };\n\n return (\n <PageLayout\n title=\"Collections\"\n description=\"Curated groupings of datasets by mission, survey or research theme.\"\n actions={newButton}\n >\n {renderBody()}\n </PageLayout>\n );\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetDetailPage.d.ts","sourceRoot":"","sources":["../../../../src/cosmicintersection/pages/datasets/DatasetDetailPage.tsx"],"names":[],"mappings":"AA6HA,MAAM,CAAC,OAAO,UAAU,iBAAiB,4CA8jBxC"}
1
+ {"version":3,"file":"DatasetDetailPage.d.ts","sourceRoot":"","sources":["../../../../src/cosmicintersection/pages/datasets/DatasetDetailPage.tsx"],"names":[],"mappings":"AAiJA,MAAM,CAAC,OAAO,UAAU,iBAAiB,4CAwmBxC"}