@ai-matrx/design-system 0.18.12 → 0.18.14

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,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.14
4
+
5
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
6
+ `git diff npm/design-system/v0.18.13..npm/design-system/v0.18.14 -- apps/shared/design-system`).
7
+ No source changes intended and no consumer action required.
8
+
9
+ ## 0.18.13
10
+
11
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
12
+ `git diff npm/design-system/v0.18.12..npm/design-system/v0.18.13 -- apps/shared/design-system`).
13
+ No source changes intended and no consumer action required.
14
+
3
15
  ## 0.18.12 — 2026-09-12
4
16
 
5
17
  Completes the shared data-table header correction: canonical toolbar-sized
@@ -48,6 +48,7 @@ __export(content_transfer_exports, {
48
48
  });
49
49
  module.exports = __toCommonJS(content_transfer_exports);
50
50
  var React8 = __toESM(require("react"), 1);
51
+ var import_react_dom = require("react-dom");
51
52
  var import_content_transfer2 = require("@ai-matrx/kit/content-transfer");
52
53
 
53
54
  // src/button.tsx
@@ -1611,7 +1612,10 @@ function ContentTransferMenuSession({ source, surface, label, projection, sectio
1611
1612
  }, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(MenuPresentation, { ...action, label: action.label }) }, action.id)) }) : null
1612
1613
  ] })
1613
1614
  ] }),
1614
- notice ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: "matrx-alchemy-notice", role: "status", children: notice }) : null,
1615
+ notice && triggerRef.current ? (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "matrx-alchemy-feedback", children: [
1616
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { role: "status", children: notice }),
1617
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("button", { type: "button", "aria-label": "Dismiss Alchemy feedback", onClick: () => setNotice(null), children: "\xD7" })
1618
+ ] }), triggerRef.current.ownerDocument.body) : null,
1615
1619
  Object.values(workspaces).map((saved) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(PreparationWorkspace, { restoreFocus: () => triggerRef.current?.focus(), open: workspaceOpen && workspaceKey === saved.key, state: saved, scopes, onClose: () => setWorkspaceOpen(false), onChange: (next) => setWorkspaces((current) => ({ ...current, [saved.key]: next })), transport, adapters, captureScope: workspaceCaptures.current.get(saved.key) ?? capturePrimary, ...ai ? { ai } : {}, onOutcome: report }, saved.key))
1616
1620
  ] });
1617
1621
  }
@@ -1928,15 +1932,36 @@ function PreparationWorkspace({ restoreFocus, open, state, scopes, onClose, onCh
1928
1932
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("input", { type: "number", min: "0", value: controls[key] ?? "", onChange: (e) => changeControls({ ...controls, [key]: Number.isNaN(e.target.valueAsNumber) ? null : e.target.valueAsNumber }) })
1929
1933
  ] }, key))
1930
1934
  ] }) : null,
1931
- rows ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RowControls, { rows, controls, change: changeControls }) : null,
1932
- state.snapshot.sections.length ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("fieldset", { className: "matrx-alchemy-options", children: [
1933
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("legend", { children: "Sections" }),
1934
- state.snapshot.sections.map((section) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { children: [
1935
+ rows ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("details", { className: "matrx-alchemy-options matrx-alchemy-data-controls", children: [
1936
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("summary", { children: [
1937
+ "Data selection \xB7 ",
1938
+ controls.visibleColumns.length,
1939
+ " columns",
1940
+ controls.search || controls.sort || controls.top != null || controls.selectedOnly || Object.values(controls.filters).some(Boolean) ? " \xB7 customized" : " \xB7 all rows"
1941
+ ] }),
1942
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "matrx-alchemy-data-controls-body", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RowControls, { rows, controls, change: changeControls }) })
1943
+ ] }) : null,
1944
+ state.snapshot.sections.length ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("details", { className: "matrx-alchemy-options", children: [
1945
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("summary", { children: [
1946
+ "Sections \xB7 ",
1947
+ controls.sections.length,
1948
+ " included"
1949
+ ] }),
1950
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("fieldset", { "aria-label": "Included sections", children: state.snapshot.sections.map((section) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { children: [
1935
1951
  /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("input", { type: "checkbox", checked: controls.sections.includes(section.id), onChange: (e) => changeControls({ ...controls, sections: e.target.checked ? [...controls.sections, section.id] : controls.sections.filter((id) => id !== section.id) }) }),
1936
1952
  " ",
1937
1953
  section.label
1938
- ] }, section.id))
1954
+ ] }, section.id)) })
1939
1955
  ] }) : null,
1956
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: "matrx-alchemy-preview-label", children: [
1957
+ "Output format",
1958
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("select", { "aria-label": "Output format", value: format, onChange: (e) => setFormat(e.target.value), children: [
1959
+ formats.map((f) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: f, children: LABEL[f] }, f)),
1960
+ state.draft.payload.kind === "rows" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "xlsx", children: "Excel workbook" }) : null,
1961
+ workspaceAdapters.map((adapter) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: adapter.id, children: adapter.label }, adapter.id))
1962
+ ] })
1963
+ ] }),
1964
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("textarea", { className: "matrx-alchemy-preview", "aria-label": "Prepared output", "aria-invalid": bufferError ? true : void 0, "aria-describedby": bufferError ? "alchemy-buffer-error" : void 0, value: buffer, onChange: (e) => editBuffer(e.target.value) }),
1940
1965
  /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "matrx-alchemy-coverage", children: [
1941
1966
  /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { children: [
1942
1967
  state.snapshot.coverage.included.toLocaleString(),
@@ -1963,15 +1988,6 @@ function PreparationWorkspace({ restoreFocus, open, state, scopes, onClose, onCh
1963
1988
  ] }, `${o.path}-${o.reason}-${i}`)) })
1964
1989
  ] }) : null
1965
1990
  ] }),
1966
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { className: "matrx-alchemy-preview-label", children: [
1967
- "Output format",
1968
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("select", { "aria-label": "Output format", value: format, onChange: (e) => setFormat(e.target.value), children: [
1969
- formats.map((f) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: f, children: LABEL[f] }, f)),
1970
- state.draft.payload.kind === "rows" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: "xlsx", children: "Excel workbook" }) : null,
1971
- workspaceAdapters.map((adapter) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("option", { value: adapter.id, children: adapter.label }, adapter.id))
1972
- ] })
1973
- ] }),
1974
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("textarea", { className: "matrx-alchemy-preview", "aria-label": "Prepared output", "aria-invalid": bufferError ? true : void 0, "aria-describedby": bufferError ? "alchemy-buffer-error" : void 0, value: buffer, onChange: (e) => editBuffer(e.target.value) }),
1975
1991
  bufferError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { id: "alchemy-buffer-error", role: "alert", className: "matrx-alchemy-error", children: bufferError }) : null,
1976
1992
  formatError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { role: "alert", className: "matrx-alchemy-error", children: formatError }) : null,
1977
1993
  bufferError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Button, { className: "matrx-alchemy-workspace-secondary", type: "button", variant: "outline", disabled: busy !== null, onClick: () => {