@ai-matrx/design-system 0.44.1 → 0.44.3

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,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.44.3 (2026-09-26 — nothing inside a context-menu region is restyled)
4
+
5
+ * **Fix:** 0.44.2 stopped sizing the context REGION, but the trigger's icon rules were descendant
6
+ selectors (`[data-alchemy-trigger] .matrx-tap-icon`, and its `:hover`), so every tap-button icon a
7
+ context menu wraps (message actions, composer buttons) was resized and recoloured, and hovering
8
+ the region recoloured them all. Both rules now exclude `="context"`.
9
+ * Test: `styles.test.ts` "never restyles the content INSIDE a context-menu region" (RED → GREEN).
10
+
11
+ **Consumer action:** none.
12
+
13
+ ## 0.44.2 (2026-09-26 — a context-menu region is never sized like an icon)
14
+
15
+ * **Fix:** `content-transfer.css` sized every `[data-alchemy-trigger]` to 2rem (2.75rem on coarse
16
+ pointers). `data-alchemy-trigger="context"` marks the whole REGION a context menu wraps, so once
17
+ matrx-frontend's context menu adopted it every wrapped chat message collapsed to 32px wide (video,
18
+ job card and text, found live 2026-09-26). The sizing rules now exclude `="context"`.
19
+ * Test: `styles.test.ts` "never sizes a context-menu region as if it were an icon button"
20
+ (RED without the change → GREEN).
21
+
22
+ **Consumer action:** none.
23
+
3
24
  ## 0.44.1 (2026-09-26 — an indeterminate Progress actually sweeps)
4
25
 
5
26
  * **Fix:** an indeterminate `Progress` (`value={null}`) carried `w-full` beside
@@ -9,6 +30,11 @@
9
30
  when it is determinate.
10
31
  * Test: `controls.test.tsx` "never pairs the indeterminate sweep with a full-width utility"
11
32
  (RED without the change → GREEN).
33
+ * **Feature (records-ui merge tranche 6l):** `spreadsheet.onSelectionChange(selection | null)` — the
34
+ table tells its consumer where the person is standing after every move of the cell cursor or the
35
+ selected rectangle: the active cell, the rectangle's row and column ids in visual order, its cell
36
+ count and its TSV. The merged record grid builds its side-chat agent context from it. Test:
37
+ `MatrxDataTable.selection-is-told.test.tsx` (RED 1/2 on 0.44.0 → GREEN 2/2).
12
38
 
13
39
  **Consumer action:** none.
14
40
 
@@ -1,17 +1,20 @@
1
1
  /* Structural Alchemy rules. Hosts own token values; Tailwind is never required. */
2
2
  @import "./tap-target.css";
3
- /* Match Matrx sidebar icon geometry and its theme-aware color vocabulary. */
4
- [data-alchemy-trigger] {
3
+ /* Match Matrx sidebar icon geometry and its theme-aware color vocabulary.
4
+ `data-alchemy-trigger="context"` marks a whole context-menu REGION (a chat
5
+ message, a row), never an icon button, so neither it nor anything inside it
6
+ is sized or recoloured here. */
7
+ [data-alchemy-trigger]:not([data-alchemy-trigger="context"]) {
5
8
  width: 2rem;
6
9
  height: 2rem;
7
10
  }
8
- [data-alchemy-trigger] .matrx-tap-icon {
11
+ [data-alchemy-trigger]:not([data-alchemy-trigger="context"]) .matrx-tap-icon {
9
12
  width: 1.125rem;
10
13
  height: 1.125rem;
11
14
  color: var(--shell-nav-icon, hsl(var(--foreground)));
12
15
  stroke-width: 1.75;
13
16
  }
14
- [data-alchemy-trigger]:hover .matrx-tap-icon {
17
+ [data-alchemy-trigger]:not([data-alchemy-trigger="context"]):hover .matrx-tap-icon {
15
18
  color: var(--shell-nav-icon-hover, hsl(var(--foreground)));
16
19
  }
17
20
  [data-alchemy-trigger="glass"] .matrx-tap-pill {
@@ -25,7 +28,7 @@
25
28
  [data-alchemy-trigger="outline"] { width: 1.75rem; height: 1.75rem; padding: 0; }
26
29
  [data-alchemy-trigger="outline"] > svg { width: 1rem; height: 1rem; stroke-width: 2; }
27
30
  @media (pointer: coarse) {
28
- [data-alchemy-trigger] { width: 2.75rem; height: 2.75rem; }
31
+ [data-alchemy-trigger]:not([data-alchemy-trigger="context"]) { width: 2.75rem; height: 2.75rem; }
29
32
  }
30
33
  .matrx-alchemy {
31
34
  display: inline-flex;
@@ -1,5 +1,5 @@
1
1
  import { AgentPayloadInput } from './copy-types.cjs';
2
- import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../types-cvgKRetM.cjs';
2
+ import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../types-JTUQsDV0.cjs';
3
3
  import '../content-transfer.cjs';
4
4
  import 'react';
5
5
  import '@ai-matrx/kit/content-transfer';
@@ -1,5 +1,5 @@
1
1
  import { AgentPayloadInput } from './copy-types.js';
2
- import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../types-Bzzzed5d.js';
2
+ import { g as MatrxDataTableCopyConfig, M as MatrxColumnDef } from '../types-BNDN9all.js';
3
3
  import '../content-transfer.js';
4
4
  import 'react';
5
5
  import '@ai-matrx/kit/content-transfer';
@@ -1,4 +1,4 @@
1
- import { M as MatrxColumnDef, C as ColumnFiltersState, S as SortState, L as LayeredFilterRule, T as TableSearchMatchMode, a as ColumnFilterValue } from '../types-cvgKRetM.cjs';
1
+ import { M as MatrxColumnDef, C as ColumnFiltersState, S as SortState, L as LayeredFilterRule, T as TableSearchMatchMode, a as ColumnFilterValue } from '../types-JTUQsDV0.cjs';
2
2
  import '../content-transfer.cjs';
3
3
  import 'react';
4
4
  import '@ai-matrx/kit/content-transfer';
@@ -1,4 +1,4 @@
1
- import { M as MatrxColumnDef, C as ColumnFiltersState, S as SortState, L as LayeredFilterRule, T as TableSearchMatchMode, a as ColumnFilterValue } from '../types-Bzzzed5d.js';
1
+ import { M as MatrxColumnDef, C as ColumnFiltersState, S as SortState, L as LayeredFilterRule, T as TableSearchMatchMode, a as ColumnFilterValue } from '../types-BNDN9all.js';
2
2
  import '../content-transfer.js';
3
3
  import 'react';
4
4
  import '@ai-matrx/kit/content-transfer';
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { ComponentType, ReactNode, MouseEventHandler } from 'react';
3
3
  import { CopyControlProps } from './copy-types.cjs';
4
4
  export { AgentPayloadInput, AiCustomSource, AiVariant, CopyExportConfig } from './copy-types.cjs';
5
- import { b as TableSavedViewsProps, c as MatrxDataTableDensity, d as MatrxDataTableRecordControls } from '../types-cvgKRetM.cjs';
5
+ import { b as TableSavedViewsProps, c as MatrxDataTableDensity, d as MatrxDataTableRecordControls } from '../types-JTUQsDV0.cjs';
6
6
  import { MatrxTableMenuTarget, MatrxTableMenuPayload, MatrxTableMenuSectionsResolver, MatrxTableMenuIconName } from './menu-targets.cjs';
7
7
  export { MatrxTableMenuItem, MatrxTableMenuSection } from './menu-targets.cjs';
8
8
  import '../content-transfer.cjs';
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { ComponentType, ReactNode, MouseEventHandler } from 'react';
3
3
  import { CopyControlProps } from './copy-types.js';
4
4
  export { AgentPayloadInput, AiCustomSource, AiVariant, CopyExportConfig } from './copy-types.js';
5
- import { b as TableSavedViewsProps, c as MatrxDataTableDensity, d as MatrxDataTableRecordControls } from '../types-Bzzzed5d.js';
5
+ import { b as TableSavedViewsProps, c as MatrxDataTableDensity, d as MatrxDataTableRecordControls } from '../types-BNDN9all.js';
6
6
  import { MatrxTableMenuTarget, MatrxTableMenuPayload, MatrxTableMenuSectionsResolver, MatrxTableMenuIconName } from './menu-targets.js';
7
7
  export { MatrxTableMenuItem, MatrxTableMenuSection } from './menu-targets.js';
8
8
  import '../content-transfer.js';
@@ -15495,7 +15495,7 @@ function MatrxDataTableCore({
15495
15495
  ...frozenStyle(id)
15496
15496
  },
15497
15497
  children: [
15498
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ColumnHeaderDropZone, { id, enabled: reorderableColumns, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
15498
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ColumnHeaderDropZone, { id, enabled: reorderableColumns && col.reorderable !== false, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
15499
15499
  ColumnHeaderCell,
15500
15500
  {
15501
15501
  label: col.header,
@@ -15537,7 +15537,7 @@ function MatrxDataTableCore({
15537
15537
  align: col.align,
15538
15538
  compact,
15539
15539
  marker,
15540
- reorderColumn: reorderableColumns ? { id, label: headerLabel } : void 0,
15540
+ reorderColumn: reorderableColumns && col.reorderable !== false ? { id, label: headerLabel } : void 0,
15541
15541
  menuItems: col.headerMenu,
15542
15542
  MenuIcon: host.MenuIcon
15543
15543
  }