@ai-matrx/design-system 0.38.0 → 0.39.0

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 (50) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/content-transfer.cjs +4 -2
  3. package/dist/content-transfer.cjs.map +1 -1
  4. package/dist/content-transfer.js +4 -2
  5. package/dist/content-transfer.js.map +1 -1
  6. package/dist/data-table/copy-helpers.d.cts +2 -1
  7. package/dist/data-table/copy-helpers.d.ts +2 -1
  8. package/dist/data-table/data-row-inspector.cjs +4 -2
  9. package/dist/data-table/data-row-inspector.cjs.map +1 -1
  10. package/dist/data-table/data-row-inspector.js +4 -2
  11. package/dist/data-table/data-row-inspector.js.map +1 -1
  12. package/dist/data-table/data-row-window.cjs +4 -2
  13. package/dist/data-table/data-row-window.cjs.map +1 -1
  14. package/dist/data-table/data-row-window.js +4 -2
  15. package/dist/data-table/data-row-window.js.map +1 -1
  16. package/dist/data-table/filter-engine.d.cts +2 -1
  17. package/dist/data-table/filter-engine.d.ts +2 -1
  18. package/dist/data-table/host.d.cts +2 -1
  19. package/dist/data-table/host.d.ts +2 -1
  20. package/dist/data-table/index.cjs +43 -19
  21. package/dist/data-table/index.cjs.map +1 -1
  22. package/dist/data-table/index.d.cts +26 -3
  23. package/dist/data-table/index.d.ts +26 -3
  24. package/dist/data-table/index.js +43 -19
  25. package/dist/data-table/index.js.map +1 -1
  26. package/dist/data-table/infer-filter.d.cts +2 -1
  27. package/dist/data-table/infer-filter.d.ts +2 -1
  28. package/dist/data-table/layered-filters.d.cts +2 -1
  29. package/dist/data-table/layered-filters.d.ts +2 -1
  30. package/dist/data-table/query-control.d.cts +2 -1
  31. package/dist/data-table/query-control.d.ts +2 -1
  32. package/dist/data-table/table-style.cjs +332 -0
  33. package/dist/data-table/table-style.cjs.map +1 -0
  34. package/dist/data-table/table-style.d.cts +146 -0
  35. package/dist/data-table/table-style.d.ts +146 -0
  36. package/dist/data-table/table-style.js +312 -0
  37. package/dist/data-table/table-style.js.map +1 -0
  38. package/dist/data-table/types.d.cts +2 -1
  39. package/dist/data-table/types.d.ts +2 -1
  40. package/dist/data-table/url-state.d.cts +2 -1
  41. package/dist/data-table/url-state.d.ts +2 -1
  42. package/dist/data-table/xlsx.d.cts +2 -1
  43. package/dist/data-table/xlsx.d.ts +2 -1
  44. package/dist/index.cjs +4 -2
  45. package/dist/index.cjs.map +1 -1
  46. package/dist/index.js +4 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/{types-B8vwElPz.d.ts → types--rz-dVeQ.d.ts} +2 -146
  49. package/dist/{types-BuMHbFjs.d.cts → types-CZmM6ERA.d.cts} +2 -146
  50. package/package.json +11 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.39.0 — 2026-09-24
4
+
5
+ **`@ai-matrx/design-system/data-table/table-style` is its own server-safe entry.** The table-style
6
+ model (colour by a column, rules, manual highlights, the palette) is pure, but it shipped only inside
7
+ client-stamped entries, so a server could not read the palette and a portal's colours went missing
8
+ when rendered on the server (S6 PORTAL-BRANDING). It now builds like `./data-table/filter-engine`:
9
+ its own entry, the `"use client"` banner removed by `stamp-client-boundary.mjs`. Also in this
10
+ release: S4's row-selection helpers (`row-selection.ts`, `63906a23db`).
11
+
12
+ **Consumer action:** import the palette and model from `@ai-matrx/design-system/data-table/table-style`
13
+ on the server; drop any app-side copy of the palette.
14
+
15
+ ## 0.38.1 — 2026-09-23
16
+
17
+ **A default window-style Dialog sits with the layer that opened it.** In 0.38.0 every non-blocking dialog took the older `z-[900]` layer, which put a dialog opened from a menu, a popover or a host window BEHIND its opener (caught by matrx-frontend's nested-portal guard before adoption). A dialog that is a window because the caller said nothing about `modal` now sits at `z-[10000]`, as a blocking dialog always did; a caller that passes `modal={false}` explicitly keeps `z-[900]` (the coexistence contract below a host window manager). Two tests.
18
+
19
+ **Consumer action:** none.
20
+
3
21
  ## 0.38.0 — 2026-09-23
4
22
 
5
23
  **On desktop a Dialog is a window, not a wall.** (register ARE-006, `common-docs/projects/ai-reachable-everywhere/REGISTER.md`.)
@@ -265,13 +265,14 @@ function useIsMobile() {
265
265
 
266
266
  // src/dialog.tsx
267
267
  var import_jsx_runtime5 = require("react/jsx-runtime");
268
+ var DialogWindowedByDefaultContext = React5.createContext(false);
268
269
  var Dialog = ({
269
270
  children,
270
271
  ...props
271
272
  }) => {
272
273
  const isMobile = useIsMobile();
273
274
  const modal = props.modal ?? isMobile;
274
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DialogPrimitive.Root, { ...props, modal, children }) });
275
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DialogWindowedByDefaultContext.Provider, { value: props.modal === void 0, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(DialogPrimitive.Root, { ...props, modal, children }) }) });
275
276
  };
276
277
  Dialog.displayName = "Dialog";
277
278
  var DialogPortal = ({
@@ -340,6 +341,7 @@ var DialogContent = React5.forwardRef(
340
341
  const injectedContainer = usePortalContainer(container);
341
342
  const asSheet = mobileSheet && isMobile;
342
343
  const windowed = !isModal && !asSheet;
344
+ const windowedByDefault = React5.useContext(DialogWindowedByDefaultContext);
343
345
  const [containerEl, setContainerEl] = React5.useState(
344
346
  null
345
347
  );
@@ -400,7 +402,7 @@ var DialogContent = React5.forwardRef(
400
402
  // can sit beside a host's floating window manager (which starts at
401
403
  // z=1000); staying below that boundary makes a newly focused window
402
404
  // usable without coupling the two systems.
403
- !isModal && "z-[900]",
405
+ !isModal && !windowedByDefault && "z-[900]",
404
406
  // Without an overlay the card needs its own separation from the page.
405
407
  windowed && "shadow-2xl ring-1 ring-border/60"
406
408
  ),