@ai-matrx/records-ui 0.85.7 → 0.85.8

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog — @ai-matrx/records-ui
2
2
 
3
+ ## 0.85.8
4
+
5
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
6
+ `git diff npm/records-ui/v0.85.7..npm/records-ui/v0.85.8 -- apps/shared/records-ui`).
7
+ No source changes intended and no consumer action required.
8
+
3
9
  ## 0.85.7 (2026-09-24 — published by PUBLISH-SWEEP-5)
4
10
 
5
11
  **Needs `@ai-matrx/records` 0.58.6** (the inbox doors: `inboxSnooze`, `inboxClear`, `inboxCounts`,
package/dist/index.cjs CHANGED
@@ -21262,12 +21262,15 @@ function WhereItLives({ tableId, knownOrganizationName, onMoved, variant = "head
21262
21262
  expected_version: home.table.version
21263
21263
  });
21264
21264
  setMoving(false);
21265
- setChoosing(null);
21266
21265
  if (!moved.ok) {
21267
- setSaid({ tone: "refused", text: `Nothing moved. ${moved.error.message}` });
21268
- setAttempt((n) => n + 1);
21266
+ const hint = moved.error.hint?.trim();
21267
+ setSaid({
21268
+ tone: "refused",
21269
+ text: `Nothing moved. ${moved.error.message}${hint && !moved.error.message.includes(hint) ? ` ${hint}` : ""}`
21270
+ });
21269
21271
  return;
21270
21272
  }
21273
+ setChoosing(null);
21271
21274
  setSaid({ tone: "done", text: `${moved.data.tableName} now lives in ${moved.data.to.name}.` });
21272
21275
  setAttempt((n) => n + 1);
21273
21276
  onMoved?.(moved.data.to);
@@ -21303,65 +21306,90 @@ function WhereItLives({ tableId, knownOrganizationName, onMoved, variant = "head
21303
21306
  ]
21304
21307
  }
21305
21308
  ) }),
21306
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_design_system67.PopoverContent, { align: "start", className: "w-80 p-3 text-xs", onClick: (e) => e.stopPropagation(), children: answer === null ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: "Asking the record store where this table lives\u2026" }) : answer.state === "not-given" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: "This table has not been shared with you, so where it lives is not yours to see." }) : answer.state === "door-absent" || answer.state === "unavailable" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-2", children: [
21307
- knownOrganizationName ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { children: [
21308
- "Lives in ",
21309
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "font-medium text-foreground", children: knownOrganizationName }),
21310
- "."
21311
- ] }) : null,
21312
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: answer.state === "door-absent" ? "Moving it to another organization is not available on this database yet." : `The record store could not be asked where this lives, so nothing here is an answer about your access. ${answer.why}` }),
21313
- answer.state === "unavailable" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_design_system67.Button, { size: "sm", variant: "outline", className: "h-7 text-xs", onClick: () => setAttempt((n) => n + 1), children: "Ask again" }) : null
21314
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-2", "data-where-it-lives-panel": answer.home.table.id, children: [
21315
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { children: [
21316
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("span", { className: "text-muted-foreground", children: [
21317
- answer.home.table.name,
21318
- " lives in "
21319
- ] }),
21320
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "font-medium text-foreground", children: answer.home.organization.name }),
21321
- "."
21322
- ] }),
21323
- said ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { "data-where-it-lives-said": said.tone, className: said.tone === "refused" ? "text-destructive" : "text-foreground", children: said.text }) : null,
21324
- choosing ? (
21325
- // THE CONSEQUENCE, SAID BEFORE THE MOVE, in the same panel — no second dialog.
21326
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-2", "data-where-it-lives-confirm": choosing.id, children: [
21327
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { className: "font-medium text-foreground", children: [
21328
- "Move ",
21329
- answer.home.table.name,
21330
- " to ",
21331
- choosing.name,
21332
- "?"
21309
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
21310
+ import_design_system67.PopoverContent,
21311
+ {
21312
+ align: "start",
21313
+ className: "w-80 p-3 text-xs",
21314
+ onClick: (e) => e.stopPropagation(),
21315
+ onFocusOutside: (e) => e.preventDefault(),
21316
+ children: answer === null ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: "Asking the record store where this table lives\u2026" }) : answer.state === "not-given" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: "This table has not been shared with you, so where it lives is not yours to see." }) : answer.state === "door-absent" || answer.state === "unavailable" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-2", children: [
21317
+ knownOrganizationName ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { children: [
21318
+ "Lives in ",
21319
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "font-medium text-foreground", children: knownOrganizationName }),
21320
+ "."
21321
+ ] }) : null,
21322
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: answer.state === "door-absent" ? "Moving it to another organization is not available on this database yet." : `The record store could not be asked where this lives, so nothing here is an answer about your access. ${answer.why}` }),
21323
+ answer.state === "unavailable" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_design_system67.Button, { size: "sm", variant: "outline", className: "h-7 text-xs", onClick: () => setAttempt((n) => n + 1), children: "Ask again" }) : null
21324
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-2", "data-where-it-lives-panel": answer.home.table.id, children: [
21325
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { children: [
21326
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("span", { className: "text-muted-foreground", children: [
21327
+ answer.home.table.name,
21328
+ " lives in "
21329
+ ] }),
21330
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "font-medium text-foreground", children: answer.home.organization.name }),
21331
+ "."
21333
21332
  ] }),
21334
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: (0, import_records23.moveConsequence)(answer.home, choosing) }),
21335
- /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex gap-2", children: [
21336
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_design_system67.Button, { size: "sm", className: "h-7 text-xs", disabled: moving, onClick: () => void move(choosing), children: moving ? `Moving to ${choosing.name}\u2026` : "Move it" }),
21337
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_design_system67.Button, { size: "sm", variant: "ghost", className: "h-7 text-xs", disabled: moving, onClick: () => setChoosing(null), children: "Cancel" })
21333
+ said && !(said.tone === "refused" && choosing) ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { "data-where-it-lives-said": said.tone, className: said.tone === "refused" ? "text-destructive" : "text-foreground", children: said.text }) : null,
21334
+ choosing ? (
21335
+ // THE CONSEQUENCE, SAID BEFORE THE MOVE, in the same panel — no second dialog.
21336
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-2", "data-where-it-lives-confirm": choosing.id, children: [
21337
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { className: "font-medium text-foreground", children: [
21338
+ "Move ",
21339
+ answer.home.table.name,
21340
+ " to ",
21341
+ choosing.name,
21342
+ "?"
21343
+ ] }),
21344
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: (0, import_records23.moveConsequence)(answer.home, choosing) }),
21345
+ said?.tone === "refused" ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { "data-where-it-lives-said": "refused", role: "alert", className: "text-destructive", children: said.text }) : null,
21346
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex gap-2", children: [
21347
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_design_system67.Button, { size: "sm", className: "h-7 text-xs", disabled: moving, onClick: () => void move(choosing), children: moving ? `Moving to ${choosing.name}\u2026` : said?.tone === "refused" ? "Try again" : "Move it" }),
21348
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
21349
+ import_design_system67.Button,
21350
+ {
21351
+ size: "sm",
21352
+ variant: "ghost",
21353
+ className: "h-7 text-xs",
21354
+ disabled: moving,
21355
+ onClick: () => {
21356
+ const wasRefused = said?.tone === "refused";
21357
+ setChoosing(null);
21358
+ setSaid(null);
21359
+ if (wasRefused) setAttempt((n) => n + 1);
21360
+ },
21361
+ children: "Cancel"
21362
+ }
21363
+ )
21364
+ ] })
21365
+ ] })
21366
+ ) : !answer.home.mayMove ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: answer.home.whyNot }) : answer.home.heldBy.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-1", children: [
21367
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "font-medium text-foreground", children: "It cannot move yet:" }),
21368
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("ul", { className: "list-disc space-y-1 pl-4 text-muted-foreground", children: answer.home.heldBy.map((line) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("li", { children: line }, line)) })
21369
+ ] }) : answer.home.destinations.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: "You are not a member of any other organization, so there is nowhere else to move it." }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-1", children: [
21370
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "font-medium text-foreground", children: "Move it to" }),
21371
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("ul", { className: "max-h-64 space-y-1 overflow-y-auto pr-1", children: answer.home.destinations.map((to) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("li", { children: to.ok ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
21372
+ import_design_system67.Button,
21373
+ {
21374
+ size: "sm",
21375
+ variant: "outline",
21376
+ className: "h-7 w-full justify-start text-xs",
21377
+ "data-where-it-lives-move": to.id,
21378
+ onClick: () => {
21379
+ setSaid(null);
21380
+ setChoosing(to);
21381
+ },
21382
+ children: to.name
21383
+ }
21384
+ ) : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { className: "text-muted-foreground", children: [
21385
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-foreground", children: to.name }),
21386
+ " \u2014 ",
21387
+ to.why
21388
+ ] }) }, to.id)) })
21338
21389
  ] })
21339
21390
  ] })
21340
- ) : !answer.home.mayMove ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: answer.home.whyNot }) : answer.home.heldBy.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-1", children: [
21341
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "font-medium text-foreground", children: "It cannot move yet:" }),
21342
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("ul", { className: "list-disc space-y-1 pl-4 text-muted-foreground", children: answer.home.heldBy.map((line) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("li", { children: line }, line)) })
21343
- ] }) : answer.home.destinations.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "text-muted-foreground", children: "You are not a member of any other organization, so there is nowhere else to move it." }) : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "space-y-1", children: [
21344
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("p", { className: "font-medium text-foreground", children: "Move it to" }),
21345
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("ul", { className: "max-h-64 space-y-1 overflow-y-auto pr-1", children: answer.home.destinations.map((to) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("li", { children: to.ok ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
21346
- import_design_system67.Button,
21347
- {
21348
- size: "sm",
21349
- variant: "outline",
21350
- className: "h-7 w-full justify-start text-xs",
21351
- "data-where-it-lives-move": to.id,
21352
- onClick: () => {
21353
- setSaid(null);
21354
- setChoosing(to);
21355
- },
21356
- children: to.name
21357
- }
21358
- ) : /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("p", { className: "text-muted-foreground", children: [
21359
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("span", { className: "text-foreground", children: to.name }),
21360
- " \u2014 ",
21361
- to.why
21362
- ] }) }, to.id)) })
21363
- ] })
21364
- ] }) })
21391
+ }
21392
+ )
21365
21393
  ]
21366
21394
  }
21367
21395
  );