@ai-matrx/design-system 0.21.1 → 0.21.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 +12 -0
- package/dist/content-transfer.cjs +20 -6
- package/dist/content-transfer.cjs.map +1 -1
- package/dist/content-transfer.d.cts +38 -4
- package/dist/content-transfer.d.ts +38 -4
- package/dist/content-transfer.js +20 -6
- package/dist/content-transfer.js.map +1 -1
- package/dist/data-table/copy-helpers.d.cts +4 -3
- package/dist/data-table/copy-helpers.d.ts +4 -3
- package/dist/data-table/copy-types.cjs.map +1 -1
- package/dist/data-table/copy-types.d.cts +7 -2
- package/dist/data-table/copy-types.d.ts +7 -2
- package/dist/data-table/data-row-inspector.cjs +23 -6
- package/dist/data-table/data-row-inspector.cjs.map +1 -1
- package/dist/data-table/data-row-inspector.js +23 -6
- package/dist/data-table/data-row-inspector.js.map +1 -1
- package/dist/data-table/data-row-window.cjs +23 -6
- package/dist/data-table/data-row-window.cjs.map +1 -1
- package/dist/data-table/data-row-window.js +23 -6
- package/dist/data-table/data-row-window.js.map +1 -1
- package/dist/data-table/filter-engine.d.cts +4 -3
- package/dist/data-table/filter-engine.d.ts +4 -3
- package/dist/data-table/host.cjs +12 -1
- package/dist/data-table/host.cjs.map +1 -1
- package/dist/data-table/host.d.cts +16 -3
- package/dist/data-table/host.d.ts +16 -3
- package/dist/data-table/host.js +12 -1
- package/dist/data-table/host.js.map +1 -1
- package/dist/data-table/index.cjs +992 -843
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.d.cts +15 -6
- package/dist/data-table/index.d.ts +15 -6
- package/dist/data-table/index.js +949 -800
- package/dist/data-table/index.js.map +1 -1
- package/dist/data-table/infer-filter.d.cts +4 -3
- package/dist/data-table/infer-filter.d.ts +4 -3
- package/dist/data-table/layered-filters.d.cts +4 -3
- package/dist/data-table/layered-filters.d.ts +4 -3
- package/dist/data-table/pagination.cjs +3 -0
- package/dist/data-table/pagination.cjs.map +1 -1
- package/dist/data-table/pagination.js +3 -0
- package/dist/data-table/pagination.js.map +1 -1
- package/dist/data-table/query-control.d.cts +4 -3
- package/dist/data-table/query-control.d.ts +4 -3
- package/dist/data-table/types.cjs.map +1 -1
- package/dist/data-table/types.d.cts +3 -2
- package/dist/data-table/types.d.ts +3 -2
- package/dist/data-table/url-state.d.cts +4 -3
- package/dist/data-table/url-state.d.ts +4 -3
- package/dist/data-table/uuid-cell.cjs +3 -0
- package/dist/data-table/uuid-cell.cjs.map +1 -1
- package/dist/data-table/uuid-cell.js +3 -0
- package/dist/data-table/uuid-cell.js.map +1 -1
- package/dist/data-table/xlsx.d.cts +4 -3
- package/dist/data-table/xlsx.d.ts +4 -3
- package/dist/styles.css +9 -0
- package/dist/{types-B99KFITZ.d.cts → types-BarjBFyG.d.cts} +9 -1
- package/dist/{types-CryQuMmz.d.ts → types-JFlsIv-0.d.ts} +9 -1
- package/package.json +1 -1
- package/dist/extensions-DCHtNwG3.d.cts +0 -32
- package/dist/extensions-DCHtNwG3.d.ts +0 -32
|
@@ -407,6 +407,9 @@ var HostContext = hostRegistry[HOST_SLOT] ??= (0, import_react.createContext)({}
|
|
|
407
407
|
function useMatrxDataTableHost() {
|
|
408
408
|
return (0, import_react.useContext)(HostContext);
|
|
409
409
|
}
|
|
410
|
+
var ROW_ALCHEMY_SLOT = /* @__PURE__ */ Symbol.for("ai-matrx.design-system.table-row-alchemy-context");
|
|
411
|
+
var rowAlchemyRegistry = globalThis;
|
|
412
|
+
var RowAlchemyContext = rowAlchemyRegistry[ROW_ALCHEMY_SLOT] ??= (0, import_react.createContext)(null);
|
|
410
413
|
|
|
411
414
|
// src/content-transfer/matrx-copy.tsx
|
|
412
415
|
var React10 = __toESM(require("react"), 1);
|
|
@@ -1404,8 +1407,9 @@ function ContentTransferMenu(props) {
|
|
|
1404
1407
|
const identityKey = props.capabilities?.identityKey ?? inherited.identityKey;
|
|
1405
1408
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ContentTransferMenuSession, { ...props }, identityKey ?? "anonymous");
|
|
1406
1409
|
}
|
|
1407
|
-
function ContentTransferMenuSession({ references = [], referenceActions = [], source, surface, label, projection, sections, preferences, table, formatSources, sourceFormats = true, variants = EMPTY_VARIANTS, actions = [], capabilities: local, disabled, enabled = true, className, stopPropagation = true, hide = [], controllerRef, icon = "portal", triggerVariant = "transparent", triggerSize = "default" }) {
|
|
1410
|
+
function ContentTransferMenuSession({ references = [], referenceActions = [], source, surface, label, projection, sections, preferences, table, formatSources, sourceFormats = true, variants = EMPTY_VARIANTS, actions = [], capabilities: local, disabled, enabled = true, className, stopPropagation = true, hide = [], controllerRef, icon = "portal", triggerVariant = "transparent", triggerSize = "default", triggerHidden = false }) {
|
|
1408
1411
|
const triggerRef = React9.useRef(null);
|
|
1412
|
+
const restoreFocusRef = React9.useRef(null);
|
|
1409
1413
|
const inherited = React9.useContext(CapabilityContext);
|
|
1410
1414
|
const nearestSurface = React9.useContext(SurfaceContext);
|
|
1411
1415
|
const fence = useFence();
|
|
@@ -1655,13 +1659,21 @@ function ContentTransferMenuSession({ references = [], referenceActions = [], so
|
|
|
1655
1659
|
);
|
|
1656
1660
|
React9.useImperativeHandle(controllerRef, () => ({
|
|
1657
1661
|
focusTrigger: () => triggerRef.current?.focus(),
|
|
1662
|
+
preparePrimary: async (options) => {
|
|
1663
|
+
if (!enabled) throw new Error("Alchemy is not enabled for this record.");
|
|
1664
|
+
if (disabled) throw new Error("Alchemy is disabled for this record.");
|
|
1665
|
+
if (hide.includes("prepare")) throw new Error("Alchemy preparation is unavailable for this record.");
|
|
1666
|
+
if (!primary) throw new Error("Alchemy has no source to prepare.");
|
|
1667
|
+
restoreFocusRef.current = options?.restoreFocus ?? null;
|
|
1668
|
+
await openWorkspace(primaryWorkspaceKey, { source: primary, label: sourceLabel });
|
|
1669
|
+
},
|
|
1658
1670
|
prepare: async (requestedSource, options) => {
|
|
1659
1671
|
const requestedLabel = options?.label ?? ("label" in requestedSource ? requestedSource.label : "content");
|
|
1660
1672
|
const requestedKey = `controller:${options?.id ?? "source"}:${materialIdentity(requestedSource)}`;
|
|
1661
1673
|
externalWorkspaceKeys.current.add(requestedKey);
|
|
1662
1674
|
await openWorkspace(requestedKey, { source: requestedSource, label: requestedLabel });
|
|
1663
1675
|
}
|
|
1664
|
-
}), [openWorkspace]);
|
|
1676
|
+
}), [disabled, enabled, hide, openWorkspace, primary, primaryWorkspaceKey, sourceLabel]);
|
|
1665
1677
|
const runAction = React9.useCallback(async (action) => {
|
|
1666
1678
|
const { controller, id } = fence.begin();
|
|
1667
1679
|
try {
|
|
@@ -1744,7 +1756,7 @@ function ContentTransferMenuSession({ references = [], referenceActions = [], so
|
|
|
1744
1756
|
] }, id);
|
|
1745
1757
|
};
|
|
1746
1758
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("span", { className: cn("matrx-alchemy", className), onClick: stopPropagation ? (event) => event.stopPropagation() : void 0, children: [
|
|
1747
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Popover, { open: paletteOpen, onOpenChange: (open) => {
|
|
1759
|
+
!triggerHidden ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Popover, { open: paletteOpen, onOpenChange: (open) => {
|
|
1748
1760
|
setPaletteOpen(open);
|
|
1749
1761
|
if (open) {
|
|
1750
1762
|
setMode("copy");
|
|
@@ -1853,13 +1865,13 @@ function ContentTransferMenuSession({ references = [], referenceActions = [], so
|
|
|
1853
1865
|
] }, group) : null;
|
|
1854
1866
|
})
|
|
1855
1867
|
] })
|
|
1856
|
-
] }),
|
|
1868
|
+
] }) : null,
|
|
1857
1869
|
notice && triggerRef.current ? (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "matrx-alchemy-feedback", children: [
|
|
1858
1870
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { role: "status", children: notice }),
|
|
1859
1871
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ReceiptLink, { target: receiptTarget }),
|
|
1860
1872
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("button", { type: "button", "aria-label": "Dismiss Alchemy feedback", onClick: () => setNotice(null), children: "\xD7" })
|
|
1861
1873
|
] }), triggerRef.current.ownerDocument.body) : null,
|
|
1862
|
-
Object.values(workspaces).map((saved) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(PreparationWorkspace, { restoreFocus: () => triggerRef.current?.focus(), open: workspaceOpen && workspaceKey === saved.key, state: saved, scopes, scopeLabels: table?.scopeLabels, onClose: () => setWorkspaceOpen(false), onChange: (next) => setWorkspaces((current) => ({ ...current, [saved.key]: next })), transport, adapters, actions: preparedActions, captureScope: workspaceCaptures.current.get(saved.key) ?? capturePrimary, ...ai ? { ai } : {}, onOutcome: report }, saved.key)),
|
|
1874
|
+
Object.values(workspaces).map((saved) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(PreparationWorkspace, { restoreFocus: () => restoreFocusRef.current?.() ?? triggerRef.current?.focus(), open: workspaceOpen && workspaceKey === saved.key, state: saved, scopes, scopeLabels: table?.scopeLabels, onClose: () => setWorkspaceOpen(false), onChange: (next) => setWorkspaces((current) => ({ ...current, [saved.key]: next })), transport, adapters, actions: preparedActions, captureScope: workspaceCaptures.current.get(saved.key) ?? capturePrimary, ...ai ? { ai } : {}, onOutcome: report }, saved.key)),
|
|
1863
1875
|
emailReview
|
|
1864
1876
|
] });
|
|
1865
1877
|
}
|
|
@@ -2666,7 +2678,12 @@ function MatrxCopyMenuSession(props) {
|
|
|
2666
2678
|
...props.referenceActions ? { referenceActions: props.referenceActions } : {},
|
|
2667
2679
|
...props.icon !== void 0 ? { icon: props.icon } : {},
|
|
2668
2680
|
...props.triggerVariant !== void 0 ? { triggerVariant: props.triggerVariant } : {},
|
|
2669
|
-
controllerRef:
|
|
2681
|
+
controllerRef: (value) => {
|
|
2682
|
+
controller.current = value;
|
|
2683
|
+
if (typeof props.controllerRef === "function") props.controllerRef(value);
|
|
2684
|
+
else if (props.controllerRef) props.controllerRef.current = value;
|
|
2685
|
+
},
|
|
2686
|
+
...props.triggerHidden ? { triggerHidden: true } : {},
|
|
2670
2687
|
label: props.label,
|
|
2671
2688
|
variants,
|
|
2672
2689
|
actions,
|