@ai-matrx/records-ui 0.44.0 → 0.48.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/CHANGELOG.md +147 -0
- package/dist/index.cjs +2636 -2238
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +132 -7
- package/dist/index.d.ts +132 -7
- package/dist/index.js +2175 -1777
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
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, WriteConflict, ParityFieldType, NewFieldDeclaration, ValueEnvelope, WorkInboxKind, RuleExpression, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, FieldTypeWord } from '@ai-matrx/records';
|
|
4
|
+
import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, WriteConflict, ParityFieldType, NewFieldDeclaration, ValueEnvelope, WorkInboxKind, RuleExpression, 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, 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';
|
|
@@ -95,7 +95,7 @@ interface RecordChatContext {
|
|
|
95
95
|
tableName: string;
|
|
96
96
|
/** The record's own title, for the panel's one-row header and the chip. */
|
|
97
97
|
title: string;
|
|
98
|
-
/** What the scope chip says: `About:
|
|
98
|
+
/** What the scope chip says: `About: Fairhaven Steelworks`. */
|
|
99
99
|
chip: string;
|
|
100
100
|
/** The grounding, already read through the read door. */
|
|
101
101
|
entries: RecordChatEntry[];
|
|
@@ -645,6 +645,19 @@ interface GridEditing {
|
|
|
645
645
|
* this file's header describes.
|
|
646
646
|
*/
|
|
647
647
|
commit: (move?: "next" | "previous" | null) => void;
|
|
648
|
+
/**
|
|
649
|
+
* WRITE ONE CELL OUTRIGHT, with no editor ever opening.
|
|
650
|
+
*
|
|
651
|
+
* LIMITS-FIX 2026-09-21. Every other cell in this grid is a value you TYPE, so it has an
|
|
652
|
+
* open state, a draft and a commit. A tick box is not: the control IS the value, and a
|
|
653
|
+
* person ticking it expects it saved, the way it is in Airtable and in every spreadsheet
|
|
654
|
+
* in the world. Routing that through begin → type → commit would have meant three state
|
|
655
|
+
* updates before one click could be written, which is precisely the stale-draft class
|
|
656
|
+
* this file's header is about. So a checkbox writes straight through the same queued,
|
|
657
|
+
* versioned, optimistic write path every other cell uses — the refusal, the conflict and
|
|
658
|
+
* the "Try again" beside it are identical.
|
|
659
|
+
*/
|
|
660
|
+
setCell: (rowId: Uuid$1, key: string, value: unknown) => void;
|
|
648
661
|
/** Write the attempted value again, after re-reading the version. */
|
|
649
662
|
retry: (rowId: Uuid$1, key: string) => void;
|
|
650
663
|
/** Drop the edit and show what the other person wrote. */
|
|
@@ -985,14 +998,14 @@ type PlainFieldType = "text" | "long_text" | "number";
|
|
|
985
998
|
* `"relation"` for one since long before that. Only the menu did not offer it,
|
|
986
999
|
* so the guide's section 3 told a person to pick a kind that did not exist.
|
|
987
1000
|
*
|
|
988
|
-
* It is NOT a
|
|
989
|
-
*
|
|
1001
|
+
* It is NOT a parity type of its own. `custom.parity_field_types()` ships
|
|
1002
|
+
* fourteen (the fourteenth is `checkbox`) and a relation is a BEHAVIOUR — the same behaviour `member` and
|
|
990
1003
|
* `attachment` are made of — so it sits beside the three plain ones as its own
|
|
991
1004
|
* word, and `parityTypesWithNoExplanation()` is unaffected by it in both
|
|
992
1005
|
* directions: it does not appear there, and it cannot hide a real gap there.
|
|
993
1006
|
*/
|
|
994
1007
|
type RelationFieldType = "relation";
|
|
995
|
-
/** What a person picks in the panel: one of the
|
|
1008
|
+
/** What a person picks in the panel: one of the fourteen, one of the three, or a link. */
|
|
996
1009
|
type PickableFieldType = ParityFieldType | PlainFieldType | RelationFieldType;
|
|
997
1010
|
interface FieldTypeChoice {
|
|
998
1011
|
id: PickableFieldType;
|
|
@@ -1006,7 +1019,7 @@ interface FieldTypeChoice {
|
|
|
1006
1019
|
declare const FIELD_TYPE_CHOICES: FieldTypeChoice[];
|
|
1007
1020
|
declare const FIELD_TYPE_GROUPS: FieldTypeChoice["group"][];
|
|
1008
1021
|
declare function fieldTypeChoice(id: string): FieldTypeChoice | undefined;
|
|
1009
|
-
/** The three that are a plain behaviour rather than one of the
|
|
1022
|
+
/** The three that are a plain behaviour rather than one of the fourteen. */
|
|
1010
1023
|
declare function isPlainFieldType(id: string): id is PlainFieldType;
|
|
1011
1024
|
/**
|
|
1012
1025
|
* The one that is a relation a person aims themselves. It is neither plain nor
|
|
@@ -1453,6 +1466,12 @@ interface ViewBarProps {
|
|
|
1453
1466
|
seed?: SavedViewSpec[] | undefined;
|
|
1454
1467
|
className?: string | undefined;
|
|
1455
1468
|
}
|
|
1469
|
+
/**
|
|
1470
|
+
* What the bar says when this organization's saved-view Table cannot be levelled. It
|
|
1471
|
+
* names the ONE thing that is missing (the remembered layouts) and nothing else, because
|
|
1472
|
+
* everything else on the page still works and a longer sentence would suggest otherwise.
|
|
1473
|
+
*/
|
|
1474
|
+
declare const SAVED_VIEWS_UNAVAILABLE: string;
|
|
1456
1475
|
declare function ViewBar({ tableId, activeViewId, onActiveView, seed, className }: ViewBarProps): react.JSX.Element;
|
|
1457
1476
|
|
|
1458
1477
|
/** One proposed change, in the proposer's words plus the exact act it asks for. */
|
|
@@ -2299,6 +2318,7 @@ interface TablesHomeProps {
|
|
|
2299
2318
|
}
|
|
2300
2319
|
declare function TablesHome({ onOpenTable, className }: TablesHomeProps): react.JSX.Element;
|
|
2301
2320
|
|
|
2321
|
+
type Rail = "none" | "settings" | "inbox" | "import" | "field" | "record" | "new-record" | "forms" | "bookings" | "checklists" | "notifications" | "portals" | "who-changed";
|
|
2302
2322
|
interface TablePageProps {
|
|
2303
2323
|
tableId: Uuid$1;
|
|
2304
2324
|
/** Rows per page for every layout. */
|
|
@@ -2384,8 +2404,113 @@ declare const DEFAULT_VIEW_NAME = "All records";
|
|
|
2384
2404
|
* it: the bar above saves a view, and from then on the layout is remembered.
|
|
2385
2405
|
*/
|
|
2386
2406
|
declare const VIEW_NOT_SAVED_YET: string;
|
|
2407
|
+
/**
|
|
2408
|
+
* THE TWO WAYS TO LOOK AT ONE TABLE'S RECORDS, and they are not two places in
|
|
2409
|
+
* the app. The views show the records; the canvas counts them — same table,
|
|
2410
|
+
* same door, same page, one control between them. A dashboard that lived
|
|
2411
|
+
* somewhere else in the product would be a second answer to "how is the work
|
|
2412
|
+
* going", reached by knowing where to click.
|
|
2413
|
+
*/
|
|
2414
|
+
type MainView = "records" | "dashboards";
|
|
2415
|
+
/**
|
|
2416
|
+
* WHAT THE PAGE IS SHOWING — the middle and the right-hand panel, as ONE answer.
|
|
2417
|
+
*
|
|
2418
|
+
* 🚨 THE DEFECT THIS CLOSES (lane LIMITS-FIX-UI, 2026-09-21). That row of buttons was
|
|
2419
|
+
* TWO state machines wearing one coat. `main` decided the middle of the page, `rail`
|
|
2420
|
+
* decided the panel, and nothing joined them — so Ridgeline Physical Therapy's owner
|
|
2421
|
+
* pressed Dashboards, then Checklists, and her ten patients vanished:
|
|
2422
|
+
*
|
|
2423
|
+
* crew B2 — "The 'Dashboards' tab stayed highlighted/active in the toolbar while the
|
|
2424
|
+
* right-side panel showed 'Checklists' content instead, AND the main grid area
|
|
2425
|
+
* collapsed to the Dashboards empty state with no rows and no 'New record' button
|
|
2426
|
+
* visible at all — the grid itself disappeared."
|
|
2427
|
+
*
|
|
2428
|
+
* Reproduced headless on the live app: `aria-pressed` was "true" on Dashboards, ABSENT
|
|
2429
|
+
* on Checklists, no grid in the document, no New record. Absent on Checklists because
|
|
2430
|
+
* the nine rail buttons carried no pressed state AT ALL: the only tab that ever looked
|
|
2431
|
+
* chosen was the one that was not.
|
|
2432
|
+
*/
|
|
2433
|
+
interface Surface {
|
|
2434
|
+
main: MainView;
|
|
2435
|
+
rail: Rail;
|
|
2436
|
+
}
|
|
2437
|
+
/** Which button in the row was pressed. Exactly one of the two, always. */
|
|
2438
|
+
type SurfacePress = {
|
|
2439
|
+
rail: Rail;
|
|
2440
|
+
main?: never;
|
|
2441
|
+
} | {
|
|
2442
|
+
main: MainView;
|
|
2443
|
+
rail?: never;
|
|
2444
|
+
};
|
|
2445
|
+
/**
|
|
2446
|
+
* THE ONE FUNCTION THAT DECIDES BOTH, so a tab can never contradict the page.
|
|
2447
|
+
*
|
|
2448
|
+
* Two rules, and they are the whole of it:
|
|
2449
|
+
* · pressing the button that is already chosen closes it — the gesture everybody expects;
|
|
2450
|
+
* · OPENING A PANEL BRINGS THE RECORDS BACK. A panel is read BESIDE the records (the
|
|
2451
|
+
* checklists ON these patients, the forms that write to them), so opening one over an
|
|
2452
|
+
* empty dashboard canvas is a person asking for the table, not asking to lose it.
|
|
2453
|
+
* Opening the DASHBOARDS over a panel leaves the panel exactly where it was, because
|
|
2454
|
+
* that direction takes nothing away.
|
|
2455
|
+
*/
|
|
2456
|
+
declare function chooseSurface(current: Surface, pressed: SurfacePress): Surface;
|
|
2457
|
+
/**
|
|
2458
|
+
* Is THIS button the chosen one? Every control in the row asks it, so every control in
|
|
2459
|
+
* the row tells a person and their screen reader the same true thing — `aria-pressed`
|
|
2460
|
+
* and the pressed look come from one answer rather than nine independent guesses.
|
|
2461
|
+
*/
|
|
2462
|
+
declare function surfaceChosen(current: Surface, asking: SurfacePress): boolean;
|
|
2387
2463
|
declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, className, }: TablePageProps): react.JSX.Element;
|
|
2388
2464
|
|
|
2465
|
+
/** What the roster can tell us about a user id. `null` when it cannot. */
|
|
2466
|
+
type ResolveName = (userId: Uuid$1) => string | null;
|
|
2467
|
+
/** The honest stand-in when nobody and nothing can put a name to the author. */
|
|
2468
|
+
declare const SOMEBODY = "somebody in this organization";
|
|
2469
|
+
/** The platform's own word for itself. Never "null", never "system_user". */
|
|
2470
|
+
declare const THE_SYSTEM = "the system";
|
|
2471
|
+
/**
|
|
2472
|
+
* WHO, in the words a person reads. One place, so the grid cell, the record
|
|
2473
|
+
* timeline and the column history cannot drift into three different answers.
|
|
2474
|
+
*/
|
|
2475
|
+
declare function actorWords(actor: HistoryActor, resolve?: ResolveName | undefined): string;
|
|
2476
|
+
/** How long ago, in the words a person uses out loud. */
|
|
2477
|
+
declare function whenWords(at: string, now?: Date): string;
|
|
2478
|
+
/**
|
|
2479
|
+
* THE WHOLE ANSWER, as one sentence, ending in what to do to see the rest.
|
|
2480
|
+
* `null` is a real state and gets its own sentence: this column has never been
|
|
2481
|
+
* changed on this record since the store started keeping versions, which is not
|
|
2482
|
+
* the same as "we could not find out".
|
|
2483
|
+
*/
|
|
2484
|
+
declare function lastChangeSentence(fieldLabel: string, entry: FieldHistoryEntry | null, resolve?: ResolveName | undefined): string;
|
|
2485
|
+
/**
|
|
2486
|
+
* The SHORT form the badge wears once it knows: a name a person recognises at a
|
|
2487
|
+
* glance, in the width of a cell corner. Never a uuid, never an email's domain.
|
|
2488
|
+
*/
|
|
2489
|
+
declare function actorBadge(actor: HistoryActor, resolve?: ResolveName | undefined): string;
|
|
2490
|
+
|
|
2491
|
+
/** What a cell knows about who last touched it. */
|
|
2492
|
+
interface WhoChanged {
|
|
2493
|
+
/** The short name for the badge, once known. `null` while nobody has asked. */
|
|
2494
|
+
badge: string | null;
|
|
2495
|
+
/** The whole sentence for the hover. `null` while nobody has asked. */
|
|
2496
|
+
sentence: string | null;
|
|
2497
|
+
/** Ask. Idempotent, cached, and a no-op with no source mounted. */
|
|
2498
|
+
ask: () => void;
|
|
2499
|
+
}
|
|
2500
|
+
/**
|
|
2501
|
+
* Mounted by the grid, once, with the table its cells belong to. Absent — a cell
|
|
2502
|
+
* rendered on its own, a host that binds nothing — every badge simply goes on
|
|
2503
|
+
* asking its question, exactly as before, and nothing throws.
|
|
2504
|
+
*/
|
|
2505
|
+
declare function WhoChangedSource({ tableId, labelOf, children, }: {
|
|
2506
|
+
tableId: Uuid$1;
|
|
2507
|
+
/** The Field's own label, so the sentence reads "Primary diagnosis" and not `primary_diagnosis`. */
|
|
2508
|
+
labelOf: (fieldKey: string) => string;
|
|
2509
|
+
children: ReactNode;
|
|
2510
|
+
}): react.JSX.Element;
|
|
2511
|
+
/** What this cell can say about who last changed it. */
|
|
2512
|
+
declare function useWhoChanged(fieldKey: string, recordId: Uuid$1): WhoChanged;
|
|
2513
|
+
|
|
2389
2514
|
/** One Field a person asked for, in the words a person uses (FLD-1 / FLD-11). */
|
|
2390
2515
|
interface NewFieldSpec {
|
|
2391
2516
|
key: string;
|
|
@@ -2513,4 +2638,4 @@ interface PipelineBoardProps {
|
|
|
2513
2638
|
}
|
|
2514
2639
|
declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
|
|
2515
2640
|
|
|
2516
|
-
export { ACTION_KINDS, ActionInbox, type ActionInboxProps, type ActionKind, BookingSlots, type BookingSlotsProps, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, 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, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, 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, MyChecklistSteps, NOT_ANSWERED_YET, 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_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, 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, SERIES_COLORS, STORE_DECIDES_REASON, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StepRow, SubscriptionsPanel, type SubscriptionsPanelProps, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, 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, addFields, blockFromSpec, bodyForReading, bodyFromKeys, cellState, colorFromTheValue, columnForField, 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, machineIdentityIn, memberName, nextInWords, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, recordName, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, tableName, tableRightsAt, tokenFor, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable };
|
|
2641
|
+
export { ACTION_KINDS, ActionInbox, type ActionInboxProps, type ActionKind, BookingSlots, type BookingSlotsProps, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, 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, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, 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, NOT_ANSWERED_YET, 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_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, 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_DECIDES_REASON, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, 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, blockFromSpec, bodyForReading, bodyFromKeys, cellState, chooseSurface, colorFromTheValue, columnForField, 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, 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 };
|
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, WriteConflict, ParityFieldType, NewFieldDeclaration, ValueEnvelope, WorkInboxKind, RuleExpression, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, FieldTypeWord } from '@ai-matrx/records';
|
|
4
|
+
import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, WriteConflict, ParityFieldType, NewFieldDeclaration, ValueEnvelope, WorkInboxKind, RuleExpression, 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, 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';
|
|
@@ -95,7 +95,7 @@ interface RecordChatContext {
|
|
|
95
95
|
tableName: string;
|
|
96
96
|
/** The record's own title, for the panel's one-row header and the chip. */
|
|
97
97
|
title: string;
|
|
98
|
-
/** What the scope chip says: `About:
|
|
98
|
+
/** What the scope chip says: `About: Fairhaven Steelworks`. */
|
|
99
99
|
chip: string;
|
|
100
100
|
/** The grounding, already read through the read door. */
|
|
101
101
|
entries: RecordChatEntry[];
|
|
@@ -645,6 +645,19 @@ interface GridEditing {
|
|
|
645
645
|
* this file's header describes.
|
|
646
646
|
*/
|
|
647
647
|
commit: (move?: "next" | "previous" | null) => void;
|
|
648
|
+
/**
|
|
649
|
+
* WRITE ONE CELL OUTRIGHT, with no editor ever opening.
|
|
650
|
+
*
|
|
651
|
+
* LIMITS-FIX 2026-09-21. Every other cell in this grid is a value you TYPE, so it has an
|
|
652
|
+
* open state, a draft and a commit. A tick box is not: the control IS the value, and a
|
|
653
|
+
* person ticking it expects it saved, the way it is in Airtable and in every spreadsheet
|
|
654
|
+
* in the world. Routing that through begin → type → commit would have meant three state
|
|
655
|
+
* updates before one click could be written, which is precisely the stale-draft class
|
|
656
|
+
* this file's header is about. So a checkbox writes straight through the same queued,
|
|
657
|
+
* versioned, optimistic write path every other cell uses — the refusal, the conflict and
|
|
658
|
+
* the "Try again" beside it are identical.
|
|
659
|
+
*/
|
|
660
|
+
setCell: (rowId: Uuid$1, key: string, value: unknown) => void;
|
|
648
661
|
/** Write the attempted value again, after re-reading the version. */
|
|
649
662
|
retry: (rowId: Uuid$1, key: string) => void;
|
|
650
663
|
/** Drop the edit and show what the other person wrote. */
|
|
@@ -985,14 +998,14 @@ type PlainFieldType = "text" | "long_text" | "number";
|
|
|
985
998
|
* `"relation"` for one since long before that. Only the menu did not offer it,
|
|
986
999
|
* so the guide's section 3 told a person to pick a kind that did not exist.
|
|
987
1000
|
*
|
|
988
|
-
* It is NOT a
|
|
989
|
-
*
|
|
1001
|
+
* It is NOT a parity type of its own. `custom.parity_field_types()` ships
|
|
1002
|
+
* fourteen (the fourteenth is `checkbox`) and a relation is a BEHAVIOUR — the same behaviour `member` and
|
|
990
1003
|
* `attachment` are made of — so it sits beside the three plain ones as its own
|
|
991
1004
|
* word, and `parityTypesWithNoExplanation()` is unaffected by it in both
|
|
992
1005
|
* directions: it does not appear there, and it cannot hide a real gap there.
|
|
993
1006
|
*/
|
|
994
1007
|
type RelationFieldType = "relation";
|
|
995
|
-
/** What a person picks in the panel: one of the
|
|
1008
|
+
/** What a person picks in the panel: one of the fourteen, one of the three, or a link. */
|
|
996
1009
|
type PickableFieldType = ParityFieldType | PlainFieldType | RelationFieldType;
|
|
997
1010
|
interface FieldTypeChoice {
|
|
998
1011
|
id: PickableFieldType;
|
|
@@ -1006,7 +1019,7 @@ interface FieldTypeChoice {
|
|
|
1006
1019
|
declare const FIELD_TYPE_CHOICES: FieldTypeChoice[];
|
|
1007
1020
|
declare const FIELD_TYPE_GROUPS: FieldTypeChoice["group"][];
|
|
1008
1021
|
declare function fieldTypeChoice(id: string): FieldTypeChoice | undefined;
|
|
1009
|
-
/** The three that are a plain behaviour rather than one of the
|
|
1022
|
+
/** The three that are a plain behaviour rather than one of the fourteen. */
|
|
1010
1023
|
declare function isPlainFieldType(id: string): id is PlainFieldType;
|
|
1011
1024
|
/**
|
|
1012
1025
|
* The one that is a relation a person aims themselves. It is neither plain nor
|
|
@@ -1453,6 +1466,12 @@ interface ViewBarProps {
|
|
|
1453
1466
|
seed?: SavedViewSpec[] | undefined;
|
|
1454
1467
|
className?: string | undefined;
|
|
1455
1468
|
}
|
|
1469
|
+
/**
|
|
1470
|
+
* What the bar says when this organization's saved-view Table cannot be levelled. It
|
|
1471
|
+
* names the ONE thing that is missing (the remembered layouts) and nothing else, because
|
|
1472
|
+
* everything else on the page still works and a longer sentence would suggest otherwise.
|
|
1473
|
+
*/
|
|
1474
|
+
declare const SAVED_VIEWS_UNAVAILABLE: string;
|
|
1456
1475
|
declare function ViewBar({ tableId, activeViewId, onActiveView, seed, className }: ViewBarProps): react.JSX.Element;
|
|
1457
1476
|
|
|
1458
1477
|
/** One proposed change, in the proposer's words plus the exact act it asks for. */
|
|
@@ -2299,6 +2318,7 @@ interface TablesHomeProps {
|
|
|
2299
2318
|
}
|
|
2300
2319
|
declare function TablesHome({ onOpenTable, className }: TablesHomeProps): react.JSX.Element;
|
|
2301
2320
|
|
|
2321
|
+
type Rail = "none" | "settings" | "inbox" | "import" | "field" | "record" | "new-record" | "forms" | "bookings" | "checklists" | "notifications" | "portals" | "who-changed";
|
|
2302
2322
|
interface TablePageProps {
|
|
2303
2323
|
tableId: Uuid$1;
|
|
2304
2324
|
/** Rows per page for every layout. */
|
|
@@ -2384,8 +2404,113 @@ declare const DEFAULT_VIEW_NAME = "All records";
|
|
|
2384
2404
|
* it: the bar above saves a view, and from then on the layout is remembered.
|
|
2385
2405
|
*/
|
|
2386
2406
|
declare const VIEW_NOT_SAVED_YET: string;
|
|
2407
|
+
/**
|
|
2408
|
+
* THE TWO WAYS TO LOOK AT ONE TABLE'S RECORDS, and they are not two places in
|
|
2409
|
+
* the app. The views show the records; the canvas counts them — same table,
|
|
2410
|
+
* same door, same page, one control between them. A dashboard that lived
|
|
2411
|
+
* somewhere else in the product would be a second answer to "how is the work
|
|
2412
|
+
* going", reached by knowing where to click.
|
|
2413
|
+
*/
|
|
2414
|
+
type MainView = "records" | "dashboards";
|
|
2415
|
+
/**
|
|
2416
|
+
* WHAT THE PAGE IS SHOWING — the middle and the right-hand panel, as ONE answer.
|
|
2417
|
+
*
|
|
2418
|
+
* 🚨 THE DEFECT THIS CLOSES (lane LIMITS-FIX-UI, 2026-09-21). That row of buttons was
|
|
2419
|
+
* TWO state machines wearing one coat. `main` decided the middle of the page, `rail`
|
|
2420
|
+
* decided the panel, and nothing joined them — so Ridgeline Physical Therapy's owner
|
|
2421
|
+
* pressed Dashboards, then Checklists, and her ten patients vanished:
|
|
2422
|
+
*
|
|
2423
|
+
* crew B2 — "The 'Dashboards' tab stayed highlighted/active in the toolbar while the
|
|
2424
|
+
* right-side panel showed 'Checklists' content instead, AND the main grid area
|
|
2425
|
+
* collapsed to the Dashboards empty state with no rows and no 'New record' button
|
|
2426
|
+
* visible at all — the grid itself disappeared."
|
|
2427
|
+
*
|
|
2428
|
+
* Reproduced headless on the live app: `aria-pressed` was "true" on Dashboards, ABSENT
|
|
2429
|
+
* on Checklists, no grid in the document, no New record. Absent on Checklists because
|
|
2430
|
+
* the nine rail buttons carried no pressed state AT ALL: the only tab that ever looked
|
|
2431
|
+
* chosen was the one that was not.
|
|
2432
|
+
*/
|
|
2433
|
+
interface Surface {
|
|
2434
|
+
main: MainView;
|
|
2435
|
+
rail: Rail;
|
|
2436
|
+
}
|
|
2437
|
+
/** Which button in the row was pressed. Exactly one of the two, always. */
|
|
2438
|
+
type SurfacePress = {
|
|
2439
|
+
rail: Rail;
|
|
2440
|
+
main?: never;
|
|
2441
|
+
} | {
|
|
2442
|
+
main: MainView;
|
|
2443
|
+
rail?: never;
|
|
2444
|
+
};
|
|
2445
|
+
/**
|
|
2446
|
+
* THE ONE FUNCTION THAT DECIDES BOTH, so a tab can never contradict the page.
|
|
2447
|
+
*
|
|
2448
|
+
* Two rules, and they are the whole of it:
|
|
2449
|
+
* · pressing the button that is already chosen closes it — the gesture everybody expects;
|
|
2450
|
+
* · OPENING A PANEL BRINGS THE RECORDS BACK. A panel is read BESIDE the records (the
|
|
2451
|
+
* checklists ON these patients, the forms that write to them), so opening one over an
|
|
2452
|
+
* empty dashboard canvas is a person asking for the table, not asking to lose it.
|
|
2453
|
+
* Opening the DASHBOARDS over a panel leaves the panel exactly where it was, because
|
|
2454
|
+
* that direction takes nothing away.
|
|
2455
|
+
*/
|
|
2456
|
+
declare function chooseSurface(current: Surface, pressed: SurfacePress): Surface;
|
|
2457
|
+
/**
|
|
2458
|
+
* Is THIS button the chosen one? Every control in the row asks it, so every control in
|
|
2459
|
+
* the row tells a person and their screen reader the same true thing — `aria-pressed`
|
|
2460
|
+
* and the pressed look come from one answer rather than nine independent guesses.
|
|
2461
|
+
*/
|
|
2462
|
+
declare function surfaceChosen(current: Surface, asking: SurfacePress): boolean;
|
|
2387
2463
|
declare function TablePage({ tableId, pageSize, seedViews, onLeave, leaveLabel, activeDashboardId, activeRecordId, className, }: TablePageProps): react.JSX.Element;
|
|
2388
2464
|
|
|
2465
|
+
/** What the roster can tell us about a user id. `null` when it cannot. */
|
|
2466
|
+
type ResolveName = (userId: Uuid$1) => string | null;
|
|
2467
|
+
/** The honest stand-in when nobody and nothing can put a name to the author. */
|
|
2468
|
+
declare const SOMEBODY = "somebody in this organization";
|
|
2469
|
+
/** The platform's own word for itself. Never "null", never "system_user". */
|
|
2470
|
+
declare const THE_SYSTEM = "the system";
|
|
2471
|
+
/**
|
|
2472
|
+
* WHO, in the words a person reads. One place, so the grid cell, the record
|
|
2473
|
+
* timeline and the column history cannot drift into three different answers.
|
|
2474
|
+
*/
|
|
2475
|
+
declare function actorWords(actor: HistoryActor, resolve?: ResolveName | undefined): string;
|
|
2476
|
+
/** How long ago, in the words a person uses out loud. */
|
|
2477
|
+
declare function whenWords(at: string, now?: Date): string;
|
|
2478
|
+
/**
|
|
2479
|
+
* THE WHOLE ANSWER, as one sentence, ending in what to do to see the rest.
|
|
2480
|
+
* `null` is a real state and gets its own sentence: this column has never been
|
|
2481
|
+
* changed on this record since the store started keeping versions, which is not
|
|
2482
|
+
* the same as "we could not find out".
|
|
2483
|
+
*/
|
|
2484
|
+
declare function lastChangeSentence(fieldLabel: string, entry: FieldHistoryEntry | null, resolve?: ResolveName | undefined): string;
|
|
2485
|
+
/**
|
|
2486
|
+
* The SHORT form the badge wears once it knows: a name a person recognises at a
|
|
2487
|
+
* glance, in the width of a cell corner. Never a uuid, never an email's domain.
|
|
2488
|
+
*/
|
|
2489
|
+
declare function actorBadge(actor: HistoryActor, resolve?: ResolveName | undefined): string;
|
|
2490
|
+
|
|
2491
|
+
/** What a cell knows about who last touched it. */
|
|
2492
|
+
interface WhoChanged {
|
|
2493
|
+
/** The short name for the badge, once known. `null` while nobody has asked. */
|
|
2494
|
+
badge: string | null;
|
|
2495
|
+
/** The whole sentence for the hover. `null` while nobody has asked. */
|
|
2496
|
+
sentence: string | null;
|
|
2497
|
+
/** Ask. Idempotent, cached, and a no-op with no source mounted. */
|
|
2498
|
+
ask: () => void;
|
|
2499
|
+
}
|
|
2500
|
+
/**
|
|
2501
|
+
* Mounted by the grid, once, with the table its cells belong to. Absent — a cell
|
|
2502
|
+
* rendered on its own, a host that binds nothing — every badge simply goes on
|
|
2503
|
+
* asking its question, exactly as before, and nothing throws.
|
|
2504
|
+
*/
|
|
2505
|
+
declare function WhoChangedSource({ tableId, labelOf, children, }: {
|
|
2506
|
+
tableId: Uuid$1;
|
|
2507
|
+
/** The Field's own label, so the sentence reads "Primary diagnosis" and not `primary_diagnosis`. */
|
|
2508
|
+
labelOf: (fieldKey: string) => string;
|
|
2509
|
+
children: ReactNode;
|
|
2510
|
+
}): react.JSX.Element;
|
|
2511
|
+
/** What this cell can say about who last changed it. */
|
|
2512
|
+
declare function useWhoChanged(fieldKey: string, recordId: Uuid$1): WhoChanged;
|
|
2513
|
+
|
|
2389
2514
|
/** One Field a person asked for, in the words a person uses (FLD-1 / FLD-11). */
|
|
2390
2515
|
interface NewFieldSpec {
|
|
2391
2516
|
key: string;
|
|
@@ -2513,4 +2638,4 @@ interface PipelineBoardProps {
|
|
|
2513
2638
|
}
|
|
2514
2639
|
declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
|
|
2515
2640
|
|
|
2516
|
-
export { ACTION_KINDS, ActionInbox, type ActionInboxProps, type ActionKind, BookingSlots, type BookingSlotsProps, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, 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, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, 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, MyChecklistSteps, NOT_ANSWERED_YET, 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_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, 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, SERIES_COLORS, STORE_DECIDES_REASON, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StepRow, SubscriptionsPanel, type SubscriptionsPanelProps, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, 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, addFields, blockFromSpec, bodyForReading, bodyFromKeys, cellState, colorFromTheValue, columnForField, 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, machineIdentityIn, memberName, nextInWords, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, recordName, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, tableName, tableRightsAt, tokenFor, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable };
|
|
2641
|
+
export { ACTION_KINDS, ActionInbox, type ActionInboxProps, type ActionKind, BookingSlots, type BookingSlotsProps, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, 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, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, 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, NOT_ANSWERED_YET, 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_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, 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_DECIDES_REASON, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, 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, blockFromSpec, bodyForReading, bodyFromKeys, cellState, chooseSurface, colorFromTheValue, columnForField, 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, 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 };
|