@ai-matrx/design-system 0.20.5 → 0.20.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/content-transfer.cjs +35 -15
  3. package/dist/content-transfer.cjs.map +1 -1
  4. package/dist/content-transfer.css +10 -2
  5. package/dist/content-transfer.js +35 -15
  6. package/dist/content-transfer.js.map +1 -1
  7. package/dist/data-table/copy-helpers.cjs.map +1 -1
  8. package/dist/data-table/copy-helpers.js.map +1 -1
  9. package/dist/data-table/data-row-inspector.cjs +33 -13
  10. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  11. package/dist/data-table/data-row-inspector.js +33 -13
  12. package/dist/data-table/data-row-inspector.js.map +1 -1
  13. package/dist/data-table/data-row-window.cjs +33 -13
  14. package/dist/data-table/data-row-window.cjs.map +1 -1
  15. package/dist/data-table/data-row-window.js +33 -13
  16. package/dist/data-table/data-row-window.js.map +1 -1
  17. package/dist/data-table/filter-engine.cjs +6 -2
  18. package/dist/data-table/filter-engine.cjs.map +1 -1
  19. package/dist/data-table/filter-engine.d.cts +3 -1
  20. package/dist/data-table/filter-engine.d.ts +3 -1
  21. package/dist/data-table/filter-engine.js +6 -2
  22. package/dist/data-table/filter-engine.js.map +1 -1
  23. package/dist/data-table/index.cjs +294 -228
  24. package/dist/data-table/index.cjs.map +1 -1
  25. package/dist/data-table/index.js +136 -70
  26. package/dist/data-table/index.js.map +1 -1
  27. package/dist/data-table/infer-filter.cjs +11 -7
  28. package/dist/data-table/infer-filter.cjs.map +1 -1
  29. package/dist/data-table/infer-filter.js +11 -7
  30. package/dist/data-table/infer-filter.js.map +1 -1
  31. package/dist/data-table/query-control.cjs +11 -7
  32. package/dist/data-table/query-control.cjs.map +1 -1
  33. package/dist/data-table/query-control.js +11 -7
  34. package/dist/data-table/query-control.js.map +1 -1
  35. package/dist/data-table/xlsx.cjs.map +1 -1
  36. package/dist/data-table/xlsx.js.map +1 -1
  37. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.20.8 — 2026-09-15
4
+
5
+ Keep column-reorder animation safe in browser-compatible runtimes and test
6
+ environments that do not implement `window.matchMedia`.
7
+
8
+ ## 0.20.7
9
+
10
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
11
+ `git diff npm/design-system/v0.20.6..npm/design-system/v0.20.7 -- apps/shared/design-system`).
12
+ No source changes intended and no consumer action required.
13
+
14
+ ## 0.20.6 — 2026-09-15
15
+
16
+ Tighten Alchemy menu typography and format labels, align action icons, add expansion chevrons and make reference actions discoverable.
17
+
3
18
  ## 0.20.5 — 2026-09-15
4
19
 
5
20
  Aligns the packed-artifact verification with the retired MatrxDataTable
@@ -1136,7 +1136,7 @@ var exportableColumns = (payload) => payload.columns.filter(
1136
1136
  );
1137
1137
  var tableSchemaFormat = {
1138
1138
  id: "table-schema",
1139
- label: "Schema + rows",
1139
+ label: "Schema",
1140
1140
  supports: (payload) => payload.kind === "rows",
1141
1141
  async build(draft, signal) {
1142
1142
  if (signal.aborted) throw new DOMException("Cancelled", "AbortError");
@@ -1189,7 +1189,7 @@ function displayLabels(payload) {
1189
1189
  }
1190
1190
  var tableDataFormat = {
1191
1191
  id: "table-data",
1192
- label: "JSON (display labels)",
1192
+ label: "Table JSON",
1193
1193
  supports: (payload) => payload.kind === "rows",
1194
1194
  async build(draft, signal) {
1195
1195
  if (signal.aborted) throw new DOMException("Cancelled", "AbortError");
@@ -1860,7 +1860,7 @@ function ContentTransferSurfaceProvider({ handle, children }) {
1860
1860
  var useContentTransferSurface = () => React10.useContext(SurfaceContext);
1861
1861
  function MenuPresentation({ label, hint, icon: Icon }) {
1862
1862
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
1863
- Icon ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, { className: "matrx-alchemy-menu-icon" }) : null,
1863
+ Icon ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, { className: "matrx-alchemy-menu-icon" }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteGlyph, { file: true }),
1864
1864
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { children: [
1865
1865
  label,
1866
1866
  hint ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("small", { className: "matrx-alchemy-menu-hint", children: hint }) : null
@@ -1882,8 +1882,11 @@ function DestinationPresentation({ action }) {
1882
1882
  };
1883
1883
  const path = paths[action.id.replace(/^matrx:/, "")];
1884
1884
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
1885
- !action.icon ? path ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { className: "matrx-alchemy-palette-glyph", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: path }) }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteGlyph, { file: true }) : null,
1886
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MenuPresentation, { ...action })
1885
+ action.icon ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(action.icon, { className: "matrx-alchemy-menu-icon" }) : path ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { className: "matrx-alchemy-palette-glyph", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: path }) }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteGlyph, { file: true }),
1886
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { children: [
1887
+ action.label,
1888
+ action.hint ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("small", { className: "matrx-alchemy-menu-hint", children: action.hint }) : null
1889
+ ] })
1887
1890
  ] });
1888
1891
  }
1889
1892
  function ReceiptLink({ target }) {
@@ -1893,6 +1896,11 @@ function ReceiptLink({ target }) {
1893
1896
  ] }) : null;
1894
1897
  }
1895
1898
  function PaletteGlyph({ format, ai = false, file = false, kind }) {
1899
+ if (kind === "link") return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { className: "matrx-alchemy-palette-glyph", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: "M10 13a5 5 0 0 0 7 0l3-3a5 5 0 0 0-7-7l-2 2M14 11a5 5 0 0 0-7 0l-3 3a5 5 0 0 0 7 7l2-2" }) });
1900
+ if (kind === "surface") return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("svg", { className: "matrx-alchemy-palette-glyph", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1901
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }),
1902
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: "M3 9h18M9 9v12" })
1903
+ ] });
1896
1904
  if (kind === "ai-copy") return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("svg", { className: "matrx-alchemy-palette-glyph", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
1897
1905
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("rect", { x: "5", y: "5", width: "11", height: "14", rx: "2" }),
1898
1906
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: "M9 3h6a2 2 0 0 1 2 2v10" }),
@@ -2373,7 +2381,7 @@ function ContentTransferMenuSession({ references = [], referenceActions = [], so
2373
2381
  const presentation = options.action;
2374
2382
  const Icon = presentation?.icon;
2375
2383
  const fallbackLabel = options.file && !/^download\b/i.test(label2) ? `Download ${label2}` : label2;
2376
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("button", { type: "button", className: "matrx-alchemy-palette-tile", "aria-label": presentation?.ariaLabel ?? (presentation ? fallbackLabel : options.ariaLabel ?? `${resolvedMode === "copy" ? "Copy" : "Download"} ${label2}`), onClick: () => {
2384
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("button", { type: "button", className: "matrx-alchemy-palette-tile", title: id === "table-data" ? "JSON using column display names" : id === "table-schema" ? "Table schema and rows" : label2, "aria-label": presentation?.ariaLabel ?? (presentation ? fallbackLabel : options.ariaLabel ?? `${resolvedMode === "copy" ? "Copy" : "Download"} ${label2}`), onClick: () => {
2377
2385
  closePalette();
2378
2386
  onClick();
2379
2387
  }, children: [
@@ -2435,7 +2443,7 @@ function ContentTransferMenuSession({ references = [], referenceActions = [], so
2435
2443
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteGlyph, { kind: "ai-copy" }),
2436
2444
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { children: [
2437
2445
  "Copy with AI context",
2438
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("small", { className: "matrx-alchemy-menu-hint", children: "Content, source and capture details" })
2446
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("small", { className: "matrx-alchemy-menu-hint", children: "Include source context" })
2439
2447
  ] })
2440
2448
  ] }) : null, items: quickVariants("ai"), onRun: (variant) => {
2441
2449
  closePalette();
@@ -2448,32 +2456,44 @@ function ContentTransferMenuSession({ references = [], referenceActions = [], so
2448
2456
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteGlyph, { kind: "sliders" }),
2449
2457
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { children: [
2450
2458
  "Prepare for AI",
2451
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("small", { className: "matrx-alchemy-menu-hint", children: "Review and edit before copying" })
2459
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("small", { className: "matrx-alchemy-menu-hint", children: "Trim, edit or summarize" })
2452
2460
  ] })
2453
2461
  ] }) })
2454
2462
  ] }) : null,
2455
2463
  prepareAvailable && (nearestWorkspaceKey || variants.length) ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteRows, { title: "Other sources", items: [], extra: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
2456
- nearestWorkspaceKey && nearestSurface ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("button", { type: "button", className: "matrx-alchemy-palette-row", onClick: () => {
2464
+ nearestWorkspaceKey && nearestSurface ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("button", { type: "button", className: "matrx-alchemy-palette-row", onClick: () => {
2457
2465
  closePalette();
2458
2466
  void openWorkspace(nearestWorkspaceKey, { source: nearestSurface, label: nearestSurface.surfaceName });
2459
- }, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: "Prepare this surface" }) }) : null,
2467
+ }, children: [
2468
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteGlyph, { kind: "surface" }),
2469
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: "Prepare this page" })
2470
+ ] }) : null,
2460
2471
  variants.map((variant) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("button", { type: "button", className: "matrx-alchemy-palette-row", "aria-label": variant.ariaLabel, onClick: () => {
2461
2472
  closePalette();
2462
2473
  void openWorkspace(variantWorkspaceKeys.get(variant.id), variant);
2463
2474
  }, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MenuPresentation, { ...variant, label: `Prepare ${variant.label}` }) }, variant.id))
2464
2475
  ] }) }) : null,
2465
2476
  references.length || referenceActions.length ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("section", { className: "matrx-alchemy-palette-section", children: [
2466
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h3", { children: "Live references" }),
2467
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "matrx-alchemy-menu-hint", children: "Pointers to saved data, independent of filters and edits." }),
2468
- references.map((reference) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("button", { type: "button", className: "matrx-alchemy-palette-row", onClick: () => void copyReference(reference), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: reference.label }) }, reference.id)),
2469
- referenceActions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("button", { type: "button", className: "matrx-alchemy-palette-row", onClick: () => void openReference(action), children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: action.label }) }, action.id))
2477
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h3", { children: "References" }),
2478
+ referenceActions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("button", { type: "button", className: "matrx-alchemy-palette-row", onClick: () => void openReference(action), children: [
2479
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteGlyph, { kind: "link" }),
2480
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: action.label }),
2481
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { className: "matrx-alchemy-disclosure", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: "m6 4 4 4-4 4" }) })
2482
+ ] }, action.id)),
2483
+ references.map((reference) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("button", { type: "button", className: "matrx-alchemy-palette-row", title: "Copies a reference to saved data", onClick: () => void copyReference(reference), children: [
2484
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(PaletteGlyph, { kind: "link" }),
2485
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: reference.label })
2486
+ ] }, reference.id))
2470
2487
  ] }) : null,
2471
2488
  ["save", "chat", "email", "other"].map((group) => {
2472
2489
  const entries = ordinaryActions.filter((action) => (action.group ?? "other") === group);
2473
2490
  return entries.length ? /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("details", { className: "matrx-alchemy-palette-destinations", children: [
2474
2491
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("summary", { children: [
2475
2492
  group === "save" ? "Save to Matrx" : group === "chat" ? "Continue with AI" : group === "email" ? "Email to me" : "Actions",
2476
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: entries.length })
2493
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("span", { className: "matrx-alchemy-disclosure-meta", children: [
2494
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { children: entries.length }),
2495
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { className: "matrx-alchemy-disclosure", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("path", { d: "m6 4 4 4-4 4" }) })
2496
+ ] })
2477
2497
  ] }),
2478
2498
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { children: entries.map((action) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("button", { type: "button", className: "matrx-alchemy-palette-row", "aria-label": action.ariaLabel, onClick: () => {
2479
2499
  closePalette();