@ai-matrx/records-ui 0.79.0 → 0.82.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.
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ComponentType, RefObject } from 'react';
3
3
  import * as _ai_matrx_records from '@ai-matrx/records';
4
- import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, RelationDisplay, WriteConflict, DeclarableFieldKind, ParityFieldType, NewFieldDeclaration, RuleExpression, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkInboxKind, FieldKind, RecordFilter as RecordFilter$1, ArchiveLane, ArchivedRow, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, FieldTypeWord } from '@ai-matrx/records';
4
+ import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, RelationDisplay, WriteConflict, RecordsErrorCode, DeclarableFieldKind, ParityFieldType, NewFieldDeclaration, RuleExpression, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkInboxKind, FieldKind, RecordFilter as RecordFilter$1, ArchiveLane, ArchivedRow, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, FieldTypeWord } from '@ai-matrx/records';
5
5
  import { Uuid, RecordFilter, Field as Field$1, ReadRow as ReadRow$1 } from '@ai-matrx/records/react';
6
6
  import { RecordsClient } from '@ai-matrx/records/core';
7
7
  import { FieldFormatConfig } from '@ai-matrx/design-system/field-formats';
@@ -897,10 +897,20 @@ declare function GridCell({ field, row, editing, canWrite, whyNot, format, onAsk
897
897
  declare function hintIsMachineIdentity(hint: string): boolean;
898
898
  /** The hint a PERSON should read, or null when it is written for an engineer. */
899
899
  declare function hintForAPerson(hint: string | null | undefined): string | null;
900
- declare function RefusalNotice({ error, className, actions, }: {
900
+ declare function RefusalNotice({ error, className, actions, onKeepEditing, onDiscard, }: {
901
901
  error: RecordsError;
902
902
  className?: string | undefined;
903
903
  actions?: ReactNode | undefined;
904
+ /**
905
+ * KEEP EDITING / DISCARD (lane REFUSAL-SWEEP, 2026-09-23). Pass these ONLY where
906
+ * an editor is open holding what the person typed and the refusal is about that
907
+ * text: the notice then owns the two doors out, so the notice — never a clock —
908
+ * decides how long the typed text is kept. Keep editing hands the person back
909
+ * to their text; Discard throws it away and puts back what was there. A surface
910
+ * with nothing typed to keep passes neither and gets no buttons.
911
+ */
912
+ onKeepEditing?: (() => void) | undefined;
913
+ onDiscard?: (() => void) | undefined;
904
914
  }): react.JSX.Element;
905
915
  /** A small inline one, for a cell or a field where a block would break the layout. */
906
916
  declare function RefusalLine({ error, className }: {
@@ -908,6 +918,34 @@ declare function RefusalLine({ error, className }: {
908
918
  className?: string | undefined;
909
919
  }): react.JSX.Element;
910
920
 
921
+ /**
922
+ * A refusal in this package's own words.
923
+ *
924
+ * @param code what KIND of refusal — picks the notice's title and its fallback remedy.
925
+ * @param sentence what happened, for a person.
926
+ * @param remedy what to do now, when this call site knows better than the code's default.
927
+ * @param diagnostic an engineer's note (a thrown message, a status) — rendered out of sight.
928
+ */
929
+ declare function refusal(code: RecordsErrorCode, sentence: string, remedy?: string | null, diagnostic?: string | null): RecordsError;
930
+ /**
931
+ * A refusal made from something THROWN in the browser. The thrown text is an
932
+ * engineer's (a parser's "Unexpected token } in JSON at position 14", a
933
+ * library's stack) and goes out of sight; the person reads `sentence`.
934
+ */
935
+ declare function refusalFromThrown(thrown: unknown, sentence: string, remedy?: string | null, code?: RecordsErrorCode): RecordsError;
936
+ /**
937
+ * The store's refusal when there is one, otherwise this package's own sentence —
938
+ * for the call sites whose answer MAY carry an error (`res.error?.message ?? "…"`
939
+ * was the old shape, and it printed the store's message raw).
940
+ */
941
+ declare function refusalOr(error: RecordsError | null | undefined, code: RecordsErrorCode, sentence: string): RecordsError;
942
+ /**
943
+ * Whatever a host callback threw, as a refusal: the store's own `RecordsError`
944
+ * when that is what arrived (it is drawn with its own words and remedy), and
945
+ * otherwise `refusalFromThrown` — the thrown text out of sight, `sentence` in view.
946
+ */
947
+ declare function asRefusal(thrown: unknown, sentence: string, remedy?: string | null, code?: RecordsErrorCode): RecordsError;
948
+
911
949
  /**
912
950
  * HOW A TABLE LOOKS — colors, formats and the frozen column.
913
951
  *
@@ -1166,10 +1204,30 @@ declare function FilePicker({ label, accept, inputLabel, hint, disabled, onFile,
1166
1204
 
1167
1205
  interface ImportWizardProps {
1168
1206
  tableId: Uuid;
1207
+ /**
1208
+ * FIX-12 F2: THE PERSON SAYS WHEN THEY ARE FINISHED WITH AN IMPORT — NOT THE
1209
+ * LAST ROW.
1210
+ *
1211
+ * This used to fire the moment `io_import_finish` answered, and every host
1212
+ * wires it to close the rail. So the screen that finally knew the truth — the
1213
+ * ledger sentence, the refusal list, the columns that went to the inbox — was
1214
+ * unmounted in the same tick it became true. VERIFIER-12 watched a 40-row file
1215
+ * land 28 and refuse 12 and saw NOTHING at all: the whole run fitted inside
1216
+ * one call, so the report existed for less than a paint. A long file only
1217
+ * looked better because the person had time to read the PROGRESS; its report
1218
+ * was destroyed just as fast.
1219
+ *
1220
+ * It is now the "Done" button on the report, and nothing else calls it.
1221
+ */
1169
1222
  onDone?: ((written: number) => void) | undefined;
1223
+ /**
1224
+ * FIX-12 F2: the rows landed. Fired when the run finishes, for a host that
1225
+ * needs to refresh behind the panel — never for closing it.
1226
+ */
1227
+ onWrote?: ((written: number) => void) | undefined;
1170
1228
  className?: string | undefined;
1171
1229
  }
1172
- declare function ImportWizard({ tableId, onDone, className }: ImportWizardProps): react.JSX.Element;
1230
+ declare function ImportWizard({ tableId, onDone, onWrote, className }: ImportWizardProps): react.JSX.Element;
1173
1231
 
1174
1232
  interface CustomFieldsSectionProps {
1175
1233
  /** The standard table's registered token (REC-33), e.g. `party`, `crm_deal`. */
@@ -2264,6 +2322,8 @@ interface PortalBuilderProps {
2264
2322
  }
2265
2323
  declare function PortalBuilder({ tableId, portalId, onSaved, onClose, className }: PortalBuilderProps): react.JSX.Element;
2266
2324
 
2325
+ /** The sentence when a link named a portal this table is not in. */
2326
+ declare const PORTAL_NOT_HERE_LINE: string;
2267
2327
  interface PortalsPanelProps {
2268
2328
  /**
2269
2329
  * The Table whose page this rail is on. THE RAIL IS SCOPED TO IT: it lists
@@ -2287,6 +2347,12 @@ interface PortalsPanelProps {
2287
2347
  * mount that is not standing on a table.
2288
2348
  */
2289
2349
  tableId?: Uuid | undefined;
2350
+ /**
2351
+ * THE PORTAL A LINK NAMED (`?rail=portals&item=<portal>`, lane HUB-FIX). Its
2352
+ * card opens on arrival and is scrolled to. A portal this table is not in is
2353
+ * said out loud, never swapped for another portal.
2354
+ */
2355
+ activePortalId?: Uuid | null | undefined;
2290
2356
  className?: string | undefined;
2291
2357
  }
2292
2358
  /** What a door answered, for a view that never holds a client of its own. */
@@ -2316,7 +2382,7 @@ declare function revokeConsequence(person: PortalPrincipal, portalTitle: string)
2316
2382
  * the screen can say whose eyes these are and be right.
2317
2383
  */
2318
2384
  declare function previewLine(person: PortalPrincipal): string;
2319
- declare function PortalsPanel({ tableId, className }: PortalsPanelProps): react.JSX.Element;
2385
+ declare function PortalsPanel({ tableId, activePortalId, className }: PortalsPanelProps): react.JSX.Element;
2320
2386
  interface PortalCardViewProps {
2321
2387
  /** Exactly what `custom.portal_card` answered. */
2322
2388
  card: PortalCard;
@@ -2371,9 +2437,18 @@ declare function DigestScheduler({ tableId, savedViewId, subjectName, filters, o
2371
2437
 
2372
2438
  interface SubscriptionsPanelProps {
2373
2439
  tableId: Uuid;
2440
+ /**
2441
+ * THE DIGEST A LINK NAMED (`?rail=notifications&item=<rule>`, lane HUB-FIX).
2442
+ * The rule is marked and scrolled to. This rail lists the subscriptions of the
2443
+ * person signed in, so a rule that is somebody else's is said out loud as
2444
+ * exactly that — never replaced by one of theirs.
2445
+ */
2446
+ activeRuleId?: Uuid | null | undefined;
2374
2447
  className?: string | undefined;
2375
2448
  }
2376
- declare function SubscriptionsPanel({ tableId, className }: SubscriptionsPanelProps): react.JSX.Element;
2449
+ /** The sentence when a link named a digest that is not in this person's list for this table. */
2450
+ declare const RULE_NOT_HERE_LINE: string;
2451
+ declare function SubscriptionsPanel({ tableId, activeRuleId, className }: SubscriptionsPanelProps): react.JSX.Element;
2377
2452
 
2378
2453
  /** What a person is asking to have made, in the store's own word for it. */
2379
2454
  type BuildableKind = "form" | "booking" | "portal" | "digest";
@@ -2663,9 +2738,18 @@ declare function DashboardCanvas({ tableId, activeDashboardId, filter, className
2663
2738
 
2664
2739
  interface FormsPanelProps {
2665
2740
  tableId: Uuid;
2741
+ /**
2742
+ * THE FORM A LINK NAMED (`?rail=forms&item=<form>`, lane HUB-FIX). The rail
2743
+ * opens ON it: marked and scrolled to, and — for somebody who may build — its
2744
+ * builder open on that form. An id this table has no form by is said out
2745
+ * loud, never swapped for the first form in the list.
2746
+ */
2747
+ activeFormId?: Uuid | null | undefined;
2666
2748
  className?: string | undefined;
2667
2749
  }
2668
- declare function FormsPanel({ tableId, className }: FormsPanelProps): react.JSX.Element;
2750
+ /** The sentence when a link named a form this table does not have. */
2751
+ declare const FORM_NOT_HERE_LINE: string;
2752
+ declare function FormsPanel({ tableId, activeFormId, className }: FormsPanelProps): react.JSX.Element;
2669
2753
 
2670
2754
  /** What the public arm's `onSubmit` answers. A refusal carries the door's words. */
2671
2755
  type FormSubmitOutcome = {
@@ -2675,6 +2759,12 @@ type FormSubmitOutcome = {
2675
2759
  } | {
2676
2760
  ok: false;
2677
2761
  message: string;
2762
+ /**
2763
+ * The store's own refusal, when the arm has one. Drawn by `RefusalNotice`, so
2764
+ * its machine identity is excised and its remedy is shown; an arm that only
2765
+ * has `message` still gets a notice built from it (lane REFUSAL-SWEEP).
2766
+ */
2767
+ error?: RecordsError | undefined;
2678
2768
  };
2679
2769
  interface FormRunnerProps {
2680
2770
  /** The complete spec. An agent wrote it; `FormBuilder` saved it; this runs it. */
@@ -3120,6 +3210,31 @@ interface TablePageProps {
3120
3210
  * `activeGroupField`, and is never written onto the saved view.
3121
3211
  */
3122
3212
  filter?: RecordFilter$1 | null | undefined;
3213
+ /**
3214
+ * WHICH RAIL THE ADDRESS OPENS — `forms`, `bookings`, `checklists`,
3215
+ * `notifications` (also `digests`), `portals`, `settings`, `import`, `inbox`
3216
+ * or `share`, exactly as the host read it out of `?rail=`.
3217
+ *
3218
+ * 🚨 THE DEAD LINK THIS CLOSES (lane HUB-FIX, 2026-09-23; VERIFIER-14 item 2).
3219
+ * The organization hub lists every form, digest, portal and outside share of
3220
+ * an organization, and every one of those rows opened `/data-v2/<table>` —
3221
+ * the table's GRID — because nothing in this page could be addressed below
3222
+ * the layout: the rails were `useState` with no prop and no URL spelling. A
3223
+ * person who clicked "Spring drain-cleaning intake" landed on 400 rows of jobs
3224
+ * and had to find the Forms button, then the form. Same shape as `?view=`: a
3225
+ * word this page does not know is said out loud (`unknownRailLine`), never a
3226
+ * silent grid.
3227
+ *
3228
+ * Absent, the page opens exactly as it did.
3229
+ */
3230
+ activeRail?: string | null | undefined;
3231
+ /**
3232
+ * WHICH THING INSIDE THAT RAIL — the form, the portal or the digest rule the
3233
+ * link named. The rail opens ON it: the form's builder, the portal's card
3234
+ * opened, the rule marked and scrolled to. An id the rail does not hold is
3235
+ * said out loud by the rail, never replaced by its first row.
3236
+ */
3237
+ activeItemId?: Uuid$1 | null | undefined;
3123
3238
  className?: string | undefined;
3124
3239
  }
3125
3240
  /**
@@ -3233,10 +3348,18 @@ declare function surfaceChosen(current: Surface, asking: SurfacePress): boolean;
3233
3348
  * WHAT THE PAGE OPENS SHOWING — one pure function, so the dead link can be shown failing.
3234
3349
  * See `TablePageProps.activeRecordId` for the defect it closes.
3235
3350
  */
3236
- declare function openingRail(activeRecordId: Uuid$1 | null | undefined): {
3237
- rail: "record" | "none";
3351
+ declare function openingRail(activeRecordId: Uuid$1 | null | undefined, activeRail?: string | null | undefined): {
3352
+ rail: "record" | "none" | Exclude<LinkRail, "share">;
3238
3353
  record: Uuid$1 | null;
3239
3354
  };
3355
+ /** The rails a link may open, plus `share`, which opens the share dialog over the page. */
3356
+ type LinkRail = "forms" | "bookings" | "checklists" | "notifications" | "portals" | "settings" | "import" | "inbox" | "share";
3357
+ /** What a `?rail=` value means, or `null` when it means nothing here. */
3358
+ declare function railFromParam(raw: string | null | undefined): LinkRail | null;
3359
+ /** The sentence a link that named a rail nobody has says. Never silent. */
3360
+ declare function unknownRailLine(raw: string): string;
3361
+ /** The sentence when the link asked for the share dialog and this person may not share. */
3362
+ declare const SHARE_NOT_YOURS_LINE: string;
3240
3363
  /**
3241
3364
  * WHICH VIEW A LINK OPENS — one pure function, so the dead link can be shown
3242
3365
  * failing. See `TablePageProps.activeView` for the defect it closes.
@@ -3258,7 +3381,7 @@ declare function openingView(activeView: string | null | undefined, activeDashbo
3258
3381
  layout: ViewLayout | null;
3259
3382
  unknown: string | null;
3260
3383
  };
3261
- declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, activeGroupField, cameFrom, filter, className, }: TablePageProps): react.JSX.Element;
3384
+ declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, activeGroupField, cameFrom, filter, activeRail, activeItemId, className, }: TablePageProps): react.JSX.Element;
3262
3385
 
3263
3386
  /** What the roster can tell us about a user id. `null` when it cannot. */
3264
3387
  type ResolveName = (userId: Uuid$1) => string | null;
@@ -3412,6 +3535,12 @@ interface ShareControlProps {
3412
3535
  * assumption, which is the whole of this lane.
3413
3536
  */
3414
3537
  may?: boolean | undefined;
3538
+ /**
3539
+ * OPEN THE DIALOG ON ARRIVAL — a link (`?rail=share`) named this share, so the
3540
+ * page opens on it rather than making the person find the button. It still
3541
+ * opens only for somebody who may share; the caller says why when not.
3542
+ */
3543
+ initiallyOpen?: boolean | undefined;
3415
3544
  size?: "sm" | "default" | undefined;
3416
3545
  variant?: "ghost" | "outline" | "default" | undefined;
3417
3546
  className?: string | undefined;
@@ -3420,7 +3549,7 @@ interface ShareControlProps {
3420
3549
  declare function useCanShare(): boolean;
3421
3550
  /** Why there is no Share button here, for anything that asks. */
3422
3551
  declare function shareUnavailableReason(): string;
3423
- declare function ShareControl({ kind, organizationId, subjectId, name, may, size, variant, className, }: ShareControlProps): ReactNode;
3552
+ declare function ShareControl({ kind, organizationId, subjectId, name, may, initiallyOpen, size, variant, className, }: ShareControlProps): ReactNode;
3424
3553
 
3425
3554
  interface PipelineBoardProps {
3426
3555
  tableId: Uuid;
@@ -3436,4 +3565,4 @@ interface PipelineBoardProps {
3436
3565
  }
3437
3566
  declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
3438
3567
 
3439
- export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, ARCHIVED_NEVER_DESTROYED, ARCHIVE_MEANS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, ArchivedDisclosure, type ArchivedDisclosureProps, ArchivedPortals, type ArchivedPortalsProps, ArchivedView, type ArchivedViewProps, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FilePicker, type FilePickerProps, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, archivedRowLine, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isParityFieldType, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, kindsWithNoChoice, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, mayNotRestoreLine, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
3568
+ export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, ARCHIVED_NEVER_DESTROYED, ARCHIVE_MEANS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, ArchivedDisclosure, type ArchivedDisclosureProps, ArchivedPortals, type ArchivedPortalsProps, ArchivedView, type ArchivedViewProps, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FORM_NOT_HERE_LINE, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FilePicker, type FilePickerProps, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, type LinkRail, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PORTAL_NOT_HERE_LINE, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, RULE_NOT_HERE_LINE, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SHARE_NOT_YOURS_LINE, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, archivedRowLine, asRefusal, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isParityFieldType, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, kindsWithNoChoice, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, mayNotRestoreLine, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, railFromParam, recordName, recordNameIn, recordsDataSource, refusal, refusalForAPerson, refusalFromThrown, refusalLineForAPerson, refusalOr, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownRailLine, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ComponentType, RefObject } from 'react';
3
3
  import * as _ai_matrx_records from '@ai-matrx/records';
4
- import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, RelationDisplay, WriteConflict, DeclarableFieldKind, ParityFieldType, NewFieldDeclaration, RuleExpression, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkInboxKind, FieldKind, RecordFilter as RecordFilter$1, ArchiveLane, ArchivedRow, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, FieldTypeWord } from '@ai-matrx/records';
4
+ import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, RelationDisplay, WriteConflict, RecordsErrorCode, DeclarableFieldKind, ParityFieldType, NewFieldDeclaration, RuleExpression, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkInboxKind, FieldKind, RecordFilter as RecordFilter$1, ArchiveLane, ArchivedRow, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, FieldTypeWord } from '@ai-matrx/records';
5
5
  import { Uuid, RecordFilter, Field as Field$1, ReadRow as ReadRow$1 } from '@ai-matrx/records/react';
6
6
  import { RecordsClient } from '@ai-matrx/records/core';
7
7
  import { FieldFormatConfig } from '@ai-matrx/design-system/field-formats';
@@ -897,10 +897,20 @@ declare function GridCell({ field, row, editing, canWrite, whyNot, format, onAsk
897
897
  declare function hintIsMachineIdentity(hint: string): boolean;
898
898
  /** The hint a PERSON should read, or null when it is written for an engineer. */
899
899
  declare function hintForAPerson(hint: string | null | undefined): string | null;
900
- declare function RefusalNotice({ error, className, actions, }: {
900
+ declare function RefusalNotice({ error, className, actions, onKeepEditing, onDiscard, }: {
901
901
  error: RecordsError;
902
902
  className?: string | undefined;
903
903
  actions?: ReactNode | undefined;
904
+ /**
905
+ * KEEP EDITING / DISCARD (lane REFUSAL-SWEEP, 2026-09-23). Pass these ONLY where
906
+ * an editor is open holding what the person typed and the refusal is about that
907
+ * text: the notice then owns the two doors out, so the notice — never a clock —
908
+ * decides how long the typed text is kept. Keep editing hands the person back
909
+ * to their text; Discard throws it away and puts back what was there. A surface
910
+ * with nothing typed to keep passes neither and gets no buttons.
911
+ */
912
+ onKeepEditing?: (() => void) | undefined;
913
+ onDiscard?: (() => void) | undefined;
904
914
  }): react.JSX.Element;
905
915
  /** A small inline one, for a cell or a field where a block would break the layout. */
906
916
  declare function RefusalLine({ error, className }: {
@@ -908,6 +918,34 @@ declare function RefusalLine({ error, className }: {
908
918
  className?: string | undefined;
909
919
  }): react.JSX.Element;
910
920
 
921
+ /**
922
+ * A refusal in this package's own words.
923
+ *
924
+ * @param code what KIND of refusal — picks the notice's title and its fallback remedy.
925
+ * @param sentence what happened, for a person.
926
+ * @param remedy what to do now, when this call site knows better than the code's default.
927
+ * @param diagnostic an engineer's note (a thrown message, a status) — rendered out of sight.
928
+ */
929
+ declare function refusal(code: RecordsErrorCode, sentence: string, remedy?: string | null, diagnostic?: string | null): RecordsError;
930
+ /**
931
+ * A refusal made from something THROWN in the browser. The thrown text is an
932
+ * engineer's (a parser's "Unexpected token } in JSON at position 14", a
933
+ * library's stack) and goes out of sight; the person reads `sentence`.
934
+ */
935
+ declare function refusalFromThrown(thrown: unknown, sentence: string, remedy?: string | null, code?: RecordsErrorCode): RecordsError;
936
+ /**
937
+ * The store's refusal when there is one, otherwise this package's own sentence —
938
+ * for the call sites whose answer MAY carry an error (`res.error?.message ?? "…"`
939
+ * was the old shape, and it printed the store's message raw).
940
+ */
941
+ declare function refusalOr(error: RecordsError | null | undefined, code: RecordsErrorCode, sentence: string): RecordsError;
942
+ /**
943
+ * Whatever a host callback threw, as a refusal: the store's own `RecordsError`
944
+ * when that is what arrived (it is drawn with its own words and remedy), and
945
+ * otherwise `refusalFromThrown` — the thrown text out of sight, `sentence` in view.
946
+ */
947
+ declare function asRefusal(thrown: unknown, sentence: string, remedy?: string | null, code?: RecordsErrorCode): RecordsError;
948
+
911
949
  /**
912
950
  * HOW A TABLE LOOKS — colors, formats and the frozen column.
913
951
  *
@@ -1166,10 +1204,30 @@ declare function FilePicker({ label, accept, inputLabel, hint, disabled, onFile,
1166
1204
 
1167
1205
  interface ImportWizardProps {
1168
1206
  tableId: Uuid;
1207
+ /**
1208
+ * FIX-12 F2: THE PERSON SAYS WHEN THEY ARE FINISHED WITH AN IMPORT — NOT THE
1209
+ * LAST ROW.
1210
+ *
1211
+ * This used to fire the moment `io_import_finish` answered, and every host
1212
+ * wires it to close the rail. So the screen that finally knew the truth — the
1213
+ * ledger sentence, the refusal list, the columns that went to the inbox — was
1214
+ * unmounted in the same tick it became true. VERIFIER-12 watched a 40-row file
1215
+ * land 28 and refuse 12 and saw NOTHING at all: the whole run fitted inside
1216
+ * one call, so the report existed for less than a paint. A long file only
1217
+ * looked better because the person had time to read the PROGRESS; its report
1218
+ * was destroyed just as fast.
1219
+ *
1220
+ * It is now the "Done" button on the report, and nothing else calls it.
1221
+ */
1169
1222
  onDone?: ((written: number) => void) | undefined;
1223
+ /**
1224
+ * FIX-12 F2: the rows landed. Fired when the run finishes, for a host that
1225
+ * needs to refresh behind the panel — never for closing it.
1226
+ */
1227
+ onWrote?: ((written: number) => void) | undefined;
1170
1228
  className?: string | undefined;
1171
1229
  }
1172
- declare function ImportWizard({ tableId, onDone, className }: ImportWizardProps): react.JSX.Element;
1230
+ declare function ImportWizard({ tableId, onDone, onWrote, className }: ImportWizardProps): react.JSX.Element;
1173
1231
 
1174
1232
  interface CustomFieldsSectionProps {
1175
1233
  /** The standard table's registered token (REC-33), e.g. `party`, `crm_deal`. */
@@ -2264,6 +2322,8 @@ interface PortalBuilderProps {
2264
2322
  }
2265
2323
  declare function PortalBuilder({ tableId, portalId, onSaved, onClose, className }: PortalBuilderProps): react.JSX.Element;
2266
2324
 
2325
+ /** The sentence when a link named a portal this table is not in. */
2326
+ declare const PORTAL_NOT_HERE_LINE: string;
2267
2327
  interface PortalsPanelProps {
2268
2328
  /**
2269
2329
  * The Table whose page this rail is on. THE RAIL IS SCOPED TO IT: it lists
@@ -2287,6 +2347,12 @@ interface PortalsPanelProps {
2287
2347
  * mount that is not standing on a table.
2288
2348
  */
2289
2349
  tableId?: Uuid | undefined;
2350
+ /**
2351
+ * THE PORTAL A LINK NAMED (`?rail=portals&item=<portal>`, lane HUB-FIX). Its
2352
+ * card opens on arrival and is scrolled to. A portal this table is not in is
2353
+ * said out loud, never swapped for another portal.
2354
+ */
2355
+ activePortalId?: Uuid | null | undefined;
2290
2356
  className?: string | undefined;
2291
2357
  }
2292
2358
  /** What a door answered, for a view that never holds a client of its own. */
@@ -2316,7 +2382,7 @@ declare function revokeConsequence(person: PortalPrincipal, portalTitle: string)
2316
2382
  * the screen can say whose eyes these are and be right.
2317
2383
  */
2318
2384
  declare function previewLine(person: PortalPrincipal): string;
2319
- declare function PortalsPanel({ tableId, className }: PortalsPanelProps): react.JSX.Element;
2385
+ declare function PortalsPanel({ tableId, activePortalId, className }: PortalsPanelProps): react.JSX.Element;
2320
2386
  interface PortalCardViewProps {
2321
2387
  /** Exactly what `custom.portal_card` answered. */
2322
2388
  card: PortalCard;
@@ -2371,9 +2437,18 @@ declare function DigestScheduler({ tableId, savedViewId, subjectName, filters, o
2371
2437
 
2372
2438
  interface SubscriptionsPanelProps {
2373
2439
  tableId: Uuid;
2440
+ /**
2441
+ * THE DIGEST A LINK NAMED (`?rail=notifications&item=<rule>`, lane HUB-FIX).
2442
+ * The rule is marked and scrolled to. This rail lists the subscriptions of the
2443
+ * person signed in, so a rule that is somebody else's is said out loud as
2444
+ * exactly that — never replaced by one of theirs.
2445
+ */
2446
+ activeRuleId?: Uuid | null | undefined;
2374
2447
  className?: string | undefined;
2375
2448
  }
2376
- declare function SubscriptionsPanel({ tableId, className }: SubscriptionsPanelProps): react.JSX.Element;
2449
+ /** The sentence when a link named a digest that is not in this person's list for this table. */
2450
+ declare const RULE_NOT_HERE_LINE: string;
2451
+ declare function SubscriptionsPanel({ tableId, activeRuleId, className }: SubscriptionsPanelProps): react.JSX.Element;
2377
2452
 
2378
2453
  /** What a person is asking to have made, in the store's own word for it. */
2379
2454
  type BuildableKind = "form" | "booking" | "portal" | "digest";
@@ -2663,9 +2738,18 @@ declare function DashboardCanvas({ tableId, activeDashboardId, filter, className
2663
2738
 
2664
2739
  interface FormsPanelProps {
2665
2740
  tableId: Uuid;
2741
+ /**
2742
+ * THE FORM A LINK NAMED (`?rail=forms&item=<form>`, lane HUB-FIX). The rail
2743
+ * opens ON it: marked and scrolled to, and — for somebody who may build — its
2744
+ * builder open on that form. An id this table has no form by is said out
2745
+ * loud, never swapped for the first form in the list.
2746
+ */
2747
+ activeFormId?: Uuid | null | undefined;
2666
2748
  className?: string | undefined;
2667
2749
  }
2668
- declare function FormsPanel({ tableId, className }: FormsPanelProps): react.JSX.Element;
2750
+ /** The sentence when a link named a form this table does not have. */
2751
+ declare const FORM_NOT_HERE_LINE: string;
2752
+ declare function FormsPanel({ tableId, activeFormId, className }: FormsPanelProps): react.JSX.Element;
2669
2753
 
2670
2754
  /** What the public arm's `onSubmit` answers. A refusal carries the door's words. */
2671
2755
  type FormSubmitOutcome = {
@@ -2675,6 +2759,12 @@ type FormSubmitOutcome = {
2675
2759
  } | {
2676
2760
  ok: false;
2677
2761
  message: string;
2762
+ /**
2763
+ * The store's own refusal, when the arm has one. Drawn by `RefusalNotice`, so
2764
+ * its machine identity is excised and its remedy is shown; an arm that only
2765
+ * has `message` still gets a notice built from it (lane REFUSAL-SWEEP).
2766
+ */
2767
+ error?: RecordsError | undefined;
2678
2768
  };
2679
2769
  interface FormRunnerProps {
2680
2770
  /** The complete spec. An agent wrote it; `FormBuilder` saved it; this runs it. */
@@ -3120,6 +3210,31 @@ interface TablePageProps {
3120
3210
  * `activeGroupField`, and is never written onto the saved view.
3121
3211
  */
3122
3212
  filter?: RecordFilter$1 | null | undefined;
3213
+ /**
3214
+ * WHICH RAIL THE ADDRESS OPENS — `forms`, `bookings`, `checklists`,
3215
+ * `notifications` (also `digests`), `portals`, `settings`, `import`, `inbox`
3216
+ * or `share`, exactly as the host read it out of `?rail=`.
3217
+ *
3218
+ * 🚨 THE DEAD LINK THIS CLOSES (lane HUB-FIX, 2026-09-23; VERIFIER-14 item 2).
3219
+ * The organization hub lists every form, digest, portal and outside share of
3220
+ * an organization, and every one of those rows opened `/data-v2/<table>` —
3221
+ * the table's GRID — because nothing in this page could be addressed below
3222
+ * the layout: the rails were `useState` with no prop and no URL spelling. A
3223
+ * person who clicked "Spring drain-cleaning intake" landed on 400 rows of jobs
3224
+ * and had to find the Forms button, then the form. Same shape as `?view=`: a
3225
+ * word this page does not know is said out loud (`unknownRailLine`), never a
3226
+ * silent grid.
3227
+ *
3228
+ * Absent, the page opens exactly as it did.
3229
+ */
3230
+ activeRail?: string | null | undefined;
3231
+ /**
3232
+ * WHICH THING INSIDE THAT RAIL — the form, the portal or the digest rule the
3233
+ * link named. The rail opens ON it: the form's builder, the portal's card
3234
+ * opened, the rule marked and scrolled to. An id the rail does not hold is
3235
+ * said out loud by the rail, never replaced by its first row.
3236
+ */
3237
+ activeItemId?: Uuid$1 | null | undefined;
3123
3238
  className?: string | undefined;
3124
3239
  }
3125
3240
  /**
@@ -3233,10 +3348,18 @@ declare function surfaceChosen(current: Surface, asking: SurfacePress): boolean;
3233
3348
  * WHAT THE PAGE OPENS SHOWING — one pure function, so the dead link can be shown failing.
3234
3349
  * See `TablePageProps.activeRecordId` for the defect it closes.
3235
3350
  */
3236
- declare function openingRail(activeRecordId: Uuid$1 | null | undefined): {
3237
- rail: "record" | "none";
3351
+ declare function openingRail(activeRecordId: Uuid$1 | null | undefined, activeRail?: string | null | undefined): {
3352
+ rail: "record" | "none" | Exclude<LinkRail, "share">;
3238
3353
  record: Uuid$1 | null;
3239
3354
  };
3355
+ /** The rails a link may open, plus `share`, which opens the share dialog over the page. */
3356
+ type LinkRail = "forms" | "bookings" | "checklists" | "notifications" | "portals" | "settings" | "import" | "inbox" | "share";
3357
+ /** What a `?rail=` value means, or `null` when it means nothing here. */
3358
+ declare function railFromParam(raw: string | null | undefined): LinkRail | null;
3359
+ /** The sentence a link that named a rail nobody has says. Never silent. */
3360
+ declare function unknownRailLine(raw: string): string;
3361
+ /** The sentence when the link asked for the share dialog and this person may not share. */
3362
+ declare const SHARE_NOT_YOURS_LINE: string;
3240
3363
  /**
3241
3364
  * WHICH VIEW A LINK OPENS — one pure function, so the dead link can be shown
3242
3365
  * failing. See `TablePageProps.activeView` for the defect it closes.
@@ -3258,7 +3381,7 @@ declare function openingView(activeView: string | null | undefined, activeDashbo
3258
3381
  layout: ViewLayout | null;
3259
3382
  unknown: string | null;
3260
3383
  };
3261
- declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, activeGroupField, cameFrom, filter, className, }: TablePageProps): react.JSX.Element;
3384
+ declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, activeGroupField, cameFrom, filter, activeRail, activeItemId, className, }: TablePageProps): react.JSX.Element;
3262
3385
 
3263
3386
  /** What the roster can tell us about a user id. `null` when it cannot. */
3264
3387
  type ResolveName = (userId: Uuid$1) => string | null;
@@ -3412,6 +3535,12 @@ interface ShareControlProps {
3412
3535
  * assumption, which is the whole of this lane.
3413
3536
  */
3414
3537
  may?: boolean | undefined;
3538
+ /**
3539
+ * OPEN THE DIALOG ON ARRIVAL — a link (`?rail=share`) named this share, so the
3540
+ * page opens on it rather than making the person find the button. It still
3541
+ * opens only for somebody who may share; the caller says why when not.
3542
+ */
3543
+ initiallyOpen?: boolean | undefined;
3415
3544
  size?: "sm" | "default" | undefined;
3416
3545
  variant?: "ghost" | "outline" | "default" | undefined;
3417
3546
  className?: string | undefined;
@@ -3420,7 +3549,7 @@ interface ShareControlProps {
3420
3549
  declare function useCanShare(): boolean;
3421
3550
  /** Why there is no Share button here, for anything that asks. */
3422
3551
  declare function shareUnavailableReason(): string;
3423
- declare function ShareControl({ kind, organizationId, subjectId, name, may, size, variant, className, }: ShareControlProps): ReactNode;
3552
+ declare function ShareControl({ kind, organizationId, subjectId, name, may, initiallyOpen, size, variant, className, }: ShareControlProps): ReactNode;
3424
3553
 
3425
3554
  interface PipelineBoardProps {
3426
3555
  tableId: Uuid;
@@ -3436,4 +3565,4 @@ interface PipelineBoardProps {
3436
3565
  }
3437
3566
  declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
3438
3567
 
3439
- export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, ARCHIVED_NEVER_DESTROYED, ARCHIVE_MEANS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, ArchivedDisclosure, type ArchivedDisclosureProps, ArchivedPortals, type ArchivedPortalsProps, ArchivedView, type ArchivedViewProps, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FilePicker, type FilePickerProps, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, archivedRowLine, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isParityFieldType, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, kindsWithNoChoice, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, mayNotRestoreLine, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
3568
+ export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, ARCHIVED_NEVER_DESTROYED, ARCHIVE_MEANS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, ArchivedDisclosure, type ArchivedDisclosureProps, ArchivedPortals, type ArchivedPortalsProps, ArchivedView, type ArchivedViewProps, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FORM_NOT_HERE_LINE, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FilePicker, type FilePickerProps, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, type LinkRail, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PORTAL_NOT_HERE_LINE, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, RULE_NOT_HERE_LINE, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SHARE_NOT_YOURS_LINE, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, archivedRowLine, asRefusal, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isParityFieldType, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, kindsWithNoChoice, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, mayNotRestoreLine, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, railFromParam, recordName, recordNameIn, recordsDataSource, refusal, refusalForAPerson, refusalFromThrown, refusalLineForAPerson, refusalOr, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownRailLine, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };