@ai-matrx/records-ui 0.60.0 → 0.61.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
@@ -1277,6 +1277,13 @@ declare function RecordChip({ title, onRemove, className, }: {
1277
1277
 
1278
1278
  /** Answers "what is the record with this id called", for one Field's values. */
1279
1279
  type LabelLookup = (field: Field$1, id: string) => string | null;
1280
+ /**
1281
+ * HOW LONG A CELL MAY SAY "Loading…" BEFORE IT HAS TO SAY WHAT IT IS WAITING
1282
+ * FOR. One second is the span at which a person stops reading a word as "this
1283
+ * is about to happen" and starts reading it as "this is stuck" — the same line
1284
+ * Nielsen's response-time work draws and the one Linear and Stripe design to.
1285
+ */
1286
+ declare const SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS = 1000;
1280
1287
  /** Which ids a Field's stored value refers to. */
1281
1288
  declare function idsOf(value: unknown): string[];
1282
1289
  declare function isId(value: unknown): boolean;
@@ -1291,10 +1298,16 @@ declare function RecordLabelProvider({ children }: {
1291
1298
  * per cell, and it is why a grid of 200 rows asks the store twice.
1292
1299
  */
1293
1300
  declare function useRecordLabels(fields: readonly Field$1[] | undefined): LabelLookup;
1301
+ /**
1302
+ * WHAT THIS COLUMN IS STILL WAITING FOR, or null while "Loading…" is still an
1303
+ * honest word. A cell draws this INSTEAD of "Loading…" once the resolver has
1304
+ * been looking for a second — see `SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS`.
1305
+ */
1306
+ declare function useLabelWait(field: Field$1 | undefined): string | null;
1294
1307
 
1295
1308
  /** The envelope for one key, when the document carries one. */
1296
1309
  declare function envelopeFor(document: RecordDocument | undefined, key: string): ValueEnvelope | undefined;
1297
- declare function renderValue(field: Field, value: unknown, document?: RecordDocument, labels?: LabelLookup): react.JSX.Element;
1310
+ declare function renderValue(field: Field, value: unknown, document?: RecordDocument, labels?: LabelLookup, stillWaitingFor?: string | null): react.JSX.Element;
1298
1311
  /**
1299
1312
  * The text of one scalar, with the Field's UNIT and FORMAT applied — FLD-N-1
1300
1313
  * says both change the MEANING — and with an id resolved to the NAME of the
@@ -1305,7 +1318,15 @@ declare function renderValue(field: Field, value: unknown, document?: RecordDocu
1305
1318
  * reads like a value, and the 19 September verdict found it in choice cells,
1306
1319
  * relation cells and as every Kanban column heading.
1307
1320
  */
1308
- declare function scalarText(field: Field, value: unknown, labels?: LabelLookup): string;
1321
+ declare function scalarText(field: Field, value: unknown, labels?: LabelLookup,
1322
+ /**
1323
+ * WHAT THIS COLUMN IS WAITING FOR, once it has been looking long enough to owe
1324
+ * a sentence (`useLabelWait`). "Loading…" is honest for a moment and a lie with
1325
+ * a spinner on it after that: VERIFIER-8 MEDIUM-1 watched a whole relation
1326
+ * column say it for 10-13 seconds while the rest of the grid sat readable
1327
+ * behind it, and nothing on screen said what it was waiting for.
1328
+ */
1329
+ stillWaitingFor?: string | null): string;
1309
1330
  /** The provenance badge a value carries when the store interned a source for it (SCR-27). */
1310
1331
  declare function ProvenanceBadge({ document, fieldKey }: {
1311
1332
  document: RecordDocument | undefined;
@@ -1511,6 +1532,37 @@ declare const VIEW_TABLE: SystemTableSpec;
1511
1532
  * screen and any agent writing a view spec must agree about what is offerable.
1512
1533
  */
1513
1534
  declare const LAYOUT_FIELD_KIND: Record<ViewLayout, "choice" | "date" | null>;
1535
+ /**
1536
+ * ─────────────────────────────────────────────────────────────────────────────
1537
+ * WHICH VIEW A LINK NAMES — the address bar as a first-class control.
1538
+ *
1539
+ * 🚨 THE DEFECT THIS CLOSES (lane FRONT-DOOR, 2026-09-21; VERIFIER-8 HIGH-2).
1540
+ * `/data-v2/<table>?view=kanban` returned 200 and rendered THE GRID. The
1541
+ * switcher was there, the four buttons worked, and the parameter was read by
1542
+ * nobody — so a person who bookmarked a board, or sent one to a colleague, got
1543
+ * a grid, and nothing on the screen said the view had been dropped. A link that
1544
+ * does not land is the inbox-link defect (`activeRecordId`) and the dashboard
1545
+ * defect (`activeDashboardId`) for the third time, so this is the same shape of
1546
+ * fix: the URL names it, the page opens on it, and the URL FOLLOWS the person
1547
+ * when they pick another.
1548
+ *
1549
+ * The dashboards are a fifth value and not a special case: to the person, "the
1550
+ * dashboard" is one of the ways to look at this table, and a link to it has to
1551
+ * work like a link to the board.
1552
+ */
1553
+ declare const PAGE_VIEWS: readonly ["grid", "kanban", "calendar", "gallery", "dashboards"];
1554
+ type PageView = (typeof PAGE_VIEWS)[number];
1555
+ declare const PAGE_VIEW_LABEL: Record<PageView, string>;
1556
+ /**
1557
+ * What a `?view=` value means, or `null` when it means nothing here.
1558
+ *
1559
+ * `null` is NOT "show the grid": the caller is expected to say that the link
1560
+ * named something this table has no view for, because silently substituting a
1561
+ * different view is exactly the defect above wearing a parser.
1562
+ */
1563
+ declare function pageViewFromParam(raw: string | null | undefined): PageView | null;
1564
+ /** The sentence a link that named a view nobody has says. Never silent. */
1565
+ declare function unknownViewLine(raw: string): string;
1514
1566
  /** The one sentence a layout says when the table holds no Field it could use. */
1515
1567
  declare const LAYOUT_NO_FIELD: Record<ViewLayout, string>;
1516
1568
  /** The spec as the one document the store holds. */
@@ -2576,6 +2628,27 @@ interface TablePageProps {
2576
2628
  * Absent, nothing changes: the page opens exactly as it did.
2577
2629
  */
2578
2630
  activeRecordId?: Uuid$1 | null | undefined;
2631
+ /**
2632
+ * WHICH VIEW THE ADDRESS NAMES — `grid`, `kanban`, `calendar`, `gallery` or
2633
+ * `dashboards`, exactly as the host read it out of `?view=`.
2634
+ *
2635
+ * 🚨 THE DEAD LINK THIS CLOSES (lane FRONT-DOOR, 2026-09-21; VERIFIER-8
2636
+ * HIGH-2). `?view=kanban` returned 200 and rendered the grid: the parameter
2637
+ * was read by nobody, so a bookmarked or shared board was a grid and nothing
2638
+ * on screen said so. It is the raw string and not a parsed value because a
2639
+ * value this page does not know is a thing the PERSON has to be told about
2640
+ * (`unknownViewLine`), not a parse failure to swallow.
2641
+ *
2642
+ * Absent, the page opens exactly as it did: on the saved view's own layout.
2643
+ */
2644
+ activeView?: string | null | undefined;
2645
+ /**
2646
+ * THE ADDRESS FOLLOWS THE PERSON. Called with the view they just picked — a
2647
+ * layout button or the Dashboards button — so the host can put it in the URL.
2648
+ * Half a deep link is a link that works when you arrive and lies when you
2649
+ * copy it out of the address bar afterwards.
2650
+ */
2651
+ onViewChanged?: ((view: PageView) => void) | undefined;
2579
2652
  className?: string | undefined;
2580
2653
  }
2581
2654
  /**
@@ -2673,7 +2746,36 @@ declare function chooseSurface(current: Surface, pressed: SurfacePress): Surface
2673
2746
  * and the pressed look come from one answer rather than nine independent guesses.
2674
2747
  */
2675
2748
  declare function surfaceChosen(current: Surface, asking: SurfacePress): boolean;
2676
- declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, className, }: TablePageProps): react.JSX.Element;
2749
+ /**
2750
+ * WHAT THE PAGE OPENS SHOWING — one pure function, so the dead link can be shown failing.
2751
+ * See `TablePageProps.activeRecordId` for the defect it closes.
2752
+ */
2753
+ declare function openingRail(activeRecordId: Uuid$1 | null | undefined): {
2754
+ rail: "record" | "none";
2755
+ record: Uuid$1 | null;
2756
+ };
2757
+ /**
2758
+ * WHICH VIEW A LINK OPENS — one pure function, so the dead link can be shown
2759
+ * failing. See `TablePageProps.activeView` for the defect it closes.
2760
+ *
2761
+ * Three answers, and the third is the one that stops it being a silent drop:
2762
+ * · `main` — the records or the dashboards;
2763
+ * · `layout` — the layout the link named, or null for "whatever the saved
2764
+ * view says", which is the no-parameter case;
2765
+ * · `unknown` — the word the link used when this page has no view by that
2766
+ * name. It is RETURNED rather than swallowed, because the
2767
+ * person has to be told their link asked for something that
2768
+ * does not exist here.
2769
+ *
2770
+ * A `?dashboard=<id>` with no `?view=` still opens the canvas, because that
2771
+ * link predates this one and must keep working.
2772
+ */
2773
+ declare function openingView(activeView: string | null | undefined, activeDashboardId: Uuid$1 | null | undefined): {
2774
+ main: MainView;
2775
+ layout: ViewLayout | null;
2776
+ unknown: string | null;
2777
+ };
2778
+ declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, className, }: TablePageProps): react.JSX.Element;
2677
2779
 
2678
2780
  /** What the roster can tell us about a user id. `null` when it cannot. */
2679
2781
  type ResolveName = (userId: Uuid$1) => string | null;
@@ -2851,4 +2953,4 @@ interface PipelineBoardProps {
2851
2953
  }
2852
2954
  declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
2853
2955
 
2854
- export { ACTION_KINDS, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BookingBuilder, type BookingBuilderProps, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CONDITION_OPS, 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, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, 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, PARITY_LABEL, PARITY_MADE_OF, 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, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, SAVED_VIEWS_UNAVAILABLE, SERIES_COLORS, SOMEBODY, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, 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, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, 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, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, machineIdentityIn, memberName, nextInWords, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, publiclyAnswerable, recordName, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
2956
+ export { ACTION_KINDS, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BookingBuilder, type BookingBuilderProps, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CONDITION_OPS, 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, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, 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, 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, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, 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, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, 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, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, machineIdentityIn, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, publiclyAnswerable, recordName, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, 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 };
package/dist/index.d.ts CHANGED
@@ -1277,6 +1277,13 @@ declare function RecordChip({ title, onRemove, className, }: {
1277
1277
 
1278
1278
  /** Answers "what is the record with this id called", for one Field's values. */
1279
1279
  type LabelLookup = (field: Field$1, id: string) => string | null;
1280
+ /**
1281
+ * HOW LONG A CELL MAY SAY "Loading…" BEFORE IT HAS TO SAY WHAT IT IS WAITING
1282
+ * FOR. One second is the span at which a person stops reading a word as "this
1283
+ * is about to happen" and starts reading it as "this is stuck" — the same line
1284
+ * Nielsen's response-time work draws and the one Linear and Stripe design to.
1285
+ */
1286
+ declare const SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS = 1000;
1280
1287
  /** Which ids a Field's stored value refers to. */
1281
1288
  declare function idsOf(value: unknown): string[];
1282
1289
  declare function isId(value: unknown): boolean;
@@ -1291,10 +1298,16 @@ declare function RecordLabelProvider({ children }: {
1291
1298
  * per cell, and it is why a grid of 200 rows asks the store twice.
1292
1299
  */
1293
1300
  declare function useRecordLabels(fields: readonly Field$1[] | undefined): LabelLookup;
1301
+ /**
1302
+ * WHAT THIS COLUMN IS STILL WAITING FOR, or null while "Loading…" is still an
1303
+ * honest word. A cell draws this INSTEAD of "Loading…" once the resolver has
1304
+ * been looking for a second — see `SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS`.
1305
+ */
1306
+ declare function useLabelWait(field: Field$1 | undefined): string | null;
1294
1307
 
1295
1308
  /** The envelope for one key, when the document carries one. */
1296
1309
  declare function envelopeFor(document: RecordDocument | undefined, key: string): ValueEnvelope | undefined;
1297
- declare function renderValue(field: Field, value: unknown, document?: RecordDocument, labels?: LabelLookup): react.JSX.Element;
1310
+ declare function renderValue(field: Field, value: unknown, document?: RecordDocument, labels?: LabelLookup, stillWaitingFor?: string | null): react.JSX.Element;
1298
1311
  /**
1299
1312
  * The text of one scalar, with the Field's UNIT and FORMAT applied — FLD-N-1
1300
1313
  * says both change the MEANING — and with an id resolved to the NAME of the
@@ -1305,7 +1318,15 @@ declare function renderValue(field: Field, value: unknown, document?: RecordDocu
1305
1318
  * reads like a value, and the 19 September verdict found it in choice cells,
1306
1319
  * relation cells and as every Kanban column heading.
1307
1320
  */
1308
- declare function scalarText(field: Field, value: unknown, labels?: LabelLookup): string;
1321
+ declare function scalarText(field: Field, value: unknown, labels?: LabelLookup,
1322
+ /**
1323
+ * WHAT THIS COLUMN IS WAITING FOR, once it has been looking long enough to owe
1324
+ * a sentence (`useLabelWait`). "Loading…" is honest for a moment and a lie with
1325
+ * a spinner on it after that: VERIFIER-8 MEDIUM-1 watched a whole relation
1326
+ * column say it for 10-13 seconds while the rest of the grid sat readable
1327
+ * behind it, and nothing on screen said what it was waiting for.
1328
+ */
1329
+ stillWaitingFor?: string | null): string;
1309
1330
  /** The provenance badge a value carries when the store interned a source for it (SCR-27). */
1310
1331
  declare function ProvenanceBadge({ document, fieldKey }: {
1311
1332
  document: RecordDocument | undefined;
@@ -1511,6 +1532,37 @@ declare const VIEW_TABLE: SystemTableSpec;
1511
1532
  * screen and any agent writing a view spec must agree about what is offerable.
1512
1533
  */
1513
1534
  declare const LAYOUT_FIELD_KIND: Record<ViewLayout, "choice" | "date" | null>;
1535
+ /**
1536
+ * ─────────────────────────────────────────────────────────────────────────────
1537
+ * WHICH VIEW A LINK NAMES — the address bar as a first-class control.
1538
+ *
1539
+ * 🚨 THE DEFECT THIS CLOSES (lane FRONT-DOOR, 2026-09-21; VERIFIER-8 HIGH-2).
1540
+ * `/data-v2/<table>?view=kanban` returned 200 and rendered THE GRID. The
1541
+ * switcher was there, the four buttons worked, and the parameter was read by
1542
+ * nobody — so a person who bookmarked a board, or sent one to a colleague, got
1543
+ * a grid, and nothing on the screen said the view had been dropped. A link that
1544
+ * does not land is the inbox-link defect (`activeRecordId`) and the dashboard
1545
+ * defect (`activeDashboardId`) for the third time, so this is the same shape of
1546
+ * fix: the URL names it, the page opens on it, and the URL FOLLOWS the person
1547
+ * when they pick another.
1548
+ *
1549
+ * The dashboards are a fifth value and not a special case: to the person, "the
1550
+ * dashboard" is one of the ways to look at this table, and a link to it has to
1551
+ * work like a link to the board.
1552
+ */
1553
+ declare const PAGE_VIEWS: readonly ["grid", "kanban", "calendar", "gallery", "dashboards"];
1554
+ type PageView = (typeof PAGE_VIEWS)[number];
1555
+ declare const PAGE_VIEW_LABEL: Record<PageView, string>;
1556
+ /**
1557
+ * What a `?view=` value means, or `null` when it means nothing here.
1558
+ *
1559
+ * `null` is NOT "show the grid": the caller is expected to say that the link
1560
+ * named something this table has no view for, because silently substituting a
1561
+ * different view is exactly the defect above wearing a parser.
1562
+ */
1563
+ declare function pageViewFromParam(raw: string | null | undefined): PageView | null;
1564
+ /** The sentence a link that named a view nobody has says. Never silent. */
1565
+ declare function unknownViewLine(raw: string): string;
1514
1566
  /** The one sentence a layout says when the table holds no Field it could use. */
1515
1567
  declare const LAYOUT_NO_FIELD: Record<ViewLayout, string>;
1516
1568
  /** The spec as the one document the store holds. */
@@ -2576,6 +2628,27 @@ interface TablePageProps {
2576
2628
  * Absent, nothing changes: the page opens exactly as it did.
2577
2629
  */
2578
2630
  activeRecordId?: Uuid$1 | null | undefined;
2631
+ /**
2632
+ * WHICH VIEW THE ADDRESS NAMES — `grid`, `kanban`, `calendar`, `gallery` or
2633
+ * `dashboards`, exactly as the host read it out of `?view=`.
2634
+ *
2635
+ * 🚨 THE DEAD LINK THIS CLOSES (lane FRONT-DOOR, 2026-09-21; VERIFIER-8
2636
+ * HIGH-2). `?view=kanban` returned 200 and rendered the grid: the parameter
2637
+ * was read by nobody, so a bookmarked or shared board was a grid and nothing
2638
+ * on screen said so. It is the raw string and not a parsed value because a
2639
+ * value this page does not know is a thing the PERSON has to be told about
2640
+ * (`unknownViewLine`), not a parse failure to swallow.
2641
+ *
2642
+ * Absent, the page opens exactly as it did: on the saved view's own layout.
2643
+ */
2644
+ activeView?: string | null | undefined;
2645
+ /**
2646
+ * THE ADDRESS FOLLOWS THE PERSON. Called with the view they just picked — a
2647
+ * layout button or the Dashboards button — so the host can put it in the URL.
2648
+ * Half a deep link is a link that works when you arrive and lies when you
2649
+ * copy it out of the address bar afterwards.
2650
+ */
2651
+ onViewChanged?: ((view: PageView) => void) | undefined;
2579
2652
  className?: string | undefined;
2580
2653
  }
2581
2654
  /**
@@ -2673,7 +2746,36 @@ declare function chooseSurface(current: Surface, pressed: SurfacePress): Surface
2673
2746
  * and the pressed look come from one answer rather than nine independent guesses.
2674
2747
  */
2675
2748
  declare function surfaceChosen(current: Surface, asking: SurfacePress): boolean;
2676
- declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, className, }: TablePageProps): react.JSX.Element;
2749
+ /**
2750
+ * WHAT THE PAGE OPENS SHOWING — one pure function, so the dead link can be shown failing.
2751
+ * See `TablePageProps.activeRecordId` for the defect it closes.
2752
+ */
2753
+ declare function openingRail(activeRecordId: Uuid$1 | null | undefined): {
2754
+ rail: "record" | "none";
2755
+ record: Uuid$1 | null;
2756
+ };
2757
+ /**
2758
+ * WHICH VIEW A LINK OPENS — one pure function, so the dead link can be shown
2759
+ * failing. See `TablePageProps.activeView` for the defect it closes.
2760
+ *
2761
+ * Three answers, and the third is the one that stops it being a silent drop:
2762
+ * · `main` — the records or the dashboards;
2763
+ * · `layout` — the layout the link named, or null for "whatever the saved
2764
+ * view says", which is the no-parameter case;
2765
+ * · `unknown` — the word the link used when this page has no view by that
2766
+ * name. It is RETURNED rather than swallowed, because the
2767
+ * person has to be told their link asked for something that
2768
+ * does not exist here.
2769
+ *
2770
+ * A `?dashboard=<id>` with no `?view=` still opens the canvas, because that
2771
+ * link predates this one and must keep working.
2772
+ */
2773
+ declare function openingView(activeView: string | null | undefined, activeDashboardId: Uuid$1 | null | undefined): {
2774
+ main: MainView;
2775
+ layout: ViewLayout | null;
2776
+ unknown: string | null;
2777
+ };
2778
+ declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, activeView, onViewChanged, className, }: TablePageProps): react.JSX.Element;
2677
2779
 
2678
2780
  /** What the roster can tell us about a user id. `null` when it cannot. */
2679
2781
  type ResolveName = (userId: Uuid$1) => string | null;
@@ -2851,4 +2953,4 @@ interface PipelineBoardProps {
2851
2953
  }
2852
2954
  declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
2853
2955
 
2854
- export { ACTION_KINDS, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BookingBuilder, type BookingBuilderProps, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CONDITION_OPS, 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, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, 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, PARITY_LABEL, PARITY_MADE_OF, 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, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, SAVED_VIEWS_UNAVAILABLE, SERIES_COLORS, SOMEBODY, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, 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, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, 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, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, machineIdentityIn, memberName, nextInWords, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, publiclyAnswerable, recordName, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
2956
+ export { ACTION_KINDS, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BookingBuilder, type BookingBuilderProps, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CONDITION_OPS, 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, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, 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, 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, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, 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, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, 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, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, machineIdentityIn, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, publiclyAnswerable, recordName, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, 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 };