@ai-matrx/design-system 0.18.22 → 0.19.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.
Files changed (78) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/content-transfer/alchemy.svg +1 -1
  3. package/dist/content-transfer/copy-transform.svg +1 -0
  4. package/dist/content-transfer/icon.cjs +8 -2
  5. package/dist/content-transfer/icon.cjs.map +1 -1
  6. package/dist/content-transfer/icon.d.cts +5 -3
  7. package/dist/content-transfer/icon.d.ts +5 -3
  8. package/dist/content-transfer/icon.js +8 -2
  9. package/dist/content-transfer/icon.js.map +1 -1
  10. package/dist/content-transfer/portal.svg +1 -0
  11. package/dist/content-transfer.cjs +923 -304
  12. package/dist/content-transfer.cjs.map +1 -1
  13. package/dist/content-transfer.css +17 -74
  14. package/dist/content-transfer.d.cts +14 -3
  15. package/dist/content-transfer.d.ts +14 -3
  16. package/dist/content-transfer.js +929 -305
  17. package/dist/content-transfer.js.map +1 -1
  18. package/dist/data-table/copy-helpers.d.cts +1 -1
  19. package/dist/data-table/copy-helpers.d.ts +1 -1
  20. package/dist/data-table/data-row-inspector.cjs +990 -397
  21. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  22. package/dist/data-table/data-row-inspector.js +988 -390
  23. package/dist/data-table/data-row-inspector.js.map +1 -1
  24. package/dist/data-table/data-row-window.cjs +989 -396
  25. package/dist/data-table/data-row-window.cjs.map +1 -1
  26. package/dist/data-table/data-row-window.js +987 -389
  27. package/dist/data-table/data-row-window.js.map +1 -1
  28. package/dist/data-table/filter-engine.d.cts +1 -1
  29. package/dist/data-table/filter-engine.d.ts +1 -1
  30. package/dist/data-table/host.d.cts +1 -1
  31. package/dist/data-table/host.d.ts +1 -1
  32. package/dist/data-table/index.cjs +1665 -1012
  33. package/dist/data-table/index.cjs.map +1 -1
  34. package/dist/data-table/index.d.cts +2 -2
  35. package/dist/data-table/index.d.ts +2 -2
  36. package/dist/data-table/index.js +1517 -859
  37. package/dist/data-table/index.js.map +1 -1
  38. package/dist/data-table/infer-filter.d.cts +1 -1
  39. package/dist/data-table/infer-filter.d.ts +1 -1
  40. package/dist/data-table/layered-filters.d.cts +1 -1
  41. package/dist/data-table/layered-filters.d.ts +1 -1
  42. package/dist/data-table/pagination.cjs +1 -1
  43. package/dist/data-table/pagination.cjs.map +1 -1
  44. package/dist/data-table/pagination.js +1 -1
  45. package/dist/data-table/pagination.js.map +1 -1
  46. package/dist/data-table/query-control.d.cts +1 -1
  47. package/dist/data-table/query-control.d.ts +1 -1
  48. package/dist/data-table/scroll-pagination.cjs +85 -54
  49. package/dist/data-table/scroll-pagination.cjs.map +1 -1
  50. package/dist/data-table/scroll-pagination.js +85 -54
  51. package/dist/data-table/scroll-pagination.js.map +1 -1
  52. package/dist/data-table/types.cjs.map +1 -1
  53. package/dist/data-table/types.d.cts +1 -1
  54. package/dist/data-table/types.d.ts +1 -1
  55. package/dist/data-table/url-state.d.cts +1 -1
  56. package/dist/data-table/url-state.d.ts +1 -1
  57. package/dist/data-table/uuid-cell.cjs +1 -1
  58. package/dist/data-table/uuid-cell.cjs.map +1 -1
  59. package/dist/data-table/uuid-cell.js +1 -1
  60. package/dist/data-table/uuid-cell.js.map +1 -1
  61. package/dist/data-table/xlsx.d.cts +1 -1
  62. package/dist/data-table/xlsx.d.ts +1 -1
  63. package/dist/index.cjs +527 -0
  64. package/dist/index.cjs.map +1 -1
  65. package/dist/index.d.cts +1 -0
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +531 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/tap-target.cjs +636 -0
  70. package/dist/tap-target.cjs.map +1 -0
  71. package/dist/tap-target.css +151 -0
  72. package/dist/tap-target.d.cts +131 -0
  73. package/dist/tap-target.d.ts +131 -0
  74. package/dist/tap-target.js +608 -0
  75. package/dist/tap-target.js.map +1 -0
  76. package/dist/{types-CWW4Tur-.d.cts → types-BcIcmIxd.d.cts} +6 -1
  77. package/dist/{types-Cbnj1Qlm.d.ts → types-xTXSqmR7.d.ts} +6 -1
  78. package/package.json +14 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.19.1 — 2026-09-13
4
+
5
+ ### Data-table interaction and pagination
6
+
7
+ MatrxDataTable now supports desktop column resizing with pointer and keyboard
8
+ separators, progressive rendering for complete local datasets, and scroll
9
+ append that recognizes the actual table, ancestor, or document scroll owner
10
+ only after a fresh user-driven downward movement. Mobile keeps content-sized
11
+ columns and hides resize handles. Manual Load more remains available whenever
12
+ automatic pagination is suspended.
13
+
14
+ Table toolbar and pagination controls use the canonical 44px target and 14px
15
+ icon geometry, and shared SVG icons use rounded caps and joins.
16
+
17
+ ### Consumer action
18
+
19
+ Update `@ai-matrx/data` with this package. Hosts that pass a manual pagination
20
+ policy must provide its documented reason and `approvedBy`; use `suspended` for
21
+ unavailable configuration.
22
+
23
+ ## 0.19.0
24
+
25
+ Alchemy uses the canonical Tap Target primitive with Portal by default and glass or transparent presentation. Adds native AI-context copy, preparation recipes, content limits, and grouped Matrx destinations using the exact prepared revision. Destination handoff releases the dialog focus trap and saved artifacts expose their receipt. Copy + Transform remains an optional packaged icon.
26
+
27
+ ### Consumer action
28
+
29
+ Continue importing design-system/styles.css or Alchemy/styles.css. Hosts use the Portal default; glass headers set triggerVariant="glass". Remove any page-local Alchemy trigger geometry. The optional copy-transform icon is a package capability, not our host default.
30
+
3
31
  ## 0.18.22
4
32
 
5
33
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 3h6"/><path d="M10 3v6l-5.2 8.7A2 2 0 0 0 6.5 21h11a2 2 0 0 0 1.7-3.3L14 9V3"/><path d="M8 15h8"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M8 12h8m-3-3 3 3-3 3"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M8 7V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v8M13 21H5a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v3m-5 4h11m-3-3 3 3-3 3"/></svg>
@@ -21,10 +21,16 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  // src/content-transfer/icon.ts
22
22
  var icon_exports = {};
23
23
  __export(icon_exports, {
24
+ ALCHEMY_COPY_TRANSFORM_SVG: () => ALCHEMY_COPY_TRANSFORM_SVG,
24
25
  ALCHEMY_GLYPH_PATHS: () => ALCHEMY_GLYPH_PATHS,
25
26
  ALCHEMY_GLYPH_SVG: () => ALCHEMY_GLYPH_SVG
26
27
  });
27
28
  module.exports = __toCommonJS(icon_exports);
28
- var ALCHEMY_GLYPH_PATHS = ["M9 3h6", "M10 3v6l-5.2 8.7A2 2 0 0 0 6.5 21h11a2 2 0 0 0 1.7-3.3L14 9V3", "M8 15h8"];
29
- var ALCHEMY_GLYPH_SVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">${ALCHEMY_GLYPH_PATHS.map((d) => `<path d="${d}"/>`).join("")}</svg>`;
29
+ var ALCHEMY_GLYPH_PATHS = {
30
+ portal: ["M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M8 12h8m-3-3 3 3-3 3"],
31
+ "copy-transform": ["M8 7V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v8M13 21H5a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v3m-5 4h11m-3-3 3 3-3 3"]
32
+ };
33
+ var svg = (paths) => `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">${paths.map((d) => `<path d="${d}"/>`).join("")}</svg>`;
34
+ var ALCHEMY_GLYPH_SVG = svg(ALCHEMY_GLYPH_PATHS.portal);
35
+ var ALCHEMY_COPY_TRANSFORM_SVG = svg(ALCHEMY_GLYPH_PATHS["copy-transform"]);
30
36
  //# sourceMappingURL=icon.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/content-transfer/icon.ts"],"sourcesContent":["/** Pure Alchemy asset export. Safe to import without React or browser APIs. */\nexport const ALCHEMY_GLYPH_PATHS = [\"M9 3h6\", \"M10 3v6l-5.2 8.7A2 2 0 0 0 6.5 21h11a2 2 0 0 0 1.7-3.3L14 9V3\", \"M8 15h8\"] as const;\nexport const ALCHEMY_GLYPH_SVG = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${ALCHEMY_GLYPH_PATHS.map((d) => `<path d=\"${d}\"/>`).join(\"\")}</svg>`;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,IAAM,sBAAsB,CAAC,UAAU,iEAAiE,SAAS;AACjH,IAAM,oBAAoB,mKAAmK,oBAAoB,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/content-transfer/icon.ts"],"sourcesContent":["/** Pure Alchemy icon assets. Safe to import without React or browser APIs. */\nexport type AlchemyIcon = \"portal\" | \"copy-transform\";\nexport const ALCHEMY_GLYPH_PATHS: Record<AlchemyIcon, readonly string[]> = {\n portal: [\"M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M8 12h8m-3-3 3 3-3 3\"],\n \"copy-transform\": [\"M8 7V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v8M13 21H5a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v3m-5 4h11m-3-3 3 3-3 3\"],\n};\nconst svg = (paths: readonly string[]) => `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${paths.map((d) => `<path d=\"${d}\"/>`).join(\"\")}</svg>`;\nexport const ALCHEMY_GLYPH_SVG = svg(ALCHEMY_GLYPH_PATHS.portal);\nexport const ALCHEMY_COPY_TRANSFORM_SVG = svg(ALCHEMY_GLYPH_PATHS[\"copy-transform\"]);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAM,sBAA8D;AAAA,EACzE,QAAQ,CAAC,uGAAuG;AAAA,EAChH,kBAAkB,CAAC,sHAAsH;AAC3I;AACA,IAAM,MAAM,CAAC,UAA6B,0LAA0L,MAAM,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1Q,IAAM,oBAAoB,IAAI,oBAAoB,MAAM;AACxD,IAAM,6BAA6B,IAAI,oBAAoB,gBAAgB,CAAC;","names":[]}
@@ -1,5 +1,7 @@
1
- /** Pure Alchemy asset export. Safe to import without React or browser APIs. */
2
- declare const ALCHEMY_GLYPH_PATHS: readonly ["M9 3h6", "M10 3v6l-5.2 8.7A2 2 0 0 0 6.5 21h11a2 2 0 0 0 1.7-3.3L14 9V3", "M8 15h8"];
1
+ /** Pure Alchemy icon assets. Safe to import without React or browser APIs. */
2
+ type AlchemyIcon = "portal" | "copy-transform";
3
+ declare const ALCHEMY_GLYPH_PATHS: Record<AlchemyIcon, readonly string[]>;
3
4
  declare const ALCHEMY_GLYPH_SVG: string;
5
+ declare const ALCHEMY_COPY_TRANSFORM_SVG: string;
4
6
 
5
- export { ALCHEMY_GLYPH_PATHS, ALCHEMY_GLYPH_SVG };
7
+ export { ALCHEMY_COPY_TRANSFORM_SVG, ALCHEMY_GLYPH_PATHS, ALCHEMY_GLYPH_SVG, type AlchemyIcon };
@@ -1,5 +1,7 @@
1
- /** Pure Alchemy asset export. Safe to import without React or browser APIs. */
2
- declare const ALCHEMY_GLYPH_PATHS: readonly ["M9 3h6", "M10 3v6l-5.2 8.7A2 2 0 0 0 6.5 21h11a2 2 0 0 0 1.7-3.3L14 9V3", "M8 15h8"];
1
+ /** Pure Alchemy icon assets. Safe to import without React or browser APIs. */
2
+ type AlchemyIcon = "portal" | "copy-transform";
3
+ declare const ALCHEMY_GLYPH_PATHS: Record<AlchemyIcon, readonly string[]>;
3
4
  declare const ALCHEMY_GLYPH_SVG: string;
5
+ declare const ALCHEMY_COPY_TRANSFORM_SVG: string;
4
6
 
5
- export { ALCHEMY_GLYPH_PATHS, ALCHEMY_GLYPH_SVG };
7
+ export { ALCHEMY_COPY_TRANSFORM_SVG, ALCHEMY_GLYPH_PATHS, ALCHEMY_GLYPH_SVG, type AlchemyIcon };
@@ -1,9 +1,15 @@
1
1
  "use client";
2
2
 
3
3
  // src/content-transfer/icon.ts
4
- var ALCHEMY_GLYPH_PATHS = ["M9 3h6", "M10 3v6l-5.2 8.7A2 2 0 0 0 6.5 21h11a2 2 0 0 0 1.7-3.3L14 9V3", "M8 15h8"];
5
- var ALCHEMY_GLYPH_SVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">${ALCHEMY_GLYPH_PATHS.map((d) => `<path d="${d}"/>`).join("")}</svg>`;
4
+ var ALCHEMY_GLYPH_PATHS = {
5
+ portal: ["M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M8 12h8m-3-3 3 3-3 3"],
6
+ "copy-transform": ["M8 7V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v8M13 21H5a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v3m-5 4h11m-3-3 3 3-3 3"]
7
+ };
8
+ var svg = (paths) => `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">${paths.map((d) => `<path d="${d}"/>`).join("")}</svg>`;
9
+ var ALCHEMY_GLYPH_SVG = svg(ALCHEMY_GLYPH_PATHS.portal);
10
+ var ALCHEMY_COPY_TRANSFORM_SVG = svg(ALCHEMY_GLYPH_PATHS["copy-transform"]);
6
11
  export {
12
+ ALCHEMY_COPY_TRANSFORM_SVG,
7
13
  ALCHEMY_GLYPH_PATHS,
8
14
  ALCHEMY_GLYPH_SVG
9
15
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/content-transfer/icon.ts"],"sourcesContent":["/** Pure Alchemy asset export. Safe to import without React or browser APIs. */\nexport const ALCHEMY_GLYPH_PATHS = [\"M9 3h6\", \"M10 3v6l-5.2 8.7A2 2 0 0 0 6.5 21h11a2 2 0 0 0 1.7-3.3L14 9V3\", \"M8 15h8\"] as const;\nexport const ALCHEMY_GLYPH_SVG = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${ALCHEMY_GLYPH_PATHS.map((d) => `<path d=\"${d}\"/>`).join(\"\")}</svg>`;\n"],"mappings":";;;AACO,IAAM,sBAAsB,CAAC,UAAU,iEAAiE,SAAS;AACjH,IAAM,oBAAoB,mKAAmK,oBAAoB,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/content-transfer/icon.ts"],"sourcesContent":["/** Pure Alchemy icon assets. Safe to import without React or browser APIs. */\nexport type AlchemyIcon = \"portal\" | \"copy-transform\";\nexport const ALCHEMY_GLYPH_PATHS: Record<AlchemyIcon, readonly string[]> = {\n portal: [\"M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M8 12h8m-3-3 3 3-3 3\"],\n \"copy-transform\": [\"M8 7V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v8M13 21H5a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v3m-5 4h11m-3-3 3 3-3 3\"],\n};\nconst svg = (paths: readonly string[]) => `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\">${paths.map((d) => `<path d=\"${d}\"/>`).join(\"\")}</svg>`;\nexport const ALCHEMY_GLYPH_SVG = svg(ALCHEMY_GLYPH_PATHS.portal);\nexport const ALCHEMY_COPY_TRANSFORM_SVG = svg(ALCHEMY_GLYPH_PATHS[\"copy-transform\"]);\n"],"mappings":";;;AAEO,IAAM,sBAA8D;AAAA,EACzE,QAAQ,CAAC,uGAAuG;AAAA,EAChH,kBAAkB,CAAC,sHAAsH;AAC3I;AACA,IAAM,MAAM,CAAC,UAA6B,0LAA0L,MAAM,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1Q,IAAM,oBAAoB,IAAI,oBAAoB,MAAM;AACxD,IAAM,6BAA6B,IAAI,oBAAoB,gBAAgB,CAAC;","names":[]}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M8 12h8m-3-3 3 3-3 3"/></svg>