@ai-matrx/records-ui 0.71.0 → 0.76.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 +86 -0
- package/dist/index.cjs +3276 -2623
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +184 -7
- package/dist/index.d.ts +184 -7
- package/dist/index.js +3203 -2536
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, ComponentType, RefObject } from 'react';
|
|
3
3
|
import * as _ai_matrx_records from '@ai-matrx/records';
|
|
4
|
-
import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, RelationDisplay, WriteConflict, ParityFieldType, NewFieldDeclaration, RuleExpression, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkInboxKind, FieldKind, RecordFilter as RecordFilter$1, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, FieldTypeWord } from '@ai-matrx/records';
|
|
4
|
+
import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, RelationDisplay, WriteConflict, DeclarableFieldKind, ParityFieldType, NewFieldDeclaration, RuleExpression, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkInboxKind, FieldKind, RecordFilter as RecordFilter$1, ArchiveLane, ArchivedRow, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, FieldTypeWord } from '@ai-matrx/records';
|
|
5
5
|
import { Uuid, RecordFilter, Field as Field$1, ReadRow as ReadRow$1 } from '@ai-matrx/records/react';
|
|
6
6
|
import { RecordsClient } from '@ai-matrx/records/core';
|
|
7
7
|
import { FieldFormatConfig } from '@ai-matrx/design-system/field-formats';
|
|
@@ -1136,6 +1136,34 @@ interface ExportMenuProps {
|
|
|
1136
1136
|
}
|
|
1137
1137
|
declare function ExportMenu({ tableId, rows, label, className }: ExportMenuProps): react.JSX.Element;
|
|
1138
1138
|
|
|
1139
|
+
interface FilePickerProps {
|
|
1140
|
+
/** What the button says when nothing is chosen yet. */
|
|
1141
|
+
label: string;
|
|
1142
|
+
/** The `accept` list, exactly as the native input takes it. */
|
|
1143
|
+
accept?: string | undefined;
|
|
1144
|
+
/**
|
|
1145
|
+
* The accessible name of the file input itself, when it must differ from the
|
|
1146
|
+
* button's word — an import screen's input has been called "Choose a file to
|
|
1147
|
+
* import" since it existed, and every automation and screen-reader script
|
|
1148
|
+
* that knows this screen resolves that sentence. A name is a contract.
|
|
1149
|
+
*/
|
|
1150
|
+
inputLabel?: string | undefined;
|
|
1151
|
+
/**
|
|
1152
|
+
* One sentence describing a good file — the thing the bare input never said.
|
|
1153
|
+
* Shown under the control, before anything is chosen.
|
|
1154
|
+
*/
|
|
1155
|
+
hint?: ReactNode;
|
|
1156
|
+
disabled?: boolean | undefined;
|
|
1157
|
+
/** The chosen file. Called once per choice; re-choosing calls it again. */
|
|
1158
|
+
onFile: (file: File) => void;
|
|
1159
|
+
/** Forget the chosen file and go back to the empty state. */
|
|
1160
|
+
onClear?: (() => void) | undefined;
|
|
1161
|
+
/** The name of the file currently in play, when the owner is holding one. */
|
|
1162
|
+
chosenName?: string | null | undefined;
|
|
1163
|
+
className?: string | undefined;
|
|
1164
|
+
}
|
|
1165
|
+
declare function FilePicker({ label, accept, inputLabel, hint, disabled, onFile, onClear, chosenName, className, }: FilePickerProps): react.JSX.Element;
|
|
1166
|
+
|
|
1139
1167
|
interface ImportWizardProps {
|
|
1140
1168
|
tableId: Uuid;
|
|
1141
1169
|
onDone?: ((written: number) => void) | undefined;
|
|
@@ -1174,8 +1202,25 @@ type PlainFieldType = "text" | "long_text" | "number";
|
|
|
1174
1202
|
* directions: it does not appear there, and it cannot hide a real gap there.
|
|
1175
1203
|
*/
|
|
1176
1204
|
type RelationFieldType = "relation";
|
|
1177
|
-
/**
|
|
1178
|
-
|
|
1205
|
+
/**
|
|
1206
|
+
* What a person picks in the panel — AND IT IS THE STORE'S OWN LIST, not a union
|
|
1207
|
+
* assembled here.
|
|
1208
|
+
*
|
|
1209
|
+
* 🚨 THE CLASS FIX (FIX-10B-F6, VERIFIER-10). This used to read
|
|
1210
|
+
* `ParityFieldType | PlainFieldType | RelationFieldType` — the parity floor plus two words
|
|
1211
|
+
* this file knew about — and that union was the whole defect. `custom.doc_sign` accepts
|
|
1212
|
+
* exactly one field, a text column whose format is `signature`, and it is granted to
|
|
1213
|
+
* `authenticated`; the Documents screen told a person in so many words to go and declare
|
|
1214
|
+
* one; and no list any screen could read named it, so the control did not exist and the
|
|
1215
|
+
* e-sign half of Documents was unreachable from the product. A kind the store takes and no
|
|
1216
|
+
* screen offers is invisible, and nothing failed — which is the only reason it survived.
|
|
1217
|
+
*
|
|
1218
|
+
* `custom.field_kinds()` is now the ONE registry and `DECLARABLE_FIELD_KINDS` is generated
|
|
1219
|
+
* from it, so the next kind the store learns arrives here as a TYPE ERROR in
|
|
1220
|
+
* `FIELD_TYPE_CHOICES`'s coverage and as a red `kindsWithNoChoice()` below — never as a
|
|
1221
|
+
* silence.
|
|
1222
|
+
*/
|
|
1223
|
+
type PickableFieldType = DeclarableFieldKind;
|
|
1179
1224
|
interface FieldTypeChoice {
|
|
1180
1225
|
id: PickableFieldType;
|
|
1181
1226
|
/** The word on the menu. */
|
|
@@ -1197,6 +1242,16 @@ declare function isPlainFieldType(id: string): id is PlainFieldType;
|
|
|
1197
1242
|
* and not an inline string comparison at four call sites.
|
|
1198
1243
|
*/
|
|
1199
1244
|
declare function isRelationFieldType(id: string): id is RelationFieldType;
|
|
1245
|
+
/**
|
|
1246
|
+
* One of FLD-11's fourteen, which is what `parity_type` on a declaration means.
|
|
1247
|
+
*
|
|
1248
|
+
* Read from the store's own generated floor, never from a list here — because a kind that
|
|
1249
|
+
* is NOT one of the fourteen (plain text, a person-aimed relation, a signature) has to be
|
|
1250
|
+
* declared by its WORD (`type`) and a panel that sent `parity_type` for it would be refused
|
|
1251
|
+
* "There is no field type called …". That is the shape of the F6 defect: the panel's `save`
|
|
1252
|
+
* had exactly two branches, relation and plain, and everything else fell into `parity_type`.
|
|
1253
|
+
*/
|
|
1254
|
+
declare function isParityFieldType(id: string): id is ParityFieldType;
|
|
1200
1255
|
/**
|
|
1201
1256
|
* THE GUARD THIS FILE NEEDS, because the list it explains is generated.
|
|
1202
1257
|
*
|
|
@@ -1209,6 +1264,22 @@ declare function isRelationFieldType(id: string): id is RelationFieldType;
|
|
|
1209
1264
|
* list and a behaviour that carries no parity type is not in it.
|
|
1210
1265
|
*/
|
|
1211
1266
|
declare function parityTypesWithNoExplanation(): string[];
|
|
1267
|
+
/**
|
|
1268
|
+
* 🚨 THE GUARD THAT CLOSES THE CLASS (FIX-10B-F6).
|
|
1269
|
+
*
|
|
1270
|
+
* `parityTypesWithNoExplanation()` above watches the parity FLOOR, and the floor was never
|
|
1271
|
+
* the whole list: the store also declares plain text, long text, number, a person-aimed
|
|
1272
|
+
* relation and a signature, and for months nothing anywhere compared the panel's menu with
|
|
1273
|
+
* THAT. So `signature` — the one field `custom.doc_sign` accepts, on a door granted to
|
|
1274
|
+
* every signed-in person, named to the person by the Documents screen itself — was absent
|
|
1275
|
+
* from the menu and every check stayed green.
|
|
1276
|
+
*
|
|
1277
|
+
* This returns the kinds `custom.field_kinds()` publishes that this panel does not offer.
|
|
1278
|
+
* The suite asserts it is empty, so a kind the store learns tomorrow either reaches the
|
|
1279
|
+
* person or turns a test red the same day. It is the class, not the instance: it would have
|
|
1280
|
+
* caught `signature`, and it will catch the twentieth kind nobody has thought of yet.
|
|
1281
|
+
*/
|
|
1282
|
+
declare function kindsWithNoChoice(): string[];
|
|
1212
1283
|
|
|
1213
1284
|
/** `Day rate` → `day_rate`. Shown, so nothing about it is a surprise. */
|
|
1214
1285
|
declare function keyFor(label: string): string;
|
|
@@ -1772,7 +1843,23 @@ declare const LAYOUT_FIELD_KIND: Record<ViewLayout, "choice" | "date" | null>;
|
|
|
1772
1843
|
* dashboard" is one of the ways to look at this table, and a link to it has to
|
|
1773
1844
|
* work like a link to the board.
|
|
1774
1845
|
*/
|
|
1775
|
-
|
|
1846
|
+
/**
|
|
1847
|
+
* 🚨 `archived` IS THE SIXTH VALUE, AND IT IS NOT A SPECIAL CASE EITHER (lane
|
|
1848
|
+
* FIX-10A-ARCHIVE, 2026-09-22; VERIFIER-10 F4).
|
|
1849
|
+
*
|
|
1850
|
+
* Archiving a record used to be a ONE-WAY DOOR: the grid's row action soft-
|
|
1851
|
+
* deletes correctly — `deleted_at` set, version bumped, nothing removed — and
|
|
1852
|
+
* then no screen anywhere in the platform could bring it back. The store's
|
|
1853
|
+
* `custom.record_restore` was there the whole time and did exactly the right
|
|
1854
|
+
* thing; nothing reached it, because every read door answers live rows only.
|
|
1855
|
+
*
|
|
1856
|
+
* So the archive is a WAY OF LOOKING AT THIS TABLE, like the board and the
|
|
1857
|
+
* dashboards, reached by the same row of buttons and named by the same
|
|
1858
|
+
* `?view=` parameter — never a Trash area of the app somebody has to know
|
|
1859
|
+
* exists, and never a per-table screen. Every Table inherits it the moment it
|
|
1860
|
+
* is in this list.
|
|
1861
|
+
*/
|
|
1862
|
+
declare const PAGE_VIEWS: readonly ["grid", "kanban", "calendar", "gallery", "dashboards", "archived"];
|
|
1776
1863
|
type PageView = (typeof PAGE_VIEWS)[number];
|
|
1777
1864
|
declare const PAGE_VIEW_LABEL: Record<PageView, string>;
|
|
1778
1865
|
/**
|
|
@@ -1841,11 +1928,91 @@ declare function useViewRecords(view: SavedViewSpec, pageSize?: number, filter?:
|
|
|
1841
1928
|
rows: ReadRow$1[];
|
|
1842
1929
|
loading: boolean;
|
|
1843
1930
|
error: RecordsError | null;
|
|
1844
|
-
/**
|
|
1931
|
+
/**
|
|
1932
|
+
* Where membership came from, in a sentence. A screen that hides this is hiding the
|
|
1933
|
+
* view's meaning — and a screen that says the WRONG one is worse than one that says
|
|
1934
|
+
* nothing at all.
|
|
1935
|
+
*
|
|
1936
|
+
* 🚨 IT SAID "holds the whole table" OVER FOUR OF FORTY-TWO ROWS. Seen on Rincon
|
|
1937
|
+
* Plumbing Co's board the moment a dashboard number could narrow it (lane DRILL,
|
|
1938
|
+
* 2026-09-22): the column read "Scheduled 4", every card under it was real, and the
|
|
1939
|
+
* line above them said this view holds the whole table. The sentence was written when
|
|
1940
|
+
* the only two possibilities were a Rule or everything; a question from the address is
|
|
1941
|
+
* a third, and it gets its own words rather than the nearest wrong one.
|
|
1942
|
+
*/
|
|
1845
1943
|
membership: string;
|
|
1846
1944
|
};
|
|
1847
1945
|
declare function ViewSwitcher({ view, onLayoutChange, onViewChange, onOpenRecord, onMoved, onNewRecordForm, onAskWhoChanged, pageSize, filter, className, }: ViewSwitcherProps): react.JSX.Element;
|
|
1848
1946
|
|
|
1947
|
+
/** What the screen says above the list, so nobody has to be told twice that nothing was destroyed. */
|
|
1948
|
+
declare const ARCHIVE_MEANS = "Archiving never destroys anything. A record you remove from the grid waits here until somebody brings it back.";
|
|
1949
|
+
/** The sentence a person who may not restore reads INSTEAD of a control they cannot use. */
|
|
1950
|
+
declare function mayNotRestoreLine(why: string): string;
|
|
1951
|
+
/** What one row in the archive says, as one string — pulled out so the guard can read it. */
|
|
1952
|
+
declare function archivedRowLine(row: ArchivedRow, titleKey?: string | null): string;
|
|
1953
|
+
interface ArchivedViewProps {
|
|
1954
|
+
tableId: Uuid$1;
|
|
1955
|
+
/** Rows per page. The store refuses above its own ceiling by name rather than quietly serving fewer. */
|
|
1956
|
+
pageSize?: number | undefined;
|
|
1957
|
+
/** Which lane the address or the host asked for. Absent, the organization's. */
|
|
1958
|
+
lane?: ArchiveLane | undefined;
|
|
1959
|
+
/** Called when the person switches lane, so the host can put it in the URL. */
|
|
1960
|
+
onLaneChange?: ((lane: ArchiveLane) => void) | undefined;
|
|
1961
|
+
/** Called after a record comes back, so the host re-reads the rows it owns. */
|
|
1962
|
+
onRestored?: ((recordId: Uuid$1) => void) | undefined;
|
|
1963
|
+
className?: string | undefined;
|
|
1964
|
+
}
|
|
1965
|
+
declare function ArchivedView({ tableId, pageSize, lane: laneFromHost, onLaneChange, onRestored, className, }: ArchivedViewProps): react.JSX.Element;
|
|
1966
|
+
|
|
1967
|
+
/** What every archive on this platform promises, said once. */
|
|
1968
|
+
declare const ARCHIVED_NEVER_DESTROYED = "Archiving never destroys anything. What you put away waits here until somebody brings it back.";
|
|
1969
|
+
interface ArchivedDisclosureProps {
|
|
1970
|
+
/** What is archived, in the plural: "portals", "forms". Drawn as “Archived portals”. */
|
|
1971
|
+
noun: string;
|
|
1972
|
+
/**
|
|
1973
|
+
* How many are archived, when the surface already knows. Absent, the control
|
|
1974
|
+
* still draws — a count nobody has read is not a reason to hide the way in,
|
|
1975
|
+
* and a "(0)" the screen guessed would be a lie.
|
|
1976
|
+
*/
|
|
1977
|
+
count?: number | undefined;
|
|
1978
|
+
/** Open on first render — the address asked for the archive. */
|
|
1979
|
+
defaultOpen?: boolean | undefined;
|
|
1980
|
+
/** Told when it opens or closes, so a host can put it in the URL. */
|
|
1981
|
+
onOpenChange?: ((open: boolean) => void) | undefined;
|
|
1982
|
+
children: ReactNode;
|
|
1983
|
+
className?: string | undefined;
|
|
1984
|
+
}
|
|
1985
|
+
/**
|
|
1986
|
+
* ONE CLICK, ON THE SURFACE ITSELF. Not a tab, not a page, not a filter buried
|
|
1987
|
+
* in a menu: the law says revealing the archived things is one press where you
|
|
1988
|
+
* already are, and this is that press for every rail in this package.
|
|
1989
|
+
*/
|
|
1990
|
+
declare function ArchivedDisclosure({ noun, count, defaultOpen, onOpenChange, children, className, }: ArchivedDisclosureProps): react.JSX.Element;
|
|
1991
|
+
interface ArchivedPortalsProps {
|
|
1992
|
+
/** Called after a portal comes back, so the rail re-reads the list it owns. */
|
|
1993
|
+
onRestored?: ((portalId: Uuid) => void) | undefined;
|
|
1994
|
+
/**
|
|
1995
|
+
* Bumped by the surface above whenever IT changed something that lands here —
|
|
1996
|
+
* archiving a portal from the live rail, most of all. Without it an archive
|
|
1997
|
+
* standing open would keep showing the list it read when it opened, which is
|
|
1998
|
+
* the quiet lie this package refuses everywhere else.
|
|
1999
|
+
*/
|
|
2000
|
+
refreshToken?: number | undefined;
|
|
2001
|
+
defaultOpen?: boolean | undefined;
|
|
2002
|
+
className?: string | undefined;
|
|
2003
|
+
}
|
|
2004
|
+
/**
|
|
2005
|
+
* THE ARCHIVED PORTALS OF THIS ORGANIZATION, AND THE WAY BACK.
|
|
2006
|
+
*
|
|
2007
|
+
* It reads `custom.list_portals(org, 'archived')` — the archive-aware reader the
|
|
2008
|
+
* store grew for exactly this — rather than filtering a list `custom.portals`
|
|
2009
|
+
* already hid. It is organization-wide on purpose, unlike the live rail above
|
|
2010
|
+
* it: a portal is archived precisely because nobody is standing on it any more,
|
|
2011
|
+
* and narrowing the archive to the Table you happen to be on is how an archived
|
|
2012
|
+
* portal becomes unreachable from every page at once.
|
|
2013
|
+
*/
|
|
2014
|
+
declare function ArchivedPortals({ onRestored, refreshToken, defaultOpen, className, }: ArchivedPortalsProps): react.JSX.Element;
|
|
2015
|
+
|
|
1849
2016
|
interface ViewBarProps {
|
|
1850
2017
|
/** The Table whose views these are. */
|
|
1851
2018
|
tableId: Uuid;
|
|
@@ -3003,7 +3170,17 @@ declare const VIEW_NOT_SAVED_YET: string;
|
|
|
3003
3170
|
* somewhere else in the product would be a second answer to "how is the work
|
|
3004
3171
|
* going", reached by knowing where to click.
|
|
3005
3172
|
*/
|
|
3006
|
-
|
|
3173
|
+
/**
|
|
3174
|
+
* 🚨 `archived` IS THE THIRD (lane FIX-10A-ARCHIVE, 2026-09-22; VERIFIER-10 F4).
|
|
3175
|
+
* Archiving a record was a ONE-WAY DOOR — the row left the grid and no screen
|
|
3176
|
+
* anywhere could bring it back, although `custom.record_restore` was there the
|
|
3177
|
+
* whole time — because nothing in this package listed archived rows and no read
|
|
3178
|
+
* door could answer them. It belongs HERE, beside the records and the counts of
|
|
3179
|
+
* them, for exactly the reason the dashboards do: to the person, the archive is
|
|
3180
|
+
* one of the ways to look at this table, not a Trash area of the app somebody
|
|
3181
|
+
* has to know exists.
|
|
3182
|
+
*/
|
|
3183
|
+
type MainView = "records" | "dashboards" | "archived";
|
|
3007
3184
|
/**
|
|
3008
3185
|
* WHAT THE PAGE IS SHOWING — the middle and the right-hand panel, as ONE answer.
|
|
3009
3186
|
*
|
|
@@ -3259,4 +3436,4 @@ interface PipelineBoardProps {
|
|
|
3259
3436
|
}
|
|
3260
3437
|
declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
|
|
3261
3438
|
|
|
3262
|
-
export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
|
|
3439
|
+
export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, ARCHIVED_NEVER_DESTROYED, ARCHIVE_MEANS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, ArchivedDisclosure, type ArchivedDisclosureProps, ArchivedPortals, type ArchivedPortalsProps, ArchivedView, type ArchivedViewProps, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FilePicker, type FilePickerProps, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, archivedRowLine, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isParityFieldType, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, kindsWithNoChoice, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, mayNotRestoreLine, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, ComponentType, RefObject } from 'react';
|
|
3
3
|
import * as _ai_matrx_records from '@ai-matrx/records';
|
|
4
|
-
import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, RelationDisplay, WriteConflict, ParityFieldType, NewFieldDeclaration, RuleExpression, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkInboxKind, FieldKind, RecordFilter as RecordFilter$1, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, FieldTypeWord } from '@ai-matrx/records';
|
|
4
|
+
import { PermissionLevel, Table, RecordScopeContext, EnrichCell, RecordsError, Uuid as Uuid$1, AggregateFilter, Field, RecordDocument, ReadRow, RelationDisplay, WriteConflict, DeclarableFieldKind, ParityFieldType, NewFieldDeclaration, RuleExpression, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkInboxKind, FieldKind, RecordFilter as RecordFilter$1, ArchiveLane, ArchivedRow, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, DashboardBlockKind, AggregateBucket, AggregateMeasure, DashboardBlock, DashboardSummary, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, HistoryActor, FieldHistoryEntry, FieldTypeWord } from '@ai-matrx/records';
|
|
5
5
|
import { Uuid, RecordFilter, Field as Field$1, ReadRow as ReadRow$1 } from '@ai-matrx/records/react';
|
|
6
6
|
import { RecordsClient } from '@ai-matrx/records/core';
|
|
7
7
|
import { FieldFormatConfig } from '@ai-matrx/design-system/field-formats';
|
|
@@ -1136,6 +1136,34 @@ interface ExportMenuProps {
|
|
|
1136
1136
|
}
|
|
1137
1137
|
declare function ExportMenu({ tableId, rows, label, className }: ExportMenuProps): react.JSX.Element;
|
|
1138
1138
|
|
|
1139
|
+
interface FilePickerProps {
|
|
1140
|
+
/** What the button says when nothing is chosen yet. */
|
|
1141
|
+
label: string;
|
|
1142
|
+
/** The `accept` list, exactly as the native input takes it. */
|
|
1143
|
+
accept?: string | undefined;
|
|
1144
|
+
/**
|
|
1145
|
+
* The accessible name of the file input itself, when it must differ from the
|
|
1146
|
+
* button's word — an import screen's input has been called "Choose a file to
|
|
1147
|
+
* import" since it existed, and every automation and screen-reader script
|
|
1148
|
+
* that knows this screen resolves that sentence. A name is a contract.
|
|
1149
|
+
*/
|
|
1150
|
+
inputLabel?: string | undefined;
|
|
1151
|
+
/**
|
|
1152
|
+
* One sentence describing a good file — the thing the bare input never said.
|
|
1153
|
+
* Shown under the control, before anything is chosen.
|
|
1154
|
+
*/
|
|
1155
|
+
hint?: ReactNode;
|
|
1156
|
+
disabled?: boolean | undefined;
|
|
1157
|
+
/** The chosen file. Called once per choice; re-choosing calls it again. */
|
|
1158
|
+
onFile: (file: File) => void;
|
|
1159
|
+
/** Forget the chosen file and go back to the empty state. */
|
|
1160
|
+
onClear?: (() => void) | undefined;
|
|
1161
|
+
/** The name of the file currently in play, when the owner is holding one. */
|
|
1162
|
+
chosenName?: string | null | undefined;
|
|
1163
|
+
className?: string | undefined;
|
|
1164
|
+
}
|
|
1165
|
+
declare function FilePicker({ label, accept, inputLabel, hint, disabled, onFile, onClear, chosenName, className, }: FilePickerProps): react.JSX.Element;
|
|
1166
|
+
|
|
1139
1167
|
interface ImportWizardProps {
|
|
1140
1168
|
tableId: Uuid;
|
|
1141
1169
|
onDone?: ((written: number) => void) | undefined;
|
|
@@ -1174,8 +1202,25 @@ type PlainFieldType = "text" | "long_text" | "number";
|
|
|
1174
1202
|
* directions: it does not appear there, and it cannot hide a real gap there.
|
|
1175
1203
|
*/
|
|
1176
1204
|
type RelationFieldType = "relation";
|
|
1177
|
-
/**
|
|
1178
|
-
|
|
1205
|
+
/**
|
|
1206
|
+
* What a person picks in the panel — AND IT IS THE STORE'S OWN LIST, not a union
|
|
1207
|
+
* assembled here.
|
|
1208
|
+
*
|
|
1209
|
+
* 🚨 THE CLASS FIX (FIX-10B-F6, VERIFIER-10). This used to read
|
|
1210
|
+
* `ParityFieldType | PlainFieldType | RelationFieldType` — the parity floor plus two words
|
|
1211
|
+
* this file knew about — and that union was the whole defect. `custom.doc_sign` accepts
|
|
1212
|
+
* exactly one field, a text column whose format is `signature`, and it is granted to
|
|
1213
|
+
* `authenticated`; the Documents screen told a person in so many words to go and declare
|
|
1214
|
+
* one; and no list any screen could read named it, so the control did not exist and the
|
|
1215
|
+
* e-sign half of Documents was unreachable from the product. A kind the store takes and no
|
|
1216
|
+
* screen offers is invisible, and nothing failed — which is the only reason it survived.
|
|
1217
|
+
*
|
|
1218
|
+
* `custom.field_kinds()` is now the ONE registry and `DECLARABLE_FIELD_KINDS` is generated
|
|
1219
|
+
* from it, so the next kind the store learns arrives here as a TYPE ERROR in
|
|
1220
|
+
* `FIELD_TYPE_CHOICES`'s coverage and as a red `kindsWithNoChoice()` below — never as a
|
|
1221
|
+
* silence.
|
|
1222
|
+
*/
|
|
1223
|
+
type PickableFieldType = DeclarableFieldKind;
|
|
1179
1224
|
interface FieldTypeChoice {
|
|
1180
1225
|
id: PickableFieldType;
|
|
1181
1226
|
/** The word on the menu. */
|
|
@@ -1197,6 +1242,16 @@ declare function isPlainFieldType(id: string): id is PlainFieldType;
|
|
|
1197
1242
|
* and not an inline string comparison at four call sites.
|
|
1198
1243
|
*/
|
|
1199
1244
|
declare function isRelationFieldType(id: string): id is RelationFieldType;
|
|
1245
|
+
/**
|
|
1246
|
+
* One of FLD-11's fourteen, which is what `parity_type` on a declaration means.
|
|
1247
|
+
*
|
|
1248
|
+
* Read from the store's own generated floor, never from a list here — because a kind that
|
|
1249
|
+
* is NOT one of the fourteen (plain text, a person-aimed relation, a signature) has to be
|
|
1250
|
+
* declared by its WORD (`type`) and a panel that sent `parity_type` for it would be refused
|
|
1251
|
+
* "There is no field type called …". That is the shape of the F6 defect: the panel's `save`
|
|
1252
|
+
* had exactly two branches, relation and plain, and everything else fell into `parity_type`.
|
|
1253
|
+
*/
|
|
1254
|
+
declare function isParityFieldType(id: string): id is ParityFieldType;
|
|
1200
1255
|
/**
|
|
1201
1256
|
* THE GUARD THIS FILE NEEDS, because the list it explains is generated.
|
|
1202
1257
|
*
|
|
@@ -1209,6 +1264,22 @@ declare function isRelationFieldType(id: string): id is RelationFieldType;
|
|
|
1209
1264
|
* list and a behaviour that carries no parity type is not in it.
|
|
1210
1265
|
*/
|
|
1211
1266
|
declare function parityTypesWithNoExplanation(): string[];
|
|
1267
|
+
/**
|
|
1268
|
+
* 🚨 THE GUARD THAT CLOSES THE CLASS (FIX-10B-F6).
|
|
1269
|
+
*
|
|
1270
|
+
* `parityTypesWithNoExplanation()` above watches the parity FLOOR, and the floor was never
|
|
1271
|
+
* the whole list: the store also declares plain text, long text, number, a person-aimed
|
|
1272
|
+
* relation and a signature, and for months nothing anywhere compared the panel's menu with
|
|
1273
|
+
* THAT. So `signature` — the one field `custom.doc_sign` accepts, on a door granted to
|
|
1274
|
+
* every signed-in person, named to the person by the Documents screen itself — was absent
|
|
1275
|
+
* from the menu and every check stayed green.
|
|
1276
|
+
*
|
|
1277
|
+
* This returns the kinds `custom.field_kinds()` publishes that this panel does not offer.
|
|
1278
|
+
* The suite asserts it is empty, so a kind the store learns tomorrow either reaches the
|
|
1279
|
+
* person or turns a test red the same day. It is the class, not the instance: it would have
|
|
1280
|
+
* caught `signature`, and it will catch the twentieth kind nobody has thought of yet.
|
|
1281
|
+
*/
|
|
1282
|
+
declare function kindsWithNoChoice(): string[];
|
|
1212
1283
|
|
|
1213
1284
|
/** `Day rate` → `day_rate`. Shown, so nothing about it is a surprise. */
|
|
1214
1285
|
declare function keyFor(label: string): string;
|
|
@@ -1772,7 +1843,23 @@ declare const LAYOUT_FIELD_KIND: Record<ViewLayout, "choice" | "date" | null>;
|
|
|
1772
1843
|
* dashboard" is one of the ways to look at this table, and a link to it has to
|
|
1773
1844
|
* work like a link to the board.
|
|
1774
1845
|
*/
|
|
1775
|
-
|
|
1846
|
+
/**
|
|
1847
|
+
* 🚨 `archived` IS THE SIXTH VALUE, AND IT IS NOT A SPECIAL CASE EITHER (lane
|
|
1848
|
+
* FIX-10A-ARCHIVE, 2026-09-22; VERIFIER-10 F4).
|
|
1849
|
+
*
|
|
1850
|
+
* Archiving a record used to be a ONE-WAY DOOR: the grid's row action soft-
|
|
1851
|
+
* deletes correctly — `deleted_at` set, version bumped, nothing removed — and
|
|
1852
|
+
* then no screen anywhere in the platform could bring it back. The store's
|
|
1853
|
+
* `custom.record_restore` was there the whole time and did exactly the right
|
|
1854
|
+
* thing; nothing reached it, because every read door answers live rows only.
|
|
1855
|
+
*
|
|
1856
|
+
* So the archive is a WAY OF LOOKING AT THIS TABLE, like the board and the
|
|
1857
|
+
* dashboards, reached by the same row of buttons and named by the same
|
|
1858
|
+
* `?view=` parameter — never a Trash area of the app somebody has to know
|
|
1859
|
+
* exists, and never a per-table screen. Every Table inherits it the moment it
|
|
1860
|
+
* is in this list.
|
|
1861
|
+
*/
|
|
1862
|
+
declare const PAGE_VIEWS: readonly ["grid", "kanban", "calendar", "gallery", "dashboards", "archived"];
|
|
1776
1863
|
type PageView = (typeof PAGE_VIEWS)[number];
|
|
1777
1864
|
declare const PAGE_VIEW_LABEL: Record<PageView, string>;
|
|
1778
1865
|
/**
|
|
@@ -1841,11 +1928,91 @@ declare function useViewRecords(view: SavedViewSpec, pageSize?: number, filter?:
|
|
|
1841
1928
|
rows: ReadRow$1[];
|
|
1842
1929
|
loading: boolean;
|
|
1843
1930
|
error: RecordsError | null;
|
|
1844
|
-
/**
|
|
1931
|
+
/**
|
|
1932
|
+
* Where membership came from, in a sentence. A screen that hides this is hiding the
|
|
1933
|
+
* view's meaning — and a screen that says the WRONG one is worse than one that says
|
|
1934
|
+
* nothing at all.
|
|
1935
|
+
*
|
|
1936
|
+
* 🚨 IT SAID "holds the whole table" OVER FOUR OF FORTY-TWO ROWS. Seen on Rincon
|
|
1937
|
+
* Plumbing Co's board the moment a dashboard number could narrow it (lane DRILL,
|
|
1938
|
+
* 2026-09-22): the column read "Scheduled 4", every card under it was real, and the
|
|
1939
|
+
* line above them said this view holds the whole table. The sentence was written when
|
|
1940
|
+
* the only two possibilities were a Rule or everything; a question from the address is
|
|
1941
|
+
* a third, and it gets its own words rather than the nearest wrong one.
|
|
1942
|
+
*/
|
|
1845
1943
|
membership: string;
|
|
1846
1944
|
};
|
|
1847
1945
|
declare function ViewSwitcher({ view, onLayoutChange, onViewChange, onOpenRecord, onMoved, onNewRecordForm, onAskWhoChanged, pageSize, filter, className, }: ViewSwitcherProps): react.JSX.Element;
|
|
1848
1946
|
|
|
1947
|
+
/** What the screen says above the list, so nobody has to be told twice that nothing was destroyed. */
|
|
1948
|
+
declare const ARCHIVE_MEANS = "Archiving never destroys anything. A record you remove from the grid waits here until somebody brings it back.";
|
|
1949
|
+
/** The sentence a person who may not restore reads INSTEAD of a control they cannot use. */
|
|
1950
|
+
declare function mayNotRestoreLine(why: string): string;
|
|
1951
|
+
/** What one row in the archive says, as one string — pulled out so the guard can read it. */
|
|
1952
|
+
declare function archivedRowLine(row: ArchivedRow, titleKey?: string | null): string;
|
|
1953
|
+
interface ArchivedViewProps {
|
|
1954
|
+
tableId: Uuid$1;
|
|
1955
|
+
/** Rows per page. The store refuses above its own ceiling by name rather than quietly serving fewer. */
|
|
1956
|
+
pageSize?: number | undefined;
|
|
1957
|
+
/** Which lane the address or the host asked for. Absent, the organization's. */
|
|
1958
|
+
lane?: ArchiveLane | undefined;
|
|
1959
|
+
/** Called when the person switches lane, so the host can put it in the URL. */
|
|
1960
|
+
onLaneChange?: ((lane: ArchiveLane) => void) | undefined;
|
|
1961
|
+
/** Called after a record comes back, so the host re-reads the rows it owns. */
|
|
1962
|
+
onRestored?: ((recordId: Uuid$1) => void) | undefined;
|
|
1963
|
+
className?: string | undefined;
|
|
1964
|
+
}
|
|
1965
|
+
declare function ArchivedView({ tableId, pageSize, lane: laneFromHost, onLaneChange, onRestored, className, }: ArchivedViewProps): react.JSX.Element;
|
|
1966
|
+
|
|
1967
|
+
/** What every archive on this platform promises, said once. */
|
|
1968
|
+
declare const ARCHIVED_NEVER_DESTROYED = "Archiving never destroys anything. What you put away waits here until somebody brings it back.";
|
|
1969
|
+
interface ArchivedDisclosureProps {
|
|
1970
|
+
/** What is archived, in the plural: "portals", "forms". Drawn as “Archived portals”. */
|
|
1971
|
+
noun: string;
|
|
1972
|
+
/**
|
|
1973
|
+
* How many are archived, when the surface already knows. Absent, the control
|
|
1974
|
+
* still draws — a count nobody has read is not a reason to hide the way in,
|
|
1975
|
+
* and a "(0)" the screen guessed would be a lie.
|
|
1976
|
+
*/
|
|
1977
|
+
count?: number | undefined;
|
|
1978
|
+
/** Open on first render — the address asked for the archive. */
|
|
1979
|
+
defaultOpen?: boolean | undefined;
|
|
1980
|
+
/** Told when it opens or closes, so a host can put it in the URL. */
|
|
1981
|
+
onOpenChange?: ((open: boolean) => void) | undefined;
|
|
1982
|
+
children: ReactNode;
|
|
1983
|
+
className?: string | undefined;
|
|
1984
|
+
}
|
|
1985
|
+
/**
|
|
1986
|
+
* ONE CLICK, ON THE SURFACE ITSELF. Not a tab, not a page, not a filter buried
|
|
1987
|
+
* in a menu: the law says revealing the archived things is one press where you
|
|
1988
|
+
* already are, and this is that press for every rail in this package.
|
|
1989
|
+
*/
|
|
1990
|
+
declare function ArchivedDisclosure({ noun, count, defaultOpen, onOpenChange, children, className, }: ArchivedDisclosureProps): react.JSX.Element;
|
|
1991
|
+
interface ArchivedPortalsProps {
|
|
1992
|
+
/** Called after a portal comes back, so the rail re-reads the list it owns. */
|
|
1993
|
+
onRestored?: ((portalId: Uuid) => void) | undefined;
|
|
1994
|
+
/**
|
|
1995
|
+
* Bumped by the surface above whenever IT changed something that lands here —
|
|
1996
|
+
* archiving a portal from the live rail, most of all. Without it an archive
|
|
1997
|
+
* standing open would keep showing the list it read when it opened, which is
|
|
1998
|
+
* the quiet lie this package refuses everywhere else.
|
|
1999
|
+
*/
|
|
2000
|
+
refreshToken?: number | undefined;
|
|
2001
|
+
defaultOpen?: boolean | undefined;
|
|
2002
|
+
className?: string | undefined;
|
|
2003
|
+
}
|
|
2004
|
+
/**
|
|
2005
|
+
* THE ARCHIVED PORTALS OF THIS ORGANIZATION, AND THE WAY BACK.
|
|
2006
|
+
*
|
|
2007
|
+
* It reads `custom.list_portals(org, 'archived')` — the archive-aware reader the
|
|
2008
|
+
* store grew for exactly this — rather than filtering a list `custom.portals`
|
|
2009
|
+
* already hid. It is organization-wide on purpose, unlike the live rail above
|
|
2010
|
+
* it: a portal is archived precisely because nobody is standing on it any more,
|
|
2011
|
+
* and narrowing the archive to the Table you happen to be on is how an archived
|
|
2012
|
+
* portal becomes unreachable from every page at once.
|
|
2013
|
+
*/
|
|
2014
|
+
declare function ArchivedPortals({ onRestored, refreshToken, defaultOpen, className, }: ArchivedPortalsProps): react.JSX.Element;
|
|
2015
|
+
|
|
1849
2016
|
interface ViewBarProps {
|
|
1850
2017
|
/** The Table whose views these are. */
|
|
1851
2018
|
tableId: Uuid;
|
|
@@ -3003,7 +3170,17 @@ declare const VIEW_NOT_SAVED_YET: string;
|
|
|
3003
3170
|
* somewhere else in the product would be a second answer to "how is the work
|
|
3004
3171
|
* going", reached by knowing where to click.
|
|
3005
3172
|
*/
|
|
3006
|
-
|
|
3173
|
+
/**
|
|
3174
|
+
* 🚨 `archived` IS THE THIRD (lane FIX-10A-ARCHIVE, 2026-09-22; VERIFIER-10 F4).
|
|
3175
|
+
* Archiving a record was a ONE-WAY DOOR — the row left the grid and no screen
|
|
3176
|
+
* anywhere could bring it back, although `custom.record_restore` was there the
|
|
3177
|
+
* whole time — because nothing in this package listed archived rows and no read
|
|
3178
|
+
* door could answer them. It belongs HERE, beside the records and the counts of
|
|
3179
|
+
* them, for exactly the reason the dashboards do: to the person, the archive is
|
|
3180
|
+
* one of the ways to look at this table, not a Trash area of the app somebody
|
|
3181
|
+
* has to know exists.
|
|
3182
|
+
*/
|
|
3183
|
+
type MainView = "records" | "dashboards" | "archived";
|
|
3007
3184
|
/**
|
|
3008
3185
|
* WHAT THE PAGE IS SHOWING — the middle and the right-hand panel, as ONE answer.
|
|
3009
3186
|
*
|
|
@@ -3259,4 +3436,4 @@ interface PipelineBoardProps {
|
|
|
3259
3436
|
}
|
|
3260
3437
|
declare function PipelineBoard({ tableId, rows, measure, onMeasureChange, onOpenRecord, onMoved, className, }: PipelineBoardProps): react.JSX.Element;
|
|
3261
3438
|
|
|
3262
|
-
export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
|
|
3439
|
+
export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, ARCHIVED_NEVER_DESTROYED, ARCHIVE_MEANS, type AbsenceWord, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, ArchivedDisclosure, type ArchivedDisclosureProps, ArchivedPortals, type ArchivedPortalsProps, ArchivedView, type ArchivedViewProps, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, type Capability, type CaptureMode, type CaptureQueuePort, CaptureRun, type CaptureRunProps, CaptureSheet, type CaptureSheetProps, type CellAddress, type CellRefusal, type CellState, ChartBlock, type ChartBlockProps, type ChartConfig, ChartFrame, type ChartKind, ChartLegendContent, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FIELDS, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, type DeclareResult, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_FLOWS, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FilePicker, type FilePickerProps, FormBuilder, type FormBuilderProps, type FormFlow, type FormQuestionSpec, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, FormsPanel, type FormsPanelProps, type FormulaOp, Grid, GridCell, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, HistoryPanel, type HistoryPanelProps, IN_MEMORY_QUEUE_REASON, ImportWizard, type ImportWizardProps, KERNEL_REASON, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LAYOUT_NEEDS, LAYOUT_NO_FIELD, LEVEL_WORD, type LabelLookup, MACHINE_IDENTITY, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, type MainView, MyChecklistSteps, NEEDS_A_SENTENCE, NOT_ANSWERED_YET, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, NO_COLUMNS_WHY, NO_COLUMNS_YET, NO_ENRICH_REASON, NO_MEMBERS_REASON, NO_OPEN_RECORDS_REASON, NO_REASK_REASON, NO_RIGHTS, NO_RULES_YET, NO_SAVED_VIEWS_REASON, NO_SHARE_REASON, NO_UPLOAD_REASON, type NewFieldSpec, type NewTableSpec, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, type OpenRecordsAsk, type OrganizationMember, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, type PickableFieldType, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicViewPage, type PublicViewPageProps, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, type ReaskContext, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, RecordValue, RecordsMount, type RecordsMountProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RelationFieldType, RelationPicker, type RelationPickerProps, type ResolveName, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SERIES_COLORS, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, type SavedDashboard, type SavedForm, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, SignBlock, type SignBlockProps, StageRulesSection, type StageRulesSectionProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NOT_REACHABLE, THE_SYSTEM, type TableLane, TablePage, type TablePageProps, type TableRights, TableSettings, type TableSettingsProps, TablesHome, type TablesHomeProps, type TrackedVersion, type UseSystemTableState, VIEW_LAYOUTS, VIEW_NOT_SAVED_YET, VIEW_TABLE, ViewBar, type ViewBarProps, type ViewLayout, type ViewSort, ViewSwitcher, type ViewSwitcherProps, WITHHELD_RECORD_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_LABEL, type WhatYouMayDo, type WhoChanged, WhoChangedSource, actorBadge, actorWords, addFields, archivedRowLine, askableFields, blockFromSpec, bodyForReading, bodyFromKeys, cameFromLine, cellState, chooseSurface, colorFromTheValue, columnForField, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, currencyCodeFor, dashboardDeclareArgs, dashboardFromSummary, declareTable, editorKindFor, ensureSystemTable, envelopeFor, fieldDeclarationFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, formDeclareArgs, formFromSummary, formPresentation, formatForField, groupLabel, hintForAPerson, hintIsMachineIdentity, humanize, idsOf, isEngineerText, isId, isMachineIdentity, isParityFieldType, isPlainFieldType, isRelationFieldType, isSignatureField, keyFor, kindsWithNoChoice, laneFor, lastChangeSentence, looksLikeId, machineIdentityIn, mayNotRestoreLine, memberName, nextInWords, openingRail, openingView, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, recordName, recordNameIn, recordsDataSource, refusalForAPerson, refusalLineForAPerson, renderValue, revokeConsequence, rowName, rowNameIn, scalarText, shareUnavailableReason, specFromBlock, storeDecidesRights, submissionStamp, surfaceChosen, tableName, tableRightsAt, tokenFor, unknownViewLine, useCanShare, useEmbedHandshake, useEnrichCells, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, useRecordLabels, useRecordRights, useRecordsUi, useRowRights, useSystemTable, useTableRights, useViewRecords, useWhoChanged, viewDocument, viewFromRecord, viewPatchDocument, whatIsMissing, whatYouMayDo, whatYouMayDoWithTable, whenWords, whyNotAskable };
|