@ai-matrx/records-ui 0.95.17 → 0.95.19
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/index.cjs +24 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +24 -6
- package/dist/index.js.map +1 -1
- package/dist/object-actions.cjs +1 -1
- package/dist/object-actions.cjs.map +1 -1
- package/dist/object-actions.d.cts +1 -1
- package/dist/object-actions.d.ts +1 -1
- package/dist/object-actions.js +1 -1
- package/dist/object-actions.js.map +1 -1
- package/dist/{objectActions-CUR8KdPr.d.cts → objectActions-XkhxU-DP.d.cts} +2 -2
- package/dist/{objectActions-CUR8KdPr.d.ts → objectActions-XkhxU-DP.d.ts} +2 -2
- package/dist/pickers.cjs.map +1 -1
- package/dist/pickers.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.cts
CHANGED
|
@@ -3,8 +3,8 @@ import { ReactNode, KeyboardEvent, ReactElement, ComponentType, RefObject, SVGAt
|
|
|
3
3
|
import * as _ai_matrx_records from '@ai-matrx/records';
|
|
4
4
|
import { RecordScopeContext, EnrichCell, RecordsError, Field, TableDecorations, Uuid as Uuid$1, RowAction, RecordDocument, Table, ReadRow, StoreFilter, PermissionLevel, AggregateFilter, RelationDisplay, WriteConflict, RecordsErrorCode, RecordFilter, RuleExpression, RecordsResult, SavedViewRow, ImportRun, DeclarableFieldKind, NewerFieldKind, ParityFieldType, NewFieldDeclaration, ChoiceRehome, FieldOptionEdit, StoredRecord, ChoiceNudge, HiddenFieldNotice, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkApprovalState, WorkInboxKind, FieldKind, ArchiveLane, ArchivedRow, WorkInboxView, WorkInboxItem, PortalAccent, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, PublicPicture, PortalStyle, MySubscription, DashboardBlockKind, AggregateBucket, AggregateMeasure, AggregateCompare, DashboardTarget, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, DrillDefinition, DrillSource } from '@ai-matrx/records';
|
|
5
5
|
import { ReversibleAnnouncement } from '@ai-matrx/kit/reversible';
|
|
6
|
-
import { W as WhatYouMayDo, T as TableActionHost, O as ObjectAction, a as ObjectActionIcon } from './objectActions-
|
|
7
|
-
export { A as ACTION_CHECKING_ACCESS_REASON, b as ACTION_NOT_HERE_REASON, c as ACTION_NO_ACCESS_REASON, d as ACTION_PLATFORM_TABLE_REASON, B as BuiltOnDestination, C as Capability, D as DEFAULT_ACTION_ORIGIN, K as KERNEL_REASON, L as LEVEL_WORD, N as NOT_ANSWERED_YET, e as OBJECT_ACTION_GROUPS, f as ObjectActionDropdownEntry, g as ObjectActionGroup, h as ObjectActionGroupDef, i as ObjectActionSection, S as STANDARD_VERBS, j as STRIP_FEATURE_ROWS, k as StandardVerbId, l as StripAndRows, m as TableActionSubject, n as TableActionsInput, o as dropdownActionIds, p as dropdownActions, q as groupObjectActions, r as levelNeededFor, s as rightsReason, t as tableActions, u as tableLink, v as toDropdownEntries, w as toStripAndRows, x as whatYouMayDo, y as whatYouMayDoWithTable, z as withExtensions } from './objectActions-
|
|
6
|
+
import { W as WhatYouMayDo, T as TableActionHost, O as ObjectAction, a as ObjectActionIcon } from './objectActions-XkhxU-DP.cjs';
|
|
7
|
+
export { A as ACTION_CHECKING_ACCESS_REASON, b as ACTION_NOT_HERE_REASON, c as ACTION_NO_ACCESS_REASON, d as ACTION_PLATFORM_TABLE_REASON, B as BuiltOnDestination, C as Capability, D as DEFAULT_ACTION_ORIGIN, K as KERNEL_REASON, L as LEVEL_WORD, N as NOT_ANSWERED_YET, e as OBJECT_ACTION_GROUPS, f as ObjectActionDropdownEntry, g as ObjectActionGroup, h as ObjectActionGroupDef, i as ObjectActionSection, S as STANDARD_VERBS, j as STRIP_FEATURE_ROWS, k as StandardVerbId, l as StripAndRows, m as TableActionSubject, n as TableActionsInput, o as dropdownActionIds, p as dropdownActions, q as groupObjectActions, r as levelNeededFor, s as rightsReason, t as tableActions, u as tableLink, v as toDropdownEntries, w as toStripAndRows, x as whatYouMayDo, y as whatYouMayDoWithTable, z as withExtensions } from './objectActions-XkhxU-DP.cjs';
|
|
8
8
|
import { Uuid, Field as Field$1, ReadRow as ReadRow$1, StoreFilter as StoreFilter$1, useRecordsClient } from '@ai-matrx/records/react';
|
|
9
9
|
import { TableStyle, GroupAggregateSpec, GroupOrder, ChoiceColorLookup, MatrxTableCardProps, StyleColor, MatrxDrillDimension, MatrxDrillMeasure, MatrxDrillFilter, MatrxDrillQuestion, MatrxDataTableDrillConfig, MatrxDrillAnswers } from '@ai-matrx/design-system/data-table';
|
|
10
10
|
import { FieldFormatConfig } from '@ai-matrx/design-system/field-formats';
|
|
@@ -1914,7 +1914,7 @@ declare const LAYOUT_FIELD_KIND: Record<ViewLayout, ViewNeedKind | null>;
|
|
|
1914
1914
|
* WHICH VIEW A LINK NAMES — the address bar as a first-class control.
|
|
1915
1915
|
*
|
|
1916
1916
|
* 🚨 THE DEFECT THIS CLOSES (lane FRONT-DOOR, 2026-09-21; VERIFIER-8 HIGH-2).
|
|
1917
|
-
* `/data
|
|
1917
|
+
* `/data/<table>?view=kanban` returned 200 and rendered THE GRID. The
|
|
1918
1918
|
* switcher was there, the four buttons worked, and the parameter was read by
|
|
1919
1919
|
* nobody — so a person who bookmarked a board, or sent one to a colleague, got
|
|
1920
1920
|
* a grid, and nothing on the screen said the view had been dropped. A link that
|
|
@@ -5694,7 +5694,7 @@ interface TablesHomeProps {
|
|
|
5694
5694
|
*/
|
|
5695
5695
|
makingOnly?: boolean | undefined;
|
|
5696
5696
|
/**
|
|
5697
|
-
* THE HOST'S OWN BUTTONS ASK (merged-grid review 2, J6: "New table" sat ~1,700 px down /data
|
|
5697
|
+
* THE HOST'S OWN BUTTONS ASK (merged-grid review 2, J6: "New table" sat ~1,700 px down /data,
|
|
5698
5698
|
* then as a row of its own). A host whose page header already has an action bar puts "New table"
|
|
5699
5699
|
* and "Start from an example" THERE and passes how many times each was pressed; this list then
|
|
5700
5700
|
* draws no button row of its own, and opens the name box / the examples when asked. Absent: the
|
|
@@ -5772,7 +5772,7 @@ interface TablePageProps {
|
|
|
5772
5772
|
*
|
|
5773
5773
|
* 🚨 THE DEAD LINK THIS CLOSES (lane SCREENS-2, 2026-09-20). `ActionInbox` has always
|
|
5774
5774
|
* handed its host `onOpenRecord(recordId, tableId)`, and the app has always routed that to
|
|
5775
|
-
* `/data
|
|
5775
|
+
* `/data/<table>?record=<record>` — and NOTHING read the parameter. Pressing Open on a
|
|
5776
5776
|
* checklist step, an assignment or an agent's proposal landed you on the table with the
|
|
5777
5777
|
* record still shut, which is the inbox not finishing the sentence it started. Measured in
|
|
5778
5778
|
* the real app on a dental practice's onboarding steps.
|
|
@@ -5851,7 +5851,7 @@ interface TablePageProps {
|
|
|
5851
5851
|
*
|
|
5852
5852
|
* 🚨 THE DEAD LINK THIS CLOSES (lane HUB-FIX, 2026-09-23; VERIFIER-14 item 2).
|
|
5853
5853
|
* The organization hub lists every form, digest, portal and outside share of
|
|
5854
|
-
* an organization, and every one of those rows opened `/data
|
|
5854
|
+
* an organization, and every one of those rows opened `/data/<table>` —
|
|
5855
5855
|
* the table's GRID — because nothing in this page could be addressed below
|
|
5856
5856
|
* the layout: the rails were `useState` with no prop and no URL spelling. A
|
|
5857
5857
|
* person who clicked "Spring drain-cleaning intake" landed on 400 rows of jobs
|
|
@@ -6407,7 +6407,7 @@ interface RecordActionsInput {
|
|
|
6407
6407
|
rights: WhatYouMayDo;
|
|
6408
6408
|
host: RecordActionHost;
|
|
6409
6409
|
}
|
|
6410
|
-
/** The one link to a record: the table page with the record open, `<origin>/data
|
|
6410
|
+
/** The one link to a record: the table page with the record open, `<origin>/data/<table>?record=<id>`. */
|
|
6411
6411
|
declare function recordLink(tableId: string, recordId: string, origin?: string): string;
|
|
6412
6412
|
/**
|
|
6413
6413
|
* THE RECORD'S ACTIONS, in the one order. Same ids, same order, same verbs for every seat and every
|
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { ReactNode, KeyboardEvent, ReactElement, ComponentType, RefObject, SVGAt
|
|
|
3
3
|
import * as _ai_matrx_records from '@ai-matrx/records';
|
|
4
4
|
import { RecordScopeContext, EnrichCell, RecordsError, Field, TableDecorations, Uuid as Uuid$1, RowAction, RecordDocument, Table, ReadRow, StoreFilter, PermissionLevel, AggregateFilter, RelationDisplay, WriteConflict, RecordsErrorCode, RecordFilter, RuleExpression, RecordsResult, SavedViewRow, ImportRun, DeclarableFieldKind, NewerFieldKind, ParityFieldType, NewFieldDeclaration, ChoiceRehome, FieldOptionEdit, StoredRecord, ChoiceNudge, HiddenFieldNotice, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkApprovalState, WorkInboxKind, FieldKind, ArchiveLane, ArchivedRow, WorkInboxView, WorkInboxItem, PortalAccent, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, PublicPicture, PortalStyle, MySubscription, DashboardBlockKind, AggregateBucket, AggregateMeasure, AggregateCompare, DashboardTarget, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, DrillDefinition, DrillSource } from '@ai-matrx/records';
|
|
5
5
|
import { ReversibleAnnouncement } from '@ai-matrx/kit/reversible';
|
|
6
|
-
import { W as WhatYouMayDo, T as TableActionHost, O as ObjectAction, a as ObjectActionIcon } from './objectActions-
|
|
7
|
-
export { A as ACTION_CHECKING_ACCESS_REASON, b as ACTION_NOT_HERE_REASON, c as ACTION_NO_ACCESS_REASON, d as ACTION_PLATFORM_TABLE_REASON, B as BuiltOnDestination, C as Capability, D as DEFAULT_ACTION_ORIGIN, K as KERNEL_REASON, L as LEVEL_WORD, N as NOT_ANSWERED_YET, e as OBJECT_ACTION_GROUPS, f as ObjectActionDropdownEntry, g as ObjectActionGroup, h as ObjectActionGroupDef, i as ObjectActionSection, S as STANDARD_VERBS, j as STRIP_FEATURE_ROWS, k as StandardVerbId, l as StripAndRows, m as TableActionSubject, n as TableActionsInput, o as dropdownActionIds, p as dropdownActions, q as groupObjectActions, r as levelNeededFor, s as rightsReason, t as tableActions, u as tableLink, v as toDropdownEntries, w as toStripAndRows, x as whatYouMayDo, y as whatYouMayDoWithTable, z as withExtensions } from './objectActions-
|
|
6
|
+
import { W as WhatYouMayDo, T as TableActionHost, O as ObjectAction, a as ObjectActionIcon } from './objectActions-XkhxU-DP.js';
|
|
7
|
+
export { A as ACTION_CHECKING_ACCESS_REASON, b as ACTION_NOT_HERE_REASON, c as ACTION_NO_ACCESS_REASON, d as ACTION_PLATFORM_TABLE_REASON, B as BuiltOnDestination, C as Capability, D as DEFAULT_ACTION_ORIGIN, K as KERNEL_REASON, L as LEVEL_WORD, N as NOT_ANSWERED_YET, e as OBJECT_ACTION_GROUPS, f as ObjectActionDropdownEntry, g as ObjectActionGroup, h as ObjectActionGroupDef, i as ObjectActionSection, S as STANDARD_VERBS, j as STRIP_FEATURE_ROWS, k as StandardVerbId, l as StripAndRows, m as TableActionSubject, n as TableActionsInput, o as dropdownActionIds, p as dropdownActions, q as groupObjectActions, r as levelNeededFor, s as rightsReason, t as tableActions, u as tableLink, v as toDropdownEntries, w as toStripAndRows, x as whatYouMayDo, y as whatYouMayDoWithTable, z as withExtensions } from './objectActions-XkhxU-DP.js';
|
|
8
8
|
import { Uuid, Field as Field$1, ReadRow as ReadRow$1, StoreFilter as StoreFilter$1, useRecordsClient } from '@ai-matrx/records/react';
|
|
9
9
|
import { TableStyle, GroupAggregateSpec, GroupOrder, ChoiceColorLookup, MatrxTableCardProps, StyleColor, MatrxDrillDimension, MatrxDrillMeasure, MatrxDrillFilter, MatrxDrillQuestion, MatrxDataTableDrillConfig, MatrxDrillAnswers } from '@ai-matrx/design-system/data-table';
|
|
10
10
|
import { FieldFormatConfig } from '@ai-matrx/design-system/field-formats';
|
|
@@ -1914,7 +1914,7 @@ declare const LAYOUT_FIELD_KIND: Record<ViewLayout, ViewNeedKind | null>;
|
|
|
1914
1914
|
* WHICH VIEW A LINK NAMES — the address bar as a first-class control.
|
|
1915
1915
|
*
|
|
1916
1916
|
* 🚨 THE DEFECT THIS CLOSES (lane FRONT-DOOR, 2026-09-21; VERIFIER-8 HIGH-2).
|
|
1917
|
-
* `/data
|
|
1917
|
+
* `/data/<table>?view=kanban` returned 200 and rendered THE GRID. The
|
|
1918
1918
|
* switcher was there, the four buttons worked, and the parameter was read by
|
|
1919
1919
|
* nobody — so a person who bookmarked a board, or sent one to a colleague, got
|
|
1920
1920
|
* a grid, and nothing on the screen said the view had been dropped. A link that
|
|
@@ -5694,7 +5694,7 @@ interface TablesHomeProps {
|
|
|
5694
5694
|
*/
|
|
5695
5695
|
makingOnly?: boolean | undefined;
|
|
5696
5696
|
/**
|
|
5697
|
-
* THE HOST'S OWN BUTTONS ASK (merged-grid review 2, J6: "New table" sat ~1,700 px down /data
|
|
5697
|
+
* THE HOST'S OWN BUTTONS ASK (merged-grid review 2, J6: "New table" sat ~1,700 px down /data,
|
|
5698
5698
|
* then as a row of its own). A host whose page header already has an action bar puts "New table"
|
|
5699
5699
|
* and "Start from an example" THERE and passes how many times each was pressed; this list then
|
|
5700
5700
|
* draws no button row of its own, and opens the name box / the examples when asked. Absent: the
|
|
@@ -5772,7 +5772,7 @@ interface TablePageProps {
|
|
|
5772
5772
|
*
|
|
5773
5773
|
* 🚨 THE DEAD LINK THIS CLOSES (lane SCREENS-2, 2026-09-20). `ActionInbox` has always
|
|
5774
5774
|
* handed its host `onOpenRecord(recordId, tableId)`, and the app has always routed that to
|
|
5775
|
-
* `/data
|
|
5775
|
+
* `/data/<table>?record=<record>` — and NOTHING read the parameter. Pressing Open on a
|
|
5776
5776
|
* checklist step, an assignment or an agent's proposal landed you on the table with the
|
|
5777
5777
|
* record still shut, which is the inbox not finishing the sentence it started. Measured in
|
|
5778
5778
|
* the real app on a dental practice's onboarding steps.
|
|
@@ -5851,7 +5851,7 @@ interface TablePageProps {
|
|
|
5851
5851
|
*
|
|
5852
5852
|
* 🚨 THE DEAD LINK THIS CLOSES (lane HUB-FIX, 2026-09-23; VERIFIER-14 item 2).
|
|
5853
5853
|
* The organization hub lists every form, digest, portal and outside share of
|
|
5854
|
-
* an organization, and every one of those rows opened `/data
|
|
5854
|
+
* an organization, and every one of those rows opened `/data/<table>` —
|
|
5855
5855
|
* the table's GRID — because nothing in this page could be addressed below
|
|
5856
5856
|
* the layout: the rails were `useState` with no prop and no URL spelling. A
|
|
5857
5857
|
* person who clicked "Spring drain-cleaning intake" landed on 400 rows of jobs
|
|
@@ -6407,7 +6407,7 @@ interface RecordActionsInput {
|
|
|
6407
6407
|
rights: WhatYouMayDo;
|
|
6408
6408
|
host: RecordActionHost;
|
|
6409
6409
|
}
|
|
6410
|
-
/** The one link to a record: the table page with the record open, `<origin>/data
|
|
6410
|
+
/** The one link to a record: the table page with the record open, `<origin>/data/<table>?record=<id>`. */
|
|
6411
6411
|
declare function recordLink(tableId: string, recordId: string, origin?: string): string;
|
|
6412
6412
|
/**
|
|
6413
6413
|
* THE RECORD'S ACTIONS, in the one order. Same ids, same order, same verbs for every seat and every
|
package/dist/index.js
CHANGED
|
@@ -19771,9 +19771,27 @@ function GridBody({
|
|
|
19771
19771
|
return { written, readBack, missing, refusals };
|
|
19772
19772
|
}, [pastePlan, client, tableId, records, merged, applyPasteAsOne, versions]);
|
|
19773
19773
|
const columnIds = useMemo32(() => ordered.map((field2) => field2.key), [ordered]);
|
|
19774
|
+
const lookWrites = useRef26(null);
|
|
19774
19775
|
const writeLook = useCallback23(
|
|
19775
|
-
(next) =>
|
|
19776
|
-
|
|
19776
|
+
(next) => {
|
|
19777
|
+
if (!onPresentationChange) return;
|
|
19778
|
+
const held = lookWrites.current?.base === presentation ? lookWrites.current : null;
|
|
19779
|
+
const merged2 = { ...held?.merged ?? presentation };
|
|
19780
|
+
const before = presentation;
|
|
19781
|
+
const after = next;
|
|
19782
|
+
for (const key of /* @__PURE__ */ new Set([...Object.keys(before), ...Object.keys(after)])) {
|
|
19783
|
+
if (before[key] === after[key]) continue;
|
|
19784
|
+
if (after[key] === void 0) delete merged2[key];
|
|
19785
|
+
else merged2[key] = after[key];
|
|
19786
|
+
}
|
|
19787
|
+
const entry = { base: presentation, merged: merged2 };
|
|
19788
|
+
lookWrites.current = entry;
|
|
19789
|
+
queueMicrotask(() => {
|
|
19790
|
+
if (lookWrites.current === entry) lookWrites.current = null;
|
|
19791
|
+
});
|
|
19792
|
+
onPresentationChange(merged2);
|
|
19793
|
+
},
|
|
19794
|
+
[onPresentationChange, presentation]
|
|
19777
19795
|
);
|
|
19778
19796
|
const chooseSummary = useCallback23(
|
|
19779
19797
|
(key, op2) => {
|
|
@@ -19782,9 +19800,9 @@ function GridBody({
|
|
|
19782
19800
|
else next[key] = op2;
|
|
19783
19801
|
setLocalSummaries(next);
|
|
19784
19802
|
const { summaries: _dropped, ...rest } = presentation;
|
|
19785
|
-
|
|
19803
|
+
writeLook(Object.keys(next).length > 0 ? { ...rest, summaries: next } : rest);
|
|
19786
19804
|
},
|
|
19787
|
-
[chosenSummaries, presentation,
|
|
19805
|
+
[chosenSummaries, presentation, writeLook]
|
|
19788
19806
|
);
|
|
19789
19807
|
const handToAgent = useCallback23(
|
|
19790
19808
|
(action3, row) => host.runAgentAction?.({
|
|
@@ -21971,7 +21989,7 @@ var OBJECT_ACTION_GROUPS = [
|
|
|
21971
21989
|
var GROUP_IDS = new Set(OBJECT_ACTION_GROUPS.map((g) => g.id));
|
|
21972
21990
|
var DEFAULT_ACTION_ORIGIN = "https://www.aimatrx.com";
|
|
21973
21991
|
function tableLink(tableId, origin = DEFAULT_ACTION_ORIGIN) {
|
|
21974
|
-
return `${origin.replace(/\/+$/, "")}/data
|
|
21992
|
+
return `${origin.replace(/\/+$/, "")}/data/${encodeURIComponent(tableId)}`;
|
|
21975
21993
|
}
|
|
21976
21994
|
function makeDefaultWords(layoutLabel) {
|
|
21977
21995
|
return layoutLabel ? `Make ${layoutLabel} the default` : "Make this the default";
|
|
@@ -25705,7 +25723,7 @@ import {
|
|
|
25705
25723
|
|
|
25706
25724
|
// src/recordActions.ts
|
|
25707
25725
|
function recordLink(tableId, recordId, origin = DEFAULT_ACTION_ORIGIN) {
|
|
25708
|
-
return `${origin.replace(/\/+$/, "")}/data
|
|
25726
|
+
return `${origin.replace(/\/+$/, "")}/data/${encodeURIComponent(tableId)}?record=${encodeURIComponent(recordId)}`;
|
|
25709
25727
|
}
|
|
25710
25728
|
var NOOP2 = () => {
|
|
25711
25729
|
};
|